以太网协议介绍(22)
以太网协议
- 以太网是当今现有局域网(Local Area Network, LAN)采用的最通用的通信协议标准,该标准定义了在局域网中采用的电缆类型和信号处理方法。
- 以太网是建立在CSMA/CD(Carrier Sense Multiple Access/Collision Detection,载波监听多路访问/冲突检测)机制上的广播型网络。

冲突域
- 冲突域是指连接在同一共享介质上的所有节点的集合,冲突域内所有节点竞争同一带宽,一个节点发出的报文(无论是单播、组播、广播),其余节点都可以收到。


广播域
- 广播报文所能到达的整个访问范围称为二层广播域,简称广播域,同一广播域内的主机都能收到广播报文。

以太网卡
- 网络接口卡(Network Interface Card, NIC)也称为“网卡”,是计算机、交换机、路由器等网络设备与外部网络世界相连的关键部件。

以太网帧介绍(23)
以太网帧格式
- 以太网技术所使用的帧称为以太网帧(Ethernet Frame),或简称以太帧。
- 以太帧的格式有两个标准:Ethernet_II格式和IEEE 802.3格式。

什么是MAC地址
- MAC(Media Access Control)地址在网络中唯一标识一个网卡,每个网卡都需要并拥有唯一的一个MAC地址。
- 一块网卡的MAC地址是具有全球唯一性的。

MAC地址表示
- 一个MAC地址有48 bit,6 Byte。
- MAC地址通常采用“十六进制”+“-”表示。

MAC地址构成及分类
- OUI(Organizationally Unique Identifier):厂商代码,由IEEE分配,3 Byte,24 bit。
- 制造商分配:3 Byte,24 bit


以太网帧分类
单播以太网帧

广播以太网帧

组播以太网帧

IP地址 vs MAC地址
- 每个以太网设备在出厂时都有一个唯一的MAC地址,但在设备接入网络时,会同时为每台主机再分配一个IP地址,这个原因是什么?

以太网交换机介绍(24)
园区网络典型架构

以太网二层交换机
- 以太网二层交换机转发数据的端口都是以太网口,并且只能够针对数据的二层头部(以太网数据帧头)中的MAC地址进行寻址并转发数据。

交换机的工作原理

MAC地址表
- 每台交换机中都有一个MAC地址表,存放了MAC地址与交换机端口编号之间的映射关系。

- MAC地址表记录了交换机学习到的其他设备的MAC地址与接口的对应关系。交换机在转发数据帧时,根据数据帧的目的MAC地址查询MAC地址表。如果MAC地址表中包含与该帧目的MAC地址对应的表项,则直接通过该表项中的出接口转发该报文;如果MAC地址表中没有包含该帧目的MAC地址对应的表项时,交换机将采取泛洪方式在除接收接口外的所有接口发送该报文。
交换机的3种数据帧处理行为
- 交换机对于从传输介质进入某一端口的帧的处理行为一共有3种:

- 交换机会通过传输介质进入其端口的每一个帧都进行转发操作,交换机的基本作用就是用来转发数据帧。
- 交换机对帧的处理行为一共有三种:泛洪(Flooding),转发(Forwarding),丢弃(Discarding)。
- 泛洪:交换机把从某一端口进来的帧通过所有其它的端口转发出去(注意,“所有其它的端口”是指除了这个帧进入交换机的那个端口以外的所有端口)。
- 转发:交换机把从某一端口进来的帧通过另一个端口转发出去(注意,“另一个端口”不能是这个帧进入交换机的那个端口)。
- 丢弃:交换机把从某一端口进来的帧直接丢弃。
 
泛洪

转发

丢弃

交换机的MAC地址学习
交换机的MAC地址学习(1)

交换机的MAC地址学习(2)

交换机的MAC地址学习(3)

交换机的MAC地址学习(4)

交换机的MAC地址学习(5)

同网段数据通信全过程(25)
同网段数据通信全过程
- 场景描述:
- 任务:主机1想要访问主机2
- 主机:初始化状态,仅知道本机IP地址和MAC地址(假设已获取对端IP地址)
- 交换机:刚上电,初始化状态
 

