二层交换
二层交换是以太网交换机的基本功能;二层交换指的是交换机根据数据帧的第二层头部中的目的MAC地址进行帧转发的行为。
每台交换机都维护一个MAC地址表,用于指导数据帧转发;MAC地址表(MAC Address Table),也称为转发表(Forwarding Table)或内容地址可编程存储器(CAM, Content Addressable Memory),是交换机用于记录和管理设备MAC地址及其对应端口的信息表。以下是一张示例的MAC地址表:
Vlan | Mac Address | Type | Ports |
---|---|---|---|
1 | 00:11:22:33:44:55 | DYNAMIC | Fa0/1 |
1 | 66:77:88:99:AA | DYNAMIC | Fa0/2 |
10 | 00:11:22:33:44:66 | DYNAMIC | Fa0/3 |
10 | 66:77:88:99:AA | DYNAMIC | Fa0/4 |
20 | 00:11:22:33:44:77 | DYNAMIC | Fa0/5 |
20 | 66:77:88:99:AA | DYNAMIC | Fa0/6 |
Vlan:表示MAC地址所属的虚拟局域网(VLAN)。 Mac Address:记录的MAC地址。 Type:条目类型,DYNAMIC表示由交换机自动学习的条目。 Ports:MAC地址对应的交换机端口。
当交换机收到数据帧时,将在其MAC地址表中查询该帧的目的MAC地址,并根据匹配的表项执行相应的操作。此外,交换机收到数据帧时,还会进行源MAC地址学习。
MAC地址表的工作原理
①学习:当交换机收到一个数据帧时,会读取帧中的源MAC地址和接收端口。如果该MAC地址和端口的映射关系在MAC地址表中不存在,交换机会将其添加到MAC地址表中。 ②查找/转发/泛洪:当交换机需要转发一个数据帧时,会读取帧中的目的MAC地址,并在MAC地址表中查找该地址对应的端口。如果找到对应的端口,交换机会将帧转发到该端口,如果没有找到,交换机会将帧广播到所有端口(除源端口外),这称为泛洪(Flooding)。 ③老化:MAC地址表中的条目有一个老化时间。当一个条目超过一定时间没有更新时,交换机会将其从表中删除,以防止表中的无效条目占用空间。
多层交换
多层交换(Multilayer Switching, MLS)是一种将传统二层交换技术(即基于MAC地址的交换)与三层路由技术(即基于IP地址的路由)结合在一起的技术,多层交换设备能够在同一设备中同时执行二层和三层的转发功能,从而提高网络性能、减少延迟并简化网络设计。一般来说多层交换机都是指三层交换机,三层交换机能够执行二层交换功能(基于MAC地址的帧转发、学习并维护MAC地址表、支持VLAN隔离和VLAN间通信)和三层路由功能(基于IP地址的数据包转发、支持路由协议[如OSPF、EIGRP、BGP等],以发现并维护网络路由、执行IP地址到MAC地址的ARP解析。)
多层交换的具体操作
多层交换的具体操作流程图如下所示,让我们逐步解释每一个步骤。
1.Rx Packet(接收数据包):交换机接收到一个数据包。
2.Input Port Processing(输入端口处理):交换机对输入端口进行初步处理,确认数据包从哪个端口进入。
3.VLAN ACL Processing(VLAN 访问控制列表处理):检查数据包是否符合VLAN和访问控制列表(ACL)的规则,如果不符合规则,数据包可能会被丢弃或采取其他处理措施。
4.L2 Lookup(二层查找):交换机在MAC地址表中查找目的MAC地址,决定数据包的转发路径。
part1.
5.To Router?(是否需要路由处理):如果数据包的目标MAC地址是路由器(即网关)的地址,交换机会将数据包交给路由处理单元;否则,数据包将继续进行二层转发。
6.(Yes)Router Input ACL(路由输入访问控制列表处理):对需要路由处理的数据包进行路由输入访问控制列表检查,确保数据包符合路由器的安全策略。
7.IP Switchable?(是否可进行IP转发):检查数据包是否包含IP地址,如果是,则继续进行IP查找;如果不是,数据包可能被丢弃或返回错误。
8.IP Lookup(三层查找):在路由表中查找目的IP地址,确定数据包的转发路径。
9.Router Output ACL(路由输出访问控制列表处理):对经过路由处理的数据包进行路由输出访问控制列表检查,确保数据包符合路由器的输出安全策略。
part2.
10.VLAN ACL Processing(VLAN 访问控制列表处理):再次对数据包进行VLAN访问控制列表检查,确保数据包符合VLAN的安全策略。
11.QoS Processing(服务质量处理):根据服务质量(QoS)策略,对数据包进行优先级标记和处理,以确保关键数据包的优先传输。
12.Output Physical Link Selection(输出物理链路选择):根据三层查找结果和负载均衡策略,选择适当的物理输出链路。
13.Output Queuing(输出队列):将数据包放入适当的输出队列,等待发送。
14.Rewrite(重写):根据需要,对数据包的头部信息进行修改,如更新TTL(生存时间)字段、重写源/目的MAC地址等。
15.Tx Packet(发送数据包):最后,交换机通过选定的物理输出端口将数据包发送出去。
思科交换机
思科交换机可以根据其功能和应用场景进行分类,主要分为二层交换机和三层交换机。以下是思科主要的二层和三层交换机类型:
二层交换机
Cisco Catalyst 2960-X/XR 系列、Cisco Catalyst 1000 系列、Cisco Small Business 110 系列
三层交换机
Cisco Catalyst 3850 系列、Cisco Catalyst 9300 系列、Cisco Catalyst 9500 系列、Cisco Nexus 9000 系列
在选择思科交换机时,可以通过设备型号来快速判断其是否是二层交换机还是三层交换机。思科的命名方式有助于了解设备的功能和定位。
系列名称:
-
Catalyst:大多数思科企业级交换机属于Catalyst系列。
-
Nexus:通常用于数据中心和高性能计算环境。
型号数字:
-
2xxx系列:通常是二层交换机,例如Catalyst 2960系列。
-
3xxx系列及以上:通常是三层交换机,例如Catalyst 3850系列,Catalyst 9300系列。
型号字母:
-
L:代表“LAN Base”,通常表示二层交换功能(例如,2960X-24TS-L)。
-
S:代表“IP Base”,表示具有基本路由功能的三层交换机(例如,3850-24T-S)。
-
E:代表“IP Services”,表示具有高级路由功能的三层交换机(例如,3850-24T-E)。
-
U:代表“Uplink”,表示具有上行链路的端口配置,可能是二层或三层交换机的一部分(例如,9300-48U)。
华为交换机
二层交换机
Huawei S1700 系列、Huawei S2700 系列、Huawei S5700-LI 系列
三层交换机
Huawei S5700-EI 系列、Huawei S6700 系列、Huawei S7700 系列、Huawei S9700 系列
通过设备型号可以快速判断华为交换机是二层交换机还是三层交换机。以下是一些关键点和示例,帮助快速判断:
系列名称:
-
S1700系列:通常是非管理型或二层交换机。
-
S2700系列:通常是二层交换机。
-
S5700系列:具有LI(Lite)型号的通常是二层交换机,具有EI(Enhanced)型号的通常是三层交换机。
-
S6700、S7700、S9700系列:通常是三层交换机,适用于核心层和数据中心。
型号字母:
-
LI:表示“Lite”,通常是二层交换功能(例如,S5700-28X-LI-AC)。
-
EI:表示“Enhanced”,表示具有高级路由功能的三层交换机(例如,S5700-28X-EI-AC)。
华三设备
二层交换机
H3C S5100-EI 系列、H3C S5500-EI 系列、H3C S5120-SI 系列
三层交换机
H3C S5500-HI 系列、H3C S7500E 系列、H3C S12500 系列、H3C S6800 系列
通过设备型号可以快速判断华三交换机是二层交换机还是三层交换机。以下是一些关键点和示例,帮助快速判断:
系列名称:
-
S5100系列:通常是二层交换机。
-
S5500系列:如果是EI版本通常是二层交换机,HI版本则通常是三层交换机。
-
S7500E系列及以上:通常是三层交换机,适用于核心层和数据中心。
型号字母:
-
EI:表示增强型,通常是二层交换功能(例如,S5100-24P-EI)。
-
HI:表示高级版本,通常是三层交换功能(例如,S5500-28F-HI)。
交换机的接口类型
PVID:交换机接口的PVID(Port VLAN ID)是指在接收到未标记的帧时,该端口默认将这些帧归属到的VLAN。
①Access接口:
通常用于连接终端设备(如计算机、打印机等);每个Access接口只能属于一个VLAN;在接收帧时根据帧是否带标签进行对应处理:
当一个未标记的帧进入交换机的某个端口时,交换机会根据该端口的PVID(交换机端口的VLAN ID)为该帧打上VLAN标签,使其在交换机内部转发时被识别为属于指定的VLAN。
当接口接收到一个带标签的帧(已经被打上PVID)则进行检查,当该帧的VLAN ID与该接口的PVID相同时,接收该帧;当该帧的VLAN ID与该接口的PVID不同时,丢弃该帧。
在发送帧时的具体操作:
帧的VLAN ID与接口PVID相同:先剥离该帧的Tag,然后再将其从该接口发出;这个时候的帧又变回了不带标记的帧。当帧的VlanID与接口的PVID不同时:则禁止将该帧从接口发出。
②Trunk接口
在接收帧时:
Trunk接口用于在交换机之间或交换机与路由器之间传输多个VLAN的流量;它们主要应用于网络的汇聚层和核心层,可以同时承载多个VLAN的数据帧。
接口接收到不带标签的帧时:当Trunk接口接收到不带标签的帧时,交换机会根据该接口配置的本地VLAN ID(Native VLAN)或默认VLAN ID来处理这些帧;默认情况下,未配置本地VLAN的Trunk接口会将不带标签的帧归属于VLAN 1。当PVID不在允许通过的VLAN列表里时,丢弃该帧。
当收到的帧为带标签的帧时:当该帧的VLAN ID在该接口允许通过的VLAN列表里时,接收该帧,否则丢弃该帧。
在发送帧时:
帧的VLAN ID与接口PVID相同:则将该帧的Tag剥除,然后将其从该接口发送出去;此时的发出去的帧就是无标记帧;如果VLAN ID不在允许通过的VLAN列表中则禁止将该帧从该接口发出。
当帧的Vlan ID与接口的PVID不同:当该帧的VLAN ID在该接口允许通过的VLAN列表中,则保留该帧的Tag,然后将其从该接口发送出去;如果VLAN ID不在允许通过的VLAN列表中则禁止将该帧从该接口发出。
Hybird接口
接收帧
Hybrid接口结合了Access接口和Trunk接口的特性,能够处理未标记帧和标记帧。它们可以在同一个端口上承载多个VLAN的流量,并且可以配置哪些VLAN的帧是未标记的,哪些是标记的。
当Hybird接口接收到不带标记的帧:打上PVID,当PVID在该接口允许通过的VLAN列表里时接收该帧;当PVID不在允许通过的VLAN列表里时,丢弃该帧。
当Hybird接口接收到带标签的帧:当该帧的VLAN ID在该接口允许通过的VLAN列表里时,接收该帧,否则丢弃该帧。
发送帧
帧的vlan ID 时接口允许通过的Vlan ID时:当帧的VLAN ID为Hybrid接口允许通过的VLAN ID时,交换机会根据具体配置对该帧进行处理;处理包括对帧的转发、是否去掉VLAN标签、以及在本端口上的操作方式;我们以华三交换机配置来进行举例,假如我们有以下配置:
华三(H3C)交换机配置
interface Ethernet0/1
port link-type hybrid
port hybrid pvid vlan 10
port hybrid untagged vlan 10
port hybrid tagged vlan 20 30
接收到带VLAN 20标签的帧时,需要在Ethernet0/1接口上转发,且该VLAN配置为标记帧(port hybrid tagged vlan 20
),则帧会带着VLAN 20标签继续转发。接收到不带标签的帧时,帧进入Ethernet0/1接口时,交换机识别到该帧没有VLAN标签;根据PVID配置(port hybrid pvid vlan 10
),交换机会将该帧打上VLAN 10的标签,如果帧需要在Ethernet0/1接口上转发,且VLAN 10配置为未标记帧(port hybrid untagged vlan 10
),则该帧会被去掉VLAN标签,作为未标记帧发送。