UDP 的报文结构

目录

1.端口

2.报文长度

3.校验和


UDP是传输层层的网络协议之一,学习一个协议最好的方式就是了解这个协议的报文格式.即怎么组织的这个数据.

下图为一个UDP数据报文的格式: 

 

 


1.端口

  • 源端口和目的端口.

源IP和源端口表明了数据是从哪里来的,目的IP和目的端口表明了数据要到哪里去.

下面,我们举个例子更好的去理解它们:小曹从重庆来,到洛阳去旅游.此时的小曹就是源端口,旅游就是目的端口.重庆就是源IP,洛阳就是目的IP.

  • 端口号

每个端口号在UDP报文里占2个字节,取值范围为0-65535(2^16-1).

注意:端口号<1024[1-1023]为知名端口号,通常情况下我们是不应该使用的.例如(http:80).


 

2.报文长度

一个UDP报文的最大长度为64KB

我们都知道64KB对于现状的程序来说,真的很小.那既然这么小,为什么不可以扩容呢?

原因有以下两点:

1.如果要扩容,就意味着要升级,那么就必须全世界的主机都要进行升级,否则会因为版本不兼容而无法进行交互.这样的代价是非常大的;

2.全世界主机操作系统也不同,有windows,linux,mac等.

 


3.校验和

网络传输不稳定,可能会出错.举个例子:网线传输电信号(高低电平).由于受到磁场干扰,低->高,高->低(比特翻转),就会造成很严重的后果.

那么,为了避免这种后果,我们就引入了校验和,用来检验传输数据是否出错.

例1:

顾医生让小宇中午去买菜,有西红柿,鸡蛋,土豆丝,青椒,告诉小宇一共四样菜,不要买漏了!!!

于是小宇来到了菜市场,当小宇转了一圈准备回家时,核对,发现只买了三样菜,于是又去买遗漏的!!!

然而,上述是存在问题的!!!校验和不能证实,只能证伪.无法确定买的四样菜都是对的.只能在买了三样菜时,发现数量不对.

所以,为了校验和识别率更高,通常使用数据内容作为参数进行计算.

例2:

KFC有个套餐(奥尔良鸡腿堡+中杯可乐+中份薯条);前台根据点单跟厨房人员说,一个奥堡,中可,中薯(这个就是以数据内容为校验和).上菜时,再跟单子上的内容匹配,进行核销.


  • 流程

1.发送方把载荷数据代入到校验和算法中,计算得到的结果记为sum1;

2.发送方把上述这一整串数据发送给接收方;(接收方接收到的数据既有载荷,也有校验和sum1)

3.接受方在收到这一串数据时, 把载荷再次根据校验和算法计算,得到结果sum2;

4.对比sum1和sum2是否相同.

如果不同,则说明数据一定出现问题.


祝大家顺顺利利健健康康,下次见!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值