文章目录

  • ​​自制系统、LAN 和广播域​​
  • ​​路由​​
  • ​​静态路由​​


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

自制系统、LAN 和广播域

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

HCIA网络基础11-IP路由原理及静态路由_静态路由


LAN 和广播域

一个AS通常由多个不同的局域网组成。以企业网络为例,各个部门可以属于不同的局域网,或者各个分支机构和总部也可以属于不同的局域网。

局域网内的主机可以通过交换机来实现相互通信。

不同局域网之间的主机要想相互通信,可以通过路由器来实现。路由器工作在网络层,隔离了广播域,并可以作为每个局域网的网关,发现到达目的网络的最优路径,最终实现报文在不同网络间的转发。

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

HCIA网络基础11-IP路由原理及静态路由_浮动路由_02

路由

路由逻辑
路由器收到数据包后,会根据数据包中的目的IP地址选择一条最优的路径,并将数据包转发到下一个路由器,路径上最后的路由器负责将数据包送交目的主机。数据包在网络上的传输就好像是体育运动中的接力赛一样,每一个路由器负责将数据包按照最优的路径向下一跳路由器进行转发,通过多个路由器一站一站的接力,最终将数据包通过最优路径转发到目的地。当然有时候由于实施了一些特别的路由策略,数据包通过的路径可能并不一定是最佳的。
路由器能够决定数据报文的转发路径。如果有多条路径可以到达目的地,则路由器会通过进行计算来决定最佳下一跳。计算的原则会随实际使用的路由协议不同而不同。

路由表
路由器转发数据包的关键是路由表。每个路由器中都保存着一张路由表,表中每条路由表项都指明了数据包要到达某网络或某主机应通过路由器的哪个物理接口发送,以及可到达该路径的哪个下一跳路由器,或者不再经过别的路由器而直接可以到达目的地。
路由表中包含了下列关键项:
目的地址(Destination):用来标识IP数据包的目的地址或目的网络。
网络掩码(Mask):在IP编址课程中已经介绍了网络掩码的结构和作用。同样,在路由表中网络掩码也具有重要的意义。IP地址和网络掩码进行“逻辑与”便可得到相应的网段信息。如本例中:目的地址为8.0.0.0,掩码为255.0.0.0,相与后便可得到一个A类的网段信息(8.0.0.0/8)。网络掩码的另一个作用还表现在当路由表中有多条目的地址相同的路由信息时,路由器将选择其掩码最长的一项作为匹配项。
输出接口(Interface):指明IP数据包将从该路由器的哪个接口转发出去。
下一跳IP地址(NextHop):指明IP数据包所经由的下一跳路由器的接口地址。
路由表中优先级、度量值等其他的几个字段以后进行介绍。

HCIA网络基础11-IP路由原理及静态路由_静态路由_03

路由优先级

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

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

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

HCIA网络基础11-IP路由原理及静态路由_浮动路由_04


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

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

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

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

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

HCIA网络基础11-IP路由原理及静态路由_浮动路由_05


路由表

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

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

链路层协议发现的路由(也称为接口路由或直连路由)。

由网络管理员手工配置的静态路由。

动态路由协议发现的路由。

HCIA网络基础11-IP路由原理及静态路由_HCIA_06


最长匹配原则

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

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

HCIA网络基础11-IP路由原理及静态路由_静态路由_07

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

HCIA网络基础11-IP路由原理及静态路由_负载分担_08

静态路由

静态路由是指由管理员手动配置和维护的路由。静态路由配置简单,并且无需像动态路由那样占用路由器的CPU资源来计算和分析路由更新。
静态路由的缺点在于,当网络拓扑发生变化时,静态路由不会自动适应拓扑改变,而是需要管理员手动进行调整。
静态路由一般适用于结构简单的网络。在复杂网络环境中,一般会使用动态路由协议来生成动态路由。不过,即使是在复杂网络环境中,合理地配置一些静态路由也可以改进网络的性能。

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

[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

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

在串行网络中配置静态路由时,可以只指定下一跳地址或只指定出接口。

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

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

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

HCIA网络基础11-IP路由原理及静态路由_浮动路由_09

负载分担

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

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

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

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

HCIA网络基础11-IP路由原理及静态路由_负载分担_10

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

[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 GigabitEthernet 0/0/0
Static 60 0 RD 20.0.12.1 GigabitEthernet 0/0/1

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

HCIA网络基础11-IP路由原理及静态路由_负载分担_11


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

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

[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

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

HCIA网络基础11-IP路由原理及静态路由_浮动路由_12

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

[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