理解交换机的工作原理
PC1和PC2要想进行数据的通信,就要先进行数据的封装,必须在数据帧中指定目的MAC地址才能正常通信
封装目的MAC时PC1首先要查看自己的ARP表,查看是否有PC2的IP和MAC地址:
PC>arp -a
Internet Address Physical Address Type
PC>
发现是空的,接下来要进行ARP的广播请求:
网络层封装ARP协议,包括源IP,目的IP等,到达数据链路层封装帧头和帧尾,由于目的MAC未知,所以封装广播帧:十六进制的FF:FF:FF:FF:FF:FF
数据到达交换机,交换机就要查找交换机的MAC地址表,如果没有PC1的MAC地址和端口关系就要进行1,2动作,如果有就直接进行第2个动作:
- 1.学习动作:将数据帧中的源MAC和与交换机的接口关系记录到MAC地址表中
[Huawei]display mac-address
MAC address table of slot 0:
-------------------------------------------------------------------------------
MAC Address VLAN/ PEVLAN CEVLAN Port Type LSP/LSR-ID
VSI/SI MAC-Tunnel
-------------------------------------------------------------------------------
5489-98a6-18c1 1 - - Eth0/0/1 dynamic 0/-
-------------------------------------------------------------------------------
Total matching items on slot 0 displayed = 1
- 2.泛洪动作:将数据从交换机中的各个接口发送出去,除了接收端口外
PC2收到广播帧,进行数据的解封装,判断目的ip是否为自己的ip,如果是,就将源IP和源MAC地址记录到自己的ARP表中
PC>arp -a
Internet Address Physical Address Type
192.168.1.1 54-89-98-A6-18-C1 dynamic
接着进行回复报文的封装,封装源IP和目的IP、目的MAC、源MAC等,发送给交换机
交换机进行学习动作,将PC2发送的数据帧中的源MAC和与交换机的接口进行记录
[Huawei]display mac-address
MAC address table of slot 0:
-------------------------------------------------------------------------------
MAC Address VLAN/ PEVLAN CEVLAN Port Type LSP/LSR-ID
VSI/SI MAC-Tunnel
-------------------------------------------------------------------------------
5489-98a6-18c1 1 - - Eth0/0/1 dynamic 0/-
5489-9851-69c3 1 - - Eth0/0/2 dynamic 0/-
-------------------------------------------------------------------------------
Total matching items on slot 0 displayed = 2
记录完成后,进行转发动作,因为是单播帧的回复,根据数据帧中的目的MAC地址和MAC地址表中的接口信息进行转发,转发给PC1
PC1得到ARP的应答,将PC2的MAC地址与IP记录到自己的ARP表中
PC> arp -a
Internet Address Physical Address Type
192.168.1.2 54-89-98-51-69-C3 dynamic
作者:ccku
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有问题或建议,请多多赐教,非常感谢。