路由概述(15)
背景:网段间通信

- IP地址唯一标识了网络中的一个节点,每个IP地址都拥有自己的网段,各个网段可能分布在网络的不同区域。
- 为实现IP寻址,分布在不同区域的网段之间要能够相互通信。
路由
- 路由是指导报文转发的路径信息,通过路由可以确认转发IP报文的路径。(存储路由信息)
- 路由设备是依据路由转发报文到目的网段的网络设备,最常见的路由设备:路由器。(基于路由信息将报文转发到对应的网络设备)
- 路由设备维护着一张路由表,保存着路由信息。

路由信息介绍
- 路由中包含以下信息:
- 目的网络:标识目的网段
- 掩码:与目的地址共同标识一个网段
- 出接口:数据包被路由后离开本路由器的接口
- 下一跳:路由器转发到达目的网段的数据包所使用的下一跳地址
- 这些信息标识了目的网段、明确了转发IP报文的路径。

路由表
- 路由器通过各种方式发现路由
- 路由器选择最优的路由条目放入路由表中
- 路由表指导设备对IP报文的转发
- 路由器通过对路由表的管理实现对路径信息的管理

路由信息获取方式
- 路由器依据路由表进行路由转发,为实现路由转发,路由器需要发现路由,以下为常见的路由获取方式。

直连路由(1)
- 直连路由指向本地直连网络的路由,由设备自动生成。
- 当路由器为路由转发的最后一跳路由器时,IP报文匹配直连路由,路由器转发IP报文到目的主机。
- 使用直连路由进行路由转发时,报文的目的IP和路由器接口IP在一个网段之中。

直连路由(2)
- 并不是所有接口生成的直连路由都会出现在路由表中,直连路由出现在路由表中的前提是该接口的物理状态、协议状态都为UP。

查看IP路由表

路由表中各个内容的含义
- Destination/Mask:表示此路由的目的网络地址与网络掩码。将目的地址和子网掩码“逻辑与”后可得到目的主机或路由器所在网段的地址。例如:目的地址为1.1.1.1,掩码为255.255.255.0的主机或路由器所在网段的地址为1.1.1.0。
- Proto(Protocol):该路由的协议类型,也即路由器是通过什么协议获知该路由的。
- Pre(Preference):表示此路由的路由协议优先级。针对同一目的地,可能存在不同下一跳、出接口等多条路由,这些不同的路由可能是由不同的路由协议发现的,也可以是手工配置的静态路由。优先级最高(数值最小)者将成为当前的最优路由。
- Cost:路由开销。当到达同一目的地的多条路由具有相同的路由优先级时,路由开销最小的将成为当前的最优路由。
- NextHop:表示对于本路由器而言,到达该路由指向的目的网络的下一跳地址。该字段指明了数据转发的下一个设备。
- Interface:表示此路由的出接口。指明数据将从本路由器的哪个接口转发出去。
路由优先级 - 基本概念
- 当路由器从多种不同的途径获知到达同一个目的网段的路由(这些路由的目的网络地址及网络掩码均相同)时,路由器会比较这些路由的优先级,优选优先级值最小的路由。
- 路由来源的优先级值(Preference)越小代表加入路由表的优先级越高。
- 拥有最高优先级的路由将被添加进路由表。

路由优先级 - 比较过程
- RTA通过动态路由协议OSPF和手动配置的方式都发现了到达10.0.0.0/30的路由,此时会比较这两条路由的优先级,优选优先级值最小的路由。
- 每一种路由协议都有相应的优先级。
- OSPF拥有更优的优先级,因此通过OSPF学习到的路由被添加到路由表中。

路由优先级 - 常见默认数值
路由来源 | 路由类型 | 默认优先级 |
---|
直连 | 直连路由 | 0 |
静态 | 静态路由 | 60 |
动态路由 | OSPF内部路由 | 10 |
动态路由 | OSPF外部路由 | 150 |
ensp实际演示
- 使用
dis ip routing-table 192.168.1.0 verbose
查看本条路由的详细信息。
[R1]dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 11 Routes : 11
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.1.12.0/24 Direct 0 0 D 10.1.12.1 GigabitEthernet
0/0/0
10.1.12.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
10.1.12.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
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
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
192.168.0.0/24 Direct 0 0 D 192.168.0.1 GigabitEthernet
0/0/1
192.168.0.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
192.168.0.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
192.168.1.0/24 OSPF 10 2 D 10.1.12.2 GigabitEthernet
0/0/0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
[R1]dis ip routing-table 192.168.1.0 verbose
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 2
Destination: 192.168.1.0/24
Protocol: OSPF Process ID: 1
Preference: 10 Cost: 2
NextHop: 10.1.12.2 Neighbour: 0.0.0.0
State: Active Adv Age: 00h03m53s
Tag: 0 Priority: low
Label: NULL QoSInfo: 0x0
IndirectID: 0x0
RelayNextHop: 0.0.0.0 Interface: GigabitEthernet0/0/0
TunnelID: 0x0 Flags: D
Destination: 192.168.1.0/24
Protocol: Static Process ID: 0
Preference: 60 Cost: 0
NextHop: 10.1.12.2 Neighbour: 0.0.0.0
State: Inactive Adv Relied Age: 00h05m37s
Tag: 0 Priority: medium
Label: NULL QoSInfo: 0x0
IndirectID: 0x80000001
RelayNextHop: 0.0.0.0 Interface: GigabitEthernet0/0/0
TunnelID: 0x0 Flags: R
- 由于OSPF优先级高于静态路由因此路由表中此条路由只能看到OSPF。
度量值 - 基本概念
- 当路由器通过某种路由协议发现了多条到达同一个目的网络的路由时(拥有相同的路由优先级),度量值将作为路由优选的依据之一。
- 路由度量值表示到达这条路由所指目的地址的代价。
- 一些常用的度量值有:跳数、带宽、时延、代价、负载、可靠性等。
- 度量值数值越小越优先,度量值最小路由将会被添加到路由表中。
- 度量值很多时候被称为开销(Cost)。

度量值 - 比较过程

- RTA通过动态路由协议OSPF学习到了两条目的地为10.0.0.0/30的路由,学习自同一路由协议、优先级相同,因此需要继续比较度量值。
- 两条路由拥有不同的度量值,下一跳为30.1.1.2的OSPF的路由条目拥有更小的度量值,因此被加入到路由表中。
最长匹配原则
- 当路由器收到一个IP数据包时,会将数据包的目的IP地址与自己本地路由表中的所有路由表项进行逐位(Bit-By-Bit)比对,直到找到匹配度最长的条目,这就是最长前缀匹配机制。(最长掩码匹配机制)

最长匹配示例(1)
- 根据最长匹配原则进行匹配,能够匹配192.168.2.2的路由存在两条,但是路由的掩码长度中,一个为16 bit,另一个为24 bit,掩码长度为24 bit的路由满足最长匹配原则,因此被选择来指导发往192.168.2.2的报文转发。

最长匹配示例(2)
- 根据最长匹配原则匹配,能够匹配到192.168.3.2的路由只有一条,此路由为最终转发依据。

路由转发流程

IP路由表小结
- 当路由器从多种不同的途径获知到达同一个目的网段的路由(这些路由的目的网络地址及网络掩码均相同)时,会选择路由优先级值最小的路由;如果这些路由学习自相同的路由协议,则优选度量值最优的。总之,最优的路由加入路由表。
- 当路由器收到一个数据包时,会在自己的路由表中查询数据包的目的IP地址。如果能够找到匹配的路由表项,则依据表项所指示的出接口及下一跳来转发数据;如果没有匹配的表项,则丢弃该数据包。
- 路由器的行为是逐跳的,数据包从源到目的地沿路径每个路由器都必须有关于目标网段的路由,否则就会造成丢包。
- 数据通信往往是双向的,因此要关注流量的往返(往返路由)。
静态路由(16)
静态路由应用场景
- 静态路由由网络管理员手动配置,配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型网络。
- 缺点是不能自动适应网络拓扑的变化,需要人工干预。
- RTA上转发目的地址属于20.1.1.0/24的报文,在只有直连路由的情况下没有路由匹配。此时可以通过手动配置静态路由,使RTA发送前往20.1.1.0/24网段的报文交给下一跳10.0.0.2转发。

