UDP/TCP ⑤-KCP || QUIC || 应用场景

这里是Themberfue 

 传输层我们到这就已经差不多进入尾声了,这节我们主要做做扩展~~~


 应用场景

  • 通过之前的学习我们知道 UDP 协议 和 TCP 协议 的一些基本的机制,这两的差别就在于 UDP 是不可靠传输,而 TCP 是可靠传输
  • 但是,TCP 协议因为要保证可靠传输而引入了一些机制,这些机制会导致数据传输效率大幅下降,尽管 TCP 协议作出了很多优化,但其传输速度依然不敌 UDP 协议。
  • 所以,两个协议应用的场景不尽相同。TCP 协议 适合应用在对数据传输速度要求不高的,但是数据必须可靠到达的场景。UDP 协议 适合应用在对数据传输速度要求高的,但是可靠性不高的场景。

UDP应用场景

实时通信和流媒体

  • 视频直播、语音通话、在线游戏
    • 这些场景对时延敏感,需要快速传输数据。
    • 丢失少量数据包对整体体验影响不大。
  • 如:一些直播平台、微信语音通话。

广播和多播通信

  • 协议: 广播(Broadcast)和多播(Multicast)通信通常使用UDP。
  • 应用:
    • 局域网设备发现(如UPnP)。
    • 网络中的节点间状态同步。

简单查询服务

  • DNS查询
    • DNS使用UDP快速响应客户端的域名解析请求。
    • 不需要复杂的握手或连接管理。

轻量级数据传输

  • 如:SNMP(简单网络管理协议)。
  • 场景:监控设备状态的简单数据通信。

在线游戏

  • 游戏场景下,实时性优先于可靠性(如玩家位置或动作信息)。
  • 丢失一些数据不会影响整体体验,延迟过大反而会降低游戏体验。

总结

  • 优点:
    • 传输开销小。
    • 时延低。
    • 支持广播、多播。
  • 缺点:
    • 无可靠性保证,丢包、乱序、重复都需要应用层处理。

TCP应用场景

文件传输

  • 协议: FTP、SFTP、HTTP/HTTPS。
  • 场景:
    • 文件下载、上传。
    • 网站内容加载(如浏览网页)。
    • 数据传输必须完整且准确。

电子邮件

  • 协议: SMTP、POP3、IMAP。
  • 场景:
    • 邮件的发送、接收。
    • 确保邮件内容不丢失、不重复。