赞
踩
以太网帧和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报文前后有一个字节固定的flag字段,表示一个数据帧的界定,然后有一个自己的全1分地址字段,控制字段占1自己,默认为0x03,没有什么特别的作用,然后就是一个2字节的协议为,表示information字段包含的是什么报文,information字段是PPP真的载荷数据,长度可变,里面的类容先暂时不进行分析。最后为2字节的差错校验位。
知道二层封装的协议之后,可以进行同一网段中相邻三层设备间的数据准确传输了。但是相邻链路接收到对方发来的信息后,如果自己就是对方发送的目标后,后下一步该怎么做呢,怎么进行不同网段的信息传输呢,就需要进一步了解封装在二层帧中的数据的内容了。
一般封装在二层帧中的也就是三层的报文,这一层报文主要是为了进行不同网段的寻路,如ipv4,ipv6等,设备可以通过二层帧中的类型字段知道了上层的协议是什么,然后再按照对应上层协议的格式进行对格式的读取。
参考资料:部分网络上资料
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。