计算机网络之UDP协议

一.什么是UDP协议:

1.1UDP的基本概念

UDP协议又叫做用户数据报协议,是一个目标在传输层提供直接发送报文的能力,UDP与TCP相比,它不会拆分数据,它只是能够发送报文。

1.2为什么要使用UDP协议

我们可能会想,如果只是单纯地发送数据,为什么不直接使用IP协议。这是因为传输层协议在承接上方应用层的调用,需要提供应用到应用的通信,也就是说需要附上端口号。每一个端口代表不同的应用。但是IP协议不能区分应用,IP协议只是承接传输层的调用,将数据从主机传输到主机。所以就为UDP协议的应用提供了空间。

1.3UDP协议的封包格式

使用UDP协议就是为了用户能够直接发送报文,最大限度地简化应用的设计。UDP的报文格式只有五个部分:

**1.Source Port:**源端口号,因为UDP协议不需要ACK确认报文,所以这个字段是可以省略的。但是对于代理和防火墙来说,这个字段是非常重要的。

**2.Destination Port:**目标端口号,不可以省略

**3.Length:**表示消息体长度

**4.Checksum:**表示校验和,来检查封包是否出错

**5.Data octets:**表示一个字节一个字节的数据,Octet是8位。

二.UDP中的校验和机制

2.1UDP校验和的实现方式:

1.计算校验和:发送端在发送UDP数据包之前会对UDP数据报文的内容进行校验和计算。首先将UDP报文数据划分为以16比特为单位的字(字节数不够的可以补零),把这些字节相加然后取反。

2.校验和字段:发送端将计算得到的检验和值放在UDP数据报的校验和字段中。

3.接受端验证:接收端在接收到UDP数据包后,会进行校验和的验证,将UDP数据报文划分为16比特的字,并对其进行求和计算,然后将计算的到的校验和与UDP数据包中的校验和字段进行比较,如果相等,则认为数据包未损坏,如果不相等,则认为数据包可能已经损坏。

UDP的校验和机制并不提供数据的可靠性传输,它只能检测到一部分错误,并不能保证数据的完整性和可靠性。因为UDP的校验和机制只是对UDP数据报中的数据进行简单的加法和取反操作,接收内容不同但是计算出的校验和值相同的情况是会出现的。

三.UDP与TCP的区别

3.1目的不同:

TCP协议是为了提供可靠的网络传输协议,而UDP是为了在提供报文交换能力的基础上尽量轻装上阵

3.2可靠性差异:

TCP协议是保证提供可靠的服务,所以在建立连接时会有三次握手机制,保证通信的双方都在线,并且TCP协议具有时间窗口来持续收集无序的数据,直到这些数据成功的排列成发送的顺序;而UDP并没有以上的特性,UDP协议只管发送数据包,并不需要ACK(确认报文),所以不能保证数据是否发送成功。

3.3传输速度:

与TCP协议相比,UDP协议更加轻量级,并且封包小,没有连接,可靠性检查,所以UDP比TCP的传输速度快。

3.4有无连接:

TCP是一个面向连接的协议,如果需要传输数据,则必须要先建立连接,而UDP是一个无连接协议,可以随时发送数据。

3.5流控技术:

TCP协议采用了流控技术来确保发送方不会因为一次发送过多的数据报而使接收方不堪重负,TCP在发送缓冲区中存储数据,并在接收缓冲区中接收数据。当应用程序准备就绪时,接收方从接收缓冲区中读取数据,如果接收缓冲区已满,接收方将无法处理更多的数据,并将其丢弃,这是TCP的流控技术,而UDP则没有相应的功能。

3.6适用场景不同:

使用TCP协议每个数据封包都需要确认,所以不太适合高速数据传输的场景。比如在网络游戏场景中,如果使用TCP协议,每个封包都需要确认,就会造成一定的延迟,体验感不好;再比如观看视频的时候,因为音频和视频数据在传输的时候天生就允许一定的丢包率,所以不太适合使用TCP。而对于一些只需要一次简单的请求或者返回的操作,使用UDP比较合适。

相关推荐
DevSecOps选型指南2 小时前
2025软件供应链安全最佳实践︱证券DevSecOps下供应链与开源治理实践
网络·安全·web安全·开源·代码审计·软件供应链安全
国科安芯3 小时前
抗辐照MCU在卫星载荷电机控制器中的实践探索
网络·嵌入式硬件·硬件工程·智能硬件·空间计算
孤寂大仙v4 小时前
【计算机网络】非阻塞IO——select实现多路转接
linux·计算机网络
EasyDSS4 小时前
国标GB28181设备管理软件EasyGBS远程视频监控方案助力高效安全运营
网络·人工智能
玩转4G物联网4 小时前
零基础玩转物联网-串口转以太网模块如何快速实现与TCP服务器通信
服务器·网络·物联网·网络协议·tcp/ip·http·fs100p
派阿喵搞电子4 小时前
Ubuntu下有关UDP网络通信的指令
linux·服务器·网络
Amo Xiang4 小时前
计算机网络第2章(下):物理层传输介质与核心设备全面解析
计算机网络·传输介质·物理层·物理设备
搬码临时工5 小时前
外网访问内网服务器常用的三种简单操作步骤方法,本地搭建网址轻松让公网连接
服务器·网络·智能路由器
Fortinet_CHINA6 小时前
引领AI安全新时代 Accelerate 2025北亚巡展·北京站成功举办
网络·安全
dustcell.6 小时前
Cisco Packer Tracer 综合实验
网络