计算机网络-第三章-数据链路层 (2)

计算机网络-第三章-数据链路层

附加监督位:在数据块中加入一些冗余信息,使数据块中的各个比特建立起某种形式的关联,接收端通过验证这种关联关系是否存在,来判断数据在传输过程中有没有出错

帧检验序列(FCS):在数据后面添加上的冗余码

ARQ自动重发请求

发送方使用检错码,接收方对收到的数据进行检错

接收方使用应答向发送方进行信息反馈

发送***收到肯定应答:数据已被正确接收

发送***收到否定应答:传输有错,则重发,直至正确接收

为防止帧丢失导致发送方收不到应答,发送方发完一幀后,会启动一个超时定时器,若定时到仍未收到应答,便进行重发

奇偶校验码

先将要发送的数据块分组,且在每一组的数据码元后面附加一个冗余位,使得该组连冗余位在内的码字中“1”的个数为偶数(偶校验)或奇数(奇校验)

在接收端按同样的规则检查,如发现不符,就说明传输有误

分类:垂直奇偶校验码、水平奇偶校验码、水平垂直奇偶校验码

校验和

发送:如以16位字为单位进行累加,再将最后累加和取“1补码”(即反码),得该字符串得校验码

接收:当接收者收到该数据块后,同样以16位字为单位对各数据及校验和进行累加,若最后结果为全1,则正确,否则出错

可靠性:

能够检测出绝大多数奇数个和偶数个数据位得变化

除非,一个16位字中的0变成1,而另一个16位字中的相同位置由1变成0

只能检测奇数位的出错情况,但并不知道那些位错了,也不能发现偶数位的出错情况

循环冗余校验码(CRC)

原理:设定一个除数d(多项式表示法最高阶的次数即为n)

发送:将数据用除数d来相除,产生的余数作为FCS,附加在数据后发送

接收:将收到的数据和FCS用d来相除,若余数为0,则正确,否则出错

计算机网络-第三章-数据链路层


计算机网络-第三章-数据链路层


计算机网络-第三章-数据链路层

CRC检验码的位数等于生成多项式的G(x)的最高次数

模2运算特点:

模2除:被除数高位为1即可相除,商为1

模2加、模2减:等于按位加(异或)运算

检错率:

可检测出几乎所有错误。当出现差错的码多项式仍能被G(X)整除时,错误就检测不出来,发生这种情况的概率是非常小的

循环冗余码是具有纠错功能的,但是数据链路层仅使用了它的检错功能,检测到帧出错直接丢弃

2.前向纠错(FEC)

发送端使用纠错码,接收端检出错并纠错,但监督码比较复杂、效率低,一般用于没有反馈信道的单工通信中

缺点:冗余码多、译码复杂;适用于单工信道

海明码

确定位数

信息位n,校验位k:n+k <= 2k-1

确定码距

纠错d位,需要的码距:2*d+1

检错d位,需要的码距:d+1

四、流量控制与可靠传输机制

流量控制:涉及对链路上帧的发送速率的控制,以使接受方有足够的缓冲空间来接收每个帧

基本方法:由接收方控制发送方发送数据的速率

停止-等待协议

滑动窗口协议

1.可靠传输机制

现有的实际有线网络的数据链路层很少采用可靠传输

数据链路层的可靠传输通常使用确认超时重传两种机制来完成

确认,是一种无数据的控制帧,这种控制帧使得接收方可以让发送方知道那些内容被正确接收

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zggjdg.html