TCP是传输层的协议,它是有连接的,可靠的,面向字节流的,而UDP是无连接的,不可靠的,面向报文的。这里先详解TCP。
- 为什么是有连接的,可靠的?
因为TCP是面向连接的协议,双方都必须判断看自己发送的数据包对方有没有收到,没收到就要重新发送,所以双方都的知道对方的序列号,有了序列号和确认序列号才能保证服务端接受的收据是有序的,正确的,怎么告知对方的序列号和确认序列号,就引入了三次握手。 - 为什么要进行三次握手?
第一次握手,客户端告诉服务端 :我要建立连接。
第二次握手,服务端告诉客户端 :我知道了,我也想和你建立连接
第三次握手,客户端告诉服务端:我收到了
这样才能确保数据传输的正确性。