数据封装过程

设备工作过程
初始化状态

泛洪数据帧

学习MAC地址

目标主机回复

思考题
- 二层以太网交换机根据端口所接收到报文的(A)生成 MAC 地址表选项。
 A. 源 MAC 地址
 B. 目的 MAC 地址
 C. 源 IP 地址
 D. 目的 IP 地址
- 一台交换机有8个端口,一个单播帧从某一端口进入了该交换机,但交换机在MAC地址表中查不到关于该帧的目的MAC地址表项,那么交换机对该帧进行的转发操作是?(B)
 A. 丢弃
 B. 泛洪
 C. 点对点转发
什么是VLAN(26)
传统以太网的问题
- 在典型交换网络中,当某台主机发送一个广播帧或未知单播帧时,该数据帧会被泛洪,甚至传递到整个广播域。
- 广播域越大,产生的网络安全问题、垃圾流量问题,就越严重。

虚拟局域网(VLAN, Virtual LAN)
- 虚拟局域网VLAN可以隔离广播域。
- 特点:
- 不受地域限制。
- 同一VLAN内的设备才能直接进行二层通信。
 

VLAN的基本原理(27)
如何实现VLAN

- Switch1与Switch2同属一个企业,该企业统一规划了网络中的VLAN。其中VLAN10用于A部门,VLAN20用于B部门。A、B部门的员工在Switch1和Switch2上都有接入。
- PC1发出的数据经过Switch1和Switch2之间的链路到达了Switch2。如果不加处理,后者无法判断该数据所属的VLAN,也不知道应该将这个数据输出到本地哪个VLAN中。
VLAN标签(VLAN Tag)

- VLAN标签
- 要使交换机能够分辨不同VLAN的报文,需要在报文中添加标识VLAN信息的字段。
- IEEE 802.1Q协议规定,在以太网数据帧中加入4个字节的VLAN标签,又称VLAN Tag,简称Tag。
 
VLAN数据帧

- 优先级PRI(0~7)越大越优先
- VLAN ID 的取值范围为 1~4094
VLAN的实现

- Switch1和Switch2之间的链路要承载多个VLAN的数据,需要一种基于VLAN的数据“标记”手段,以便对不同VLAN的数据帧进行区分。
- IEEE 802.1Q标准(也被称为Dot1Q)定义了该“标记”方法。该标准对传统的以太网数据帧进行修改,在帧头中插入802.1Q Tag,而在该Tag中,便可以写入VLAN信息。
VLAN的划分方式

基于接口的VLAN划分
- 原理
- 根据交换机的接口来划分VLAN。
- 网络管理员预先给交换机的每个接口配置不同的PVID,将该接口划入PVID对应的VLAN。
- 当一个数据帧进入交换机时,如果没有带VLAN标签,该数据帧就会被打上接口指定PVID的Tag,然后数据帧将在指定PVID中传输。
 
- 缺省VLAN,PVID
- Port VLAN ID,是接口上的缺省VLAN。
- 取值:1~4094。
 

基于MAC地址的VLAN划分
- 原理
- 根据数据帧的源MAC地址来划分VLAN。
- 网络管理员预先配置MAC地址和VLAN ID映射关系表。
- 当交换机收到的是Untagged帧时,就依据该表给数据帧添加指定VLAN的Tag,然后数据帧将在指定VLAN中传输。
 
- 映射表

以太网二层接口类型
- Access接口
交换机上常用来连接用户PC、服务器等终端设备的接口。Access接口所连接的这些设备的网卡往往只收发无标记帧。Access接口只能加入一个VLAN。
- Trunk接口
Trunk接口允许多个VLAN的数据帧通过,这些数据帧通过802.1Q Tag实现区分。Trunk接口常用于交换机之间的互联,也用于连接路由器、防火墙等设备的子接口。
- Hybrid接口
Hybrid接口与Trunk接口类似,也允许多个VLAN的数据帧通过,这些数据帧通过802.1Q Tag实现区分。用户可以灵活指定Hybrid接口在发送某个(或某些)VLAN的数据帧时是否携带Tag。
华为交换机缺省端口类型为Hybrid

