试验原理:

PPPpoint topoint)协议是广域网中使用的一种非常广泛的数据链路层协议,可以在点对点链路上封装多种网络数据报文(IPIPXAppleTalk),同时支持面向字符传输的异步串行链路和面向比特传输的同步串行链路,还支持IP地址的协商、用户认证功能、错误检测以及进行数据压缩功能,它最主要的目的是用简单的链路在两个节点之间传输数据,从而为各个主机和网络设备提供一种通用的网络互联解决方案。
 
试验目的:
1、 通过试验过程了解PPP链路的工作过程
2、 掌握PPP协议的基本配置
3、 配置PAPCHAP认证,并进行对比
4、 配置IP地址协商
5、 配置PPP数据压缩
 
试验网络拓扑:
 
 
试验步骤:
一、根据网络拓扑图配置被认证方(R1)和主认证方(R2)的各个串行接口(Serial)的IP地址并在S0/0接口上封装PPP协议。
注意:cisco路由器默认的接口封装协议是HDLC—High Level Data Link Control--高级数据链路控制协议,是ISO组织制定的一个标准化规程,它使用与点到点和点到多点的数据链路。而PPP协议由3个部分组成:协议封装方式—将网络层协议封装到串行链路的方法;LCP(链路控制)协议—与物理层相邻,主要配置和测试数据通信链路,其中用户认证(PAP和CHAP)就工作在LCP协议上;NCP(网络控制)协议—与网络层相邻,可根据不同的网络层协议,提供不同的网络控制协议(例如:提供给TCP/IP网络使用的IPCP网络控制协议,同是也是最常用的协议;提供给IPX网络使用的IPXCP网络控制协议等等)
配置完成之后,记得将串行接口shutdown,然后no shutdown,PPP链路就建立起来了。
clip_image002
clip_image004
 
在串行链路上封装完PPP协议之后,如果没有配置其它PPP参数(认证,IP地址协商等等),主认证方和被人证方是互通的。通过在R1上使用ping命令可以ping通R2(如果ping通返回5个感叹号;如果不通,就返回5个小数点。)
clip_image006
 
下面是PPP链路的建立和拆除过程,从链路不可用阶段开始当通信双方的两端检测到物理线路激活(通常是检测到链路上有载波信号)时,就会从当前这个阶段进入到下一阶段,链路建立阶段主要进行LCP相关协商(协商内容包括工作方式、认证方式、链路压缩等),协商完成之后则进入认证阶段,这些都是针对物理层而言的,而整个链路工作在数据链路层,使用的协议为LCP协议。认证通过之后,则进入网络协议阶段,通过一些网络控制协议对网络层协议进行协商。例如,利用IPX对网络层IP协议进行协商,协商的内容主要包括双方的IP地址等,这个是针对网络层而言的,使用的协议是NCP协议。当PPP链路出现载波丢失、认证失败或用户认为关闭链路等情况则进行链路终止阶段,PPP协议通过交换LCP的链路终止报文来关闭链路。
clip_image008
 
二、配置PAP认证
当接口封装为PPP协议之后,就可以配置PPP认证。其中,PAP认证就是其中的一种最简单的认证方式,只需要进行两次握手就可以建立起连接。
注意:PAP认证首先由被认证方(R1)发起认证请求,将自己的用户名和密码以明文的方式发送给主认证方(R2)。然后,主认证方接受请求,并在自己的本地数据库里查找是否有对应的条目,如果有就接受请求。如果没有,就拒绝请求。这种认证方式是不安全的,很容易引起密码的泄露,但是,相对于CHAP认证方式来说,更方便于应用。比如说现在的Internet拨号认证接入方式就是PAP认证。
首先配置主认证方,在主认证端添加被认证方的用户名RouterA和密码123456,password参数后面的0表示密码是为明文保存的,并在接口上启用PAP认证功能。
clip_image010
 
配置完主认证方(R2)之后,使用ping命令ping被认证方(R1)发现ping不通,原因很简单,是因为R1还没有在接口模式下配置PAP认证所需要的用户名和密码(在被认证端配置的用户名和密码必须与在主认证端配置的用户名和密码相同。相当于一些成绩查询系统,只有当你输入正确的考号和用户名,查询数据库(主认证方)才能显示出你的考试成绩)
clip_image012
 
在被认证端的接口模式配置PAP认证所需要的用户名RouterA和密码123456
clip_image014
 
在特权模式下,使用debug ppp ? 可以查看调试的内容,其中,debug ppp authentication 可以调试PAP和CHAP认证的建立过程,使用debug ppp negotiation可以查看到IP地址协商的过程,使用debug ppp packet可以检查ppp连接的状态和协商过程是否正确……
clip_image016
 
使用debug ppp authentication进行调试,首先shutdown掉R1的Serial0/0接口,然后再no shutdown,便可以看到主认证方(R2)PAP认证的整个过程。
clip_image018
 
