UDP

  • 无连接
  • 面向消息,有记录边界
  • 不可靠
    • 丢包
    • 顺序
    • 包重复

TCP

  • 有连接
  • 面向字节流,无记录边界
  • 可靠
    • 丢包 => ACK && RTT estimation && retransmission
    • 顺序 => SYN
    • 包重复 => SYN
  • 流量控制(flow controll)
    • 过载保护的一种方案
    • advertised window(滑动窗口)
  • 全双工(full-duplex)
    • 可以通过shutdown函数转为半双工

本文由 arganzheng 创作,采用 CC BY 4.0 许可协议。在保留原文作者、署名以及完整原文链接(https://arganzheng.life/udp-vs-tcp.html)的前提下,欢迎各种形式的转载、翻译或商业引用。


COMMENTS

评论存放在 GitHub Discussions, 用 GitHub 账号登录即可发表,支持 Markdown。 想针对正文某句话说?选中那段文字,点浮出的「评论」即可划线评论;觉得哪里写错了,发表时勾上「同时提交 Issue」。 有人回复你时 GitHub 会按你的通知设置发邮件,不用守在这里。

×