TCP协议和UDP协议横向对比

TCP协议(传输控制协议)

  1. TCP是面向连接的传输协议,建立连接需要经历三次握手,断开连接时需要经过四次挥手。传输数据的时候需要回复ACK包确认,多种机制保证了数据能够正确到达。
  2. TCP协议是面向字节流的协议。
  3. TCP协议是可靠传输,应用于文件传输,重要状态更新等场景。

UDP协议(用户数据报协议)

  1. UDP是非连接的传输协议,没有建立连接和断开连接的过程,它只是简单的把数据丢到网络中,不需要ACK包确认。
  2. UDP协议是面向数据报的协议。
  3. UDP协议是不可靠传输,应用于对告诉传输和实时性要求比较高的通讯领域,如:视频传输,语音传输。UDP协议还可用于广播。

从上面的对比来看,似乎TCP更优一筹。但是事实上并不是这样子的。

如果只考虑可靠性,TCP的确比UDP好。但UDP在结构上比TCP更加简洁,不会发送ACK的应答消息,也不会给数据包分配Seq序号,所以UDP的传输效率有时会比TCP高出很多,编程中实现UDP也比TCP简单。

UDP 的可靠性虽然比不上TCP,但也不会像想象中那么频繁地发生数据损毁,在更加重视传输效率而非可靠性的情况下,UDP是一种很好的选择。比如视频通信或音频通信,就非常适合采用UDP协议;通信时数据必须高效传输才不会产生“卡顿”现象,用户体验才更加流畅,如果丢失几个数据包,视频画面可能会出现“雪花”,音频可能会夹带一些杂音,这些都是无妨的。

与UDP相比,TCP的生命在于流控制,这保证了数据传输的正确性。

最后需要说明的是:TCP的速度无法超越UDP,但在收发某些类型的数据时有可能接近UDP。例如,每次交换的数据量越大,TCP 的传输速率就越接近于 UDP。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值