共计 847 个字符,预计需要花费 3 分钟才能阅读完成。
三次握手 && 四次挥手
材料:材料
TCP 连贯中的协定码
- SYN: synchronous,当 SYN=1,ACK=0,表明是连贯申请报文,若批准连贯,则响应报文中应该使 SYN=1,ACK=1
- ACK: acknowledgement,仅当 ACK= 1 时,确认号字段才无效
- PSH: push 推送
- FIN: finish 完结,当 FIN=1,表明此报文的发送方的数据曾经发送结束,并且要求开释
- RST: reset 重置,当 RST=1,表明 TCP 连贯中呈现重大过错,必须开释连贯,而后再从新建设连贯
- URG: urgent 紧急
- Sequence number: 程序号码
- Acknowledge number: 确认号码
三次握手:
- 客户端发送 SYN = 1, seq = x, 客户端进入 SYN_SENT 状态
- 服务端接管到客户端音讯,发送 SYN= 1,ACK = 1, ack = x+1, seq = y, 状态进入 SYN_REVD
- 客户端发送 ACK = 1, ack=y+ 1, seq=x+1,客户端进入 ESTABLISHED 状态
- 服务端接管到客户端的音讯,也进入 ESTABLISHED 状态
四次挥手:
- 客户端发送:FIN = 1,seq = x, 客户端进入 FIN-WAIT-1(终止期待 1)状态
- 服务端接管到客户端的申请,收回确认报文 ACK = 1,ack = x+1, seq= y,服务端就进入了 CLOSE-WAIT(敞开期待)状态
- 客户端接管到服务端确定申请后,客户端就进入 FIN-WAIT-2(终止期待 2)状态
- 服务端在发送完最初数据的时候,服务端向客户端发送开释报文,ACK = 1,FIN = 1,ack =x+1,seq= z,
服务器就进入了 LAST-ACK(最初确认)状态,期待客户端的确认 - 客户端承受到服务端确认音讯的时候,发送确认报文 ACK =1,seq= x+1,ack= z+1, 客户端就进入了 TIME-WAIT(工夫期待)状态, 这时候 TCP 连贯还没有断开, 必须通过 2∗ MSL(最长报文段寿命)的工夫后,当客户端撤销相应的 TCB 后,才进入 CLOSED 状态
- 服务器只有收到了客户端收回的确认,立刻进入 CLOSED 状态
正文完