Mobile IPv6平台移植步骤

网络 网络管理
简介:本文对Mobile IPv6平台移植步骤进行了详细的说明,具体包括四个功能体的实现,那么本文主要讲述通用功能提的实现过程。

在Mobile IPv6平台移植过程中,我们通常使用C语言来编写代码,可以保持普遍的语言统一性。现在,我们来了解Mobile IPv6协议栈的主要部分,那么分为四个功能体: 通用功能体、内核功能体、适配层、安全机制。本文主要针对通用功能体进行说明,其余的内容将在《Mobile IPv6功能体实现》中进行说明。

MultiPlat Mobile IPv6三个部分的实现都采用大多数操作系统编译器支持的标准C语言编写,这样可以保持语言的统一性。

通用功能体是协议栈的主要部分,它包含协议栈中绝大多数的代码,该部分源代码禁止直接调用基于平台的系统函数,采用统一的适配层接口函数调用操作系统相关功能。它是在MultiPlat Mobile IPv6平台移植过程中保持不变的部分。

内核功能体是移植过程的重要部分,移植的主要工作集中在重新编写这一部分的代码模块,它的实现需要根据实际情况选择具体的实现方式,我们选择模块安装的方法插入操作系统核心。不建议修改操作系统内核源代码,如修改操作系统源代码,操作系统升级可能产生新的移植工作,而且大多数的操作系统为非开源系统,修改源代码并不可行。

适配层起到连接通用功能体与内核功能体以及操作系统的桥梁作用,它直接关系到通用功能体通用性。适配层向通用功能体提供统一的通信接口函数、线程管理函数以及定时函数,避免通用功能体直接调用形式各异的操作系统API函数。

◆通用功能体实现

通用功能体集中了Mobile IPv6协议大多数逻辑处理过程,根据移动相关控制命令报文,触发操作过程,并维护移动相关数据,是移动切换,路由优化,移动状态数据产生和维护的管理过程。通用功能体是MultiPlat Mobile IPv6的核心部分,主要完成以下三个方面的功能:移动设备发生移动时根据相关网络信息发现新的链路,在新的链路中注册得到CoA地址,通知HA和CN并进行绑定,在MN和CN之间建立路由优化关系;产生并定期维护移动状态信息(BC和BUL表);将最新的BC和BUL表信息通知内核功能体,保持准确的接收和发送状态。

通用功能体启动消息处理线程和定时器线程两个关键线程。消息处理线程是一个循环监听过程,通过适配层的通信接口得到Mobile IPv6需要处理的MH报文(MH报文是Mobile IPv6定义的移动相关命令报文)以及ICMP报文,根据具体报文类型和参数分别启动移动切换、RR过程、家乡注册、CN注册等过程、创建并管理BC、BUL表项;定时器线程根据定时器链表定期维护BC、BUL表,调度其它需要定时操作的过程。

 

MultiPlat Mobile IPv6不采用RAW SOCKET机制截获Mobile IPv6需要处理的MH报文以及ICMP报文,而是采用内核功能体从NIC驱动程序上端直接截获将其存入缓冲区,并通过适配层函数向通用功能体传送的方法实现,这样做的原因是不同操作系统RAW SOKET机制存在很多差异,不利于通用功能体代码通用性,采取自己截获的方法易于统一接口。

 

通用功能体代码在MultiPlat Mobile IPv6中占绝大多数,是协议栈中最复杂的处理过程的集合。由于通用功能体需要启动消息处理线程和定时线程进行管理,并由内核截获的网络控制报文驱动相关处理。这些过程必定调用操作系统相关函数(包括线程管理函数、定时函数以及内核通信函数),这些函数因操作系统不同而不同,为了使通用功能体程序代码保持通用性,我们不直接调用系统相关函数。适配层为其定义一套类似的调用函数,这些函数对通用功能体保持统一的函数名称和参数格式,以此屏蔽平台差异。

责任编辑:佟健 来源: 互联网
相关推荐

2010-05-26 14:02:02

Mobile IPv6

2010-05-26 13:52:06

Mobile IPv6

2010-05-26 14:00:46

Mobile IPv6

2011-07-19 10:13:44

IPv6IPv6规划

2013-03-13 09:56:24

IPv6IPv4NDP

2019-07-01 10:09:09

IPv6IPv4运营商

2019-06-05 15:43:34

IPV6IPV4网站

2010-06-08 17:26:48

Mobile IPv6

2009-07-15 10:22:27

2010-05-25 14:55:47

IPv6与RFID结合

2012-05-24 19:08:13

2012-04-27 13:33:40

锐捷网络物联网IPv6

2018-05-03 14:40:07

IPv6互联网协议网络

2011-06-09 09:32:31

IPv6IPv6流量IPv6日

2010-08-11 16:07:14

IPv6协议H3C

2010-06-07 10:44:50

IPv6安装步骤

2011-06-07 16:47:22

IPv6IPv6日世界IPv6日

2018-08-08 15:23:10

IPv4IPv6网络

2011-07-10 14:59:14

IPv6企业IPv6部署

2010-05-26 08:58:00

点赞
收藏

51CTO技术栈公众号