二三层转发原理
阿里云国际版折扣https://www.yundadi.com |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
二层转发原理
数据帧
二层即数据链路层的转发是以数据帧的格式进行转发数据帧的格式如下
目的地址(Destination Address,DA) 可以是单独的地址,或者是广播或组播MAC地址。
源地址(Source Address,SA) 用来识别发送没备,在SA字段中,广播和组播地址格式是非法的。
类型(Type) 用类型字段来识别网络层的协议。
数据(Data) 这是从网络层传送到数据链路层的数据包。它的大小可以在46~1500字节之间变化。
帧校验序列(FraIue check sequence,FCS) 用来存放循环冗余校验(CRC)。
交换机
交换机有多个网络端口它通过识别数据帧的目标 MAC 地址根据 MAC 地址表决定从哪个端口发送数据。MAC 地址表不需要在交换机上手工设置而是可以自动生成的。
交换机是如何添加、更新、删除 MAC 地址表条目
添加数据帧到达交换机的端口时交换机就会记录下数据帧的源MAC地址与接受数据帧的端口同时在接收到这个数据帧时重置这个条目的老化计时器时间。这样凡是送到交换机端口的数据帧都有对应的MAC地址条目。
更新如果交换机再次从同一个端口收到相同 MAC 地址为源 MAC 地址的数据帧时交换机就会更新这个条目的老化计时器确保活跃的的条目不会老化。
删除如果在老化时间内都没收到匹配这个条目的数据帧交换机就会将这个老化的条目从自己的 MAC 地址表中删除。
交换机是如何转发数据帧
以主机A和主机C为例使主机我们会先给主机接口上配置对应的IP地址
主机A1.1.1.2/24
主机C1.1.1.4/24
与交换机相连的每一个主机都会发arp报文告诉其他设备自己的IP和MAC ,这样每个主机也会有对应的arp缓存用来存储IP和MAC 地址的映射关系。
此时如果我们在主机A上去ping 1.1.1.4首先会查询本地的arp表如果有直接取表项中IP对应的MAC 地址用来填充数据帧的目的MAC 数据帧的源MAC 则为主机A发送报文出接口的MAC 地址。目的MAC 填充好之后交换机通过解析二层头获取到目的MAC 查找交换机上的MAC地址条目从对应的端口将数据帧转出去。这样报文就可以到达主机C。
由此看来交换机MAC地址条目中的MAC学习的是数据帧的源MAC转发时用作目的MAC。