设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 3244|回复: 2
收起左侧

[原创] PPP帧格式

[复制链接]
 成长值: 62830
发表于 2017-11-8 13:53:34 | 显示全部楼层 |阅读模式
网络协议报文格式大全
http://bbs.hh010.com/thread-531884-1-1.html
(出处: 鸿鹄论坛)




PPP帧格式帧格式
PPP帧的内容是指Address、Control、Protocol和Information四个域的内容。各字段的含义如下。
图1 PPP帧格式

                               
登录/注册后可看大图



字段长度含义
Flag1字节Flag域标识了一个物理帧的起始和结束,该字节为0x7E。
Address1字节PPP协议室被运用在点对点的链路上,它可唯一标识对方,因此无须知道对方数据链路层地址。所以该字节无任何意义,按协议规定填充为全1广播地址。
Control1字节同Address域一样,PPP数据帧的Control域也没实际意义,规定值为0x03,该域与Address域一起标识了PPP报文,即PPP报文头为FF03。
Protocol1字节或2字节协议域,可用来区分PPP数据帧中信息域所承载的数据报文的内容。协议域的内容必须依据ISO 3309的地址扩展机制所给出的规定。该机制规定协议域所填充的内容必须为奇数,也就是要求低字节的最低位为“1”,高字节的最低位为“0”。如果当发送端发送的PPP数据帧的协议域字段不符合上述规定,接收端则会认为此数据帧是不可识别的。接收端向发送端发送一个Protocol-Reject报文,在该报文尾部将填充被拒绝报文的协议号。
  • 0021: IP报文
  • 002b: Novell IPX
  • 002d: Van Jacobson Compressed TCP/IP
  • 002f: Van Jacobson Uncompressed TCP/IP
  • 0057: IPV6报文
  • 8021: IPCP报文
  • 802b: Novell IPX Control Protocol
  • 8031: Bridging NC
  • 8057: IPv6 CP报文
  • C021: LCP报文
  • C023: Password Authentication Protocol
  • C223: Challenge Handshake Authentication Protocol
Information0~1500字节
信息域最大长度是1500字节,其中包括填充域的内容。信息域的最大长度等于PPP协议中MRU(Maximum Receive Unit)的缺省值。在实际应用当中可根据实际需要进行信息域最大封装长度选项的协商。
如果信息域长度不足1500字节,可被填充,但不是必须的。如果填充则需通信双方的两端能辨认出有用与无用的信息方可正常通信。
FCS0/1/2字节
FCS域计算范围是除了flag域的其他域。
校验域的功能主要对PPP数据帧传输的正确性进行检测。
在数据帧中引入了一些传输的保证机制,会引入更多的开销,这样可能会增加应用层交互的延迟。
Code1字节代码域,主要是用来标识LCP数据报文的类型。在链路建立阶段,接收方接收到LCP数据报文。当其代码域的值无效时,就会向对端发送一个LCP的代码拒绝报文(Code-Reject报文)。 如果是IP报文,则不存在此域,取而代之的是IP报文内容。
常见Code值如下:
0x01: Configure-Request
0x02: Configure-Ack
0x03: Configure-Nak
0x04: Configure-Reject
0x05: Terminate-Request
0x06: Terminate-Ack
0x07: Code-Reject
0x08: Protocol-Reject
0x09: Echo-Request
0x0a: Echo-Replyt
0x0b: Discard-Request
0x0c: Reserved
Identifier1字节
标识域的值表示进行协商报文的匹配关系。 标识域目的是用来匹配请求和响应报文。
一般而言,在进入链路建立阶段时,通信双方任何一端都会连续发送几个配置请求报文(Configure-Request报文)。这几个请求报文的数据域的值可能是完全一样的,只是它们的标志域不同。
通常一个配置请求报文的ID是从0x01开始逐步加1的。
当对端接收到该配置请求报文后,无论使用何种报文回应对方,但必须要求回应报文中的ID要与接收报文中的ID一致。当通信设备收到回应后就可以将该回应与发送时的进行比较来决定下一步的操作。
Length2字节
长度域表示此协商报文长度,它包含Code域及Identifier域的长度。长度域的值就是该LCP报文的总字节数据。它是代码域、标志域、长度域和数据域四个域长度的总和。
长度域所指示字节数之外的字节将被当作填充字节而忽略掉,而且该域的内容不能超过MRU的值。
Data变长数据域所包含的是协商报文的内容。
  • Type为协商选项类型。 常见Type中的协商类型值:
    0x01: Maximum-Receive-Unit
    0x02: Async-Control-Character-Map
    0x03: Authentication-Protocol
    0x04: Quality-Protocol
    0x05: Magic-Number
    0x06: RESERVED
    0x07: Protocol-Field-Compression
    0x08: Address-and-Control-Field-Compression
  • Length为协商选项长度,它是指Data域的总长度,也就是包含Type、Length和Data。
  • Data为协商的选项具体内容。


参考标准
标准
描述
RFC 1661The Point-to-Point Protocol (PPP)
RFC 1055A NONSTANDARD FOR TRANSMISSION OF IP DATAGRAMS OVER SERIAL LINES: SLIP
RFC 1144Compressing TCP/IP headers for low-speed serial links
RFC1717The PPP Multilink Protocol (MP)
RFC1332The PPP Internet Protocol Control Protocol (IPCP)
RFC1962The PPP Compression Control Protocol (CCP)




发表于 2020-8-19 15:49:36 | 显示全部楼层
哇,神总结呀,非常好
板凳 2020-8-19 15:49:36 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-12-26 15:17 , Processed in 0.068683 second(s), 12 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表