PPP ( Point-to-Point Protocol )

 
·PPP基于开放式标准,并包括各种功能,这使它成为拨号连接和专用WAN连接的事实标准。
 
·功能:身份验证、回拨、数据压缩、多链路捆绑。
 
·PPP是一种基于ISO的高级数据链路控制(ISO-HDLC)的WAN协议
 工作在物理层和数据链接层。
 
·Serial Line Internet Protocol (SLIP) 
 Apple Remote Access Protocol (ARAP)
 
·在Cisco路由器上,ISDN和Serial默认封装都是HDLC,但Cisco HDLC与其他厂商的HDLC不兼容,因为它使用了网络层协议标识符字段。
 而PPP是遵循开放标准,因此总是兼容的。
 
·在2层封装数据报文:这是基于ISO HDLC协议而不是Cisco HDLC
·链路控制协议(LCP):负责建立、配置和测试数据链路连接
·网络控制协议(NCP):负责建立和配置各种网络层协议(IP/IPX/AppleTalk)
 
·协议字段:指出第3层协议(如IP或IPX)
 LCP字段:使得PPP的功能得以实现。
 
·定义地址池:
 R2(config)#ip local pool ADD 10.1.1.1 10.1.1.100 
 
 将预先定义的IP地址分配给远程拨入主机:
 R2(config-if)#peer default ip address 10.1.1.1
 R2(config-if)#peer default ip pool ADD
 
 允许拨入用户自己指定IP地址:
 R2(config-if)#async dynamic address
 
·PAP认证(PPP Password Authentication Protocol):
 主机和路由器之间,PAP是单向认证
 路由器之间,PAP是双向认证
 
<PAP认证>以明文方式发送密码
 
1)在R2和R4的Serial0:
 R2/R4(config-if)#encapsulation ppp
 
2)为对方建立用户名&密码
 R2(config)#username R4 password R4 对方必须这个用户名和密码发给我才行
 R4(config)#username R2 password R2
 
3)在接口启用PAP认证:
 R2/R4(config-if)#ppp authentication pap 
 
4)发送对方为自己建立的用户名&密码:
 R2(config-if)#ppp pap sent-username R2 password R2
 
测试:
两边开启debug ppp authentication 
 
 
<CHAP认证>(Challenge Handshake Authentication Protocol)
 
1)在R2和R4的Serial0:
 R2/R4(config-if)#encapsulation ppp
 
2)建立用户名&密码:
 用户名:对方的hostname(完全一致,区分大小写)
 密 码:双方要一致(注意空格,区分大小写)
 R2(config)#username R4 password cisco
 R4(config)#username R2 password cisco
 
3)在接口启用CHAP认证:
 R2/R4(config-if)#ppp authentication chap
 
扩展:
 R2(config)#username R3 password cisco
 R4(config-if)#ppp chap hostname R3
如果R2定义错了用户,那在R4上一定要指明发送的hostname
 
---------------------------------
 
·PPP的压缩特性:
 1)Predictor:先判断数据是否已被压缩过,如压缩过,立刻发出。
 2)Stacker:对每种数据类型,只发送一次该数据在数据流中的位置,接收方根据此信息重组数据流。
 3)MPPC:此协议能够让Cisco路由器与Microsoft客户端交换压缩后的数据。
 4)TCP报头压缩:只用于压缩TCP报头。
 
·1为内存密集型  (如果网络瓶颈为路由器负载过高)
 2为CPU密集型  (如果网络瓶颈为线路带宽不限)
 
·Cisco建议在CPU负载超过65%时禁用压缩功能。
 R2#show processes cpu
 
R2(config-if)#encapsulation ppp
R2(config-if)#compress [predictor | stac | mppc](双方都要执行压缩命令)
R2#show compress  
R2(config-if)#ip tcp header-compression 
R2(config-if)#ip tcp header-compression passive
 仅当从对方收到压缩后的报头后,才使用TCP报头压缩。
 
<多链路PPP(MLP)>
 
·将第3层数据进行分段,通过多条链路来传输数据,提高系统之间的吞吐量。
 MLP将数据分段,而不是将完整的数据分配给各链路传输。
 
·MLP解决了多条链路进行负载均衡的几个问题:
 1)多厂家的互操作性
 2)数据分段,降低数据传输延迟
 3)解决数据排序和负载的计算。
 
1)在R3/R5的4个Serial口:(先shutdown)
 R3(config-if)#encapsulation ppp
 R3(config-if)#ppp multilink 
 
2)建立虚拟模板:
 R3(config)#interface virtual-template 1
 R3(config-if)#ip address 24.1.1.2 255.255.255.0
 R3(config-if)#ppp multilink 
 
3)激活虚拟模板:
 R3(config)#multilink virtual-template 1
 
R3#show ip route 
R3#show ip int brief 
R3#show interfaces virtual-access 3
用ping 做测试。
 
 
2600―――――――――――――――――――――――――――――――――――――
1)R3&R4 4个Serial
 R3(config-if)#encapsulation ppp
 R3(config-if)#ppp multilink 
 
2)R3(config)#interface multilink 3
  R3(config-if)#ip address 35.1.1.3 255.255.255.0
  R3(config-if)#ppp multilink group 3 (必须和multilink 3一样)
 
3)物理接口加入这个Group3
  ppp multilink group 3