摘要:通信工程师互联网技术移动检测模块设计:移动检测模块主要处理接口倌息改变、注册、再注册、解注册等,保证切换成功。
3.3.5 移动检测模块设计
移动检测模块主要处理接口倌息改变、注册、再注册、解注册等,保证切换成功。
移动检测模块是建立在邻居发现和路由通告的消息之上的,路通告将网络酣缀通告给移动节点,移动节点的自动配置功能会给自己配置一个IPv6地址。下面是移动IPv6移动检测的处理过程。
①建立多个socket连接用于传递数据,RF_ROUTE用于选路,PF_MOBILITY用于向内核和其他进程传递信息,PFJNET6用于检测接口状态。检测PFJNET6类型socket接口信息。
②得到CoA接口列表和HoA列表,然后更新CoA接口列表,判断CoA的合法性,再更新绑定状态并更新CoA。绑定状态有3种:BF_INUSE(使用中)、BF_BOUND(绑定了)、BF_HOME(在家乡网络)。
③比较新的CoA是否和现有的一样,不一样就接着处理,査看绑定状态,如果是BF.BOUND,则向PF_MOBILITY类型的socket写入MD_INFO(REREG),触发移动体FSM,发送相应的报文,更新用户空间和内核空间的数据结构;如果是BFJHOME,则向PF_MOBILITY类型的socket写入MD_INFO(DEREGHOME),触发移动节点FSM,发送相应的报文,更新用户空间和内核空间的数据结构。
④进入循环,对PF_MOBILITY类型的socket读取,若发现HOME_HINT,将绑定状态设为非BFJBOUND和BF_HOME,将CoA设罝为HoA。向PF_MOBILITY类型的socket写入MD_INFO(DEREGHOME),触发移动体FSM,发送相应的报文,更新用户空间和内核空间的数据结构。
⑤对RF_ROUTE类型的socket读取,查看接口消总类型,如果是RTM_NEWADDR、RTM_DELADDR、RTM一ADDRINFO就回到上一步,如果不是,就回到起点,再次检测PF_INET6类型socket接口信以。
返回目录:
编辑特别推荐:
通信工程师备考资料免费领取
去领取