您的位置 首页 httpd

tcp与udp

  • TCP 就像打电话
    你必须先拨通(建立连接),确认对方听到了(确认应答)。如果你没听清,会要求对方重复(重传)。你们保证了对话内容一字不差,但可能会因为确认对方是否听到而花费更多时间35
  • UDP 就像发微信语音条
    你录完直接发出去,不管对方有没有收到,也不管顺序对不对。这样发送速度极快,但如果网络不好丢了包,对方听到的就是一段空白或杂音,没法自动补救
特性 TCP (传输控制协议) UDP (用户数据报协议)
连接方式 面向连接 (需三次握手建立连接) 无连接 (直接发送,无需握手)
可靠性 可靠 (数据不丢失、不重复、按序到达) 不可靠 (尽力而为,可能丢包、乱序)
传输单位 字节流 (没有固定边界,可能粘包) 数据报 (保留消息边界,发几次收几次)
速度与延迟 较慢 (因握手、确认、重传机制) 极快 (无连接无确认,头部开销小)
头部开销 20-60 字节 (功能多,包头大) 8 字节 (结构简单,包头小)
拥塞控制 有 (根据网络情况自动调整速度) 无 (网络拥塞时可能加剧拥堵)

 

 

 选择 TCP 的场景 (要“靠谱”)

当你需要传输的数据必须完整、准确,哪怕牺牲一点速度也无所谓时,就选 TCP。
  • 网页浏览 (HTTP/HTTPS):加载网页代码和图片,缺一个字节都可能导致页面错乱。
  • 文件传输 (FTP):文件损坏通常比慢一点更让人无法接受。
  • 电子邮件 (SMTP/POP3):邮件内容必须 100% 完整送达。
  • 数据库操作:银行转账、数据查询,绝不允许出错12

选择 UDP 的场景 (要“快”)

当你对实时性要求极高,宁可丢几帧数据也不愿卡顿,或者数据量很小、频繁发送时,就选 UDP。
  • 实时音视频 (直播/会议):视频通话时,如果某个画面包丢了,重传回来也是过时的画面,不如直接丢弃继续播放,保证流畅。
  • 在线游戏 (射击/竞技):玩家位置实时变动,旧的位置信息过时了就没用了,必须用最新的位置数据。
  • DNS 查询:简单的问一句“xxx域名IP是多少”,直接回一句就行,不需要建立连接的开销。
  • 物联网 (IoT):传感器高频发送的小数据包,用 UDP 更省资源12

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章