UDP协议详解

UDP协议包括8字节的首部,包含源端口、目的端口、报文长度和校验和字段。端口号范围是0-65535,知名端口在0-1024之间。报文长度限制为64KB,超出需分包或使用TCP。校验和用于检测数据传输中的错误,确保数据完整性。

1.UDP协议详解

在这里插入图片描述

  UDP首部有8个字节,由4个字段构成,每个字段都是两个字节

  1.源端口:主机的应用程序使用的端口号,也就是数据从哪里来

  2.目的端口:目的主机的应用程序使用的端口号,也就是数据要到哪里去

  3.长度:是指UDP头部和UDP数据的字节长度。

  4.校验和:检测UDP数据报在传输中是否有错,有错则丢弃。

2.端口号

  端口号是传输层协议的概念,每个进程(程序)属于自己的端口号,端口可以区分一个主机上具体的应用程序.因此我们要求同一个主机上,一个端口号不能被多个进程绑定。

  UDP协议中包含源端口号,和目的端口号,他们都是2个字节,也就是16个bit位来表示的,因此这里的端口号的取值范围是0->65535,0->1024这个范围的端口,被称为"知名端口号/具体端口号",这些端口号都已经分配给了一些广泛使用的知名的应用程序了,比如80端口,443端口。

3.报文长度

  报文长度也是由2个字节表示的,范围同样是0->65535,换算一下单位,也就是64KB.也就是说一个UDP数据报最多只能传输64KB的数据

  如果我们需要传输的数据大于64KB怎么办呢?

  1.针对大的数据报,可以在应用层进行分包(分成多个部分),然后再通过多个UDP 数据报分别发送,这个时候接收方再把收到的几个包重新拼接成完整的数据
  2.可以直接使用TCP协议

4.校验和

   网络传输的本质是光信号/电信号,在传输过程中,可能会受到一些物理因素的影响,在这些干扰因素的影响下,可能会发生"比特翻转",也就是原来要传输二进制1,发生比特翻转,就变成了0,此时我们传输过后得到的数据就变了,数据的含义也就不同了

    此时我们就需要校验和了,校验和的作用就是验证传输的数据是否是正确的,校验和是如何鉴别我们的数据是否出现了问题的呢?

  UDP校验和可以类比为一封信的信封密封。

  假如我要给一个朋友寄一封信。信的内容很重要,所以需要确保内容在途中不被篡改。在把信放进信封之前,会对信的内容进行一次“校验和”计算。这个计算会得到一个数字,我们把它叫做“校验和”。

  当朋友收到信时,他们首先会检查信封是否完好。然后,他们会将信取出并阅读。在阅读完信件后,他们会对信的内容进行一次“校验和”计算,同样得到一个数字。如果这个数字与信件末尾的“校验和”相同,那么说明信件在传递过程中没有被篡改。如果不同,则说明信件可能被修改了。

  在计算机网络中,UDP校验和就是这样一个机制,它用来检查数据包在传输过程中是否发生了错误。数据包就像信封,而校验和就像信封上的密封,确保数据的完整性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值