静态路由配置
- 关联下一跳IP的方式
[Huawei] ip route-static ip-address { mask | mask-length } nexthop-address
- 关联出接口的方式
[Huawei] ip route-static ip-address { mask | mask-length } interface-type interface-number
- 关联出接口和下一跳IP方式
[Huawei] ip route-static ip-address { mask | mask-length } interface-type interface-number [ nexthop-address ]
在创建静态路由时,可以同时指定出接口和下一跳。对于不同的出接口类型,也可以只指定出接口或只指定下一跳。
- 对于点到点接口(如串口),必须指定出接口。
- 对于广播接口(如以太网接口)和VT(Virtual-template)接口,必须指定下一跳。
配置举例

- RTA与RTC上配置静态路由,实现10.0.0.0/24与20.1.1.0/24的互通。
- 因为报文是逐跳转发的,所以每一跳路由设备上都需要配置到达相应目的地址的路由。
- 另外需要注意通信是双向的,针对通信过程中的往返流量,都需关注途径设备上的路由配置。
RTA的配置如下:
[RTA] ip route-static 20.1.1.0 255.255.255.0 10.0.0.2
RTC的配置如下:
[RTC] ip route-static 10.0.0.0 255.255.255.0 S1/0/0
缺省路由
- 缺省路由是一种特殊的路由,当报文没有在路由表中找到匹配的具体路由表项时才使用的路由。如果报文的目的地址不能与路由表的任何目的地址相匹配,那么该报文将选取缺省路由进行转发。
- 缺省路由在路由表中的形式为0.0.0.0/0,缺省路由也被叫做默认路由。

缺省路由应用场景
- 缺省路由一般用于企业网络出口,配置一条缺省路由让出口设备能够转发发前往Internet上任意地址的IP报文。

动态路由(17)
动态路由概述

- 当网络规模越来越大时,使用手动配置静态路由的方式获取路由条目将变得越发复杂,同时在拓扑发生变化时不能及时、灵活响应。

- 动态路由协议能够自动发现和生成路由,并在拓扑变化时及时更新路由,可以有效减少管理人员工作量,更适用于大规模网络。
动态路由分类

路由高级分类(18)
路由递归(1)
- 路由必须有直连的下一跳才能够指导转发,但是路由生成时下一跳可能不是直连的,因此需要计算出一个直连的下一跳和对应的出接口,这个过程就叫做路由递归。
- 路由递归也被称为路由迭代。

路由递归(2)

等价路由(1)
- 路由表中存在等价路由之后,前往该目的网段的IP报文路由器会通过所有有效的接口、下一跳转发,这种转发行为被称为负载分担。

浮动路由 - 基本概念
- 静态路由支持配置时手动指定优先级,可通过配置目的地址/掩码相同、优先级不同、下一跳不同的静态路由,实现转发路径的备份。
- 浮动路由是主用路由的备份,保证链路故障时提供备份路由。主用路由下一跳可达时该备份路由不会出现在路由表。

浮动路由 - 示例

路由汇总简介
- 路由汇总将一组具有相同前缀的路由汇聚成一条路由,从而达到减小路由表规模以及优化设备资源利用率的目的。
- 路由汇总采用了 CIDR 的思想:将相同前缀的地址聚合成一个。
- 我们把汇聚之前的这组路由称为精细路由或明细路由,把汇聚之后的这条路由称为汇总路由或聚合路由。

汇总计算
- 基于一系列连续的、有规律的 IP 网段,如需计算相应汇总路由且确保刚好“囊括”这些网段,需保证汇总路由掩码长度尽可能长。
- 诀窍:把明细路由的目的网络地址转成二进制,排列后找出所有地址中“相同的比特位” 。

汇总引发的问题(1)<路由环路>

汇总引发的问题(2)<路由环路 - 解决方案>

精确汇总

精确汇总(2)

