TCP和UDP总结(区别、优缺点、应用实例)

TCP和UDP的区别和优缺点以及应用实例

TCP和UDP区别总结:

  1. TCP面向连接,UDP是无连接的
    TCP在开始数据传输之前要经过三次握手,UDP却不需要任何准备即可进行数据传输,因此UDP不会引入建立连接的时延
  2. TCP提供可靠的服务,UDP尽最大努力交付,即不保证可靠交付
    TCP传输数据具有重传机制,如果在传输数据的过程中发生丢包事件,发送方会重传丢失的分组,所以TCP保证发送的分组一定能到达接收方,因此是可靠的。
    UDP在应用层得到数据后,附加上用于多路复用/多路分解服务的源端口号和目的端口号字段后,直接将形成的报文段传输给网络,而网络层是不可靠的,因而不能保证数据传输的可靠性。(可以在应用层实现UDP数据传输的可靠性)
  3. UDP具有较好的实时性,工作效率比TCP高
    UDP在传输数据前不需要建立连接,没有繁琐的握手过程,没有复杂的拥塞控制算法和重传机制,所以UDP相对于TCP具有较高的效率。
  4. 每一条TCP连接只能是点到点,UDP支持一对一、一对多、多对多
  5. TCP对系统资源要求较多,UDP对系统资源要求较少
    TCP建立连接后,会为连接分配发送缓存和接受缓存,维护拥塞控制变量以及序号和确认号的参数,因此需要占用较多的系统资源。而UDP是无连接的,对系统资源要求较少

为什么UDP有时比TCP更有优势?

  1. 网速的提升给UDP的稳定性提供可靠网络保障,丢包率很低,如果使应用层重传,能够确保传输的可靠性
  2. TCP为了实现网络通信的可靠性,使用了复杂的拥塞控制机制算法,建立了繁琐的握手过程,由于TCP内置的系统协议栈中,极难对其进行改进。
  3. 基于UDP对实时性要求较为严格的情况下,采用自定义重传机制,能够把丢包产生的延迟降到最低,尽量减少网络对进程造成影响

UDP实现可靠数据传输的实例

TCP和UDP应用的例子

TCP应用:

  1. FTP:文件传输协议
  2. SSH:安全登录、文件传送(SCP)和端口重定向
  3. Telnet:不安全文本传送
  4. SMTP:简单邮件传输协议
  5. HTTP:超文本传输协议

UDP应用:

  1. 流媒体

    如果采用TCP,一旦发生丢包,TCP会将后续包缓存起来,等前面的包重传并接收到后再继续发送,延迟会越来越大。基于UDP的协议入WebRTC使极佳的选择。

  2. 实时游戏

    对实时要求较为严格的情况下,采用自定义的可靠UDP协议,自定义重传策略,能哦把丢包产生的延迟降到最低,尽量减少网络问题对游戏性造成的影响。

  3. 物联网

发布了165 篇原创文章 · 获赞 11 · 访问量 4885

猜你喜欢

转载自blog.csdn.net/weixin_43784305/article/details/104918771
今日推荐