第06章_静态路由
静态路由是指由管理员手动配置和维护的路由。
静态路由配置简单,被广泛应用于网络中。另外,静态路由还可以实现负载均衡和路由备份。因此,学习并掌握好静态路由的应用与配置是非常必要的。
1.静态路由应用场景
**技术背景:**如果只有直连路由,那么就只能到达直连的网络而无法到达远程网络。
- 静态路由是指由管理员手动配置和维护的路由
静态路由是指由管理员手动配置和维护的路由。静态路由配置简单,并且无需像动态路由那样占用路由器的CPU资源来计算和分析路由更新。
静态路由的缺点在于,当网络拓扑发生变化时,静态路由不会自动适应拓扑改变,而是需要管理员手动进行调整。
静态路由一般适用于结构简单的网络。在复杂网络环境中,一般会使用动态路由协议来生成动态路由。不过,即使是在复杂网络环境中,合理地配置一些静态路由也可以改进网络的性能。
2.静态路由配置
- 关联下一跳IP的方式
[Huawei] ip route-static ip-address { mask | mask-length } nexthop-address
- 关联出接口的方式
[Huawei] ip route-static ip-address { mask | mask-length } interface-type interface-number
- 关联出接口和下一跳IP方式
[Huawei] ip route-static ip-address { mask | mask-length } interface-type interface-number [ nexthop-address]
参数ip-address指定了一个网络或者主机的目的地址,
参数mask指定了一个子网掩码或者前缀长度。
如果使用了广播接口如以太网接口作为出接口,则必须要指定下一跳地址;
如果使用了串口作为出接口,则可以通过参数
interface-type
和interface-number
(如Serial 1/0/0)来配置出接口,此时不必指定下一跳地址。
在创建静态路由时,可以同时指定出接口和下一跳。
对于不同的出接口类型,也可以只指定出接口或只指定下一跳。
对于点到点接口(如串口),必须指定出接口。
对于广播接口(如以太网接口)和VT(Virtual-template)接口,必须指定下一跳。
- 切记:通讯是双向的,不要忘记配置返回流量的路由!
静态路由:
- 如果出口是以太网接口,则一定要写下一跳地址
- 如果出口是PPP/HDLC接口,则可以写下一跳地址,也可以写出接口
静态路由优点:
- 按照管理员意志转发
- 不消耗设备资源,配置简单
- 适合规模较小,业务稳定的网络
静态路由缺点:
- 不适合大型网络
- 没有维护路径的能力
3.等价路由
同一个路由来源,当达到同一个目标网络有几条==相同度量值==的路由时,这些路由都会被加入到路由表中。
路由表中存在等价路由之后,前往该目的网段的IP报文路由器会通过所有有效的接口、下一跳转发,这种转发行为被称为==负载分担==。
当源网络和目的网络之间存在多条链路时,可以通过等价路由来实现流量负载分担。这些等价路由具有相同的目的网络和掩码、优先级和度量值。
本示例中RTA和RTB之间有两条链路相连,通过使用等价的静态路由来实现流量负载分担。在RTB上配置了两条静态路由,它们具有相同的目的IP地址和子网掩码、优先级(都为60)、路由开销(都为10),但下一跳不同。在RTB需要转发数据给RTA时,就会使用这两条等价静态路由将数据进行负载分担。
在RTA上也应该配置对应的两条等价的静态路由。
RTA至RTB
ip route-static 10.0.0.0 30 20.1.1.2
ip route-static 10.0.0.0 30 30.1.1.2
路由负载分担算法:基于流负载分担
- 对于TCP/UDP报文:SIP+DIP+SPPORT+DPORT+TCP/UDP相同的报文认为是同一个流。匹配同一条路由的不同的流在多条等价路径上执行转发
- 对于非TCP/UDP报文:SIP+DIP相同的报文认为是同一个流。匹配同一条路由的不同的流在多条等价路径上执行转发。
4.浮动路由
4.1浮动路由 – 概述
- 静态路由支持配置时手动指定优先级,可以通过配置目的地址/掩码相同、优先级不同、下一跳不同的静态路由,实现转发路径的备份。
- 浮动路由是主用路由的备份,保证链路故障时提供备份路由。主用路由下一跳可达时该备份路由不会出现在路由表。路由器只把优先级最高的静态路由加入到路由表中。当加入到路由表中的静态路由出现故障时,优先级低的静态路由才会加入到路由表并承担数据转发业务。
- 同一个目的网段使用相同的路由协议是实现浮动路由
- 静态路由通过路由优先级实现主备备份,因为静态路由无法配置cost
- 动态路由通过cost实现主备备份,通过设置cost,cost小的优先,cost大的作为备份,相同负载分担
- 同一个目的网段使用不同路由协议实现浮动路由
- 优选优先级高的路径,优先级高的失效,选择优先级低的路径
- 在主链路正常情况下,只有主路由会出现在路由表中。在主链路出现故障时,浮动静态路由会被激活并加入到路由表中,承担数据转发业务。
4.2浮动路由 – 示例
- RTA-RTB之间的链路正常时,20.0.0.0/30的两条路由条目都是有效的条目,此时比较优先级,下一跳为10.1.1.2的优先级60,下一跳为10.1.2.2的优先级70,因此下一跳为10.1.1.2的加入路由表。
- RTA-RTB之间的链路故障时,10.1.1.2不可达,因此下一跳为10.1.1.2的路由失效,此时前往20.0.0.0/30的路由就只存在一条,该条路由将会被选入路由表。前往20.0.0.1的流量将会被转发到10.1.2.2。
5.缺省路由
缺省路由是目的地址和掩码都为全0的特殊路由。
如果报文的目的地址无法匹配路由表中的任何一项,路由器将选择依照缺省路由来转发报文。
- 当路由表中没有与报文的目的地址匹配的表项时,设备可以选择缺省路由作为报文的转发路径。
- 在路由表中,缺省路由的目的网络地址为
0.0.0.0
,掩码也为0.0.0.0
。 - 在本示例中,RTA使用缺省路由转发到达未知目的地址的报文。缺省静态路由的默认优先级也是60。在路由选择过程中,缺省路由会被最后匹配。
6.路由递归
- 路由必须有直连的下一跳才能够指导转发,但是路由生成时下一跳可能不是直连的,因此需要计算出一个直连的下一跳和对应的出接口,这个过程就叫做路由递归。
- 路由递归也被称为路由迭代。
7.CIDR
- CIDR(classless inter-domain routing,无类别域间路由)采用IP地址加掩码长度来标识网络和子网,而不是按照传统A、B、C等类型对网络地址进行划分。
- CIDR容许任意长度的掩码长度,将IP地址看成连续的地址空间,可以使用任意长度的前缀分配,多个连续的前缀可以聚合成一个网络,该特性可以有效减少路由表条目数量。
8.路由汇总
8.1路由汇总需求
- 子网划分、==VLSM==解决了地址空间浪费的问题,但同时也带了新的问题:路由表中的路由条目数量增加。为减少路由条目数量可以使用路由汇总。
- 对于一个大规模的网络来说,路由器或其他具备路由功能的设备势必需要维护大量的路由表项,为了维护臃肿的路由表,这些设备就不得不耗费大量的资源。同时,由于路由表的规模变大,会导致路由器在查表转发时效率降低。因此在保证网络中的路由器到各网段都具备IP可达性的同时,需要减小设备的路由表规模。
- 一个网络如果具备科学的IP编址,并且进行合理的规划,是可以利用多种手段减小设备路由表规模的。一个非常常见而又有效的办法就是使用路由汇总(Route Summarization)。
- 路由汇总又被称为路由聚合(Route Aggregation),是将一组有规律的路由汇聚成一条路由,从而达到减小路由表规模以及优化设备资源利用率的目的,我们把汇聚之前的这组路由称为精细路由或明细路由,把汇聚之后的这条路由称为汇总路由或聚合路由。
8.2路由汇总简介
- RTA上为了能够前往远端地址,需要为每一个远端网段配置一条明细路由。去往
10.1.1.0/24
、10.1.2.0/24
、10.1.3.0/24
…拥有相同下一跳。将拥有相同下一跳,一组有规律的路由汇总成一条路由,这叫做路由汇总。 - 路由汇总可以有效减少路由表项大小。
8.3汇总计算
- 基于一系列连续的、有规律的IP网段,如果需计算相应的汇总路由,且确保得出的汇总路由刚好“囊括”上述IP网段,则需保证汇总路由的掩码长度尽可能长。
- 诀窍在于:将明细路由的目的网络地址都换算成二进制,然后排列起来,找出所有目的网络地址中“相同的比特位”。
8.4汇总引发的问题
一般来说一条路由,无论是静态的或者是动态的,都需要关联到一个出接口,路由的出接口指的是设备要到达一个目的网络时的出站接口。
- 路由的出接口可以是该设备的物理接口,例如百兆、千兆以太网接口,
- 也可以是逻辑接口,例如VLAN接口(VLAN Interface),或者隧道(Tunnel)接口等。
在众多类型的出接口中,有一种接口非常特殊,那就是Null(无效)接口,这种类型的接口只有一个编号,也就是0。Null0是一个系统保留的逻辑接口,当网络设备在转发某些数据包时,如果使用出接口为Null0的路由,那么这些报文将被直接丢弃,就像被扔进了一个黑洞里,因此出接口为Null0的路由又被称为黑洞路由。