三、配置CHAP高级认证
CHAP是Challenge Hand Authentication Protocol(质询握手认证协议)的简称,CHAP为3次握手认证协议,它只在网络上传送用户名而不传送口令,因此安全性被PAP要高。
CHAP的认证过程首先由主认证方(R2)发起认证请求。第一次握手:主认证方向被认证方发送一些随机产生的报文(Challenge),并同时将本端的用户名附带上一起发送给被认证方。第二次握手:被认证方接到主认证方的认证请求后,被认证方根据此报文中主认证方的用户名查找用户密码。如果在用户表中找到与主认证方相同的用户名,就说明可以接受对方的认证。然后利用报文ID、用户表中主认证方用户名对应的密码以及MD5算法对该随机报文进行加密,将生成的密文和自己的用户名发回给主认证方。第三次握手:主认证方接收到该报文后,根据此报文中被认证方的用户名,在自己的本地用户数据库中查找被认证方用户名对应的被认证方密码,利用报文ID、改密码和MD5算法对原随机报文进行加密,然后将加密的结果和被认证方发来的加密结果进行比较。如果两者相同,则认为认证通过,如果不同则认为认证失败。
 
主认证端CHAP配置:
和PAP认证一样,配置CHAP认证时也需要在主认证端添加被认证用户的用户名:RouterA和密码123456并在接口上启用CHAP认证功能,最后一句的意思是配置自己的用户名(默认情况下,路由器会使用自己的主机名(使用hostname命令配置的名称)作为用户名发送给对端。
clip_image020
 
被认证端CHAP配置:
被认证端在进行CHAP认证时,需要根据主认证端发送过来的用户名(RouterBB)来查找相应的密码来对随机报文进行加密。
下面的命令中,配置的用户名username应该为主认证端的用户名,代表被认证端接受主认证端相应的用户的认证;配置的密码password应该为被认证端自己的密码,此密码和在主认证端配置的密码必须相同。也可以使用ppp chap password 0 123456命令,此命令等同于suername RouterBB password 0 123456。使用此命令,被认证端在收到主认证端的认证请求后,将不判断请求中的用户名,而是直接使用此命令配置的密码来进行加密。
最后一条语句的意思是配置被认证端的用户名为RouterAA(区别于前面的RouterA)。
clip_image022
 
使用debug ppp authentication进行调试,首先shutdown掉R1的Serial0/0接口,然后再no shutdown,便可以看到主认证方(R2)CHAP认证的整个过程。
clip_image024
 
三、配置IP地址协商
PPP支持IP地址协商,整个过程建立在PPP的NCP阶段,当用户拨号上网时,通常由服务器为客户端分配一个动态IP地址。使用IP地址动态协商,有利于为拨号用户灵活分配IP地址。同时在PPP链路断开后,此IP地址还可以分配给其余用户使用,从而达到了节约IP地址的目的。如果不配置IP地址协商,双方只需要告诉对方自己的IP地址就可以了。
服务器端配置(主认证端R2):分配给对方一个10.0.0.10的IP地址
clip_image026
 
客户端配置(被认证端R1):配置本端IP地址由对端分配,注意要使用shutdown断掉PPP链路,然后再使用no shutdown再激活PPP链路,否则客户端(R1)得不到分配的IP地址。
配置完此条命令后,原先在接口上配置的IP地址将会被删除。当PPP连接建立后,就会由对端分配一个IP地址10.0.0.10给R1的serial 0/0接口。(注意:如果PPP连接被断开,分配到的IP地址将会被删除,接口又回到没有IP地址的状态。
clip_image028
 
使用show ip interface brief可以查看客户端(R1)的所有端口的状态,可以看到Serial0/0接口的IP地址为10.0.0.10,Methed为IPCP(可以看出,网络层使用的对应协议为TCP/IP)。
clip_image030
 
四、配置PPP压缩
 
配置Stac压缩
在接口上启用Predictor压缩需要消耗大量的路由器内存。如果路由器本身的内存比较小,请不要启用Predictor压缩
clip_image032
 
在接口上启用Stac压缩会占用很大部分的CPU资源来进行压缩的运算。如果路由器本身的负载就比较重(超过40%),请不要启用Stac压缩。
clip_image034
 
配置TCP头压缩
当在接口上启用了TCP头压缩之后,接口上快速转发功能将会被自动关闭。如果在某些快速线路上启用了TCP头压缩,将会造成路由器负载加重。因此TCP头压缩只适合低速链路上使用。
clip_image036
 
四、使用show interface serial 0/0命令可以查看到端口的配置信息。
1、Serial0/0 is up, line protocol is up 表示物理接口已经UP,数据链路层接口已经UP。
2、Encapsulation PPP,LCP Open表示接口封装的协议为PPP,状态为Open,协议正常工作。
clip_image038
 
使用debug ppp packet命令调试整个ppp链路的建立过程(其中配置了PPP认证(CHAP)功能,配置了IP地址协商)
clip_image040
clip_image042