tcp和 udp区别

相同点:都是传输层协议

不同点

是否面向连接

tcp:面向连接

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

udp:无连接

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

数据传输方式

tcp:字节流

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

udp:数据报文

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

是否可靠

tcp:可靠传输

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

udp:不可靠传输

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

传输效率

tcp:效率低

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

udp:效率高

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

应用场景

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

udp:实时性要求高

相关推荐
佩佩(@ 。 @)7 小时前
网络编程-创建TCP协议服务器
服务器·网络·tcp/ip
Kookoos9 小时前
System.IO.Pipelines 与“零拷贝”:在 .NET 打造高吞吐二进制 RPC
网络协议·rpc·.net·零拷贝·二进制协议·pipelines
MC皮蛋侠客9 小时前
使用Python实现DLT645-2007智能电表协议
python·网络协议·tcp/ip·能源
顾林海11 小时前
网络江湖的两大护法:TCP与UDP的爱恨情仇
网络协议·面试·性能优化
自由生长202414 小时前
每日知识-计算机网络-有了TCP协议还要HTTP干啥?
网络协议
9527华安1 天前
FPGA高端项目:图像采集+Aurora 8B10B+UDP图传架构,基于GTH高速收发器的光口转网口,提供工程源码和技术支持
fpga开发·架构·udp·aurora·gth·高速收发器·aurora 8b10b
tan77º1 天前
【Linux网络编程】分布式Json-RPC框架 - 项目设计
linux·服务器·网络·分布式·网络协议·rpc·json
半路_出家ren1 天前
路由综合实验RIP,OSPF,BGP
网络·网络协议·rip·ospf·ebgp·ibgp
最好的药物是乌梅1 天前
OSI参考模型&TCP/IP模型 二三事
tcp/ip·计算机网络·408·流量控制·osi模型·计算机考研·拥塞控制
重启的码农1 天前
NAT穿透技术:原理、实现与应用全景解析
网络协议