TCP与UDP有什么区别?各自的定义又是什么?

2025-02-23 11:33:56
推荐回答(2个)
回答1:

TCP与UDP区别

  1. TCP提供的是面向连接的、可靠的数据流传输;

    UDP提供的是非面向连接的、不可靠的数据流传输。

  2. TCP提供可靠的服务,通过TCP连接传送的数据,无差错、不丢失,不重复,按序到达;UDP尽最大努力交付,即不保证可靠交付。

  3. TCP面向字节流;

    UDP面向报文。

  4. TCP连接只能是点到点的;

    UDP支持一对一、一对多、多对一和多对多的交互通信。

  5. TCP首部开销20字节;

    UDP的首部开销小,只有8个字节。

  6. TCP的逻辑通信信道是全双工的可靠信道;

    UDP的逻辑通信信道是不可靠信道。

TCP定义

TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。

UDP定义

UDP (User Datagram Protocol 用户数据报协议)是OSI(Open System Interconnection开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

回答2:

两者区别在于以下几点:

1、连接性

TCP面向连接,也就是在发送和接收数据之前,必须和对方建立连接,也就是我们常说的用来建立连接的3次握手和负责断开连接的4次挥手;而UDP面向无连接,也就是不需要建立连接即可发送和接收数据。

2、可靠性

TCP提供可靠的服务,传输过程中可以确保连接可靠稳定,如编号确认、流量控制、计时器等,确保数据不丢失不出错。

3、报文首部

TCP报文首部有20个字节,额外开销大;UDP报文首部有8个字节,标题短开销小。

4、报文结构

TCP面向字节流,将应用层报文分解成多个TCP报文段进行传输,到底目的站后重新分配;UDP面向报文,不拆分报文,1次发送1个报文。

5、吞吐量控制

TCP拥塞控制、流量控制、重传机制、滑动窗口等机制保证传输质量,而UDP却没有。

6、双工性

TCP只能点对点全双工通信,UDP支持一对一、一对多、多对一、多对多的交互通信。