TCP(Transmission Control Protocol 传输控制协议)

2022/4/6 23:19:55

本文主要是介绍TCP(Transmission Control Protocol 传输控制协议),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议

TCP是一个非常复杂的传输协议,一般客户端和服务端进行通讯的时候一定通过TCP建立链接,以及断开的时候也会进行TCP链接,常用我们熟知的有三次握手以及四次挥手

客户端想要和服务端联系的时候要进行三次握手

  1. 当客户端想要和服务端进行联机的时候,会向服务端发送SYN码进行请求联机
  2. 服务端接收到联机请求后,同意联机,并且发送ACK码给客户端
  3. 客户端收到服务端发送的ACK码,验证成功之后,会再次发送给服务端ACK,表示开始进行联机

客户端想要和服务端断开链接会进行四次挥手

  1. 客户端传输数据结束,发送FIN码给服务端,要求关闭传输通道
  2. 服务端接收到请求之后,发送ACK码给客户端,我会关闭通道,但是我传输数据没有结束。
  3. 服务端在将自己传输的数据发送给客户端结束之后,再次发送FIN码给客户端,表示数据传输结束。
  4. 客户端接收到服务端的通知,发送ACK码给服务端,表示你可以安心的关闭传输通道了

TCP连接,属于客户端和服务端的一个交互模式,由客户端发起连接,由服务端来确认,最后还是由客户端来结束连接。

为什么挥手要比握手多一次?

应为服务端,收到 FIN 码的时候,还需要对数据是否传输完毕做确认。所以只能先回复 ACK 吗,告知客户端‘我收到FIN了,请稍等’,待传输完毕之后,再发送FIN码告知客户端传输完毕。最后客户端回复‘好的,收到了’。



这篇关于TCP(Transmission Control Protocol 传输控制协议)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程