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


    有时候,我们需要为路由器配置一些静态路由来指导转发,配置的语法为: 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,需要查找其路由表超过一次,就可以看作是递归路由查询,这样的静态路由被称为递归静态路由。递归路由查询过程比较耗费计算资源,在大规模网络中应避免。

  • 相关阅读:
    明确目标
    适应环境
    解决问题的方式
    超市收银系统设计
    功能开发流程
    JS代码和OC代码的相互调用
    app上架流程的整理
    手动创建单例
    Python 安装mysqldb
    Python UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)
  • 原文地址:https://www.cnblogs.com/geekHao/p/12269613.html
Copyright © 2020-2023  润新知