之前我们看了TCP的报头内容,那么TCP的到底是怎样实现的呢?
首先,为了保证TCP的可靠性,都表现在以下几个方面:
1.面向连接
首先,TCP是面向连接的,那么什么是面向连接呢?就是在通信之前让双方感知到对方的存在并让发送方发送数据给接收方;在通信之后,关闭连接。那么又是怎么建立/断开连接-----三次握手/四次挥手。
如上图两个图,就是客户端和服务端进行三次握手/四次挥手的过程。其中仍有很多的问题需要解答:
1.为什么建立是三次握手,关闭时四次挥手?
当建立连接时,客户端发送SYN请求给服务端,服务端同时相应ACK+SYN给客户端,客户端发送ACK认为建立连接成功,发送数据,但最后一条消息没有相应的ACK确认,所以不能保证最后一条的可靠性,也就意味着最后一条报文丢失时,对服务端没有什么影响。当关闭连接时,