本文共 3924 字,大约阅读时间需要 13 分钟。
PPP是在RFC1661中定义的,让不同厂商的WAN设备能够互操作。PPP是一种基于ISO的高级数据链路控制(ISO-HDLC)的WAN协议,运行在OSI模型的物理层和数据链路层。
对于很多第3层协议来说,其数据要通过拨号或专用链路在WAN上传输,必须由数据链路层协议对其进行封装。当前用于封装tcp/ip的数据链路层协议主要有两种:
SLIP:SLIP是用于使用TCP/IP协议的点到点串行连接的标准协议,是PPP的前身;
PPP:PPP通过同步电路和异步电路(拨号或专用线路)在路由器和路由器之间,主机和网络之间建立连接。
PPP是比SLIP更新的标准,它是拨号异步链路上的首选数据链路层封装。在cisco路由器上,异步拨号接口的默认封装是SLIP,因此要使用PPP,必须手工配置封装。
串行点到点线路传输ip数据报的方法:PPP和高级数据链路控制(HDLC)
在cisco路由器上,isdn接口和串行接口的默认封装威HDLC.虽然HDLC是默认封装,但cisco HDLC可能与其他厂商的HDLC封装不兼容,因为它使用了网络层协议标识符字段,PPP
的实现遵循的是开放标准,因此总是兼容的。所以,配置多个厂商环境下的串行链路时,选择使用PPP协议。
PPP的架构
PPP是一种非专用协议,它是由一系列被称为请求评论(RFC)的internet开放标准定义的。因此,PPP被称威基于标准的协议。
PPP还描述了下列技术
网络协议多路复用
链路配置
链路质量检测
身份验证
报头压缩
差错检测
链路选项协商
PPP包含下列功能组件:
在串行链路上封装数据报文的方法:这是基于ISO HDLC协议而不是cisco HDLC的。
链路控制协议(LCP):负责建立,配置和测试数据链路连接;
身份验证:确定用户的身份(通常根据用户名和密码);
网络控制协议(NCP):负责建立和配置各种网络层协议(如IP,IPX和AppleTalk)
PPP定义了LCP.LCP负责建立,配置和检测数据链路层连接。主机协商PPP连接时,它们交换LCP分组。这些分组让主机能够动态地协商链路选项,其中包括身份验证,数据压缩和MLP
LCP建立第2层连接后,NCP接着上场。主机之间交换NCP分组,以建立和配置各种网络协议,其中包括IP,IPX和AppleTalk。
NCP可建立和断开单条数据链路上的多个第3层协议会话,这种功能被称威协议多路复用。主机请求终止连接时,NCP拆除第3层会话,然后由LCP拆除数据链路。
PPP基本配置
1, 启用ppp
RouterTest#config terminal
Enter configuration commands, one per line. End with CNTL/Z.
RouterTest(config)#interface serial 0/0
RouterTest(config-if)#encapsulation ppp
RouterTest(config-if)#
2, 地址配置命令
RouterTest(config-if)#ip address 10.1.1.1 255.255.255.0
PAP配置实例
Router(config)#hostname RouterA
RouterA(config)#RouterB password itsasecret
RouterA(config)#interface Async 0
RouterA(config-if)#encapsulation ppp
RouterA(config-if)#ip address 10.0.0.1 255.255.255.0
RouterA(config-if)#dialer-map ip 10.0.0.2 name RouterB 5551234
RouterA(config-if)#username RouterA password itsasecret2
Router(config)#hostname RouterB
RouterB (config)#RouterA password itsasecret
RouterB (config)#interface Async 0
RouterB (config-if)#encapsulation ppp
RouterB (config-if)#ip address 10.0.0.2 255.255.255.0
RouterB (config-if)#dialer-map ip 10.0.0.1 name RouterA 5551234
RouterB (config-if)#username RouterB password itsasecret2
CHAP配置实例
Router(config)#hostname RouterA
RouterA(config)#RouterB password itsasecret
RouterA(config)#interface Async 0
RouterA(config-if)dialer in-band
RouterA(config-if)#encapsulation ppp
RouterA(config-if)#ppp authentication chap
RouterA(config-if)#ip address 10.0.0.1 255.255.255.0
RouterA(config-if)#dialer-map ip 10.0.0.2 name RouterB 5551234
RouterA(config-if)#username RouterA password itsasecret2
Router(config)#hostname RouterB
RouterB (config)#RouterA password itsasecret
RouterB (config)#interface Async 0
RouterB(config-if)dialer in-band
RouterB (config-if)#encapsulation ppp
RouterB (config-if)#ppp authentication chap
RouterB (config-if)#ip address 10.0.0.2 255.255.255.0
RouterB (config-if)#dialer-map ip 10.0.0.1 name RouterA 5551234
RouterB (config-if)#username RouterB password itsasecret2
同时启用CHAP和PAP
Router(config-if)#ppp authentication chap pap
配置PPP回拨
使用压缩
cisco支持的压缩方法:
Predictor:先判断数据是否已经被压缩过。如果数据被压缩过,则立即将其发送出去,而不浪费时间对已经压缩过的数据进行压缩。
Stacker:一种基于Lempel-Ziv(LZ)的压缩算法,对每种数据类型,只发送一次有关其在数据流中的位置。接收方根据这些信息重新组织数据流。
MPPC:MPPC协议(RFC2118)让cisco路由器器能够与microsoft客户端交换压缩后的数据,它使用一种基于LZ的压缩算法
TCP报头压缩:也叫Van Jacobson压缩,只用于压缩tcp报头。
配置压缩
Router(config)#interface serial2
Router(config-if)#compress {predictor|stac|mppc}
Or
Router(config)#interface async
Router(config-if)#ip tcp header-compression
Or
Router(config)#interface async
Router(config-if)#ip tcp header-compression passive
该命令告诉路由器,仅当从对方那里收到压缩后的报头后,才使用tcp报头压缩。
多链路PPP
通过使用多链路PPP,可以将多条连接捆绑成一条虚拟连接。
Router(config-if)#ppp multilink
Router(config-if)#dialer load-threshold load [outbound | inbound | either]
命令dialer load-threshol load指定在什么情况下将更多的B信道加入到MLP链路束中。当所有B信道的总负载超过指定的阀值后,拨号接口(BRI或PRI)将信道加入到多链路束中。
同样,如果总负载低于阀值,将拆除B信道。
参数load是接口的平均负载,其取值为1(没有负载)到255(满载)。
参数outbound(默认值)指定计算负载时只考虑出站数据流;参数inbound指定只考虑入站数据流;either指定计算负载时,选择出站负载和入站负载中较大的那个。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/312079/viewspace-245323/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/312079/viewspace-245323/