OSPF协议概述(19)
为什么需要动态路由协议?
- 静态路由是由工程师手动配置和维护的路由条目,命令行简单明确,适用于小型或稳定的网络。
静态路由有以下问题:
- 无法适应规模较大的网络:随着设备数量增加,配置量急剧增加。
- 无法动态响应网络变化:网络发生变化,无法自动收敛网络,需要工程师手动修改。

动态路由协议分类(工作区域)

距离矢量路由协议
- 运行距离矢量路由协议的路由器周期性的泛洪自己的路由表。通过路由的交互,每台路由器都从相邻的路由器学习到路由,并且加载进自己的路由表中。
- 对于网络中的所有路由器而言,路由器并不清楚网络的拓扑,只是简单的知道要去往某个目的方向在哪里,距离有多远。这即是距离矢量算法的本质。

链路状态路由协议
链路状态路由协议 - LSA泛洪
- 与距离矢量路由协议不同,链路状态路由协议通告的的是链路状态而不是路由表。运行链路状态路由协议的路由器之间首先会建立一个协议的邻居关系,然后彼此之间开始交互LSA(Link State Advertisement,链路状态通告)。

链路状态路由协议 - LSDB组建
- 每台路由器都会产生LSAs,路由器将接收到的LSAs放入自己的LSDB(Link State DataBase,链路状态数据库)。路由器通过LSDB,掌握了全网的拓扑。

链路状态路由协议 - SPF计算
- 每台路由器基于LSDB,使用SPF(Shortest Path First,最短路径优先)算法进行计算。每台路由器都计算出一棵以自己为根的、无环的、拥有最短路径的“树”。有了这棵“树”,路由器就已经知道了到达网络各个角落的优选路径。

链路状态路由协议 - 路由表生成
- 最后,路由器将计算出来的优选路径,加载进自己的路由表(Routing Table)。

链路状态路由协议总结

OSPF简介
- OSPF是典型的链路状态路由协议,是目前业内使用非常广泛的IGP协议之一。
- 目前针对IPv4协议使用的是OSPF Version 2(RFC2328);针对IPv6协议使用OSPF Version 3(RFC2740)。如无特殊说明本章后续所指的OSPF均为OSPF Version 2。
- 运行OSPF路由器之间交互的是LS(Link State,链路状态)信息,而不是直接交互路由。LS信息是OSPF能够正常进行拓扑及路由计算的关键信息。
- OSPF路由器将网络中的LS信息收集起来,存储在LSDB中。路由器都清楚区域内的网络拓扑结构,这有助于路由器计算无环路径。
- 每台OSPF路由器都采用SPF算法计算达到目的地的最短路径。路由器依据这些路径形成路由加载到路由表中。
- OSPF支持VLSM(Variable Length Subnet Mask,可变长子网掩码),支持手工路由汇总。
- 多区域的设计使得OSPF能够支持更大规模的网络。
OSPF在园区网络中的应用

OSPF基础术语:区域
- OSPF Area用于标识一个OSPF的区域。
- 区域是从逻辑上将设备划分为不同的组,每个组用区域号(Area ID <32位二进制数>)来标识。
- area0 为骨干区域,其余为非骨干区域。

OSPF基础术语:Router-ID
- Router-ID(Router Identifier <32位二进制数>,路由器标识符),用于在一个OSPF域中唯一地标识一台路由器。
- Router-ID的设定可以通过手工配置的方式,或使用系统自动配置的方式。
如果设备有环回IP,则选择环回IP (127.0.0.1)作为IP最大值当做Router-ID,如果没有环回ID则选择设备物理端口最大的IP当做Router-ID。

OSPF的基础术语:度量值 Cost
- OSPF使用Cost(开销)作为路由的度量值。每一个激活了OSPF的接口都会维护一个接口Cost值,缺省时接口Cost值=接口带宽100 Mbit/s。其中100 Mbit/s为OSPF指定的缺省参考值,该值是可配置的。
- 笼统地说,一条OSPF路由的Cost值可以理解为是从目的网段到本路由器沿途所有入接口的Cost值累加。

