Linux协议栈之TCP传输协议(2)

Linux协议栈之TCP传输协议(二)

TCP发起连接的过程:

客户端????????????????????????????????????????????????????????????????????????????????????服务器端?

(State:closed)?????????????????????????????????????????????????????????????????????? (State:listen)

—————->(SYN连接请求)

??????????????????????(State:SYN_SENT)???????????????????????????????????????????

????????????????????????????????????????????????????????????????????????????????????????????? ACK <————-

????????????????????????????????????????????????????????????????????????????????????????????? (State:SYN_RECV)

—————–>ACK

????????????????????? (State:ESTABLISHED)?????????????????????????????????????

??????????????????????????????????????????????????????????????????????????????????????????????(State:ESTABLISHED)???

?

TCP关闭连接的过程:

客户端????????????????????????????????????????????????????????????????????????????????????服务器端?

(State:connected)?????????????????????????????????????????????????????????????????(State:connected))

—————->(FIN关闭请求)

??????????????????????(State:FIN_WAIT_1)????????????????????????????????????????

??????????????????????????????????????????????????????????????????????????????????????????????ACK <————-

????????????????????????????????????????????????????????????????????????????????????????????? (State:CLOSE_WAIT)

????????????????????? (State:FIN_WAIT_2)?????????????????????????????????????

??????????????????????????????????????????????????????????????????????????????????????????????FIN关闭请求<——–

????????????????????????????????????????????????????????????????????????????????????????????? (State:LAST_ACK)

????????????????????? (State:TIME_WAIT)?———->ACK??????????????????? (State:CLOSED)

????????????????????? 2MS定时器

??????????????????????(State:CLOSED)?

如果通信双方同时发送FIN关闭请求,则双方状态置为CLOSING,等到对方应答后状态转为CLOSE_WAIT。

Linux协议栈之TCP传输协议(2)

相关文章:

你感兴趣的文章:

标签云: