数据链路层协议封装[通俗易懂]

数据链路层协议封装[通俗易懂]常用的两种数据链路层帧:以太网帧和PPP帧的区别:最大的区别,以太网是一个广播链路,一个广播域可能有多个设备,所以以太网帧有MAC地址,为了在整个以太网中确定一个唯一确定到底哪个设备进行接收,减少链路的带宽消耗和设备处理时产生的消耗。而ppp帧在一条链路上只有对端,我们不需要通过MAC地址来表示接受方到底是谁,所以来数据帧上没有MAC地址的。其中的address地址全为F,没有实际的意义。以太网帧字段的说明:无论是哪种以太网的封装的格式,其实大体上都是差不多的,但是还是有一定的区别,但是可以通过字

常用的两种数据链路层帧:

在这里插入图片描述

以太网帧和PPP帧的区别:
最大的区别,以太网是一个广播链路,一个广播域可能有多个设备,所以以太网帧有MAC地址,为了在整个以太网中确定一个唯一确定到底哪个设备进行接收,减少链路的带宽消耗和设备处理时产生的消耗。而ppp帧在一条链路上只有对端,我们不需要通过MAC地址来表示接受方到底是谁,所以来数据帧上没有MAC地址的。其中的address地址全为F,没有实际的意义。

以太网帧字段的说明:

无论是哪种以太网的封装的格式,其实大体上都是差不多的,但是还是有一定的区别,但是可以通过字段的不同值分别到底是哪种类型的以太帧,首先当一个以太网接口接收到以后,会从帧界定符以后开始读取源目MAC地址,因为MAC地址长度固定,48bit,连续96bit后就会读取到一个类型/长度字段,这个字段占8个bit,如果表示的值大于1536,表示的是以太网2的帧,其含义为上层是什么协议,如0x0800表示的是IPV4报文,0x86dd表示的是IPV6报文,常用表示的如下:
在这里插入图片描述
这里出现的MPLS,802.1Q字段为在传统以太网上添加的字段,添加的位置是在MAC地址之后,原来协议字段之前,添加的部分它们同样有一个类型字段,告诉设备现在读取的是MPLS标签或者VLAN的tag,当读取完成后继续读取的协议/长度字段才是原来报文中的字段。

如果表示的是类型/长度字段表示类型就没有长度字段了怎么知道数据真的总长度呢?这个就只有看上层协议中所表示的长度了,例如IPv4报头中也有长度字段。

如果协议/类型字段小于1500,则表示以太帧中内容的长度,但是这样又不知道了上层是什么协议,这就需要LLC子层来进行表示了(例如生成树的BPDU)。当读取完成后,最后有4个字节的FCS的校验位,防止接收到的数据帧出现了偏差。

这里做一个记忆:
在这里插入图片描述
802.1Q和QinQ格式:
在这里插入图片描述
普通情况下一共四个字节,其中2字节的协议类型字段,表示这是一个tag,3bit的PRI,表示数据真的优先级0-7,7最优。CFI在令牌环网络中有效,以太网中无意义,占有1bit,最优是VLAN的标签,占12bits,范围为(0-4095)。QinQ帧就是两个802.1Q字段的叠加,一个为内网tag,一个为外网tag。

MPLS标签字段:
在这里插入图片描述
mpls标签也是4字节,其中标签字段20bit,优先级3bit没有变化,S表示十分为最后一个标签,为1表示为最后一个,TTL字段的作用是进行标签转发防止环路,占8bit。

PPP帧格式的说明:

在这里插入图片描述
PPP报文前后有一个字节固定的flag字段,表示一个数据帧的界定,然后有一个自己的全1分地址字段,控制字段占1自己,默认为0x03,没有什么特别的作用,然后就是一个2字节的协议为,表示information字段包含的是什么报文,information字段是PPP真的载荷数据,长度可变,里面的类容先暂时不进行分析。最后为2字节的差错校验位。

总结:

知道二层封装的协议之后,可以进行同一网段中相邻三层设备间的数据准确传输了。但是相邻链路接收到对方发来的信息后,如果自己就是对方发送的目标后,后下一步该怎么做呢,怎么进行不同网段的信息传输呢,就需要进一步了解封装在二层帧中的数据的内容了。

一般封装在二层帧中的也就是三层的报文,这一层报文主要是为了进行不同网段的寻路,如ipv4,ipv6等,设备可以通过二层帧中的类型字段知道了上层的协议是什么,然后再按照对应上层协议的格式进行对格式的读取。

参考资料:部分网络上资料

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/10652.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注