PPP
数据帧的格式
PPP
协议也许大家都听说过,可以说现在家里?/p>
ADSL
都是通过
PPP
协议进行?/p>
路的搭建,今天就说说
PPP
到底是个啥东东?/p>
想要了解
PPP
,个人认为有
3
个关键的知识点?/p>
1
?/p>
PPP
数据帧的格式?/p>
2
?/p>
PPP
的几种报文;
3
?/p>
PPP
的状态转?/p>
首先说说?/p>
PPP
数据帧的格式,因?/p>
PPP
是链路层协议,所以我们将它的?/p>
据单位称为帧?/p>
7E
FF
03
7E
标志
地址
控制
协议?/p>
信息?/p>
校验
标志
1B
1B
1B
2B
缺省
1500B
2B
1B
每一?/p>
PPP
数据帧均是以一个标志字节起始和结束的,该字节为
0x7E
(这样很
容易区分出每?/p>
PPP
帧)
紧接在起始标志字节后的一个字节是
地址域,该字节为
0xFF
。我们熟知网?/p>
是分层的?/p>
且对等层之间进行相互通信?/p>
而下层为上层提供服务?/p>
当对等层进行
通信时首先需获知对方的地址?/p>
而对不同的网络,
在数据链路层则表现为需要知
道对方的
MAC
地址?/p>
X.121
地址?/p>
ATM
地址等;在网络层则表现为需要知道对?/p>
?/p>
IP
地址?/p>
IPX
地址等;而在传输层则需要知道对方的协议端口号。例如如?/p>
两个以太网上的主机希望能够通信的话?/p>
首先发送端需获知对端?/p>
MAC
地址?/p>
?/p>
由于
PPP
协议是被运用在点对点的链路上的特殊性,
它不像广播或多点访问的网
络一样,
因为点对点的链路就可以唯一标示对方?/p>
因此使用
PPP
协议互连的通信
设备的两端无须知道对方的数据链路层地址?/p>
所以该字节已无任何意义?/p>
按照?/p>
议的规定将该字节填充为全
1
的广播地址。同地址域一样,
PPP
数据帧的控制?/p>
也没有实际意义,按照协议的规定通信双方将该字节的内容填充为
0x03
。(
?/p>
然无意义,就可以随便赋值了吧,呵呵,只要大家都遵守一个标准就行)
?/p>
PPP
协议本身而言?/p>
我们最关心的内容应该是它的协议域和信息域?/p>
协议?/p>
可用来区?/p>
PPP
数据帧中信息域所承载的数据报文的内容?/p>
协议域的内容必须?/p>
?/p>
ISO 3309
的地址扩展机制所给出的规定。该机制规定协议域所填充的内容必
须为奇数?/p>
也即是要求低字节的最低位为?”,
高字节的最低位为?”?/p>
如果
当发送端发送的
PPP
数据帧的协议域字段不符合上述规定?/p>
则接收端会认为此?/p>
据帧是不可识别的?/p>
那么接收端会向发送端发送一?/p>
Protocol-Reject
报文?/p>
?/p>
该报文尾部将完整地填充被拒绝的报文?/p>
信息域缺省时最大长度不能超?/p>
1500
字节,其中包括填充域的内容,
1500
?/p>
节大小等?/p>
PPP
协议中配置参数选项
MRU
?/p>
Maximum Receive Unit
)的缺省值,
在实际应用当中可根据实际需要进行信息域最大封装长度选项的协商?/p>
信息域如
果不?/p>
1500
字节时可被填充,但不是必须的,如果填充则需通信双方的两端能
辨认出有用与无用的信息方可正常通信?/p>
协议域和信息域是需要合在一起看的,目前主要用到的协议类型有
LCP
?/p>
NCP
和普通的
IP
协议?/p>
而他们相对应的协议域字段则为
0×C021?/p>
0×8021
?/p>
0×0021?/p>
可以看到应证了这句话?/p>
也即是要求低字节的最低位为?”,高字节的最低位
为?”?/p>
而后面的信息根据不同协议包含了不同的报文内容?/p>