TCP的状态检测tcp_conntracks的问题

zhouhuahai 2010-09-21 11:37:03
static const enum tcp_conntrack tcp_conntracks[2][6][TCP_CONNTRACK_MAX] = {
{
...........
/* sNO, sSS, sSR, sES, sFW, sCW, sLA, sTW, sCL, sLI */
/*ack*/ { sES, sIV, sES, sES, sCW, sCW, sTW, sTW, sCL, sIV },
.........

我的问题是:
当old_state为sNO,index为ack时,为何new_state会为sES(established)?这个状态对于TCP的一般情况来说难以理解,一般来说要先:发一个syn->收到syn ack->发ack,这样三次握手后连接才能建立。为何这里在sNO的情况下可以直接发ack却认为established?
...全文
195 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
hao507 2010-09-25
学习下··
回复
zhouhuahai 2010-09-25
自己顶一下。通过RFC793的状态变迁图也看不出其原因所在,RFC793上面不存在这样的状态变化。
回复
相关推荐
发帖
Linux_Kernel
创建于2007-08-27

4150

社区成员

Linux/Unix社区 内核源代码研究区
申请成为版主
帖子事件
创建了帖子
2010-09-21 11:37
社区公告
暂无公告