收藏 分销(赏)

aodv在linux上的移植.doc

上传人:xrp****65 文档编号:8720285 上传时间:2025-02-27 格式:DOC 页数:4 大小:37KB 下载积分:10 金币
下载 相关 举报
aodv在linux上的移植.doc_第1页
第1页 / 共4页
aodv在linux上的移植.doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
Aodv移植过程 平台:linux Ubuntu 10.04 安装Ubuntu 编译内核 Ubuntu 原本内核版本为 2.6.32.14,aodv-uu是基于linux内核中netfilter功能框架,由此需要将netfilter模块编译进内核。 下载内核 下载最新的内核版本 2.6.34.12 。解压缩至 /usr/src/kernel/2.6.34.12 。 安装编译环境 为保证编译过程的顺利进行,首先需安装编译的基本环境。使用命令apt-get install build-essential kernel-package libncurses5-dev libqt3-headers。其中build-essential  为基本的编程库(gcc, make等)。 kernel-package  为Debian 系统里生成 kernel-image 的一些配置文件和工具。libncurses5-dev 为meke menuconfig要调用的。 配置内核 在编译内核之前首先要配置内核,也就是决定哪些功能编入内核,哪些功能编入模块。编入内核的功能可以直接被内核调用,编成模块的功能使用前需将模块挂载入内核。未编入内核和模块的功能将不能使用。 在linux中配置内核的方法共5种,常用的只有两种,menuconfig和xconfig。Menuconfig配置使用的是图形界面。Xconfig配置时使用文字界面。这次我们使用的是图形界面的menuconfig。 在终端中首先进入 /usr/src/kernel/2.6.34.12目录。输入 make menuconfig,将netfilter 编入内核,按如下步骤:Networking  --->   Networking options  --->  [*] Network packet filtering framework (Netfilter)  --->  IP: Netfilter Configuration  --->     <*> IP Userspace queueing via NETLINK (OBSOLETE)  最后保存设置然后退出。 编译内核 配置内核的功能之后是编译内核及模块。共分成如下数步: 编译内核,make bzImage; 编译模块,make modules; 安装内核,make install; 安装内核模块,make modules_install; 最后需要生成一个内核的镜像文件,来指明内核模块,功能之间的相互依赖关系,update-initramfs -k 2.6.32-29 –c,注意若在这里使用mkintiramfs命令,则可能在重启的时候出现如下的错误:FATAL: Could not load /lib/modules/2.6.34.12/modules.dep 修改启动项 至此,linux中就存在至少两个内核,如何在开机时选择希望启动的那个内核?linux使用的是grub的开机启动菜单。方法为进入/boot/grub/,修改其中的grub.cfg文件,添加如下字段:menuentry '(QoS)Ubuntu,Linux 2.6.34.12' --class ubuntu --class gnu-linux --class gnu --class os { recordfail insmod ext2 set root='(hd1,9)' search --no-floppy --fs-uuid --set 501d3a42-1d52-4438-99bf-e679da605867 linux /vmlinuz-2.6.32-29 root=UUID=33883099-83a5-49f3-9c12-ee6a4d90da9e ro quiet splash initrd /initrd.img-2.6.32-29 } 原内核启动项为: menuentry 'Ubuntu,Linux 2.6.32-24-generic' --class ubuntu --class gnu-linux --class gnu --class os { recordfail insmod ext2 set root='(hd1,9)' search --no-floppy --fs-uuid --set 501d3a42-1d52-4438-99bf-e679da605867 linux /vmlinuz-2.6.32-24-generic root=UUID=33883099-83a5-49f3-9c12-ee6a4d90da9e ro quiet splash initrd /initrd.img-2.6.32-24-generic } 也就是在原内核启动项的基础上修改内核名字,内核文件目录,内核镜像文件的目录。除此之外还可使用下面的方法使系统自动修改开机启动菜单: 在终端中输入:update-grub。该命令会使系统自动寻找系统系统中所有的开机启动选项,不用人为的设定。 至此,内核的编译安装就全部完成了,重启系统之后,选择正确的开机启动项就可进入新编译的内核。 Aodvd 一般必须运行在无线网络端口,系统必须带有无线端口,没有无线端口的可以安装使用无线网卡。 安装无线网卡 安装无线网卡根据无线网卡芯片的不同选择不同的驱动和安装方式。 水星系列 MU450 该款芯片使用的是型号为ath9k_htc芯片,安装使用wireless-compact软件。下载wireless-compact软件,按照README中方式安装驱动。 首先,下载MU450在linux下的驱动,htc_9271.fw。将htc_9271.fw复制到/lib/firware 文件夹下。 然后,解压缩wireless-compact;在终端输入 ./drive-select ath9k_htc ;make ; make install。 最后,重启系统即可。在终端输入 ifconfig 就可以看到该网卡。 Ralink 3070 该网卡使用的是型号为rt2080的无线网卡芯片。可使用ndiswrapper 软件安装驱动。Ndiswrapper软件是一款将windows系统下的驱动转换为linux 系统下驱动的软件。适合一些对linux不提供支持的网卡。但是,经过尝试,该款软件运行时有时会不稳定,在虚拟机的情况下则尽量不要使用该款软件。 安装驱动的方法比较简单。下载网卡在windows下的驱动,下载包中应该有三个文件,.inf,,sys,.cat。下载ndiswrapper软件,解压缩,安装软件,在终端输入make ;make insall。安装Windows下的驱动: nidswrapper -i [inf_file] .inf文件就是Windows的驱动信息文件,这步将适当的文件安装到/etc/ndiswrapper/[driver]下,你可以执行如下操作以检查确认ndiswrapper: ndiswrapper -l 它将会列示出你刚才安装过的驱动,针对这点,加载ndiswrapper核心模块: modprobe ndiswrapper   这是加载驱动并确保它在系统中可用,你需要安装无线工具包来配置无线界面,确定系统可以看到这个网卡,输入ifconfig,它将会作为一个网络接口显示出来。(如果系统中只有一个无线网卡,它通常是显示wlan0). 安装aodv路由协议 下载最新版本的aodv-uu-0.9.6,解压缩。 编译:make ; 安装:make install; 安装后生成 aodvd.ko 模块,和 aodvd 程序。Aodvd会自动放入/bin,/sbin 中作为系统的一个命令,可以直接在终端运行,但是必须以管理用户的权限运行。 aodvd命令后可以添加参数。详情可以使用 aodvd –h查看。想要在某个端口上运行aodv,可以输入如下命令: aodvd –i 【端口名】 在多台系统上运行aodv 运行aodv程序作为路由协议,比根据该路由工作。至少有两个系统必须首先连接到同一网络中且网络应该选择成为ad hoc模式,网络子网掩码可以选成一致的,如 1.1.1.1。系统的IP地址可以选在不在同一子网中,对结果不会产生影响。 为了排除其他因素的干扰,在小范围内达到测试的目的,可以将两台系统之间的链路层断开,从而达到通过第三台系统转接的目的。断开链路层使用iptables 的命令方式,具体如下: 禁止接受MAC地址为xx:xx:xx:xx:xx:xx的系统,命令如下: iptables –A INPUT –m –mac-source xx:xx:xx:xx:xx:xx –j DROP 只接受MAC地址为xx:xx:xx:xx:xx:xx的系统,命令如下: iptables –P DROP; iptables –A INPUT –m –mac-source xx:xx:xx:xx:xx:xx –j ACCEPT 查看iptables 中内容条目时使用:iptables –L; 删除iptables 中内容条目时使用:iptables –F; 另外 iptables的执行机制是逐条执行,所以设置时必须注意其中的条目顺序。 Aodv网关模式 Aodv网关模式是将一台系统作为接入点,允许同一网络中所有的系统访问外网。作为接入点的系统必须有两个以上的无线网卡。最好一个为有线网卡,一个为无线网卡。将有线网卡通过双绞线连至外网,无线网卡连至ad hoc 网络。为了使ad hoc网络中系统可以正常上网,在接入点系统上还必须运行NAT服务,为了简化问题,可以将接入点直接连至具有NAT功能的路由器上来达到相同的效果。在接入点系统上运行 aodvd –w 即可使ad hoc 网络中所有系统访问外网。 语音传输 Linux的录音,放音本质上都是从 /dev/dsp 或 /dev/audio 中存取数据。使用函数 sd=open("/dev/dsp" , O_RDWR)打开/dev/dsp设备。当打开成功时返回 sd>0,失败时返回sd<0。如果打开失败,则检查是否有权限打开设备。权限共有三种,分别为w,r,x(可写,可读,可执行)。可以通过使用chmod命令改变设备的权限。从设备中读取数据后通过使用套接字编程将数据传输至另一台系统,写入设备中即完成语音的传输。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服