Open suukii opened 4 years ago
首先它们的基本区别是:TCP 是一个面向连接的、可靠的、基于字节流的传输层协议,而 UDP 是一个面向无连接的传输层协议。
和 UDP 相比,TCP 有三个核心的特性:
面向连接:也就是说在客户端和服务器互相通信之前,TCP 需要通过 3 次握手来建立连接,而 UDP 并没有相应的建立连接的过程。
可靠性:可靠性体现在两个方面,有状态和可控制。有状态是指 TCP 会精准记录哪些数据被发送了、哪些数据被接收了、哪些数据没有被接收,而且会保证数据有序到达。可控制指的是,在意识到丢包或者在网络环境不佳的情况下,TCP 会相应地调整自己的行为,重新发送数据包或者控制发送速度。
基于字节流:TCP 为了维护状态,将 IP 包变成了字节流,而 UDP 只是继承了 IP层的特性,所以数据传输是基于数据报的。
首先它们的基本区别是:TCP 是一个面向连接的、可靠的、基于字节流的传输层协议,而 UDP 是一个面向无连接的传输层协议。
和 UDP 相比,TCP 有三个核心的特性:
面向连接:也就是说在客户端和服务器互相通信之前,TCP 需要通过 3 次握手来建立连接,而 UDP 并没有相应的建立连接的过程。
可靠性:可靠性体现在两个方面,有状态和可控制。有状态是指 TCP 会精准记录哪些数据被发送了、哪些数据被接收了、哪些数据没有被接收,而且会保证数据有序到达。可控制指的是,在意识到丢包或者在网络环境不佳的情况下,TCP 会相应地调整自己的行为,重新发送数据包或者控制发送速度。
基于字节流:TCP 为了维护状态,将 IP 包变成了字节流,而 UDP 只是继承了 IP层的特性,所以数据传输是基于数据报的。