1.TCP三次握手
1)标志位说明
ACK确认位、SYN同步位、ack确认号、seq序号。
2)三次握手的目的为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。
3)状态图
2.四次挥手
1)FIN关闭同步位
主动关闭方,在第3次挥手完成,发送最后一个ACK后,进入TIME_WAIT状态,等待2MLS时间后,才可以释放占用的端口进入CLOSED状态。
被动关闭方,发送[FIN,ACK] 后,进入LAST_ACK等待发送方的ACK,此时端口仍被占用。
2)2MSL的意义:
Maximum Segment Lifetime,最长报文段寿命,当报文的头部TTL字段为0时,数据报被丢弃,发送ICMP报文通知源主机。
- 为了保证A发送的最后一个ACK报文段能够到达B。
- 防止旧的TCP连接包干扰新的TCP连接包。经过了2MSL,旧包已失效。
3.TCP状态变迁