三次握手 && 四次挥手
材料:材料
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状态