TCP状态转换

最近笔试遇到一个题目:如果tcp建立连接时第三次握手失败,tcp会做何操作?该问题的本质是判断我们对tcp的状态转换是否能有比较深刻的理解。只要理解了下面的状态转换图,很容易回答上述问题。

TCP状态转换_第1张图片

在此,将《TCP/IP协议族》中每一个状态的转换伪代码整理下:

TCP状态转换_第2张图片

TCP状态转换_第3张图片

TCP状态转换_第4张图片

TCP状态转换_第5张图片

TCP状态转换_第6张图片

TCP状态转换_第7张图片

TCP状态转换_第8张图片

TCP状态转换_第9张图片

TCP状态转换_第10张图片

TCP状态转换_第11张图片

TCP状态转换_第12张图片

TCP状态转换_第13张图片

TCP状态转换_第14张图片

第58行指明了当第三次握手失败时的处理操作,可以看出当失败时服务器并不会重传ack报文,而是直接发送rst报文,重新转换为closed状态。这样做的目的是为了防止SYN洪泛攻击。


你可能感兴趣的:(tcp,三次握手,状态转换)