今天小编主要给大家介绍PPP,就是说点到点协议的基础知识,然后对PPP协议在思科路由器上的基本配置进行实例演示,在文章的后半部分就重点介绍PPP的两种验证方式。
(一)PPP概述
(1)HDLC封装协议
HDLC是思科路由器串行接口所默认的封装协议,因为串行线路在远距离通信中的所占的优势,一般情况下,远距离传输数据都使用串行线路,另外的计算机的内部通信都采用并行通信。标准的HDLC封装只可以支持单协议,就是说IP协议,思科对标准的DHLC进行改进,增加了协议域字段来支持多种网络层协议。即使改进后的DHLC是思科私有的,现在大多网络设备都可以使用它。
在"GNS3"中启动一台c3640路由器,保证这个路由器添加了串行接口模块,通过以下命令对串行接口默认的封装协议进行查看:
思科路由默认使用HDLC封装的原因是路由器之间用同步串行接口连接时,CiscoHDLC封装要比PPP封装效率高很多。但是,剩下的不一定都支持思科HDLC,这就是为什么在不同厂商设备混用的时候,最好采用PPP作为串口封装协议的原因了。
将串行接口的封装改成PPP:
(2)同步和异步串行通信
串行通信可以分为同步传输以及异步传输。
A.异步传输:异步传输是以字符为传输单位的,每个字符添加一位起始位以及一位停止位,可以用来标记一个字符的开始和结束。这种传输方式中,传输一个字符要附加2-3位,通信效率较低。这种传输方式发送方发出数据之后,可以不等待对方发回响应,然后发送下一个数据包。
B.同步传输:一般情况下,同步传输是以数据块为传输单位,每个数据块的头部和尾部都附加一个特殊的字符或者比特序列,标记一个数据块的开始和结束,通常还会附加效验序列,方便对数据块进行差错控制。该方式发送方发出数据后要等待接收方发回响应,再发下一个数据包。路由器的串行接口属于快速的同步接口,要在DCE端配置"时钟"来进行信号同步。
在需要配置时钟的接口中执行以下命令:
(3)PPP特点
PPP是IETF,即因特网工程任务组推出的点到点类型线路的数据链路层封装协议,支持以下几类物理接口:
A.同步串行接口
B.异步串行接口
C.高速串行接口(HSSI)
D.综合业务数字网(ISDN)
此外,PPP还广泛的应用在ATM以及以太网上。
PPP利用三个组件解决网际网络连接问题:
在点对点链路上使用高级数据链路控制(即HDLC)封装数据。PPP帧格式把HDLC帧格式作为基础,做一点改动。
使用链路控制协议(LCP)进行建立、设定和测试数据链路连接。
使用网络控制协议系列(NCPS)进行建立和设定不同的网络层协议。
(4)PPP分层体系结构
PPP分层体系架构是一个逻辑模型,下面是这一构架和OSI参考模型的对比:
点到点类型的线路都可以运行PPP,在数据链路层PPP通过LCP协议进行链路管理,就等于以太网数据链路层的MAC子层,在网络层NCP为不同协议提供服务,就等同于以太网数据链路层的LLC子层。
以下为PPP的LCP子层和NCP子层的简介:
A.LCP子层
LCP子层是位于物理层上,不仅有建立、配置和测试数据链路连接等功能,还提供以下功能;
身份验证:提供PAP以及CHAP验证。
压缩:将需要传输的数据先压缩然后传输。支持Stac、Predictor、MPPC以及TCP头部压缩。
错误检测:可以确保链路的质量。
多链路:可以实现链路的负载均衡。
PPP回拨:能提高安全性和节约用户拨号费用。
B.NCP子层
在LCP把链路建立好之后,PPP就根据不同用户的需要配置上层协议所需环境,NCP被用来为上层服务提供服务接口,针对不同的上层协议NCP提供不同的服务组件。
(5)PPP会话建立过程
从开始发起呼叫到最终通信完成,PPP后释放链路要经历以下四个步骤:
第一步:链路的建立以及配置协商,由LCP主要完成,通信的发起方发送LCP帧来配置和检测数据链路。
第二步:链路质量检测(可选),属于LCP的可选功能,主要是测试链路的质量能否满足要求。
第三步:网络层协议的配置阶段,重要的是NCP的功能,通信双方交换一系列NCP分组来配置网络层,NCP配置好之后双方的逻辑通信链路就完成了。
第四步:链路终止,在数据传送完成之后,亦或是一些外部事件发生的时候,一方会发起断开连接的请求,然后,使用NCP来释放网络层的链接,再使用LCP来关闭数据链路层的链接,最后双方的通信设备关闭物理链路。
(6)PPP身份验证协议
PPP有两种可选的身份验证协议PAP和CHAP。
A.PAP(即密码验证协议)
这是两次握手协议,采用的是明文传输方式传输用户口令,验证步骤如下:
首先,被验证方发起验证请求,把本地配置的用户名和密码用明文的方式发送给验证方,验证方接收到验证请求后检查此用户名和密码有没有正确(注意:在验证方的数据库中也配置有此用户名和密码),正确的话就发回接受报文,错误的话就发送拒绝报文;该方式是采用明文传输,很容易被破解。
B.CHAP(即挑战握手验证协议)
这是三次握手协议,它在网络上只能传输用户名,密码没有在网络上传输,以下为CHAP验证示意图:
以下为CHAP的验证过程:
在PPP链路建立阶段完成之后,R1作为被验证方拨入,验证方R2主动发起验证挑战"Challenge",挑战报文中"01"是序列号;R2上会有多个拨入请求,"ID"用来识别是哪个拨入者发起的挑战;"Random"是一个随机数;"R2"是发起挑战路由器的名字。
验证方收到验证方发来的请求之后,这个报文中的路由器名为R2,在本地数据库中找到R2对应的密码,要是找到对应的密码,就用验证方发送过来的报文的ID和随机数加上本地数据库中找到的密码,以MD5算法生成一个"hash"值。
在生成hash后,把这个hash值、验证方R2发送过来的ID号以及本路由的名称R1,回给验证方R2。当中报文的序列号是"02","ID"是R2发送过来的ID不变,"hash"是R1计算以后得到的哈希值。
在R2接收到这个报文,利用报文中的ID值找到储存在本地数据库中的随机数,然后,根据发送过来的报文中路由器的名称(R1)找到本地数据库对应这个名称的密码,再利用ID、随机数、R1对应的密码使用MD5算法生成一个hash值,然后用这个hash值与R1发送过来的hash比较,同样的话验证就通过,发回序号是"03"的确认报文,要是不一样验证就会失败,发回序号是"04"的验证失败报文。
以上能看出,只要双方配置相同的验证密码,就能完成验证,这个密码是不会在链路上传输的,传输的只是一个随机数、一个ID值、路由器的名称以及发回的hash值。
(二)PPP基本配置
(1)配置PPP封装
在GNS3里配置下面这个简单拓扑:
R1和R2配置:
(2)配置压缩
配置压缩能够影响路由性能增加CPU负荷,要是需要传送的文件被压缩过,例如:ZIP,RAR等,不建议在路由上开启压缩:
(3)配置链路质量监控(LQM)
在这个阶段LCP测试链路并且决定链路的质量是否能满足第三层协议的需要,要是不可以满足,链路将会关闭。可以用以下命令来配置质量监控:
(4)配置链路负载均衡
PPP链路负载均衡(注意:多链路PPP,也称MP、MPPP、MLP或者是Multilink)允许包被分段,到对方的多条点对点线路上就被同时发送,配置命令如下:
(三)PPP验证配置
使用上图作为拓扑图进行PPP验证部分在GNS3中配置。
(1)PAP验证
R1配置:
R2配置:
在配置完成后,对R1和R2连通性进行检测,发现能正常通信,PAP不是路由器推荐的验证方式。
(2)CHAP验证
用CHAP验证配置本文中的拓扑:
R1配置:
R2配置:
配置完成之后,对双方可以通信进行测试。
此外,能用下面的命令查看PPP验证过程:
以上就是点到点协议的基础知识,还有关于对PPP协议在思科路由器上的基本配置进行实例演示以及PPP的两种验证方式的讨论了。如果希望能够学习到更多关于CCNA的内容,那就请继续关注我们的网站:编程学习网教育吧。