天天看点

网络基础之静态路由(Static routing)理论基础及华为ENSP基础配置

网络基础之静态路由理论基础

一、静态路由的引入

IP路由基础

以太网交换机工作在数据链路层,用于在网络内进行数据转发。而企业网络的拓扑结构一般会比较复杂,不同的部门,或者总部和分支可能处在不同的网络中,此时就需要使用路由器来连接不同的网络,实现网络之间的数据转发。

自治系统(AS)

网络基础之静态路由(Static routing)理论基础及华为ENSP基础配置

是由同一个管理机构管理、使用统一路由策略的路由器的集合。

一般地我们可以把一个企业网络认为是一个自治系统AS(Autonomous System)。根据RFC1030的定义,自治系统是由一个单一实体管辖的网络,这个实体可以是一个互联网服务提供商,或一个大型组织机构。自治系统内部遵循一个单一且明确的路由策略。最初,自治系统内部只考虑运行单个路由协议;然而,随着网络的发展,一个自治系统内现在也可以支持同时运行多种路由协议。

LAN(Local Area Network)和广播域

网络基础之静态路由(Static routing)理论基础及华为ENSP基础配置

一个AS通常由多个不同的局域网组成。以企业网络为例,各个部门可以属于不同的局域网,或者各个分支机构和总部也可以属于不同的局域网。局域网内的主机可以通过交换机来实现相互通信。不同局域网之间的主机要想相互通信,可以通过 路由器来实现。路由器工作在网络层,隔离了广播域,并可以作为每个局域网的网关,发现到达目的网络的最优路径,最终实现报文在不同网络间的转发。

此例中,RTA和RTB把整个网络分成了三个不同的局域网,每个局域网为一个广播域。LAN1内部的主机直接可以通过交换机实现相互通信,LAN2内部的主机之间也是如此。但是,LAN1内部的主机与LAN2内部的主机之间则必须要通过路由器才能实现相互通信。

路由选路

网络基础之静态路由(Static routing)理论基础及华为ENSP基础配置

路由器负责为数据包选择一条最优路径,并进行转发。

路由器收到数据包后,会根据数据包中的 目的IP 地址选择一条 最优的路径,并将数据包转发到下一个路由器,路径上最后的路由器负责将数据包送交目的主机。数据包在网络上的传输就好像是体育运动中的接力赛一样,每一个路由器负责将数据包按照最优的路径向下一跳路由器进行转发,通过多个路由器一站一站的接力,最终将数据包通过最优路径转发到目的地。当然有时候由于实施了一些特别的路由策略,数据包通过的路径可能并不一定是最佳的。

路由器能够决定数据报文的转发路径。如果有多条路径可以到达目的地,则路由器会通过进行计算来决定最佳下一跳。计算的原则会随实际使用的路由协议不同而不同。

IP路由表

网络基础之静态路由(Static routing)理论基础及华为ENSP基础配置

路由表中包含了路由器可以到达的目的网络。目的网络在路由表中不存在的数据包会被丢弃。

路由器转发数据包的关键是路由表。每个路由器中都保存着一张路由表,表中每条路由表项都指明了数据包要到达某网络或某主机应通过路由器的哪个物理接口发送,以及可到达该路径的哪个下一跳路由器,或者不再经过别的路由器而直接可以到达目的地。

路由表中包含了下列关键项:

目的地址(Destination):用来标识IP数据包的目的地址或目的网络。

网络掩码(Mask):在IP编址课程中已经介绍了网络掩码的结构和作用。同样,在路由表中网络掩码也具有重要的意义。IP地址和网络掩码进行“逻辑与”便可得到相应的网段信息。如本例中:目的地址为8.0.0.0,掩码为255.0.0.0,相与后便可得到一个A类的网段信息(8.0.0.0/8)。网络掩码的另一个作用还表现在当路由表中有多条目的地址相同的路由信息时,路由器将选择其掩码最长的一项作为匹配项。

输出接口(Interface):指明IP数据包将从该路由器的哪个接口转发出去。

下一跳IP地址(NextHop):指明IP数据包所经由的下一跳路由器的接口地址。

路由器的ARP缓存表:路由器下一跳接口的IP地址对应的MAC地址信息。

路由优先级(preference)

网络基础之静态路由(Static routing)理论基础及华为ENSP基础配置
[RTA]display ip routing-table 
Destination/Mask Proto Pre Cost Flags  NextHop    Interface
10.1.1.0/30      OSPF  10  3   RD   20.1.1.2 GigabitEthernet 0/0/0
           

路由器可以通过多种不同协议学习到去往同一目的网络的路由,当这些路由都符合最长匹配原则时,必须决定哪个路由优先。

