网络传输协议:TCP和UDP的区别
前言
肝文不易,点个免费的赞和关注,有错误的地方请指出,看个人主页有惊喜。
作者:神的孩子都在歌唱
一、TCP(传输控制协议)
1. 定义 : TCP(Transmission Control Protocol)是一种的传输层通信协议。
2. 核心特点
-
传输层协议:位于应用层和网络层(IP层)之间,为应用层提供可靠通信。
-
可靠性:通过确认机制、重传机制、流量控制等确保数据无差错传输。
-
面向连接:通信前需通过三次握手建立连接,结束后需通过四次挥手断开连接。
-
有序性:保证数据按发送顺序到达接收端。
-
适用场景:适用于文件传输、网页浏览等对可靠性要求高的场景。
3. 连接建立:三次握手
-
SYN(客户端→服务端):客户端发送带
SYN=1
和随机序列号seq=x
的报文,请求建立连接。 -
SYN-ACK(服务端→客户端):服务端返回
SYN=1
、ACK=1
,携带确认号ack=x+1
及随机序列号seq=y
。 -
ACK(客户端→服务端):客户端发送
ACK=1
,确认号ack=y+1
,完成连接建立。
4. 连接终止:四次挥手
-
FIN(主动方→被动方):主动方发送
FIN=1
请求终止连接。 -
ACK(被动方→主动方):被动方返回
ACK=1
确认收到请求。 -
FIN(被动方→主动方):被动方处理完数据后发送
FIN=1
。 -
ACK(主动方→被动方):主动方确认终止,连接关闭。
二、UDP(用户数据报协议)
1. 定义 : UDP(User Datagram Protocol)是一种无连接的、不可靠的传输层协议,以数据报形式传输信息。
2. 核心特点
-
无连接:无需建立/断开连接,直接发送数据。
-
不可靠性:不保证数据顺序、完整性或可达性。
-
高效性:头部开销小(仅8字节),传输速度快。
-
无拥塞控制:适合实时应用(如视频通话、在线游戏)。
-
支持多播/广播:可同时向多个目标发送数据。
3. 适用场景
-
实时性要求高、可容忍少量丢包的场景(如DNS查询、流媒体)。
-
需广播或多播传输的场景。
三、TCP与UDP对比
特性 | TCP | UDP |
---|---|---|
连接方式 | 面向连接 | 无连接 |
可靠性 | 可靠(重传、确认机制) | 不可靠 |
数据顺序 | 保证顺序 | 不保证顺序 |
速度 | 较慢(需握手、确认) | 极快 |
头部大小 | 20~60字节 | 8字节 |
适用场景 | 文件传输、Web浏览 | 实时通信、广播/多播 |
作者:神的孩子都在歌唱 本人博客:https://blog.csdn.net/weixin_46654114
- 点赞
- 收藏
- 关注作者
评论(0)