连接状态转化
DoIP实体连接状态指的是TCP_DATA socket的连接状态。
区分为:1.监听状态【Listen】。2、初始化已完成状态【initial】。3、已注册状态【Registered】。4、结束状态【Finalize】。
几种状态的转化关联与两个计时器强相关。1、初始化不活动定时器【initial inactivity timer】。2、通用不活动定时器【general inactivity timer】。
![](https://img-blog.csdnimg.cn/2a2b17077d754a8ca040b160eddd6cce.png)
如果节点状态管理有需要,处于已注册的状态可再分为三种状态。即等待身份验证,等待确认和路由激活状态。
处于已注册状态的DoIP节点只有处于路由激活状态才可响应DoIP消息,也就是说,未进入路由激活状态的DoIP节点不能处理DoIP报文。
【初始化不活动定时器】处于初始化完成状态的DoIP节点,如果一直没有被路由激活,那么就会因为初始化不活动定时器超时而导致Socket被关闭。初始化不活动定时器除了被陈宫的路由激活停止之外(即成功进入已注册状态),没有其他初始化的方式。
【通用不活动定时器】DoIP节点一旦进入已注册状态,该定时器就会被初始化并激活,通过此状态的DoIP节点来接收或者发送数据时,该Socket会重置通用不活动计数器。如果该Socket长时间不发送或接收数据,又想保持此Socket处于已注册状态,那么Tester可以通过发送AliveCheck应答报文来进行通用不活动计时器的重置,保证处于此状态。
两个定时器推荐值:
定时器名称 | 初始化值 | 说明 | 参数值 |
初始化不活动定时器 (initial inactivity timer) | T_TCP_Initial_Inacitvity | 这个时间表明了一个不活动的TCP_DATA Socket在它被DoIP实体关闭的最大时间。 | Timeout:2s |
通用不活动定时器 (general inactivity timer) | T_TCP_General_Inactivity | 此超时时间指定了TCP_DATAsocket在建立后,直接处于不活动状态的最大时间。在没有路由激活的制定时间之后,TCP_DATA socket被DoIP实体关闭。 | Timeout:5min |