OSPF报文类型
- OSPF协议有五种类型的报文,各自在路由器交互中承担不同作用,具体如下:
报文名称 | 报文功能 |
---|
Hello | 周期性发送,用于发现和维护OSPF邻居关系。 |
Database Description(DD) | 描述本地链路状态数据库(LSDB)的摘要信息,供两台设备进行数据库同步。 |
Link State Request(LSR) | 向对方请求所需的链路状态通告(LSA),且仅在OSPF邻居双方成功交换DD报文后才会发送。 |
Link State Update(LSU) | 向对方发送其所需的LSA。 |
Link State ACK(LSAck) | 对收到的LSA进行确认。 |
OSPF三大表项 - 邻居表
- OSPF有三张重要的表项,OSPF邻居表、LSDB表和OSPF路由表。对于OSPF的邻居表,需要了解:
- OSPF在传递链路状态信息之前,需先建立OSPF邻居关系。
- OSPF的邻居关系通过交互Hello报文建立。
- OSPF邻居表显示了OSPF路由器之间的邻居状态,使用display ospf peer查看。

OSPF三大表项 - LSDB表
- 关于OSPF的LSDB表,需要知道这些:
- LSDB会保存自身产生的以及从邻居处收到的LSA(链路状态通告)信息,比如例子里R1的LSDB包含三条LSA。
- “Type”标识LSA的类型,“AdvRouter”标识发送LSA的路由器。
- 可用命令
display ospf lsdb
查看LSDB表。

OSPF三大表项 - OSPF路由表
- 关于OSPF路由表,需要了解这些:
- OSPF路由表和路由器的整体路由表是两张不同的表。比如例子里,OSPF路由表包含三条路由。
- OSPF路由表包含目的网络(Destination)、开销(Cost)、下一跳(NextHop)等指导数据转发的信息。
- 可以用
display ospf routing
命令查看OSPF路由表。

OSPF协议工作原理(20)
OSPF路由器之间的关系
- 关于OSPF路由器之间的关系有两个重要的概念,邻居关系和邻接关系。
- 考虑一种简单的拓扑,两台路由器直连。在双方互联接口上激活OSPF,路由器开始发送及侦听Hello报文。在通过Hello报文发现彼此后,这两台路由器便形成了邻居关系。
- 邻居关系的建立只是一个开始,后续会进行一系列的报文交互,例如前文提到的DD、LSR、LSU和LS ACK等。当两台路由器LSDB同步完成,并开始独立计算路由时,这两台路由器形成了邻接关系。
初识OSPF邻接关系建立过程
- OSPF完成邻接关系的建立有四个步骤,建立邻居关系、协商主/从、交互LSDB信息,同步LSDB。

OSPF 邻接关系建立流程 - 1

OSPF 邻接关系建立流程 - 2&3

DD报文丢失会有5S重传机制。
OSPF 邻接关系建立流程 - 4

OSPF邻居表回顾

OSPF网络类型简介
- 在学习DR和BDR的概念之前,需要首先了解OSPF的网络类型。
- OSPF网络类型是一个非常重要的接口变量,这个变量将影响OSPF在接口上的操作,例如采用什么方式发送OSPF协议报文,以及是否需要选举DR、BDR等。
- 接口默认的OSPF网络类型取决于接口所使用的数据链路层封装。
- 如图所示,OSPF的有四种网络类型,Broadcast、NBMA、P2MP和P2P。

OSPF网络类型(1)
- 一般情况下,链路两端的OSPF接口网络类型必须一致,否则双方无法建立邻居关系。
- OSPF网络类型可以在接口下通过命令手动修改以适应不同网络场景,例如可以将BMA网络类型修改为P2P。

OSPF网络类型(2)

DR与BDR的背景
- MA(Multi - Access)多路访问网络有两种类型:广播型多路访问网络(BMA)及非广播型多路访问网络(NBMA)。以太网(Ethernet)是一种典型的广播型多路访问网络。
- 在MA网络中,如果每台OSPF路由器都与其他的所有路由器建立OSPF邻接关系,便会导致网络中存在过多的OSPF邻接关系,增加设备负担,也增加了网络中泛洪的OSPF报文数量。
- 当拓扑出现变更,网络中的LSA泛洪可能会造成带宽的浪费和设备资源的损耗。

