分享
 
 
 

点到点协议-PPP(1)

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

1.1 PPP概述

点到点协议(Point to Point Protocol,PPP)是IETF(Internet Engineering Task Force,因特网工程任务组)推出的点到点类型线路的数据链路层协议。它解决了SLIP中的问题,并成为正式的因特网标准。

PPP协议在RFC 1661、RFC 1662和RFC 1663中进行了描述。

PPP支持在各种物理类型的点到点串行线路上传输上层协议报文。PPP有很多丰富的可选特性,如支持多协议、提供可选的身份认证服务、可以以各种方式压缩数据、支持动态地址协商、支持多链路捆绑等等。这些丰富的选项增强了PPP的功能。同时,不论是异步拨号线路还是路由器之间的同步链路均可使用。因此,应用十分广泛。

1 PPP的层次结构

PPP支持各种类型的硬件,包括EIA/TIA 232、EIA/TIA 449、EIA/TIA 530、V.35、V.21等。只要是点到点类型的线路都可以运行PPP。在数据链路层,PPP通过LCP协议进行链路治理,相当于以太网数据链路层的MAC子层。而在网络层,由NCP为不同的协议提供服务。这里的NCP相当于以太网数据链路层的LLC子层。如图1所示。

图1 PPP的层次结构

2 PPP的功能

PPP主要完成了以下功能:

链路控制

PPP为用户发起呼叫以建立链路;在建立链路时协商参数选择;通信过程中随时测试线路,当线路空闲时释放链路等。PPP中完成上述工作的组件是链路控制协议LCP(Link Control Protocol,LCP)。

网络控制

当LCP将链路建立好了以后,PPP要开始根据不同用户的需要,配置上层协议所需的环境。PPP使用网络控制协议NCP(Network Control Protocol,NCP)来为上层提供服务接口。针对上层不同的协议类型,会使用不同的NCP组件。如对于IP提供IPCP接口,对于IPX提供IPXCP接口,对于APPLETALK提供ATCP接口等。

1.2 PPP过程

从开始发起呼叫到最终通信完成后释放链路,PPP的工作经历了一系列的过程。下面,是这一过程的描述。

当一个PC终端拨号用户发起一次拨号后,此PC终端首先通过调制解调器呼叫远程访问服务器,如提供拨号服务的路由器。

当路由器上的远程访问模块应答了这个呼叫后,就建立起一个初始的物理连接。

接下来,PC终端和远程访问服务器之间开始传送一系列经过PPP封装的LCP分组,用于协商选择将要采用的PPP参数。

假如上一步中有一方要求认证,接下来就开始认证过程。假如认证失败,如错误的用户名、密码,则链路被终止,双方负责通信的设备或模块(如用户端的调制解调器或服务器端的远程访问模块)关闭物理链路回到空闲状态。假如认证成功则进行下一步。

在这步骤中,通信双方开始交换一系列的NCP分组来配置网络层。对于上层使用的是IP协议的情形来说,此过程是由IPCP完成的。

当NCP配置完成后,双方的逻辑通信链路就建立好了,双方可以开始在此链路上交换上层数据。

当数据传送完成后,一方会发起断开连接的请求。这时,首先使用NCP来释放网络层的连接,归还IP地址;然后利用LCP来关闭数据链路层连接;最后,双方的通信设备或模块关闭物理链路回到空闲状态。

图2给出了上述过程的示意图。

图2 PPP过程

1.3 PPP帧格式

PPP帧格式以HDLC帧格式为基础,做了很少的改动。二者的主要区别是:PPP是面向字符的,而HDLC是面向位的。PPP在点到点串行线路上使用字符填充技术。所以,所有的帧的大小都是字节的整数倍。

图3中给出了PPP的帧格式。

图3 PPP的帧格式

PPP帧是以标准HDLC标志字节(01111110)开始和结束的。

接下来是地址字段,缺省情况下,被固定设成二进制数11111111,因为点到点线路的一个方向上只有一个接收方。

地址字段后面是控制字段,缺省情况下,被固定设成二进制数00000011。

因为缺省情况下,地址字段、控制字段总是常数。因此,这两部分实际可以省略不要(需要通过LCP进行协商)。

接下来是协议字段。用来标明后面携带的是什么类型的数据。其缺省大小为2个字节。但假如是LCP包,则可以是1字节。

接下来是数据字段。其长度可变,缺省最大长度为1500字节。

接下来是校验和字段,通常情况下是2个字节,但也可以是4字节。

1.4 LCP协商选项

LCP用来在通信链路建立初期,在通信双方之间协议功能选项。表1列出了其中主要的选项。它们是身份验证、压缩、回叫、多链路。

表1 PPP LCP协商选项

特 性

解释

协议

身份验证

链路建立成功前要求提供正确的密码

PAP,CHAP

压缩

在带宽有限的链路提供对数据的压缩功能

Predictor,Stacker, MPPC

回叫

由被叫方重新呼叫原呼叫发起方

Cisco Callback,MS Callback

多链路

需要的时候进行多链路捆绑、负载均衡

MP

1.5 LCP协商的其他选项

