一:二层交换机原理
1.接收网段上的所有数据帧;
2.利用接收数据帧中的源MAC地址来建立MAC地址表(源地址自学习),使用地址老化机制进行地址表维护;
3.在MAC地址表中查找数据帧中的目的MAC地址,如果找到就将该数据帧发送到相应的端口(不包括源端口);如果找不到,就向所有的端口发送(不包括源端口);
4.向所有端口转发广播帧和多播帧(不包括源端口)。
二:三种交换模式
l Cut-Through(直通交换):
只检查包的包头(通常只检查14字节),不存储,不检测错误,延迟小,交换速度快,接收到目的地址即开始转发过程
l Store-and-Forward(存储转发):
交换机将全部内容接收存储才开始转发过程,检测错误,不会有错包,
延迟大,支持不同速率端口间的转发
l Frag-free(碎片隔离):
交换机接收完数据包的前64字节(一个最短帧长度),然后根据头信息查表转发。
结合了直通方式和存储转发方式的优点。
三:L2工作模型
(网桥/以太网交换机/L2) 设备工作模型:
四:L2交换机转发原理
假设:交换机LSW1有4个端口,分别是port1,2,3,4,MAC缓存表为空;PC1的BIA(MAC)地址为MAC-A,PC2的BIA(MAC)地址为MAC-B,PC3的BIA(MAC)地址为MAC-C,PC4的BIA(MAC)地址为MAC-D。
现在PC1需要向PC3发送一个单播帧X-Frame,则把PC1称为源主机,PC3称为目的主机,X-Frame从源主机PC1到达目的主机PC3的活动轨迹如下描述:
1,PC1上的应用软件产生数据,经过TCP/IP模型后,得到数据包(Packet),数据包下发给PC1网卡上的CU(控制单元),会将数据包封装成帧,假设第一个帧叫X-frame,CU将PC3的MAC地址封装成X-frame的目的地址,把自己的BIA地址作为源地址,其他字段暂不关心,至此,一个帧已经形成并蓄势待发。
2,X-Frame帧的运动轨迹为:PC1的网卡CU-->PC1的网卡OB-->PC1的网卡LC-->PC1的网卡TX-->传输媒介-->交换机port1网卡RX-->交换机port1网卡LD-->交换机port1网卡IB-->交换机port1网卡CU(参考上篇博文)
3,X-Frame到达port1的网卡CU后,交换机会去MAC缓存中查找X-Frame帧的目的MAC地址MAC-C。由于此时的交换机MAC缓存表为空表,所以此时是查不到MAC地址表对应关系的。根据交换机的转发规则,交换机会对X-Frame进行泛洪操作。然后,交换机还要对MAC进行自动学习:X-Frame从交换机Port1口进入的,则交换机MAC表记录为:MAC-A-->Port1。
4,X-Frame被执行泛洪操作后,交换机的其他网卡都会从port1的CU处获得一个X-Frame的拷贝。这些拷贝的运动过程为:port1的网卡CU-->port2的网卡OB-->port2的网卡LC-->port2的网卡TX-->双绞线-->port2的网卡RX-->port2的网卡LD-->port2的网卡IB-->port2的网卡CU-->port-X的网卡OB--LC--TX--双绞线--port-X的网卡RX--LD--IB--CU...
5,PC2收到X-Frame后,取出该帧的目的MAC与自己的MAC地址进行比较,由于X-Frame的目的地址是MAC-C,而自己的是MAC-B,所以二者不匹配,于是根据该帧被PC2的CU丢弃。PC4网卡操作流程与PC2一致,结果也是被丢弃。
6,PC3网卡CU收到X-Frame后,取出该帧的目的MAC与自己的MAC地址进行比较,由于X-Frame的目的地址是MAC-C,而自己的也是MAC-C,所以二者匹配。于是该数据包将上传给TCP/IP模型后到达应用软件处理。
至此,X-Frame已经成功的从源主机PC1发送到了目的主机PC3,PC2和PC4通过交换机的泛洪操作也收到了X-Frame,但是会被网卡CU丢弃,交换机也学习到了一条mac转发条目。
现在,PC3已经知道PC1的mac地址了,假设PC3要向PC1发送一个单播帧Y-Frame,此时PC3为源主机,PC1为目的主机。Y-Frame的远程轨迹如下描述:
1,PC的应用软件所产生的数据,经过TCP/IP模型后,得到数据包(Packet),数据包下发给网卡CU,CU继续对数据包封装成帧。假设封装的第一个帧为Y-Frame帧,CU会将PC1的MAC-A作为帧的目的地址,PC3的MAC-C作为源地址。其他字段忽略。
2,Y-Frame帧到达交换机的Port3口网卡CU后,先去MAC缓存表中查找Y-Frame中的目的地址,查到该帧映射关系为:MAC-A对应Port-1,而且Port不是Y-Frame的入端口,根据交换机的转发规则,交换机会对Y-Frame进行点到点的转发操作,即将Y-Frame从Port3端口转发至Port1端口,紧接着,交换机还会对地址学习:Y-Frame是从Port3进入交换机的,交换机会将Y-Frame的源地址MAC-C映射到port3,并写入MAC缓存表。
3,Y-Frame到达Port1的网卡CU后,运送过程为:port1网卡CU-->port1网卡OB-->port1网卡LC-->port1网卡TX-->物理媒介-->PC1网卡RX-->PC1网卡LD-->PC1网卡IB-->PC1网卡CU
4,PC1网卡CU收到Y-Frame后,先对该帧的目的地址进行匹配,由于Y-Frame的目的MAC地址为MAC-A,而PC1的MAC地址为MAC-A,所以二者是匹配的,于是PC1的CU会将Y-Frame中的数据包抽取出来,上传至TCP/IP后到达应用软件。
至此,Y-Frame从源主机PC3经过交换机的转发后,成功送达目的主机PC3。