问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

UDP和TCP的全面对比:从连接方式到可靠性

创作时间:
作者:
@小白创作中心

UDP和TCP的全面对比:从连接方式到可靠性

引用
CSDN
1.
https://blog.csdn.net/weixin_38125348/article/details/139226689

UDP和TCP是TCP/IP体系结构中两个重要的运输层协议。本文将从连接方式、通信模式、应用报文处理、可靠性以及首部结构等多个维度,详细对比这两个协议的特点和应用场景。

UDP(用户数据报协议)和TCP(传输控制协议)是TCP/IP体系结构运输层中的两个重要协议。在使用TCP/IP体系结构的网络通信中,这两个协议的使用频率仅次于下层的IP协议。TCP/IP体系结构应用层中的某些协议需要使用运输层的TCP提供的服务,而另一些协议需要使用运输层的UDP提供的服务。

连接方式

UDP是无连接的,通信双方可以随时发送数据。而TCP是面向连接的,在进行数据传输之前,必须使用三报文握手来建立TCP连接,数据传输结束后,必须使用四报文挥手来释放TCP连接。需要注意的是这里所谓的连接是指逻辑连接关系,而不是物理连接。

通信模式

UDP支持单播、多播以及广播,可以实现一对一、一对多以及一对全的通信。而TCP仅支持单播,也就是一对一的通信。

应用报文处理

UDP对应用进程交下来的报文,既不合并也不拆分,而是保留这些报文的边界,即面向应用报文。而TCP把应用进程交付下来的数据块仅仅看作是一连串的无结构的字节流,TCP根据发送策略,从发送缓存中提取一定数量的字节,构建TCP报文段并发送。接收方的TCP,一方面从所接收到的TCP报文段中取出数据载荷部分,并存储在接收缓存中,一方面将接收缓存中的一些字节交付给应用进程,TCP不保证接收方应用进程所收到的数据块与发送方应用进程和发出的数据块具有对应大小的关系。

可靠性

当运输层使用UDP协议时,向其上层提供的也是无连接不可靠的传输服务。对于UDP用户数据报出现的误码和丢失等问题,UDP并不关心。基于UDP的这个特点,UDP适用于实时应用,例如IP电话、视频会议等。而TCP协议可以向其上层提供面向连接的可靠传输服务,适用于要求可靠传输的应用,例如文件传输。

首部结构

一个UDP用户数据报由首部和数据载荷两部分构成,其首部格式仅有4个字段,每个字段长度为2个字节,仅有8个字节。而一个TCP报文段也有首部和数据载荷两部分构成,其首部格式比UDP用户数据报的首部复杂的多,其最小长度为20字节,最大长度为60字节。

本节课的内容小结如下,需要说明的是TCP的流量控制和拥塞控制比较复杂,我们并未在本节课中有关他们的介绍,我们将在后续课程中进行。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号