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