tcp握手
2017-02-15 01:04:35 0 举报
登录查看完整内容
为你推荐
查看更多
TCP握手是建立TCP连接的过程,它包括三个步骤:SYN、SYN+ACK和ACK。在客户端向服务器发送连接请求时,首先发送一个SYN包,其中包含客户端的初始序列号。服务器收到后,回复一个SYN+ACK包,其中包含服务器的初始序列号和确认号。最后,客户端再回复一个ACK包,其中包含客户端的确认号。这个过程保证了双方都有正确的初始序列号,从而能够正确地传输数据。TCP握手是可靠传输的基础,它确保了数据的完整性和顺序性。
作者其他创作
大纲/内容
同时关闭:收到FIN,发送ACK
LAST_ACK
收到FIN,发送ACK
CLOSED_WAIT
listen
参考链接:https://www.jianshu.com/p/9968b16b607e
SYN_RCVD
关闭
ESTABLISHED
TIME_WAIT
收到ACK
发送FIN
发送SYN
关闭或超时
等待2MSL后
收到RST
SYN_SENT
open
closed
CLOSING
FIN_WAIT_2
FIN_WAIT_1
主动关闭的一方为什么要等待2MSL?答:因为主动方在收到最后一个FIN并发送完ACK之后,并不确定被动关闭的一方是否收到了最后的ACK;为了保证对方收到了ACK所以等待了2MSL;因为假如对方没有收到,那么对方会重传FIN报文,那么这个时候主动关闭方就可以再次发送ACK——因此2MSL为等待对方收到ACK的最长时间1MSL+等待接收对方重发的FIN报文最长时间1MSL(注:1MSL即一个报文在网络中最长的生存时间,超过这个时间的报文都会被丢弃,典型值为30s,1min或2min)
0 条评论
回复 删除
下一页