具体协议格式:https://wenku.baidu.com/view/9cfeb9d348649b6648d7c1c708a1284ac850052f.html
具体协议格式:https://wenku.baidu.com/view/ea065196dd88d0d233d46aea.html?sxts=1546442796740
pppd源码分析:http://blog.chinaunix.net/uid-29616823-id-4677284.html
ppp协议:https://tools.ietf.org/html/rfc1661#ref-2
一. ppp协议的三大组件
1. ppp协议的链路控制协议LCP
2. ppp协议的网络控制协议NCP
3. ppp的扩展协议(Multilink Protocol)
二、ppp帧格式
ppp数据帧所承载的几种常见报文,其中协议域为两个字节,用来指明信息域中承载的协议类型:
三、ppp状态转移图
四、LCP协议数据报文格式
五、LCP协议数据报文分类
六、链路配置报文举例
LCP报文中可以携带的配置选项
七、PAP两次握手
八、CHAP三次握手
9、NCP协议分类
9.1 IPCP
//-------------------------------------------------------------------------------------
1. ppp帧格式
ppp帧格式
| 帧头(7E) | 地址域(FF) | 控制域(03) | 协议 | 信息 | FCS | 结束(7E) |
字节 | 1 | 1 | 1 | 2 | <=1500 | 2 | 1 |
PPP采用7EH作为一帧的开始和结束标志(F);
地址域(A)和控制域(C)取固定值(A=FFH,C=03H) ;
协议域(两个字节)0021H表示IP分组,取8021H表示网络控制数据,取C021H表示链路控制数据;
帧校验域(FCS)也为两个字节,它用于对信息域的校验。
若信息域中出现7EH,则转换为(7DH,5EH)两个字符。当信息域出现7DH时,则转换为(7DH,5DH)。当信息流中出现ASCII码的控制字符(即小于20H),即在该字符前加入一个7DH字符。