Lab_6 OSPF进阶

Lab_6 OSPF

1.OSPF的基本概念及特点... 1

2.OSPF邻接关系的建立流程... 3

3.不同网络类型中OSPF的配置... 7

4.虚链路和GRE隧道... 21

5.OSPF的重分布... 25

6.汇总... 28

7.特殊区域... 32

8.OSPF路由器的类型和LSA.. 35

9.OSPF认证... 38

OSPF的基本概念及特点

链路状态路由协议
在链路状态路由协议中,路由器和路由器之间交换的是链路状态。而距离矢量路由协议中,路由器与路由器之间交换的是路由表。链路状态路由协议能够识别更多的网络信息,所以选出的路由比距离矢量路由协议选出的路由更优。在OSPF中,一共维护着三个数据库:所有的邻居,区域内所有的路由器(链路状态),到达目的地最佳路径。OSPF是通过链路状态表中整个区域的链路状态来计算出路由表的。

OSPF中的三张表

邻居表(adjacency database),拓扑表,路由表。

层次化的机构
OSPF的网络在设计时应该设计为层次性的网络,这是一个强制要求。有两个级别的层次一个为主干区Transit area(backbone or area 0),另一个为非主干区域Regular areas(nonbackbone areas)。可以认为,在区域内部交换的是链路状态,而在区域和区域之间交换的则是路由信息。

OSPF区域的特点:
1. 减小路由表的条目;
2. 本地化拓扑结构,只在本区域传播,将拓扑变化影响减到最小;
3. 详细的LSA的洪泛将终结在区域的边界上;
4. 需要层次化的网络设计;
5. 一般情况下,所有的非主干区域都应该与主干区域相连,非主干区域之间是不会交换信息的;

ABR称为区域边界路由器,作用就是将非主干区域和主干区域连接起来。

链路状态数据结构(邻居表):
1. OSPF通过交换Hello包来发现邻居;
2. 通过检查Hello包中的一些选项或者变量后建立邻居关系的;
3. 在点到点的广域网环境中,邻居之间是全互联的;
4. 在局域网环境中,所有路由器只与DR和BDR形成邻接关系(adjacency),而其他的路由器(DROTHERs)之间则只是two-way的关系;
5. 路由更新和拓扑信息之在邻接关系的路由器之间进行传播;

所有的路由更新,以及链路状态信息都是通过网络中的DR和BDR传输的。也就是说,所有的DROTHER都会与DR还有BDR建立邻接关系(adjacency)。

SPF算法:在每个路由器的链路状态表中都应用Dijkstra’s SPF 算法。
1. 每个路由器上都会有一个链路状态数据库;
2. 每个路由器都会先将自己作为一个根,然后建立起一个SPF树;
3. 最优路径的计算是到达目的地的所有路径开销的总和;
4. 最优路径将被放到路由表中;

LSA的操作:
1. 首先,与自己的链路状态表对比一下,看看是否在其中;
2. 如果没有的话,把它加到自己的链路状态数据库中,同时发出一个确认包;
3. 如果有的话,比较顺序号,如果顺序号相同,则忽略。如果小于自己的,则给源发送一个LSU;
4. 然后洪泛传输自己的LSA给其他路由器;
5. 运行SPF算法,重新计算路由表;
PS:LSA传输的时候,每次只能传输一跳。

router-id的选择

1.手动指定>loop口 最大(不用宣告进路由)> 物理接口最大

Router-id具有非抢占性,在启动ospf进程后开始选择

R1 f0/0------f0/0 R2

Lab_6 OSPF进阶_第1张图片

clip_image003

启动OSPF进程

此时创建一个回环口loop 0 1.1.1.1

clip_image005

此时的id并没有改变

如果两台直连的路由器,router-id相同则无法建立邻居关系

clip_image007

clip_image009

如果不直连,id相同则无法同步数据库

R1―R2―R3

clip_image011

clip_image013

此时R1和R3router-id同为1.1.1.1

clip_image015

clip_image017

OSPF邻接关系的建立流程

clip_image019

1.Down: 初始化状态.

2.Attempt: 只适于NBMA网络,在NBMA网络中邻居是手动指定的,在该状态下,路由器将使用

HelloInterval取代PollInterval来发 送Hello包.

3.Init: 表明在DeadInterval里收到了Hello包,但是2-Way通信仍然没有建立起来.

4.two-way: 双向会话建立.

5.ExStart: 信息交换初始状态,在这个状态下,本地路由器和邻居将建立Master/Slave关系,并确定DD

Sequence Number,接口等级高的的成为Master。

6.Exchange: 信息交换状态,本地路由器向邻居发送数据库描述包,并且会发送LSR用于请求新的LSA

7.Loading: 信息加载状态,本地路由器向邻居发送LSR用于请求新的LSA

8.Full: 完全邻接状态,这种邻接出现在Router LSA和Network LSA中

Debug

Debug ip ospf packet

Debug ip ospf events

Debug ip ospf adj

Debug ip packe

04:25:18: %LINK-3-UPDOWN: Interface Serial0/0, changed state to up

//打开S0/0接口

04:25:18: OSPF: Interface Serial0/0 going Up

//OSPF进程启动

04:25:18: IP: s=12.1.1.1 (local), d=224.0.0.5 (Serial0/0), len 64, sending broad/multicast

//发送hello包组播 由于debug ip ospf packet 无法捕获到发送的hello包内容,所以这里无显示

04:25:18: OSPF: Build router LSA for area 0, router ID 1.1.1.1, seq 0x8000000F

//构建LAS

04:25:19: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0, changed state to up

R1#

04:25:25: IP: s=12.1.1.2 (Serial0/0), d=224.0.0.5, len 68, rcvd 0

04:25:25: OSPF: rcv. v:2 t:1 l:48 rid:2.2.2.2

aid:0.0.0.0 chk:F694 aut:0 auk: from Serial0/0

04:25:25: OSPF: Rcv hello from 2.2.2.2 area 0 from Serial0/0 12.1.1.2

//在S0/0收到来自12.1.1.2 的hello包,版本:2/类型:hello包/routerID:2.2.2.2/区域号:0/校验:F694/无验证/

04:25:25: OSPF: 2 Way Communication to 2.2.2.2 on Serial0/0, state 2WAY

//进入2way状态

04:25:25: OSPF: Send DBD to 2.2.2.2 on Serial0/0 seq 0x15C2 opt 0x42 flag 0x7 len 32

//通过S0/0发送DBD到2.2.2.2 ,序列号:0x15C2 flag 0x7,这是第一个DBD包,以后还会继续发,我为主

04:25:25: IP: s=12.1.1.1 (local), d=224.0.0.5 (Serial0/0), len 52, sending broad/multicast

04:25:25: OSPF: End of hello processing

04:25:25: IP: s=12.1.1.2 (Serial0/0), d=224.0.0.5, len 52, rcvd 0

04:25:25: OSPF: rcv. v:2 t:2 l:32 rid:2.2.2.2

aid:0.0.0.0 chk:A337 aut:0 auk: from Serial0/0

04:25:25: OSPF: Rcv DBD from 2.2.2.2 on Serial0/0 seq 0xEBF opt 0x42 flag 0x7 len 32 mtu 1500 state EXSTART

//在S0/0上收到到来自2.2.2.2的DBD包 序列号:0xEBF flag 0x7,这是第一个DBD包,以后还会继续发,我为主,并进入准启动状态

04:25:25: OSPF: NBR Negotiation Done. We are the SLAVE

//经过一轮协商,发现我的routerid小于2.2.2.2所我为从

04:25:25: OSPF: Send DBD to 2.2.2.2 on Serial0/0 seq 0xEBF opt 0x42 flag 0x2 len 72

//给2.2.2.2发送一个DBD包确认,告诉他,我为从

04:25:25: IP: s=12.1.1.1 (local), d=224.0.0.5 (Serial0/0), len 92, sending broad/multicast

04:25:25: IP: s=12.1.1.2 (Serial0/0), d=224.0.0.5, len 92, rcvd 0

04:25:25: IP: s=12.1.1.2 (Serial0/0), d=224.0.0.5, len 56, rcvd 0

04:25:25: OSPF: rcv. v:2 t:2 l:72 rid:2.2.2.2

aid:0.0.0.0 chk:2B5E aut:0 auk: from Serial0/0

04:25:25: OSPF: rcv. v:2 t:3 l:36 rid:2.2.2.2

aid:0.0.0.0 chk:F5CF aut:0 auk: from Serial0/0

04:25:25: OSPF: Rcv DBD from 2.2.2.2 on Serial0/0 seq 0xEC0 opt 0x42 flag 0x3 len 72 mtu 1500 state EXCHANGE

04:25:25: OSPF: Send DBD to 2.2.2.2 on Serial0/0 seq 0xEC0 opt 0x42 flag 0x0 len 32

04:25:25: IP: s=12.1.1.1 (local), d=224.0.0.5 (Serial0/0), len 52, sending broad/multicast

04:25:25: IP: s=12.1.1.1 (local), d=224.0.0.5 (Serial0/0), len 56, sending broad/multicast

04:25:25: OSPF: Database request to 2.2.2.2

04:25:25: OSPF: sent LS REQ packet to 12.1.1.2, length 12

//

04:25:25: IP: s=12.1.1.1 (local), d=224.0.0.5 (Serial0/0), len 96, sending broad/multicast

04:25:25: IP: s=12.1.1.2 (Serial0/0), d=224.0.0.5, len 52, rcvd 0

04:25:25: IP: s=12.1.1.2 (Serial0/0), d=224.0.0.5, len 96, rcvd 0

04:25:25: OSPF: rcv. v:2 t:2 l:32 rid:2.2.2.2

aid:0.0.0.0 chk:A33B aut:0 auk: from Serial0/0

04:25:25: OSPF: rcv. v:2 t:4 l:76 rid:2.2.2.2

aid:0.0.0.0 chk:1373 aut:0 auk: from Serial0/0

04:25:25: OSPF: Rcv DBD from 2.2.2.2 on Serial0/0 seq 0xEC1 opt 0x42 flag 0x1 len 32 mtu 1500 state EXCHANGE

//双方交换DBD包,并确认,进入到EXCHANGE状态,向12.1.1.2放松链路状态请求(LS REQ),收到2.2.2.2来的LSU

04:25:25: OSPF: Exchange Done with 2.2.2.2 on Serial0/0

04:25:25: OSPF: Send DBD to 2.2.2.2 on Serial0/0 seq 0xEC1 opt 0x42 flag 0x0 len 32

//回复给2.2.2.2一个DBD包,确认双方数据库是否同步

04:25:25: IP: s=12.1.1.1 (local), d=224.0.0.5 (Serial0/0), len 52, sending broad/multicast

04:25:25: OSPF: Synchronized with 2.2.2.2 on Serial0/0, state FULL

04:25:25: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on Serial0/0 from LOADING to FULL, Loading Done

//进入全邻接状态

04:25:26: OSPF: Build router LSA for area 0, router ID 1.1.1.1, seq 0x80000010

04:25:26: IP: s=12.1.1.1 (local), d=224.0.0.5 (Serial0/0), len 108, sending broad/multicast

04:25:26: IP: s=12.1.1.2 (Serial0/0), d=224.0.0.5, len 108, rcvd 0

04:25:26: OSPF: rcv. v:2 t:4 l:88 rid:2.2.2.2

aid:0.0.0.0 chk:3067 aut:0 auk: from Serial0/0

04:25:28: IP: s=12.1.1.2 (Serial0/0), d=224.0.0.5, len 64, rcvd 0

04:25:28: OSPF: rcv. v:2 t:5 l:44 rid:2.2.2.2

aid:0.0.0.0 chk:1EF9 aut:0 auk: from Serial0/0

04:25:28: IP: s=12.1.1.1 (local), d=224.0.0.5 (Serial0/0), len 64, sending broad/multicast

04:25:28: IP: s=12.1.1.1 (local), d=224.0.0.5 (Serial0/0), len 68, sending broad/multicast

R1#

04:25:30: IP: s=12.1.1.1 (local), d=224.0.0.5 (Serial0/0), len 108, sending broad/multicast

04:25:30: IP: s=12.1.1.2 (Serial0/0), d=224.0.0.5, len 108, rcvd 0

04:25:30: OSPF: rcv. v:2 t:4 l:88 rid:2.2.2.2

aid:0.0.0.0 chk:3063 aut:0 auk: from Serial0/0

R1#

04:25:33: IP: s=12.1.1.2 (Serial0/0), d=224.0.0.5, len 64, rcvd 0

04:25:33: OSPF: rcv. v:2 t:5 l:44 rid:2.2.2.2

aid:0.0.0.0 chk:5C17 aut:0 auk: from Serial0/0

//同步数据库,并发送LSA确认

clip_image021

不同网络类型中OSPF的配置

  OSPF的网络类型凌驾于真实网络之上   OSPF定义了3种网络:  

1.点到点网络

比如T1线路,是连接单独的一对路由器的网络,点到点网络上的有效邻居总是可以形成邻接关系的,在这种网络上,OSPF包的目标地址使用的是224.0.0.5

2.广播型网络

比如以太网,这样的网络上会选举一个DR和BDR,DR/BDR的发送的OSPF包的目标地址为224.0.0.5,运载这些OSPF包的帧的目标MAC地址为0100.5E00.0005;而除了DR/BDR以外的OSPF包的目标地址为224.0.0.6

3.NBMA网络

比如X.25,Frame Relay,和ATM,不具备广播的能力,因此邻居要人工来指定,在这样的网络上要选举DR和BDR,OSPF包采用unicast的方式

在NBMA中OSPF的运行模式有5种:

网络类型

邻居自动发现

有无DR选举

Hello间隔

传输方式

Non_broadcast

30s

单播

Broadcast

10s

组播

Point-to-Point

10s

组播

Point-to-Multipoint

30s

组播

Point-to-Multipoint(非广播)

30s

单播

  实验

1. 广播型网络

clip_image023

DR和BDR的选举

在广播型多路访问链路上,所有在接口下启用了OSPF进程的路由器,在进入Two-Way状态后开始触发选举过程。这个状态下,这台路由器都检查每个邻居路由器发送过来的HELLO数据包的优先级(优先级不参与选举)、DR和BDR字段。如果邻居路由器没有相关DR和BDR字段,那么就等待40S的时间,才开始选举DR/BDR,这也是保证选举的公平性。

DR是一个路由器接口的特征,而不是整个路由器的特征,换句话说,一台路由器可能是其中一个与他相连的广播网络的DR,但可能不是其他与他相连的广播网络的DR

DR&BDR的选取机制其实是先选BDR路由器,再选DR路由器.然而,由于"在路由器和它的邻居路由器之间首先建立双向通信(2-way communication),接着检查每台邻居路由器发送的Holle数据包的优先级,DR和BDR字段.列出所有具有DR和BDR选取资格的路由器列表(也就是说,路由器的优先级要大于0,并且它的邻居状态至少要是2-way的);接着,所有的路由器将宣称自己是DR路由器(Holle数据包的DR字段是它们自身接口的地址);所有路由器也将宣称自己是BDR路由器(Holle数据包的BDR字段是它们自身接口的地址)"和"宣告自己为DR路由器的路由器不能被选取为BDR路由器"这2个条件的存在,导致实际是DR路由器优先于BDR路由器之前选出来的.然后再重复刚才的步骤,选出BDR路由器.之所以用这样的机制,最大的好处就是在第一次选举出DR路由器之后,当BDR路由器出现故障时能够以最快的速度选出新的BDR路由器.而当DR出现故障后,BDR路由器也能够以最快的速度变成DR路由器.加快了网络的收敛,提高了网络的利用率

R1(f0/1)-----(f0/0)R2

clip_image025

当R1 OSPF进程启动后发送hello包 DR和BDR都为空,并且没有邻居

clip_image027

24s之后R2ospf进程启动,开始发生hello包

clip_image029

clip_image031

R1、R2收到对方的hello包后,在邻居表中添加邻居,并携带邻居表向外发送hello包,此时进入toway状态,DR和BDR仍然为空

clip_image033

当R1 等待计时器(40S)走完之后启动选举进程,开始选举DR、BDR,先选举BDR由于R2 router-id比R1高则R2将成为BDR,但是网络中又没有DR,所以R2成为DR,

clip_image035

clip_image037

但此时R2的还处于等待时间中 收到R1的hello包,发现自己就是DR和BDR所以不会将自己作为DR和BDR列出

clip_image039

clip_image041

R1将会继续宣告R2是DR和BDR,并发送DBD但由于R2还不知道DR和BDR,此时R2会一直提示进入2way状态

clip_image043

clip_image045

clip_image047

R2的等待时间结束,此时也宣称自己是BDR和DR路由器,收到R1的hello包,发现自己就是DR,所以将自己设为DR,加上"宣告自己为DR路由器的路由器不能被选取为BDR路由器"所以不参与BDR选举并将R1设为BDR

clip_image049

此时DR DBR选举结束并建立起邻接关系

假如,这个网络只有一台路由器(优先级不为0),它会选举DR/BDR吗?

R1#clear ip ospf pro

Reset ALL OSPF processes? [no]: y

00:12:13: OSPF: Flushing External Links

00:12:13: OSPF: Flushing Opaque AS Links

00:12:13: OSPF: Flushing Link states in area 0

00:12:13: OSPF: Interface FastEthernet0/0 going Down

00:12:13: OSPF: 1.1.1.1 address 12.1.1.1 on FastEthernet0/0 is dead, state DOWN

00:12:13: OSPF: Neighbor change Event on interface FastEthernet0/0

00:12:13: OSPF: DR/BDR election on FastEthernet0/0

00:12:13: OSPF: Elect BDR 0.0.0.0

00:12:13: OSPF: Elect DR 0.0.0.0

00:12:13: OSPF: Elect BDR 0.0.0.0

00:12:13: OSPF: Elect DR 0.0.0.0

00:12:13: DR: none BDR: none

00:12:13: OSPF: Flush network LSA immediately

00:12:13: OSPF: Remember old DR 1.1.1.1 (id)

00:12:13: Stop timer for 1.1.1.1 1.1.1.1 1 3

00:12:13: OSPF: Interface FastEthernet0/0 going Up

00:12:14: OSPF: We are not DR to build Net Lsa for interface FastEthernet0/0

00:12:14: Add 1.1.1.1 1.1.1.1 1 to min 23

00:12:14: Delay 600000/623736/833544/833868 translated to 23/9 for 10/27 324 (3)

00:12:14: OSPF: Build router LSA for area 0, router ID 1.1.1.1, seq 0x80000001

00:12:53: OSPF: end of Wait on interface FastEthernet0/0

00:12:53: OSPF: DR/BDR election on FastEthernet0/0

00:12:53: OSPF: Elect BDR 1.1.1.1

00:12:53: OSPF: Elect DR 1.1.1.1

00:12:53: OSPF: Elect BDR 0.0.0.0

00:12:53: OSPF: Elect DR 1.1.1.1

00:12:53: DR: 1.1.1.1 (Id) BDR: none

00:12:54: OSPF: No full nbrs to build Net Lsa for interface FastEthernet0/0

R1#

2. 点到点网络

clip_image051

clip_image053

Hello时间10s 死亡时间40s 等待时间 40s

不会选举DR和BDR

clip_image055

组播更新

3. 帧中继网络

clip_image057

基本配置

clip_image059

在帧中继网络中OSPF的运行模式有5种:

Type1----Non_Broadcast

默认配置

clip_image061clip_image063

发现没有邻居。说明在这种情况下邻居需要手动配置!

clip_image065 clip_image067

clip_image069

clip_image071

发现邻居已经形成并且有DR与BDR的选举!

clip_image073

单波更新

clip_image075

hello时间30s

如果此时在R2上no掉frame-relay map ip 12.1.1.1 201 b

clip_image077

路由表仍然存在

clip_image079

但链路层封装失败

Type2---- Broadcast

首先去掉刚才手动配置的邻居关系:

R1(config)#router ospf 100

R1(config-router)#no neighbor 12.1.1.2

R2(config)#router ospf 100

R2(config-router)#no neighbor 12.1.1.1

clip_image081clip_image083

将R1和R2接口的网络类型改成broadcast

R1(config-router)#int s0/0

R1(config-if)#ip ospf network broadcast

R2(config-router)#int s0/0

R2(config-if)#ip ospf network broadcast

clip_image085clip_image087

clip_image089

这说明了在这种网络类型下是不需要手动配置邻居关系的!

clip_image091

clip_image093

有DR与BDR的选举

clip_image095

Hello时间10s

clip_image097

传输方式为组播

Type3---- Point-to-Point

将R1,R1接口的网络类型改成Point-to-Point

R1(config-if)#ip ospf net point-to-point

R1(config-if)#ip ospf net point-to-point

clip_image099

Hello时间10s

clip_image101这说明了在这种网络类型下是不需要手动配置邻居关系的!

clip_image103

不会选举DR、BDR

clip_image105

组播更新

Type4---- Point-to-Multipoint

将接口改为Point-to-Multipoint

R1(config-if)#ip ospf network point-to-multipoint

R2(config-if)#ip ospf network point-to-multipoint

clip_image107

Hello 时间30s

clip_image109

同样不需要手动指定邻居关系

clip_image111

同样也不会选举DR、BDR

clip_image113

组播更新

Type5---- Point-to-Multipoint(Non_Broadcast)

R1(config-if)#ip ospf network point-to-multipoint non-broadcast

R2(config-if)#ip ospf network point-to-multipoint non-broadcast

clip_image115

clip_image117

这个时候邻居没有被自动发现。我们在R1,R2上手动指定邻居

R2(config-router)#nei 12.1.1.1

R1(config-router)#nei 12.1.1.2

clip_image119

clip_image121

不选举DR BDR

总结

网络类型

邻居自动发现

有无DR选举

Hello间隔

传输方式

Non_broadcast

30s

单播

Broadcast

10s

组播

Point-to-Point

10s

组播

Point-to-Multipoint

30s

组播

Point-to-Multipoint(非广播)

30s

单播

虚链路和GRE隧道

clip_image123

虚链路

基本配置

clip_image125

clip_image127

clip_image129

虚链路的配置:

虚链路必须配置在ABR上,在这个网络中ABR是R1和R2。

R1(config)#router ospf 100

R1(config-router)#area 1 virtual-link 2.2.2.2

R2(config)#router ospf 100

R2(config-router)#area 1 virtual-link 1.1.1.1

clip_image131

clip_image133

clip_image135

虚链路的Metric等同于所经过的全部链路开销之和,在这个网络中,Metric=1(Loopback)+10+10=21。

clip_image137

clip_image139

OSPF虚链路

是一条逻辑链路,在逻辑上等同于一条物理链路。主要有以下用途:

*通过一个非骨干区域连接一个区域到骨干区域

*通过一个非骨干区域连接一个分开的骨干区域

虚链路的配置必须是在ABR上进行的。并且采用的是不老化路由(DNA)。

GRE隧道

先no掉先前的虚链路

同样,在ABR上配置GRE隧道

clip_image141 clip_image143

并将tunnel发布到区域0

clip_image145

clip_image147

clip_image149

clip_image151

GRE源和目的也可以指向逻辑接口

clip_image153 clip_image155

clip_image157

OSPF的重分布

clip_image159

基本环境

clip_image161

clip_image163

clip_image165

clip_image167

在R2上实施重发布使全网路由同步

OSPF与RIP双向重发布

clip_image169

clip_image171

默认类型为E2

E2和E1的区别在于

E1 要计算外部加内部的METRIC 值,
E2 只计算外部的,不计算内部的,但会记下沿途的METRIC

在做OSPF的双节点重分布时如果使用E2则会导致路由混乱

clip_image173

我们把它修改为1

OSPF与EIGRP的重分布

clip_image175

clip_image177

OSPF/EIGRP重发布

clip_image179

clip_image181

clip_image183

汇总+特殊区域

clip_image185

clip_image187

clip_image189

clip_image191

clip_image193

现在我们来对网络进行汇总,首先是自治系统间汇总

clip_image195

clip_image197

自动生成一条指向null0的汇总路由

clip_image197[1]

clip_image199

clip_image201

自制系统间汇总

clip_image203

clip_image205

特殊区域

STUB完全末节区域

为了减少LSA泛洪量和路由表条目,就创建了末节区域,但要注意的,末梢区域中不允许存在虚拟链路;末梢区域中不允许存在AS边界路由器,末梢区域中的所有路由器都必须属于该末梢区域。对于末梢区域来说,访问AS外部的数据只能根据默认路由来寻址。

clip_image207

对之前的配置进行修改

clip_image209

clip_image211

clip_image211[1]

此时设置stub

clip_image213

clip_image215

NSSA 次末节区域

因此NSSA里可以有ASBR,ASBR将使用type7-LSA来宣告外部路由,但经过ABR,Type7被转换为Type5.7类LSA通过OSPF报头的一个P-bit作Tag,如果NSSA里的ABR收到P位设置为1的NSSA External LSA,它将把LSA类型7转换为LSA类型5.并把它洪泛到其他区域中;

如果收到的是P位设置为0的NSSAExternal LSA,它将不会转换成类型5的LSA,并且这个类型7的LSA里的目标地址也不会被宣告到NSSA的外部NSSA在IOS11.2后支持。

假如有另外一个路由器需要连在R1上,这时只能使用NSSA,因为在NSSA区域允许ASBR出现。我们在R1上添加一条环回口5.5.5.5,将其用RIP宣告出去,并加入OSPF协议中。

clip_image217

clip_image219

clip_image221

此时在R3上做路由重分布

clip_image223

clip_image225

clip_image227

OSPF路由器的类型和LSA

clip_image229

AR:内部路由器,所有接口都处在一个区域的路由器

ABR:连接一个过多个区域的路由器。ABR至少有一个接口是连接骨干区域的

BR:骨干路由器,至少有一个接口是和骨干区域相连接的路由器

ASBR:连接OSPF和外部自制系统的路由器

OSPF LSA的类型

类型代码

类型名称

描述

1

路由器LSA

每台路由器都会产生,在区域内泛洪

2

网络LSA

DR产生,在区域内泛洪

3

网络汇总LSA

ABR始发,在整个OSPF域中泛洪

4

ASBR汇总LSA

ABR始发,在整个OSPF域中泛洪

5

AS外部LSA

ASBR始发,在整个OSPF域中泛洪

6

组成员LSA

标识OSPF组播中的组成员,不做讨论

7

NSSA外部LSA

ASBR始发,

8

外部属性LSA

没有实现

9

Opaque LSA(本地链路范围)

用于MPLS流量工程,不做讨论

10

Opaque LSA(本地区域范围)

11

Opaque LSA(AS范围)

第一类:路由LSA

路由LSA描述了区域内路由器的链路状态,并且只在路由器所在区域内传播。

第二类:网络LSA

网络LSA描述连接到一个特定非广播多点接入(NBMA)或广播网络的一组路由器。网络LSA的作用是保证对某NBMA或广播网络只产生一个LSA。这是一种内部OSPF汇总。

第三类:ABR汇总LSA

此类LSA由ABR产生,用来描述不同网络区域间的路由器。特别的,此类LSA描述在一个OSPF自治区域内但在一个特定的接受LSA的OSPF区域之外的网络。第3类LSA的泛洪范围是没有找到网络或子网的区域。

第四类:ASBR汇总LSA

在功能上与第三类LSA非常类似,第4类LSA描述自治系统和边界路由器的路由,使得其他的路由器可以找到并到达ASBR。

第五类:自治系统外部LSA

由ASBR产生,描述在AS之外的目的地路由,除了stub区域外,第5类LSA到处泛洪。

第六类:组播LSA

该类LSA,Cisco并不支持,因此不进行讨论。

第七类:NSSA端区LSA

该类LSA由ASBR产生,描述一个非完全端区内的路由。此类LSA能够被ABR汇总并被第5类LSA覆盖,以传送到其他OSPF区域。详细信息可以参考RFC1587。

OSPF各区域中LSA类型

区域类型

LSA1

LSA2

LSA3

LSA4

LSA5

LSA7

普通区域

 

Stub

     

Totally Stub

       

NSSA

   

Totally NSSA

     

clip_image231

clip_image233

clip_image235

clip_image237

OSPF认证

OSPF的认证有2种类型(确切说是3种),其中type0表示无认证,type1表示明文认证,type2表示MD5认证。明文认证发送密码进行认证,而MD5认证发送的是报文摘要。有关MD5的详细信息,可以参阅RFC1321.

OSPF的认证可以在链路上进行,也可以在整个区域内进行认证。另外虚链路同样也可以进行认证。

端口认证

在R1和R2的串行链路上进行OSPF明文认证:

首先先在R1上做如下配置,看在R1配置完认证,R2还没有配置认证的时候的情况:

R1(config)#int s1/0

R1(config-if)#ip ospf authentication(启用认证)

R1(config-if)#ip ospf authentication-key cisco(配置密码)

debug

*Aug 15 22:51:54.275: OSPF: Rcv pkt from 10.1.1.2, Serial1/0 : Mismatch Authentication type. Input packet specified type 0, we use type 1

这里的type0是指对方没有启用认证,type1是明文认证。

在R2上配置认证

R2(config)#int s1/0

R2(config-if)#ip ospf authentication

R2(config-if)#ip ospf authentication-key cisco

*Aug 15 22:54:55.815: %OSPF-5-ADJCHG: Process 10, Nbr 1.1.1.1 on Serial1/0 from LOADING to FULL, Loading Done

在R2和R3的串行链路上进行MD5认证的

R2(config)#int s1/1

R2(config-if)#ip ospf authentication message-digest(定义认证类型为MD5

R2(config-if)#ip ospf message-digest-key 1 md5 cisco(定义key和密码)

R3(config)#int s1/0

R3(config-if)#ip ospf authentication message-digest

R3(config-if)#ip ospf message-digest-key 1 md5 cisco

R3(config-if)#

*Aug 15 22:59:44.175: %OSPF-5-ADJCHG: Process 10, Nbr 2.2.2.2 on Serial1/0 from LOADING to FULL, Loading Done

在Area0上进行区域认证

    R1(config)#router ospf 100

R1(config-router)#area 0 authentication

DEBUG

*Aug 15 23:09:32.619: %OSPF-5-ADJCHG: Process 10, Nbr 2.2.2.2 on FastEthernet0/0 from FULL to DOWN, Neighbor Down: Dead timer expired

*Aug 15 23:10:32.619: OSPF: Rcv pkt from 21.1.1.2, FastEthernet0/0 : Mismatch Authentication type. Input packet specified type 0, we use type 1

我们注意到我们并没有配置密码。也就是说在不配置密码的情况下,仍需要双方都启用认证才可以保持邻居关系。

在R2上也开启区域认证

R2(config-router)#area 0 authentication

R2(config-router)#

*Aug 15 23:20:43.239: %OSPF-5-ADJCHG: Process 10, Nbr 1.1.1.1 on FastEthernet0/0 from LOADING to FULL, Loading Done

邻居关系也恢复了。

虚链路也可以单独配置认证,同样分为Null,明文认证,MD5认证。配置命令如下:

Null:

R2(config-router)#area 1 virtual-link 3.3.3.3 authentication null

R3(config-router)#area 1 virtual-link 2.2.2.2 authentication null

明文:

R2(config-router)#area 1 virtual-link 3.3.3.3 authentication-key cisco

R3(config-router)#area 1 virtual-link 2.2.2.2 authentication-key cisco

MD5:

R2(config-router)#area 1 virtual-link 3.3.3.3 authentication message-digest

R2(config-router)#area 1 virtual-link 3.3.3.3 message-digest-key 1 md5 cisco

R3(config-router)#area 1 virtual-link 2.2.2.2 authentication message-digest

R3(config-router)#area 1 virtual-link 2.2.2.2 message-digest-key 1 md5 cisco

PS:认证部分参考网友博文

你可能感兴趣的:(职场,休闲,lab,进阶,ospf)