除了身份认证方法之外,PPP的LCP还提供了链路压缩、回叫、多链路捆绑等选项。

1 链路压缩

PPP协议运行在速率十分有限的点到点串行链路上。为了提高数据发送效率,可以采用对数据进行压缩后再传送的方法,我们将其称为链路压缩。

LCP支持以下一些链路压缩方法:Stac、Predictor、MPPC以及TCP头部压缩。不同的方法对CPU及内存的需求并不相同。有些需要更多的内存(内存密集型),有些则需要占用更多的CPU时间(CPU密集型)。压缩原理和效果也不相同。

Stac:Stac压缩算法基于Lempel-Ziv理论,它通过查找、替换传送内容中的重复字符串的方法达到压缩数据的目的。使用Stac压缩算法可以选择由各种硬件(适配器、模块等)压缩或者由软件进行压缩,还可以选择压缩的比率。Stac压缩算法需要占用较多的CPU时间。

MPPC:MPPC是微软的压缩算法实现,它也是基于Lempel-Ziv理论,也需要占用较多的CPU时间。

Predictor:Predictor—猜测算法通过检查数据的压缩状态(是否已被压缩过)来决定是否进行压缩。因为,对数据的二次压缩一般不会有更大的压缩率。相反,有时经过二次压缩的数据反而比一次压缩后的数据更大。Predictor算法需要占用更多的内存。

TCP头部压缩:TCP头部压缩基于Van Jacobson算法,该算法通过删除TCP头部一些不必要的字节来实现数据压缩的目的。

2 回叫

回叫又称为回拨,是指当通信一方拨号到另一方后,由另一方断开拨号连接并进行反向的拨号。

这对于从甲地到乙地的电话费大于从乙地到甲地的电话费的情形。这时,可以由甲方首先发起到乙方的呼叫连接,当乙方收到甲方的呼叫请求后,断开乙方的呼叫。然后,从乙方发起到甲方的回叫。甲方应答后,双方的通信链路就建立起来了。

回叫还有更安全的优点。因为乙方在回叫之前可以验证对方是否是合法用户,或者可以用口令数据库的方法或者可以用检验对方电话号码的方法。

3 多链路捆绑

LCP的多链路捆绑(MP)选项通过将通信两端之间的多条通信链路捆绑成一条虚拟的链路而达到扩充链路可用带宽的目的。

LCP的多链路捆绑可以在多种类型的物理接口上实现,包括异步串行接口、同步串行接口、ISDN基本速率接口BRI、ISDN主速率接口PRI。LCP的多链路捆绑也支持不同的上层协议封装类型,如X.25、ISDN、帧中继等。

限于篇幅,关于以上LCP协商选项的配置这里就不再具体介绍了。

2 PPP配置(Cisco)

2.1 PPP基本配置

1 封装

对于同步串行接口,默认的封装格式是HDLC(Cisco私有实现)。可以使用命令encapsulation ppp将封装格式改为PPP。如图4所示。

图4 PPP串行封装

当通信双方的某一方封装格式为HDLC,而另一方为PPP时,双方关于封装协议的协商将失败。此时,此链路处于协议性关闭(protocol down)状态,通信无法进行。如图5所示。

图5 两端路由器串行接口封装格式不一致

这时,在路由器RouterA与路由器RouterB的链路没有成功建立之前,路由器RouterA及RouterB的路由表将为空。

当路由器RouterA的串行接口Serial 0/0又改为封装成PPP协议时,双方的通信将恢复正常。如图6所示,是在路由器RouterA上产生的debug ppp events的输出。可以发现,成功地安装了此链路的路由条目。同时,系统提示该链路协议被激活,链路可用。

图6 命令debug ppp events的输出

同时,使用show ip route命令可以看到RouterA安装了两条路由条目,一条是到达网络192.168.0.0/24的一条直连路由,另一条是到达主机192.168.0.2/32的一条直连主机路由。如图7所示。

图7 命令show ip route的输出

当将路由器RouterA的Serial 0/0的封装格式再次改为HDLC时,命令debug ppp events将给出如图8所示的提示信息,提示该链路上的路由条目被删除。同时,系统通告该接口协议性关闭。

图8 命令debug ppp events的输出

同时,debug ppp negotiation的输出也表明了这一点,如图9所示。

图9 命令debug ppp negotiation的输出

2 autoselect

可以配置一个接口根据接收到的字符自动判定远程拨号用户协议类型并调用相应的处理过程。如图10所示。

图10 autoselect命令过程

例如,假如远程拨号用户使用PPP协议拨入线路,线路将检测到PPP帧的起始字符0x7E(01111110),并调用PPP处理过程。又如,当线路检测到“回车”符后将开始一个Exec会话过程等。

autoselect命令答应线路被设置成可以接受多种类型协议的连接,如PPP、SLIP、ARAP等。以下是Autoselect命令的使用格式。

autoselect [arappppslipduring-login]

其中,命令中的during-login选项将提示用户输入用户名和口令而不需要按“回车”键(否则,一个会话过程将自动开始而不会给出用户名和口令的提示)。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有