计算机网络 TCP和UDP的区别
这是我参与更文挑战的第1天,活动详情查看: 更文挑战
一、协议的特点
TCP/IP运输层的两个主要协议都是互联网的正式标准
(1)用户数据报协议UDP (User Datagram Protocol) [RFC 768]
(2)传输控制协议TCP (Transmission Control Protocol) [RFC 793]
| 特点 | 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使用慢开始、拥塞避免、快重传和快恢复来进行拥塞控制,避免网络拥塞。