tcp标识和三次握手状态

tcp标志位 ( syn、syn+ack、ack、 fin、urg、psh、rst)

Syn 开始连接 同步标志

Ack 确认连接  接收到发来得数据包后ack 设置为1

Fin 终止连接

Urg 紧急指针 当URG=1时,表示分段中有紧急数据应当加速传送(不进缓冲区)

Psh 紧急位 当PSH=1时,要求发送方马上发送该分段,而接收方尽快的将报文交给应用层, 不做队列处理。(依然进缓冲区,但不用等缓存满即可发送)

Rst 复位标志

 

Sequence number(顺序号码 随机数)  Acknowledge number(确认号码)

 

第一次握手:主机A发送位码为syn=1,随机产生seq number=1234567的数据包到服务器,主机B收到SYN=1知道,A要求建立联机,A进入SYN_SEND状态;

 

第二次握手:主机B收到请求后要确认联机信息,向A发送ack number=(主机A的seq+1),syn=1,ack=1,随机产生seq=7654321的包,服务器B进入SYN_RECV 状态;

 

第三次握手:主机A收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为1,若正确,主机A会再发送ack number=(主机B的seq+1),ack=1,主机B收到后确认seq值与ack=1则连接建立成功,两端都进入ESTABLISHED 状态。

 

数据传输结束之后

客户端从ESTABLEISHED状态,发起四次断开请求

客户端发起FIN请求,从而进入等待状态

服务端收到断开请求之后,便发起ACK请求

客户端收到服务端发来的ACK确认信息后,从而又发起FIN_2 请求

等待服务端发来的FIN请求之后,便确认

服务器端收到FIN并发送ACK之后,服务器端便处于CLOSE_WAIT便自己发送FIN,从而进入LAST ACK模式 ,

确认完后不能立刻断开,还需要等待一定的时间(大约240秒),确认报文是否传递给对方

于是转换为CLOSED

Add a Comment

电子邮件地址不会被公开。 必填项已用*标注