@zwh8800
2017-08-23T10:09:59.000000Z
字数 1497
阅读 191779
blog
归档
网络协议
ppp协议
ppp协议详解
ppp协议分为几个部分:LCP(链路控制协议)、NCP(网络控制协议)、认证协议(包括PAP协议和CHAP协议)、另外还有CCP(压缩控制协议)。
如下图所示:
ppp是一个分层结构。在底层,它能使用同步媒介(如ISDNH或同步DDN专线),也能使用异步媒介(如基于Modem拨号的PSTN网络)。
在数据链路层,PPP在链路层建立方面提供了丰富的服务,这些服务以LCP协商选项的形式提供。
在上层,PPP通过NCPs提供对多种网络层协议的支持。PPP对于每一种网络层协议都有一种封装格式来区别它们的报文。
2.帧结构
基本的ppp帧如下:
标记用于标记一个ppp帧的开始和结束。
地址域和控制域为固定值(0xff,0x03)
协议的可选值如下:
协议代码 对应协议
0XC021 LCP协议
0XC023 PAP协议
0XC223 CHAP协议
0X8021 IPCP协议
0X0021 IP协议
3.建立连接
PPP协商过程分为几个阶段:Dead阶段,Establish阶段,Authenticate阶段,Network阶段和Termintate阶段,在不同的阶段进行不同协议的协商.只有前面的协商出现结果后,才能转到下一个阶段,进行下一个协议的协商.
在建立连接时需要用到LCP和NCP协议(IPCP)。
这些协议都会用到编码和ID字段(其实也可以这样分,地址、协议、控制三个字段属于ppp协议,后面的属于LCP或NCP或IP自己的协议)
编码字段的含义如下:
编码值 对应含义
1 配置请求(Req)
2 接受配置(Ack)
3 配置请求接受,其他拒绝(Nak)
4 配置请求不认识或不被接受(Rej)
5 终止链接
6 终止确认
传输IP报文时,没有编码和ID字段,在协议字段之后直接就是IP报文。
4.验证
PAP验证,没啥好说的,客户端向服务器发送明文用户名和密码,服务器发回Acknowledge或Not Acknowledge
CHAP验证,比PAP验证安全,不明文发送密码。具体流程是这样:
更明了的图如下: