一、HDLC
前言
HDLC(High-level Data Link Control,高级数据链路控制)是一种面向比特的链路层协议。
(一)定义与历史背景
HDLC是由国际电信联盟(ITU)标准化的,它基于IBM公司早期的同步数据链路控制(SDLC)协议发展而来。
HDLC协议自1970年代中期起就开始被广泛使用,是最早的一批用于确保数据完整性和正确传输的协议之一。
(二)工作原理
帧结构:HDLC通过定义一套严格的帧结构来实现数据封装和差错检测。这种帧结构包括用于同步的帧定界符、地址信息、控制信息,以及数据本身和用于差错检测的循环冗余校验(CRC)等要素。
数据封装:数据封装过程包括将原始数据包装入HDLC帧结构中,这个过程开始于将数据放入信息字段。接着,根据通信的类型和需要,地址和控制字段被填充。一旦这些字段确定,现场总线控制系统(FCS)计算出来并附加在帧的末尾。最后,整个帧被帧起始和结束标志包围,形成一个完整的HDLC帧以供传输。
差错检测:HDLC使用CRC作为其主要的差错检测机制。CRC是一种基于多项式运算的错误检测方法,它可以检测数据传输过程中的常见错误类型,如位错误。
(三)类型与模式
类型:HDLC随着时间的推移发展出了不同的变体,以适应不同网络环境和需求,如标准HDLC、SDLC、PPP over HDLC、帧中继HDLC等。
模式:HDLC支持几种不同的操作模式,以适应各种通信需求。含正常响应模式(NRM)、异步平衡模式(ABM)和异步响应模式(ARM)。
(四)特点与优势
透明传输:HDLC不依赖于任何一种字符编码集,数据报文可以实现透明传输。
可靠性高:所有帧均采用CRC校验,对信息帧进行顺序编号,可防止漏收和重发。
传输效率高:在HDLC中,额外的开销比特少,允许高效的差错控制和流量控制。
适应性强:HDLC规程能适应各种比特类型的工作站和链路。
结构灵活:在HDLC中,传输控制功能和处理功能分离,层次清楚,应用非常灵活。
(五)应用场景
HDLC协议被广泛应用于各种网络和通信系统中,如局域网、广域网、物联网设备之间的通信、远程监控系统以及无线通信系统等。
HDLC作为一种高效、可靠的数据链路层协议,在这些场景中能够实现数据的可靠传输和安全通信。
(六)配置与使用
在配置HDLC时,首先需要确定要配置HDLC的网络接口,这通常是一个物理接口,如串行接口。
接着,在选定的接口上启用HDLC。大多数现代设备默认使用HDLC,因此这一步可能仅涵盖检查或确认当前使用的协议。
在多点设置中,可能需要配置地址字段来区分不同的终端。此外,还需要配置其他参数,如带宽限制、时钟速率等。
最后,确保接口处于激活状态。
二、PPP
前言
PPP(Point-to-Point Protocol)点对点协议是一种数据链路层通信协议,主要用于在点对点的链路上传输多种协议的数据包。
(一)定义与背景
PPP协议是广域网中通过串行链路来提供远距离数据传输的串口封装协议。它最初设计是为两个对等节点之间的IP流量传输提供一种封装协议,后来逐渐发展成为一种支持多种网络层协议、具有错误检测和流量控制功能、以及身份验证能力的通用数据链路层协议。
(二)协议组成
- 封装方法:PPP协议定义了对多种上层协议的封装方法,使得不同的网络层协议可以在同一条物理链路上传输。
- 链路控制协议(LCP):用于建立、协商、检测和终止数据链路连接。LCP可以自动检测链路环境,协商链路参数,如最大数据包长度、认证方式等。
- 网络控制协议(NCPs):一组网络控制协议,用于建立、协商不同的网络层协议。每个NCP对应一种网络层协议,用于协商网络层地址等参数。
(三)链路建立过程
- 静止阶段(Dead阶段):物理线路尚未建立完成,当检测到物理线路协商成功后,进入链路建立阶段。
- 建立阶段(Establish阶段):使用LCP协议建立、协商数据链路。协商内容包括最大接收单元MRU、认证方式、魔术字等选项。LCP参数协商成功后会进入Opened状态,表示底层链路已经建立。
- 认证阶段(Authenticate阶段):默认是不进行的,由链路双方协商执行。支持的认证协议有PAP(Password Authentication Protocol)和CHAP(Challenge Handshake Authentication Protocol)。认证成功后,链路进入网络层协议阶段;认证失败,则链路终止。
- 网络层协议阶段(Network阶段):进行网络层配置的交换、协商。通过NCP协商来选择和配置一个网络层协议并进行网络层参数协商。只有相应的网络层协议协商成功后,该网络层协议才可以通过这条PPP链路发送报文。
- 链路终止阶段(Terminate阶段):因物理线路中断、认证失败、协商失败等原因,链路进入终止阶段。如果所有的资源都被释放,通信双方将回到静止阶段,直到通信双方重新建立PPP连接。
(四)帧结构
- 标志域(Flag):固定为01111110,用于标识一个物理帧的起始和结束。
- 地址域(Address):点对点链路,固定全1,无实际意义。
- 控制域(Control):固定为00000011,与HDLC的控制域相区别。
- 协议域(Protocol):默认为16bit,特殊情况下可以压缩至8bit。用于指示PPP帧的协议类型,如LCP、PAP、CHAP等。
- 信息域(Information):固定1500字节,不足时进行填充。用于承载上层协议的数据包。
- 校验域(FCS):用于数据包完整性校验。
(五)认证协议
- PAP:简单的用户名+密码认证协议。在链路建立阶段完成后,链路一端向另一端发送用户ID和密码,另一端验证通过后返回链路建立消息,不通过返回链路中断消息。因PAP认证协议通过明文传输密码,易被监听、篡改、重放,因此仅用于短距离可信链路的认证。
- CHAP:提高了安全性。链路建立阶段完成后,由认证端向被认证主机发送“challenge”信息,约定hash算法。被认证主机将密钥hash后发送给认证端;认证端将本地密钥同样进行hash,比对hash后的值是否一致。一致则认证成功,链路建立;不一致则认证失败,链路断开。每间隔一段时间后,重复上述过程进行验证。CHAP协议无需明文传递密码,大幅提高了安全性。
(六)应用领域
- 宽带接入:如DSL和光纤接入。用户通过调制解调器或光纤调制解调器使用PPP协议与互联网服务提供商建立连接。
- 远程访问:企业和组织使用PPP协议提供远程访问服务,允许员工或用户通过拨号或VPN连接到内部网络。
- 移动通信:在移动设备和运营商的网络之间建立连接,实现数据传输和互联网访问。
- 无线通信:如Wi-Fi和蜂窝网络,用于建立用户设备和网络基站之间的连接。
- 网络路由:在网络路由器之间建立连接时,PPP协议也被用于传输数据和进行路由协商。
- 专线连接:一些专线连接场景也会采用PPP协议,用于实现安全、可靠的点对点数据传输。
结语
正面迎战吧
这正是你生来的目的
!!!