Access接口

Trunk接口

Hybrid接口

Access接口与Trunk接口举例
- 请描述主机之间数据访问的全流程。
- SW1与SW2的Trunk接口允许通过列表


Hybrid接口举例

小结

VLAN的应用(28)
VLAN的规划
- VLAN分配原则
- 按业务规划:可分为语音、视频和数据。
- 按部门规划:可分为工程部、市场部、财经部等。
- 按应用规划:可分为服务器、办公、教室等。
 
- VLAN分配技巧
VLAN ID的分配在有效范围内,可以随意分配和选取,但是为了提高VLAN ID的连续性,可以采用VLAN ID和子网关联的方式进行分配。
- VLAN规划示例
- 假设某园区有三栋楼,分别为行政楼、教学楼、办公楼;每栋楼各有1台接入交换机,核心交换机在行政楼;行政楼内有办公室、财务部和教室;办公楼内有办公室和财务部;教学楼内有办公室和教室。
- VLAN规划如下:
 
| VLAN | IP地址段 | 描述 | 
|---|
| 1 | X.16.10.0/24 | 办公室用户所属的VLAN | 
| 2 | X.16.20.0/24 | 财务部用户所属的VLAN | 
| 3 | X.16.30.0/24 | 教室用户所属的VLAN | 
| 100 | Y.16.100.0/24 | 设备管理所属的VLAN | 
应用场景 - 基于接口的VLAN划分
- 应用场景:
- 某商务楼内有多家公司,为了降低成本,多家公司共用网络资源,各公司分别连接到一台二层交换机的不同接口,并通过统一的出口访问Internet。
 
- VLAN划分:
- 为了保证各公司业务的独立和安全,可将每个公司所连接的接口划分到不同的VLAN,实现公司间业务数据的完全隔离。可以认为每个公司拥有独立的网络,每个VLAN就是一个“虚拟工作组”。
 

应用场景 - 基于MAC的VLAN划分
- 应用场景:
- 某个公司的网络中,网络管理者将同一部门的员工划分到同一VLAN。为了提高部门内的信息安全,要求只有本部门员工的主机才可以访问特定网络资源。
 
- VLAN划分:
- 为了保证非本部门员工不能访问网络资源,可在SW1上配置基于MAC地址划分VLAN。这样,新的主机接入网络,就无法访问公司的网络资源。
 

