TCP(Transmission Control Protocol 传输控制协议)
作者:互联网
TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议
TCP是一个非常复杂的传输协议,一般客户端和服务端进行通讯的时候一定通过TCP建立链接,以及断开的时候也会进行TCP链接,常用我们熟知的有三次握手以及四次挥手
客户端想要和服务端联系的时候要进行三次握手
- 当客户端想要和服务端进行联机的时候,会向服务端发送SYN码进行请求联机
- 服务端接收到联机请求后,同意联机,并且发送ACK码给客户端
- 客户端收到服务端发送的ACK码,验证成功之后,会再次发送给服务端ACK,表示开始进行联机
客户端想要和服务端断开链接会进行四次挥手
- 客户端传输数据结束,发送FIN码给服务端,要求关闭传输通道
- 服务端接收到请求之后,发送ACK码给客户端,我会关闭通道,但是我传输数据没有结束。
- 服务端在将自己传输的数据发送给客户端结束之后,再次发送FIN码给客户端,表示数据传输结束。
- 客户端接收到服务端的通知,发送ACK码给服务端,表示你可以安心的关闭传输通道了
TCP连接,属于客户端和服务端的一个交互模式,由客户端发起连接,由服务端来确认,最后还是由客户端来结束连接。
为什么挥手要比握手多一次?
应为服务端,收到 FIN 码的时候,还需要对数据是否传输完毕做确认。所以只能先回复 ACK 吗,告知客户端‘我收到FIN了,请稍等’,待传输完毕之后,再发送FIN码告知客户端传输完毕。最后客户端回复‘好的,收到了’。
标签:Control,Protocol,Transmission,TCP,发送,ACK,码给,服务端,客户端 来源: https://www.cnblogs.com/MrZhujl/p/16110071.html