具有路由功能的无线终端设计方法

文档序号:7714725阅读:151来源:国知局

专利名称::具有路由功能的无线终端设计方法
技术领域
:本发明涉及一种具有路由功能的无线终端设计,尤其是实现了无线自组织和路由转发功能,所属
技术领域
为无线通信领域。
背景技术
:无线局域网有802.lla/b/g三种主流的标准。802.Ilb规范工作在2.4GHz通信频带,数据速率超过了IOMbps的临界限度,物理层采用高速直接序列扩频技术。802.11的第二个分支为802.11a,802.Ila工作在5.2GHz频带,并被指定高达54Mbps的数据速率。而802.Ilg可以在与802.Ilb网络兼容的情况下,最高提供与802.Ila标准相同的54Mbps连接速率。目前市售的无线网卡只是单纯地支持hfrastructure模式,很少有支持AdHoc模式的产品。即使支持,也不是标准的AdHoc模式,而是简单的点对点AdHoc模式,不能实现路由转发。由于AdHoc网络拓扑结构动态变化,如何在移动中保持通信成为一个重要的研究方向,现阶段已经提出了许多路由算法,本设计使用被IETF的MANET工作组认为是最好的路由协议之一的AODV路由协议。AODV协议采用逐跳的方式转发分组,路由表中记录了到目的节点的下一跳,不需要在报文中携带完整的路由信息,减少了数据分组额外开销,提高了网络带宽利用率。并且采用源序列号和目的序列号标识链路的新旧程度,避免了环路的产生,并且每次都使用最新的路由。此外,AODV协议还采用了扩展环路搜索技术,通过设置路由请求信息中生存时间TTL(TimetoLive)的值,避免了路由请求所带来的全网广播。AODV协议通过每个节点周期性广播HELLO消息提供与相邻节点的相互连接信息,检测链路状态。鉴于AODV路由协议功能强大而又便于实现的特点,故成为嵌入式系统下移植AdHoc协议的首选。目前媒介接入控制层和物理层协议一般使用网络设备硬件或固件来实现,所以一旦做成产品就不能对其再进行开发
发明内容为了解决现有技术中存在的上述问题,本方法提出一种用η讨80211和mac80211来实现软件MAC的方法。本发明要解决的主要技术问题是完成具有路由功能的无线终端设计,使得所设计出来的无线终端能够具有AODV路由协议的功能和数据转发的功能,并且可以演示其路由转发功能。具体技术方案如下—种具有路由功能的无线终端设计方法,包括步骤步骤1)在ARMLinux平台上搭建一个无线自组织网络硬件终端,利用处理器连接支持802.lla/b/g的无线网卡,再加上存储接口、调试串口以及电源,构成了无线终端的硬件框架;步骤2)在所述硬件框架的基础上移植BootloadeiNLinux内核、文件系统、无线网卡驱动和AODV路由协议;步骤3)同时移植了iptables;步骤4)最后将硬件电路板进行封装,形成具有路由功能的无线终端。所述步骤2)中包括以下步骤21)进行Bootloader移植将Bootloader的镜像文件通过JTAG口烧写到无线终端的Nandflash中;22)进行引导参数BootParameters的设置在Bootparameters分区存放可设置参数;23)进行Iinux内核的移植在Makefile中修改编译工具为交叉编译工具,修改MTD设备分区,使得Linux内核可以挂载NANDFlash上的文件系统,在默认配置文件的基础上增加对网络文件系统NFS和YAFFS文件系统的支持;24)进行根文件系统移植根文件系统选择YAFFS文件系统,使用NFS启动系统,然后使用bs命令对flash进行格式化,并安装根文件系统;25)移植无线网卡驱动移植无线网卡驱动,使无线网络具有自组织的特性;26)移植iptables:Linux下支持netfilter机制的配置工具就是iptables,它也就相当于一个应用程序,可以对netfilter进行配置;27)移植AODV路由协议修改Makefile并进行编译,编译过后将在当前目录下生成aodvd的可执行文件,在hx目录中将生成kaodv.ko模块,然后将aodvd和kaodv.ko拷贝到无线终端中。所述步骤27)中,a、移植AODV=Linux的内核配置要求支持netfilter;把advancedrouter选项也编译进Linux内核,使得节点当路由器使用;在Makefile中指定交叉编译工具和Linux内核源码路径先进行Make编译,在当前目录下生成aodvd的可执行文件,在Inx目录中生成kaodv.ko模块;然后将aodvd、kaodv.ko下载到无线终端;b、移植iptables;Linux下支持netfilter机制的配置工具就是iptables,它可以对netfilter进行配置;所以要实现netfilter(iptables)就要从使Linux内核支持netfilter和实现用户层iptables配置命令这两方面来着手。所述步骤2)中,AODV路由协议是使用AODV路由算法建立路由,更新IP路由表并维护之,步骤是重新编译Linux内核添加netfilter网络支持利用Linux内核可加载模块kaodv.ko完成转发功能,数据分组发往网络接口前,在决定数据发送的路由时,如果Linux内核路由表中存在与数据分组目的地址匹配的路由,数据分组就被投递到相应的网络接口;如果Linux内核路由表中不存在与数据分组目的地址匹配的路由,就会由回调函数处理,送往用户空间的数据分组缓冲区进行排队,同时用户空间进程aodvd启动路由查找功能;若找到与被缓存的数据分组报头目的地址匹配的路由,就将缓存在用户空间的数据分组重新注入Linux内核;如果没有找到与被缓存的数据分组报头目的地址匹配的路由,则缓存的数据分组将被丢弃,且释放它使用的内存空间;所述由回调函数处理处理是,回调函数检查每条路由的使用时间,将路由表的使用状况发往用户空间,将Linux内核路由表的使用状况告知用户态进程aodvd;aodvd根据该使用状况重置路由缓冲表的定时器,同时aodvd删除Linux内核路由表中过时的路由条目或添加新的路由。所述步骤25)中,无线网络具有自组织的特性具有网络过滤机制,假如三个节点无线终端依次是A,B和C;在A的Linux内核中启动网络过滤把从C节点收到的数据包全部滤掉,同样,在C的Linux内核中启动网络过滤把从A节点收到的数据包全部滤掉,也即A和C不能相互通信;然后如果在A,B,C节点中都启动了路由转发功能,就可以实现A通过B两跳后和C通信。本技术方案中,Makefile文件描述了Linux内核源代码中文件之间的关系,提供更新每个文件的命令;netfilter是Linux内核的扩展,可以实现防火墙、报文加密、报文分类等工作;iptables是与最新的2.6.χ版本Linux内核集成的IP信息包过滤系统,这里用来配置netfilter;AODV路由协议的用户态模块文件。有益效果本发明所设计的无线终端能够使用802.lla/b/g进行数据的收发,并且具有AODV路由协议的功能和路由转发的功能,可以在室内短距环境下进行路由转发功能的演示。图1是系统设计过程示意图。具体实施例方式本实施方式公开了具有路由功能的无线终端设计方法,包括以下步骤一种具有路由功能的无线终端设计方法,它是在ARMLinux平台上搭建一个无线自组织网络硬件终端,利用Samsungs3cM10处理器连接支持802.lla/b/g的无线网卡,再加上SDRAM、Nandflash、调试串口以及电源这些模块组成了无线终端的硬件框架。在此基础上移植了Bootloader、Linux内核、文件系统和AODV路由协议。为了更方便地演示路由协议功能,同时移植了iptables。整个具有路由功能的无线终端设备在802.lla/b/g的基础上实现了路由跳转的演示和自组织功能,同时将硬件电路板进行封装,形成具有路由功能的无线终端设备。所述移植包括a.进行Bootloader移植,所移植的Bootloader选用韩国MIZI公司为SAMSUNG的ARM架构CPU专门设计的ViVi,b.进行BootParameters的设置,Bootparameters分区存放一些可设置的参数,比如IP地址、要传给Linux内核的命令行参数等,c.进行linux-2.6.17内核的移植,在Makefile中修改编译工具为交叉编译工具,修改MTD设备分区,使得Linux内核可以挂载NANDFlash上的文件系统,在默认配置文件的基础上增加对网络文件系统NFS和YAFFS文件系统的支持,d.进行根文件系统移植,根文件系统选择YAFFS文件系统,使用NFS启动系统,然后使用bs命令对flash进行格式化,并安装根文件系统,e.移植无线网卡驱动,单纯移植无线网卡驱动较简单,但不是目的,我们最终要使无线网络具有自组织的特性,因为要移植AODV路由协议,所以Linux内核应支持netfiIter机制,f.移植iptables,Linux下支持netfilter机制的配置工具就是iptables,它也就相当于一个应用程序,可以对netfilter进行配置(包过滤规则,NAT等等),g.移植AODV路由协议,修改Makefile并进行编译,编译过后将在当前目录下生成aodvd的可执行文件,在hx目录中将生成kaodv.ko模块,然后将aodvdkaodv.ko拷贝到无线终端中。BootLoader是在Linux操作系统内核运行之前运行的一段小程序。通过这段小程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用Linux操作系统内核准备好正确的环境。本方法中使用了网络过滤机制,假如三个节点依次是A,B,C。在A的Linux内核中启动网络过滤把从C节点收到的数据包全部滤掉,同样,在C的Linux内核中启动网络过滤把从A节点收到的数据包全部滤掉,也即A和C不能相互通信。如果在A,B,C节点中都启动了路由转发功能,这样就可以实现A通过B两跳后和C通信。为了实现netfilter(iptables),设计方法从两方面来着手(I)Linux内核支持netfilter;(2)用户层的iptables配置命令,在宿主机上进入Linux内核目录,配置所需的Linux内核模块,选择Linux内核中支持netfilter的选项及其相关选项,下载iptables工具包,进入下载目录,进行编译生成可执行文件,设计方案选择iptables-1.3.6进行静态编译,将生成的iptables可执行文件复制到NFS文件系统下并进行挂载,重新启动终端后,就可以用iptables命令了。通过修改Linux内核配置和修改Makefile文件来实现AODV路由协议的编译,选中Linux内核选项IPUserspacequeueingviaNETLINK(OBSOLETE),修改Makefile中Linux内核版本号和Linux内核源码路径,接着进行编译,编译过后将在当前目录下生成aodvd的可执行文件,在hx目录中将生成kaodv.ko模块,然后将aodvd和kaodv.ko两个文件拷贝到目标板中,上述路由功能模块aodvd使用一定的路由协议算法来计算和维护Linux内核路由表,这是在用户空间执行的,而转发功能模块kaodv.ko在Linux内核中实现,所以在转发功能模块保持不变的情况下,可以通过修改路由功能模块,来达到使用其它路由协议或者改进当前路由协议的目的。路由功能模块在用户空间运行,负责和其它网络节点进行信息交流,使用AODV路由算法建立路由更新IP路由表并维护之。具体流程是重新编译Linux内核添加netfilter网络支持利用Linux内核可加载模块kaodv.ko完成转发功能,数据分组发往网络接口前,在决定其路由时,如果Linux内核路由表中存在与数据分组目的地址匹配的路由,数据分组就被投递到相应的网络接口;若不存在,就会由回调函数处理,送往用户空间的数据分组缓冲区进行排队,同时用户空间进程aodvd启动路由查找功能,若查找到与被缓存的数据分组报头目的地址匹配的路由,就将缓存在用户空间的数据分组重新注入Linux内核;如果路由未被发现,则缓存的数据分组将被丢弃,且释放它使用的内存空间。回调函数检查每条路由的使用时间,将路由表的使用状况发往用户空间,将Linux内核路由表的使用状况告知用户态进程aodvd。aodvd据此重置路由缓冲表的定时器,同时aodvd删除Linux内核路由表中过时的路由条目或添加新的路由。首先把aodv-uu-0.9.5移植到ARMLinux中,Linux内核配置要求支持netfiIter,用来在几个特殊的地方抓包,把advancedrouter选项也编译进Linux内核,使得节点当路由器使用,这样就可以中转数据包了。在Makefile中指定交叉编译工具和Linux内核源码路径。Make编译后将在当前目录下生成aodvd的可执行文件,在Inx目录中生成kaodv.ko模块,然后将aodvd、kaodv.ko下载到无线终端。接下来移植iptables,移植iptables的目的是为了测试,因为在室内短距环境下进行节点间多跳路由的测试是比较难实现的。Linux下支持netfilter机制的配置工具就是iptables,它也就相当于一个应用程序,可以对netfilter进行配置(包括过滤规则,NAT等等)。所以要实现netfilter(iptables)就要从使Linux内核支持netfilter和实现用户层iptables配置命令这两方面来着手。(1)编译Linux内核,支持netfilter在宿主机上进入Linux内核目录,配置所需的Linux内核模块makemenuconfig选中如下Linux内核选项Generalsetup--->[*]Sysctlsupport(在ROMFS文件系统中/proc/sys/net/ipv4/出现ip_forward)Networkingoptions--->[*]Networkpacketfiltering(replacesipchains)IP=NetfilterConfiguration—>(全部选择即可)这样Linux内核就支持了netfilter。接下来只需编译并生成Linux内核镜像文件并烧写到嵌入式系统即可。如果烧写后重起成功进入Linux,则说明新的支持netfiter的Linux内核已经正常运行。(2)编译生成iptables命令下载iptables工具包,进入下载目录,进行编译生成可执行文件,编译方法如下选用iptables-1.3.6cd/$DIR/iptables-l.3.6vimMakefileline14:N0_SHARED_LIBS=1(静态链接编译生成可执行文件)make执行上述步骤之后便可生成iptables可执行文件,把生成的iptables可执行文件进行NFS挂载,设置参数后重新启动无线终端,就可以用iptables命令了。权利要求1.一种具有路由功能的无线终端设计方法,其特征在于,包括步骤步骤1)在ARMLinux平台上搭建一个无线自组织网络硬件终端,利用处理器连接支持802.lla/b/g的无线网卡,再加上存储接口、调试串口以及电源,构成了无线终端的硬件框架;步骤2)在所述硬件框架的基础上移植BootloadeiNLinux内核、文件系统、无线网卡驱动和AODV路由协议;步骤3)同时移植了iptables;步骤4)最后将硬件电路板进行封装,形成具有路由功能的无线终端。2.根据权利要求1所述的具有路由功能的无线终端设计,其特征在于,所述步骤2)中包括以下步骤21)进行Bootloader移植将Bootloader的镜像文件通过JTAG口烧写到无线终端的Nandflash中;22)进行引导参数BootParameters的设置在Bootparameters分区存放可设置参数;23)进行Iinux内核的移植在Makefile文件中修改编译工具为交叉编译工具,修改MTD设备分区,使得Linux内核可以挂载NANDFlash上的文件系统,在默认配置文件的基础上增加对网络文件系统NFS和YAFFS文件系统的支持;24)进行根文件系统移植根文件系统选择YAFFS文件系统,使用NFS启动系统,然后使用bs命令对flash进行格式化,并安装根文件系统;25)移植无线网卡驱动移植无线网卡驱动,使无线网络具有自组织的特性;26)移植iptables:Linux下支持netfilter机制的配置工具就是iptables,它也就相当于一个应用程序,可以对netfilter进行配置;27)移植AODV路由协议修改Makefile并进行编译,在当前目录下生成aodvd文件,在hx目录中生成kaodv.ko文件,然后将aodvd和kaodv.ko拷贝到无线终端中。3.根据权利要求1所述的具有路由功能的无线终端设计,其特征在于,所述步骤27)中,a、移植AODV=Linux的内核配置要求支持netfilter;把advancedrouter选项也编译进Linux内核,使得节点当路由器使用;在Makefile中指定交叉编译工具和Linux内核源码路径先进行Make编译,在当前目录下生成aodvd的可执行文件,在Inx目录中生成kaodv.ko模块;然后将aodvcUkaodv.ko下载到无线终端;b、移植iptables:Linux下支持netfilter机制的配置工具就是iptables,它可以对netfilter进行配置;所以要实现netfilteHiptables)就要从使Linux内核支持netfilter和实现用户层iptables配置命令这两方面来着手。4.根据权利要求1所述的具有路由功能的无线终端设计,其特征在于,所述步骤2)中,AODV路由协议是使用AODV路由算法建立路由,更新IP路由表并维护之,步骤是重新编译Linux内核添加netfilter网络支持利用Linux内核可加载模块kaodv.ko完成转发功能,数据分组发往网络接口前,在决定数据发送的路由时,如果Linux内核路由表中存在与数据分组目的地址匹配的路由,数据分组就被投递到相应的网络接口;如果Linux内核路由表中不存在与数据分组目的地址匹配的路由,就会由回调函数处理,送往用户空间的数据分组缓冲区进行排队,同时用户空间进程aodvd启动路由查找功能;若找到与被缓存的数据分组报头目的地址匹配的路由,就将缓存在用户空间的数据分组重新注入Linux内核;如果没有找到与被缓存的数据分组报头目的地址匹配的路由,则缓存的数据分组将被丢弃,且释放它使用的内存空间;所述由回调函数处理处理是,回调函数检查每条路由的使用时间,将路由表的使用状况发往用户空间,将Linux内核路由表的使用状况告知用户态进程aodvchaodvd根据该使用状况重置路由缓冲表的定时器,同时aodvd删除Linux内核路由表中过时的路由条目或添加新的路由。5.根据权利要求1所述的具有路由功能的无线终端设计,其特征在于,所述步骤25)中,无线网络具有自组织的特性具有网络过滤机制假如三个节点无线终端依次是A,B和C;在A的Linux内核中启动网络过滤把从C节点收到的数据包全部滤掉,同样,在C的Linux内核中启动网络过滤把从A节点收到的数据包全部滤掉,也即A和C不能相互通信;然后如果在A,B,C节点中都启动了路由转发功能,就可以实现A通过B两跳后和C通信。全文摘要一种能够实现数据无线收发的具有路由功能的无线终端设计方法。它是在ARMLinux平台上搭建一个无线自组织网络硬件终端,利用Samsungs3c2410处理器连接支持802.11a/b/g的无线网卡,再加上SDRAM、Nandflash、调试串口以及电源这些模块组成了无线终端的硬件框架。在此基础上移植了Bootloader、Linux内核、文件系统和AODV路由协议。为了更方便地演示路由协议功能,同时移植了iptables。整个具有路由功能的无线终端设备在802.11a/b/g的基础上实现了路由跳转的演示和自组织功能,同时将硬件电路板进行封装,形成具有路由功能的无线终端设备。文档编号H04W88/14GK102291797SQ20111018532公开日2011年12月21日申请日期2011年7月4日优先权日2011年7月4日发明者曹秀英,李喆,龚挺申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1