本文介绍: A 在发送了最后的报文以后,自身就进入了TIME-WAIT(时间等待)状态,此时的 TCP 连接还没有释放掉,必须经过时间等待计时器(TIME-WAIT timer)设置的时间 2MSL 以后 A 才会进入到 CLOSED 状态。A 在发送了最后的报文以后,自身就进入了TIME-WAIT(时间等待)状态,此时的 TCP 连接还没有释放掉,必须经过时间等待计时器(TIME-WAIT timer)设置的时间 2MSL 以后 A 才会进入到 CLOSED 状态。
第一次握手
A 创建本地的传输控制模块 TCB,然后创建一个 TCP 报文段,报文段中:
SYN = 1 同步控制位(=1 时候不能携带数据)
seq = x;序号,供 B 确认
由于此时 SYN 为 1,不能给携带数据,但是要消耗掉一个序号 seq,发送完以后客户端进入 SYN-SENT(同步已发送) 状态
第二次握手
B 在接收到 A 传来的建立连接请求以后,如果是同意建立连接,则会给 A 响应以确认自己同意建立连接,报文段如下:
SYN = 1 同步控制位(=1 时候不能携带数据)
ACK = 1 确认控制位
ack = x + 1 在 A 传来的序号 x 基础上+1,以确认
seq = y 创建自己的 序号 y,供 A 去确认
这一步主要是添加了 ACK =1 ,表示确认有效,然后再把 A 传来的 x 值加一,以供 A 去确认,再创建一个自己的序号 y。
最终把 TCP 报文传递给 A,B 进入 SYN-RCVD(同步收到) 状态。
第三次握手
A 在接收到 B 传来的 TCP 报文以后,还需要再次向 B 确认,
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。