一、PPP基础概念
PPP【Point to Point Protocol】属于链路层协议,不会因为IP的问题导致掉线,PPP的连接完全依靠数据链路层的MAC;
PP前身为SLIP【Serial Line Internet Protocol | 串行链路互联网协议】SLIP不支持DHCP,无法进行传输数据校验;
二、PPP的优点
- 支持同步或异步链路的传输
- 支持多种网络层协议(IP、IPX、MPLS、AppleTalk)
- 支持错误检测(校验和检测)
- 支持网络层地址协商; 支持用户认证(PAP、CHAP)
- 允许进行数据压缩(仅压缩载荷数据,不包含包头)
三、PPP的组成
PPP主要包括三个部分:
1. 物理层封装报文的方式(同步传输或异步传输)
2. 采用LCP【Link-Control Protocol | 链路控制协议】来建立、控制数据链路
用来建立、配置、维护、终止一条点对点链路;
LCP协议协商选项:
MRU【最大接受单元】
认证协议
链路压缩
多链路捆绑
3. 采用NCP【Network-Control Protocol | 网络控制协议】来支持多种网络协议
用来建立、配置不同的网络层协议(IPCP对应IP协议、IPXCP对应IPX协议)
IPCP协议协商选项
IP地址协商
TCP/IP头压缩
四、PPP帧格式
**0x7E:**标志字节,用来标示PPP帧的开始和结束,一个PPP帧只有一个0x7E(后面那个属于PPT演示添加的);
**0xFF:**地址域,无意义占位使用;
**0x03:**控制域,通常用0x03填充;
**协议域:**用来区分PPP数据帧中信息域所承载的数据报文内容:
**0xc021:**信息域中承载的时LCP协议数据报文;
**0xc203:**信息域中承载的时PAP协议的认证报文;
**0xc223:**信息域中承载的时CHAP协议的认证报文;
**0x8021:**信息域中承载的时NCP协议数据报文;
**0x0021:**信息域中承载的时IP协议数据报文;
**信息域:**根据协议域的内容而定,当协议域为LCP协议时,信息域内为LCP协商参数;如果协议域为NCP时,则为NCP的协商参数;当协议域为IP协议时,则为用户数据;
**帧校验:**帧校验和;
五、PPP认证协议
1. PAP认证【Password Authentication Protocol | 口令认证协议】
PAP是2次握手认证协议;
由被认证方主动发起认证请求;
所有的用户名及密码均使用明文传递;
2. CHAP认证【Challenge Handshake Authentication Protocol | 质询握手认证协议】
CHAP是3次握手认证协议;
由主认证方发起认证请求;
主/被双方互相验证;
密钥并不直接发送,而是使用3次握手过程中保持不变的ID值、主认证方随机生成的数据,以及双方共同知道的密钥合在一起,使用HASH的MD5进行加密,加密之后在发送