《计算机网络自顶向下方法》笔记 (4) 链路层

链路层

链路层从网络层接受下传的数据报,并沿着链路将链路层分组帧(frame) 传递给下一个结点。

5.2 差错检测和纠正技术
奇偶校验

差错检测最简单的方式是使用单个奇偶校验位。在偶(奇)校验方案中,发送方只需包含一个附加的比特,使得初始信息加上一个校验比特中 1 的总数是偶(奇)数。接收方只需重新计数并比对即可。然而,很显然,奇偶校验只能检测出奇数个比特差错。

在这里插入图片描述

二维奇偶校验方案中,初始信息被划分为 i 行 j 列,对每行每列计算奇偶值,共产生 i+j+1 个校验比特。这样,包含差错比特的行和列的校验值都将会出现差错。因此,接收方不仅可以检测到单个比特差错,还可以利用存在奇偶校验差错的行和列的索引,来实际识别发生差错的比特,并纠正它。接收方还能够检测,一个分组中的两个比特差错的任何组合,但不能纠正它。除此之外,校验比特本身的单个比特差错也是可检测和可纠正的。

在这里插入图片描述

检验和

在检验和中,d 比特数据被当作一个 k 比特整数的序列处理。一个简单检验和方法就是将这 k 比特整数累加,并用得到的和作为差错检验比特。互联网检验和就基于这种方法,见 TCP/UDP 检验和字段。

循环冗余检测

循环冗余检测(CRC)编码,也叫多项式编码。考虑 d 比特的数据 D,发送方和接收方首先必须协商一个 r+1 比特模式,称为生成多项式 G,G 的最高有效位必须是 1。然后,发送方要选择 r 个附加比特 R,并将它们附加到 D 上,使得 d+r 比特模式(被解释为一个二进制数)用模 2 算术恰好能被 G 整除。接收方用 G 去除接收到的 d+r 比特,如果余数为 0,说明出现了差错,否则数据正确。其中,模 2 算术除法就是用异或(XOR)代替减法的除法。

在这里插入图片描述

G 在不同的发送数据间可以通用(由国际标准定义),而 R 必须针对发送的不同数据分别求出。求 R 的方法是 R = r e m a i n d e r ( D ⋅ 2 r / G ) R = remainder(D·2^r/G) R=remainder(D2r/G)

D ⋅ 2 r ⊕ R = n G D·2^r \oplus R = nG D2rR=nG --> D ⋅ 2 r = n G ⊕ R D·2^r = nG \oplus R D2r=nG

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值