静态路由(Static Routing)

概述

  静态路由(Static Routing)是一种依靠人工手动配置的路由策略。在网络管理工作中,网络管理员可以依据预先规划的网络架构和流量走向,精确地设置静态路由,以此引导网络流量按照预期路径传输。相较于动态路由,静态路由的配置过程较为简单,无需复杂的算法进行动态学习,管理员能够直接掌控流量走向。然而,静态路由缺乏对网络拓扑变化的自动适应能力。一旦网络结构发生变动,例如新增链路、设备故障等,都需要管理员手动调整路由配置,这在一定程度上限制了其效率。因此,静态路由更适用于网络拓扑相对稳定、对网络稳定性和可预测性要求较高的场景,如出口设备或中小型网络部署。

基本应用

  配置静态路由需要通过设备的 CLI(Command - Line Interface,命令行界面)交互界面完成。尽管不同厂家生产的网络设备在配置静态路由时使用的关键字存在一些差异,但整体的配置思路和核心结构是基本一致的。下面为您展示常见的配置命令示例:

Ruijie(config)#ip route 192.168.1.0 255.255.255.0 GigabitEthernet 4/1 192.168.2.1
[Huawei]ip route-static 192.168.1.0 255.255.255.0 GigabitEthernet1/0/6 192.168.12.1
                        |————————目标网段————————| |—————————出端口&下一跳IP————————|

这些命令中,关键参数的含义如下:

  • 目标网段:它是由 IP 网段和子网掩码共同确定的一个 IP 地址范围,用于明确要到达的具体网络,就好比是一个目的地的地址。

  • 出端口 & 下一跳 IP:出端口是数据包离开当前设备时所使用的接口,就像离开一个地方时走的出口;下一跳 IP 则是数据包转发的下一个目标设备的接口 IP 地址,类似于旅程中的下一站。通过设置这两个参数,设备能够清晰地规划出数据包的转发路径。

  各厂家设备进行静态路由配置,除了少部分关键字不同外,其他部分基本一致。当设备接收到来自目标网络的数据包时,会依据数据包中的目标 IP 地址,在自身的路由表中进行查找。路由表就像是设备的 “导航地图”,记录了前往各个目标网络的最佳路径。设备根据路由表中的信息,最终确定将数据包从哪个出端口转发出去,从而实现数据包的精准投递。

一个例子:
图一
  为了更直观地理解静态路由的不同配置方式及其差异,我们以一个具体的网络场景为例。假设有两台网络设备 R1 和 R2,R1 通过 GE0/0/0 接口与 R2 的 GE0/0/0 接口相连,构建起网络链路。R2 还连接着一个 192.168.10.0/24 网段,而 R1 与 R2 之间的互联网络为 192.168.12.X/24 网段。若要实现 R1 能够访问 R2 上的 192.168.10.0/24 网段,在 R1 上可以采用以下三种常见的静态路由配置方式:

ip route 192.168.10.0 255.255.255.0 192.168.12.2
ip route 192.168.10.0 255.255.255.0 TenGigabitEthernet 0/0/0 
ip route 192.168.10.0 255.255.255.0 TenGigabitEthernet 0/0/0 192.168.12.2

好像,以上3种配置方式都可以解决这问题,那么我们一起试下区别。。。

  • 指定下一跳IP方式配置静态路由:
    图二 图三
  • 指定出接口方式配置静态路由
    图四
    图五
    这里出现了一个很有意思的现象。192.168.10.1~2在R1的ARP与R2的192.168.12.2一致,为什么会产生这有意思的现象?一起看看这过程是怎样发生的。

  假如在R1上配置的静态路由为:ip route 192.168.10.0 255.255.255.0 192.168.12.2。R1接收到目标IP是192.168.10.1的报文,R1先查找路由表,发现下一跳是192.168.12.2,通过匹配路由表,192.168.12.2为直连路由,确定出接口是GE0/0/0,于是为完成去往目标IP:192.168.10.1报文的二层封装 ,就需要通过ARP去获取192.168.12.2的MAC信息:
图五
  最终在获取192.168.12.2的MAC地址解释后,目标IP:192.168.10.1的报文被顺利转发到R2,后续相网目标网段数据报文转发还以按以上流程完成。
  我们再换个静态路由配置方式,假如在R1上配置的静态路由为:ip route 192.168.10.0 255.255.255.0 GigabitEthernet 0/0/0,看看这神奇的现象是怎样发生的。R1接收到目标IP是192.168.10.1的报文,R1先查找路由表,发现出接口是GE0/0/0,于是为完成去往目标IP:192.168.10.1报文的二层封装 ,就需要通过ARP去获取192.168.10.1的MAC信息(这是与指定下一跳IP方式配置静态路由差异的地方):
