[toc]
以太网交换机自学习和转发帧的流程
以太网交换机,也称为交换式集线器,**是简化(典型)的网桥**,一般用于互连相同类型的LAN(例如:以太网/以太网的互连)。交换机和网桥的不同在于:交换机端口数较多;交换机的数据传输效率较高。透明网桥:自学习算法(逆向学习法)的网桥
以太网交换机在数据链路层,包括物理层
以太网交换机收到帧后,在帧交换表中查找帧的目的MAC地址所对应的接口号,然后通过该接口转发帧
以太网交换机是一种即插即用设备,刚上电启动时其内部的帧的交换表是空的。随着网络中个主机间的通信,以太网交换机通过自学习算法自动逐渐建立起帧交换表
由于MAC地址与接口的对应关系不是永久性的,所以每条记录都有自己的有效时间,到期自动删除
交换机对于一个port N上incoming frame, 学习其source MAC X, 生成MAC Address Table,如下:
MAC X <———> Port N
这样它就会生成MAC地址 和 Port 的映射表,如果收到一个Frame ,就会查询Frame的 Destination MAC 与MAC Address Table 进行匹配,匹配到了就从对应的Port 发送出去。
如果没有匹配到,就认为是 unknown Unicast 或 broadcast,没有办法只好把它从所有Port( 除了接收到Frame的接口)发送出去
以太网交换机的生成树协议STP
单点故障:在网络中,任意一个节点产生故障,将导致整个网络无法通讯
为了提高以太网的可靠性,我们通过添加冗余链路来提高以太网的可靠性,但是,冗余链路带来另一个问题——形成网络环路
但是网络环路带来以下问题:
- 广播风暴:大量消耗网络资源,使得网络无法正常转发其他数据帧
- 主机收到重复的广播帧:大量消耗主机的资源
- 交换机的帧交换表震荡(漂移)
为此,以太网交换机使用生成树协议STP(Spanning Tree Protocol),增加冗余链路的网络可靠性的同时又避免网络环路带来的各种问题:
- 不论交换机之间采用怎样的物理连接,交换机都能够自动计算并构建一个逻辑上没有环路的链路,其逻辑拓朴结构必须是树形
- 最终生成树的树型拓扑结构要确保联通整个网络
- 当首次连接交换机或网络物理拓扑结构发生变化时,交换都将进行生成树的重新计算
STP的生成
- 每个广播域中选举一个根桥(Root)
- 每个非根桥选举一个根端口(Root Port)
- 每一段链路选举一个指定端口(Designated Port)
- 非指定端口会被堵塞(Blocking)
选举根桥:具有最低桥ID的交换机就是根桥,BID相同时,选择MAC地址小的作为根桥
选举根端口:选举了根桥后,其他的交换机就成为了非根桥。根桥上的接口都是指定端口,会转发数据包。每台非根桥要选举一条到根桥的根路径。根端口通过计算到根桥的最短路径选举得到。
链路带宽 | 新标准 |
---|---|
10Mbps | 100 |
100Mbps | 19 |
1Gbps | 4 |
10Gbps | 2 |
>10Gbps | 1 |
选举指定端口:一般而言,交换机端口是否配置为指定端口由 BID 决定。当两个非根端口的交换机端口连接到同一个 LAN 网段时,会发生竞争端口角色的情况。这两台交换机会交换 BPDU 帧,以确定哪个交换机端口是指定端口,哪一个是非指定端口