递归静态路由和直连静态路由

有时候,我们需要为路由器配置一些静态路由来指导转发,配置的语法为: ip route <destination_network> <destination_mask> <next hop>,这里介绍两种典型的静态路由使用场景:递归静态路由和直连静态路由。

以如下的拓扑为例:

 

配置端口 ip 信息:

R1-f0/0-10.0.0.1/24

R1-f0/1-1.0.0.1/24

R2-f0/0-1.0.0.2/24

R2-loop1-100.0.0.1/24

R2-loop2-200.0.0.1/24

我们为R1配置一条去往100.0.0.0/24网段的静态路由:ip route 100.0.0.0  255.255.255.0  1.0.0.2

 

路由器转发ip数据包需要知道出端口和下一跳ip地址,现在R1的路由表如下(C - connected, S - static)

C  10.0.0.0/24  f0/0

C  1.0.0.0/24  f0/1

S  100.0.0.0/24  1.0.0.2

 

现在如果要转发一个去往100.0.0.1目的网络的数据包,路由器将会做如下查询:

lookup1:如何到达100.0.0.1 ?通过最长匹配,静态路由告诉路由器要想到达100.0.0.0/24网段,要先到下一跳ip 1.0.0.2

lookup2:如何到达1.0.0.2 ?通过最长匹配,第二条直连路由告诉路由器要想到达1.0.0.0/24网段,只需要从f0/1端口发送出去

 

像这种需要经过2次及以上查询路由表的,可以称为递归查询,路由器足够智能,能够通过ARP协议识别其直连网络的ip,在实际的路由器将会是这样:

C  10.0.0.0/24  f0/0

C  1.0.0.0/24  f0/1

S  100.0.0.0/24  f0/1  1.0.0.2

 

接下来,我们为 R1 配置第二条静态路由: ip route  200.0.0.0  255.255.255.0  100.0.0.1

为了转发去往200.0.0.1目的网络的数据包,路由器将会做如下查询:

lookup1:要到达 200.0.0.1所在的网段 200.0.0.0/24 ,先到达其下一跳ip 100.0.0.1

lookup2:要到达 100.0.0.1所在的网段 100.0.0.0/24, 先到达其下一条ip 1.0.0.2

lookup3:要到达 1.0.0.2所在的网段 1.0.0.0/24,直接从其 f0/1端口转发出去

 

总结:如果路由器为了找到直接的出端口和下一跳ip,需要查找其路由表超过一次,就可以看作是递归路由查询,这样的静态路由被称为递归静态路由。递归路由查询过程比较耗费计算资源,在大规模网络中应避免。

 

posted @ 2020-02-06 17:57  &Yhao  阅读(2649)  评论(0编辑  收藏  举报