静态路由(路由表来源之一)

静态路由的概念

由于路由器只会自动将接口直连的网络放入路由表中,因此要想让路由器了解如何将数据包转发给远端网络,其中一种方法就是管理员通过配置命令来告诉路由器以某个网络为目的的数据包应该转发给哪台设备,或者通过哪个接口转发出去。这种工程技术人员凭借自己对网络的了解,通过手动配置的方式,告诉路由器如何转发去往一个网络的数据包,从而在路由表中创建出来的路由条目就是静态路由。

在简单网络中,管理员手动配置静态路由是一种非常方便的做法。在复杂的网络中,搭建纯静态路由虽不可取,但静态路由仍然可以作为 这种网络的有效补充。

静态路由的优点

  • 管理员手动配置到路由表中的路由条目相对于路由器动态学习的条目而言要更加稳定
  • 静态路由比动态路由要更加可控
  • 静态路由比动态路由更容易部署

静态路由的缺点

  • 静态路由的扩展性差
  • 静态路由无法反映拓扑的变化,即使下一跳设备已经失效,路由器仍然会按照工程师之前所配置的静态路由,将数据包转发出去。

静态路由的配置方法

在配置静态路由下一跳 时,有两种方法,即以IP地址作为下一跳以出站接口作为下一跳,对于不同的链路类型,配置方法也有所不同。

  • 使用IP地址作为下一跳时,要配置的是对端设备的接口IP地址
  • 使用出站接口作为下一跳时,要配置的是本地设备的接口

点到点串行链路上静态路由的配置方法:

如下图:

路由器AR1与AR2相连的链路为点到点串行链路,在各接口地址都配置完成的情况下,AR2静态路由配置方法如下:

可以看到,对于点到点串行链路,我们静态路由下一跳既可以使用IP地址,也可以使用出站接口,还可以同时配置IP地址和出站接口

AR2路由表如下:

以太网链路上静态路由的配置方法:

如下图:

路由器AR1与AR3、AR4相连的链路为以太网链路,在各接口地址都配置完成的情况下,AR3使用本地接口作为下一跳,AR4使用对端IP地址作为下一跳,配置方法如下:

在AR3以及AR4上pingAR2,如图:

可以看到,AR3不能与AR2ping通,而AR4却可以。所以对于广播型的以太网链路,在配置静态路由时,下一跳参数中必须包含IP地址信息,而不能只使用出站接口作为下一跳参数,因为在广播型网络中,仅仅指定出接口是没有意义的。

AR3以及AR4路由表如下:

要想让AR3与AR2能够互通,需要将AR3上的静态路由的下一跳配置为对端设备AR1的接口地址。

注意:

  • 配置静态路由时不要忘记回程路由的配置。
  • 在以太网链路上配置静态路由时,下一跳参数中必须包含IP地址。而在点到点串行链路上配置静态路由时,可以只使用IP地址,也可以只使用出接口作为下一跳参数。

汇总静态路由

路由条目越精确、掩码越长,路由器就会认为这条路由越优。但如果路由表中记录的路由都是主机路由,路由表就会非常庞大。这时我们就需要使用某种方法将路由进行一定的汇总,这样做既能够缩小路由表的大小,又能够提高路由器的查询效率

如下图:

如果我们将这4个网络作为静态路由一个个写入路由表,路由表将会增加4个条目,而如果我们使用路由汇总,则只需要一个路由条目即可。

具体汇总规则如下:

  • 第1步 从左至右观察所有要汇总的 IPv4 地址,把第1个不同的十进制数转化为二进制数;
  • 第2步 从左至右观察转化后的二进制数,从第1个出现不同的二进制数开始,将后面所有二进制数修改为0(包括第1个不同的二进制数);
  • 第3步 将修改后的二进制数转换回十进制数;
  • 第4步 该十进制数之前的一个或几个点分十进制数保留不变(所有要汇总的 IPv4地址,这些十进制数都是相同的);
  • 第5步 该十进制数之后的一个或几个点分十进制数(如有)皆取0;
  • 第6步 保留不变的二进制位数,即为汇总后地址的网络位。

按照上面路由汇总的方法,我们对如图所示的4个网段进行路由汇总:

192.168.010100 00.0

192.168.010100 01.0

192.168.010100 10.0

192.168.010100 11.0

可以看到,将这4个网段的第一个不同的十进制化为二进制后,只有最后两位不同,所以从不同的二进制位开始全部置为0,得到汇总后的路由192.168.01010000.0,且掩码也要减2,所以得到汇总后的路由为(由于路由汇总非本篇重点,因此不做详细讲解):

192.168.80.0/22

所以路由器AR1上的静态路由配置如图:

AR1的路由表为:

在AR1上测试网络连通性:

可以看到,路由汇总不仅能够减少管理员工作,而且还能够大大简化路由表。

默认路由

路由器在依据数据包目的IP地址转发数据包时,会采用**"最长匹配"原则,即当多条路由均匹配数据包的目的IP地址时,路由器会按照掩码最长的、也就是最精确的那条路由来转发这个数据包。**

显然,一台路由器极难在自己的路由表中罗列去往所有目的网络的路由,如果路由器会因为路由表中没有数据包目的地址匹配项就丢弃数据包 ,那么大量去往路由器未知网络的数据包都会在转发过程中遭到丢弃,这会对网络用户正常访问操作造成严重的影响

为了避免这种情况,管理员常常会配置一条掩码长度为0的全0为静态路由 。这样一来,依据IP地址/掩码的最长匹配原则,一条全0路由可以匹配以任何IP地址作为目的地址的数据包,这就可以保证任何数据包都不会因为找不到匹配的路由条目而被丢弃。

这种给那些将路由器未知网络作为目的地的数据包"保底"的全0静态路由称为静态默认路由

静态默认路由的配置方法

如下图:

两台路由器接口配置如下:

企业路由器作为连接运营商的设备,管理员需要在这台设备上配置默认路由,具体配置方法如下:

查看企业路由器的路由表:

注意:在配置路由时,要在需要通信的双方间进行配置,不要忘记配置回程路由。但在配置默认路由时,管理员不能让相邻的两端路由器向对端互指默认路由,否则这条链路上就会形成环路

浮动静态路由

在前面对静态路由的缺点的介绍中我们说过,如果管理员为路由器配置的静态路由已经无法用来转发去往那个网络的数据包,那么即使这台路由器还有其他路径可以去往那个网络,路由器还是无法自动利用新的路径来转发这些数据包,为了解决这个问题,我们可以为路由器配置浮动静态路由

如下图:

为了在上面那条链路失效的情况下,让AR1知道如何利用下面那条链路向AR2发送去往192.168.20.0/24的数据包,管理员需要在AR1上指明一条去往192.168.20.0/24,且以10.0.21.2(也就是AR2的GE 0/0/1接口的地址)作为下一跳的静态路由,并且将它的优先级设置为一个大于(主用)静态路由默认优先级(60)的数值

AR1与AR2各接口地址配置如下:

浮动静态路由具体配置如下:

查看AR1路由表:

可以看到,静态路由只有一条,那就是去往目的子网192.168.20.0/24、优先级为60,下一跳为10.0.12.2,这也就是我们案例中的主用路由。

查看AR1路由表中的静态路由条目:

可以看到,在<Inactive>部分为管理员配置的第二条路由,优先级为70,下一跳为10.0.21.2,注意这条路由为非活跃路由,只有当优先级为60的路由条目失效时,这条路由才会启用

接下来,我们手动断开优先级为60的路由,查优先级为70的路由是否会启用,以此验证浮动静态路由的工作是否正常:

可以看到,优先级为70的静态路由接替了优先级为60的静态路由的工作。

因为通过下面这条链路转发数据包的路由条目只有在主用路由失效的情况下才可用,因此我们称通过修改静态路由优先级,使一条路由成为某条主用路由备份条目的路由为浮动静态路由

对于AR2上的静态路由配置,我们配置两条路由且优先级相同:

查看AR2上的路由表:

可以看到,去往目的网络192.168.10.0/24的链路有两条,且优先级相同,这时AR2在转发去往子网192.168.10.0/24的数据包时,就会通过这两条链路实现负载均衡

注意:

  • 静态路由既能够实现链路备份,也能够实现负载均衡
  • 本案例所做的操作仅仅是展示浮动静态路由的配置方法,并不是在提供设计建议。
相关推荐
阿熊不会编程几秒前
初识计算机网络
计算机网络
白总Server5 分钟前
物联网网关确保设备安全
服务器·网络·物联网·安全·web安全·自然语言处理·架构
逸狼3 小时前
【JavaEE初阶】网络原理(2)
java·网络·java-ee
梅洪4 小时前
005 IP地址的分类
网络
梅洪4 小时前
006划分子网
网络
安科瑞刘鸿鹏6 小时前
校园建筑用电安全监测装置 电气火灾监测预防设备功能介绍
运维·服务器·网络·嵌入式硬件·安全·能源
茶颜悦色vv8 小时前
网络搜索引擎Shodan(2)
网络·安全·web安全·搜索引擎·网络安全
速盾cdn10 小时前
速盾:什么是高防CDN?高防CDN的用处有哪些?
运维·服务器·网络·web安全