VLAN的配置示例(29)
VLAN的基础配置命令
1. 创建VLAN
[Huawei] vlan vlan-id
通过此命令创建VLAN并进入VLAN视图,如果VLAN已存在,直接进入该VLAN的视图。
- vlan-id是整数形式,取值范围是1~4094。
[Huawei] vlan batch { vlan-id1 [ to vlan-id2 ] }
通过此命令批量创建VLAN。其中:
- batch:指定批量创建的VLAN ID。
- vlan-id1:表示第一个VLAN的编号。
- vlan-id2:表示最后一个VLAN的编号。
Access接口的基础配置命令
- 配置接口类型
[Huawei-GigabitEthernet0/0/1] port link-type access
在接口视图下,配置接口的链路类型为Access。
- 配置Access接口的缺省VLAN
[Huawei-GigabitEthernet0/0/1] port default vlan vlan-id
在接口视图下,配置接口的缺省VLAN并同时加入这个VLAN。
- vlan-id:配置缺省VLAN的编号。整数形式,取值范围是1~4094。
Trunk接口的基础配置命令
- 配置接口类型
[Huawei-GigabitEthernet0/0/1] port link-type trunk
在接口视图下,配置接口的链路类型为Trunk。
- 配置Trunk接口加入指定VLAN
[Huawei-GigabitEthernet0/0/1] port trunk allow-pass vlan { { vlan-id1 [ to vlan-id2 ] } | all }
在接口视图下,配置Trunk类型接口加入的VLAN。
- (可选)配置Trunk接口的缺省VLAN
[Huawei-GigabitEthernet0/0/1] port trunk pvid vlan vlan-id
在接口视图下,配置Trunk类型接口的缺省VLAN。
Hybrid接口的基础配置命令
- 配置接口类型
[Huawei-GigabitEthernet0/0/1] port link-type hybrid
在接口视图下,配置接口的链路类型为Hybrid。
- 配置Hybrid接口加入指定VLAN
[Huawei-GigabitEthernet0/0/1] port hybrid untagged vlan { { vlan-id1 [ to vlan-id2 ] } | all }
在接口视图下,配置Hybrid类型接口加入的VLAN,这些VLAN的帧以Untagged方式通过接口。
[Huawei-GigabitEthernet0/0/1] port hybrid tagged vlan { { vlan-id1 [ to vlan-id2 ] } | all }
在接口视图下,配置Hybrid类型接口加入的VLAN,这些VLAN的帧以Tagged方式通过接口。
- (可选)配置Hybrid接口的缺省VLAN
[Huawei-GigabitEthernet0/0/1] port hybrid pvid vlan vlan-id
在接口视图下,配置Hybrid类型接口的缺省VLAN。
案例
案例1:基于接口划分VLAN
- 组网需求:
- 某企业的交换机连接有很多用户,且相同业务用户通过不同的设备接入企业网络。为了通信的安全性,企业希望业务相同用户之间可以互相访问,业务不同用户不能直接访问。
- 可以在交换机上配置基于接口划分VLAN,把业务相同的用户连接的接口划分到同一VLAN。这样属于不同VLAN的用户不能直接进行二层通信,同一VLAN内的用户可以直接互相通信。
 

- 创建VLAN
[SW1] vlan 10
[SW1-vlan10] quit
[SW1] vlan 20
[SW1-vlan20] quit
[SW2] vlan batch 10 20
- 配置Access接口,并加入对应的VLAN
[SW1] interface GigabitEthernet 0/0/1
[SW1-GigabitEthernet0/0/1] port link-type access
[SW1-GigabitEthernet0/0/1] port default vlan 10
[SW1] interface GigabitEthernet 0/0/2
[SW1-GigabitEthernet0/0/2] port link-type access
[SW1] vlan 20
[SW1-vlan20] port GigabitEthernet0/0/2
[SW1-vlan20] quit
- 配置Trunk接口,并创建对应的允许通过列表
[SW1] interface GigabitEthernet 0/0/3
[SW1-GigabitEthernet0/0/3] port link-type trunk
[SW1-GigabitEthernet0/0/3] port trunk pvid vlan 1
[SW1-GigabitEthernet0/0/3] port trunk allow-pass vlan 10 20
- 可以使用display port vlan查看每个端口的VLAN划分

案例2:基于接口划分VLAN
- 组网需求:
- 某企业的交换机连接有很多用户,且不同部门的用户都需要访问公司服务器。但是为了通信的安全性,企业希望不同部门的用户不能直接访问。
- 可以在交换机上配置基于接口划分VLAN,并配置Hybrid接口,使得不同部门的用户不能直接进行二层通信,但都可以直接访问公司服务器。
 

