当前位置: 首页 > news >正文

【刷题Day20】TCP和UDP

TCP 和 UDP 有什么区别?

TCP提供了可靠、面向连接的传输,适用于需要数据完整性和顺序的场景。

UDP提供了更轻量、面向报文的传输,适用于实时性要求高的场景。

特性TCPUDP
连接方式面向连接无连接
可靠性提供可靠性,保证数据按顺序到达不可靠,不保证顺序或完整性
流量控制/拥塞控制提供流量控制和拥塞控制没有流量控制和拥塞控制
顺序保证保证数据顺序不保证数据顺序
头部大小较大(20字节及以上)较小(8字节)
性能较低,延迟大较高,延迟小
数据传输模式字节流传输模式数据报传输模式
适用场景文件传输、Web、邮件等需要可靠性的应用实时通讯、语音、视频、游戏等高性能要求应用

说说 TCP 的三次握手?

  1. 客户首先发送一个SYN(同步序列编号)消息给服务器
  2. 服务器收到后回复一个SYN-ACK(同步序列编号-确认)消息
  3. 最后客户端再发送一个ACK(确认)消息确认服务器已经收到SYN-ACK消息
  4. 完成三次握手,建立可靠的TCP连接。

TCP 是用来解决什么问题?

TCP(Transmission Control Protocol)通过提供可靠传输、流量控制、拥塞控制和连接管理,解决了数据在不可靠的IP网络上的传输问题:

  1. 可靠性传输: TCP确保数据包在网络传输过程中不丢失、不重复,并且按顺序到达。通过确认(ACK)、重传机制以及序列号,TCP能够保证数据在不可靠的IP网络上可靠传输。
  2. 流量控制: TCP通过滑动窗口机制调节发送方的数据发送速率,防止接收方因为处理能力有限而被数据流淹没。
  3. 拥塞控制: TCP通过拥塞避免算法(如慢启动、拥塞避免、快速重传和快速恢复)来防止网络过载,确保网络资源的公平使用和稳定性。
  4. 连接管理: TCP是面向连接的协议,采用三次握手(建立连接)和四次挥手(断开连接)机制来管理会话,确保通信的可靠性和状态的同步。

相关文章:

  • 在STM32的定时器外设中,选择使用哪个外部时钟配置函数
  • 【C++算法】65.栈_删除字符中的所有相邻重复项
  • MOPSO实现无人机多目标路径规划(Matlab完整源码和数据)
  • package.json ^、~、>、>=、* 详解
  • 【java实现+4种变体完整例子】排序算法中【计数排序】的详细解析,包含基础实现、常见变体的完整代码示例,以及各变体的对比表格
  • 【大模型】 LangChain框架 -LangChain用例
  • [matlab]南海地形眩晕图代码
  • Spring Boot + Caffeine:打造高性能缓存解决方案
  • Elasticsearch:使用 ES|QL 进行搜索和过滤
  • 【AI提示词】物理学家
  • 栈(c++)
  • 【java实现+4种变体完整例子】排序算法中【选择排序】的详细解析,包含基础实现、常见变体的完整代码示例,以及各变体的对比表格
  • 【现代深度学习技术】循环神经网络04:循环神经网络
  • ArcGIS及其组件抛出 -- “Sorry, this application cannot run under a Virtual Machine.“
  • 基于 Linux 环境的办公系统开发方案
  • pytorch 51 GroundingDINO模型导出tensorrt并使用c++进行部署,53ms一张图
  • 大数据建模与评估
  • Linux `init 4` 相关命令的完整使用指南
  • Nvidia显卡架构演进
  • 新手记录--从零开始[labelme安装及使用]
  • 澎湃读报丨解放日报8个版聚焦:牢记嘱托,砥砺奋进
  • 两部门预拨4000万元支持山西、广西、陕西做好抗旱救灾工作
  • 共绘“彩色上海”,IP SH艺术共创沙龙首期圆满举办
  • 学有质量、查有力度、改有成效,广大党员干部落实中央八项规定精神
  • 江西德安回应“义门陈遗址建筑被没收”:将交由规范的义门陈相关社会组织管理
  • 狄威已任国铁集团副总经理