tcp和 udp区别

相同点:都是传输层协议

不同点

是否面向连接

tcp:面向连接

  • 三次握手,四次挥手
  • 端对端连接
  • 全双工通信(允许双端同时收发数据)

udp:无连接

  • 无三次握手,四次挥手
  • 支持一对一,一对多,多对多

数据传输方式

tcp:字节流

  • 完整的用户消息可能被拆分成多个tcp报文进行传输 MTC、MSS
  • 对于接收方而言,需要处理粘包问题

udp:数据报文

  • udp每次收发都是完整的报文

是否可靠

tcp:可靠传输

  • tcp分段、进行发给送数据包的控制
  • 序列号,tcp报文包含序列号,确保完整接收,丢失重复数据,排序
  • 确认应答机制,确认数据包收到
  • 校验和,检测报文在传输过程中的数据变化
  • 滑动窗口,流量控制,防止包丢失
  • 拥塞控制
  • 重传机制

udp:不可靠传输

  • 不保证消息交付
  • 不保证交付顺序
  • 不进行拥塞控制
  • 不进行流量控制 没有接收缓冲区

传输效率

tcp:效率低

  • 实现可靠传输造成性能损失
  • 头信息20个字节

udp:效率高

  • 不可靠传输
  • 头信息8个字节,吞吐量就会大一些

应用场景

tcp:要求数据问题,对速度需求不高

udp:实时性要求高

相关推荐
北极光SD-WAN组网1 小时前
什么是局域网IP?深度解析及远程访问实现指南
网络·tcp/ip·智能路由器
ILL11IIL1 小时前
nginx的https的搭建
网络协议·http·https
2501_915106321 小时前
iOS 抓不到包怎么办?从 HTTPS 代理排查到 TCP 数据流捕获的全链路解决方案
android·tcp/ip·ios·小程序·https·uni-app·iphone
车载测试工程师2 小时前
CAPL学习-ETH功能函数-概述
网络协议·can·以太网·capl·canoe
科技块儿2 小时前
常见IP归属地数据库对比
网络·数据库·tcp/ip
bloglin999993 小时前
ssl和tls加密
网络·网络协议·ssl
闲人编程3 小时前
HTTP协议深度解析与RESTful API设计
网络协议·http·restful·url·接口设计·codecapsule
繁华似锦respect3 小时前
C++ 设计模式之工厂模式详细介绍
java·linux·c++·网络协议·设计模式
va学弟3 小时前
TCP 与 UCP 比较
服务器·网络·tcp/ip
Mr.H01273 小时前
深入理解高级IO:从模型到实战,实现高性能并发服务器
linux·服务器·网络·tcp/ip·php