文章目录

UDP报文结构的讲解以及注意事项源端口和目的端口报文长度校验和

UDP报文结构的讲解以及注意事项

想要学习一个协议,我们就需要认识一下这个协议的报文格式,认识这个协议具体是如何组织数据的: 我们常见的UDP报文的格式图都是这样画的,但其实并不准确,真正的UDP报文格式是这样的:

我们针对UDP的报头进行一下分析。

源端口和目的端口

在网络层中还有一组数据叫做源IP和目的IP,源端口和源IP可以归为一类数据,他描述了数据是从哪里来的,而目的端口和目的IP可以归位一类,它他描述了数据要送到哪里去。源端口和目的端口在UDP报头中各自占两个字节,端口号的取值范围就是0 - 65535。

在互联网中有一些知名的端口号,这是一些名气比较大的服务器所使用的端口号,他们一般都小于1024,可以认为端口号越小名气越大。

报文长度

顾名思义就是记录一个UDP的报文长度,在UDP报头中也占两个字节,2个字节的表示范围就是0 - 65535,也就是说一个UDP报文的最大长度就是64KB。 64KB在之前那个年代看起来这个空间是非常大的,而放到现在的互联网中,可能一个表情包的大小都比这个空间大。 那我们真的要传输这个大于UDP报文最大长度的数据该怎么办呢?

1、我们可以把一个大的数据拆分成多个部分,使用多个UDP数据报来进行传输。 2、传输层的协议不止有UDP,我们还可以使用TCP协议,TCP没有长度限制。

为什么不扩大一下这个长度呢? 我们说协议就是约定,假设我们约定好了一个暗号,而有一方突然更改了暗号,那么他们还可以接头成功嘛?显然是不行的。 UDP协议也是一样的,UDP是在系统内核中实现的,想要扩大UDP,就需要升级系统,而如果A系统升级了,升级后的UDP长度不是2字节了,他与B主机进行通信,而B主机并没有升级,此时UDP长度还是2字节,暗号对不上,主机AB就无法通信,这样如果需要升级UDP,那么全世界都需要同时升级,显然是不现实的。

校验和

校验和的作用就是判断一下当前传输的数据是否出错了,在传输的过程中会出现不稳定的情况,收到环境的干扰,强磁场等问题,使传输的数据出现错误,检验和的作用解释判断是否出错了。 如何判断呢?

1、发送方,把载荷数据通过校验和算法,得到校验和,放在报头内。 2、数据传输到了接受方,再次使用相同的校验和算法计算校验和,将结果与报头内的校验和进行对比,相同说明数据传输没有问题,如果不同说明数据出现错误了。

注意: 使用校验和的前提是:输入的内容一样,按照相同的算法得到校验和。UDP这是使用的是CRC算法,大家可以自行查阅资料了解一下。

相关文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: