计算机网络 TCP和UDP的区别

260 阅读2分钟

计算机网络 TCP和UDP的区别

这是我参与更文挑战的第1天,活动详情查看: 更文挑战

一、协议的特点

TCP/IP运输层的两个主要协议都是互联网的正式标准
(1)用户数据报协议UDP (User Datagram Protocol) [RFC 768]
(2)传输控制协议TCP (Transmission Control Protocol) [RFC 793]

image.png

特点TCPUDP
连接面向连接无连接
可靠性提供可靠交付 传送的数据无差错、不丢失、不重复、按序到达尽最大努力交付,即不保证可靠交付
传输控制具有流量控制拥塞控制没有拥塞控制
数据单元面向字节流面向报文
数据边界不保存数据边界UDP保留数据边界
有序性传输数据有序不保证数据的有序性
连接数量点对点,每一条TCP连接只能有两个端点(即两个套接字一对一,一对多,多对一,多对多
开销首部开销大 至少20字节首部开销小 8字节
通信提供全双工通信 TCP连接两端都设有发送缓存接受缓存
传输速度较慢较快

二、提供服务的应用层协议

image.png

可以简单的记为:
带有T的协议采用TCP(TFTP除外)
不带T的协议采用UDP

三、TCP的可靠性原理

TCP的可靠性原理

理想的传输条件有以下两个特点:

a.传输信道不产生差错,保证传输数据正确。

b.不管发送方以多快的速度发送数据,接收方总是来得及处理收到的数据。

(1)首先,采用三次握手来建立TCP连接,四次挥手来释放TCP连接,从而保证建立的传输信道是可靠的。

(2)其次,TCP采用了连续ARQ协议(回退N,Go-back-N;超时自动重传)来保证数据传输的正确性,使用滑动窗口协议来保证接方能够及时处理所接收到的数据,进行流量控制

(3)最后,TCP使用慢开始拥塞避免快重传快恢复来进行拥塞控制,避免网络拥塞。