第3章 数据链路层

3.1 数据链路层的设计问题

数据链路层使用物理层提供的服务在通信信道上发送和接收比特。其完成的功能包括:
(1)向网络层提供一个定义良好的服务接口
(2) 处理传输错误
(3)调节数据流,确保慢速的接收方不会被快速的发送方淹没

3.1.1数据链路层提供的服务

服务包括:
(1) 无确认的无连接服务:以太网,
(2) 有确认的无连接服务
(3) 无确认的有连接服务

3.1.2 成帧

识别比特流开始和结束位置的方法:
(1)字节计数法
(2)字节填充的标志字节法
(3)比特填充的标志比特法
(4)物理层编码违禁法

3.1.3 差错控制

接收方反馈信息,计时器和序号使用

3.1.4 流量控制

解决发送方发送帧的速度超过了接收方能够接受这些帧的速度的方法:
1. 基于反馈的流量控制(feedback-based flow control),接收方给发送方返回信息,允许它发送更多的数据或者至少告诉发送自己的情况如何。
2. 基于速率的流量控制(rate-based flow control),限制发送方传输数据的速率,而无须有高层来处理。

3.2 差错检测和纠正

错处处理的基本策略:
1. 纠错码(error-correcting code):每一个数据块中包含足够多的冗余信息,以便接收方推断出被发送的数据是什么,多用在无线链路等错误发生发生频繁的信道上。
2. 检错码(error-detecting code),冗余信息只能推断是否发送错误,接收方请求重传,多用在高度可靠的信道上(光纤)

3.2.1 纠错码

  1. 海明码
    海明距离(Hamming distance):两个码字中不相同位的个数
  2. 二进制卷积码
    在卷积码中,编码器处理一个输入序列,并生成一个输出序列。卷积吗由其速率和约束长度标识。
  3. 里德所罗门码
    线性码,多项式纠错
  4. 低密度奇偶校验码(LDPC,Low-Density Parity Check )

3.2.3 检错码

对于偶尔出现的错误采用差错检测和重传的处理方式。
检错码:
1. 奇偶
2. 校验和
3. 循环冗余校验(CRC,Cyclic Redundancy Check),也叫多项式编码,编码的基本思想是:将位看成是系数为0或1的多项式。一个k位帧可以看成是一个k-1次多项式的系数列表,该多项式共有k项,从 xk1x0 ,这样的多项式认为是k-1阶多项式。最左边是 xk1 项的系数。
4. 使用多项式编码时,发送方和接收方必须事先商定一个**生成多项式(generator polynomial)**G(x).生成多项式的最高位和最低位必须是1.
计算CRC的算法过程:
(1)假设G(x)的阶为r,在帧的最低位端加上r个0位,使得该帧现在包含m+r位,对应多项式为 xrM(x)
(2)利用模2除法,用对应于G(x)的位串去除对应于 xrM(x) 的位串。
(3)利用模2减法,对应于 xrM(x) 的位串中减去余数(总是小于等于r位)。结果就是被传输的带校验和的帧。它的多项式不妨设为T(x).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值