路由基础

发布时间 2023-04-04 14:53:00作者: 0x1e61

路由协议基础知识

什么是路由?

路由是指导IP报文发送的路径信息。
路由表只存在于终端计算机、路由器和三层交换机中,二层交换机中不存在路由表。

 

IP路由过程

image-20230404091121938

 

路由器关键功能

检查数据包的目的地

确定信息源

发现可能的路由

选择最佳路由

验证和维护路由信息

 

路由表

一条路由信息三要素:目的地/掩码出接口下一跳
如果目的地/掩码中掩码长度32则目的地将是一个主机接口地址,否则就是一个网络地址

如果下一跳IP地址与出接口IP相同,则说明出接口已经直连到了目的网络

 

建立路由表

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

  1. 链路层协议发现的路由(也称为接口路由或直连路由)。
  2. 由网络管理员手工配置的静态路由。
  3. 动态路由协议发现的路由。

 

路由的来源—链路层协议发现的路由

直连路由。也叫接口路由,是由路由器根据接口配置的IP地址及子网掩码自动生成该接口所属的网络信息并加入路由表。

形成条件:接口处于活跃状态;接口配置了IP地址。

直连路由是静态路由、动态路由下一条或者出接口的迭代基础。如果我们期望的某条路由下一跳不可用,则不会被加入到路由表。

以字母C(Connected)标识。

 

路由的来源—静态路由

静态路由。也叫手工路由,顾名思义,是由网络管理员基于整个网络拓扑信息,手工将路由信息配置到所有的路由器中。

优点:由于是人工添加,路由信息的可靠性高。

缺点:1.手动配置工作量大,后期网络变动维护麻烦。2.不能及时反应网络拓扑的变化,需要网络管理员人工参与。

以字母S(Static)标识。S*——默认静态路由

 

路由的来源—动态路由协议发现的路由

动态路由。由RIP、ISIS、EIGRP、OSPF、BGP等动态路由协议生成。在一个网络拓扑中由运行某一动态路由协议的路由器相互沟通各自所知的路由信息,从而生成对全网的路由拓扑信息,并将路由信息加入路由表。

优点:1.相比静态路由配置量小,维护成本低。2.具有一定智能,网络拓扑较健壮。3.动态路由协议具有各自特定的拓扑结构,路由标签,能适应功能、结构复杂的网络拓扑。

缺点:1.相比静态路由,配置维护动态路由的技术能力要求高。2.网络排障较困难。

字母标识以因路由协议不同。

 

路由协议

路由协议是路由器之间交互信息的一种语言。

路由器之间通过路由协议共享网络状态和网络可达性的一些信息。

相互通信的双方必须使用同一种语言才能交互路由信息。

路由协议定义了一套路由器之间通信时使用的规则。

路由协议维护路由表、提供最佳转发路径。

 

路由协议分类—作用范围

IGP—Interior Gateway Protocol内部网关协议

EGP—Exterior Gateway Protocol外部网关协议

自治系统(AS, Autonomous System) :由同一个管理机构管理、使用统一的路由策略的路由器的集合。

BGP—Border Gateway Protocol边界网关协议

ISIS—Intermediate System to Intermediate System中间系统到中间系统,即路由器之间的协议

一个自治系统内的路由器一般运行一种IGP协议,当然也可以同时运行不同的IGP协议。

一个internet包含多个自治系统时,还需要通过BGP协议以实现不同自治系统之间的路由交换。

 

路由协议分类—协议算法

根据协议算法分类
距离矢量路由选择协议(Distance - Vector)
包括RIP和BGP。其中,BGP也被称为路径矢量协议(Path-Vector) 。
链路状态路由选择协议(Link- State)
又称为最短路径优先路由选择协议,包括OSPF和IS-IS。

 

路由协议分类—业务应用

根据业务应用,路由协议可分成:
单播路由协议(Unicast Routing Protocol) :包括RIP、 OSPF、BGP和IS-IS等 。
组播路由协议(Multicast Routing Protocol) :包括DVMRP、PIM-SM、 PIM-DM等。

 

路由表

display ip routing-table

Destination/Mask: 目的地

proto:(protocol)协议协议

pref:(preference)路由优先级。数值越低优先级越高

cost:开销值。数值越低优先级越高

Nexthop:下一跳ip

Interface:下一跳接口

 

路由优先级(preference)

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

路由器可以通过多种不同协议学习到去往同一个目的网络的路由,当这些路由都符合最长匹配原则时,选择最高优先级的路由作为最佳路由。

