详解UDP协议,UDP数据报格式,头部格式

1.UDP协议概述

1.用户数据报协议(User Datagram Protocol)简称UDP协议,它是在IP的数据报服务上增加了端口和简单的差错检测来实现进程到进程之间的数据传输。

2.UDP协议有如下几个特点:

a.无连接。UDP是无连接的协议,数据传输之前不需要建立数据连接,也没有超时重传等机制,拥塞控制以及流量控制,但是传输速度快,灵活。

b.不可靠,尽最大努力交付。报文有可能存在重复,失序,丢失。

c.面向报文。TCP(面向连接的传输控制协议)是面向字节传输,而UDP是面向报文传输,对于应用层交下来的报文段不进行拆分合并,直接保留原有报文段的边界然后添加UDP的首部就交付给网络层。不论报文的长短,UDP都不会进行处理。因此为了避免报文段过短降低传输效率以及报文段过长导致网络层对IP数据进行分片操作,应用层应该选择合适长度的报文交付给运输层的UDP。

d.支持一对一,一对多,多对一,多对多的交互通信,组播以及广播功能。这点弥补了TCP的不足

f.UDP首部只有8字节(源端口号,目的端口号,UDP总长度,检验和,各16位/2字节)。TCP首部固定20字节。

3.UDP的应用:
应用层协议DNS(域名服务)、DHCP动态主机配置协议)、TFTP(简单文件传输协议)、SNMP(简单网络管理协议)、RIP(路由信息协议)传输层协议都是采用的UDP协议。

应用层协议FTP(文件传输协议)、Telnet(远程终端协议)、SMTP(简单邮件传输协议)、HTTP(超文本传输协议)、BGP(边界网关协议)传输层协议采用的是TCP协议。

3.UDP的首部格式:
在这里插入图片描述

讲解一下:
*UDP头部很简单,包括源端口,目的端口,UDP总长度,校验和,各占16位/2字节,共8字节。
*源端口:长度16位,指定发送方所使用的端口号,若不需要对方回发消息,则可全置为0。
*目的端口:长度16位,指定接收方所使用的端口号。
*UDP总长度:长度16位,指定了UDP数据报的总长度。
*校验和:长度16位,用于UDP的差错检测,防止UDP报文出错,同时伪首部参与计算,避免UDP用户数据报传送到错误的目的地。UDP的首部,数据部分,伪首部都会参与检验和的计算,各字段是按照16比特为单位进行计算的,因此数据部分是要保证是16比特的倍数,不够用0填充。

UDP和TCP在数据传输方面有很大的区别。首先,UDP是无连接的,而TCP是面向连接的。这意味着在发送数据之前,TCP需要建立一个连接,而UDP不需要。其次,UDP是不可靠的,而TCP是可靠的。UDP在传输数据时不会进行重传,而TCP会确保数据的可靠传输。因此,在网络环境不好的情况下,UDP可能会丢失数据包,而TCP会进行重传以确保数据的完整性。 此外,UDP和TCP还有不同的数据传输方式。TCP是面向字节流的,这意味着它将数据视为一个连续的字节流。而UDP是面向文的,它将数据分割成文进行传输。 对于一包数据,根据UDP和TCP的不同特性,它们在处理和传输数据包的方式上会有所不同。TCP会将数据包拆分成较小的数据段,每个数据段都会有TCP头部信息,并按序传输和重组。而UDP会将整个数据包作为一个文传输,不进行拆分和重组。 总结来说,UDP和TCP在数据传输方面有很大的差异。UDP是无连接、不可靠的,面向文的协议,适用于实时性要求高的场景。而TCP是面向连接、可靠的,面向字节流的协议,适用于需要保证数据完整性和顺序的场景。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Qt UDP和TCP对比](https://blog.csdn.net/kchmmd/article/details/122175211)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [TCP和UDP详解](https://blog.csdn.net/qq15035899256/article/details/126073927)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值