计算机网络 TCP和UDP的区别
计算机网络 TCP和UDP的区别
一、协议的特点
特点 | TCP | UDP |
---|---|---|
连接 | 面向连接 | 无连接 |
可靠性 | 提供可靠 交付 传送的数据无差错、不丢失、不重复、按序到达 | 尽最大努力交付,即不保证可靠交付 |
传输控制 | 具有流量控制 和拥塞控制 | 没有拥塞控制 |
数据单元 | 面向字节流 | 面向报文 |
数据边界 | 不保存数据边界 | UDP保留数据边界 |
有序性 | 传输数据有序 | 不保证数据的有序性 |
连接数量 | 点对点,每一条TCP连接只能有两个端点(即两个套接字 ) | 一对一,一对多,多对一,多对多 |
开销 | 首部开销大 至少20字节 | 首部开销小 8字节 |
通信 | 提供全双工 通信 TCP连接两端都设有发送缓存 和接受缓存 | |
传输速度 | 较慢 | 较快 |
二、提供服务的应用层协议
可以简单的记为:
带有T的协议采用TCP(TFTP除外)
不带T的协议采用UDP
三、TCP的可靠性原理
TCP的可靠性原理
理想的传输条件有以下两个特点:
a.传输信道不产生差错,保证传输数据正确。
b.不管发送方以多快的速度发送数据,接收方总是来得及处理收到的数据。
(1)首先,采用三次握手来建立TCP连接,四次握手来释放TCP连接,从而保证建立的传输信道是可靠的。
(2)其次,TCP采用了连续ARQ协议(回退N,Go-back-N;超时自动重传)来保证数据传输的正确性,使用滑动窗口协议来保证接方能够及时处理所接收到的数据,进行流量控制。
(3)最后,TCP使用慢开始、拥塞避免、快重传和快恢复来进行拥塞控制,避免网络拥塞。