浅谈:TCP 和 UDP的关系和区别

TCP/IP网络体系架构共有四层(自下而上):网络接口层、网际层、运输层和应用层。其中,运输层主要提供端到端的、面向连接或者无连接的网络传输服务。TCP协议和UDP协议就是运输层上的两个主要协议。下面我们一起深入了解一下这两种协议。

UDP

UDP:User Datagram Protocol,用户数据报协议。是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。

  • UDP传送的数据单位是 UDP报文 或 用户数
  • UDP是无连接通信协议,即在数据传输时,数据的发送端和接收端不建立逻辑连接。简单来说,当一台计算机向另外一台计算机发送数据时,发送端不会确认接收端是否存在,就会发出数据,同样接收端在收到数据时,也不会向发送端反馈是否收到数据。
  • 由于使用UDP协议消耗资源少,通信效率高,所以通常都会用于音频、视频和普通数据的传输例如视频会议都使用UDP协议,因为这种情况即使偶尔丢失一两个数据包,也不会对接受结果产生太大影响。
  • UDP提供了无连接通信,且不对传送数据包进行可靠性保证,适合于一次传输少量数据,UDP传输的可靠性由应用层负责。UDP报文没有可靠性保证、顺序保证和流量控制字段等,可靠性较差。但是正因为UDP协议的控制选项较少,在数据传输过程中延迟小、数据传输效率高,适合对可靠性要求不高的应用程序,或者可以保障可靠性的应用程序,如DNS、TFTP、SNMP等。
  • 但是在使用UDP协议传送数据时,由于UDP的面向无连接性,不能保证数据的完整性,因此在传输重要数据时不建议使用UDP协议.
  • UDP的交换过程如下图所示:
    浅谈:TCP 和 UDP的关系和区别_第1张图片

【注意】:其数据被限制在64KB以内,超出这个范围就不能发送了

TCP

TCP:Transmission(Transfer) Control Protocol,传输控制协议。是一种面向连接的、可靠的传输层通信协议。

  • TCP传送的数据单位是TCP报文段
  • TCP协议是面向连接的通信协议,即传输数据之前,在发送端和接收端建立逻辑连接,然后再传输数据,它提供了两台计算机之间可靠无差错的数据传输。
  • 在TCP连接中必须要明确客户端与服务器端,由客户端向服务器端发送连接请求,每次连接的创建都需要经过“三次握手”
    A. 第一次握手:客户端向服务器端发出连接请求,等待服务器确认。
    B. 第二次握手:服务器端向客户端回送一个响应,通知客户端收到了连接请求。
    C. 第三次握手:客户端再次向服务器端发送确认信息,确认连接。
  • 整个交互过程如下图所示:
    浅谈:TCP 和 UDP的关系和区别_第2张图片

参考博客:TCP和UDP的区别和优缺点

你可能感兴趣的