图六
  最终在获取192.168.10.1的MAC地址解释后,目标IP:192.168.10.1的报文被顺利转发到R2,后续相网目标网段数据报文转发还以按以上流程进行转发,所以到达192.168.10.2~254的报文都需要重复以上ARP的学习过程,极大的消耗R1的ARP表项容量,

图七
所以通过指定出下一跳IP的方式配置静态路由貌似是一个最优的方案。

  • 指定出端口+下一跳IP方式配置静态路由

图八
效果感觉跟指定下一跳IP的静态路由配置方式一致。是的,但这种配置方式主要是为了避免出现路由递归问题。将上面的拓扑简单做个变形(根据真实故障案列改编),如下:
图九
R1与R2通过双链路互联,R2连接了2个网段,R1上配置了以下静态路由:

ip route-static 10.0.0.0 255.0.0.0 10.22.22.2
ip route-static 192.168.10.0 255.255.255.0 10.12.12.2
ip route-static 192.168.10.0 255.255.255.0 10.22.22.2

图十
假如,R1与R2间GE0/0/0链路中断,我们预期路由表中只保留2条静态路由,但事实并非如此:
图十一

图十二
目标网段192.168.10.0/24还是存在2个下一跳,但出端口却一致,这是为什么?我们分析下这静态路由的配置,看发生了什么?

当配置了192.168.10.0/24静态路由时,由于下一跳IP为直连网段,R1根据下一跳IP的ARP信息,可以检索到相应的设备出端口,形成路由表中的INTERFACE信息,

图十三
当GE0/0/0链路中断,GE0/0/0出端口失效,10.12.12.2的ARP信息被清空。此时R1需要通过对下一跳IP 10.12.12.2进行路由递归,查找其出接口信息。通过查找路由表,10.12.12.2能被10.0.0.0/8路由匹配,而且10.0.0.0/8网段下一跳IP及出端口均正常可达,所以出端口信息被继承,就形成了上面目标网段192.168.10.0/24还是存在2个下一跳,但出端口却一致的形象。当然这也体现出静态路由同时配置出端口与下一跳IP的优势,我们做下配置修改:

图十四
当GE0/0/0链路中断后效果:

图十五
所以静态路由建议是通过指定下一跳IP+出端口方式配置,除非你的预期就是通过路由递归方式进行保护。

更有趣用法

静态路由虽然简单,但也有些更实用更高级的用法。

  • 路由递归
    图十六
      假如以上组网,R1~R4运行了动态路由协议,而且把R4的Loopback0宣告到路由协议,使全网可达了。当前客户有个新的需求,R1需要访问R4上的192.168.10.0/24网段,由于这是非业务网段地址,在数据配置规范的要求下,这个网段并不能直接宣告到路由进程,当前就只能通过配置静态路由来解决。通过在R1上配置指向R4的loopback0地址的静态路由,利用路由下一跳递归的特性,很好的解决了这个需求,即能实现路由实现链路冗余保护又能实现流量的负载分担。

  • 路由跟踪
    图十七
      当前网络设备间互联通常使用双芯光纤一收一发,光模块在检测到收光正常的情况下就会认为链路状态正常,无法判断对端光模块收光情况,也无法链路端到端链路状态,尤其在经过传输设备的情况下。为了解决这些问题,在配置静态路由时可以绑定相应的链路状态检测机制,实现端到端链路状态异常,触发静态路由失效,从而实现快速路由切换,比如:

锐捷:
ip route static bfd interface-type interface-number gateway [ source ipv4-address ] # 配置IPv4静态路由与BFD联动
ip route interface-type interface-number gateway [ track object-number ] # 配置IPv4静态路由与RNS联动

华为:
ip route-static *ip-address { mask | mask-length } { nexthop-address | interface-type interface-number [ nexthop-address ] * [ track bfd-session cfg-name ] # 配置IPv4静态路由与BFD联动
ip route-static *ip-address { mask | mask-length } { nexthop-address | interface-type interface-number [ nexthop-address ] * [ track nqa admin-name test-name ] # 配置IPv4静态路由与NQA联动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值