udp和tcp的区别

 
udp和tcp的区别

Udp接收到应用协议的某个消息(已编码为二进制)后,不会进行分包,但需要记录当前数据包的大小(包括消息大小和8个字节的头部),然后将其交给IP层。相比之下,TCP接收到应用层协议的消息(已编码为二进制)后,会根据计算机连接的网络数据链路层MTU(最大传输单元)确定是否需要进行分包,然后将其交给IP层。

UDP是非面向连接的,即在发送数据之前不需要建立连接。而TCP则是面向连接的,也就是说通过TCP连接传送的数据会无差错、不丢失、不重复,并按照顺序到达。也就是说,UDP只负责发送数据,不关心是否到达,而TCP则负责发送并确保数据到达。因此,从安全性方面考虑,TCP更具优势。

UDP适用于实时性要求高且消息较小(小于以太网MTU1500字节)的通信程序。关键是它允许重复发送消息,而无需等待确认,当然最终还是需要确认。如果是在内网环境下,网络非常稳定,UDP几乎不会有问题。如果对性能要求极高,可以考虑使用UDP。另外,如果公网网络资源有限,而用户之间需要传递大量数据,可以考虑使用UDP进行NAT穿透。

分享到:
赞(0)