发送方“死等”。 ●^超时计时器,在规定的时间内未收到B的任 解决方法是:A每发送一个数据帧,就启动 何应答,应重传该帧,重传时间不能设置过短 或过长 °(4)如果是B发送的确认帧在传输过程中丢失, 则超时重传会使B收到两个同样的数据帧,此 时应丢弃,但主机B如何识别出一个数据帧是 否为重复帧? 方法是给每一帧编号,编号应既能识别出重复帧, 又要尽可能短。如何编号最好? 编号占用一个比特位,0和1交替编号即可,为什么?
方法是给每一帧编号,编号应既能识别出重复帧, 又要尽可能短。如何编号最好? 编号占用一个比特位,0和1交替编号即可,为什么? ⚫ 发送方“死等”。 ⚫ 解决方法是:A每发送一个数据帧,就启动一 个超时计时器,在规定的时间内未收到B的任 何应答,应重传该帧,重传时间不能设置过短 或过长。 ⚫ (4) 如果是B发送的确认帧在传输过程中丢失, 则超时重传会使B收到两个同样的数据帧,此 时应丢弃,但主机B如何识别出一个数据帧是 否为重复帧?
●42.4循环冗余检验(CRC) 用来检测帧在传输过程中有没有出错。 ●CRC的工作方法: 在发送端产生一个循环冗余码附加在信息位 后面一起发送到接收端,接收端收到的信息按发送 端形成循环冗余码同样的算法进行校验,若有错, 需重发。 ●CRC将数据块看成是一个多项式系数系列。 ●如数据块:110011对应的多项式M(X)X5+X4+X+1 双方约定一个生成多项式,如P(X)=X4X3+1,其系 数系列为:11001 ●利用两个多项式相除,余数作为校验位,除法过程 中所有的减法按模二算法(即异或运算)
⚫ 4.2.4循环冗余检验(CRC) ⚫ 用来检测帧在传输过程中有没有出错。 ⚫ CRC的工作方法: 在发送端产生一个循环冗余码,附加在信息位 后面一起发送到接收端,接收端收到的信息按发送 端形成循环冗余码同样的算法进行校验,若有错, 需重发。 ⚫ CRC将数据块看成是一个多项式系数系列。 ⚫ 如数据块:110011 对应的多项式:M(X)=X5+X4+X+1 双方约定一个生成多项式,如P(X)=X4+X3+1,其系 数系列为:11001 ⚫ 利用两个多项式相除,余数作为校验位,除法过程 中所有的减法按模二算法(即异或运算)
●CRC的计算过程如下: ●(1)设约定多项式P(x)为n阶,在数据块M(X)的未尾添 加n个0,得到XM(X) ●(2)用 XM(X)/P((X),得到余数R(X ●(3)用XM(X)R(X),得CRC码 例:数据块M(X)为1010001101, 生成多项式P(X)X5+X4+Xx2+1,即110101, 求CRC
例:数据块M(X)为1010001101 , 生成多项式P(X)=X5+X4+X2+1,即110101, 求CRC ⚫ CRC的计算过程如下: ⚫ (1)设约定多项式P(x)为n阶,在数据块M(X)的未尾添 加n个0,得到Xn M(X)。 ⚫ (2)用Xn M(X)/ P(X),得到余数R(X)。 ⚫ (3)用Xn M(X)+ R(X),得CRC码
1101010110←Q商 110101)101000110100000←XM 110101 111011 111010 110101 111110 110101 101100 11010 110010 110101 01110←R余数 ●CRC码为101000110101110
⚫ 1 1 0 1 0 1 0 1 1 0←Q商 110101) 1 0 1 0 0 0 1 1 0 1 0 0 0 0 0←XnM 1 1 0 1 0 1 ⚫ 1 1 1 0 1 1 ⚫ 1 1 0 1 0 1 ⚫ 1 1 1 0 1 0 ⚫ 1 1 0 1 0 1 ⚫ 1 1 1 1 1 0 ⚫ 1 1 0 1 0 1 ⚫ 1 0 1 1 0 0 ⚫ 1 1 0 1 0 1 ⚫ 1 1 0 0 1 0 ⚫ 1 1 0 1 0 1 ⚫ 0 1 1 1 0 ←R余数 ⚫ CRC码为1 0 1 0 0 0 1 1 0 1 0 1 1 1 0
●接收方的处理过程: ●接收方用收到的信息,除以生成多项式,若除 数为0,则传输中没有出错,否则,出错。 ●现在国际上有一些标准的约定生成多项式
⚫ 接收方的处理过程: ⚫ 接收方用收到的信息,除以生成多项式,若除 数为0,则传输中没有出错,否则,出错。 ⚫ 现在国际上有一些标准的约定生成多项式