下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

PPP协议实例详解

作者:课课家教育     来源: http://www.kokojia.com点击数:2357发布时间: 2016-09-21 11:00:59

标签: cnna教程cnna基础cnna认证

软考,您想通过吗?一次通过才是硬道理

  今天小编主要给大家介绍PPP,就是说点到点协议的基础知识,然后对PPP协议在思科路由器上的基本配置进行实例演示,在文章的后半部分就重点介绍PPP的两种验证方式。

  (一)PPP概述

  (1)HDLC封装协议

  HDLC是思科路由器串行接口所默认的封装协议,因为串行线路在远距离通信中的所占的优势,一般情况下,远距离传输数据都使用串行线路,另外的计算机的内部通信都采用并行通信。标准的HDLC封装只可以支持单协议,就是说IP协议,思科对标准的DHLC进行改进,增加了协议域字段来支持多种网络层协议。即使改进后的DHLC是思科私有的,现在大多网络设备都可以使用它。

  在"GNS3"中启动一台c3640路由器,保证这个路由器添加了串行接口模块,通过以下命令对串行接口默认的封装协议进行查看:

PPP协议实例详解_cnna教程_cnna基础_cnna认证_课课家

  思科路由默认使用HDLC封装的原因是路由器之间用同步串行接口连接时,CiscoHDLC封装要比PPP封装效率高很多。但是,剩下的不一定都支持思科HDLC,这就是为什么在不同厂商设备混用的时候,最好采用PPP作为串口封装协议的原因了。

  将串行接口的封装改成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,在数据链路层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"是发起挑战路由器的名字。

  PPP链路建立阶段

  验证方收到验证方发来的请求之后,这个报文中的路由器名为R2,在本地数据库中找到R2对应的密码,要是找到对应的密码,就用验证方发送过来的报文的ID和随机数加上本地数据库中找到的密码,以MD5算法生成一个"hash"值。

  生成hash

  在生成hash后,把这个hash值、验证方R2发送过来的ID号以及本路由的名称R1,回给验证方R2。当中报文的序列号是"02","ID"是R2发送过来的ID不变,"hash"是R1计算以后得到的哈希值。

  生成hash

  在R2接收到这个报文,利用报文中的ID值找到储存在本地数据库中的随机数,然后,根据发送过来的报文中路由器的名称(R1)找到本地数据库对应这个名称的密码,再利用ID、随机数、R1对应的密码使用MD5算法生成一个hash值,然后用这个hash值与R1发送过来的hash比较,同样的话验证就通过,发回序号是"03"的确认报文,要是不一样验证就会失败,发回序号是"04"的验证失败报文。

  以上能看出,只要双方配置相同的验证密码,就能完成验证,这个密码是不会在链路上传输的,传输的只是一个随机数、一个ID值、路由器的名称以及发回的hash值。

  (二)PPP基本配置

  (1)配置PPP封装

  在GNS3里配置下面这个简单拓扑:

  配置PPP封装

  R1和R2配置:

R1和R2配置

R1和R2配置

R1和R2配置

  (2)配置压缩

  配置压缩能够影响路由性能增加CPU负荷,要是需要传送的文件被压缩过,例如:ZIP,RAR等,不建议在路由上开启压缩:

配置压缩

  (3)配置链路质量监控(LQM)

  在这个阶段LCP测试链路并且决定链路的质量是否能满足第三层协议的需要,要是不可以满足,链路将会关闭。可以用以下命令来配置质量监控:

配置链路质量监控

  (4)配置链路负载均衡

  PPP链路负载均衡(注意:多链路PPP,也称MP、MPPP、MLP或者是Multilink)允许包被分段,到对方的多条点对点线路上就被同时发送,配置命令如下:

配置链路负载均衡

  (三)PPP验证配置

  使用上图作为拓扑图进行PPP验证部分在GNS3中配置。

  (1)PAP验证

  R1配置:

R1配置

  R2配置:

R2配置

  在配置完成后,对R1和R2连通性进行检测,发现能正常通信,PAP不是路由器推荐的验证方式。

  (2)CHAP验证

  用CHAP验证配置本文中的拓扑:

  R1配置:

R1配置

  R2配置:

R2配置

  配置完成之后,对双方可以通信进行测试。

  此外,能用下面的命令查看PPP验证过程:

查看PPP验证过程

  以上就是点到点协议的基础知识,还有关于对PPP协议在思科路由器上的基本配置进行实例演示以及PPP的两种验证方式的讨论了。如果希望能够学习到更多关于CCNA的内容,那就请继续关注我们的网站:课课家教育吧。

赞(20)
踩(0)
分享到:
推荐查看
华为认证网络工程师 HCIE直播课视频教程