数据报差错检测

运输层

1. 用户数据报协议 UDP

用户数据报协议 UDP 有两个字段:

  • 首部字段
  • 数据字段

首部字段有 8 个字节,由四个字段组成,每个字段的长度都是两个字节。

  • 源端口:源端口号。不需要时可用全 0。
  • 目的端口:目的端口号。
  • 长度:UDP 用户数据报的长度,其最小值是 8 (仅有首部)。
  • 校验和:检测 UDP 用户数据报在传输中是否有错。有错就丢弃。

UDP 用户数据报首部中检验和的计算方法有些特殊。在计算检验和时,要在 UDP 用户报之前增加 12 个字节的伪首部。所谓 “伪首部” 是因为这种伪首部并不是 UDP 用户数据报真正的首部。只是在计算校验和时,临时添加在 UDP 用户数据报前面,得到一个临时的 UDP 用户数据报。校验和就是按照这个临时的 UDP 用户数据报来计算的。伪首部既不向下传送也不向上递交,而仅仅是为了计算校验和。
在这里插入图片描述
IP数据报的检验和只检验数据报的首部,但UDP 的校验和是把首部和数据部分一起都检验。

在发送方
首先是先把全零放入检验和字段。
再把伪首部以及 UDP 用户数据报看成是由许多 16 位的字串接起来的。
UDP 用户数据报的数据部分不是偶数个字节,则要填入一个全零字节(但此字节不发生)。
然后按二进制反码计算出这些 16 位字的和。
将此和的二进制反码写入检验和字段后,就发送这样的 UDP 用户数据报。

在接收方
把收到的 UDP 用户数据报连同伪首部(以及可能的填充全零字节)一起,按二进制反码求这些 16 位字的和。
当无差错时其结果应为全 1
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值