TCP与UDP协议详解

TCP与UDP协议详解


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

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

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

比喻

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

2. 关键特性对比
特性 TCP UDP
连接方式 面向连接 无连接
可靠性 可靠(数据不丢失、不重复、按序到达) 不可靠(可能丢包、乱序、重复)
传输速度 较慢(需建立连接、确认机制) 极快(无额外开销)
数据边界 无边界(字节流) 有边界(数据报)
头部开销 大(至少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

    比喻

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

步行cgn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值