**协议**

OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部

**AD值**

思科OSPF的协议管理距离是110

华为OSPF的协议管理距离是150

**链路状态**

链路式路由器接口的另一种说法,因此OSPF也称为接口状态路由协议;OSPF通过路由器之间通告网络接口的状态来建立链路状态数据库,生成最短路径树,每个OSPF路由器使用这些最短路径构造路由表

**原理** 

#建立邻接表

#同步数据库

#计算路由表

**区域分类**

骨干:0区域

非骨干:不是0区域的

**Hello协议的目的**

    1.用于发现邻居

  2.在成为邻居之前,必须对Hello包里的一些参数协商成功

  3.Hello包在邻居之间扮演着keepalive的角色

  4.允许邻居之间的双向通信

     5.它在NBMA(Nonbroadcast Multi-access(非广播地址))网络上选举DRBDR


**建立邻居影响因素**

1RID不能相同;

    router ospf 1

   router-id  x.x.x.x

  clear ip ospf process

  2、区域ID必须相同;

  3、认证必须成功(认证类型必须相同,并且密码必须相同)

  4、子网掩码必须相同(特殊情况下)

  5hello时间必须相同;

          interface fas0/0

         ip ospf hello-interval {value}

  6dead时间必须相同;

          interface fas0/0

        ip ospf dead-interval {value}

  7、特殊标记位必须相同;

  8、优先级必须不能全为0(特殊情况下)

  93MTU必须相同,否则会卡在Exatart状态

        Interface fas0/0

        Ip mtu +num(如1499

**OSPF状态**

1.Down:此状态还没有与其他路由器交换信息。首先从其ospf接口向外发送hello分组,还并不知道DR(若为广播网络)和任何其他路由器。发送hello分组是,使用组播地址224.0.0.5

    2.Attempt: 只适于NBMA网络,NBMA网络中邻居是手动指定的,在该状态下,路由器将使用HelloInterval取代PollInterval来发 送Hello.

    3.Init:初始化到了Hello,但是2-Way通信仍然没有建立起来.

    4.two-way: 双向会话建立,RID 彼此出现在对方的邻居列表中。(若为广播网络:例如:以太网。在这个时候应该选举DR,BDR

   5.ExStart: 信息交换初始状态,在这个状态下,本地路由器和邻居将建立Master/Slave关系,路由器ID大的的成为Master.

   6.Exchange: 信息交换状态:本地路由器和邻居交换一个或多个DBD分组(也叫DDP) DBD包含有关LSDBLSA条目的摘要信息)

   7.Loading: 信息加载状态:收到DBD,使用LSACK分组确认已收到DBD.将收到的信息同LSDB中的信息进行比较。如果DBD中有更新的链路状态条目,则想对方发送一个LSR,用于请求新的LSA

          8.Full: 完全邻接状态,该状态表示双方的数据库完全同步

**DRBDR的选取原则**

1.优先级为0的不参与选举

2.优先级高的路由器为DR

3.优先级相同时,以router ID 大为DRrouter ID 以回环接口中最大ip为准。若无回环接口,以真实接口最大ip为准。

4.缺省条件下,优先级为1

**OSPF定义的5种网路类型**

类型

2

Hellodead

DR/BDR

是否主动发包

broadcast :广播

(MA , multi-access)

2层协议为ethernet时,

对应的是广播网络类型;

hello10s

dead40s

需要选举DR/BDR

端口主动发包,发包方式为组播(224.0.0.5/6)

 non-broadcast

非广播。(NBMA)

 

2层协议为Frame-relay时,

对应的是非广播网络类型;

  hello30s

dead120s

需要选举DR/BDR

端口不主动发包,发包方式为单播;

OSPF实现单播:neighbor x.x.x.x

point-to-point

点到点(P2P)

2层协议为HDLC\PPP时,

对应的是点到点网络类型;

hello10s

dead40s

不需要选举DR/BDR

端口主动发包,发包方式为组播(224.0.0.5)

point-to-Multipoint

点到多点(p2mp)


hello30s

dead120s

不需要选举DR/BDR

端口主动发包,发包方式为组播(224.0.0.5)

 

point-to-Multipoint non-broadcast

点到多点(p2mp-NB)


hello30s

dead120s

不需要选举DR/BDR

端口不主动发包,发包方式为单播

**LSA类型**

1LSArouter LSA

任何一个路由器,都会在任何一个区域中产生一个 1LSA

可以将1LSA理解为自我介绍,用于说明本身有哪些链路进入了该区域,并且是连接着哪些设备,是如何连接的;到对方的距离是多少;

1LSA只能在一个区域内部进行传输

link-id:路由器的RID

adv:路由器的RID

传输范围:只能在一个区域内部

ADV是否变化:不变化  

2LSAnet Link state

这种类型的 LSA ,只有在选举DR的网络环境中才会有。

只有DR才有资格产生 2 LSA

link-id:表示的是 DR 的接口IP地址;

ADVDRRID

传输范围:一个区域内部

ADV是否变化:不变化;

   

 // 基于 LSDB 中的1LSA 或者 12LSA,就可以计算出一个区域内部的路由,叫做 O 的路由;

3LSAsummary net link state

在不同的区域之间传输路由信息;

这种类型的LSA,仅有 ABR 可以产生。

3LSAABR产生以后,首先进入到 OSPF 区域0,然后再转发到其他区域。

ABR

1、可以将非0区域中的域内-O”路由,转变成3LSA,发送到0区域;

 

2、可以将0区域中的域内-O”路由,转变成3LSA,发送到非0区域;也可以将0区域中的域间-OIA”路由,转变成新的3LSA,发送到其他的非0区域中;

3、一定不可以将非0区域中的3LSA转发到0区域;

link-id:表示的是路由的前缀;

advABRRID

传输范围:一个区域内部

ADV是否变化:是;

4LSAsummary ASB link state

专门是为了辅助5LSA计算路由而生的;

传递的信息是 ASBR RID

是由与 ASBR在同一个区域的 ABR 产生的;

传递过程中每经过一个ABRADV都会变化一次。

link-id:表示的是 ASBRRID

advABR

传输范围:同一个区域内部;

ADV是否变化:是的;

5LSAexternal LSA

表示的是OSPF的外部路由,没有任何区域概念;

可以在OSPF网络中畅通无阻。

哪里有OSPF,哪里就有5LSA

link-id:表示的是外部路由前缀;

advASBRRID ;

传输范围:没有限制;

ADV是否变化:否