TCP和UDP传输方式对比

UDP传输方式

UDP (User Datagram Protocol )用户数据报协议,是一种面向无连接的传输方式,不提供复杂的控制机制, 如果传输过程中出现丢包, UDP 也不负责重发. 甚至当出现包到达顺序乱掉时候也没有纠正的功能. 由于 UDP 面向无连接, 它可以随时发送数据. 再加上 UDP 本身的处理既简单又高效, 因此常用于以下几个方面:
1.包总量较少的通信(DNS)
2.视频、音频等多媒体通信(即时通信)
3.限定于 LAN 等特定网络中的应用通信
4.广播通信(广播、多播)

TCP传输方式

TCP (Transmission Control Protocol)传输控制协议,是一种面向有连接的通信服务, 只有在确认通信对端存在时才会收发数据, 从而可以控制通信流量的浪费. TCP 提供了数据传输时的各种控制功能, 丢包时可以进行重发控制, 还可以将次序乱掉的分包进行顺序控制。TCP最大的特点就是可靠传输:
1.应答机制:对方收到消息底层会回复

2.超时重传:给多方发送一个数据,如果一段时间内对方没有接收,会隔一段时间给对方再次发送,如果一直没有回复,会认为对方掉线了

3.错误校验:如果接收的数据包序号发生了错乱,TCP会自动排序,保证数据的有序性,如果有重复数据包,会删除重复的数据包

4.流量控制:数据发送在网卡缓存区达到一定上限,对方不会一直发送数据,需要等待对方接收数据,网卡缓存区有空间再发送,保证网卡缓存不会超出

UDP与TCP的不同

  UDP传输协议(用户数据报协议) TCP传输协议(传输控制协议)
1 发送数据不需要建立连接(面向无连接) 发送数据需要建立连接(面向有连接)
2 不能保证数据的有效性和准确性 可以保证数据的有效性和准确性
3 只能发送少量数据,每个数据包最大64K 可以发送大量数据
4 目的主机:一对一、一对多 目的主机:一对一
5 适合做广播,主要用于广播和视频直播等 不适合做广播,传输速度没有UDP快
6 比TCP节省资源 使用资源较多
 

UDP 主要用于哪些对高速传输和实时性要求高的通信广播通信。

UDP多用于即时通信和广播

TCP 用于有必要实现可靠传输的情况. 由于它是面向有连接并具备顺序控制、重发控制等机制的, 所以他可以为应用提供可靠的传输。

TCP多用于文件和数据的传输。

3.总结:
我们举一个通过 IP 电话进行通话的例子. 如果使用TCP, 数据在传输过程中如果丢失被重发, 会导致无法流畅传输通话人的声音, 会导致无法进行正常交流. 而采用 UDP, 它不会进行重发处理. 从而也就不会有声音大幅度延迟到达的问题 即使有部分数据丢失, 也只会影响某一小部分的通话. 此外, 在多播与广播通信中也使用 UDP, 而不是 TCP. 因此, TCP 和 UDP 应该根据应用的目的按需使用。
 

猜你喜欢

转载自blog.csdn.net/u010530712/article/details/90023668