1、OSPF协议概述
OSPF的市场占有率非常大,所有的项目都有。
ISIS,在运营商的网路里会有ISIS和OSFP同用的情况。
1.1、路由领域学习三大坎:
OSPF ---> IS-IS
BGP
MPLS VPN ---> vxlan, evpn, sr, srv6
1.2、为什么需要动态路由协议?
- 无法使用规模较大的网络;
- 无法动态响应网络变化。
1.3、什么是路由协议?
路由器之间共同遵循的一种工作机制,用于实现网络互联互通。
路由器 |
A |
B |
C | |
协议 |
RIP |
OSPF |
IS-IS |
×不通! |
2、动态路由范围的分类
2.1、按工作区域分类:
可控的工作区域内和不可控的工作区域之间。
IGP(Interior Gateway Protocols,内部网关协议):
RIP | OSPF | IS-IS
一般来实现企业内部控制。
EGP(Exterior Gateway Protocols,外部网关协议):
BGP
一般实现企业与外部企业之间互联互通。
2.2、按工作机制及算法分类:
DV(Distance Vector Routing Protocols,距离矢量路由协议)(RIP,已过时不考):
RIP过时的原因,举例:
跳数限制:0-15,16跳就无法实现。
收敛时间过慢:30s,
收敛:R1→R2(每30秒报告一次,太慢了)
选择机制:优选跳数少的,忽略了连接速度
下例中看起来R1仅用一跳就到了R4,但R1选的路带宽速率只有5M,而从R3到R4的线路带宽有1000M。
R1 → R2 →
↓ R4
R3 → R5 →
(Link-State Routing Protocols,链路状态路由协议):
OSPF | IS-IS
3、链路状态路由协议
3.1、OSPF的工作框架
3.1.1、LSA:Link State Advertisement,即链路状态通告。
- 每台路由器都产生一个描述自己直连接口状态(包括接口的开销、与邻居路由器之间的关系等)的通告。
3.1.2、LSDB:Link State DataBase,链路状态数据库。
- 路由器将LSA存放在LSDB中。
- LSDB汇总了网络中路由器对于自己接口的描述。
- LSDB包含全网拓扑的描述。
- 路由器通过LSDB掌握了全网的拓扑。
3.1.3、SPF:Shortest Path First,最短路径优先。
- SPF是OSPF路由协议的一个核心算法,用来在一个复杂的网络中做出路由优选的决策。
- 每台路由器基于LSDB,使用SPF算法进行计算。
- 每台路由器都计算出一棵以自己为根的、无环的、拥有最短路径的“树”。
- 有了这棵“树”,路由器就已经知道了到达网络各个角落的优选路径。
3.1.4、路由表生成:
- 最后,路由器将计算出来的优选路径,加载进自己的路由表(Routing Table)。
3.2、OSPF简介
- OSPF是典型的链路状态路由协议,是目前业内使用非常广泛的IGP协议之一(园区网全在用)。
- 目前针对IPv4协议使用的是OSPF Version 2(RFC2328);针对IPv6协议使用OSPF Version 3(RFC2740)。
- 运行OSPF路由器之间交互的是LS(Link State,链路状态)信息,而不是直接交互路由。LSA信息是OSPF能够正常进行拓扑及路由计算的关键信息。
- OSPF路由器将网络中的LSA信息收集起来,存储在LSDB中。路由器都清楚区域内的网络拓扑结构,这有助于路由器计算无环路径。
- 每台OSPF路由器都采用SPF算法计算达到目的地的最短路径。路由器依据这些路径形成路由加载到路由表中。
- OSPF支持VLSM(Variable Length Su bnet Mask,可变长子网掩码),支持手工路由汇总。
- 多区域的设计使得OSPF能够支持更大规模的网络。
3.3、OSPF在园区网中的应用
3层网络实现网络设计。
3.4、OSPF的基础术语
3.4.1、区域
OSPF通过区域将网络分为2层结构:
第一层、骨干区域
第二层、非骨干区域
1、骨干区域成为area 0,其他区域都被称为非骨干区域。
2、area 0有且只有一个,必须连续。
3、非骨干区域必须和骨干区域直接相连。
例:OSPF经典呈现,只有1个骨干网,其他都是直连非骨干。只有两层,不能继续向下分层,不然三层后通不了。
4、区域的边界在路由器上,划分区域就是将路由器的接口进行区域的划分。
由所有OSPF网络组成的网络就是OSPF域。
3.4.2、Router-ID
Router ID是什么:
Router-ID用于在OSPF域中唯一地标识一台路由器,当Router-ID相同时,一定会发生冲突。(每一台路由器都必须要有Router-ID)
Router ID 格式:
采用点分十进制,长度32bit,1.1.1.1,2.2.2.2。看起来和IP地址的格式一致,但通常它没有IP地址的意义。
Router ID 的配置:
1、手动配置优先级高于自动配置。
2、华为设备出厂有个全局的Router-ID,默认值为0.0.0.0。
3、当设备配置第一个IP地址后,会自动成为全局Router-ID。
4、也可以人为配置全局Router-ID,配置后人为配置的Router-ID优先使用。
- 注意!当你reset ospf后,自己的配的Router-ID才会生效。(会导致网络中断!)
OSPF Router ID:
如管理员没有手动配置,则默认使用全局Router-ID作为OSPF协议的Router-ID。
如果管理员手动配置了OSPF router ID,则优先使用手动配置的。
Router ID 的项目建议:
建议使用路由器的loopback接口的地址,作为ospf的Router ID。
为什么要用loopback接口?
这是由管理员根据实际需要创建的逻辑路由接口,只要路由器正常开机运行,这个接口就:
1、不会存在物理故障,稳定性好。
2、可以作为网络测试接口。
3、设备的带内网管地址。
所以通常作为OSPF Router ID的选择接口。
使用设备上的LoopBack接口地址作为Router-ID,并且人为配置该接口地址为OSPF Router-ID。
如果设备没有LoopBack接口,则人为规划并进行配置,保证其OSPF域内唯一即可。
3.4.3、度量值
- OSPF使用Cost(开销)作为路由的度量值。每一个激活了OSPF的接口都会维护一个接口Cost值,缺省时接口Cost值 = "100 Mbit/s " /"接口带宽" (取值为正整数,取整数位,例:100/1000=0.1,开销则为1。3.9999,开销则为3)。其中100Mbit/s为OSPF指定的缺省参考值,该值是可配置的。#如果是千兆网,则可调整为1000Mbit/s
- 笼统地说,一条OSPF路由的Cost值可以理解为是从目的网段到本路由器沿途所有入接口的Cost值累加。
Cost值的计算过程:
1、上例中,R3要到达1.1.1.0/24,路由从左到右传递;
2、假设上例中的COST分别为R1=100、R2=200、R3=10,当R3与一新增网段ABC:10.1.12.0/24相连,若ABC要到达1.1.1.0/24,其累计COST值=R1+R2+R3=310。
Cost值算法:
已知算法为:100Mbit/s除以接口带宽。(参考带宽 / 接口带宽)
则:在接口带宽比100Mbit/s大时(如千兆网),cost值 100/1000=0.1永远是1。怎么办?
我们可以修改缺省的最小单位“100Mbit”,将它修改为比接口带宽大,就可以实现修改OSPF的cost值的操作。
例:
100Mbit/s / 1000兆宽带=0.1 #cost值为1,取正整数
修改100Mbit/s为5000Mbit/s:
5000Mbit /1000兆宽带=5 #cost值为5
因为OSPF选开销最小的路径优先,所以要调整路由线路时需要修改开销值。
OSPF网络开销=所经过链路出接口 cost+目的网络链路出接口cost。
有可能导致报文去与回的开销不一致,所以:
办法1:全网要保持一致的参考带宽。
办法2:管理员直接调整。
Cost值的修改法:
办法1,修改参考带宽:
修改默认参考计算的带宽值的方式。
1、进入OSPF试图
2、bandwidth-reference + 想要修改的带宽值(1-2147483648 Mbits/s)
例:修改带宽值为5000Mbit/s
bandwidth-reference 5000 #Mbits/s
如修改为5000,接入千兆接口,则Cost=5000/1000=5。
办法2,调整接口OSPF开销值:
1、进入需要修改的物理网口(数据将通过的路由接口);
2、修改OSPF开销值。
例:修改0/0/0口的开销值为1000
Int gi 0/0/0
Ospf cost 1000
Display this
接口配置OSPF cost值 优于 公式计算开销值。用第二种ospf开销修改方式后会优先使用第二种方式修改的开销值。
3.4.4、OSPF协议报文类型
OSPF有五种类型的协议报文。
Hello:建立邻居关系。
↓↓↓
Database Description:彼此交换摘要信息。
↓↓↓
Link State Request:交换DD报文后,发送LSR报文,向对方请求需要的LSA(Link status announcement),链路状态通告,用于向其它邻接OSPF路由器传递拓扑与路由信息。
↓↓↓
Link State Update:向对方发送其携带链路状态通告LSA。
↓↓↓
Link State ACK:向对方确认收到LSA。
报文名称 |
报文功能 |
Hello |
周期性发送,用来发现和维护OSPF邻居关系。 |
Database Description |
描述本地LSDB的摘要信息,用于两台设备进行数据库同步。 |
Link State Request |
用于向对方请求所需要的LSA。设备只有在OSPF邻居双方成功交换DD报文后才会向对方发出LSR报文。 |
Link State Update |
用于向对方发送其所需要的LSA。 |
Link State ACK |
用来对收到的LSA进行确认。 |
3.4.5、OSPF三大表项 - 邻居表
OSPF是怎么去发现和维护邻居的?就是靠邻居表来实现的。
OSPF有三张重要的表项,OSPF邻居表、LSDB表和OSPF路由表。对于OSPF的邻居表,需要了解:
- OSPF在传递链路状态信息之前,需先建立OSPF邻居关系。
- OSPF的邻居关系通过交互Hello报文建立。
- OSPF邻居表显示了OSPF路由器之间的邻居状态,使用display ospf peer查看。
Area:代表双方的区域
interface:我的接口
Router ID:邻居的Router ID
Address:邻居的IP地址
3.4.6、OSPF三大表项 - LSDB表
对于OSPF的LSDB表,需要了解:
- LSDB会保存自己产生的及从邻居收到的LSA信息,本例中R1的LSDB包含了三条LSA。
- Type标识LSA的类型,AdvRouter标识发送LSA的路由器。
- 使用命令行display ospf lsdb查看LSDB表。
如何唯一标识LSA:通过Type、LinkState ID、AdvRouter。
3.4.7、OSPF三大表项 - OSPF路由表
对于OSPF的路由表,需要了解:
OSPF路由表和路由器路由表是两张不同的表项。本例中OSPF路由表有三条路由。
OSPF路由表包含Destination、Cost和NextHop等指导转发的信息。
使用命令display ospf routing查看OSPF路由表。
4、OSPF协议工作原理
4.1、OSPF路由器之间的关系
关于OSPF路由器之间的关系有两个重要的概念,邻居关系和邻接关系。
邻居:处于two-way状态的邻居,邻居是知道彼此的信息,但不交流。
邻接:处于full状态的邻居,邻接可以理解成更深一层的邻居,是有交流的。
A --- B --- C:有共同的信息,但A和C并不是邻接关系。
我们代入一种简单的拓扑,由两台路由器彼此直连。在双方互联接口上激活OSPF后,路由器开始发送及侦听Hello报文。在通过Hello报文发现彼此后,这两台路由器便形成了邻居关系。
邻居关系的建立只是一个开始,后续会进行一系列的报文交互,例如前文提到的DD、LSR、LSU和LS ACK等。当两台路由器LSDB同步完成,并开始独立计算路由时,这两台路由器形成了邻接关系。
4.2、初识OSPF邻接关系建立过程
OSPF完成邻接关系的建立有四个步骤:
步骤1、建立邻居关系;
步骤2、协商主/从 Master/Slave;
步骤3、交互LSDB信息;
步骤4、同步LSDB。(4步完成后的关系即邻接)
4.3、OSPF邻接关系建立流程
- 第一步,发送Hello报文,进行三次握手,建立双向邻居关系:
- hello每隔10s周期性发送,如果在40s后没有收到邻居的hello包,则认为邻居失效
1、AR1启用OSPF后向外发包:
sip:10.1.12.1
dip:224.0.0.5 #代表链路上的所有ospf路由器
Pro:89 #ospf协议号
Router ID:1.1.1.1
nei:null
2、AR2收到后会初始化并回包:
Init #当一台OSPF路由器收到其他路由器发来的首个Hello报文时会从初始Down状态切换为Init状态。
sip:10.1.12.2
dip:224.0.0.5
Pro:89
Router ID:2.2.2.2
nei:1.1.1.1
3、AR1收到AR2的回包后判断并建立two-way:
Two-way #当OSPF路由器收到的Hello报文中的邻居字段包含自己的Router ID时,从Init切换2-way状态。
sip:10.1.12.1
dip:224.0.0.5
Pro:89
Router ID:1.1.1.1
nei:2.2.2.2
Ex-start #进入预启动状态
4、AR2收到AR1的回包后判断并建立two-way。
Two-way
Two-way需要双方通过才能建立,这种机制保证不存在单向邻居。
- 第二步,协商主从选举,交换摘要LSA:
主从是在两台路由器之间的选举,而不是整个OSPF域内的选举。
1、AR1与AR2建立邻居关系后由Two-way转为exstart状态,并向AR2发送DD报文,开始选举。
sip:10.1.12.1
dip:224.0.0.5
Pro:89
Dd #DD报文
Router ID:1.1.1.1 #比较Router ID,小的一方成为Slave
I = 1 #我第一次发的报文(I=1的DD报文就是做主从选举的)
More = 1 #我后续还要发DD报文
M = 1 #我是Master
#上述三者决定了是否为选举报文
Seq = X #随机序列号
Null #链路状态摘要为空,完全用来做主从选举
2、AR2收到AR1的DD报文后,回复。
sip:10.1.12.2
dip:224.0.0.5
Pro:89
Dd
Router ID:2.2.2.2 #比较Router ID,大的一方成为Master
I = 1
More = 1
M = 1 #我才是Master,双方竞选后根据条件才能确定Master和Slave
Seq = Y #随机序列号,与AR1的DD报文序列号没有关系。
Null
3、比较Router ID后,AR1邻居状态变为Exchange后,AR1发送一个新的DD报文(一定是由从路由器Slave先向主路由器Master发送DD报文),其中包含自己LSDB的描述信息,而序列号采用主设备R2的序列号。R2收到后邻居状态从Exstart转变为Exchange。
sip:10.1.12.1
dip:224.0.0.5
Pro:89
dd
Router ID:1.1.1.1
I = 0
More = 1 #如摘要发不完则1代表还有报文发需要发送,为0则是已发完
了,没有DD报文了。
M = Slave
Seq = Y #AR1作为Slave,采用Master的序列号。
LSA1 头部
LSA2 头部
LSA3 头部
4、AR2收到后邻居状态从Exstart转变为Exchange,R2向R1发送一个新的DD报文,包含自己LSDB的描述信息,序列号为Y+1(只有Master可以调整序列号)。
sip:10.1.12.2
dip:224.0.0.5
Pro:89
dd
Router ID:2.2.2.2
I = 0
More = 1
M = Master
Seq = Y+1 #AR2。
LSA1 头部
LSA4 头部
5、AR1作为从路由器需要对主路由AR2发送的每个DD报文进行确认,回复报文的序列号与主路由R2一致。
sip:10.1.12.1
dip:224.0.0.5
Pro:89
dd
Router ID:1.1.1.1
I = 0
More = 0
M = Slave
Seq = Y +1
null
6、AR2向AR1发送报文进行确认。
sip:10.1.12.2
dip:224.0.0.5
Pro:89
dd
Router ID:2.2.2.2
I = 0
More = 0
M = Master
Seq = Y +2
Null
7、发送完最后一个DD报文后,AR1将邻居状态切换为Loading。
sip:10.1.12.1
dip:224.0.0.5
Pro:89
dd
Router ID:1.1.1.1
I = 0
More = 0
M = Slave
Seq = Y +2
Null
- 第三步,交换LSDB,建立邻接关系FULL:
4.4、OSPF网络类型简介
在学习DR和BDR的概念之前,需要首先了解OSPF的网络类型。
OSPF网络类型是一个非常重要的接口变量,这个变量将影响OSPF在接口上的操作,例如采用什么方式发送OSPF协议报文,以及是否需要选举DR、BDR等。
接口默认的OSPF网络类型取决于接口所使用的数据链路层封装:
如图所示,OSPF的有四种网络类型:
4.4.1、Broadcast,BMA(Broadcast Multiple Access,广播式多路访问)
- BMA也被称为Broadcast,指的是一个允许多台设备接入的、支持广播的环境。
- 典型的例子是Ethernet(以太网)。当接口采用Ethernet封装时,OSPF在该接口上采用的缺省网络类型为BMA。
4.4.2、NBMA(Non-Broadcast Multiple Access,非广播式多路访问)
- NBMA指的是一个允许多台网络设备接入且不支持广播的环境。
- 典型的例子是帧中继(Frame-Relay)网络。
4.4.3、P2MP(Point to Multi-Point,点到多点)
- P2MP相当于将多条P2P链路的一端进行捆绑得到的网络。
- 没有一种链路层协议会被缺省的认为是P2MP网络类型。该类型必须由其他网络类型手动更改。
- 常用做法是将非全连通的NBMA改为点到多点的网络。
4.4.4、P2P(Point-to-Point,点对点)
P2P(Point-to-Point,点对点)
- P2P指的是在一段链路上只能连接两台网络设备的环境。
- 典型的例子是PPP链路。当接口采用PPP封装时,OSPF在该接口上采用的缺省网络类型为P2P 。
4.4.5、OSPF默认网络类型的确定:
1、接口如果是PPP、HDLC,则认为是p2p链路类型;
2、接口如果是eth、FDDI(已淘汰),则认为是bro(广播)链路类型;
3、接口如果是FR(帧中继,已淘汰)、ATM(已淘汰),则认为是NBMA(非广播多路访问);
4、没有任何一种链路层协议被认为是P2MP(点到多点),管理员手动配置的。
注意:一般情况下,链路两端的OSPF接口网络类型必须一致,否则双方无法建立邻居关系。
OSPF网络类型可以在接口下通过命令手动修改以适应不同网络场景,例如可以将BMA网络类型修改为P2P。
4.5、DR与BDR的背景
MA(Multi-Access)多路访问网络有两种类型:广播型多路访问网络(BMA)及非广播型多路访问网络(NBMA)。以太网(Ethernet)是一种典型的广播型多路访问网络。
在MA网络中,如果每台OSPF路由器都与其他的所有路由器建立OSPF邻接关系,便会导致网络中存在过多的OSPF邻接关系,增加设备负担,也增加了网络中泛洪的OSPF报文数量。
当拓扑出现变更,网络中的LSA泛洪可能会造成带宽的浪费和设备资源的损耗。
DR与BDR
为优化MA网络中OSPF邻接关系,OSPF指定了三种OSPF路由器身份:
1、DR(Designated Router,指定路由器);
2、BDR(Backup Designated Router,备用指定路由器);
3、DRother路由器。
只允许DR、BDR与其他OSPF路由器建立邻接关系。DRother之间不会建立全毗邻的OSPF邻接关系,双方停滞在2-way状态。
BDR会监控DR的状态,并在当前DR发生故障时接替其角色。
DR、BDR是路由器在某条链路上的角色(接口的状态),而不是路由器本身的角色。
比如 :
A ←→ B ←→ C
↑ ←→ D
B连接A的接口是BDR;
B连接C和D的接口是drother。
关系的建立:
drother只和dr/bdr建立full邻接关系。
drother之间建立two-way邻居关系。
dr和bdr建立full邻居关系。
监听对象:
DR要监听2个组播地址:224.0.0.5,224.0.0.6.
drother仅监听224.0.0.5。
怎么选DR呢?
通过DR接口的优先级选举DR,优先级的取值范围0-255,优先级越大,优先成为DR,优先级相同,则比较router id。
router id越大,优先成为DR。
优先级有哪些?
优先级优于router id。
优先级最高的是DR,router id最高的是DR。
优先级次高的是BDR,router id次高是BDR。
DR优先级等于0,代表只能成为drother。
只要修改DR/BDR的优先级为0,则该设备立即变为drother。
什么是BDR?
为了避免DR单点故障,默认会选举BDR(可选项)。
BDR失效,在drother之间重新选举新BDR。
DR失效,BDR升级为新的DR,重新选举新BDR。
DR/BDR不具备抢夺性。
优先级最大的/router id 最大的路由器一定是DR或者是BDR吗? ---不一定,因故障被更换的DR/BDR再恢复后因为DR/BDR不具备抢夺性,所以它们往往成为drother。
4.6、OSPF区域
4.6.1、OSPF单区域:
OSPF域(Domain):一系列使用相同策略的连续OSPF网络设备所构成的网络。
OSPF路由器在同一个区域(Area)内网络中泛洪LSA。为了确保每台路由器都拥有对网络拓扑的一致认知,LSDB需要在区域内进行同步。
如果OSPF域仅有一个区域,随着网络规模越来越大,OSPF路由器的数量越来越多,这将导致诸多问题,其弊端如下:
1、LSDB维护的LSA的数量过多,消耗资源,路由表项增加;
2、网络不稳定时,全网路由器都要通过SPF算法重算路由;
3、网络性能优化手段比较少,无法进行路由汇总。
4.6.2、OSPF多区域:
1、整个OSPF的网络,分为骨干区域(区域0)和非骨干区域,2层区域结构;
2、区域0有且只有一个,并且连续;
3、非骨干区域必须和骨干区域直接相连;
4、ospf是基于区域的SPF算法,所以多区域可以进行故障的隔离,增强网络整体的稳定性;
5、方便网络日后的扩展,管理和运维。
4.7、OSPF路由器类型
OSPF路由器根据其位置或功能不同,有这样几种类型:
IR、区域内路由器(Internal Router):
所有接口都在同一个区域的路由器。
ABR、区域边界路由器(Area Border Router):
连接两个以上的区域,至少有一个活动的接口属于区域0。
BR、骨干路由器(Backbone Router):
区域0中的IR和ABR。
ASBR、自治系统边界路由器(AS Boundary Router):
将其他协议的路由或者其他ospf进程的路由引入的路由器。
活动的接口:
拥有IP地址,没有物理故障,没有被管理员禁用。
[Huaweildis ip int brief
Interface IP Address/Mask Physical Protocol
LoopBacke 1.1.1.1/32 up up(s)
华为设备:3层接口必须拥有IP地址,protocol层才能up。
4.8、OSPF单区域&多区域典型组网
中小型企业网络规模不大,路由设备数量有限,可以考虑将所有设备都放在同一个OSPF区域。
4.9、OSPF协议典型配置
4.9.1、OSPF基础配置命令:
1、(系统视图)创建并运行OSPF进程
[Huawei] ospf [ process-id | router-id router-id ]
- porcess-id用于标识OSPF进程,默认进程号为1。OSPF支持多进程,在同一台设备上可以运行多个不同的OSPF进程,它们之间互不影响,彼此独立(一台路由器上的A公司为进程1,B公司为进程2,他们之间的是被隔离,不通的)。router-id用于手工指定设备的ID号。如果没有通过命令指定ID号,系统会从当前接口的IP地址中自动选取一个作为设备的ID号。
进程的使用规则:
- 进程号就是存在于路由器本地的进程,没有在OSPF网络上与其他路由器冲突的概念。
- 同一个进程下,一个接口不能加入多个区域。
- 一个接口不能加入到不同的进程下。
- 进程号本地有效,用于隔离路由器自身的不同OSPF网络,没有全局意义。
2、(系统视图)创建并进入OSPF区域
[Huawei-ospf-1] area area-id
area命令用来创建OSPF区域,并进入OSPF区域视图。
area-id可以是十进制整数或点分十进制格式。采取整数形式时,取值范围是0~4294967295。
3、(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为什么要用反掩码?
设置OSPF的设置网段的指令是:network + IP + 反掩码。
首先,在计算机网络中,掩码用来指示IP地址中包含的两个部分,即网络部分和主机部分。
在OSPF中,监视目的的反掩码,则是一个用来计算路由表中目的地址的掩码长度以确定目的地址所属网络的操作。
在OSPF协议中,掩码长度指示了网络地址的一部分,可以让路由器更快地确定目的地址所处的网络。
在OSPF中使用反掩码简单来讲有以下几个便利之处:
1、效率:提高路由表的搜索效率。通过将目的地址与反码进行逻辑 AND 操作可以快速确定目的地址所属的网络,从而快速找到正确的下一跳路径。
2、节省:可以帮助路由器减少内存占用。通过存储反掩码而不是完整的子网掩码,可以节省路由器的内存空间,尤其在规模较大的网络中,可以有效减少内存压力。
3、安全:使用反掩码还可以提高网络的安全性。在OSPF中,反掩码可以防止路由器误将不属于本网络的地址误认为合法的目的地址,从而避免路由环路或其他安全风险。通过正确设置反掩码,可以确保路由器只将目的地址发送到正确的下一跳,并提高网络的安全性和稳定性。
FLAG:上述解释来源于网络,由于HCIA的时候暂不深入研究反掩码,等到HCIP阶段我再回来深入解读。
OSPF协议的network本质:
1、将接口加入到ospf网络中,并发送和接受ospf报文;
2、路由器只会描述加入到ospf进程的接口的链路状态。
4、(接口视图)配置OSPF接口开销
[Huawei-GigabitEthernet0/0/0] ospf cost cost
ospf cost命令用来配置接口上运行OSPF协议所需的开销。缺省情况下,OSPF会根据该接口的带宽自动计算其开销值cost取值范围是1~65535。
5、(OSPF视图)设置OSPF带宽参考值
[Huawei-ospf-1] bandwidth-reference value
bandwidth-reference命令用来设置通过公式计算接口开销所依据的带宽参考值。value取值范围是1~2147483648,单位是Mbit/s,缺省值是100Mbit/s。
注意:4、5度量值的修改一定是双向的,不然会造成路由往返路径不同!
6、(接口视图)设置接口在选举DR时的优先级
[Huawei-GigabitEthernet0/0/0] ospf dr-priority priority
ospf dr-priority命令用来设置接口在选举DR时的优先级。priority值越大,优先级越高,取值范围是0~255。
单区域:
多区域: