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

发布时间 2023-07-26 17:25:54作者: 往事携冷风

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.广播通信