每个路由协议都有一个协议优先级(取值越小、优先级越高)。当有多个路由信息时,选择最高优先级的路由作为最佳路由。

如图所示,路由器通过两种路由协议学习到了网段10.1.1.0的路由。虽然RIP协议提供了一条看起来更加近的路线,但是由于OSPF具有更高的优先级,因而成为优选路由,并被加入路由表中。

网络基础之静态路由(Static routing)理论基础及华为ENSP基础配置

路由度量(Cost)

网络基础之静态路由(Static routing)理论基础及华为ENSP基础配置
[RTA]display ip routing-table 
Destination/Mask Proto Pre Cost Flags NextHop    Interface
10.1.1.0/30      OSPF  10  2   RD    30.1.1.2 GigabitEthernet0/0/0
           

如果路由器无法用优先级来判断最优路由,则使用度量值(metric)来决定需要加入路由表的路由。

一些常用的度量值有:跳数,带宽,时延,代价,负载,可靠性等。

跳数是指到达目的地所通过的路由器数目。

带宽是指链路的容量,高速链路开销(度量值)较小。

metric值越小,路由越优先;因此,图示中metric=1+1=2的路由是到达目的地的最优路由,其表项可以在路由表中找到。

建立路由表(装表)

网络基础之静态路由(Static routing)理论基础及华为ENSP基础配置

根据比较“路由优先级”和“路由度量”,设备可以产生最优路径的IP路由表。

根据来源的不同,路由表中的路由通常可分为以下三类:

链路层协议发现的路由(也称为接口路由或直连路由)。
	根据接口配置的IP地址,当在接口处于激活状态下产生的。
由网络管理员手工配置的静态路由。
	管理员手工写入路由器的路由条目
动态路由协议发现的路由。
	路由器启动了动态路由协议之后,路由器自己计算出来的路由
           

最长匹配原则

网络基础之静态路由(Static routing)理论基础及华为ENSP基础配置
[RTA]display ip routing-table 
Destination/Mask Proto  Pre  Cost Flags NextHop    Interface
10.1.1.0/24      Static  60   0   RD   20.1.1.2 GigabitEthernet 0/0/0
10.1.1.0/30      Static  60   0   RD   20.1.1.2 GigabitEthernet 0/0/0
           

路由表中如果有多个匹配目的网络的路由条目,则路由器会选择掩码最长的条目。掩码越长,路由越精确。

路由器在转发数据时,需要选择路由表中的最优路由。当数据报文到达路由器时,路由器首先提取出报文的目的IP地址,然后查找路由表,将报文的目的IP地址与路由表中某表项的掩码字段做“与”操作,“与”操作(有0则为0)后的结果跟路由表该表项的目的IP地址比较,相同则匹配上,否则就没有匹配上。 当与所有的路由表项都进行匹配后,路由器会选择一个掩码最长的匹配项。

如图所示,路由表中有两个表项到达目的网段10.1.1.0,下一跳地址都是20.1.1.2。如果要将报文转发至网段10.1.1.1,则10.1.1.0/30符合最长匹配原则。

路由器转发数据包

网络基础之静态路由(Static routing)理论基础及华为ENSP基础配置

路由器需要知道下一跳和出接口才能将数据转发出去。

路由器收到一个数据包后,会检查其目的IP地址,然后查找路由表。查找到匹配的路由表项之后,路由器会根据该表项所指示的出接口信息和下一跳信息将数据包转发出去。

二、静态路由

静态路由的概念

静态路由是指由管理员手动配置和维护的路由。

静态路由配置简单,被广泛应用于网络(小型网络90%以上的路由都是静态路由)中。另外,静态路由还可以实现负载均衡和路由备份。

静态路由配置的三要素:

目标网段/子网掩码 输出接口 下一跳IP地址

配置路由的原则:有去有回

静态路由应用场景

网络基础之静态路由(Static routing)理论基础及华为ENSP基础配置

静态路由是指由管理员手动配置和维护的路由。静态路由配置简单,并且无需像动态路由那样占用路由器的CPU资源来计算和分析路由更新。

静态路由的缺点在于,当网络拓扑发生变化时,静态路由不会自动适应拓扑改变,而是需要管理员手动进行调整。

静态路由一般适用于结构简单的网络。在复杂网络环境中,一般会使用动态路由协议来生成动态路由。不过,即使是在复杂网络环境中,合理地配置一些静态路由也可以改进网络的性能。

静态路由的配置

网络基础之静态路由(Static routing)理论基础及华为ENSP基础配置
[RTB]ip route-static 192.168.1.0 255.255.255.0 10.0.12.1 
[RTB]ip route-static 192.168.1.0 255.255.255.0 Serial 1/0/0 
[RTB]ip route-static 192.168.1.0 24 Serial 1/0/0
           

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)来配置出接口,此时不必指定下一跳地址。

静态路由

网络基础之静态路由(Static routing)理论基础及华为ENSP基础配置

在串行接口上,可以通过指定下一跳地址或出接口来配置静态路由。

静态路由可以应用在串行网络或以太网中,但静态路由在这两种网络中的配置有所不同。

在串行网络中配置静态路由时,可以只指定下一跳地址或只指定出接口。华为ARG3系列路由器中,串行接口默认封装PPP协议,对于这种类型的接口,静态路由的下一跳地址就是与接口相连的对端接口的地址,所以在串行网络中配置静态路由时可以只配置出接口。

以太网是广播类型网络,和串行网络情况不同。在以太网中配置静态路由,必须指定下一跳地址。

网络基础之静态路由(Static routing)理论基础及华为ENSP基础配置

在广播型的接口(如以太网接口)上配置静态路由时,必须要指定下一跳地址。

在广播型的接口上配置静态路由时,必须明确指定下一跳地址。以太网中同一网络可能连接了多台路由器,如果在配置静态路由时只指定了出接口,则路由器无法将报文转发到正确的下一跳。在本示例中,RTA需要将数据转发到192.168.2.0/24网络,在配置静态路由时,需要明确指定下一跳地址为10.0.123.2,否则,RTA将无法将报文转发到RTB所连接的192.168.2.0/24网络,因为RTA不知道应该通过RTB还是RTC才能到达目的地。

负载分担

网络基础之静态路由(Static routing)理论基础及华为ENSP基础配置

注意!接口配有IP地址,所以中间两条链路不是二层链路,不存在环路,分为上下两个网段,即上下两个广播域。

[RTB]ip route-static 192.168.1.0 255.255.255.0 10.0.12.1 
[RTB]ip route-static 192.168.1.0 255.255.255.0 20.0.12.1 
           

静态路由支持到达同一目的地的等价负载分担。

当源网络和目的网络之间存在多条链路时,可以通过等价路由来实现流量负载分担。这些等价路由具有相同的目的网络和掩码、优先级和度量值。

本示例中RTA和RTB之间有两条链路相连,通过使用等价的静态路由来实现流量负载分担。

在RTB上配置了两条静态路由,它们具有相同的目的IP地址和子网掩码、优先级(都为60)、路由开销(都为0),但下一跳不同。在RTB需要转发数据给RTA时,就会使用这两条等价静态路由将数据进行负载分担。

在RTA上也应该配置对应的两条等价的静态路由。

网络基础之静态路由(Static routing)理论基础及华为ENSP基础配置

在配置完静态路由之后,可以使用display ip routing-table命令来验证配置结果。在本示例中,红色高亮部分代表路由表中的静态路由。这两条路由具有相同的目的地址和掩码,并且有相同的优先级和度量值,但是它们的下一跳地址和出接口不同。此时,RTB就可以通过这两条等价路由实现负载分担。

并且在IP地址为192.168.1.1的PC1上执行 tracert 192.168.2.1命令,发现经过的是10.0.12.0的网段链路,在IP地址为192.168.2.1的PC2上执行 tracert 192.168.2.1命令,发现经过的是20.0.12.0的网段链路。

路由备份

网络基础之静态路由(Static routing)理论基础及华为ENSP基础配置
[RTB]ip route-static 192.168.1.0 255.255.255.0 10.0.12.1 
[RTB]ip route-static 192.168.1.0 255.255.255.0 20.0.12.1 preference 100
           

浮动静态路由在网络中主路由失效的情况下,会加入到路由表并承担数据转发业务。

在配置多条静态路由时,可以修改静态路由的优先级,使一条静态路由的优先级高于其他静态路由,从而实现静态路由的备份,也叫浮动静态路由。在本示例中,RTB上配置了两条静态路由。正常情况下,这两条静态路由是等价的。通过配置preference 100,使第二条静态路由的优先级要低于第一条(值越大优先级越低)。路由器只把优先级最高的静态路由加入到路由表中。当加入到路由表中的静态路由出现故障时,优先级低的静态路由才会加入到路由表并承担数据转发业务。

配置验证

[RTB]display ip routing-table 
Route Flags: R - relay, D - download to fib
--------------------------------------------------------------
Routing Tables: Public  Destinations : 13       Routes : 14       
Destination/Mask Proto Pre Cost Flags NextHop Interface
……
192.168.1.0/24  Static  60   0  RD  10.0.12.1 GigabitEthernet0/0/0
           

在主链路正常情况下,只有主路由会出现在路由表中。

