TCP/IP协议三次握手与四次挥手

一.标志位和序号

seq序号 :发送方随机生成的

ack确认序号:ack=seq+1 标志位ACK=1时确认序号有效

SYN标志位:发起一个新连接

ACK标志位:确认序号有效

FIN标志位:断开连接

二.三次握手

三次握手是客户端与服务端建立一个TCP连接时,需要客户端和服务端发送三个包建立连接的过程

(1)第一次握手

  客户端将SYN置为1,随机产生一个seq序号=J,将该数据包发送给服务端,客户端此时状态为SYN_SEND

(2)第二次握手

  服务端收到客户端发送的数据包由SYN=1知道客户端要建立连接,客户端将SYN和ACK都置为1,同时发送确认序号ack=J+1

  随机产生一个服务端序号seq=K,将此数据包发送给客户端。服务端此时的状态为SYN_REVD

(3)第三次握手

  客户端收到服务端的数据包,由ACK=1,ack=J+1无误,客户端将ACK置为1,ack=K+1发给服务端

  服务端收到ACK=1,ack=K+1连接建立成功。客户端和服务端此时的状态为ESTABLISHED

  

三.四次挥手

四次挥手是断开TCP连接的时候,需要客户端和服务端发送四次包确认连接的断开,断开连接可由服务端或客户端任意一方触发

(1)第一次挥手

  假设客户端主动关闭。客户端发送关闭连接标志位FIN=1,序号seq=m。客户端此时状态为FIN_WAIT_1

(2)第二次挥手

  服务端收到标志位FIN=1,知道客户端要关闭连接,客户端发送标志位ACK=1,确认序号ack=m+1,seq=n。

   服务端并没有发送FIN标志位,因为服务端可能还有数据要发送 。此时服务端处于CLOSE_WAIT状态,客户端处于FIN_WAIT_2状态

(3)第三次挥手

  服务端发送标志位FIN=1,seq=u 。此时服务端处于LAST_ACK状态

(4)第四次挥手

  客户端收到FIN,发送ACK=1,确认序号ack=u+1给服务端。客户端进入TIME_WAIT状态。释放连接完成

原文地址:https://www.cnblogs.com/suni/p/8674872.html

时间: 2024-10-16 13:42:53

TCP/IP协议三次握手与四次挥手的相关文章

TCP/IP协议三次握手和四次挥手大白话解说

TCP/IP协议三次握手和四次挥手大白话解说 前言 昨天晚上被一位师傅问到了TCP/IP的工作机制,心里很清楚三次握手,然而对于四次挥手却忘了,这是大学习里学过的,奋而翻阅书籍和网络对之前所学的做一个温顾,算是夯实自我吧. TCP(Transmission Control Protocol)网络传输控制协议,是一种面向连接的.可靠的.基于字节流的传输层通信协议,数据传输前建立连接的工作要经过三次握手,数据传输后断开连接的工作要经过四次挥手. 工作过程 TCP标志位: TCP共有6个标志位,分别是

TCP/IP协议 三次握手与四次挥手

一.TCP报文格式 TCP/IP协议的详细信息参看<TCP/IP协议详解>三卷本.下面是TCP报文格式图: 图1 TCP报文格式 上图中有几个字段需要重点介绍下:        (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记.        (2)确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1.        (3)标志位:共6个,即URG.ACK.PSH.RST.SYN.FIN等,具体含

TCP/IP协议三次握手与四次握手流程解析

原文链接地址:http://www.2cto.com/net/201310/251896.html TCP/IP协议的详细信息参看<TCP/IP协议详解>三卷本.下面是TCP报文格式图 上图中有几个字段需要重点介绍下:   (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记.   (2)确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1.   (3)标志位:共6个,即URG.ACK.PSH.RST

TCP/IP协议三次握手与四次握手流程解析(转)

一.TCP报文格式 下面是TCP报文格式图: 上图中有几个字段需要重点介绍下:  (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记.  (2)确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1.  (3)标志位:共6个,即URG.ACK.PSH.RST.SYN.FIN等,具体含义如下:  (A)URG:紧急指针(urgent pointer)有效.  (B)ACK:确认序号有效.  (C)PSH:

转 TCP/IP的三次握手与四次挥手详解

TCP((Transmission Control Protocol)传输控制协议,是一个面向连接的协议.在运用此协议进行数据传输前都会进行连接的建立工作(三次握手):当数据传输完毕,连接的双方都会通知对方要释放此连接(四次挥手). 认识TCP标志位 tcp标志位有6种标示: SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urgent紧急) 图解TCP与UDP的三次握

关于TCP/IP的三次握手和四次挥手解释

TCP协议三次握手过程分析 TCP(Transmission Control Protocol) 传输控制协议 TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接: 位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urgent紧急) Sequence number(顺序号码) Acknowledge nu

TCP/IP协议之三次握手与四次挥手

大纲 一.IP Header 二.TCP Header 三.三次握手过程 四.四次挥手过程 五.TCP Finite State Machine 一.IP Header 二.TCP Header 三.三次握手过程 三次握手过程详解: ①第一次握手:客户端向服务器端发送连接请求包,标志位SYN(同步序号)置为1,产生序列号为X=0 ②第二次握手:服务器端收到客户端发过来报文,由SYN=1知道客户端要求建立联机.于是向客户端发送一个SYN和ACK都置为1的TCP报文,设置自己的初始序列号Y=0,将确

TCP/IP协议三次握手与四次握手流程

(1)第一次握手:Client将标志位SYN设置为1,随机产生一个值seq=x,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认.(2)第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,ack=x+1,随机产生一个值seq=y,并将该数据包发送给Client以确认连接请求,Server进入SYN_RCVD状态.(3)第三次握手:Client收到确认后,检查ack是否为x+1,A

TCP/IP的三次握手和四次挥手

TCP协议的三次握手过程 1.建立连接时,客户端向服务器发送SYN包,并产生一个顺序号码seq number=k,等待服务器确认. 2.服务器受到请求后,确认联机信息后,向客户端发送确认码ack=k+1,SYN包,并产生一个顺序号码seq number=q. 3.客户端受到确认信息后,检查确认码ack是否正确,若正确,向服务器发送确认码ack number=q+1,并产生一个顺序号码seq number =p 服务器收到并确认后,建立连接. TCP协议的四次挥手