协议报文格式大全
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CFI(1位) VLAN ID(12位) TPID的值是固定的,为8100H,指明了该帧带有802.1Q/802.1P标记信息。Priority标明了这个帧的优先级,此优先级用于质量服务(QoS)。CFI为0代表规范格式,为1代表非规范格式。
用于计算生成树的各种信息和参数被封装在配置BPDU(Configuration Bridge Protocol Data Unit)中在交换机之间发送。
配置BPDU使用标准LLC格式封装在以太网数据帧中。
当配置BPDU只用于计算生成树,不用于传递拓扑改变信息(第四章中详细描述)的时候:Protocol Identifier(协议标识),Protocol Version Identifier(协议版本标识)和BPDU Type (BPDU类型)Flags(标志)四部分设置为全0。
Root Identifier,Root Path Cost,Bridge Identifier和Port Identifier四部分用于检测最优的配置BPDU,进行生成树计算。
Message Age随时间增长而变大;
Max Age默认为20秒,如果Message Age达到Max Age,则此配置BPDU被认为已经过期。Hello Time默认为2秒,也即在指定端口上,配置BPDU每隔两秒发送一次。
Forward Delay默认为15秒。
前两个字段是以太网的源地址和目的地址
帧类型:两个字节长的以太网帧类型表示后面数据的类型。对于A R P 请求或应答来说,该字段的值为0 x 0 8 0 6 ;
硬件类型:表示硬件地址的类型。它的值为1 即表示以太网地址;
协议类型:表示要映射的协议地址类型。它的值为0 x 0 8 0 0 即表示I P 地址。它的值与包含I P 数据报的以太网数据帧中的类型字段的值相同;
硬件地址长度和协议地址长度分别指出硬件地址和协议地址的长度,以字节为单位。对于以太网上I P 地址的A R P 请求或应答来说,它们的值分别为6 和4 。
操作类型:1--A R P 请求)、2--A R P 应答、3--R A R P 请求、4--R A R P 应答
接下来的四个字段是发送端的硬件地址(在本例中是以太网地址)、发送端的协议地址
(I P 地址)、目的端的硬件地址和目的端的协议地址。这里有一些重复信息:在以太网
的数据帧报头中和A R P 请求数据帧中都有发送端的硬件地址。
对于一个A R P 请求来说,除目的端硬件地址外的所有其他的字段都有填充值。
T:消息类型标志位,0为数据报文,1为控制报文。x:保留位。
S:Ns和Nr标志位,控制报文中此位必须是1。
O:Offset标志位,为1说明Offset有效,控制报文此位必须为0。
P:优先级标志位,数据报文此位为1,表示优先处理;控制报文此位为0。Ver:必须为2。
Length:消息总长度,单位为字节。
Tunnel ID:控制连接标志符,本端有效。
Session ID:控制连接内的会话标志符,本端有效。
Ns:本消息的序列号。
Nr:在控制消息中,表示预期收到的下一个控制消息的序号;数据消息中无效。Offset:偏移,如果有效,则数据从偏移后的字节开始。
在以太网中:使用值是0x8847(单播)和0x8848(组播)来表示承载的是MPLS报文(0800是IP报文)
在PPP中:增加了一种新的NCP:MPLSCP,使用0x8281来标识
首部长度最长60字节,IP报文总长度2^16-1=65535
IPV4报头有12个必需的字段和可选IP选项字段,位于要发送的数据之前。如果使用IP层已有的库或其他组件,一般不必考虑报头中的大多数字段,但程序代码需要提供源端和目的端地址。
1、版本(4比特)
IP协议版本已经经过多次修订,1981年的RFC0791描述了IPV4,RCF2460中介绍了IPV6。
2、报头长度(4比特)
报头长度是报头数据的长度,以4字节表示,也就是以32字节为单位。报头长度是可变的。必需的字段使用20字节(报头长度为5,IP选项字段最多有40个附加字节(报头长度为15)。
3、服务类型(8比特)
该字段给出发送进程建议路由器如何处理报片的方法。可选择最大可靠性、最小延迟、最大吞吐量和最小开销。路由器可以忽略这部分。
4、数据报长度(16比特)
该字段是报头长度和数据字节的总和,以字节为单位。最大长度为65535字节。
5、标识符(16比特)
原是数据的主机为数据报分配一个唯一的数据报标识符。在数据报传向目的地址时,如果路由器将数据报分为报片,那么每个报片都有相同的数据标识符。
6、标志(3比特)
标志字段中有2为与报片有关。
位0:未用。
位1:不是报片。如果这位是1,则路由器就不会把数据报分片。路由器会尽可能把数据报传给可一次接收整个数据报的网络;否则,路由器会放弃数据报,并返回差错报文,表示目的地址不可达。IP标准要求主机可以接收576字节以内的数据报,因此,如果想把数据报传给未知的主机,并想确认数据报没有因为大小的原因而被放弃,那么就使用少于或等于576字节的数据。
位2:更多的报片。如果该位为1,则数据报是一个报片,但不是该分片数据报的最后一个报片;如果该位
为0,则数据报没有分片,或者是最后一个报片。
7、报片偏移(13比特)
该字段标识报片在分片数据报中的位置。其值以8字节为单位,最大为8191字节,对应65528字节的偏移。
例如,将要发送的1024字节分为576和424字节两个报片。首片的偏移是0,第二片的偏移是72(因为72×8=576)。
8、生存时间(8比特)
如果数据报在合理时间内没有到达目的地,则网络就会放弃它。生存时间字段确定放弃数据报的时间。
生存时间表示数据报剩余的时间,每个路由器都会将其值减一,或递减需要数理和传递数据报的时间。实际上,路由器处理和传递数据报的时间一般都小于1S,因此该值没有测量时间,而是测量路由器之间跳跃次数或网段的个数。发送数据报的计算机设置初始生存时间。
9、协议(8比特)
该字段指定数据报的数据部分所使用的协议,因此IP层知道将接收到的数据报传向何处。TCP协议为6,UDP协议为17。
10、报头检验和(16比特)
该字端使数据报的接收方只需要检验IP报头中的错误,而不校验数据区的内容或报文。校验和由报头中的数值计算而得,报头校验和假设为0,以太网帧和TCP报文段以及UDP数据报中的可选项都需要进行报文检错。
11、源IP地址(32比特)
表示数据报的发送方。
12、目的IP地址(32比特)
表示数据报的目的地。