首页> 中国专利> 具有路由功能的无线终端设计方法

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

摘要

一种能够实现数据无线收发的具有路由功能的无线终端设计方法。它是在ARM Linux平台上搭建一个无线自组织网络硬件终端,利用Samsung s3c2410处理器连接支持802.11a/b/g的无线网卡,再加上SDRAM、Nand flash、调试串口以及电源这些模块组成了无线终端的硬件框架。在此基础上移植了Bootloader、Linux内核、文件系统和AODV路由协议。为了更方便地演示路由协议功能,同时移植了iptables。整个具有路由功能的无线终端设备在802.11a/b/g的基础上实现了路由跳转的演示和自组织功能,同时将硬件电路板进行封装,形成具有路由功能的无线终端设备。

著录项

  • 公开/公告号CN102291797A

    专利类型发明专利

  • 公开/公告日2011-12-21

    原文格式PDF

  • 申请/专利权人 东南大学;

    申请/专利号CN201110185322.4

  • 发明设计人 曹秀英;龚挺;李喆;

    申请日2011-07-04

  • 分类号H04W40/24;H04W88/14;

  • 代理机构南京天翼专利代理有限责任公司;

  • 代理人朱戈胜

  • 地址 211189 江苏省南京市江宁开发区东南大学路2号

  • 入库时间 2023-12-18 04:08:41

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-08-18

    未缴年费专利权终止 IPC(主分类):H04L29/12 授权公告日:20140226 终止日期:20160704 申请日:20110704

    专利权的终止

  • 2014-02-26

    授权

    授权

  • 2012-02-08

    实质审查的生效 IPC(主分类):H04W40/24 申请日:20110704

    实质审查的生效

  • 2011-12-21

    公开

    公开

说明书

技术领域

本发明涉及一种具有路由功能的无线终端设计,尤其是实现了无线自组织和 路由转发功能,所属技术领域为无线通信领域。

背景技术

无线局域网有802.11a/b/g三种主流的标准。802.11b规范工作在2.4GHz 通信频带,数据速率超过了10M bps的临界限度,物理层采用高速直接序列扩 频技术。802.11的第二个分支为802.11a,802.11a工作在5.2G Hz频带,并 被指定高达54Mbps的数据速率。而802.11g可以在与802.11b网络兼容的情 况下,最高提供与802.11a标准相同的54Mbps连接速率。

目前市售的无线网卡只是单纯地支持Infrastructure模式,很少有支持Ad Hoc模式的产品。即使支持,也不是标准的Ad Hoc模式,而是简单的点对点 Ad Hoc模式,不能实现路由转发。

由于Ad Hoc网络拓扑结构动态变化,如何在移动中保持通信成为一个重要 的研究方向,现阶段已经提出了许多路由算法,本设计使用被IETF的MANET 工作组认为是最好的路由协议之一的AODV路由协议。AODV协议采用逐跳的 方式转发分组,路由表中记录了到目的节点的下一跳,不需要在报文中携带完整 的路由信息,减少了数据分组额外开销,提高了网络带宽利用率。并且采用源序 列号和目的序列号标识链路的新旧程度,避免了环路的产生,并且每次都使用最 新的路由。此外,AODV协议还采用了扩展环路搜索技术,通过设置路由请求 信息中生存时间TTL(Time to Live)的值,避免了路由请求所带来的全网广播。 AODV协议通过每个节点周期性广播HELLO消息提供与相邻节点的相互连接信 息,检测链路状态。鉴于AODV路由协议功能强大而又便于实现的特点,故成 为嵌入式系统下移植Ad Hoc协议的首选。

目前媒介接入控制层和物理层协议一般使用网络设备硬件或固件来实 现,所以一旦做成产品就不能对其再进行开发

发明内容

为了解决现有技术中存在的上述问题,本方法提出一种用net80211和 mac80211来实现软件MAC的方法。本发明要解决的主要技术问题是完成具有 路由功能的无线终端设计,使得所设计出来的无线终端能够具有AODV路由协 议的功能和数据转发的功能,并且可以演示其路由转发功能。具体技术方案如下:

