1.HDLC产生背景(源于SDLC)
1974年IBM推出了著名的体系结构SNA,SNA中数据链路层规程采用了面向比特的规程SDLC(早期的IMP-IMP和BSC规程都是面向字符的,即链路上所传送的数据必须是有规定的字符集(例如ASCII码)中的字符所组成)。后来OSI把SDLC修改成为HDLC(High-Level Data Link Control)高级数据链路控制。
2。HDLC帧的结构
我们知道,网络层交下的分组,变成数据链路层的数据,若采用HDLC格式对分组封装,则下图中的信息字段即为网络层交下来的分组。数据链路层在帧的首尾各加上24bit的控制信息后构成了一个完整的帧。
如图:标志字段F(flag)为01111110,共8个bit,标识一个帧的开始和结束,作为帧的边界,解决比特同步。
帧检验序列FCS字段共16bit,校验范围是从地址字段的第1个bit起,到信息字段的最末1个bit为止,注意包含控制字段和信息字段,帧检验序列FCS参照循环冗余检验原理CRC。
控制字段C共8bit,最复杂的字段。HDLC许多重要的功能都靠控制字段来实现,根据其前面两个bit的取值,可将HDLC帧划分为三大类,即信息帧(控制字段的第1bit为0时)、监督帧(控制字段的第1-2bit为1 0时)和无编号帧(控制字段的第1-2bit都是1时)
3。点对点协议PPP
现在使用最多的数据链路层协议
PPP帧的前3个字段和后两个字段和HDLC的格式相同,但地址字段和控制字段都是固定不变的,分别是0XFF和0X03,这两个字段的值可在以后进行定义。PPP不是面向比特的,因此所有的ppp帧的长度都是整数个字节
与HDLC不同的是PPP的帧格式和HDLC的相似。与HDLC不同的是多了2个字节的协议字段。当协议字段为0x0021时,信息字段就是IP数据报。若为0xC021,则信息字段是链路控制数据,而0x8021表示这是网络控制数据。PPP不提供使用序号和确认的可靠传输。PPP工作在网络层与数据链路层中,包括NCP与LCP协议。NCP是在第三层用于局域网中的多协议封装,LCP用于第二层的广域网链路控制协议。