当前位置: 首页 > 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安装及使用]
  • 东北三省,十年少了一个“哈尔滨”
  • “站在亚洲实现整体振兴的新起点上”——习近平主席对越南、马来西亚、柬埔寨进行国事访问纪实
  • 两名中国公民在墨尔本被海浪卷走,我领馆发文提醒
  • 接续驰援,中国政府援缅卫生防疫队出发赴缅
  • 白宫慌了!将设工作组紧急处理对中国加征关税危机
  • 商务部新闻发言人就美对我海事、物流和造船等领域宣布最终措施答记者问