OSPF协议

目录

一.OSPF工作过程

1.建立邻居关系

2.OSPF邻居建立过程 ----状态

3.LSDB同步状态

4.网络类型:

5.报文类型

6.DR和BDR的选举

7.OSPF的度量方式

二.LSA类型:1/2/3/4/5/7

1.查询1类LSA:

2.查询2类LSA

3.查询3类LSA

4.查询5类LSA

5.查询4类LSA

三.OSPF特殊区域及其他特性

3.1Stub区域和完全 Stub区域

3.2nssa区域和完全nssa区域

四.OSPF快速收敛机制

4.1OSPF IP FRR

4.2OSPF与BGP联动


RIP的弊端

1.传输的是整张路由表----学习--计算路由--传输--收敛效率慢!

2.学习的信息是通过传闻的方式,不了解全局网络

3.选路的时候是以跳数为度量值----存在次优路径选择

一.OSPF工作过程

1.建立邻居

2.同步数据库

3.计算路由

运行OSPF路由器的身份标识:RID

---手工配置:在启动协议的时候,指定设备名字

自动选择:如果配置loopback接口,接口IP地址最大的作为RID

如果没有配置loopback接口,那么选择物理接口IP地址最大的作为RID

----------------------------------------------

1.建立邻居关系

---hello报文

影响邻居关系建立因素:

OSPF头部信息:

1.RIP必须不同

2.区域必须相同

3.认证必须相同(认证类型、密码)

hello包信息

1.子网掩码必须相同(点到点除外)

2.hello时间必须相同

3.dead时间必须相同

4.router优先级不能全为0(点到点除外)

5.特殊标记位必须相同

2.OSPF邻居建立过程 ----状态

down-----没有邻居状态

int-----没有初始化状态,收到了邻居发来的信息,但是邻居没有收到自己的信息

2-way----邻居状态,双向通信,彼此都知道对方

3.LSDB同步状态

---exstart  交换初始化  发送第一个DD报文,目的确定设备的主从关系,通过对比DD报文里面的                        RID,确定主从关系,RID大的为主设备

                    DD报文: i=1,说明当前是第一个DD报文

                                     M=1 说明后边还有很多DD报文

                                     MS=1 说明此设备是主设备

---exchange  交换状态  交换的是DD报文,从设备发现主设备里面的DD报文有本设备没有的内                             容,开始请求交换

----loading    加载状态   加载的是在对端数据库里面存在的信息,本端没有的内容,通过LSR、                                   LSU、LSACK报文进行加载

---full完全同步状态(邻接)

邻居和邻接状态的区别:

  邻居状态数据库没有同步,只是相互认识了,邻接状态是已经同步了数据库

224.0.0.5向邻居发送信息用到的组播地址,每一个启用OSPF的设备都使用此组播地址

224.0.0.6

接口IP及掩码

链路状态信息----接口信息

链路类型

邻居路由器信息

链路带宽

4.网络类型:

1、P2P类型(Point-to-Point)
·当链路层协议是PPP、HDLC时,OSPF会认为网络类型是P2P。·

报文发送地址:以组播(224.0.0.5)发送所有OSPF报文。·

不需要进行DR、BDR选举
. Hello: 10秒;   Dead: 40秒
当OSPF接口的网络类型为P2P的时候只能建立一个OSPF邻居。(广播型修改成P2P后也是一样)


2、P2MP类型(Point-to-Multipoint)
·没有任何一种链路层协议被认为是P2MP类型,P2MP是认为手动配置的。
·报文发送地址:以组播(224.0.0.5)发送Hello报文。

单播发送DD、LSR、LSU、LSACK。·不需要进行DR、BDR选举
. Hello: 30秒;Dead: 120秒


3、NBMA类型(Non-Broadcast Multi-Access)
·当链路层协议是帧中继和ATM/FR时,OSPF会认为网络类型为NBMA网络。·报文发送地址:单播发送所有HELLO、DD、LSR、LSU、LSACK。
·需要进行DR、BDR选举
. Hello:30秒;Dead: 120秒

4、广播类型(Broadcast)
当链路层协议是以太网的时候,OSPF会认为网络类型为Broadcast

He1lo: (10秒;Dead:40秒)
广播类型网络用到两个组播地址,224.0.0.5和224.0.0.6。
·所有设备使用单播形式交互DD报文以及LSR报文。
·所有设备固定使用组播(224.0.0.5)交互HELLO报文。


LSU和LSACK的发送地址根据路由器角色有所变化以下将一一列出:
DRother: DRother产生的LSU通过224.0.0.6发送给DR和BDR;DR通过224.0.0.5发送给其他的DRoher和BDR;DRother收到DR的LSU之后通过224.0.0.6发送ACK确认,BDR收到DR的LSU之后通过组播地址224.0.0.5发送ACK向DR确认。

DR:DR产生的LSU通过224.0.0.5发送给其他DRother和BDR;BDR收到之后通过224.0.0.5发送ACK向DR进行确认;DRother收到之后通过224.0.0.6发送ACK向DR确认。


BDR:BDR产生的LSU通过224.0.0.5发送给其他的DRother和DR,DR收到之后通过224.0.0.5发送ACK向BDR确认,DRother收到之后通过224.0.0.6发送ACK向BDR确认。


DR和BDR同时监听224.0.0.5和224.0.0.6两个组播地址,drother只监听在224.0.0.5。需要注意一点在初次建立邻居的时候会产生LSR报文,而LSR是单播发送的报文,在广播网络类型中中无论是DR, BDR还是DRother只要收到了LSR之后,都会以单播的形式发送LSU更新。ACK则正常发送。
DR与BDR的区别在于DR收到DRother的LSU则泛洪,BDR不做任何相应。
 

OSPF基于IP封装,协议号89

RIP基于UDP,端口号520

5.报文类型

  hello报文---建立和维护邻居关系

  DD报文---发送数据库简要信息

LSR---链路状态请求报文,当本地设备的DD报文和对端设备DD报文发送之后,发送对端设备信息,我设备有的信息没有,这个时候就需要向对端请求,对端就会发送LSU报文

LSU报文----收到LSR后,发送更新信息给对端设备,用LSU报文发送

LSACK报文---收到LSU之后,用LSACK确认

6.DR和BDR的选举

                               --------------广播型网络和NBMA

                                           DR和BDR是接口的概念

                                          规则:对比DR优先级,大的作为DR

                                                  优先级相同,对比RID,RID大的作为DR,次大的为BDR

DR和BDR是邻接关系,DR或BDR与DRother是邻接关系

DRother之间是邻居关系

默认没有开启抢占功能

7.OSPF的度量方式

某接口cost=参考带宽/实际带宽(参考带宽默认为100)

修改参考带宽所有路由器都得修改,确保选路一致性

二.LSA类型:1/2/3/4/5/7

如何判断一个唯一的LSA呢?使用LSA的三要素:
1、LSA的类型:Type
2、LSA的链路状态ID:Link state ID

3、LSA的通告者:Adv Router


如何判断LSA的新旧状态呢?
1、首先比较的就是LSA的序列号,初始值为ex80000001,每次osPF更新的时候都会+1。

2.当序列号相同,将会比较校验和,越大越优

3、当校验和相同,将会比较LSA的age时间:

       首先age等于3600的LSA,用于删除一条LSA

       如果两条LSA的age时间相差大于900s,将会选择age数值小的LSA。
       如果两条LSA的age时间相差小于900s,将会认为相同,保持原有不变。


OSPF的更新机制:
触发更新:当链路状态发生改变之后OSPF将会触发更新,比如cosT变了,网段变了掩码变了,取消宣告。

周期更新:每个oSPF路由器自身产生的LSA,都会每隔30分钟(1800s)周期更新一次自身的LSA,更新时将SEQ+1检验和重新计算,age时间重新恢复到初始值


OSPF的老化机制:
OSPF路由器每产生一条LSA,都会存在一个age时间为3600s,初始值为1,当AGE时间递增到3600s之后,将会认为LSA老化,从自身LSDB中删除此LSA。I
 

OSPF LSA的删除机制:
当OSPF需要删除一条LSA的时候,将会把LSA的age时间变为3600s,当其他路由器接收到这条LSA之后,将会把自身LSDB中对应的LSA删除掉。
 

实验拓扑:

每个网段都会选举出一个DR,p2p网络不会有DR

[AR3]dis ospf lsdb 

	 OSPF Process 1 with Router ID 3.3.3.3
		 Link State Database 

		         Area: 0.0.0.0
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 Router    2.2.2.2         2.2.2.2           1340  48    80000004       1
 Router    1.1.1.1         1.1.1.1           1378  48    80000004       1
 Router    3.3.3.3         3.3.3.3           1300  60    8000000C       1

//这两个IP就是这个拓扑的DR
 Network   192.168.2.2     3.3.3.3            397  32    80000003       0
 Network   192.168.1.2     3.3.3.3            739  32    80000003       0

1.查询1类LSA:

1类LSA:每个oSPF的路由器,都会用一类LsA描述自身所有启用oSPF的接口。

  router:1类LSA

  ADV router:自身RID  每个路由器都会产生1类LSA,相当于每个设备的自我介绍

LS ID:          自身RID   链路的名字

[AR2]dis ospf lsdb  router  self-originate 

	 OSPF Process 1 with Router ID 2.2.2.2
		         Area: 0.0.0.0
		 Link State Database 


  Type      : Router             //LSA的类别
  Ls id     : 2.2.2.2            // 链路状态ID
  Adv rtr   : 2.2.2.2              //产生此LSA的路由器Router ID   
  Ls age    : 74 
  Len       : 48 
  Options   :  E  
  seq#      : 80000004 
  chksum    : 0xbb8c
  Link count: 2


//link type为p2p或者TransNet都是拓扑信息
   * Link ID: 192.168.2.2  
     Data   : 192.168.2.1                 //宣告该Router LSA的路由器接口的IP地址
     Link Type: TransNet     
     Metric : 1                          //开销



//subnet都是路由信息
   * Link ID: 10.1.1.2                   //该subnet网络的ip地址
     Data   : 255.255.255.255            //该subnet网络的网络掩码  
     Link Type: StubNet      
     Metric : 0 
     Priority : Medium


 

在1类LSA中,使用4种link-type描述接口的链路状态信息。

link-type: stubNet用于描述直连的网络号。(路由信息)
link-id :用于描述直连的网络前缀。
data:用于描述网络掩码信息
metric:用于描述路由器自身去很该网络的cost值。

link-type: P2P用于描述直连链路上网络类型为p2p或者p2MP的邻居。

link-id :用于描述P2P网络上邻居的Rid。
data:用于描述自身连接P2p邻居的接IP地址。

metric:用于描述自身去往邻居的cost值。


link-type: TransNet用于描述直连链路上网络类型为广播或者NBMA的邻居。

link-id :用于描述伪节点的Router-id,使用的是DR的接口IP地址充当。

data:用于描述自身去往伪节点的接口IP地址。
Metric:用于描述自身到达伪节点的cost值。
 

link-type: V-link用于描述虚链路上的OSPF邻居。

link-id :用于描述虚链路邻居的Router-id。
data:用于描述自身去往虚链路邻居的接口IP地址。
Metric:用于描述自身去往虚链路邻居的cost值。

2.查询2类LSA

2类LSA:(由DR产生,描述拓扑信息,所连接的路由器)

  network:2类LSA

ADV router:DR的RID

LS ID:  DR的接口IP

[AR3]dis ospf lsdb  network  self-originate 

	 OSPF Process 1 with Router ID 3.3.3.3
		         Area: 0.0.0.0
		 Link State Database 


  Type      : Network
  Ls id     : 192.168.2.2                   //DR接口的IP地址
  Adv rtr   : 3.3.3.3                       //DR的RouterID
  Net mask  : 255.255.255.0
  Priority  : Low
     Attached Router    3.3.3.3             //连接到该网段的路由器列表
     Attached Router    2.2.2.2

  Type      : Network
  Ls id     : 192.168.1.2
  Adv rtr   : 3.3.3.3  
  Net mask  : 255.255.255.0
  Priority  : Low
     Attached Router    3.3.3.3
     Attached Router    1.1.1.1
		         Area: 0.0.0.1
		 Link State Database 

3/4/5类LSA拓扑图

3.查询3类LSA

 3类LSA:由ABR产生,在域间进行传递,只包含路由信息,无拓扑信息

传递过程:

   1.area0区域内传递的1类LSA和2类LSA,到达了边界路由器(BDR),BDR会重新计算并将1类LSA变成3类LSA传递给area1区域,在这样传给area2

   2.将骨干区域内的3类LSA,转换成非骨干区域内的3类LSA

network-summary:3类LSA

Type:Sum-Net

LS id:目的网段地址

ADV router:产生此3类LSA的routerID

3类LSA防环规则:对于非骨干区域传来的3类LSA只接受不传递

防环原则一:为了防止osPF区域间路由环路,定义出了ABR这种设备角色,并且定义区域间路由的转换只能由ABR完成,而ABR是连接到骨干区域的,所以在OSPF区域设计要保证非骨干区域与骨干区域相连。

防环原则二:ABR不会将非骨干区域的3类LSA传递到骨千区域
                      ABR在骨千区域存在邻居的时候不会计算非骨干的LSA3

                      如果骨千区域不存在邻居将会计算非骨千的LSA3
防环原则三:无论COST,1、2类LSA优先于3类LSA。
 

[AR5]dis ospf lsdb  summary 

	 OSPF Process 1 with Router ID 5.5.5.5
		         Area: 0.0.0.0
		 Link State Database 


  Type      : Sum-Net
  Ls id     : 6.6.6.6
  Adv rtr   : 5.5.5.5  
  Ls age    : 688 
  Len       : 28 
  Options   :  E  
  seq#      : 80000001 
  chksum    : 0xc966
  Net mask  : 255.255.255.255
  Tos 0  metric: 1
  Priority  : Low

  Type      : Sum-Net
  Ls id     : 3.3.3.3
  Adv rtr   : 2.2.2.2  
  Ls age    : 705 
  Len       : 28 
  Options   :  E  
  seq#      : 80000001 
  chksum    : 0xae99
  Net mask  : 255.255.255.255
  Tos 0  metric: 1
  Priority  : Medium

  Type      : Sum-Net
  Ls id     : 66.1.1.1
  Adv rtr   : 5.5.5.5  
  Ls age    : 688 
  Len       : 28 
  Options   :  E  
  seq#      : 80000001 
  chksum    : 0x60a2
  Net mask  : 255.255.255.255
  Tos 0  metric: 1
  Priority  : Low

  Type      : Sum-Net
  Ls id     : 192.168.2.0
  Adv rtr   : 5.5.5.5  
  Ls age    : 752 
  Len       : 28 
  Options   :  E  
  seq#      : 80000001 
  chksum    : 0x17c5
  Net mask  : 255.255.255.0
  Tos 0  metric: 1
  Priority  : Low




下面还有很多没有截完

4.查询5类LSA

AS-External-LSA(引入外部路由发送的LSA)

display ospf lsdb ase self-originate

5类LSA里的字段:

type   External         LSA类型

Ls id                     目的网段地址

Adv  router             产生此5类LSA ASBR的RouterID

[AR5]dis ospf lsdb  ase 

	 OSPF Process 1 with Router ID 5.5.5.5
		 Link State Database


  Type      : External
  Ls id     : 7.7.7.0                  //引入的网段
  Adv rtr   : 6.6.6.6                  //产生此5类LSA的Router ID
  Ls age    : 1206 
  Len       : 36 
  Options   :  E  
  seq#      : 80000001 
  chksum    : 0x4d56
  Net mask  : 255.255.255.0 
  TOS 0  Metric: 1 
  E type    : 2
  Forwarding Address : 0.0.0.0 
  Tag       : 1 
  Priority  : Low

ASBR:引入外部路由的路由器既为ASBR。
ASBR的自白:当路由器成为ASBR之后,将会在产生的1类LsA中将ASBR标志置1,标识自己为ASBR。

1、和ASBR在相同区域的路由器
cost如何计算:路由器使用自身到达ASBR的COST+ASBR到达外部路由的cost。

下一跳:路由器到达ASBR最短路径树的下一跳,即为自身到达外部路由的下一跳。


2、和ASBR不在相同区域的路由器
cost如何计算:即自身到达ABR的cost+ABR到达ASBR的cost+外部路由携带的cost。

下一跳:路由器达到ABR最短路径树的下一跳,即为自身到达外部路由的下一跳。
 

默认情况下,OSPF引入外部路由的cost值为1,外部路由类型为type 2, tag值为1.

type1:其他OSPF路由器计算type1类型的外部路由,将会累加内部cost值。

type2:其他OSPF路由器计算type2类型的外部路由,不会累加内部cost值。
外部路由选路原则:
1、无论任何cost, type1总是优先于Type2.

2、同为Type1的时候如何比较:
比较cost和值,越小越优。

如果cost和值相同,则负载。
3、同为type2的时候如何比较:
比较引入时的cost值,即5类LSA携带的cost值。

如果引入时的cost相同,则比较到达ASBR的cost。

如果到达ASBR的cost相同,则负载。

5.查询4类LSA

作用:用来标识ASBR位置的(与ASBR同区域的ABR会发送这个4类的LSA)

ASBR-Summary-LSA

display ospf lsdb asbr self-originate

4类LSA字段:

Type:  Sum-Asbr            LSA类型

Ls id                                   ASBR的RouterID

Adv router                        产生此4类LSA  ABR的Router ID

Tos 0       metric:1           从ABR到达此ASBR的开销

[AR5]dis ospf lsdb  asbr

	 OSPF Process 1 with Router ID 5.5.5.5
		         Area: 0.0.0.0
		 Link State Database 


  Type      : Sum-Asbr
  Ls id     : 6.6.6.6                    //ASBR的Rorter ID
  Adv rtr   : 5.5.5.5                    //产生此4类LSDB的Router ID
  Ls age    : 1320 
  Len       : 28 
  Options   :  E  
  seq#      : 80000001 
  chksum    : 0xbb73
  Tos 0  metric: 1
		         Area: 0.0.0.1
		 Link State Database 

		         Area: 0.0.0.2
		 Link State Database 

4类LSA如何产生:

4类LSA由ABR产生,用于告诉其他区域内的路由器,ASBR的位置,4类LSA产生在那个区域就在那个区域内部泛洪,当4类LSA传递到其他区域,Adv rtr和cost将会改变。

三.OSPF特殊区域及其他特性

3.1Stub区域和完全 Stub区域

1.配置stub区域(减少LSDB数据库,消除4、5类LSA)(末节区域)

拓扑:

特点:

1、在该区域下所有的接口发送的OSPF Hello报文E bit等于0

2、OSPF路由器不会将4、5类LSA传递给特殊区域下的OSPF邻居。
3、ABR将会产生一条缺省的3类LSA,帮助stub区域内的设备访问外部网络。

4、完全stub区域内的设备不能引入外部路由。

5、Stub区域内缺少了5类LSA,所以stub区域内的设备,将没有办法根据5类LSA选择出去往外部路由的最优路径,当Stub存在多个ABR的时候,将会产生次优路径的风险。

解决方式:

1、在ABR上手动调整,自身产生缺省路由的cost值。(使用最多)
2、手动调整区域内设备的路径cost,使其优选最优的ABR作为出口

3、在区域内的设备上针对下一跳地址,手动设置权重值。
 

配置完成后就不会lsdb数据库就没有4、5类lsa了

[AR3]dis ospf lsdb asbr

	 OSPF Process 1 with Router ID 3.3.3.3
		         Area: 0.0.0.1
		 Link State Database 


[AR3]dis ospf lsdb 

	 OSPF Process 1 with Router ID 3.3.3.3
		 Link State Database 

		         Area: 0.0.0.1
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 Router    2.2.2.2         2.2.2.2            140  36    80000004       1
 Router    3.3.3.3         3.3.3.3            139  60    80000005       1
 Network   192.168.1.1     3.3.3.3            139  32    80000001       0
 Sum-Net   0.0.0.0         2.2.2.2            180  28    80000001       1
 Sum-Net   6.6.6.6         2.2.2.2            180  28    80000001       4
 Sum-Net   44.1.1.1        2.2.2.2            180  28    80000001       2
 Sum-Net   5.5.5.5         2.2.2.2            180  28    80000001       3
 Sum-Net   14.1.1.0        2.2.2.2            180  28    80000001       3
 Sum-Net   11.1.1.1        2.2.2.2            180  28    80000001       1
 Sum-Net   55.1.1.1        2.2.2.2            180  28    80000001       3
 Sum-Net   172.16.1.0      2.2.2.2            180  28    80000001       1
 Sum-Net   4.4.4.4         2.2.2.2            180  28    80000001       2
 Sum-Net   2.2.2.2         2.2.2.2            180  28    80000001       0
 Sum-Net   22.1.1.1        2.2.2.2            180  28    80000001       0
 Sum-Net   10.1.1.0        2.2.2.2            180  28    80000001       2
 Sum-Net   66.1.1.1        2.2.2.2            180  28    80000001       4
 Sum-Net   192.168.2.0     2.2.2.2            180  28    80000001       4
 Sum-Net   1.1.1.1         2.2.2.2            180  28    80000001       1
 
[AR3]dis ospf routing

	 OSPF Process 1 with Router ID 3.3.3.3
		  Routing Tables 

 Routing for Network 
 Destination        Cost  Type       NextHop         AdvRouter       Area
 3.3.3.3/32         0     Stub       3.3.3.3         3.3.3.3         0.0.0.1
 33.1.1.1/32        0     Stub       33.1.1.1        3.3.3.3         0.0.0.1
 192.168.1.0/24     1     Transit    192.168.1.1     3.3.3.3         0.0.0.1



//这个缺省的三类lsa就是AR2生成的
 0.0.0.0/0          2     Inter-area 192.168.1.2     2.2.2.2         0.0.0.1
 1.1.1.1/32         2     Inter-area 192.168.1.2     2.2.2.2         0.0.0.1
 2.2.2.2/32         1     Inter-area 192.168.1.2     2.2.2.2         0.0.0.1
 4.4.4.4/32         3     Inter-area 192.168.1.2     2.2.2.2         0.0.0.1
 5.5.5.5/32         4     Inter-area 192.168.1.2     2.2.2.2         0.0.0.1
 6.6.6.6/32         5     Inter-area 192.168.1.2     2.2.2.2         0.0.0.1
 10.1.1.0/24        3     Inter-area 192.168.1.2     2.2.2.2         0.0.0.1
 11.1.1.1/32        2     Inter-area 192.168.1.2     2.2.2.2         0.0.0.1
 14.1.1.0/24        4     Inter-area 192.168.1.2     2.2.2.2         0.0.0.1
 22.1.1.1/32        1     Inter-area 192.168.1.2     2.2.2.2         0.0.0.1
 44.1.1.1/32        3     Inter-area 192.168.1.2     2.2.2.2         0.0.0.1
 55.1.1.1/32        4     Inter-area 192.168.1.2     2.2.2.2         0.0.0.1
 66.1.1.1/32        5     Inter-area 192.168.1.2     2.2.2.2         0.0.0.1
 172.16.1.0/24      2     Inter-area 192.168.1.2     2.2.2.2         0.0.0.1
 192.168.2.0/24     5     Inter-area 192.168.1.2     2.2.2.2         0.0.0.1

 Total Nets: 18 
 Intra Area: 3  Inter Area: 15  ASE: 0  NSSA: 0 

2.配置完全stub区域(3、4、5类LSA都不要了)

配置命令:ospf 1
        area 1
        stub no-summary
配置完成后LSDB数据库只剩一条缺省的三类LSA

[AR3]dis ospf routing 

	 OSPF Process 1 with Router ID 3.3.3.3
		  Routing Tables 

 Routing for Network 
 Destination        Cost  Type       NextHop         AdvRouter       Area
 3.3.3.3/32         0     Stub       3.3.3.3         3.3.3.3         0.0.0.1
 33.1.1.1/32        0     Stub       33.1.1.1        3.3.3.3         0.0.0.1
 192.168.1.0/24     1     Transit    192.168.1.1     3.3.3.3         0.0.0.1


 0.0.0.0/0          2     Inter-area 192.168.1.2     2.2.2.2 

1、在stub基础上,在3类LSA也进行过滤。
2、完全stub区域内,缺失了3类4类和5类LSA,导致stub区域内路由器,访问区域间和域外路由的时候可能出现次优路径。

3.2nssa区域和完全nssa区域

1.nssa区域

特点:nssa区域的路由器既可以引入外部路由,也可以优化LSDB数据库的规模

[R7]dis ospf lsdb

	 OSPF Process 1 with Router ID 7.7.7.7
		 Link State Database 

		         Area: 0.0.0.3
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 Router    7.7.7.7         7.7.7.7            262  48    80000005       1
 Router    1.1.1.1         1.1.1.1            263  36    80000004       1
 Network   10.1.17.7       7.7.7.7            262  32    80000001       0
 Sum-Net   10.1.45.0       1.1.1.1            306  28    80000001       4
 Sum-Net   10.1.23.0       1.1.1.1            306  28    80000001       2
 Sum-Net   10.1.34.0       1.1.1.1            306  28    80000001       3
 Sum-Net   5.5.5.5         1.1.1.1            306  28    80000001       4
 Sum-Net   3.3.3.3         1.1.1.1            306  28    80000001       2
 Sum-Net   10.1.12.0       1.1.1.1            306  28    80000001       1
 Sum-Net   4.4.4.4         1.1.1.1            306  28    80000001       3
 Sum-Net   2.2.2.2         1.1.1.1            306  28    80000001       1
 Sum-Net   1.1.1.1         1.1.1.1            306  28    80000001       0

配置了NSSA区域,减少了LSDB数据库,还可以在本区域引入外部路由

//这三条是本路由器引入的外部路由,作为ASBR
 NSSA      172.16.2.0      7.7.7.7            313  36    80000001       1
 NSSA      172.16.3.0      7.7.7.7            313  36    80000001       1
 NSSA      172.16.1.0      7.7.7.7            313  36    80000001       1

//这一条默认的7类LSA是AR1作为ABR下发的,AR7需要访问外部路由时可根据这条默认的7类LSA找到ABR
 NSSA      0.0.0.0         1.1.1.1            306  36    80000001       1

1、当把一个区域配置为nssa区域之后,该区域下所有OSPF接口发送的报文N比特置1.

2、ABR不会将5类LSA,传递到NSSA区域内部。
3、NSSAI区域内部引入的外部路由,将会以7类LSA进行呈现。

4、NSSAl区域内ABR会将7类LSA,转换成5类LSA传递到其他区域。
5、NSSA区域内ABR将会自动产生一条7类缺省LSA,帮助nssa区域内的设备访问其他区域引入的外部路由信息。

6、当NSSA区域内存在多个ABR的时候:
           防环:当ABR在一个区域产生一条7类LSA之后,将不会计算其他设备产生的相同7类LSA。
           选路:NSSA区域由于缺少5类LSA,当存在多个ABR的时候,访问外部路由将有可能出现次优路径。

           7转5:当NSSA区域存在多个ABR的时候,Router-id大的路由器,执行7转5.
 

5类LSA FA如何产生:
1、ASBR去往外部路由的出接口加入到了OSPF进程中。

2、ASBR去往外部路由的出接口不是静默接口。
3、ASBR去往外部路由的出接口不是P2P或者P2MP类型。

7类LSA FA如何产生:
1、与5类相同的场景下,FA地址的取值,为自身去往外部路由的下一跳。

2、与5类不相同的场景下,FA地址的取值,使用一下原则:
    ①如果ASBR在NSSA区域内存在活动的1oopback接口,则FA的值选取loopback接口地址。

    ②如果ASBR在NSSA区域没有loopback接口,FA的值选取NSSA区域内第一个UP的物理接口。

    ③如果不符合上述两个条件,则FA的值为0。
 

2.完全nssa区域

1、在NSSA区域的基础上,将3类LsA也进行过滤。
2、完全NSSA区域内的设备由于缺失3类和5类LSA,可能导致访问区域间路由和域外路由出现次优路径

V-Link的特色:
1、虚链路属于区域0的逻辑链路

2、虚链路不能穿越特殊区域
3、虚链路只能穿越一个常规的非骨干区域
4、做了区域0的认证,由于vlink属于区域0,也会启用认证。
 

虚链路中报文的目的Ip地址如何判断呢?
    以虚链路邻居为根节点,构建出sPF树,在sPF树中到达自身最短路径的出接口IP地址
     即自身向虚链路邻居发送报文的目的IP地址。


虚链路中报文的源IP地址如何判断呢?
     自身去往目的IP地址的出接口地址,即为虚链路报文的源IP地址。


使用Router-id建立虚链路邻居的优势在哪里?
     稳定,当区域内存在多条冗余路径的时候,当某条路径出现故障,只要区域内的SPF树不会断       开,那么虚链路邻居也不会断开。


虚链路的建立,只能跨域一个常规的非骨干区域。


虚链路邻居如何进行维护?
1、华为设备中,虚链路邻居之间,会周期的交互hello报文,默认10s一次,dead time为40s。

2、当和虚链路邻居之间的SPF树断开之后,虚链路邻居将会立刻断开。


四.OSPF快速收敛机制

4.1OSPF IP FRR

官方定义:OSPF IP FRR是动态IP FRR,利用LFALoop-Free Alternates)算法预先计算出备份路径,保存在转发表中,以备在故障时将流量快速切换到备份链路上,保证流量不中断,从而达到流量保护的目的,该功能可将故障恢复时间降低到50 ms以内。

lLFA计算备份链路的基本思路是:以可提供备份链路的邻居为根节点,利用SPF算法计算出到目的节点的最短距离。然后,按不等式计算出开销最小且无环的备份链路。

自己的定义:简单的说就是在需要开启备份链路的路由器上开启FRR功能,就可以多出一条备份路由,这样原来的路由断开之后可以马上切换到备份路由进行转发,就不需要再重新计算路径,能够快速收敛

计算备份链路的条件:从R1的1.1.1.1到R4的4.4.4.4最优路由是经过R3,如果开启FRR功能,将备份路由经过R2到达R4,那么会在R2的视角去计算,(R2到R4的开销)<(R2到R1再到R4的开销和),满足这个公式就可以产生备份路由,必须是小于,大于等于都不可

[AR1]dis ip routing-table 4.4.4.4 verbose
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 1

Destination: 4.4.4.4/32
     Protocol: OSPF             Process ID: 1
   Preference: 10                     Cost: 2
      NextHop: 13.1.1.3          Neighbour: 0.0.0.0
        State: Active Adv              Age: 00h01m00s
          Tag: 0                  Priority: medium
        Label: NULL                QoSInfo: 0x0
   IndirectID: 0x0              
 RelayNextHop: 0.0.0.0           Interface: GigabitEthernet0/0/0   //这个是主链路
     TunnelID: 0x0                   Flags:  D 
    BkNextHop: 12.1.1.2        BkInterface: GigabitEthernet0/0/1   //这个是备份链路的出接口
      BkLabel: NULL            SecTunnelID: 0x0              
 BkPETunnelID: 0x0         BkPESecTunnelID: 0x0              
 BkIndirectID: 0x0       
[AR1]

备注:做实验的话就需要把R2的1口开销改的比上面一条链路大,如果都是1的话,上下两条路开销都是2,都会加表了,上面开销为2,优选从上走,在R1上开启FRR,查看verbose信息,就可以看见这条路由的备份链路了

4.2OSPF与BGP联动

实验拓扑:

 问题:R1R2R3R4都运行ospf协议,都互相建立IBGP邻居关系,R5把5.5.5.5发送给EBGP邻居R4,R4再传给其他对等体,R1学习到的5.5.5.5是经过R2到达R5,当R2断电了之后,R1到达R5会马上切换到经过R3,但是当R2重新启动了,OSPF邻居恢复,R1还是会优选从R2走,这个时候虽然OSPF邻居建立成功,但是BGP邻居还没有成功,此时5.5.5.5的路由并没有传给R2,R1将到达5.5.5.5的数据包发送到R2,R2没路由会丢弃,BGP邻居建立一定比OSPF久,这个过程就会导致丢包

解决方法:

ospf 1

stub-router on-startup 90 //配置了on-startup命令,90秒内此路由器产生的所以LSA的cost值都会是65535,如果不配置,则表示此路由器始终为STUB路由器,产生的LSA的cost值都为65535

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值