1、TCP 面向连接(如打电话要先拨号建立连接);UDP 是无连接的,即发送数据之前不需要建立连接。2、TCP 连接只能是点到点、一对一的;UDP 支持一对一,一对多,多对一和多对多的交互通信。
网络协议是每个前端工程师都必须要掌握的知识,TCP/IP 中有两个具有代表性的传输层协议,分别是 TCP 和 UDP。
连接和连接对象数量的区别
1、TCP 面向连接(如打电话要先拨号建立连接);UDP 是无连接的,即发送数据之前不需要建立连接。
2、TCP 连接只能是点到点、一对一的;UDP 支持一对一,一对多,多对一和多对多的交互通信。
安全方面的区别
TCP 提供可靠的服务,通过 TCP 连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP 尽最大努力交付,即不保证可靠交付。
传输效率的区别
TCP 传输效率相对较低。UDP 传输效率高,适用于对高速传输和实时性有较高的通信或广播通信。
使用场景的区别
UDP 需要资源少,网络情况较好,不需要一对一沟通,建立连接,而是可以广播的应用,DHCP 就是一种广播形式,基于 UDP;需要处理速度快,时延低,可以容忍少数丢包,但是要求即使网络拥塞也不退缩,这也就早就了 UDP 的简单、处理速度快。
TCP 源端口和目标端口不可少,包的序号是为了解决乱序问题,为了解决包的先后顺序,还有就是确认序号,发出去的包要有确认,不然无法知道是否收到,若没有收到就要重新发送,直到送达,这就是 TCP 的不丢包的实质。