一种具有路由功能的无线终端设计方法,包括步骤:

步骤1)在ARM Linux平台上搭建一个无线自组织网络硬件终端,利用处理 器连接支持802.11a/b/g的无线网卡,再加上存储接口、调试串口以及电源,构 成了无线终端的硬件框架;

步骤2)在所述硬件框架的基础上移植Bootloader、Linux内核、文件系统、 无线网卡驱动和AODV路由协议;

步骤3)同时移植了iptables;

步骤4)最后将硬件电路板进行封装,形成具有路由功能的无线终端。

所述步骤2)中包括以下步骤:

21)进行Bootloader移植:将Bootloader的镜像文件通过JTAG口烧写 到无线终端的Nandflash中;

22)进行引导参数Boot Parameters的设置:在Boot parameters分区存 放可设置参数;

23)进行linux内核的移植:在Makefile中修改编译工具为交叉编译工具, 修改MTD设备分区,使得Linux内核可以挂载NAND Flash上的文件系统, 在默认配置文件的基础上增加对网络文件系统NFS和YAFFS文件系统的支持;

24)进行根文件系统移植:根文件系统选择YAFFS文件系统,使用NFS启 动系统,然后使用bs命令对flash进行格式化,并安装根文件系统;

25)移植无线网卡驱动:移植无线网卡驱动,使无线网络具有自组织的特 性;

26)移植iptables:Linux下支持netfilter机制的配置工具就是iptables, 它也就相当于一个应用程序,可以对netfilter进行配置;

27)移植AODV路由协议:修改Makefile并进行编译,编译过后将在当 前目录下生成aodvd的可执行文件,在Inx目录中将生成kaodv.ko模块,然后 将aodvd和kaodv.ko拷贝到无线终端中。

所述步骤27)中,

a、移植AODV:Linux的内核配置要求支持netfilter;把advanced router选 项也编译进Linux内核,使得节点当路由器使用;

在Makefile中指定交叉编译工具和Linux内核源码路径先进行Make编译, 在当前目录下生成aodvd的可执行文件,在lnx目录中生成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.x版本Linux内核集成的IP信息包过滤系统,这 里用来配置netfilter;

AODV路由协议的用户态模块文件。

有益效果:本发明所设计的无线终端能够使用802.11a/b/g进行数据的收 发,并且具有AODV路由协议的功能和路由转发的功能,可以在室内短距环境 下进行路由转发功能的演示。

附图说明

图1是系统设计过程示意图。

具体实施方式

本实施方式公开了具有路由功能的无线终端设计方法,包括以下步骤:

一种具有路由功能的无线终端设计方法,它是在ARM Linux平台上搭建一 个无线自组织网络硬件终端,利用Samsung s3c2410处理器连接支持802.11a/b/g 的无线网卡,再加上SDRAM、Nand flash、调试串口以及电源这些模块组成了 无线终端的硬件框架。在此基础上移植了Bootloader、Linux内核、文件系统和 AODV路由协议。为了更方便地演示路由协议功能,同时移植了iptables。整个 具有路由功能的无线终端设备在802.11a/b/g的基础上实现了路由跳转的演示和 自组织功能,同时将硬件电路板进行封装,形成具有路由功能的无线终端设备。

所述移植包括:

a.进行Bootloader移植,所移植的Bootloader选用韩国MIZI公司为 SAMSUNG的ARM架构CPU专门设计的ViVi,

b.进行Boot Parameters的设置,Boot parameters分区存放一些可设 置的参数,比如IP地址、要传给Linux内核的命令行参数等,

c.进行linux-2.6.17内核的移植,在Makefile中修改编译工具为交叉编 译工具,修改MTD设备分区,使得Linux内核可以挂载NAN D Flash上的文 件系统,在默认配置文件的基础上增加对网络文件系统NFS和YAFFS文件系统 的支持,

d.进行根文件系统移植,根文件系统选择YAFFS文件系统,使用NFS启动 系统,然后使用bs命令对flash进行格式化,并安装根文件系统,

