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有三种类型的帧:
- 信息帧:用于传送有效信息或数据,通常简称为I帧
- 监控帧:用于差错控制和流量控制,通常称为S帧
- 无编号帧:用于提供对链路的建立、拆除以及多种控制,简称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认证协议为三次握手认证协议,需要交互三次报文来认证对方身份。