点到点
PPP配置实验
实验二 点到点协议PPP配置实验
【实验任务】
任务1:配置PPP协议的PAP认证实验
【选做】任务2:配置PPP协议的CHAP单向认证实验
【实验环境】
1(安装Windows操作系统的PC计算机。
2(Boson NetSim模拟仿真软件。
【实验原理】
点对点协议(Point-to-Point Protocol, PPP)是一个工作在数据链路层的广域网协议。它为路由器到路由器、主机到网络之间使用串行接口、通过同步链路或异步链路进行连接提供了OSI第二层的服务。例如利用Modem进行拨号上网就是使用PPP在异步链路上实现连接的功能(同步传输与异步传输是串行传输的两种不同方式。在路由器上,通常既提供同步传输的串行口如Serial接口,也提供异步传输口如AUX口与Console口)。
PPP由因特网工程任务组(Internet Engeineering Task Force,IETF)开发,目前已被广泛使用并成为国际
。PPP作为第二层的协议,在物理上可使用各种不同的传输介质,包括双绞线、光纤及无线传输介质;对网络层协议的支持包括多种不同的主流协议,如IP和IPX等。从这个意义上讲,有时可以将PPP视为TCP/IP协议族的一部分。
PPP的基本组件除了用于点对点链路的数据帧封装格式外,还包括了LCP与NCP协议。链路控制协议(Link Control Protocol, LCP)用于数据链路连接的建立、配置与测试,网络控制协议(Network Control Protocol, NCP)则是一组用于为不同的网络层协议建立支持和配置的协议,包括IPCP,IPXCP和BCP等。
PPP的连接一般要经历链路建立、链路质量协商、网络层协议选择和链路拆除4个阶段。在链路建立阶段主要是通过发送LCP帧来对链路进行相关的配置,包括数据的最大传输单元、是否采用PPP的压缩、PPP的认证方式等;链路质量协商阶段作为一个可选的阶段主要用于对链路质量进行测试,以确定其能否为上层所选定的网络协议提供足够的支持。另外,若连接双方要求采用安全认证,则也在该阶段按所选定的认证方式进行相应的身份认证;在网络层协议这个阶段通过发送NCP包来选择网络层协议并进行相应的配置,不同的网络层协议要分别进行配置;在第三个阶段完成后,即可在所建立的PPP链路上进行数据传输。任何时候只要用户请求或者由于链路故障,PPP的连接都会被终止。
尽管PPP的验证是一个可选项,但一旦选择了采用身份认证,则其必在网络协议分阶段之前进行。有两种类型的PPP验证,即口令认证协议(Password Authentication Protocol, PAP)与基于挑战的握手认证协议(Challenge Handshake
Authentication Protocol, CHAP)方式。PAP采用的是两次握手协议,远程节点提供用户名和密码,本地节点提供身份验证的确认或拒绝;用户名与密码对由远程网路节点不断地在链路上发送,直到验证被确认或被终结。密码在传输过程中采用的是明文方式,而且发送登录请求的时间和频率完全由远程节点控制,所以这种验证方式简单但易受到攻击。CHAP所使用的是3次握手的验证方式,本地节点提供一个用于身份验证的挑战值,远程节点根据所收到的挑战值计算出一个回应值发送回本地节点,若该值与本地节点的计算结果一致,则远程节点被验证通过。
显然一个没有获得挑战值的远程节点是不可能尝试登录并建立连接的,也就是说CHAP是由本地控制着登录的时间与频率,并且由于每次所发送的挑战值都是一个不可预测的随机变量,所以CHAP较之PAP更加安全有效。因此在通常情况下,更多采用的是CHAP验证方式。
任务1:配置PPP协议的PAP认证实验
【实验目的】
掌握在路由器serial接口上PPP封装以及实现PAP验证的配置方法,理解PAP验证的一般过程。
【实验设备和连接】
实验设备和连接如下图所示,通过V.35连接线把两台锐捷R1762路由器的Serial接口连接起来,路由器分别命名为R1、R2。
【实验内容】绘制实验拓扑图
利用Boson Network Designer绘制实验网络拓扑图,绘制好的拓扑图如下图所示。
步骤1:路由器基本配置:包括配置设备名、接口地址、启用接口;
R1的配置如下:
Router> enable
Password:
Router# config terminal
Router (config)# hostname R1 ~设备名为R1
R1(config)# interface serial 1/2 ~进入S1/2接口模式
R1(config-if)# ip address 172.16.10.1 255.255.255.0 ~配置S1/2接口IP地址
R1(config-if)# no shutdown ~启用S1/2接口
R1(config-if)# clock rate 64000 ~设置时钟(DCE)
R2的配置如下:
Router> enable
Password:
Router# config terminal
Router (config)# hostname R2 ~设备名为R2
R2(config)# interface serial 1/2 ~进入S1/2接口模式
R2(config-if)# ip address 172.16.10.2 255.255.255.0 ~配置S1/2接口IP地址
R2(config-if)# no shutdown ~启用S1/2接口
配置完成后,使用ping命令做连通验证(R1上执行ping 172.16.10.2,第一次ping)。
此时,在R1或R2上执行show interface命令查看接口状态,以R2为例:
R2# show interface serial 1/2
serial 1/2 is UP , line protocol is UP Hardware is PQ2 SCC HDLC CONTROLLER serial Interface address is: 172.16.10.2/24
MTU 1500 bytes, BW 2000 Kbit
Encapsulation protocol is HDLC, loopback not
Keepalive interval is 10 sec , set
Carrier delay is 2 sec
RXload is 1 ,Txload is 1
Queueing strategy: WFQ
5 minutes input rate 59 bits/sec, 0 packets/sec
5 minutes output rate 20 bits/sec, 0 packets/sec
373 packets input, 10828 bytes, 0 no buffer
Received 298 broadcasts, 0 runts, 0 giants
1 input errors, 0 CRC, 1 frame, 0 overrun, 0 abort
324 packets output, 14592 bytes, 0 underruns
0 output errors, 0 collisions, 15 interface resets
1 carrier transitions
V35 DTE cable
DCD=up DSR=up DTR=up RTS=up CTS=up 可以看出,Serial接口的默认封装协议是HDLC。
步骤2:配置接口封装为PPP
在R1上配置接口封装:
R1(config)# interface serial 1/2
R1(config-if)# encapsulation ppp ~配置接口封装为PPP
可以看到系统会有如下提示:
%LINE PROTOCOL CHANGE: Interface serial 1/2, changed state to DOWN
此时在R1上执行ping 172.16.10.2,结果如何,(第二次ping)
再在R2上配置接口封装:
R2(config)# interface serial 1/2
R2(config-if)# encapsulation ppp ~配置接口封装为PPP
可以看到系统会有如下提示:
%LINE PROTOCOL CHANGE: Interface serial 1/2, changed state to UP
仍然在R1上执行ping 172.16.10.2,结果如何,(第三次ping)
步骤3:配置R1为PAP验证方
PAP验证方的配置需要两步,执行如下:
R1(config)# username r2 password 0 star
~设置用户数据库,用户名:r2;加密类型:明文;口令:star
R1(config)# interface serial 1/2
R1(config-if)# ppp authentication pap ~配置R1为PAP验证方
可以看到系统会有如下提示:
%LINE PROTOCOL CHANGE: Interface serial 1/2, changed state to DOWN
此时在R1上执行ping 172.16.10.2,结果如何,(第四次ping)
步骤4:配置R2为PAP被验证方
PAP被验证方的配置如下:
R2(config)# interface serial 1/2
R2(config-if)# ppp pap sent-username r2 password 0 star
~PAP被验证方配置,发送用户名:r2;加密类型:明文;口令:star
可以看到系统会有如下提示:
%LINE PROTOCOL CHANGE: Interface serial 1/2, changed state to UP
仍然在R1上执行ping 172.16.10.2,结果如何,(第五次ping)
思考:在刚才执行的5次连通性
中~哪次没有ping通~解释分别不通
的原因,
步骤5:综合验证与调试
在R1或R2上执行show interface命令查看接口状态,仍然以R2为例:
R2# show interface serial 1/2
serial 1/2 is UP , line protocol is UP Hardware is PQ2 SCC HDLC CONTROLLER serial Interface address is: 172.16.10.2/24
MTU 1500 bytes, BW 2000 Kbit
Encapsulation protocol is PPP, loopback not set
Keepalive interval is 10 sec , set
Carrier delay is 2 sec
RXload is 1 ,Txload is 1
LCP Open
Open: ipcp
Queueing strategy: WFQ
5 minutes input rate 174 bits/sec, 0 packets/sec
5 minutes output rate 112 bits/sec, 0 packets/sec
565 packets input, 14043 by
Received 316 broadcasts, 0 runts, 0 giants
3 input errors, 0 CRC, 3 frame, 0 overrun, 0 abort
502 packets output, 16878 bytes, 0 underruns
0 output errors, 0 collisions, 22 interface resets
1 carrier transitions
V35 DTE cable
DCD=up DSR=up DTR=up RTS=up CTS=up 附注:BW:带宽,DLY:时延,HDLC:高级数据链路控制协议,DCD:数据载波寄存器,DSR:数
据段寄存器,DTR:数据传送寄存器,RTS:请求发送,CTS:清除发送
可以看出,Serial接口已经采用了PPP封装协议,LCP链路协商已经完成。
实验的最后,我们使用debug ppp命令来观察PAP认证的过程:
在R1和R2上分别执行debug ppp authentication命令:
R1# debug ppp authentication ~打开R1调试PPP认证开关
R2# debug ppp authentication ~打开R2调试PPP认证开关
如果要看到PAP认证的过程,需要再执行下面的操作:
任选两台路由器之一,以R2为例:
R2(config)# interface serial 1/2
R2(config-if)# shutdown ~关闭R2的S1/2接口
R2(config-if)# no shutdown ~重新启用R2的S1/2接口
随后,在R2上就可以看到PAP认证的过程的调试信息,内容如下:
PPP: serial 1/2 PAP ACK received
PPP: serial 1/2 Passed PAP authentication with remote
PPP: serial 1/2 lcp authentication OK!
在R1上也会有相应的调试信息。
思考:为什么在关闭后又重新启用接口时才会看到PAP验证过程的调试信息,之前为什么看不到任何PAP验证过程的信息,如果之前做了双向PAP验证配置又会如何,
【选做】任务2:配置PPP协议的CHAP单向认证实验
【实验目的】
使用CHAP认证方式对路由器serial接口上PPP进行验证,保证链路建立和网络安全性。理解CHAP验证的一般过程。
【实验设备和连接实验分组与任务1相同】
【实验内容】
步骤1:路由器基本配置和串口PPP封装参见任务1实验步骤1和步骤2,这里不再具体说明。
R1配置如下:
Router# config terminal
Router (config)# hostname R1
R1(config)# interface serial 1/2
R1(config-if)# ip address 172.16.10.1 255.255.255.0
R1(config-if)# encapsulation ppp
R1(config-if)# no shutdown
R1(config-if)# clock rate 64000
R2配置如下:
Router# config terminal
Router (config)# hostname R2
R2(config)# interface serial 1/2
R2(config-if)# ip address 172.16.10.2 255.255.255.0
R2(config-if)# encapsulation ppp
R2(config-if)# no shutdown
完成后,验证路由器Serial接口的连通性和PPP封装;
配置R1为CHAP验证方 步骤2:
R1(config)# username r2 password star
~设置用户数据库,用户名:r2;加密类型:缺省(明文);口令:star
R1(config)# interface serial 1/2
R1(config-if)# ppp authentication chap ~配置R1为CHAP验证方
可以看到系统会有如下提示:
%LINE PROTOCOL CHANGE: Interface serial 1/2, changed state to DOWN
步骤3:配置R2为CHAP被验证方
R2(config)# interface serial 1/2
R2(config-if)# ppp chap hostname r2 ~CHAP被验证方,发送主机名:r2;
R2(config-if)# ppp chap password star ~CHAP被验证方,发送口令:star;
可以看到系统会有如下提示:
%LINE PROTOCOL CHANGE: Interface serial 1/2, changed state to UP
注意:被验证方的发送主机名与口令要和验证方用户数据库的用户名与口令一致。
步骤4:综合验证与调试
首先使用ping命令验证连通;
而后在R1或R2上执行show interface命令查看接口状态,确定PPP封装,链路协商已
经完成(接口up,up)
最后使用debug ppp命令来观察CHAP认证的过程:
在R1和R2上分别执行debug ppp authentication命令:
R1# debug ppp authentication ~打开R1调试PPP认证开关
R2# debug ppp authentication ~打开R2调试PPP认证开关
同任务1中一样,在关闭后又重新启用接口时会看到CHAP验证过程的调试信息,内
容如下:
验证方R1(链路协商信息被略去,只保留CHAP的验证过程)
PPP: serial 1/2 Send CHAP challenge id=54 to remote host PPP: serial 1/2 CHAP response id=54, received from r2 PPP: serial 1/2 Send CHAP success id=54 to remote PPP: serial 1/2 remote router passed CHAP authentication. PPP: serial 1/2 lcp authentication OK!
被验证方R2(链路协商信息被略去,只保留CHAP的验证过程)
PPP: serial 1/2 Using CHAP hostname r2.
PPP: serial 1/2 recv CHAP challenge from R1 PPP: serial 1/2 username R1 not found in local router. PPP: serial 1/2 Using default CHAP password. PPP: serial 1/2 Passed CHAP authentication with remote. PPP: serial 1/2 lcp authentication OK!
你所看到的CHAP验证过程,回答下面的问
:
1)R2向R1发起连接呼叫,R1接口已经配置PPP CHAP验证,LCP协商使用CHAP
和MD5,在这次呼叫中,R1要向呼叫者R2发出CHAP挑战消息,其中该挑战消息的序列
号ID是多少,质询方的认证名(验证方的发送设备名)是什么,
2)R2接收R1发送的挑战消息后,在本地用户数据库查找哪个用户没有找到,而后才
使用默认的CHAP password出响应,这个口令是由那条命令建立的,
3)R1接收的响应消息包括序列号ID、发送设备名、R2处理挑战消息中的ID和随机
数与发送密码一起产生的散列编码,这里的序列号ID是多少,发送设备名是什么,散列编
码中的发送密码是什么,
4)R1根据接收的响应消息中的设备名查询本地用户数据库,找到对应的口令,并与之前发送挑战时保存的ID和随机数进行散列处理,将结果与响应消息中的哈希数比较,由于结果一致,发送验证成功的消息。在这里,验证成功的消息的ID是什么,本地用户数据库中找到的记录中用户名和口令分别是什么,这条记录是如何建立的,
【问题与思考】
1、PPP 主要组成部分。
2、广域网协议PPP?CHAP验证方法。