TCP和UDP有哪些区别是面试常考题,也是计算机网络的常识。每个人对它都有一定的了解,但又很难面面俱到,答得很全。现在整理如下:
传输层主要协议有TCP和UDP。UDP(User Datagram Protocol)提供无连接的通信,不能保证数据包被发送到目标地址,音频媒体传输和及时通讯常常用到UDP。TCP(Transmission Control Protocol)是一种面向连接的、可靠,基于字节流的通信协议。
TCP和UDP都是常用的通信方式,它们各有所长,在特定情况下,发挥不同的作用。有些情况下需要可靠的连接,比如文件传输,有些情况下,则需要更高的及时性,以及传输效率。具体而言,二者区别主要体现在以下几点:
- 1、TCP是面向连接的传输协议,UDP提供的是无连接的数据包传输服务。
- 2、TCP具有高可靠性,确保数据的正确性,不出现丢失或乱序;UDP在传输数据包前不建立连接,不对数据包进行检查与修改,无需等待对方应答,所以会出现分组丢失,重复乱序等问题,应用程序复杂可靠性方面的所有工作。
- 3、TCP对系统资源要求更高,UDP对系统资源要求较少。
- 4、UDP具有较好的实时性,工作效率较TCP高。
- 5、UDP段结构比TCP段结构简单,因此网络开销较小。