路由器
在互联网中进行路由选择所使用的设备,或者说,实现路由的设备,我们称之为路由器。
什么是路由
路由是指导IP报文发送的路径信息。
A查自己的路由表找到最佳路径 B 查自己的路由表找到最佳路径–>C -->目标网络。
路由表
路由器工作时依赖于路由表进行数据的转发。路由表犹如一张地图,它包含着去往各个目的的路径信息(路由条目)。每条信息至少应该包括下面3个内容:
[R1]dis 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 D 0.0.0.0 NULL0
1.1.1.1/32 Direct 0 0 D 127.0.0.1 LoopBack1
12.0.0.0/24 Direct 0 0 D 12.0.0.1 GigabitEthernet
0/0/0
12.0.0.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
12.0.0.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
13.0.0.0/24 Direct 0 0 D 13.0.0.1 GigabitEthernet
0/0/1
13.0.0.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
13.0.0.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
23.0.0.0/24 OSPF 10 2 D 13.0.0.3 GigabitEthernet
0/0/1
OSPF 10 2 D 12.0.0.2 GigabitEthernet
路由表中包含了下列关键项:
•Destination:表示此路由的目的地址。用来标识IP包的目的地址或目的网络。
•Mask:表示此目的地址的子网掩码长度。与目的地址一起来标识目的主机或路由器所在的网段的地址。
•Proto:表示学习此路由的路由协议。
•Pre:表示此路由的路由协议优先级。针对同一目的地,可能存在不同下一跳、出接口等多条路由,这些不同的路由可能是由不同的路由协议发现的,也可以是手工配置的静态路由。优先级高(数值小)者将成为当前的最优路由。各协议路由优先级请参见路由协议的优先级。
•Cost:路由开销。当到达同一目的地的多条路由具有相同的路由优先级时,路由开销最小的将成为当前的最优路由。
根据目的地与该路由器是否直接相连,路由又可划分为:
目标网络10.4.1.0,A查到这个地址下一跳10.1.2.2,出接口是E0,就从这里传送数据出去,到B路由器同样查路由表……
这个过程称为路由。
静态和动态路由
分类 | 描述 |
---|---|
静态路由 | 由网络管理员手工指定的路由。当网络拓扑发生变化时,管理员需要手工更新静态路由。 |
动态路由 | 路由器使用路由协议从其他路由器那里获悉的路由。当网络拓扑发生变化时,路由器会更新路由信息。 |
[RTA] display ip routing-table
Routing Tables: Public
Destinations : 8 Routes : 8
Destination/Mask Proto Pre Cost NextHop Interface
2.2.2.2/32 Static 60 0 10.1.2.2 Ethernet0
static表示静态路由,手工配置。
[R1]dis 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
23.0.0.0/24 OSPF 10 2 D 13.0.0.3 GigabitEthernet
0/0/1
OSPF 10 2 D 12.0.0.2 GigabitEthernet
OSPF是动态路由,D表示来自于路由表。
静态路由是由管理员手工配置而生成的路由。
优点为:
缺点为:
静态路由的应用:
配置单播静态路由:
ip route-static ip-address {mask|mask-length} {nexthop-address|interface-type interface-number [nexthop-address]}[preference preference|tag tag]
[R2]ip route-static 192.168.1.0 30 192.168.2.2
#ip route-static <目的网络地址> <目的网络地址的子网掩码> <下一跳路由器IP地址>
或者 [R2] ip route-static 192.168.1.0 30 g0/0/0 #出接口
[R2]display ip interface brief g0/0/0 #查看接口与IP相关的配置和统计信息或者简要信息
Interface IP Address/Mask Physical Protocol
GigabitEthernet0/0/0 12.0.0.1/24 up up
案例1、
1.配置各接口所属VLAN
配置SwitchA。SwitchB和Switch省略。
<HUAWEI> system-view
[HUAWEI] sysname SwitchA
[SwitchA] vlan batch 10 30
[SwitchA] interface gigabitethernet 0/0/1
[SwitchA-GigabitEthernet0/0/1] port link-type trunk
[SwitchA-GigabitEthernet0/0/1] port trunk allow-pass vlan 10
[SwitchA-GigabitEthernet0/0/1] quit
[SwitchA] interface gigabitethernet 0/0/2
[SwitchA-GigabitEthernet0/0/2] port link-type access
[SwitchA-GigabitEthernet0/0/2] port default vlan 30
[SwitchA-GigabitEthernet0/0/2] quit
2、配置各VLANIF接口的IP地址
[SwitchA] interface vlanif 10
[SwitchA-Vlanif10] ip address 10.1.4.1 30
[SwitchA-Vlanif10] quit
[SwitchA] interface vlanif 30
[SwitchA-Vlanif30] ip address 10.1.1.1 24
[SwitchA-Vlanif30] quit
3、配置主机
虚拟接口vlan if用于配置主机PC1的缺省网关为10.1.1.1,主机PC2的缺省网关为10.1.2.1,主机PC3的缺省网关为10.1.3.1。
4、配置静态路由
在SwitchA配置IP缺省路由。
[SwitchA] ip route-static 0.0.0.0 0.0.0.0 10.1.4.2
在SwitchB配置两条IP静态路由。
[SwitchB] ip route-static 10.1.1.0 255.255.255.0 10.1.4.1
[SwitchB] ip route-static 10.1.3.0 255.255.255.0 10.1.4.6
在SwitchC配置IP缺省路由。
[SwitchC] ip route-static 0.0.0.0 0.0.0.0 10.1.4.5
5、验证配置结果
[SwitchA] display ip routing-table
Route Flags: R - relay, D - download to fib, T - to -instance
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 7 Routes : 7
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 Static 60 0 RD 10.1.4.2 Vlanif10
10.1.1.0/24 Direct 0 0 D 10.1.1.1 Vlanif30
10.1.1.1/32 Direct 0 0 D 127.0.0.1 Vlanif30
10.1.4.0/30 Direct 0 0 D 10.1.4.1 Vlanif10
10.1.4.1/32 Direct 0 0 D 127.0.0.1 Vlanif10
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
[SwitchA] tracert 10.1.3.1
traceroute to 10.1.3.1(10.1.3.1), max hops: 30 ,packet length: 40,press CTRL_C to break
1 10.1.4.2 31 ms 32 ms 31 ms
2 10.1.3.1 62 ms 63 ms 62 ms
缺省路由又称为默认路由,在通信网络中,当网络主机上没有特定路由时而设置的数据包转发规则,可以给出一个默认的下一跳地址,当路由表中的所有路由都选择失败的时候,为使得报文有最终的一个发送地,将使用缺省路由进行转发。
缺省路由是一种特殊的路由,可以通过静态路由配置,某些动态路由协议也可以生成缺省路由,如OSPF和IS-IS。
在路由表中,缺省路由以到网络0.0.0.0(掩码为0.0.0.0)的形式出现。
当路由器收到一个在路由表中匹配不到明确路由的数据包时,会将数据包转发给缺省路由指向的下一跳。
缺省路由在其它路由里优先级最低。
[R1]ip route-static 0.0.0.0 0.0.0.0 1.1.4.2 //在R1上配置IPv4缺省路由。不同网段
R1–>R2目标地址由于不能明确,所以采用0.0.0.0 子网掩码0.0.0.0 下一跳1.1.4.2(就是R1去往所有目的的数据都交给R2的下一跳1.1.4.2,让网关帮我转发数据。)
ip route 0.0.0.0 0.0.0.0 在路由功能开启的情况下,为路由器配置默认网关
缺省路由是在路由器没有为数据包找到更为精确匹配的路由时最后匹配的。
子网掩码变成了0.0.0.0,这也意味着该网段的32位二进制形式的IP地址都是主机位,任何一个地址都属于该网段,这就是所谓全球最大的网段。
默认路由(Default Route)一般应用于网络(企业网、校园网、园区网等)出口,用于指向互联网,实现内网主机能够跟外网通信(我们不可能配置百度、新浪各种网站几万个网段。)。一般放在路由表的最底部,只有当常规的路由列表没有匹配时,才会查看/调用默认路由。从而到达另一个路由器,每次转发,路由都增加了一跳的距离。
黑洞路由也为一条静态路由,但与其他路由不同的是,黑洞路由的出口接口为NULL0。如果一条静态路由的出口接口为NULL0时,就像扔进一个黑洞(垃圾站),因此出接口为Null 0的路由又称为黑洞路由。
黑洞路由是一种颇有用处的路由,在图中,R1的GE0/0/0连接着一个终端网络,处于该终端网络的PC将默认网关设置为R1的GE0/0/0接口IP地址,而为了让PC能够访问R2右侧的服务器网络,我们在R1上配置了一条默认路由:
[R1]ip route-s 0.0.0.0 0 10.0.12.2
[R2]ip route-static 0.0.0.0 0 10.0.12.1
PC>ping 10.0.12.2
在服务器网络中,有一个特殊的网段——192.168.60.0/24并不希望被PC访问,能否仅仅通过路由的配置来实现这个需求呢?
使用黑洞路由便可,R1增加如下配置:
[R1]ip route-static 192.168.60.0 255.255.255.0 NULL0
[R1]dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 12 Routes : 12
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 Static 60 0 RD 10.0.12.2 G0/0/1
10.0.12.255/32 Direct 0 0 D 127.0.0.1 G0/0/1
192.168.1.1/32 Direct 0 0 D 127.0.0.1 G0/0/0
192.168.1.255/32 Direct 0 0 D 127.0.0.1 G0/0/0
192.168.60.0/24 Static 60 0 D 0.0.0.0 NULL0
当PC访问192.168.60.0/24时,数据包先被默认网关R1,R1通过路由表查询,发现数据包的目的IP地址匹配路由192.168.60.0/24,而这条路由的出接口是NULL 0,因此它将数据包直接丢弃。
黑洞路由的应用场景:
路由器使用路由协议从其他路由器那里获悉的路由。
当网络拓扑发生变化时,路由器会自动更新路由信息。
总结:路由器之间就会互相学习完成。
路由协议分类——作用范围:
作用范围 | 描述 |
---|---|
IGP内部网关 | AS(自冶系统)中的路由器间交换路由选择信息。RIP、OSPF、ISIS。 |
EGP外部网关 | AS与AS之间交换路由选择信息。BGP |
一个运营网有一个AS,在一个AS内的协议称为IGP。IGP包含几种类型:RIP、OSPF、ISIS。都属于内部网络协议。
AS与AS之间的协议称为BGP(边界网络协议),比如电信和联通之间。
路由优先级(Preference)
当存在多个路由来源时,具有较高优先级(优先级的值越小优先级越高。)的路由来源提供的路由将被激活,用于指导报文的转发。
路由优先级有内外之分,如果外部优先级相同则比较内部优先级。
外部路由优先级如下表:
路由协议 | 外部优先级 |
---|---|
DIRECT | 0 |
OSPF | 10 |
IS-IS | 15 |
STATIC | 60 |
RIP | 100 |
OSPF ASE | 150 |
IBGP | 255 |
EBGP | 255 |
Untrustworthy | 255 |
路由度量值表示到达这条路由所指定的路径的代价或者开销,也称为路由权值。
路由器A到路由器D有两条路由:
最长匹配原则
当存在多个路由来源时,具有较高优先级(数值越小表明优先级越高)的路由来源提供的路由将被激活,用于指导报文的转发。
目的地址为9.1.2.1的数据报文,将命中9.1.0.0/16的路由:
[R1] display ip routing-table
Routing Tables:
Destination/Mask proto pref Metric Nexthop Interface
0.0.0.0/0 Static 60 0 120.0.0.2 Serial0/0
8.0.0.0/8 RIP 100 3 120.0.0.2 Serial0/1
9.0.0.0/8 OSPF 10 50 20.0.0.2 Ethernet0/0
9.1.0.0/16 RIP 100 4 120.0.0.2 Serial0/0
外部优先级是100、开销是4,但是根据IP最长匹配原则优先匹配9.1.0.0/16。
当源网络和目的网络之间存在多条链路时,可以通过等价路由来实现流量负载分担。这些等价路由具有相同的目的网络和掩码、优先级和度量值。
本示例中RTA和RTB之间有两条链路相连,通过使用等价的静态路由来实现流量负载分担。
在RTB上配置了两条静态路由,它们具有相同的目的IP地址和子网掩码、优先级(都为60)、路由开销(都为0),但下一跳不同。在RTB需要转发数据给RTA时,就会使用这两条等价静态路由将数据进行负载分担。
在RTA上也应该配置对应的两条等价的静态路由。
[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
[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
路由环路,就是数据包不断在这个网络传输,始终到达不了目的地,导致掉线或者网络瘫痪。
浮动路由介绍:
当网络中存在多条相同路由前缀时,会优先选取AD值(路由可信度,值越小,路由越优先)小的路由为主用路由,AD值大的路由为备份路由。当主用路由的下一跳不可达时,主用路由消失,备用路由生效切换为主用。当网络中有多条路径到达目的网络时,可以通过配置多条静态路由,修改静态路由的AD值,来实现主备链路的备份,该功能即为浮动静态路由。
浮动路由是主用路由的备份,在主用路由失效是,会自动切换到浮动路由。当主用路由下一跳可达,浮动路由不会出现在路由表。
应用:
在金融行业中常见的网点与支行,或者是支行与总行的出口网络中,通常会租用运营商的多条链路,比如电信的10M,联通的2M这样两种链路,客户希望正常的时候生产、办公的流量能够走电信的10M,当故障的时候切换到联通的2M,同时视频监控流量能够主走联通的2M,当该链路故障的时候,能够切换到电信的10M,实现数据业务的分流,同时故障的时候其他链路还可以作为备份链路,避免单点故障,这样的场景也可以考虑采用浮动静态路由(当然静态路由通常需要与BFD功能联动,以便检查到中间运营商设备或者链路存在故障,而交换机上面端口没有down无法感知到静态路由失效,结果路由无法切换的故障)。
RTB上配置了两条静态路由。正常情况下,这两条静态路由是等价的。通过配置preference 100,使第二条静态路由的优先级要低于第一条(值越大优先级越低)。路由器只把优先级最高的静态路由加入到路由表中。当加入到路由表中静态路由出现故障时,优先级低的静态路由才会加入到路由表并承担数据转发业务。
[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]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 //故障时,主路由被删除。正常是备份路由隐藏。