帧
数据链路层处理的PDU是 帧,帧由帧头、帧尾和载荷构成,载荷就是上层网络层送下来的分组/包(Packet)
数据链路层使用物理层提供的服务,物理层处理的是位流,数据链路层处理的是帧(数据链路层的PDU)
将原始的位流分散到离散的帧中,叫成帧
方法
字符计数法
带字节/字符填充的标志字节法
比特填充的比特标志法
物理层编码违例法
字符计数法
发方在每个帧头部中的第一个字段,标识该帧的长度,总共有多少字符数。
收方通过第一个字段,就知道这个帧有几个字符,在哪里结束该帧。
字符计数法成帧的特点
优点:简单
缺点:一旦出错,无法恢复,即无法再同步
很少被使用
字节填充的标志字节法
该方法考虑了错误之后重新同步的问题,让每一帧都用一些特殊的字节作为开始和结束
标志/标记 字节(flag byte)
当待传输的数据中就有标记字节时,在数据中出现的标记前加上转义符,收方可以根据标记前是否有转义符判断是数据还是真的帧界!
特点
字节填充的标记字节法 用于 PPP协议中
缺点:
容易造成帧界混淆——增加转义字节
解决办法:字节/字符填充法
帧只使用8位字符,任意比特数的帧长不合用
解决办法:采用比特填充的比特标记法
比特填充的标志比特法
这是一种面向二进制位的帧格式,把所有需传输的数据以比特位一字排开,并以特殊的位模式01111110作为帧标志,即一个帧的开始(同时标志前一个帧的结束)
当帧内容中出现一个与帧标志相同的位串01111110,则在5个1后插入一个0,即变成01111101,接收方将自动删除第5 个1后的0。这称为位填充法(零比特填充法),也称为透明传输。
如果由于干扰,一个帧没有正确接收,则可扫描接收串,一旦扫描到01111110,即新的一帧从此开始。即可以再同步
比特填充的标记比特法,可以传输任意比特数的帧了,同时,它的传输效率也比 字节填充的标记字节法要高。
举个极端的例子:要传输的数据中都是 标记,是100个标记字节,字节填充法,需要填充100个转义符,传输效率是50%,而同样的情况,比特填充法只需要在每个字节中多加1位,开销总共100位,,传输效率约是100*8/(800+100)=89%
物理层编码违例法
在物理层的编码方法中,有些冗余信号,没有出现在数据中,可用作帧界。
比如,在4B/5B编码中,4B被映射成5B传输,32个模式中,只用到16个,剩下的可以用作帧界。
又比如:在曼切斯特编码中,连续高电平或连续低电平可用作帧边界
这种方法的好处是,帧界用的是冗余信号,不会混淆,无需填充,传输效率高。