何时使用UDP来代替TCP

UDP优点

  • UDP支持多播和组播,若应用程序使用多播或组播,则必然使用UDP
  • UDP没有连接的建立和拆除(三次握手和四次挥手)。

TCP优点

不是所有的应用程序都需要这些特点。对于音视频应用程序而言,丢失的分组完全不必要重传。对简单的请求-应答事务处理,若两端事先定义好最大的请求和应答大小,就不需要窗口式的流量控制。

  • 正面确认,丢失分组重传,重复分组检测,排序乱序分组。
  • 窗口式流控,接收端TCP告知发送端自己为接收数据分配了多大的缓冲区空间,而发送端不能超过这个大小的数据。发送端的未确认数据量不能超过接收端告知的窗口。
  • 慢启动和拥塞避免,发送端实施的一种流控方式。通过检测当前的网络容量来应对阵发的拥塞。

总结

  • 广播和多播必须使用UDP
  • 对于简单的请求-应答程序可以使用UDP,错误检测可以在应用层实现,包括确认,超时和重传等。流量控制对于合理大小的请求和应答往往不成问题。若需要多个分组,则TCP的开销就无关紧要了。
  • 海量的数据传输(如文件传输)不应该使用UDP,这种情况下还需要流控,拥塞避免和慢启动等特性。

给UDP增加可靠性

  • 超时和重传,用于处理丢失的数据报
  • 序列号,供客户端验证一个应答是否匹配相应的需求
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值