[SW1] vlan batch 10 20 100
[SW1] interface GigabitEthernet 0/0/1
[SW1-GigabitEthernet0/0/1] port link-type hybrid
[SW1-GigabitEthernet0/0/1] port hybrid pvid vlan 10
[SW1-GigabitEthernet0/0/1] port hybrid untagged vlan 10 100
[SW1-GigabitEthernet0/0/1] interface GigabitEthernet 0/0/2
[SW1-GigabitEthernet0/0/2] port link-type hybrid
[SW1-GigabitEthernet0/0/2] port hybrid pvid vlan 20
[SW1-GigabitEthernet0/0/2] port hybrid untagged vlan 20 100
[SW1-GigabitEthernet0/0/2] interface GigabitEthernet 0/0/3
[SW1-GigabitEthernet0/0/3] port link-type hybrid
[SW1-GigabitEthernet0/0/3] port hybrid tagged vlan 10 20 100
[SW2] vlan batch 10 20 100
[SW2] interface GigabitEthernet 0/0/1
[SW2-GigabitEthernet0/0/1] port link-type hybrid
[SW2-GigabitEthernet0/0/1] port hybrid pvid vlan 100
[SW2-GigabitEthernet0/0/1] port hybrid untagged vlan 10 20 100
[SW2-GigabitEthernet0/0/1] interface GigabitEthernet 0/0/3
[SW2-GigabitEthernet0/0/3] port link-type hybrid
[SW2-GigabitEthernet0/0/3] port hybrid tagged vlan 10 20 100
VLAN的基础配置命令
- 关联MAC地址与VLAN
[Huawei-vlan10] mac-vlan mac-address mac-address [ mac-address-mask | mac-address-mask-length ]
通过此命令配置MAC地址与VLAN关联。
- mac-address:指定与VLAN关联的MAC地址。格式为H-H-H。其中H为4位的十六进制数,可以输入1~4位,如00e0、fc01。当输入不足4位时,表示前面的几位为0,如:输入e0,等同于00e0。MAC地址不可设置为0000 - 0000 - 0000、FFFF - FFFF - FFFF和组播地址。
- mac-address-mask:指定MAC地址掩码。格式为H-H-H,其中H为1至4位的十六进制数。
- mac-address-mask-length:指定MAC地址掩码长度。整数形式,取值范围是1~48。
- 使能MAC地址与VLAN
[Huawei-GigabitEthernet0/0/1] mac-vlan enable
通过此命令使能接口的MAC VLAN功能。
案例:基于MAC地址划分VLAN
- 组网需求:
- 某个公司的网络中,网络管理者将同一部门的员工划分到同一VLAN。为了提高部门内的信息安全,要求只有本部门员工的主机才可以访问公司网络。
- 主机1、主机2、主机3为本部门员工的主机,要求这几台主机可以通过SW1访问公司网络,如换成其他主机则不能访问。
- 可以配置基于MAC地址划分VLAN,将本部门员工主机的MAC地址与VLAN绑定,从而实现该需求。
 

- 创建VLAN
[SW1] vlan 10
[SW1-vlan10] quit
- 关联MAC地址和VLAN
[SW1] vlan 10
[SW1-vlan10] mac-vlan mac-address 001e-10dd-dd01
[SW1-vlan10] mac-vlan mac-address 001e-10dd-dd02
[SW1-vlan10] mac-vlan mac-address 001e-10dd-dd03
[SW1-vlan10] quit
- 加入VLAN
[SW1] interface gigabitethernet 0/0/1
[SW1-GigabitEthernet0/0/1] port link-type hybrid
[SW1-GigabitEthernet0/0/1] port hybrid tagged vlan 10
[SW1] interface gigabitethernet 0/0/2
[SW1-GigabitEthernet0/0/2] port link-type hybrid
[SW1-GigabitEthernet0/0/2] port hybrid untagged vlan 10
- 使能接口的基于MAC地址划分VLAN功能
[SW1] interface gigabitethernet 0/0/2
[SW1-GigabitEthernet0/0/2] mac-vlan enable
[SW1-GigabitEthernet0/0/2] quit

- 可以通过display mac-vlan mac-address all查看VLAN和MAC地址的关系
课后题
- 
(多选)下列关于VLAN的描述中,错误的是?(AC) 
- A. VLAN技术可以将一个规模较大的冲突域隔离成若干个规模较小的冲突域
- B. VLAN技术可以将一个规模较大的二层广播域隔离成若干个规模较小的二层广播域
- C. 位于不同VLAN的计算机之间无法进行通信
- D. 位于同一VLAN中的计算机之间可以进行二层通信
 
- 
如果一个Trunk接口的PVID是5,且端口下配置port trunk allow-pass vlan 2 3,那么哪些VLAN的流量可以通过该Trunk接口进行传输?(1、2、3)