RT3070AP移植过程
硬件平台:S3C6410开发板
Linux内核:linux-3.0.1
作者:孙怀亚
qq:413983254
说明:这是一个6410+RT3070WIFI作为路由器的移植过程!
第1步.下载2010_0203_RT3070_SoftAP_v2.4.0.1_DPA.bz2,这个东西我再网上找了两天没找到,后来在一家淘宝店里要到的,感谢这神店..感谢淘宝,我这是基于这个修改移植的,发现这个包里的内容已经被人修改过,并不是雷凌发布的那个版本。后来仔细阅读源码的组织结构,尝试了几次,终于明白修改者的意思,并且找到了移植的方法。移植后发现能够将wifi网卡作为路由器使用,并且经过简单测试,无线连接了几台电脑,没有问题!
在做下面的过程中,我认为你是有个有点嵌入式开发经验的人,并且交叉编译器已经安装完毕,内核源码已经可以编译通过运行等!特别要强调,usb总线驱动一定要是好的。在内核源码对于RT3070的驱动要去掉。不然将会使用系统驱动。方法:Make menuconfig 找到支持RaLink的所有驱动,都去掉!
如有需要请联系:sunhuaiya@https://www.sodocs.net/doc/9a9259762.html,
QQ:413983254
第2步.拷贝文件到ubuntu目录下:解压缩:
Tar –jxvf 2010_0203_RT3070_SoftAP_v2.4.0.1_DPA.bz2
进入目录
第3步、顶层makefile调用两个shell来执行脚本,来执行编译。
执行:#make
一大堆错误!
在目录下有MODULE、NETIF、UTIL三个文件夹,里面分别还有makefile,我们编译时是调用者三个makefile执行的,下面我们修改者三个makefile,例如进入MODULE目录修改如下:
Linux_src =是指内核源码目录,我现在使用的linux-3.0.1,所有我讲这个指定到它的目录
CROSS_COMPILE = 是指编译器的选择。注意三个目录下的makefile都要修改!
第4步、编译:在顶层
#make
又有错误:如图所示
看提示错误信息,好像只有两个函数没有定义,经过百度发现:在2.6.35和之后的内核中
usb_buffer_alloc 和usb_buffer_free这两个函数已不在使用了,可以用usb_alloc_coherent 和usb_free_coherent代替。把驱动里分配内存与释放内存释放函数修改就好了。感谢百度,开发之神器。
继续#make
编译一会,没有错误。进入MODULE、NETIF、UTIL三个文件夹下都能看到os目录.在三个os/linux目录下分别有rt3070ap.ko,rtutil3070ap.ko,rtnet3070ap.ko文件,就是我们编译好的文件
第5步:编译通过后,将在MODULE、NETIF、UTIL三个文件夹中分别生
成三个可加载模块:rt3070ap.ko,rtutil3070ap.ko,rtnet3070ap.ko。通过USB接口或sd卡拷贝到开发板目录下运行.将这三个模块和MODULE/rt2870ap.dat文件拷贝到开发板目录下。并将文件移动到相应位置:
rt2870ap.dat为默认配置,essid,密码等!感兴趣可以打开看看!好多的配置#mkdir /etc/Wireless/ 创建一个文件夹,这个是雷凌默认启动路径,
#mkdir /etc/Wireless/RT2870AP/ 再创建一个目录,也是雷凌默认启动路径#cp
/mnt/rt2870ap.dat /etc/Wireless/RT2870AP/RT2870AP.dat拷贝配置文件到默认路径#cp /mnt/rt3070ap.ko /home/root拷贝三个文件到开发板一个目录。
#cp /mnt/rtutil3070ap.ko /home/root
#cp /mnt/rtnet3070ap.ko /home/root
第6步、运行程序:当拷贝完毕:一定要按照下面顺序加载模块,否则又是一大堆错误!
#cd /home/root
#insmod rtutil3070ap.ko
#insmod rt3070ap.ko
这里出现如下错误:
[421.461365] rt3070ap: module license 'RALINK' taints kernel.
[421.461723] Disabling lock debugging due to kernel taint
那是应为代码的开源申明,在源码内默认是RALINK申明,解决办法也很简单
修改NETIF /os/linux/usb_main_dev.c和rtmp_init.c文件
# vim NETIF/os/linux/usb_main_dev.c
MODULE_LICENSE("GPL");//在文件前面添上这句申明# vim MODULE/common/rtmp_init.c
#ifdef RTMP_MAC_USB
- MODULE_LICENSE("RALINK");//删除这个申明
+ MODULE_LICENSE("GPL");//添加GPL申明
#endif // RTMP_MAC_USB
从新回到顶层
#Make clean
#Make
从新开始第5步:
#insmod rtnet3070ap.ko
第7步、用ifconfig查看是否无线AP驱动安装完毕,可以看到已经有一个识别到ra0 #ifconfig –a
eth0 Link encap:Ethernet HWaddr 3A:1F:34:08:54:54
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:25 Base address:0xc000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:576 (576.0 B) TX bytes:576 (576.0 B)
ra0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
#iwconfig ra0
ra0 RTWIFI SoftAP ESSID:"RT2860AP" Nickname:""
Mode:Managed Channel=11 Access Point: 00:0C:43:41:6F:A6 Bit Rate=150 Mb/s
设置IP地址
#ifconfig ra0 192.168.1.1
ra0 Link encap:Ethernet HWaddr 00:0C:43:41:6F:A6
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:121922 (119.0 KiB) TX bytes:9072 (8.8 KiB)
至此,一个默认的名为RT2860AP的网络就建立起来了。这个名字实际上就是我们第5步的RT2870AP.dat文件中默认配置。你可以更改一下看看是否有变化。默认为RT2860AP,无密码。用iwconfig命令可修改网络的相关参数。
第8步:测试,打开手机或笔记本,查看无线网络,当看到RT2860网络时,点击链接,但是目前网络不支持动态分配IP地址,你要手动将自己的IP改为静态分配,如将自己的ip 改为192.168.1.2,因为默认网关已经被你设置为192.168.1.1(在7步),当链接完毕,打开终端。
#ping 192.168.1.1
查看电脑到开发板是否已经能够ping通!
第9步移植dhcpd,这是个动态分配ip地址的程序,在这里不讲解,以上已经够开始使用!
青岛农业大学理学与信息科学学院 计算机网络综合实习报告 题目 专业 学号 姓名 指导教师 日期
目录 一、课程设计任务和目的 (1) 二、设计要求 (1) 三、设计内容 (1) 3.1顺序查找路由表的工作原理 (1) 3.2课程设计程序运行结果与分析 (2) 四、改进和建议 (5) 五、总结 (5) 六、主要参考文献 (5) 附录: (6)
一、课程设计任务和目的 1.了解路由器更新的原理。 2.了解表示路由器的结构。 3.掌握路由器转发分组的算法。 二、设计要求 编写计算机程序,用(目的网络,掩码,下一跳)的结构表示路由表,以一个目的地址作为输入,顺序查找路由表,找出正确的下一跳,并输出。 三、设计内容 3.1顺序查找路由表的工作原理 使用子网划分后,路由表必须包含:目的地址,子网掩码,下一跳地址。路由器分组转发的算法如下: (1)从收到的数据包的首部提取目的IP地址D; (2)对路由器直接相连的网络逐个进行检查:用个网络的掩码和D逐位相“与”,看结果是否和相应的网络地址匹配。若匹配,则把分组直接交付,转发任务结束,否则就是间接交付执行(3)。 (3)若路由表中有目的地址为D特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器否则执行(4)。 (4)对路由表的每一行,用其中的子网掩码和D逐位相“与”,其结果为N。若N 与该行的目的网络相匹配,则把数据报送给该行指明的下一跳路由器;否则执行(5)。 (5)若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则执行(6)。 (6)报告转发分组出错,没有查找到路由。 简单来说,就是当来一个数据报时,抓
添加路由,这里按照自己的网络情况设置,下面是我的路由设置:Persistent Routes: Network Address Netmask Gateway Address Metric 135.190.35.0 255.255.255.0 135.190.35.254 135.190.0.0 255.255.0.0 135.190.35.254 132.0.0.0 255.0.0.0 135.190.35.254 我的内网是135.190.35.0段的IP,网关是135.190.35.254,外网是135.175.35.0段的IP,网关是135.175.35.254,因为我们设置的网络是外网的(可以正常使用的,用IE上个百度或者别的网站试试),所以不用增加外网路由,只需要增加内网的路由,我增加如下有路由就可以: Route add 135.190.0.0 mask 255.255.0.0 135.190.35.254 -p Route add 132.0.0.0 mask 255.0.0.0 135.190.35.254 –p route add 135.190.35.0 mask 255.255.255.0 135.190.35.254 -p 如果网络不稳定,再增加一条外网的路由: route add 135.175.35.0 mask 255.255.255.0 135.175.35.254 上面的命令直接粘贴在cmd下运行就可以:
三、即指向0.0.0.0的有两个网关,这样就会出现路由冲突,两个网络都不能访问。如何实现同时问两个网络?那要用到route命令第一步:route delete 0.0.0.0 "删除所有0.0.0.0的路由" 第二步:route add 0.0.0.0 mask 0.0.0.0 172.23.1.1 "添加0.0.0.0网络路由"这个是主要的,意思就是你可以上外网。第三步:route add 10.0.0.0 mask 255.0.0.0 192.168.0.2 "添加以10开头的网段指向内网路由",注意mask为255.0.0.0 ,而不是255.255.255.0 ,这样内部的多网段才可用。到这儿如果能正常访问内外网了的话,那么我么就要永久写入了(因为刚刚设置的路由表会在重启后丢失),用到以下命令:route add -p 添加静态路由,即重启后,路由不会丢失。注意使用前要在tcp/ip设置里去掉接在企业内部网的网卡的网关。以下是 WinArpAttacker 这是一个arp攻击软件。你可以用它来查看网络上所有的ip和MAC地址! 我用它追查过ARP攻击者。还可以用~~~
1、静态路由的配置命令: 例如: ip route 129.1.0.0 16 10.0.0.2 ip route 129.1.0.0 255.255.0.0 10.0.0.2 ip route 129.1.0.0 16 Serial0/0/0 注意:只有下一跳所属的的接口是点对点(PPP、HDLC)的接口时,才可以填写
静态路由设置实例解析 随着宽带接入的普及,很多家庭和小企业都组建了局域网来共享宽带接入。而且随着局域 网规模的扩大,很多地方都涉及到2台或以上路由器的应用。当一个局域网内存在2台以 上的路由器时,由于其下主机互访的需求,往往需要设置路由。由于网络规模较小且不经 常变动,所以静态路由是最合适的选择。 本文作为一篇初级入门类文章,会以几个简单实例讲解静态路由,并在最后讲解一点 关于路由汇总(归纳)的知识。由于这类家庭和小型办公局域网所采用的一般都是中低档 宽带路由器,所以这篇文章就以最简单的宽带路由器为例。(其实无论在什么档次的路由 器上,除了配置方式和命令不同,其配置静态路由的原理是不会有差别的。)常见的 1WAN口、4LAN口宽带路由器可以看作是一个最简单的双以太口路由器+一个4口小交换机,其WAN口接外网,LAN口接内网以做区分。 路由就是把信息从源传输到目的地的行为。形象一点来说,信息包好比是一个要去某 地点的人,路由就是这个人选择路径的过程。而路由表就像一张地图,标记着各种路线, 信息包就依靠路由表中的路线指引来到达目的地,路由条目就好像是路标。在大多数宽带 路由器中,未配置静态路由的情况下,内部就存在一条默认路由,这条路由将LAN口下所 有目的地不在自己局域网之内的信息包转发到WAN口的网关去。宽带路由器只需要进行 简单的WAN口参数的配置,内网的主机就能访问外网,就是这条路由在起作用。本文将 分两个部分,第一部分讲解静态路由的设置应用,第二部分讲解关于路由归纳的方法和作用。 下面就以地瓜这个网络初学者遇到的几个典型应用为例,让高手大虾来说明一下什么 情况需要设置静态路由,静态路由条目的组成,以及静态路由的具体作用。 例一:最简单的串连式双路由器型环境 这种情况多出现于中小企业在原有的路由器共享Internet的网络中,由于扩展的需要,再接入一台路由器以连接另一个新加入的网段。而家庭中也很可能出现这种情况,如用一 台宽带路由器共享宽带后,又加入了一台无线路由器满足无线客户端的接入。 地瓜:公司里原有一个局域网LAN 1,靠一台路由器共享Internet,现在又在其中添加 了一台路由器,下挂另一个网段LAN 2的主机。经过简单设置后,发现所有主机共享Internet没有问题,但是LAN 1的主机无法与LAN 2的主机通信,而LAN 2的主机却能Ping通LAN 1下的主机。这是怎么回事? 大虾:这是因为路由器隔绝广播,划分了广播域,此时LAN 1和LAN 2的主机位于两 个不同的网段中,中间被新加入的路由器隔离了。所以此时LAN 1下的主机不能“看”到LAN 1里的主机,只能将信息包先发送到默认网关,而此时的网关没有设置到LAN 2的路
静态路由配置 【实训名称】 静态路由配置。 【实训目的】 理解静态路由的工作原理,掌握如何配置静态路由。 【背景描述】 假设校园网分为2个区域,每个区域内使用1台路由器连接2个子网,现要在路由器上做适当配置,实现校园网内各个区域子网之间的相互通信。 【需求分析】 两台路由器通过串口以V.35 DCE/DTE电缆连接在一起,每个路由器上设置2个Loopback端口模拟子网,设置静态路由,实现所有子网间的互通。 【实训拓扑】 图6-3 实训拓扑图 【实训设备】 路由器(带串口)2台 V.35 DCE/DTE电缆1对 【预备知识】 路由器的工作原理和基本配置方法,静态路由的工作原理和配置方法 【实训原理】 路由器属于网络层设备,能够根据IP包头的信息,选择一条最佳路径,将数据包转发出去。实现不同网段的主机之间的互相访问。 路由器是根据路由表进行选路和转发的。而路由表里就是由一条条的路由信息组成。路由表的产生方式一般有3种: 直连路由给路由器接口配置一个IP地址,路由器自动产生本接口IP所在网段的路 由信息。 静态路由在拓扑结构简单的网络中,网管员通过手工的方式配置本路由器未知 网段的路由信息,从而实现不同网段之间的连接。 动态路由协议学习产生的路由在大规模的网络中,或网络拓扑相对复杂的情况下,通过在路由器上运行动态路由协议,路由器之间互相自动学习产生路由信息。 【实训步骤】 第一步:配置路由器的名称、接口IP地址和时钟 R3740#configure terminal Enter configuration commands, one per line. End with CNTL/Z. R3740(config)#hostname RouterA !配置路由器的名称
路由器选型重要参数 全双工线速转发能力 路由器最基本且最重要的功能是数据包转发。在同样端口速率下转发小包是对路由器包转发能力最大的考验。全双工线速转发能力是指以最小包长(以太网64字节、POS口40字节)和最小包间隔(20字节)在路由器端口上双向传输同时不引起丢包。该指标是路由器性能重要指标。125,000,000/(64+20)=1,488,095 设备吞吐量 指设备整机包转发能力,是设备性能的重要指标。路由器的工作在于根据IP包头或者MPLS标记选路,所以性能指标是转发包数量每秒。设备吞吐量通常小于路由器所有端口吞吐量之和。 端口吞吐量 端口吞吐量是指端口包转发能力,通常使用pps:包每秒来衡量,它是路由器在某端口上的包转发能力。通常采用两个相同速率接口测试。但是测试接口可能与接口位置及关系相关。例如同一插卡上端口间测试的吞吐量可能与不同插卡上端口间吞吐量值不同。 路由表能力 路由器通常依靠所建立及维护的路由表来决定如何转发。路由表能力是指路由表内所容纳路由表项数量的极限。由于Internet上执行BGP协议的路由器通常拥有数十万条路由表项,所以该项目也是路由器能力的重要体现。 背板能力 背板能力是路由器的内部实现。背板能力能够体现在路由器吞吐量上:背板能力通常大于依据吞吐量和测试包场所计算的值。但是背板能力只能在设计中体现,一般无法测试。QoS分类方式 指路由器可以区分QoS所依据的信息。最简单的QoS分类可以基于端口。同样路由器也可以依据链路层优先级(802.1Q中规定)、上层内容(TOS字段、源地址、目的地址、源端口、目的端口等信息)来区分包优先级。 分组语音支持方式 在企业中,路由器分组语音承载能力非常重要。在远程办公室与总部间,支持分组语音的路由器可以使电话通信和数据通信一体化,有效地节省长途话费。当前技术环境下,分组语音可以分为3种:使用IP承载分组语音、使用A TM承载语音以及使用帧中继承载语音。使用ATM承载语音时可以分AAL1和AAL2两种。AAL1即电路仿真,技术非常成熟但是相对成本较高,AAL2技术较先进,但是当前ATM接口通常不支持。帧中继承载语音也比较成熟,相对成本较低。IP承载语音当前较流行。在上述技术中成本最低,但是当前IP网络QoS保证困难,通话质量较难保证。 语音压缩能力 语音压缩是IP电话节约成本的关键之一。通常可以使用G.723和G.729。G.723在ITU -T建议G.723.1(1996),语音编码器在5.3和6.3Kbps多媒体通信传输双率语音编码器中规定。相对压缩比较高,压缩时延较大。G.729在ITU-T 建议G.729 (1996),8Kbps共扼结构代数码激励线形预测(CS-ACELP)语音编码中规定。压缩比较低,通话质量较好。 信令支持 路由器E1端口上可能支持多种信令:ISUP、TUP、中国1号信令以及DSS1。支持ISUP、TUP或者DSS1信令的路由器可以有效地减少接续时间。在电信级的IP电话网络设备中通常要求支持7号信令。但是作为中低端路由器,通常只支持DSS1和中国1号信令。
7.2 路由表的生成 我们看到,就向交换机的工作全依靠其内部的交换表一样,路由器的工作也完全仰仗其内存中的路由 表。 图7.5列出了路由表的构造。 图 7.5 路由表的构造 路由表主要由六个字段组成,能够前往的网络和如何前往那些网络。路由表的每一行,表示路由器了解的某个网络的信息。网络地址字段列出本路由器了解的网络的网络地址。端口字段标明前往某网络的数据报该从哪个端口转发。下一跳字段是在本路由器无法直接到达的网络,下一跳的中继路由器的IP地址。距离字段表明到达某网络有多远。在RIP路由协议中需要穿越的路由器数量。协议字段表示本行路由记录是如何得到的。本例中,C表示是手工配置,RIP表示本行信息是通过RIP协议从其它路由器学习得到的。定时字段表示动态学习的路由项在路由表中已经多久没有刷新了。如果一个路由项长时间没有被刷新,该 路由项就被认为是失效的,需要从路由表中删除。 我们注意到,前往160.4.1.64、200.12.105.0、178.33.0.0网络,下一跳都指向160.4.1.34路由器。其中178.33.0.0网络最远,需要12跳。路由表不关心下一跳路由器将沿什么路径把数据报转发到目标网络,它只要把数据报转发给下一跳路由器就完成任务了。 路由表是路由器工作的基础。路由表中的表项有两种方法获得: 静态配置 动态学习 路由表中的表项可以用手工静态配置生成。将电脑与路由器的console端口连接,使用电脑上的超级终端软件或路由器提供的配置软件就可以对路由器进行配置。 手工配置路由表需要大量的工作。动态学习路由表是最为行之有效的方法。一般情况下,我们都是手工配置路由表中直接连接的网段的表项,而间接连接的网络的表项使用路由器的动态学习功能来获得。
操作手册 IP路由分册 IPv6 静态路由目录 目录 第1章 IPv6静态路由配置......................................................................................................1-1 1.1 IPv6静态路由简介.............................................................................................................1-1 1.1.1 IPv6静态路由属性及功能........................................................................................1-1 1.1.2 IPv6缺省路由..........................................................................................................1-1 1.2 配置IPv6静态路由.............................................................................................................1-2 1.2.1 配置准备..................................................................................................................1-2 1.2.2 配置IPv6静态路由...................................................................................................1-2 1.3 IPv6静态路由显示和维护..................................................................................................1-2 1.4 IPv6静态路由典型配置举例(路由应用).........................................................................1-3 1.5 IPv6静态路由典型配置举例(交换应用).........................................................................1-5
IP路由表管理 1、路由表的显示和维护 通过查看路由表,有助于了解网络拓扑结构和定位路由问题。 查看路由表的信息是定位路由问题的基本手段,下面列举了通用的路由表信息显示及维护命令。 display命令可以在所有视图下使用。reset命令在用户视图下使用。 交换机引入较多的路由会占用较多的系统资源,在系统业务繁忙时,这就有可能影响设备的正常运行。为提高系统的安全性和可靠性,可以配置公网路由前缀限制,这样当路由前缀数超过预先设定的值时,系统会输出告警信息,从而提醒用户检查公网路由前缀的有效性。 操作步骤 1、查看IPv4路由表中当前激活路由的摘要信息。 display ip routing-table 2、查看IPv4路由表详细信息 display ip routing-table verbose 3、查看指定目的IPv4地址的路由信息。 display ip routing-table ip-address [ mask | mask-length ] [ longer-match ] [ verbose ] 4、查看指定目的IPv4地址范围内的路由信息。 display ip routing-table ip-address1 { mask1 | mask-length1 } ip-address2 { mask2 | mask-length2 } [ verbose ] 5、查看通过指定基本访问控制列表过滤的IPv4路由信息。 display ip routing-table acl { acl-number | acl-name } [ verbose ] 6、查看通过指定前缀列表过滤的IPv4路由信息。 display ip routing-table ip-prefix ip-prefix-name [ verbose ] 7、查看指定协议发现的IPv4路由信息。 display ip routing-table protocol protocol [ inactive | verbose ] 8、查看IPv4路由表的综合路由统计信息。 display ip routing-table statistics 9、查看IPv6路由表中当前激活路由的摘要信息 display ipv6 routing-table 10、查看IPv6路由表详细信息。 display ipv6 routing-table verbose 11、查看指定协议发现的IPv6路由信息。 display ipv6 routing-table protocol [ inactive | verbose ] 12、查看指定协议发现的IPv6路由信息。 13、查看IPv6路由表的综合信息。
路由表 在计算机网络中,路由表(routing table)或称路由择域信息库(RIB, Routing Information Base),是一个存储在路由器或者联网计算机中的电子表格(文件)或类数据库。路由表存储着指向特定网络地址的路径(在有些情况下,还记录有路径的路由度量值)。路由表中含有网络周边的拓扑信息。路由表建立的主要目标是为了实现路由协议和静态路由选择。 主要工作 路由器的主要工作就是为经过路由器的每个数据包寻找一条最佳的传输路径,并将该数据有效地传送到目的站点。由此可见,选择最佳路径的策略即路由算法是路由器的关键所在。为了完成这项工作,在路由器中保存着各种传输路径的相关数据——路由表(Routing Table),供路由选择时使用,表中包含的信息决定了数据转发的策略。打个比方,路由表就像我们平时使用的地图一样,标识着各种路线,路由表中保存着子网的标志信息、网上路由器的个数和下一个路由器的名字等内容。路由表可以是由系统管理员固定设置好的,也可以由系统动态修改,可以由路由器自动调整,也可以由主机控制。 路由表项 路由表中的表项内容包括:
destination:目的地址,用来标识IP包的目的地址或者目的网络。mask:网络掩码,与目的地址一起标识目的主机或者路由器所在的网段的地址。 pre:标识路由加入IP路由表的优先级。可能到达一个目的地有多条路由,但是优先级的存在让他们先选择优先级高的路由进行利用。cost:路由开销,当到达一个目的地的多个路由优先级相同时,路由开销最小的将成为最优路由。 interface:输出接口,说明IP包将从该路由器哪个接口转发。nexthop:下一跳IP地址,说明IP包所经过的下一个路由器。 分类
静态路由配置 姓名:小许 学号:2011508006 班级:1班 指导老师:曹传东日期:2014/04/25
目录 一实验目的 (3) 二实验拓扑图 (3) 三实验内容 (4) 四实验步骤及截图 (4) 五实验课后思考题 (29) 六实验总结 (30)
一实验目的 1.理解并掌握路由器/交换机IOS的工作模式及其切换方法; 2.掌握使用show命令检查路由器/交换机的相关配置信息; 3.掌握使用路由器/交换机IOS提供的CLI帮助系统和常用编辑功能键; 4.掌握实验模拟配置工具绘制实验拓扑图的操作过程; 5.学会路由器/交换机IOS的各种配置命令及其检查方式,熟练应用模拟配置工具根据拓扑图进行相应的配置及检测的方法。 二实验拓扑图
三实验内容 1.每人一机,安装并配置Cisco Packet Tracer V5.00 的模拟配置工具; 2.用Cisco Packet Tracer V5.00 的模拟配置工具绘制本实验的相应网络拓扑 图; 3.逐个单机拓扑图每台设备,进入该设备的命令进行交互操作,进行工作 模式的切换和选择; 4.利用show命检查设备的相关配置及信息; 5.练习使用路由/交换IOS提供的CLI帮助系统和常用编辑功能键; 6.在Cisco Packet Tracer V5.00 的模拟配置工具中。依据已绘制出的拓扑图 进行相应的设备基本配置及配置检查测试。 四实验步骤及截图 Step1:选择添加6个PC-PT设备,3个2950-24交换机和5个2620XM路由器设备至逻辑工作空间; (提示:2620XM路由器需要断电后接插WIC模块才有广域网互联用的高速同步串口 Step2:配置PC0的IP、子网掩码、默认网关3项基本参数; (PC0: 192.168.0.100 255.255.255.0 GW: 192.168.0.1)正确的分区(4-5个)以及GRUB双系统引导程序。
11.1 静态路由配置 配置需求:访问目的网络2.2.2.0/24,下一跳为192.168.83.108。 (1)进入到【路由管理】-【基本路由】-【静态路由表】中,新建一条静态路由表。 (2)目的地址:需要访问的目标网络 掩码:目标网络的掩码 下一跳地址:防火墙流出网口的对端设备地址 Metric:优先级,metric值越小优先级越高 网络接口:防火墙的流出接口 (3)在进入到【状态监控】-【状态信息】-【网络测试】中选择【routeshow】,开始调试。 如果静态路由生效,如下图所示。
注意事项: (1)下一跳地址一定要输入正确,这个地址不是防火墙的出口地址。 (2)下一跳地址一定可达有效的地址,可以在【状态监控】-【状态信息】-【网络测试】测试下可达性。 11.2 默认路由配置 配置需求:经过防火墙的数据包全部转发给211.211.211.210. (1)进入到【路由管理】-【基本路由】-【默认路由】中,新建一条默认路由。 (2)默认网关:211.211.211.210; 权重值:多条默认路由时使用,权重越大负载分担时流经的数据包所占比重越高
(3)在进入到【状态监控】-【状态信息】-【网络测试】中选择【routeshow】,开始调试。 如果默认路由生效,如下图所示。 注意事项: (1) 配置多条默认路由时,一定勾选【启用基于状态回包功能】,权重值越大,分担的流量越多。 (2) 默认路由生效了,在【状态监控】-【状态信息】-【网络测速】中选择【ping】下网关地址,确保可达性。 11.3 策略路由配置
配置需求:内网192.168.1.0/24网段访问8.8.8.0/24通过eth0口路由出去。 (1)进入到【路由管理】-【基本路由】-【策略路由】中,新建一条高级路由表。 命名路由表名称和路由表ID 点击新建路由表后面的操作按钮,新建路由表内容
移动路由表 1.51.64.0/18 1.88.0.0/14 36.128.0.0/10 36.192.0.0/21 36.193.40.0/21 36.193.48.0/20 39.128.0.0/10 58.30.0.0/17 58.31.0.0/16 58.253.94.0/24 61.232.0.0/20 61.233.0.0/19 61.234.96.0/19 61.234.160.0/20 61.235.64.0/18 61.237.224.0/20 101.240.0.0/14 103.29.132.0/22 103.37.72.0/22 106.3.32.0/21 106.3.40.0/22 110.96.0.0/16 110.120.0.0/16 110.208.0.0/14 111.0.0.0/10 111.1.59.0/24 111.11.31.0/24 111.26.136.0/24 111.132.0.0/16 111.148.0.0/14 112.0.0.0/10 114.213.128.0/17 114.214.128.0/17 115.106.0.0/15 117.128.0.0/10 118.187.40.0/21 118.191.248.0/21 118.192.8.0/21 118.192.16.0/20 118.192.32.0/21 118.192.48.0/20 118.192.64.0/18
118.192.240.0/20 119.90.32.0/21 119.90.48.0/20 119.161.248.0/21 120.192.0.0/10 120.192.88.0/24 120.198.244.0/24 121.52.208.0/21 121.251.0.0/17 121.255.0.0/16 122.70.0.0/15 122.72.3.0/24 122.72.12.0/23 122.72.16.0/24 122.72.38.0/24 122.72.90.0/24 122.72.92.0/23 122.72.112.0/24 122.72.124.0/23 123.64.0.0/15 123.66.128.0/17 123.88.0.0/15 124.164.8.0/24 124.192.128.0/18 124.196.0.0/18 124.196.192.0/18 161.207.17.0/24 161.207.18.0/23 180.77.0.0/18 180.77.128.0/17 180.78.0.0/15 180.186.38.0/23 180.186.40.0/22 180.186.44.0/24 182.50.112.0/20 183.192.0.0/10 202.38.64.0/19 202.141.176.0/20 202.165.191.0/24 210.45.0.0/16 211.70.40.0/21 211.70.48.0/20 211.70.128.0/18
路由器中的路由表是怎样得出的? 路由器中的路由表有直连路由,是本机算出来的,有手工指定的静态路由,同时还有起的ergip、ospf、bgp等用户起的动态路由进程学习到的,相邻路由能够起邻居,相互之间学习到发布的路由指令。? 所谓路由表,指的是路由器或者其他互联网网络设备上存储的表,该表中存有到达特定网络终端的路径,在某些情况下,还有一些与这些路径相关的度量。 在计算机网络中,路由表或称路由择域信息库(RIB)是一个存储在路由器或者联网计算机中的电子表格(文件)或类数据库。路由表存储着指向特定网络地址的路径(在有些情况下,还记录有路径的路由度量值)。路由表中含有网络周边的拓扑信息。路由表建立的主要目标是为了实现路由协议和静态路由选择。 在现代路由器构造中,路由表不直接参与数据包的传输,而是用于生成一个小型指向表,这个指向表仅仅包含由路由算法选择的数据包传输优先路径,这个表格通常为了优化硬件存储和查找而被压缩或提前编译。 路由器的主要工作就是为经过路由器的每个数据包寻找一条最佳的传输路径,并将该数据有效地传送到目的站点。由此可见,选择最佳路径的策略即路由算法是路由器的关键所
在。为了完成这项工作,在路由器中保存着各种传输路径的相关数据——路由表(Routing Table),供路由选择时使用,表中包含的信息决定了数据转发的策略。打个比方,路由表就像我们平时使用的地图一样,标识着各种路线,路由表中保存着子网的标志信息、网上路由器的个数和下一个路由器的名字等内容。路由表可以是由系统管理员固定设置好的,也可以由系统动态修改,可以由路由器自动调整,也可以由主机控制。 1.静态路由表 由系统管理员事先设置好固定的路由表称之为静态(static)路由表,一般是在系统安装时就根据网络的配置情况预先设定的,它不会随未来网络结构的改变而改变。2.动态路由表 动态(Dynamic)路由表是路由器根据网络系统的运行情况而自动调整的路由表。路由器根据路由选择协议(Routing Protocol)提供的功能,自动学习和记忆网络运行情况,在需要时自动计算数据传输的最佳路径。 路由器通常依靠所建立及维护的路由表来决定如何转发。路由表能力是指路由表内所容纳路由表项数量的极限。由于Internet上执行BGP协议的路由器通常拥有数十万条路由表项,所以该项目也是路由器能力的重要体现。
Cisco路由器静态路由配置实例 初学路由器的配置,下面就用Boson NetSim for CCNP 6.1模拟软件进行配置…这篇文章主要是对路由表进行静态路由配置… 拓扑结构图如下: 下面开始: 1.对Router1进行配置,配置命令如下: Router>enable进入特权模式 Router#configure terminal 进入配置模式 Enter configuration commands, one per line. End with CNTL/Z. Router(config)#interface ethernet0 进入E0端口模式
Router(config-if)#ip address 192.168.1.1 255.255.255.0 配置IP地址Router(config-if)#no shutdown 激活该端口 %LINK-3-UPDOWN: Interface Ethernet0, changed state to up Router(config-if)#exit 返回上一级 Router(config)#interface serial0 进入S0 端口模式 Router(config-if)#ip address 192.168.2.1 255.255.255.0 Router(config-if)#no shutdown %LINK-3-UPDOWN: Interface Serial0, changed state to up %LINK-3-UPDOWN: Interface Serial0, changed state to down %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0, changed state to down Router(config-if)#clock rate 6400 注意这里是设置时钟..如有不明白,可以打”?”.但是系统给的参数是 64000 .而我们要配置成 6400 ..可能是模拟软件的一个小BUG 吧!现在是在模拟软件中,如果是真实环境,我们要参照说 明书..按照说明书来配置参数…. Router(config-if)#exit Router(config)#ip route 192.168.3.0 255.255.255.0 192.168.2.2 配置路由表
路由基本概念及静态路由配置
路由基本概念及静态 路由配置
实验内容: 路由器的定义和作用:路由器——用于网络互连的计算机设备,路由器的核心作用是实现网络互连,数据转发。路由(寻径):路由表建立、刷新;交换:在网络之间转发分组数据;隔离广播,指定访问规则;异种网络互连。 路由表:路由器为执行数据转发路径选择所需要的信息被包含在路由器的一个表项中,称为“路由表”;当路由器检查到包的目的IP 地址时,它就可以根据路由表的内容决定包应该转发到哪个下一跳地址上去;路由表被存放在路由器的RAM 上。 路由表的构成:目的网络地址(Dest ),掩码(Mask ),下一跳地址(Gw ),发送的物理端口(interface ),路由信息的来源(Owner ),路由优先级(pri ),度量值(metric )。 172.16.8.0:目的逻辑网络地址或子网地址; 255.255.255.0:目的逻辑网络地址或子网地址的网络掩码 1.1.1.1:下一跳逻辑地址 fei_0/1:学习到这条路由的接口和数据的转发接口 Static :路由器学习到这条路由的方式 1:路由优先级 0:Metric 值 路由分类:直连路由,静态路由,动态路由。 直连路由: Dest Mask Gw Interface Owner pri metric 172.16.8.0 255.255.255.0 1.1.1.1 fei_0/1 static 1 0 192.168.0.2/30 10.0.0.1/24 172.16.0. 1/24 IPv4 Routing Table: Dest Mask Gw Interface Owner pri metric 10.0.0.0 255.255.255.0 10.0.0.1 fei_0/1 direct 0 0 A B fei _0/1 fe i_0/0
思东张宏科 Rip协议的工作原理及仿真分析--中国空间技术研究院西安分院李园利王宇二 三距离向量路由算法(Bellman-Ford Routing Algorithm),也叫做最大流量演算法(Ford-Fulkerson Algorithm),其被距离向量协议作为一个算法,如RIP, BGP, ISO IDRP, NOVELL IPX。使用这个算法的路由器必须掌握这个距离表(它是一个一维排列-“一个向量”),它告诉在网络中每个节点的最远和最近距离。在距离表中的这个信息是根据临近接点信息的改变而时时更新的。表中数据的量和在网络中的所有的接点(除了它自己本身)是等同的。这个表中的列代表直接和它相连的邻居,行代表在网络中的所有目的地。每个数据包括传送数据包到每个在网上的目的地的路径和距离/或时间在那个路径上来传输(我们叫这个为“成本”)。这个在那个算法中的度量公式是跳跃的次数,等待时间,流出数据包的数量,等等。 在距离向量路由算法中,相邻路由器之间周期性地相互交换各自的路由表备份。当网络拓扑结构发生变化时,路由器之间也将及时地相互通知有关变更信息。
相邻路由器B发送请求报文,路由器B的RIP收到请求报文后,响应请求,回发包含本地路由表信息的响应报文。路由器A的RIP收到响应报文后,修改本地路由表的信息,同时以触发修改的形式向相邻路由器B广播本地路由修改信息。路由器B收到触发修改报文后,又向其各自的相邻路由器发送触发修改报文。在一连串触发修改广播后,各路由器的路由都得到修改并保持最新信息。同时,RIP每30秒向相邻路由器广播本地路由表,各相邻路由器的RIP在收到路由报文后,对本地路由进行的维护,在众多路由中选择一条最佳路由并向各自的相邻网广播路由修改信息,使路由达到全局的有效。运行RIP协议的路由器并不是把每一条新的路由信息都添加到自己的路由表中。而是根据Bellman-ford算法的最佳度量的计算公式获得D(i,j),并根据D(i,j)的结果,更新路由条目: (1)如果路由条目是新的,则接受路由器将把该条目加入路由表中; (2)如果此路由已存在于路由表,但新的路由条目具有不同的来源,并且该条目具有更低的跳数,则路由表将用新的条目替换已存在的条目; (3)如果此路由已存在于路由表中,并且两个条目的来源相同,则路由表将用新的条目替换已存在的条目,尽管两者的度量值一样。 五稳定性---RIP 协议每30秒向相邻路由器发送一次路由更新信息,同时监听来自网络中的其它相邻路由器的路由信息,从而实现对本地路由表的动态维护,以确保IP层发送报文时选择正确的路由。 在实际系统中,我们可以将无穷大设置为网络的最大跳数加1。但是当采用时延作为距离的长度时,将很难定义一个合适的时延上界。该时延的上界应足够大,以避免将长时延的路径认为是故障的链路 六公平性---它对好消息的反应迅速,但对坏消息却反应迟钝 1)、协议中规定,一条有效的路由信息的度量(metric)不能超过15,这就使得该协议不能应用于很大型的网络,应该说正是由于设计者考虑到该协议只适合于小型网络所以才进行了这一限制。对于metric为16的目标网络来说,即认为其不可到达。 2)、该路由协议应用到实际中时,很容易出现“计数到无穷大”的现象,这使得路由收敛很慢,在网络拓扑结构变化以后需要很长时间路由信息才能稳定下来。 3)、该协议以跳数,即报文经过的路由器个数为衡量标准,并以此来选择路由,这一措施欠合理性,因为没有考虑网络延时、可靠性、线路负荷等因素对传输质量和速度的影响。
路由表 在内核中存在路由表fib_table_hash和路由缓存表rt_hash_table。路由缓存表主要是为了加速路由的查找,每次路由查询都会先查找路由缓存,再查找路由表。这和cache是一个道理,缓存存储最近使用过的路由项,容量小,查找快速;路由表存储所有路由项,容量大,查找慢。首先,应该先了解路由表的意义,下面是route命令查看到的路由表: Destination Netmask Gateway Flags Interface Metric 169.254.0.0255.255.0.0*U eth01 192.168.123.0255.255.255.0*U eth01 default0.0.0.0192.168.123.254UG eth01一条路由其实就是告知主机要到达一个目的地址,下一跳应该走哪里。比如发往 192.168.22.3报文通过查路由表,会得到下一跳为192.168.123.254,再将其发送出去。在路由表项中,还有一个很重要的属性-scope,它代表了到目的网络的距离。 路由scope可取值:RT_SCOPE_UNIVERSE, RT_SCOPE_LINK, RT_SCOPE_HOST 在报文的转发过程中,显然是每次转发都要使到达目的网络的距离要越来越小或不变,否则根本到达不了目的网络。上面提到的scope很好的实现这个功能,在查找路由表中,表项的scope一定是更小或相等的scope(比如RT_SCOPE_LINK,则表项scope只能为RT_SCOPE_LINK或RT_SCOPE_HOST)。 路由缓存 路由缓存用于加速路由的查找,当收到报文或发送报文时,首先会查询路由缓存,在内核中被组织成hash表,就是rt_hash_table。 static struct rt_hash_bucket *rt_hash_table __read_mostly; [net\ipv4\route.c] 通过ip_route_input()进行查询,首先是缓存操作时,通过[src_ip, dst_ip, iif,rt_genid]计算出hash 值 hash = rt_hash(daddr, saddr, iif, rt_genid(net)); 此时rt_hash_table[hash].chain就是要操作的缓存表项的链表,比如遍历该链表for (rth = rt_hash_table[hash].chain; rth; rth = rth->u.dst.rt_next) 因此,在缓存中查找一个表项,首先计算出hash值,取出这组表项,然后遍历链表,找出指定的表项,这里需要完全匹配[src_ip, dst_ip, iif, tos, mark, net],实际上struct rtable中有专门的属性用于缓存的查找键值– struct flowi。 /* Cache lookup keys */ struct flowi fl; 当找到表项后会更新表项的最后访问时间,并取出dst dst_use(&rth->u.dst, jiffies); skb_dst_set(skb, &rth->u.dst); 路由缓存的创建 inet_init() -> ip_init() -> ip_rt_init() rt_hash_table = (struct rt_hash_bucket *) alloc_large_system_hash("IP route cache", sizeof(struct rt_hash_bucket), rhash_entries, (totalram_pages >= 128 * 1024) ? 15 : 17,