点对点信道的数据链路层协议要解决三个基本问题:
帧定界(framing)就是从传送的比特流中正确地区分出帧的边界
帧定界采用的几种方法:
字节填充法 采用一些特定的控制字符来定界一帧的开始和结束。
当PPP使用异步传输时,我们使用0x7D(01111101)作为转义符,转义的规则如下:
在字节填充法中,采用字节填充技术。被填入的字节是转义字节(ESC)。
比特填充法 采用一特定的比特组合01111110来定界一帧的开始和结束,是目前最常用的方法。
采用“零比特插入、删除”技术来解决传送的数据信息中出现特定比特组合的问题。
零比特填充相较字节填充要简单得多,0x7E的二进制表示是01111110,因此只要在每出现5个1时插入一个0就可以避免在数据中出现0x7E.
字节计数法 采用一特定字符来表示一帧的开始,随后使用一个字节计数字段指明该帧所要求传输的字节数。
此法仅应用于DDCMP规程中,存在的问题在于字节计数值在传输过程中出现错误,就无法确定帧的结束边界。
非法比特编码法 采用非法编码作为帧的边界。
此法仅适用于物理媒体上采用特定比特编码的场合。例如,在局域网中采用双相码传输时,每个码元的中点都存在电平跳变。显然,对于码元中点不发生电平跳变的比特编码就属于非法比特编码,这种非法比特编码就可用作帧的定界
透明传输是指不管链路上传输的是何种形式的比特组合,都不会影响数据传输的正常进行。
采用字节填充技术的透明传输举例
若传送的数据中出现控制字符,则采用插入一个转义字符“ESC”(1BH)来解决。如果转义字符也出现数据当中,应在转义字符前面再插入一个转义字符。在接收端应删除其插入的转义字符
数据信号在传输过程中可能会产生差错:1 可能会变成 0 ,而 0 也可能变成 1。
误码率 BER (Bit Error Rate)是衡量传输差错的度量指标。该指标表示:在一段时间内,传输错误的比特占所传输比特总数的比率。
误码率与信噪比有着很大的关系。为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。循环冗余检验CRC是数据链路层被广泛采用的一种差错检测技术。
注意
数据链路层协议使用了下面的字符编码:A:01000111 B:11100011 FLAG:01111110 ESC:11100000。为了传输一个包含4个字符的帧:A B ESC FLAG,试问使用下面哪种成帧方法时所发送的比特序列是什么(二进制表示)?(1)字节计数(2)字节填充的标志字节(3)比特填充的标志字节
字节计数法需要帧的长度信息,也就是需要用同样的长度和二进制来表达对应的总共的字节的数量,所以是4,所以一共需要发送5个字节。
FLAG是起始、结束标志。也就是必须在开头和结尾之中加上对应的转义符号,然后对于其中本身已经是转义符号的东西还要在前面加上另外的转义符号,所以一共是加上了2个esc和两个flag
比特填充方法就是数据中若遇到连续5个1则在其后添加0,然后本身还要有flag的结束和开头。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。