#|计算机网络之数据链路层(2、透明传输、封装成帧(字符填充、零比特填充、违规编码、字符计数))


数据链路层:2、封装成帧、透明传输

  • 封装成帧的定义:
  • 透明传输的定义:
  • 为了实现透明传输的组帧方法:
    • 字符计数法:
    • 字符填充法:
    • 零比特填充法:
    • 违规编码法:
    • 四种方法的比较:

封装成帧的定义: #|计算机网络之数据链路层(2、透明传输、封装成帧(字符填充、零比特填充、违规编码、字符计数))
文章图片

帧的数据部分 = IP数据报的长度 <= 最大传输单元MTU
透明传输的定义: 【#|计算机网络之数据链路层(2、透明传输、封装成帧(字符填充、零比特填充、违规编码、字符计数))】#|计算机网络之数据链路层(2、透明传输、封装成帧(字符填充、零比特填充、违规编码、字符计数))
文章图片

为了实现透明传输的组帧方法: 字符计数法: #|计算机网络之数据链路层(2、透明传输、封装成帧(字符填充、零比特填充、违规编码、字符计数))
文章图片

用第一个字节标识帧的长度
但是会出现一个问题,当第一个帧的计数字段出错时,后续的所有帧都会错位
字符填充法: #|计算机网络之数据链路层(2、透明传输、封装成帧(字符填充、零比特填充、违规编码、字符计数))
文章图片

就是在帧的开始部分和结束部分分别加上一个开始字段和结束字段
但是这样会产生一个问题,当传输的帧是非ASCALL的文件时,若数据部分有和开始字段或结束字段相同的字段怎么办?这个时候就需要字符填充法进行透明传输
#|计算机网络之数据链路层(2、透明传输、封装成帧(字符填充、零比特填充、违规编码、字符计数))
文章图片

就是在数据中出现的与开始和相同的字段是,在其前面加上转义字符ESC,接收方收到数据后,发现前面有ESC就知道这是数据而不是控制字段,同时将ESC去掉还原出原来的数据
零比特填充法: #|计算机网络之数据链路层(2、透明传输、封装成帧(字符填充、零比特填充、违规编码、字符计数))
文章图片

违规编码法: #|计算机网络之数据链路层(2、透明传输、封装成帧(字符填充、零比特填充、违规编码、字符计数))
文章图片

四种方法的比较: #|计算机网络之数据链路层(2、透明传输、封装成帧(字符填充、零比特填充、违规编码、字符计数))
文章图片

    推荐阅读