UDP协议详解

目录

  • 1.UDP协议详解
  • 2.端口号
  • 3.报文长度
  • 4.校验和

1.UDP协议详解

UDP协议详解_第1张图片

  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校验和就是这样一个机制,它用来检查数据包在传输过程中是否发生了错误。数据包就像信封,而校验和就像信封上的密封,确保数据的完整性。

你可能感兴趣的:(udp)