TCP和UDP的区别以及各自的应用场景

TCP和UDP区别:

1.连接

TCP是面向连接的传输层协议,传输数据前先要建立连接。

UDP是不需要连接的,即刻就可以传输数据。

2.服务对象

TCP是一对一的两点服务,也就是说一条连接只有两个端点。

UDP支持一对一,一对多,多对多的交互通信。

3.可靠性

TCP是要保证可靠交付数据的,数据无差错,不丢失,不重复,按序到达。

UDP是尽最大努力交付,不保证可靠交付数据。

4.拥塞控制,流量控制

TCP有拥塞控制和流量控制,保证了数据传输的安全性。

UDP则没有,即使网络堵塞,也不会影响UDP的发送速率。

5.首部开销

TCP 首部长度较长,会有一定的开销,首部在没有使用「选项」字段时是 20 个字节,如果使用了「选项」字段则会变长的。

UDP首部只有8个字节,并且 是固定不变的,开销较小。

6.传输方式

TCP是流式传输,没有边界,但是保证顺序和可靠

UDP是一个包一个包的发送,是有边界的,但是可能会丢包和乱序。

7.分片不同

TCP的数据大小如果大于MSS大小,则会在传输层进行分片,目标主机收到后,也会同样在传输层组装TCP数据包,如果中途丢失了一个分片的话,那么只需要传输丢失的分片即可。

UCP的数据大小如果大于MTU大小,则会在IP层进行分片,目标主机收到后,在IP层组装完数据,接着再传输给传输层。

 

TCP和UDP的应用场景:

由于TCP是面向连接的,能保证数据的可靠性交付,因此经常用于:

1.FTP文件传输

2.HTTP/HTTPS

由于UDP面向无连接,它可以随时发送数据,再加上UDP本身的处理既简单而又高效,因此经常用于:

1.包总量较少的通信,如DNS,SNMP

2.视频或者音频等多媒体通信

3.广播通信

 

posted @   往事携冷风  阅读(194)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示