OSPF学习笔记

 OSPF使用IP协议号89标识;

OSPF的层次化网络结构优势:

一个Area的拓扑发生变化而引起的LSA泛洪不会影响到其他OSPF区域,即缩小了拓扑变化导致的LSA泛洪影响范围;

OSPF的Hello包的作用:

1、OSPF路由器间用来建立邻居/邻接状态;

2、在多路访问链路下,用于选举DR/BDR;

3、在OSPF邻居关系建立完成后,用来充当Keepalive的角色,保持邻居有效。

OSPF邻居建立失败的因素:

1、router-id冲突

2、hello-interval/dead-interval不一致;

3、Authentication密码不一致

4、area-id不一致;

5、area-type不一致;

6、IP地址掩码不一致;

7、Network-Type不一致;(这种情况下可以建立邻接关系,但是不会将路由加载进路由表)

8、MTU不一致;(该情况会导致卡在Exstart/Exchange状态)

9、Hello包被过滤;

 

OSPF的操作过程:

1.OSPF路由器从激活了OSPF进程的接口下组播发送Hello包,Hello包中包含了本链路上的所有邻居的router-ids,如果邻居路由器收到了该hello包,发现里面含有自己的router-id,并且本路由器收到邻居的hello,也发现有自己的router-id,则双方进入Two-communication状态,此状态下开始选举DR/BDR;

2.建立邻接关系必须有一个前提条件:双方的hello包中包含的Authentication、hello-interval、dead-interval、network-type、MTU必须完全一致,并且router-id不能冲突、接口的IP地址掩码必须一致,满足这些条件才会建立起邻接关系;

3.如果上述条件满足,并且进入了Two-Way状态,在多路访问链路下会进行DR/BDR的选举(参与选举DR/BDR的OSPF路由器的priority必须大于0);

4、DR/BDR选举完成后,进入Extart/Exchange状态,由router-id最高者成为Master,router-id低得成为Slave,相互交互DBD,DBD描述了LSDB的简要信息,OSPF路由器收到DBD后,将DBD描述的信息与自己的LSDB比较,看看自己缺少哪些路由信息,然后将自己缺少的路由信息以LSR的形式发给对方,向对方请求这些路由的详细情况;路由器收到LSR之后,将LSR需要的路由条目的详细信息放入LSU中,即LSA,向邻居通告具体条目信息;

5、进入Loading状态,该状态下也进行LSR/LSU的交互,该过程称为数据库同步过程;

6、最后进入Full状态,双方拥有相同的LSDB;

 

OSPF网络中的所有路由器都重复以上的过程,最终所有OSPF路由器都拥有相同的LSDB,也就是说每台路由器都将拥有一张整个网络的拓扑图,然后OSPF路由器将以自身为根,根据这张LSDB,使用SPF算法构建SPF算法树,从这棵SPF算法树中选择达到每个目的网段的最佳路径放入路由表;

SPF算法树根据沿着路由方向去往目的地的所有OSPF路由器出接口的cost的累加和进行计算,计算公式为cost=10^8/BW;

 

DR/BDR

在多路访问网络下,OSPF路由器将会选举DR/BDR,由DR负责整个多路访问网络中的除hello之外的其他所有OSPF packets的传递;

多路访问网络中的所有OSPF路由器都与DR/BDR建立邻接关系,非DR/BDR之间建立邻居关系(DROthers),DR和BDR之间也是建立邻接关系;

BDR监控DR的存活状态,一旦DR失效,BDR将立即顶替DR的位置而自己成为DR,此时会重新激活一个BDR选举进程,选出新的BDR;

如果在已经存在DR/BDR的网络中新加入一台OSPF路由器,不管该路由器拥有多高的priority,都不会抢占已有的DR/BDR角色,即DR/BDR不能被抢占;

DR/BDR是针对接口而言的,不是针对整个路由器的;

DR发送OSPF packets使用的组播地址是224.0.0.5,所有的OSPF路由器都会侦听该地址,并接受和处理发往该地址的OSPF packets;

DROthers发送OSPF packets使用的组播地址是224.0.0.6,这个地址只有DR/BDR才会侦听该地址;

DR/BDR的选举步骤:

1、priority最高者为DR,次高者为BDR;

2、priority相同时,比较router-id,router-id高者为DR,次高者为BDR;

 

OSPF Packets

1.Hello

   用来建立邻居/邻接关系;选举DR/BDR;充当Keepalive的角色保持邻居有效;

2.DBD

   描述自己的LSDB的简要的路由条目(相当于目录);需要确认;

