静态路由基础
前言
静态路由是指由管理员手动配置和维护的路由。
静态路由配置简单,被广泛应用于网络中。另外,静态路由还可以实现负载均衡和路由备份。因此,学习并掌握好静态路由的应用与配置是非常必要的。
静态路由应用场景
静态路由是指由管理员手动配置和维护的路由。静态路由配置简单,并且无需像动态路由那样占用路由器的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)来配置出接口,此时不必指定下一跳地址。
静态路由
静态路由可以应用在串行网络或以太网中,但静态路由在这两种网络中的配置有所不同。
在串行网络中配置静态路由时,可以只指定下一跳地址或只指定出接口。华为ARG3系列路由器中,串行接口默认封装PPP协议,对于这种类型的接口,静态路由的下一跳地址就是与接口相连的对端接口的地址,所以在串行网络中配置静态路由时可以只配置出接口。
以太网是广播类型网络,和串行网络情况不同。在以太网中配置静态路由,必须指定下一跳地址。
在广播型的接口上配置静态路由时,必须明确指定下一跳地址。以太网中同一网络可能连接了多台路由器,如果在配置静态路由时只指定了出接口,则路由器无法将报文转发到正确的下一跳。在本示例中,RTA需要将数据转发到192.168.2.0/24网络,在配置静态路由时,需要明确指定下一跳地址为10.0.123.2,否则,RTA将无法将报文转发到RTB所连接的192.168.2.0/24网络,因为RTA不知道应该通过RTB还是RTC才能到达目的地。
负载分担
当源网络和目的网络之间存在多条链路时,可以通过等价路由来实现流量负载分担。这些等价路由具有相同的目的网络和掩码、优先级和度量值。
本示例中RTA和RTB之间有两条链路相连,通过使用等价的静态路由来实现流量负载分担。
在RTB上配置了两条静态路由,它们具有相同的目的IP地址和子网掩码、优先级(都为60)、路由开销(都为0),但下一跳不同。在RTB需要转发数据给RTA时,就会使用这两条等价静态路由将数据进行负载分担。
在RTA上也应该配置对应的两条等价的静态路由。
查看路由表
在配置完静态路由之后,可以使用display ip routing-table命令来验证配置结果。在本示例中,红色高亮部分代表路由表中的静态路由。这两条路由具有相同的目的地址和掩码,并且有相同的优先级和度量值,但是它们的下一跳地址和出接口不同。此时,RTB就可以通过这两条等价路由实现负载分担。
路由备份
在配置多条静态路由时,可以修改静态路由的优先级,使一条静态路由的优先级高于其他静态路由,从而实现静态路由的备份,也叫浮动静态路由。在本示例中,RTB上配置了两条静态路由。正常情况下,这两条静态路由是等价的。通过配置preference 100,使第二条静态路由的优先级要低于第一条(值越大优先级越低)。路由器只把优先级最高的静态路由加入到路由表中。当加入到路由表中的静态路由出现故障时,优先级低的静态路由才会加入到路由表并承担数据转发业务。
优先级低的路由不显示在路由表中
在主链路正常情况下,只有主路由会出现在路由表中。从display ip routing-table命令的回显信息中可以看出,通过修改静态路由优先级实现了浮动静态路由。正常情况下,路由表中应该显示两条有相同目的地、但不同下一跳和出接口的等价路由。由于修改了优先级,回显中只有一条默认优先级为60的静态路由。另一条静态路由的优先级是100,该路由优先级低,所以不会显示在路由表中。
主链路故障时
当主用静态路由出现物理链路故障或者接口故障时,该静态路由不能再提供到达目的地的路径,所以在路由表中会被删除。此时,浮动静态路由会被加入到路由表,以保证报文能够从备份链路成功转发到目的地。在主用静态路由的物理链路恢复正常后,主用静态路由会重新被加入到路由表,并且数据转发业务会从浮动静态路由切换到主用静态路由,而浮动静态路由会在路由表中再次被隐藏。
缺省路由
缺省路由是目的地址和掩码都为全0的特殊路由。
如果报文的目的地址无法匹配路由表中的任何一项,路由器将选择依照缺省路由来转发报文。
当路由表中没有与报文的目的地址匹配的表项时,设备可以选择缺省路由作为报文的转发路径。在路由表中,缺省路由的目的网络地址为0.0.0.0,掩码也为0.0.0.0。在本示例中,RTA使用缺省路由转发到达未知目的地址的报文。缺省静态路由的默认优先级也是60。在路由选择过程中,缺省路由会被最后匹配。
配置缺省路由后,可以使用display ip routing-table命令来查看该路由的详细信息。在本示例中,目的地址在路由表中没能匹配的所有报文都将通过GigabitEthernet 0/0/0接口转发到下一跳地址10.0.12.2。
VlAN间路由
前言
部署了VLAN的传统交换机不能实现不同VLAN间的二层报文转发,因此必须引入路由技术来实现不同VLAN间的通信。VLAN路由可以通过二层交换机配合路由器来实现,也可以通过三层交换机来实现。
VLAN的局限性
VLAN在分割广播域的同时也限制了不同VLAN间的主机进行二层通信的能力。
每个VLAN占用一个物理连接
- 在二层交换机上配置VLAN,每一个VLAN使用一条独占的物理链路连接到路由器的一个接口上。这样会造成接口浪费。我们可以通过单臂路由解决这个问题。(如图SRB-EVOAPC1)
- 如图SRB-EVOAPC2,用华为eNSP模拟器实现上述过程。每台设备配置信息如下。Ping测试结果如图SRB-EVOAPC3
R1路由器配置命令:
<Huawei>sy
[Huawei]int g0/0/1
[Huawei-GigabitEthernet0/0/1]ip address 192.168.1.1 24
[Huawei-GigabitEthernet0/0/1]q
[Huawei-GigabitEthernet0/0/2]ip add 192.168.2.1 24
[Huawei-GigabitEthernet0/0/2]q
[Huawei]display ip routing-table
LSW1交换机配置命令:
<Huawei>sy
[Huawei]un in en
[Huawei]vlan 10
[Huawei-vlan10]q
[Huawei]vlan 20
[Huawei-vlan20]q
[Huawei]int g0/0/1
[Huawei-GigabitEthernet0/0/1]p l a
[Huawei-GigabitEthernet0/0/1]p d v 10
[Huawei-GigabitEthernet0/0/1]q
[Huawei]int g0/0/2
[Huawei-GigabitEthernet0/0/2]p l a
[Huawei-GigabitEthernet0/0/2]p d v 20
[Huawei-GigabitEthernet0/0/2]q
[Huawei]int g0/0/24
[Huawei-GigabitEthernet0/0/24]p l a
[Huawei-GigabitEthernet0/0/24]p d v 10
[Huawei-GigabitEthernet0/0/24]q
[Huawei]int g0/0/23
[Huawei-GigabitEthernet0/0/23]p l a
[Huawei-GigabitEthernet0/0/23]p d v 20
[Huawei-GigabitEthernet0/0/23]q
PC1配置信息:
IP:192.168.1.100
Mark:24
GateWay:192.168.1.1
PC2配置信息:
IP:192.168.2.100
Mark:24
GateWay:192.168.2.1
单臂路由
- 将交换机和路由器之间的链路配置为Trunk链路,并且在路由器上创建子接口以支持VLAN路由。(如图SRB-SAR1)
- 如图SRB-SAR2是eNSP模拟器单臂路由组网。
- 下面是图SRB-SAR2中各设备的配置命令。
R1路由器配置命令:
<Huawei>sy
[Huawei]int g0/0/1.1
[Huawei-GigabitEthernet0/0/1.1]ip address 192.168.1.1 24
[Huawei-GigabitEthernet0/0/1.1]dot1q termination vid 10
[Huawei-GigabitEthernet0/0/1.1]arp broadcast enable
[Huawei-GigabitEthernet0/0/1.1]q
[Huawei]int g0/0/1.2
[Huawei-GigabitEthernet0/0/1.2]ip add 192.168.2.1 24
[Huawei-GigabitEthernet0/0/1.2]dot1q termination vid 20
[Huawei-GigabitEthernet0/0/1.2]arp broadcast enable
[Huawei-GigabitEthernet0/0/1.2]q
[Huawei]display ip routing-table
LSW1交换机配置命令:
<Huawei>sy
[Huawei]un in en
[Huawei]vlan 10
[Huawei-vlan10]q
[Huawei]vlan 20
[Huawei-vlan20]q
[Huawei]int g0/0/1
[Huawei-GigabitEthernet0/0/1]p l a
[Huawei-GigabitEthernet0/0/1]p d v 10
[Huawei-GigabitEthernet0/0/1]q
[Huawei]int g0/0/2
[Huawei-GigabitEthernet0/0/2]p l a
[Huawei-GigabitEthernet0/0/2]p d v 20
[Huawei-GigabitEthernet0/0/2]q
[Huawei]int g0/0/24
[Huawei-GigabitEthernet0/0/24]p l t
[Huawei-GigabitEthernet0/0/24]port trunk allow-pass vlan 10 20
[Huawei-GigabitEthernet0/0/24]q
PC1配置信息:
IP:192.168.1.100
Mark:24
GateWay:192.168.1.1
PC2配置信息:
IP:192.168.2.100
Mark:24
GateWay:192.168.2.1
- 再次ping测试,这次我们用PC1pingPC2(如图SRB-SAR3)。看来也是成功了。
三层交换
- 三层交换机有和路由器差不多的功能,就是在三层网络层进行数据传输。网间通信需要网关,为每个VLAN创建一个VLANIF接口作为网关就可以进行三层交换。(图SRB-TLB1)
- 图SRB-TLB2为验证三层交换的实验。
- 下面是图SRB-TLB2中各设备的配置信息和命令。
LSW1三层交换机命令:
<Huawei>sy
[Huawei]vlan batch 10 20
[Huawei]un in en
[Huawei]int g0/0/1
[Huawei-GigabitEthernet0/0/1]p l a
[Huawei-GigabitEthernet0/0/1]p d v 10
[Huawei-GigabitEthernet0/0/1]q
[Huawei]int g0/0/2
[Huawei-GigabitEthernet0/0/2]p l a
[Huawei-GigabitEthernet0/0/2]p d v 10
[Huawei-GigabitEthernet0/0/2]q
[Huawei]int g0/0/3
[Huawei-GigabitEthernet0/0/3]p l a
[Huawei-GigabitEthernet0/0/3]p d v 20
[Huawei-GigabitEthernet0/0/3]q
[Huawei]int g0/0/4
[Huawei-GigabitEthernet0/0/4]p l a
[Huawei-GigabitEthernet0/0/4]p d v 20
[Huawei-GigabitEthernet0/0/4]q
[Huawei]int vlanif10
[Huawei-Vlanif10]ip add 192.168.1.1 24
[Huawei-Vlanif10]q
[Huawei]int vlanif20
[Huawei-Vlanif20]ip add 192.168.2.1 24
[Huawei-Vlanif20]q
[Huawei]dis ip routing-table
PC1配置信息:
IP:192.168.1.101
Mark:24
Gateway:192.168.1.1
PC2配置信息:
IP:192.168.1.102
Mark:24
Gateway:192.168.1.1
PC3配置信息:
IP:192.168.2.101
Mark:24
Gateway:192.168.2.1
PC4配置信息:
IP:192.168.2.102
Mark:24
Gateway:192.168.2.1
- 三层交换实验结果如图SRB-TLB3,可以进行网间通信。