现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

tcp Reset是如何产生的

2013-07-23 00:24 工业·编程 ⁄ 共 398字 ⁄ 字号 暂无评论

“Reset”其实是tcp的一种消息之一,用于重置连接,一般来说比如服务器端没有客户端请求的端口或者其他信息不符合时,系统的tcp协议栈就会给客户端回复一个reset通知消息。本来用于应对比如说服务器意外重启等情况的。但很多防火墙系统也用来禁止客户端的连接,如果防火墙发现网络包的规则被触发之后,就可以回一个reset消息让客户端的tcp连接被重置(也就是说断开连接)。

    这样比直接把网络包丢弃要好,因为直接丢弃的话,客户端并不知道具体网络状况,由于tcp的重发和超时机制,客户端就会在那里不停的等待,客户体验很不好。而收到reset客户端是可以知道网络被断开的就不用再等待了,浏览器也可以提示你连接被reset。很命令我们大名鼎鼎的GFW监控到http协议网络包中的“胡萝卜”关键词了,他就回复一个reset消息给我们了,而我们的客户端却分不清这个是服务器的回复还是防火墙的虚假reset。

【上篇】
【下篇】

给我留言

留言无头像?