还不懂TCP协议、Socket套接字、 三次握手与四次挥手过程 (?? ??? 韩王告诉你)

TCP协议

  • TCP是传输层的协议,主要是对客户端与服务器建立连接,是一种面向连接可靠的通讯方式。
  • 上面所说建立连接时,客户端与服务器会开辟资源空间,用来传输双方发送与接收的数据
  • 套接字
  • 套接字(socket):socket是建立连接的关键,socket其中包含了 客户端 IP+Port与服务器 IP+Port
  • 客户端与服务器连接的上限:套接字中包含了 客户端 IP+Port与服务器 IP+Port 所以客户端 IPA与服务端IPB建立连接时,因为一个主机的最多的端口Port有65535个,所以IPA + 0~65535 -> IPB+80(指定的一个端口)所以客户端可以和服务器建立的连接有65535个 以此类推 服务器也有 65535个端口(Port)所以 当客户端和服务器IP不变时 建立的最多连接由端口号来确定。 IPA+0~65535 -> IPB+0~65535 个连接。
三次握手
  • 当客户端向服务器发起连接时,客户端的应用层程序,会向下层 (传输层)告诉TCP帮忙建立连接,以下所说的过程都发生在传输层 如下图。
还不懂TCP协议、Socket套接字、 三次握手与四次挥手过程 (?? ??? 韩王告诉你)
文章图片

  • 这时客户端会向服务器发送一个请求连接的包(sys),因为TCP是可靠传输所以服务端会回应一个包(sys+ack)然后客户端收到回应的包后,再次发送一个包(ack)表示,客户端发送的回应的包,我收到了,中间一共经历的三次通信所以叫三次握手
    还不懂TCP协议、Socket套接字、 三次握手与四次挥手过程 (?? ??? 韩王告诉你)
    文章图片
四次挥手
  • 当客户端和服务器,传送完数据后,连接需要断开,中间出现四次通讯。
  • 客户端先给服务器发送请求断开的包(fin)然后服务器接收到会给客户端发一个 回应的包(fin+ack)。并且再次发送一个同意断开的包(fin) 这里注意 服务端会发送两个包给客户端 一个回应,一个断开同意。然后客户端接收到服务器的两个包后,再发送一个回应的包(ack) 然后断开连接。 此过程为四次挥手。
【还不懂TCP协议、Socket套接字、 三次握手与四次挥手过程 (?? ??? 韩王告诉你)】还不懂TCP协议、Socket套接字、 三次握手与四次挥手过程 (?? ??? 韩王告诉你)
文章图片

    推荐阅读