TCP三次握手和四次挥手

来源:互联网 发布:博洋软件官网 编辑:程序博客网 时间:2024/05/12 05:17

一、TCP三次握手(Three-way Handshake)

1、TCP三次握手的作用:

   三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号并交换 TCP 窗口大小信息。在socket编程中,客户端执行connect()时,将触发三次握手。

2、TCP三次握手过程:

TCP三次握手

第一步:客户端向服务器发送一个SYN置位的TCP报文,其中包含连接的初始序列号x和一个窗口大小(表示客户端上用来存储从服务器发送来的传入段的缓冲区的大小)。--SYN报文段


第二步:服务器收到客户端发送过来的SYN报文后,取出TCP_SYN报文段,为该TCP连接分配TCP缓存和变量,并向客户端发送一个SYN和ACK都置位的TCP报文,其中包含它选择的初始序列号y、对客户端的序列号的确认x+1和一个窗口大小(表示服务器上用来存储从客户端发送来的传入段的缓冲区的大小)。--SYNACK报文段


第三步:收到SYNACK报文段后,客户端给该连接分配缓存和变量,并向服务器端返回一个确认号y+1 ACK报文,报文中SYN位被置0,一个标准的TCP连接完成。(在以后的报文段中都将被置为0)


二、TCP四次挥手(Four-way handshake)

1、四次挥手的作用:

   TCP的连接的拆除需要发送四个包,因此称为四次挥手(four-way handshake)。客户端或服务器均可主动发起挥手动作,在socket编程中,任何一方执行close()操作即可产生挥手操作。

2、四次挥手过程:

TCP四次挥手过程




原创粉丝点击