网络传输协议:TCP和UDP的区别

举报
神的孩子在歌唱 发表于 2025/04/29 22:31:38 2025/04/29
【摘要】 网络传输协议:TCP和UDP的区别前言肝文不易,点个免费的赞和关注,有错误的地方请指出,看个人主页有惊喜。作者:神的孩子都在歌唱一、TCP(传输控制协议)1. 定义 : TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。2. 核心特点传输层协议:位于应用层和网络层(IP层)之间,为应用层提供可靠通信。可靠性:通过确认机制...

网络传输协议:TCP和UDP的区别

前言

肝文不易,点个免费的赞和关注,有错误的地方请指出,看个人主页有惊喜。

作者:神的孩子都在歌唱


image-20250218133532596

一、TCP(传输控制协议)

1. 定义 : TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。

2. 核心特点

  • 传输层协议:位于应用层和网络层(IP层)之间,为应用层提供可靠通信。

  • 可靠性:通过确认机制、重传机制、流量控制等确保数据无差错传输。

  • 面向连接:通信前需通过三次握手建立连接,结束后需通过四次挥手断开连接。

  • 有序性:保证数据按发送顺序到达接收端。

  • 适用场景:适用于文件传输、网页浏览等对可靠性要求高的场景。

3. 连接建立:三次握手

  • SYN(客户端→服务端):客户端发送带SYN=1和随机序列号seq=x的报文,请求建立连接。

  • SYN-ACK(服务端→客户端):服务端返回SYN=1ACK=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 转载说明:务必注明来源,附带本人博客连接

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。