顺序查找路由表
- 格式:pdf
- 大小:391.76 KB
- 文档页数:18
/chinhr/archive/2010/01/20/1652570.htmlroute print查看当前路由表route delete 0.0.0.0删除所有0.0.0.0的路由route -p add 0.0.0.0 mask 0.0.0.0 192.168.1.1所有的网络走192.168.1.1网关(外网)route -p add 192.168.0.0 mask 255.255.255.0 192.168.0.1只有192.168.0开头的网络走192.168.0.1网关(内网)下面来说说具体如何操作。
以我的电脑为例给大家做个演示。
我自己呢也有两个网卡,一个是办公内网,一个是外网。
连接内网的网卡,ip设置为:192.168.1.111,网关设置为192.168.1.1连接外网的网卡,ip设置为:192.168.0.111,网关设置为192.168.0.1我在命令行下,用route print命令查看一下当前默认的路由表:最下面一行:Default Gateway:192.168.1.1这句的意思就是默认网关,一台电脑只有一个默认网关,所有的数据包都是先发往这个网关地址。
根据显示,192.168.1.1代表我的内网,也就是所有的数据包都会自动优先从外网线路走。
永久加入路由表用这样的命令route –p add 0.0.0.0 mask 0.0.0.0 192.168.0.1 (说明:所有的网络走192.168.0.1网关)(外网)route –p add 192.0.0.0 mask 255.0.0.0 192.168.1.1 (说明:只有192开头的网络走192.168.1.1网关)(内网)删除路由记录也非常方便。
用下面的命令:route delete 192.0.0.0==============不少公司的网管试图解决双网卡问题,下面我就给大家详细的讲解一下双网卡同时使用的方法,这样即可保障内网的安全,又能解决电脑访问外网的问题,一举两得。
Linuxroute命令详解和使⽤⽰例(查看和操作IP路由表)Linux系统的route命令⽤于显⽰和操作IP路由表(show / manipulate the IP routing table)。
要实现两个不同的⼦⽹之间的通信,需要⼀台连接两个⽹络的路由器,或者同时位于两个⽹络的⽹关来实现. 在Linux系统中,设置路由通常是为了解决以下问题:该Linux系统在⼀个局域⽹中,局域⽹中有⼀个⽹关,能够让机器访问Internet,那么就需要将这台机器的IP地址设置为Linux机器的默认路由。
要注意的是,直接在命令⾏下执⾏route命令来添加路由,不会永久保存,当⽹卡重启或者机器重启之后,该路由就失效了;可以在/etc/rc.local中添加route命令来保证该路由设置永久有效。
1.命令格式: route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]] 2.命令功能: route命令是⽤于操作基于内核ip路由表,它的主要作⽤是创建⼀个静态路由让指定⼀个主机或者⼀个⽹络通过⼀个⽹络接⼝,如eth0。
当使⽤"add"或者"del"参数时,路由表被修改,如果没有参数,则显⽰路由表当前的内容。
3.命令参数: -c 显⽰更多信息 -n 不解析名字 -v 显⽰详细的处理信息 -F 显⽰发送信息 -C 显⽰路由缓存 -f 清除所有⽹关⼊⼝的路由表。
-p 与 add 命令⼀起使⽤时使路由具有永久性。
add:添加⼀条新路由。
del:删除⼀条路由。
-net:⽬标地址是⼀个⽹络。
-host:⽬标地址是⼀个主机。
netmask:当添加⼀个⽹络路由时,需要使⽤⽹络掩码。
gw:路由数据包通过⽹关。
注意,你指定的⽹关必须能够达到。
metric:设置路由跳数。
route命令的格式route命令的格式如下:在命令提示符或终端中,可以使用route命令来查看或修改计算机的路由表。
格式如下:route [-f] [-p] [command [destination] [MASK subnetmask] [gateway] [METRIC metric] [IF interface]]参数:- -f:清除路由表中的所有表项,并重新从保存的路由信息文件中读取。
这个参数用于刷新路由表。
- -p:将指定的路由表项永久保存到计算机的路由表中。
这样,在重启计算机后,这些路由表项仍然有效。
- command:指定要执行的命令。
有以下几个可用的命令:- PRINT:显示当前路由表中的所有表项。
- ADD:添加一条新的路由表项。
- DELETE:删除一条现有的路由表项。
- destination:指定要操作的网络目的地。
可以是一个IP地址或一个网络地址。
- MASK subnetmask:指定目的地的子网掩码。
用于确定与目的地匹配的地址范围。
- gateway:指定下一跳路由器的IP地址。
当计算机要发送数据包到目的地时,将会把数据包发送到这个IP地址。
- METRIC metric:指定该路由表项的度量值。
度量值表示距离或优先级,用于确定最佳的路由路径。
- IF interface:指定本地接口的索引号或名称。
它表示通过哪个网络接口发送数据包。
示例:1. route PRINT:显示当前计算机的路由表中的所有表项。
2. route ADD 192.168.1.0 MASK 255.255.255.0 192.168.0.1:添加一条将数据包发送到192.168.1.0/24网络的路由表项,下一跳路由器为192.168.0.1。
3. route DELETE 192.168.1.0:删除目的地为192.168.1.0的路由表项。
总结:通过route命令,可以查看和管理计算机的路由表。
【ITAA实验室原创文档】STATIC之递归查询路由表实验目标:理解路由器递归查询路由表的方法以及用途实验TOP:基本配置R1R2批注:路由器接口默认是关闭的,所以应将对应的接口开启如上配置,已经将基本的地址信息配置完成,下面配置STATIC路由R1(config)#ip route 2.2.2.0 255.255.255.0 10.2.2.2R1(config)#ip route 10.2.2.0 255.255.255.0 50.2.2.2R1(config)#ip route 50.2.2.0 255.255.255.0 100.2.2.2R1(config)#ip route 100.2.2.0 255.255.255.0 12.1.1.2检验:R1能否连通2.2.2.2R1#ping 2.2.2.2Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:!!!!!Success rate is 100 percent (5/5), round-trip min/avg/max = 20/20/20 ms疑问:去往2.2.2.0网段的下一跳IP是10.2.2.2。
路由器为什么能ping通,它是如何查询到它真正的下一跳IP的呢?查询规则又是什么呢?首先:先来了解静态路由命令的一个小特性在静态路由命令中,配置了下一跳IP时,路由器会查询两次路由表。
第一次查询目的地址是否可达。
第二次查询下一跳IP是否可达。
接着来看下R1的路由表R1#show ip routeCodes: C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2ia - IS-IS inter area, * - candidate default, U - per-user static routeo - ODR, P - periodic downloaded static routeGateway of last resort is not set50.0.0.0/24 is subnetted, 1 subnetsS 50.2.2.0 [1/0] via 100.2.2.22.0.0.0/24 is subnetted, 1 subnetsS 2.2.2.0 [1/0] via 10.2.2.2100.0.0.0/24 is subnetted, 1 subnetsS 100.2.2.0 [1/0] via 12.1.1.210.0.0.0/24 is subnetted, 1 subnetsS 10.2.2.0 [1/0] via 50.2.2.212.0.0.0/24 is subnetted, 1 subnetsC 12.1.1.0 is directly connected, Serial1/0当R1收到去往2.2.2.0/24网段的数据包时,路由器查询路由表是否有路由可达。
路由器中的硬件IP路由表查找技术Internet的迅速开展给我们的生活带来了宏大的变化。
随之而来的是网络流量的迅速增长。
网络流量的增长对于Internet上的路由器来说是一个很大的挑战,特别是核心路由器。
它需要高速有效的包调度.转发和路由策略。
本文针对路由器的路由查找,提出了一种高效的.便于用硬件实现的技术。
1. 路由器的体系构造图1给出了一般路由器的逻辑体系构造。
它主要由下面几部分组成:路由引擎、转发引擎、路由表、网络适配器和相关的逻辑电路等。
转发引擎负责把从一个网络适配器来的数据包转发到另一个网络适配器出去。
IP协议,包括对路由表的查找,构成了转发引擎中最主要的部分。
由于每个通过路由器并需要其转发的数据包都要对路由表进展查找,所以路由表的查找效率如何往往决定了整个路由器的性能。
路由引擎那么包括了高层协议,特别是路由协议,它负责对路由表的更新。
由于路由引擎不涉及通过路由器的数据通路,故它可用通用的CPU代替。
2.硬件路由表的数据构造设计一般路由器中路由表的每一项至少有这样的信息:目的地址、网络隐码、下一跳地址。
假设对每一个IP地址都要一个表项,那么需要占用很大的2323*4字节的存储器,而且其中必定有很多的表项没有被使用,这就会造成极大的资源浪费。
为了用硬件实现路由表的查找,查找算法需要满足如下的条件:1〕实时的实现路由表的查找;2〕有效的实现路由表的插入和删除;3〕提供有效的最长前缀匹配;4〕具有良好的可扩展性;5〕支持播送和组播;6〕有效的对Memory进展利用;7〕硬件上容易实现,并具有良好的性能。
我们考虑,假设在对路由表的查找中,把子网隐码和IP地址结合起来,对IP地址进展相应的分段,并把它们相连。
这样在路由表的表项中,只有IP地址的一部分及其相应的隐码部分,可以实现良好的可扩展性,只要对Memory进展有效的管理,可以灵敏的动态的实现对路由的插入和删除。
鉴于此,我们设计该表的构造〔如下面的表一所示〕:它的思想是:把32位IPv4地址主要分成4部分,每部分8位。
Linuxroute命令详解和使⽤⽰例(查看和操作IP路由表)Linux系统的route命令⽤于显⽰和操作IP路由表(show / manipulate the IP routing table)。
要实现两个不同的⼦⽹之间的通信,需要⼀台连接两个⽹络的路由器,或者同时位于两个⽹络的⽹关来实现在Linux系统中,设置路由通常是为了解决以下问题:该Linux系统在⼀个局域⽹中,局域⽹中有⼀个⽹关,能够让机器访问Internet,那么就需要将这台机器的IP地址设置为Linux机器的默认路由。
要注意的是,直接在命令⾏下执⾏route命令来添加路由,不会永久保存,当⽹卡重启或者机器重启之后,该路由就失效了;可以在/etc/rc.local中添加route命令来保证该路由设置永久有效。
1.命令格式:route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]2.命令功能:Route命令是⽤于操作基于内核ip路由表,它的主要作⽤是创建⼀个静态路由让指定⼀个主机或者⼀个⽹络通过⼀个⽹络接⼝,如eth0。
当使⽤"add"或者"del"参数时,路由表被修改,如果没有参数,则显⽰路由表当前的内容。
3.命令参数:-c 显⽰更多信息-n 不解析名字-v 显⽰详细的处理信息-F 显⽰发送信息-C 显⽰路由缓存-f 清除所有⽹关⼊⼝的路由表。
-p 与 add 命令⼀起使⽤时使路由具有永久性。
add:添加⼀条新路由。
del:删除⼀条路由。
-net:⽬标地址是⼀个⽹络。
-host:⽬标地址是⼀个主机。
netmask:当添加⼀个⽹络路由时,需要使⽤⽹络掩码。
gw:路由数据包通过⽹关。
注意,你指定的⽹关必须能够达到。
metric:设置路由跳数。
Command 指定您想运⾏的命令 (Add/Change/Delete/Print)。
Internet路由之路由表查找算法概述-哈希/LC-Trie树/256-way-mtrie 树引:路由是互联网的一个核心概念,广义的讲,它使分组交换网的每个节点彼此独立,通过路由耦合在一起,甚至在电路交换网中,虚电路的建立也依赖路由,路由就是网络中数据通路的指向标。
狭义的讲,路由专指IP路由,它支撑着整个IP网络。
由于IP是数据报网络,它是不建立连接的,因此IP分组是一跳一跳被转发,通路是通过路由信息一跳一跳的被打通的,因此路由直接关系到整个基于IP的网络的连通性。
由于IP协议没有方向,甚至它都没有会话的概念,因此路由必然要是双向的,否则数据就有去无回了(有人提倡用NAT来解决反向路由问题,实际上NAT在公共核心网络上口碑十分不咋地,它甚至破坏了IP协议的原则,记住,NAT一般只用于端点)。
互联网如此之大,每个路由器上的路由信息会非常之多,路由器是怎么在海量的路由信息中用最快的速度-显然很重要-检索出自己需要的呢?另外如此海量的路由信息又是怎么生成的呢?本文着重回答第一个问题,关于第二个问题请参考《Internet路由结构(第二版)》(Cisco Press,想看就赶快买,不买就买不到了,Cisco有几本书真的很火爆,总是不好买)1 .基本概念路由的概念:路由是一种指向标,因为网络是一跳一跳往前推进的,因此在每一跳都要有一系列的指向标。
实际上不仅仅是分组交换网需要路由,电路交换网在创建虚电路的时候也需要路由,更实际的例子,我们日常生活中,路由无处不在。
简单的说,路由由三元素组成:目标地址,掩码,下一跳。
注意,路由项中其实没有输出端口-它是链路层概念,Linux操作系统将路由表和转发表混为一谈,而实际上它们应该是分开的(分开的好处之一使得MPLS更容易实现)。
路由项通过两种途径加入内核,一种是通过用户态路由协议进程或者用户静态配置配置加入,另一种是主机自动发现的路由。
所谓自动发现的路由实际上是“发现了一个路由项和一个转发表”,其含义在主机某一个网卡启动的时候生效,比如eth0启动,那么系统生成下列路由表项/转发项:往eth0同一IP网段的包通过eth0发出。