🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ### **一、链路层协议** 数据链路层有有线局域网、无线局域网,他们有不同的链路层协议。有线局域网最常见的协议标准为以太网2(Ethernet II),它的数据包被称为帧(Frame),以太网帧的格式如下: ![](https://img.kancloud.cn/46/89/46891541a9919cbc0938021d87520136_712x98.png) * 类型:上层协议,最常见的为IP协议 * FCS:CRC循环冗余较验码,用来判断接收到的帧是否正确 ### **二、交换机** ##### **2.1 交换机的转发原理** 交换机维护着一个转发表,记录着目的MAC地址与端口(Port)的映射关系。比如: | 目的MAC地址 | 端口 | | --- | --- | --- | | 00-00-00-11-11-11 | 01 | | 00-00-00-11-11-22 | 02 | 当一个数据帧到达时,交换机检查数据帧的目的MAC地址,并且在转发表中进行匹配,这里要分三种情况: * 单播 如果在转发表中找到了目的MAC地址的记录,则把数据帧从目的MAC地址对应的端口发送出去 * 泛洪(flood) 如果在转发表中没有找到目的MAC地址的记录,则把数据帧从所有的端口发送出去(接收端口除外) * 广播 如果目的地址是 ff-ff-ff-ff-ff-ff(即全为1),则无需查找转发表,把数据帧从所有的端口发送出去(接收端口除外) ##### **2.2 转发表的更新** 转发表一般是自动更新。当一个数据帧从交换机的某个端口03进入后,交换机就会检查这个数据帧的源MAC地址(比如为 00-00-00-11-11-33),然后在转发表中添加一条记录,并初始化生存时间 | 目的MAC地址 | 端口 | TTL | | --- | --- | --- | | 00-00-00-11-11-11 | 01 | 60 | | 00-00-00-11-11-22 | 02 | 60 | | 00-00-00-11-11-33 | 03 | 60 | 每一条记录都有生存时间,当超过生存时间后,该记录就会被删掉(静态添加的记录没有生存时间)。 ### **参考** * https://mp.weixin.qq.com/s/vyyFHSL2aWgSr3APXL8x6g * https://time.geekbang.org/column/article/8094