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

TCP与UDP协议详解

TCP与UDP协议详解


1. 核心概念与定位
  • TCP(Transmission Control Protocol)

    • 面向连接:通信前需建立可靠连接(三次握手),通信结束断开连接(四次挥手)。
    • 可靠传输:通过确认、重传、流量控制、拥塞控制等机制保证数据完整有序。
    • 基于字节流:数据无边界,按顺序传输(如发送“Hello”和“World”,接收方可能一次读到“HelloWorld”)。
  • UDP(User Datagram Protocol)

    • 无连接:无需预先建立连接,直接发送数据。
    • 不可靠传输:不保证数据到达、不保证顺序、无重传机制。
    • 基于数据报:每个数据包有明确边界(发送两次“Hello”,接收方会收到两次独立的“Hello”)。

比喻

  • TCP像打电话:先拨号(三次握手),通话中确保对方听到(重传),结束说“再见”(四次挥手)。
  • UDP像发短信:直接发送,不关心对方是否收到,可能丢信或乱序。

2. 关键特性对比
特性TCPUDP
连接方式面向连接无连接
可靠性可靠(数据不丢失、不重复、按序到达)不可靠(可能丢包、乱序、重复)
传输速度较慢(需建立连接、确认机制)极快(无额外开销)
数据边界无边界(字节流)有边界(数据报)
头部开销大(至少20字节)小(仅8字节)
适用场景文件传输、网页浏览、邮件视频流、实时游戏、DNS查询
拥塞控制/流量控制

3. 核心机制详解
3.1 TCP的三次握手与四次挥手
  • 三次握手(建立连接)

    1. 客户端发送SYN=1, seq=x
    2. 服务端回复SYN=1, ACK=1, seq=y, ack=x+1
    3. 客户端发送ACK=1, seq=x+1, ack=y+1

    比喻
    客户:“我要连接”(SYN),服务器:“同意,请确认”(SYN+ACK),客户:“确认”(ACK)。

  • 四次挥手(断开连接)

    1. 主动方发送FIN=1, seq=u
    2. 被动方回复ACK=1, seq=v, ack=u+1
    3. 被动方发送FIN=1, seq=w, ack=u+1
    4. 主动方回复ACK=1, seq=u+1, ack=w+1

    比喻

相关文章:

  • RK3588 hdmirx 调试(含v4l2工具,edid编辑)
  • 并发编程之线程安全lock
  • 739. 每日温度
  • 西交交互增强与细节引导的具身导航!OIKG:基于观察图交互与关键细节融合框架下的视觉语言导航
  • 在MPI中将全局通信子划分为节点本地通信子
  • 前端JavaScript-对象-同Python及C++对比
  • 结合人工智能的应用
  • 5.22本日总结
  • leetcode每日一题 -- 3362. 零数组变换 III
  • PyQt学习系列01-框架概述与基础环境搭建
  • memcpy 函数的使用 (C语言)
  • 【SpringBoot实战指南】使用 Spring Cache
  • 通义灵码 2.5 版深度评测:智能编程的边界在哪里?
  • C# 项目
  • 【工具】Quicker/VBA|PPT 在指定位置添加参考线
  • Elasticsearch 分页查询的 from+size 有什么缺陷?如何优化深度分页?比较scroll API与search_after的差异
  • session、cookie或者jwt 解释一下
  • docker 启动一个python环境的项目dockerfile版本
  • HarmonyOS 鸿蒙应用开发基础:@Watch装饰器详解及与@Monitor装饰器对比分析
  • Android 添加系统服务的完整流程
  • 王野天 女演员/金阊seo网站优化软件
  • 做网站最主要/全网营销骗局揭秘
  • 郑州网站制作怎么样/青岛seo网站排名优化
  • 乐清公司做网站/合肥网站推广电话
  • 网站被主流搜索引擎收录的网页数量是多少/网店运营
  • 搜索引擎推广特点/东营seo网站推广