UDP的报文结构及注意事项

🔎UDP的报文结构

在这里插入图片描述
图片来自网络


在这里插入图片描述

源端口和目的端口

如果将 源IP 和 目的IP 看作是两台计算机在网络中的地址
那么 源端口 和 目的端口 就看作是两台计算机中的程序(比如 QQ)

举个栗子🥝

唐僧的自我介绍
贫僧自东土大唐而来, 欲往西天拜佛求经

这里的东土大唐就是源IP, 西天就是目的IP
这里的贫僧就是源端口, 拜佛就是目的端口

报文长度

一个 UDP 报文长度的最大值是 64KB
(2字节 --> 0 ~ 65535 --> 65535 / 1024 ≈ 64)

校验和

校验和是为了判断当前传输的数据是否出错

网络传输是有一定几率出现故障的(外部环境的干扰,强磁场的影响等)

举个栗子🥝

女神让滑稽老哥去买菜
分别是(1)芹菜 (2)黄瓜 (3)豆角 (4)白菜, 一共4样

滑稽老哥由于出门太急,只听清了要买4样菜
这时候滑稽老哥买的菜的种类不等于4样, 那么他一定是买错了
但是如果他买了4样菜,也不一定就买对了, 有可能滑稽老哥将黄瓜买成了土豆

校验和就是为了判定买的菜是不是4样
如果不是4样菜, 就一定是出错了
如果是, 也不一定就对


为了让校验和能够识别率更高一些(更为可靠), 计算的时候通常会用数据内容作为参数进行计算
数据内容发生变化, 校验和也会发生变化
(选取内容的一部分, 通过一些算术运算, 数学公式的变换,得到一个数值. 例如奇偶校验等)

发送方, 把载荷数据, 带入到校验和算法中, 计算生成的校验和结果(sum1)

在这里插入图片描述
接收方, 收到的数据, 既有载荷, 也有校验和 sum1
接收方通过同样的算法计算载荷得到校验和 sum2
对比 sum1 与 sum2 是否相同
如果不同, 则证明传输有误

🔎UDP的注意事项

端口号

端口号的取值范围是 0 ~ 65535 (2字节)

其中 < 1024 的端口号, 称为 “知名端口号”, 这部分端口是给一些服务器预留的, 编码的时候通常不使用这部分端口号

报文长度

使用 UDP 编程时, 需要注意 UDP 的报文长度不能过长

校验和

校验和的结果相同, 不一定传输无误
校验和的结果不同, 一定传输有误

🔎结尾

创作不易,如果对您有帮助,希望您能点个免费的赞👍
大家有什么不太理解的,可以私信或者评论区留言,一起加油

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值