从display ip routing-table命令的回显信息中可以看出,通过修改静态路由优先级实现了浮动静态路由。正常情况下,路由表中应该显示两条有相同目的地、但不同下一跳和出接口的等价路由。由于修改了优先级,回显中只有一条默认优先级为60的静态路由。另一条静态路由的优先级是100,该路由优先级低,所以不会显示在路由表中。

[RTB]interface GigabitEthernet 0/0/0
[RTB-GigabitEthernet 0/0/0]shutdown 
[RTB]display ip routing-table 
Route Flags: R - relay, D - download to fib
--------------------------------------------------------------
Routing Tables: Public  Destinations : 13       Routes : 14       
Destination/Mask Proto Pre Cost Flags NextHop Interface
……
192.168.1.0/24 Static  100  0  RD  20.0.12.1 GigabitEthernet 0/0/1
           

在主链路出现故障时,浮动静态路由会被激活并加入到路由表中,承担数据转发业务。

当主用静态路由出现物理链路故障或者接口故障时,该静态路由不能再提供到达目的地的路径,所以在路由表中会被删除。此时,浮动静态路由会被加入到路由表,以保证报文能够从备份链路成功转发到目的地。在主用静态路由的物理链路恢复正常后,主用静态路由会重新被加入到路由表,并且数据转发业务会从浮动静态路由切换到主用静态路由,而浮动静态路由会在路由表中再次被隐藏。

缺省路由

网络基础之静态路由(Static routing)理论基础及华为ENSP基础配置
[RTA]ip route-static 0.0.0.0 0.0.0.0 10.0.12.2 
[RTA]ip route-static 0.0.0.0 0 10.0.12.2 GigabitEthernet 0/0/0 
           

缺省(默认)路由是目的地址和掩码都为全0的特殊路由。

如果报文的目的地址无法匹配路由表中的任何一项,路由器将选择依照缺省路由来转发报文。

当路由表中没有与报文的目的地址匹配的表项时,设备可以选择缺省路由作为报文的转发路径。在路由表中,缺省路由的目的网络地址为0.0.0.0,掩码也为0.0.0.0。在本示例中,RTA使用缺省路由转发到达未知目的地址的报文。缺省静态路由的默认优先级也是60。在路由选择过程中,缺省路由会被最后匹配。

配置验证

[RTA]display ip routing-table 
Route Flags: R - relay, D - download to fib
--------------------------------------------------------------
Routing Tables: Public  Destinations : 13       Routes : 14       
Destination/Mask Proto Pre Cost Flags NextHop Interface
……
0.0.0.0/0      Static  60   0  RD   10.0.12.2 GigabitEthernet0/0/0
           

配置缺省路由后,可以使用display ip routing-table命令来查看该路由的详细信息。在本示例中,目的地址在路由表中没能匹配的所有报文都将通过GigabitEthernet 0/0/0接口转发到下一跳地址10.0.12.2。

汇总路由

实际上 汇总路由 是一种精确指向(保证子网掩码的长度)的 默认路由,可以在很大程度上简化路由表的尺寸。例如,在同一网段的7个IP地址,我们需要配置7条路由,但经过汇总后,我们只需要配置一条路由即可。

路由汇总过程

IP地址          子网掩码
192.168.1.0		255.255.255.0
192.168.2.0		255.255.255.0
192.168.3.0		255.255.255.0
192.168.4.0		255.255.255.0
192.168.5.0		255.255.255.0
192.168.6.0		255.255.255.0
192.168.7.0		255.255.255.0
----------------------------------------
二进制                    
1100 0000.1010 1000.0000 0001.0000 0000         
1100 0000.1010 1000.0000 0010.0000 0000
1100 0000.1010 1000.0000 0011.0000 0000
1100 0000.1010 1000.0000 0100.0000 0000
1100 0000.1010 1000.0000 0101.0000 0000
1100 0000.1010 1000.0000 0110.0000 0000
1100 0000.1010 1000.0000 0111.0000 0000
由二进制可知以上列举的IP地址不一样的位在第22位到24位。
原来的子网掩码为1111 1111.1111 1111.1111 1111.0000 0000
汇总路由就是把不一样的位数对应位置IP地址变为0,即
1100 0000.1010 1000.0000 0000.0000 0000         
1100 0000.1010 1000.0000 0000.0000 0000
1100 0000.1010 1000.0000 0000.0000 0000
1100 0000.1010 1000.0000 0000.0000 0000
1100 0000.1010 1000.0000 0000.0000 0000
1100 0000.1010 1000.0000 0000.0000 0000
1100 0000.1010 1000.0000 0000.0000 0000
把不一样的位数对应的子网掩码变为0,即
汇总后子网掩码为1111 1111.1111 1111.1111 1000.0000 0000,
所以汇总后的路由为192.168.0.0  255.255.248.0 或者为192.168.0.0/21
           

继续阅读