云计算运维

Windows Server 2003 - Windows Server 2019 系统工具,Linux系统脚本,Mysql、Nginx、PHP、Redis、K8S、Seafile、Weblogic 、Jenkins、DNS、DHCP、FTP、IIS、Zookeeper、Rabbitmq、Oracle、Tomcat、Mavrn等服务搭建维护,请关注我.

HDLC与PPP协议原理与配置_路由交换基础内容


广域网中经常会使用串行链路来提供远距离的数据数据传输,高级数据链路控制HDLC(High-level Data Link Control)和点对点协议PPP(Point to point Protocol)是两种典型的串口封装协议。

串行链路的数据传输方式:

串行链路中定义了两种数据传输方式:异步和同步。
异步传输是以字节为单位来传输数据,并且需要采用额外的起始位和停止位来标记每个字节的开始和结束。起始位二进制值为0,停止位二进制值为1。缺点:在这种传输方式下,开始和停止位占据发送数据相当大的比例,每个字节的发送都需要额外的开销。

同步传输是以帧为单位来传输数据,在通信时需要使用时钟来同步本段和对端的设备通信。DCE即数据通信设备,它提供一个用于同步DCE设备和DTE设备之间数据传输的时钟信号。DTE即数据终端设备,它通常使用DCE产生的时钟信号。

HDLC协议,高级数据链路控制

ISO制定的HDLC是一种面向比特的通信规则。HDLC传送的信息单位为帧。作为面向比特的同步数据控制协议的典型,HDLC具有如下特点:

  • 协议不依赖任何一种字符编码集;
  • 数据报文可透明传输,用于透明传输的”0比特插入法“易于硬件实现;
  • 全双工通信,不必等待确认可连续发送数据,有较高的数据链路传输效率;
  • 所有帧均采用CRC校验,并对信息帧进行编号,可防止漏收或重收,传输可靠性高;
  • 传输控制功能与处理功能分离,具有较大的灵活性和较完善的控制功能;

HDLC有三种类型的帧:

  1. 信息帧:用于传送有效信息或数据,通常简称为I帧
  2. 监控帧:用于差错控制和流量控制,通常称为S帧
  3. 无编号帧:用于提供对链路的建立、拆除以及多种控制,简称U帧
[RTA]int S0/0/1
[RTA-Serial0/0/1]link-protocol hdlc 
Warning: The encapsulation protocol of the link will be changed. 
Continue? [Y/N]:y 
[RTA-Serial0/0/1]ip add 10.0.1.1 30

思路:只需在串行接口视图下运行 link-protocol hdlc 命令就可以使能接口的HDLC协议。华为设备的串行接口默认运行PPP协议,用户必须在串行链路两端的端口配置相同的链路协议,双方才能通信。RTB对应配置IP地址和协议模式。

HDLC接口地址调用:


[RTA]int LoopBack 0
[RTA-LoopBack0]ip address 10.1.1.1 32
[RTA-Serial0/0/1]link-protocol hdlc 
[RTA-Serial0/0/1]ip address unnumbered interface LoopBack 0
[RTA]ip route-static 10.1.1.0 24 S0/0/1
[RTA]dis ip interface brief
......
LoopBack0                         10.1.1.1/32          up         up(s)     
Serial0/0/1                   

思路:loopback接口总是处于活跃状态,可提供稳定可用的IP,串行接口借用lookback接口IP和对端建立连接,并且在内部需要配置静态路由,使RTA能够转发数据到10.1.1.0/24网络。可以看到dis ip int brief 证明借用成功。


PPP协议主要用于在全双工的同异步链路上进行点到点的数据传输。


PPP协议有以下优点:

  • 既支持同步传输又支持异步传输,而X.25、FR等数据链路层协议仅支持同步传输,SLIP仅支持异步传输。
  • 具有很好的扩展性,例在以太网承载PPP可以扩展为PPPoE。
  • 提供了LCP协议,用于各种链路层参数的协商。
  • 提供了NCP协议,用于各网络层参数的协商,更好的支持网络层协议
  • 提供了认证协议,CHAP、PAP、更好的保证了网络的安全性
  • 无重传机制,网络开销小,速度快。
    PPP包含两个组件:链路控制协议(LCP):用来建立、拆除和监控PPP数据链路,网络层控制协议(NCP):用于不同网络层协议进行连接建立和参数协商。

认证方式:一种是PAP,一种是CHAP。相对来说PAP的认证方式安全性没有CHAP高。PAP在传输password是明文的,而CHAP在传输过程中不传输密码,取代密码的是hash(哈希值)。PAP认证是通过两次握手实现的,而CHAP则是通过3次握手实现的。PAP认证是被叫提出连接请求,主叫响应。而CHAP则是主叫发出请求,被叫回复一个数据包,这个包里面有主叫发送的随机的哈希值,主叫在数据库中确认无误后发送一个连接成功的数据包连接。

PPP认证模式-PAP:


[R1]aaa
[R1-aaa]local-user huawei password cipher huawei123   --创建本地用户huawei,密码huawei123,cipher表示密码信息加密
[R1-aaa]local-user huawei service-type ppp  --设置huawei为ppp用户
[R1-Serial0/0/1]link-protocol ppp
[R1-Serial0/0/1]ppp authentication-mode pap  --在认证方开启PAP认证功能,要求对端使用PAP认证
[R1-Serial0/0/1]ip add 10.1.1.1 30

[R2]interface Serial0/0/1
[R2-Serial0/0/1]link-protocol ppp
[R2-Serial0/0/1]ppp pap local-user huawei password cipher huawei123  --被认证方配置PAP使用的用户和密码
[R2-Serial0/0/1]ip address 10.1.1.2 30

<R2>debugging ppp pap all   ---配置验证

原理:①PAP认证协议两次握手认证协议,密码以明文方式在链路发送。②LCP协商完成后,认证方要求被认证方使用PAP进行认证。③被认证方将配置的用户和密码使用Authenticate-Request报文已明文方式发送给认证方。④认证方收到被认证方的用户和密码之后,根据本地配置用户和密码数据库检查用户和密码信息是否匹配,若匹配,则返回Authenticate-Ack报文,表示认证成功。否则Authenticate-Nak报文,标识认证失败。

PPP认证模式-CHAP:


[RA]aaa
[RA-aaa]local-user huawei password cipher huawei123
[RA-aaa]local-user huawei service-type ppp
[RA-Serial0/0/1]link-protocol ppp  --设置huawei为ppp用户
[RA-Serial0/0/1]ppp authentication-mode chap  --开启CHAP认证功能,要求对端使用CHAP认证
[RA-Serial0/0/1]ip add 10.1.1.1 30

[RB-Serial0/0/1]link-protocol ppp
[RB-Serial0/0/1]ppp chap user huawei
[RB-Serial0/0/1]ppp chap password cipher huawei123  --在认证方开启PAP认证功能,要求对端使用PAP认证

总结:

发送端在发送configure-request之后,收到哪个消息才能表示PPP链路建立成功?
如果使用PPP作为链路层封装协议,需要建立PPP链路的两端设备都必须发送Configure=Request报文,当每个设备均已收到对端发送来的Configure-Ack报文后,就表示链路的建立过程已成功完成。

CHAP认证方式需要交互几次报文?
CHAP认证协议为三次握手认证协议,需要交互三次报文来认证对方身份。

  • 分享:
评论
还没有评论
    发表评论 说点什么