主页 > 经验 > udp和tcp的区别
udp和tcp的区别
Udp接收到应用协议的某个消息(已编码为二进制)后,不会分包,但是要记录当前数据包的大小(消息大小加上8个字节头部),然后交给IP层。而TCP接收到应用层协议的消息(已编码为二进制)后,然后参考该计算机连接的网络数据链路层MTU(最大传输单元)确定是否要分包,然后交给IP层。
UDP是非面向连接的,即发送数据之前不需要建立连接,而TCP则是面向连接的,也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达。也就是说UDP管发不管到,而TCP管发管到。因此,在安全性方面来说,TCP更具有优越性。
Udp适用场合:如果需要做实时性很高且消息小(比如小于以太网的MTU1500Byte)的通信程序,UDP就很适合。关键消息重复发,不用等确认都可以,当然最终还是需要确认。如果是内网环境,网络非常稳定,UDP几乎不会出问题,如果极度要求性能,可以考虑。如果你公网网络资源有限,而用户之间需要传递大量数据,可以考虑用UDP做NAT穿透。
UDP是非面向连接的,即发送数据之前不需要建立连接,而TCP则是面向连接的,也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达。也就是说UDP管发不管到,而TCP管发管到。因此,在安全性方面来说,TCP更具有优越性。
Udp适用场合:如果需要做实时性很高且消息小(比如小于以太网的MTU1500Byte)的通信程序,UDP就很适合。关键消息重复发,不用等确认都可以,当然最终还是需要确认。如果是内网环境,网络非常稳定,UDP几乎不会出问题,如果极度要求性能,可以考虑。如果你公网网络资源有限,而用户之间需要传递大量数据,可以考虑用UDP做NAT穿透。