e.移植无线网卡驱动,单纯移植无线网卡驱动较简单,但不是目的,我们 最终要使无线网络具有自组织的特性,因为要移植AODV路由协议,所以Linux 内核应支持netfilter机制,

f.移植iptables,Linux下支持netfilter机制的配置工具就是iptables, 它也就相当于一个应用程序,可以对netfilter进行配置(包过滤规则,NAT等 等),

g.移植AODV路由协议,修改Makefile并进行编译,编译过后将在当前 目录下生成aodvd的可执行文件,在Inx目录中将生成kaodv.ko模块,然后将 aodvd kaodv.ko拷贝到无线终端中。

Boot Loader是在Linux操作系统内核运行之前运行的一段小程序。通 过这段小程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统 的软硬件环境带到一个合适的状态,以便为最终调用Linux操作系统内核准 备好正确的环境。

本方法中使用了网络过滤机制,假如三个节点依次是A,B,C。在A的Linux 内核中启动网络过滤把从C节点收到的数据包全部滤掉,同样,在C的Linux 内核中启动网络过滤把从A节点收到的数据包全部滤掉,也即A和C不能相互 通信。如果在A,B,C节点中都启动了路由转发功能,这样就可以实现A通过 B两跳后和C通信。

为了实现netfilter(iptables),设计方法从两方面来着手:

(1)Linux内核支持netfilter;

(2)用户层的iptables配置命令,在宿主机上进入Linux内核目录,配置所需 的Linux内核模块,选择Linux内核中支持netfilter的选项及其相关选项,下 载iptables工具包,进入下载目录,进行编译生成可执行文件,设计方案选择 iptables-1.3.6进行静态编译,将生成的iptables可执行文件复制到NFS文件 系统下并进行挂载,重新启动终端后,就可以用iptables命令了。

通过修改Linux内核配置和修改Makefile文件来实现AODV路由协议的编 译,选中Linux内核选项:IP Userspace queueing via NETLINK(OBSOLETE), 修改Makefile中Linux内核版本号和Linux内核源码路径,接着进行编译,编 译过后将在当前目录下生成aodvd的可执行文件,在Inx目录中将生成 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移植到ARM Linux中,Linux内核配置要求支持 netfilter,用来在几个特殊的地方抓包,把advanced router选项也编译进Linux内 核,使得节点当路由器使用,这样就可以中转数据包了。在Makefile中指定交 叉编译工具和Linux内核源码路径。Make编译后将在当前目录下生成aodvd的 可执行文件,在lnx目录中生成kaodv.ko模块,然后将aodvd、kaodv.ko下载到 无线终端。

接下来移植iptables,移植iptables的目的是为了测试,因为在室内短距环境 下进行节点间多跳路由的测试是比较难实现的。Linux下支持netfilter机制的配 置工具就是iptables,它也就相当于一个应用程序,可以对netfilter进行配置(包 括过滤规则,NAT等等)。所以要实现netfilter(iptables)就要从使Linux内核 支持netfilter和实现用户层iptables配置命令这两方面来着手。

(1)编译Linux内核,支持netfilter

在宿主机上进入Linux内核目录,配置所需的Linux内核模块:

make menuconfig

选中如下Linux内核选项:

General setup--->

[*]Sysctl support(在ROMFS文件系统中/proc/sys/net/ipv4/出现ip_forward)

Networking options--->

[*]Network packet filtering(replaces ipchains)

IP:Netfilter Configuration--->(全部选择即可)

这样Linux内核就支持了netfilter。接下来只需编译并生成Linux内核镜像 文件并烧写到嵌入式系统即可。如果烧写后重起成功进入Linux,则说明新的支 持netfiter的Linux内核已经正常运行。

(2)编译生成iptables命令

下载iptables工具包,进入下载目录,进行编译生成可执行文件,编译方法 如下:

选用iptables-1.3.6

cd/$DIR/iptables-1.3.6

vim Makefile

line14:NO_SHARED_LIBS=1(静态链接编译生成可执行文件)

make

执行上述步骤之后便可生成iptables可执行文件,把生成的iptables可执行 文件进行NFS挂载,设置参数后重新启动无线终端,就可以用iptables命令了。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号