3.LSR

   向邻居路由器请求自己不知道的网络的详细信息;需要确认;

4.LSU(LSA)

   路由器用来响应LSR的,内容就是详细的路由信息;需要确认;

5.LSAck

   用来对DBD、LSR、LSU进行确认的。

 

OSPF LSA

1类LSA      router LSA

每台OSPF路由器都会产生,用来描述自身运行OSPF的接口所关联的链路状态,包括自身的router-id、接口所属的子网号、掩码;

只能在本Area内泛洪扩散;

2类LSA      Network LSA

Network-LSA仅仅在多路访问链路上存在,由DR产生,用来描述该多路访问链路上的所有的邻居router-id,包括DR本身的router-id;

只能在本Area内泛洪扩散;

3类LSA      Network Summary LSA

Network Summary LSA由ABR产生,用来描述本Area以外的其他OSPF Areas里的OSPF路由信息;

在整个OSPF自治系统内泛洪扩散;

4类LSA      ASBR summary LSA

ASBR summary LSA由ABR产生,用来描述ASBR是谁,旨在告知OSPF系统内所有路由器ASBR是谁,它的内容就是ASBR的router-id,即一个32位的主机路由;

在除了ASBR所在的Area的其他OSPF Areas内泛洪扩散;

5类LSA      AS External LSA

AS External LSA由ASBR产生,用来描述OSPF自治系统之外的其他外部路由信息;

在整个OSPF自治系统内泛洪扩撒;

6类LSA     Multicast LSA(用于MOSPF)

7类LSA     NSSA AS External LSA

LSA的内容与5类LSA几乎完全一样,不一样的是7类LSA仅仅存在于NSSA区域,7类LSA被限制在NSSA区域内泛洪扩散;

ABR收到7类LSA之后,会根据7类LSA头部的P-bit是0还是1来决定是否将其转化成5类LSA,泛洪到其他区域;

如果P-bit为1 ,则将7类LSA转化为5类LSA;

如果P-bit为0, 则不将7类LSA转化为5类LSA;

 

OSPF 特殊区域

Stub Area

如果一个OSPF Area只有一个出口,那么就可以考虑将该区域设置成OSPF Stub区域;

Stub Area不允许有5类LSA(即外部路由)进入,所有5类LSA都会在ABR处被过滤,ABR会以3类LSA得形式向Stub区域下发一条默认路由,stub area的所有路由器都将使用该默认路由去往OSPF外部网络;

stub Area的设定也减少了一些低端设备的LSDB负载;

Totally Stub Area

如果再强制一下,在ABR处把3类LSA也过滤掉,即stub区域的路由器都使用默认路由去往域间网段和OSPF外部网段;这样的stub称为totally stub;

NSSA(Not-so-stubby Area)

Stub区域的特点是不能有5类LSA存在,也就不能往stub区重分布外部路由,那么如果在某些情况下,又需要重分布外部路由呢?NSSA就取消了stub区域的这一限制,允许将外部路由重分布进来,但是为了不与stub area发生冲突,将外部路由以7类LSA进行通告,7类LSA只能在本NSSA区域内传递;

Totally NSSA

同样也把3类LSA过滤了,ABR会下发一条默认路由来补偿;

 

OSPF Network-Type

point-point                        不选DR/BDR                    组播发数据,地址224.0.0.5

point-to-multipoint           不选DR/BDR                    单播发数据

broadcast                          选DR/BDR                       组播发数据,DR发到224.0.0.5,DROthers发到224.0.0.6

non-broadcast                  选DR/BDR                       单播发数据

virtual-link                         不选DR/BDR,且Hello包在邻接关系建立完成之后就不再发了       单播发数据

 

OSPF Virtual-Link建立条件:

1、Virtual-Link所穿越的区域不能使stub区域!

2、Virtual-Link只能在两台ABR之间创建;

3、Virtual-Link默认属于Area0,如果启用了区域0认证,则需要对Virtual-Link进行认证配置;

 

OSPF路由类型

Intra-area path  域内路由

Inter-area path  域间路由

Type 1 external path(E1)            O E1的路由在OSPF内传递时,每传一跳都会加上相应的cost值;

Type 2 external path(E2)            O E2的路由忽略在OSPF内的传递时的cost,仅仅保留被ASBR通告时初始化的cost;

 

OSPF的路由汇总

OSPF的汇总只能在ABR或者ASBR上进行!!!

在ABR上     router(config-router)#area 0 range10.1.0.0 255.255.0.0

在ASBR上   router(config-router)#summary-address10.1.0.0 255.255.0.0

你可能感兴趣的:(ospf,CCIE)