DR与BDR
- 为优化MA网络中OSPF邻接关系,OSPF指定了三种OSPF路由器身份,DR(Designated Router,指定路由器)、BDR(Backup Designated Router,备用指定路由器)和DRother路由器。
- 只允许DR、BDR与其他OSPF路由器建立邻接关系。DRother之间不会建立全毗邻的OSPF邻接关系,双方停滞在2 - way状态。
- BDR会监控DR的状态,并在当前DR发生故障时接替其角色。

- 选举规则:OSPF DR优先级更高的接口成为该MA的DR,如果优先级相等(默认为1),则具有更高的OSPF Router - ID的路由器(的接口)被选举成DR,并且DR具有非抢占性。
OSPF域与单区域
- OSPF域(Domain):一系列使用相同策略的连续OSPF网络设备所构成的网络。
- OSPF路由器在同一个区域(Area)内网络中泛洪LSA。为了确保每台路由器都拥有对网络拓扑的一致认知,LSDB需要在区域内进行同步。
- 如果OSPF域仅有一个区域,随着网络规模越来越大,OSPF路由器的数量越来越多,这将导致诸多问题:
- LSDB越来越庞大,同时导致OSPF路由表规模增加。路由器资源消耗多,设备性能下降,影响数据转发。
- 基于庞大的LSDB进行路由计算变得困难。
- 当网络拓扑变更时,LSA全域泛洪和全网SPF重计算带来巨大负担。

OSPF多区域
- OSPF引入区域(Area)的概念,将一个OSPF域划分成多个区域,可以使OSPF支撑更大规模组网。
- OSPF多区域的设计减小了LSA泛洪的范围,有效的把拓扑变化的影响控制在区域内,达到网络优化的目的。
- 在区域边界可以做路由汇总,减小了路由表规模。
- 多区域提高了网络扩展性,有利于组建大规模的网络。

area 0 为骨干区域,所有非骨干区域(area1、area2)必须和骨干区域直连
OSPF路由器类型
- OSPF路由器根据其位置或功能不同,有这样几种类型:
- 区域内路由器(Internal Router)
- 区域边界路由器ABR(Area Border Router)
- 骨干路由器(Backbone Router)
- 自治系统边界路由器ASBR(AS Boundary Router)

OSPF单区域&多区域典型组网

OSPF协议典型配置(21)
OSPF基础配置命令
OSPF基础配置命令(1)
- (系统视图)创建并运行OSPF进程
[Huawei] ospf [ process - id | router - id router - id ]
process - id
用于标识OSPF进程,默认进程号为1。OSPF支持多进程,在同一台设备上可以运行多个不同的OSPF进程,它们之间互不影响,彼此独立。router - id
用于手工指定设备的ID号。如果没有通过命令指定ID号,系统会从当前接口的IP地址中自动选取一个作为设备的ID号。
- (OSPF视图)创建并进入OSPF区域
[Huawei] area area - id
area
命令用来创建OSPF区域,并进入OSPF区域视图。
area - id
可以是十进制整数或点分十进制格式。采取整数形式时,取值范围是0~4294967295。
- (OSPF区域视图)指定运行OSPF的接口
[Huawei - ospf - 1 - area - 0.0.0.0] network network - address wildcard - mask
network
命令用来指定运行OSPF协议的接口和接口所属的区域。network - address
为接口所在的网段地址。
wildcard - mask
为IP地址的反码,相当于将IP地址的掩码反转(0变1,1变0),例如0.0.0.255表示掩码长度24 bit。
OSPF基础配置命令(2)
- (接口视图)配置OSPF接口开销
[Huawei-GE1/0/1] ospf cost cost
ospf cost
命令用来配置接口上运行OSPF协议所需的开销。缺省情况下,OSPF会根据该接口的带宽自动计算其开销值,cost
取值范围是1~65535。
- (OSPF视图)设置OSPF带宽参考值
[Huawei-ospf-1] bandwidth-reference value
bandwidth-reference
命令用来设置通过公式计算接口开销所依据的带宽参考值。value
取值范围是1~2147483648,单位是Mbit/s,缺省值是100Mbit/s。
- (接口视图)设置接口在选举DR时的优先级
[Huawei-GigabitEthernet0/0/0] ospf dr-priority priority
ospf dr-priority
命令用来设置接口在选举DR时的优先级。priority
值越大,优先级越高,取值范围是0~255。
- 优先级为0不参与 DR(指定路由器)和 BDR(备份指定路由器)的选举。
OSPF配置案例
案例描述:
- 有三台路由器R1、R2和R3,其中R1和R3分别连接网络1.1.1.1/32和3.3.3.3/32(LoopBack 0模拟),现需要使用OSPF实现这两个网络的互通。具体拓扑如下:

- 配置过程分为三个步骤:配置设备接口、配置OSPF和验证结果。
OSPF配置案例 - 配置接口

#配置R1的接口
[R1] interface LoopBack 0
[R1-LoopBack0] ip address 1.1.1.1 32
[R1-LoopBack0] interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0] ip address 10.1.12.1 30
#配置R3的接口
[R3] interface LoopBack 0
[R3-LoopBack0] ip address 3.3.3.3 32
[R3-LoopBack0] interface GigabitEthernet 0/0/1
[R3-GigabitEthernet0/0/1] ip address 10.1.23.2 30
- R2配置GE0/0/0和GE0/0/1接口IP地址,详细配置参见:
#配置R2的接口
[R2] interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0] ip address 10.1.12.2 30
[R2-GigabitEthernet0/0/0] interface GigabitEthernet 0/0/1
[R2-GigabitEthernet0/0/1] ip address 10.1.23.1 30
配置完成后可以在自己对端设备进行ping测,确保IP和通信正确。
OSPF配置案例 - 配置OSPF(1)

- OSPF参数规划:OSPF进程号为1。R1、R2和R3的Router ID分别为1.1.1.1、2.2.2.2和3.3.3.3。
- 配置步骤:
- 创建并运行OSPF进程
- 创建并进入OSPF区域
- 指定运行OSPF的接口
#配置R1 OSPF协议
[R1] ospf 1 router-id 1.1.1.1
[R1-ospf-1] area 0
[R1-ospf-1-area-0.0.0.0] network 1.1.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0] network 10.1.12.0 0.0.0.3
(注意反掩码)
OSPF配置案例 - 配置OSPF(2)

- OSPF多区域的配置请注意在指定区域下通知相应的网段。
#配置R2 OSPF协议
[R2] ospf 1 router-id 2.2.2.2
[R2-ospf-1] area 0
[R2-ospf-1-area-0.0.0.0] network 10.1.12.0 0.0.0.3
[R2-ospf-1-area-0.0.0.0] area 1
[R2-ospf-1-area-0.0.0.1] network 10.1.23.0 0.0.0.3
#配置R3 OSPF协议
[R3] ospf 1 router-id 3.3.3.3
[R3-ospf-1] area 1
[R3-ospf-1-area-0.0.0.1] network 3.3.3.3 0.0.0.0
[R3-ospf-1-area-0.0.0.1] network 10.1.23.0 0.0.0.3
OSPF配置案例 - 结果验证(1)

OSPF配置案例 - 结果验证(2)

思考题
-
(多选)在建立OSPF邻居和邻接关系的过程中,稳定的状态是(B D)
A. Exstart
B. Two - way
C. Exchange
D. Full
-
(多选)以下哪种情况下路由器之间会建立邻接关系(A B D)
A. 点到点链路上的两台路由器
B. 广播型网络中的DR和BDR
C. NBMA网络中的DRother和DRother
D. 广播型网络中的BDR和DRother
本章总结
- OSPF是现网中使用广泛的路由协议之一,本章节帮助您初步了解OSPF的基本概念、应用场景和基础配置。
- Router ID、区域、OSPF邻居表、LSDB表和OSPF路由表是OSPF的基本概念。能够阐述OSPF的邻居和邻接关系建立过程,可以帮助您更好的理解链路状态路由协议。
- OSPF有更多有趣的细节,例如LSA的类型、SPF的计算过程和OSPF的特殊区域等。如果您对更多的OSPF知识感兴趣,请继续学习华为HCIP - DataCom认证。