每个路由协议都有一个协议优先级(取值越小,优先级越高)

VRP缺省路由优先级如下表

路由协议

优先级

DIRECT

0

OSPF

10

IS-IS

15

STATIC

60

RIP

100

OSPF AES

100

 

路由的度量

路由器A到路由器D有两条路由:
Path1: A>B→C>D,总路由度量是9
Path2: A→E→F→C→D,总路由度量是12
路由器优选较小度量值的路由,并加入到路由表中

 

同一种协议学习2条以上到的到达同一目的网络的路由,此时使用度量值(Metric)来决定需要加入路由表的路由。

不同协议度量值的定义不同。一些常用的度量值有:跳数Hops,带宽Bandwidth,时延Delay,代价Cost, 负载Load,可靠性Reliability等。度量值大小比较只在同一种路由协议内才有效,不同路由协议之间的路由开销没有可比性,也不存在换算关系。

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

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

Metric值越小,路由越优先

 

等价路由:ECMP

等价路由: ECMP, Equal Cost Multi- Path
同一个路由协议,到同一个目的地有几条相同度量值的路由时,这些路由都会被加入到路由表中,IP包会在这几 个链路上负载分担

A到D两条等价路径
A→B-→C-→D,总开销5+5+8=18
A→C→D, 总开销10+8=18

 

静态路由配置

 

静态路由配置

此时PC2 只能ping E0/0/0,G0/0/0接口的ip

display ip routing-table

但是明明R1 跟 R2 G0/0/0 接口上是同一网段,为什么ping不了

fig:

由于直连路由的存在,R2是知道1.1.1.1这个IP可以通过其G0/0/0端口到达,而且数据也确实送达,但因为某种原因R1并没有响应这个报文。

但是 R1 没有到20.1.1.1这个网段的路由,所以遇到超出其“IP范围”的报文它无法做出响应,就像PC如果没有配置默认路由,当目标IP不是其自身网段时,PC机也是不做处理。我们查看下R1的路由表,确实没有到20.1.1.1的路由。

那为什么PC机在这种情况又可以处理呢,答案前面也说了,因为PC机配置了“默认网关”,当出现超出其能力的IP时PC机可以直接将包扔给网关,而网关上恰巧就有了到20.1.1.1的路由(直连的)。

所以现在我们给R1加个路由就可以了。

ip route-static 20.1.1.1 30 1.1.1.2

此时的R1路由表为:

PC 同样可以ping通

当然此时PC 2 ping PC 1 是不可到达,因为R2 没有过去的路。

配置R2

[Huawei]ip route-static 10.1.1.0 255.255.255.252 1.1.1.1

或者 [Huawei]ip route-static 10.1.1.0 30 1.1.1.1

或者 [Huawei]ip route-static 10.1.1.0 30 g0/0/0

R1 就无需配置了。在上面已经进行了相关配置,它知道怎么回来。

 

静态路由的负载分担

R2:

ip route-static 10.1.1.0 255.255.255.252 1.1.1.1
ip route-static 10.1.1.0 255.255.255.252 2.2.2.1
ip route-static 10.1.1.0 255.255.255.252 3.3.3.1

R1:

ip route-static 20.1.1.0 255.255.255.252 1.1.1.2
ip route-static 20.1.1.0 255.255.255.252 2.2.2.2
ip route-static 20.1.1.0 255.255.255.252 3.3.3.2

 

display ip routing-table

等价路由,实现负载分担

静态路由的路由备份

在R2 上配置到达R1 的10.1.1.0/30 网段的备份路由

R2:

ip route-static 10.1.1.0 255.255.255.252 1.1.1.1

ip route-static 10.1.1.0 255.255.255.252 2.2.2.1 preference 100

display ip routing-table

优选优先级高的

优先级高,主用路由,加入到路由表

优先级低,备用路由,不加入路由表

缺省路由

缺省路由是一种特殊的路由,可以通过静态路由配置,某些动态路由协议也可以生成缺省路由,如OSPF和IS-IS。
在路由表中,缺省路由以到网络0.0.0.0 (掩码为0.0.0.0)的形式出现。当路由器收到一个在路由表中匹配不到明确路由的数据包时,会将数据包转发给缺省路由指向的下一跳。

R2:

ip route-static 0.0.0.0 0.0.0.0 1.1.1.1

缺省路由也支持路由的负载分担与路由备份