iOS :TCP、UDP
2019-09-19 本文已影响0人
零粹
TCP是面向有连接,有可靠的流协议。保证两端通讯主机之间的通讯可达,可以处理丢包、乱序等异常,可以有效利用宽带、缓解网络拥堵。
UDP是面向无连接,不可靠的数据报协议。不会处理丢包、乱序等异常,一般交给上层应用层处理。
UDP的特点及使用场景
UDP不提供复杂的控制机制,利用IP提供面向无连接的通讯服务,随时都可以发送数据,处理简单且高效,经常用于以下场景:
1、包总量较小的通信(DNS、SNMP)
2、视频、音频等多媒体通信(即时通信)
3、广播通信
TCP的特点及使用场景
相对于UDP,TCP实现了数据传输过程中的各种控制,可以进行丢包时的重发机制,还可以对次序乱掉的包进行顺序控制。
在对可靠性要求较高的情况下,可以使用TCP,即不考虑UDP的情况,都可以选择TCP。
总结
1、TCP 是面向连接的,UDP 是面向无连接的;故 TCP 需要建立连接和断开连接,UDP 不需要。
2、TCP 是流协议,UDP 是数据包协议;故 TCP 数据没有大小限制,UDP 数据报有大小限制(UDP 协议本身限制、数据链路层的 MTU、缓存区大小)。
3、TCP 是可靠协议,UDP 是不可靠协议;故 TCP 会处理数据丢包重发以及乱序等情况,UDP 则不会处理。