PPP协议介绍-阿里云开发者社区

开发者社区> 云计算> 正文
登录阅读全文

PPP协议介绍

简介:
PPP协议介绍
 
用户接入Internet,在传送数据时都需要有数据链路层协议,其中最为广泛的是串行 线路网际协议(SLIP)和点对点协议(PPP)。由于SLIP具有仅支持IP等缺点,主要用于低速(不超过19.2kbit/s)的交互性业务,它并未成为Internet的标准协议。为了改进SLIP,人们制订了点对点PPPPoint-to-Point Protocol)。RFC1661RFC1662RFC1663

       PPP三大成就:

1.明确地划分出一帧的尾部和下一帧的头部的成帧方式。这种帧格式也处理错误检测工作。

2.当线路不再需要时,挑出这些线路,测试它们,商议选择,并仔细地再次释放链路控制协议。这个协议被称为链路控制协议LCPlink control protocol)。

3.用独立于所使用的网络层协议的方法来商议使用网络层的哪些选项。对于每个所支持的网络层来说,所选择的方法有不同的网络控制协议NCPnetwork control protocol)。

PPP帧不仅能通过拨号电话线发送出去,而且还能通过SONET或真正面向位的HDLC线路(即路由器与路由器相连)发送出去。

一、PPP协议组成

PPP协议有三个组成部分:
1)一个将IP数据报封到串行链路的方法。PPP既支持异步链路(无奇偶校验的8比特数据),也支持面向比特的同步链路。
2)一个用来建立、配置和测试数据链路的链路控制协议LCPLink Control Protocol)。通信的双方可协商一些选项。在[RFC 1661]中定义了11种类型的LCP分组。
3)一套网络控制协议NCPNetwork Control Protocol),支持不同的网络层协议,如IPOSI的网络层、DECnetAppleTalk等。

二、PPP帧格式

PPP帧格式和HDLC帧格式相似,如图1所示。二者主要区别:PPP是面向字符的,而HDLC是面向位的。

1 PPP帧格式

    可以看出,PPP帧的前3个字段和最后两个字段与HDLC的格式是一样的。标志字段F0x7E0x表示7E),但地址字段A和控制字段C都是固定不变的,分别为0xFF0x03PPP协议不是面向比特的,因而所有的PPP帧长度都是整数个字节。

    HDLC不同的是多了2个字节的协议字段。协议字段不同,后面的信息字段类型就不同。如:

0x0021——信息字段是IP数据报

0xC021——信息字段是链路控制数据LCP

0x8021——信息字段是网络控制数据NCP

0xC023——信息字段是安全性认证PAP

0xC025——信息字段是LQR

0xC223——信息字段是安全性认证CHAP

    当信息字段中出现和标志字段一样的比特0x7E时,就必须采取一些措施。因PPP协议是面向字符型的,所以它不能采用HDLC所使用的零比特插入法,而是使用一种特殊的字符填充。具体的做法是将信息字段中出现的每一个0x7E字节转变成2字节序列(0x7D0x5E)。若信息字段中出现一个0x7D的字节,则将其转变成2字节序列(0x7D0x5D)。若信息字段中出现ASCII码的控制字符,则在该字符前面要加入一个0x7D字节。这样做的目的是防止这些表面上的ASCII码控制字符被错误地解释为控制字符。

三、PPP链路工作过程

当用户拨号接入ISP时,路由器的调制解调器对拨号做出应答,并建立一条物理连接。这时PC机向路由器发送一系列的LCP分组(封装成多个PPP帧)。这些分组及其响应选择了将要使用的一些PPP参数,接着就进行网络层培植,NCP给新接入的PC机分配一个临时的IP地址,这样PC机就成为Internet上一个主机了。
当用户通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址。接着LCP释放数据链路层连接,最后释放的是物理层的连接。
上述过程可用图2来描述。
2 PPP协议过程状态图

当线路处于静止状态时,并不存在物理层的连接。当检测到调制解调器的载波信号,并建立物理层连接后,线路就进入建立状态,这时LCP开始协商一些选项。协商结束后就进入鉴别状态。若通信的双方鉴别身份成功,则进入网络状态。NCP配置网络蹭,分配IP地址,然后就进入可进行数据通信的打开状态。数据传输结束后就转到终止状态。载波停止后则回到静止状态。

四、举例

路由器Router1Router2S0口均封装PPP协议,采用CHAP做认证,在Router1中应建立一个用户,以对端路由器主机名作为用户名,即用户名应为router2。同时在Router2中应建立一个用户,以对端路由器主机名作为用户名,即用户名应为router1。所建的这两用户的password必须相同。

 
设置如下:

Router1:

hostname router1

username router2 password xxx

interface Serial0

ip address 192.200.10.1 255.255.255.0

clockrate 1000000

ppp authentication chap

Router2:

hostname router2

username router1 password xxx

interface Serial0

ip address 192.200.10.2 255.255.255.0

ppp authentication chap









本文转自 linuxtro 51CTO博客,原文链接:http://blog.51cto.com/linuxtro/307241,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: