第五步,假如SYN或RST位没有设置,抛弃数据段返回 。
下来我们来看看其它状态 。首先应该检查序列号 。在下面状态下
SYN-RECEIVED状态
ESTABLISHED状态
FIN-WAIT-1状态
FIN-WAIT-2状态
CLOSE-WAIT状态
CLOSING状态
LAST-ACK状态
TIME-WAIT状态
段按顺序处理,首先抛弃重复的段,对于以后的处理要根据SEG.SEQ的大小进行 。假如有的段内的新老内容重叠在一起,那只用处理新的那一部分 。下面是对接收到的数据的可接受性测试中的四种情况:
段长度
接收窗口
测试
0
0
SEG.SEQ = RCV.NXT
0
>0
RCV.NXT =< SEG.SEQ < RCV.NXT RCV.WND
>0
0
不接受
>0
>0
RCV.NXT =< SEG.SEQ < RCV.NXT RCV.WND或RCV.NXT =< SEG.SEQ SEG.LEN-1 < RCV.NXT RCV.WND
假如RCV.WND = 0,除了合法的ACK,URG和RST段外拒绝其它的数据段 。假如接收到的数据段不可接受,应该返回一个应答,格式如下: 。在发送完应答后,抛弃不可接受的数据段,然后返回 。
第二步检查RST位 。
假如处于SYN-RECEIVED 状态时,而且处于设置了RST的情况下,假如连接以被动OPEN开始,将连接返回到LISTEN状态,不需要通知用户;假如连接以主动OPEN打开,拒绝连接,并通知用户"connection refused" 。在上面任何一种情况下,所有在重发队列中的数据都要删除 。在主动OPEN的那种情况下,进入CLOSED状态,删除TCB然后返回 。
假如处于ESTABLISHED,FIN-WAIT-1,FIN-WAIT-2或CLOSE-WAIT状态时,而且RST已经设置,那么任何存在的RECEIVE和SEND都会收到"reset" 。所有队列中的数据段都应该立即发送 。用户也会收到"connection reset" 。进入CLOSED状态,删除TCB并返回 。
假如处于CLOSING状态,LAST-ACK状态或TIME-WAIT状态,而且RST已经设置,进入CLOSED状态,删除TCB并返回 。
检查安全和优先级
在SYN-RECEIVED状态下
假如段中的security/compartment和优先级和TCB中的不匹配,发送RST并返回 。
在ESTABLISHED状态下
假如段中的security/compartment和优先级和TCB中的不匹配,发送RST ,所有存在的RECEIVE和SEND接收到"reset",立即发送所有队列中的数据段,用户接收到"connection reset" 。进入CLOSED状态,删除TCB并返回 。
第四步检查SYN位,假如连接处于以下状态
SYN-RECEIVED
ESTABLISHED状态
FIN-WAIT STATE-1
FIN-WAIT STATE-2
CLOSE-WAIT状态
CLOSING状态
LAST-ACK状态
TIME-WAIT状态
假如SYN在窗口中就是错误,发送RST,任何存在的RECEIVE和SEND收到"reset",所有在队列中的数据段立即发送,用户也接收到"connection reset",进入CLOSED状态,删除TCB并返回 。假如SYN未在窗口中,这一步不会发生 。
第五步检查ACK域
假如ACK位关闭,抛弃数据段返回 。假如ACK域打开的情况下,假如连接处于
SYN-RECEIVED状态时
假如SND.UNA =< SEG.ACK =< SND.NXT,进入ESTABLISHED状态 。假如段的确认消息不可接受,形成如下形式的RST并发送:
ESTABLISHED状态时
假如SND.UNA < SEG.ACK =< SND.NXT,设置SND.UNA <- SEG.ACK 。因此而对重新传送队列中数据段的确认也带来了对这些数据段的删除 。用户应该接收对缓冲区的主动确认,假如ACK是重复的(SEG.ACK < SND.UNA)可以忽略这个ACK 。假如ACK确认了还未发送的东西(SEG.ACK > SND.NXT),那么可以发送ACK,抛弃数据段并返回 。
假如SND.UNA < SEG.ACK =< SND.NXT,应该更新发送窗口 。假如(SND.WL1 < SEG.SEQ)或(SND.WL1 = SEG.SEQ且SND.WL2 =< SEG.ACK),设置SND.WND <- SEG.WND,SND.WL1 <- SEG.SEQ和SND.WL2 <- SEG.ACK 。
FIN-WAIT-1状态
除了对于ESTABLISHED状态的处理外,假如确定了FIN,则进入FIN-WAIT-2状态并在这个状态下继续处理 。
- Wireless Application Protocol WAP-无线应用协议
- Internet Protocol Internet协议
- BOOTP:Bootstrap Protocol 应用层BOOTP:引导协议
- IP的概念及实质
- Session Initial Protocol SIP介绍
- NetControl 局域网连通状态动态监控
- Ubuntu安装Transmission
- Total Control怎么连接手机
- 控制Control免费怎么领 控制Control免费领取方法一览
- 控制游戏免费领取方法介绍 control免费送
