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

本文总结了TCP与UDP的区别,包括TCP的面向连接与UDP的无连接特性,TCP的三次握手与可靠传输,以及UDP的高效但不可靠的特点。此外,还探讨了UDP在实时性要求高的场景下有时优于TCP的原因,并列举了TCP(如FTP、HTTP)和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对实时性要求较为严格的情况下,采用自定义重传机制,能够把丢包产生的延迟降到最低,尽量减少网络对进程造成影响

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值