TCP/IP协议三次握手、四次断开

1、tcp报文格式

  

  1行代表一个字节;

  第一行:代表源端口和目的端口,分别占16位;

  第二行:32位序列号:表示客户端向服务端发送的报文的序号是多少,这个序号是计算机随机生成的一个代表该报文的唯一标示符;表示为seq;

  第三行:32位确认序号,表示为ack,对上一条发送的信息的消息的一个确认;

  第四行:该行中的ACK表示确认标识位,大写表示,该ACK只有1位,只能表示0或1;

      SYN表示发起一个新的连接,如果是1,表示连接是新发起的;

      FIN表示结束一个连接,如果是1表示结束连接;

2、TCP三次握手

  

  TCP/IP协议是传输层面向连接的一个安全可靠的协议,三次握手的机制是为了保证能建立一个安全可靠的连接,第一次握手是由客户端发起,客户端会向服务端发起一个报文,报文中SYN是置1的,当服务端收到这个报文后,就知道客户端要向我发起一个新的连接,于是服务端就向客户端发送一个确认消息包,该消息包ACK置1;到目前为止,客户端能确认发送的消息服务端能收到,但是无法确认服务端发送的消息客户端是否收到;所以还需要第三次client发送一个ACK为1的确认收到消息;

3、四次断开

  

  客户端发起断开消息,带着FIN、seq消息;服务端收到了客户端断开的消息后,服务端确认客户端已经准备好断开的动作了,但是这时候不能确保服务端是否还有消息要向客户端发送;当服务端也将消息发送完成了,这时候服务端也会向客户端发送断开连接的消息;当客户端收到服务端断开连接的消息后,同样也需要回复服务端,消息收到,确认断开;

猜你喜欢

转载自www.cnblogs.com/zhangzhide/p/13200886.html
今日推荐