OSPF分为OSPFv2和OSPFv3两个版本,其中OSPFv2用在IPv4网络,OSPFv3用在IPv6网络

思科OSPF的协议管理距离(AD)是110,华为OSPF的协议管理距离是10

通告网络接口的状态来建立链路状态数据库,生成最短路径树,每个OSPF路由器使用这些最短路径构造路由表

手工指定Router-ID。
路由器上活动Loopback接口中IP地址最大的,也就是数字最大的,如C类地址优先于B类地址,一个非活动的接口的IP地址是不能被选为Router-ID的
如果没有活动的Loopback接口,则选择活动物理接口IP地址最大的
 
OSPF计算的Cost,同样是和接口带宽成反比,带宽越高,Cost值越小。到达目标相同Cost值的路径,可以执行负载均衡,最多6条链路同时执行负载均衡。
 
OSPF包的目标地址使用的是224.0.0.5 而除了DR/BDR以外发送的OSPF包的目标地址为224.0.0.6
 
  1. Down:此状态还没有与其他路由器交换信息。首先从其ospf接口向外发送hello分组,还并不知道DR(若为广播网络)和任何其他路由器。发送hello分组使用组播地址224.0.0.5。
  2. Attempt: 只适于NBMA网络,在NBMA网络中邻居是手动指定的,在该状态下,路由器将使用HelloInterval取代PollInterval来发送Hello包。
  3. Init: 表明在DeadInterval里收到了Hello包,但是2-Way通信仍然没有建立起来。
  4. two-way: 双向会话建立,而RID彼此出现在对方的邻居列表中。(若为广播网络:例如:以太网。在这个时候应该选举DR,BDR。)
  5. ExStart: 信息交换初始状态,在这个状态下,本地路由器和邻居将建立Master/Slave关系,并确定DD Sequence Number,路由器ID大的的成为Master。
  6. Exchange: 信息交换状态,本地路由器和邻居交换一个或多个DBD分组(也叫DDP),DBD包含有关LSDB中LSA条目的摘要信息。
  7. Loading: 信息加载状态:收到DBD后,将收到的信息同LSDB中的信息进行比较。如果DBD中有更新的链路状态条目,则向对方发送一个LSR,用于请求新的LSA。
  8. Full: 完全邻接状态,邻接间的链路状态数据库同步完成,通过邻居链路状态请求列表为空且邻居状态为Loading判断
(1)Stub区域
由于并不是每个路由器都需要外部网络的信息,为了减少LSA泛洪量和路由表条目,就创建了末梢区域,位于Stub边界的ABR将宣告一条默认路由到所有的Stub区域内的内部路由器,不接受自治系统外部信息,同时也拒绝4类LSA,Stub区域不能包含ASBR(除非ABR也是ASBR).
(2)Totally Stub区域
Cisco专用区域,不接受自治系统外部路由和自治系统内其他区域汇总路由。
(3)NSSA区域
不接受自治系统外部信息,但NSSA可以包含ASBR。
(4)Totally NSSA区域
Cisco专用区域,不接受自治系统外部路由和自治系统内其他区域汇总路由
 
 

SPF的八种状态机:

1.down

刚启动OSPF进程,还未收到邻居的任何信息。

2.attempt

只发生NBMA网络中,使用单播更新,发送HELLO分组,但从邻居没有收到任何信息。

3.init

只有一方收到的另一方的HELLO数据包,并且在邻居字段中收到对方的route-id.

4.two-way

本路由器收到对方的HELLO数据包,并且在邻居字段中看到自己的route-id.

5.exstart

在交换DBD之前阶段选出主/从路由器。

6.exchange

完成协商交换DBD.

7.loading

向对方发送LSA请求分组确定自己少哪些LSA,发送LSU告诉对方自己详细的LSA信息。并用LSA ACK确认。

8.full

数据同步,完成邻接关系。

OSPF邻居关系停在各状有态的原因:

一.OSPF邻居表为空
1.接口上没有启动OSPF

2.访问列表阻止了HELLO包分组。

3.hello间隔与DEAD时间不匹配。

4.区域ID不匹配。

5.PASSWD不对。

6.一个OSPF邻接体存在第二个IP地址。

7.frame-relay map中缺少broadbast关键字。

二.OSPF邻居关系停在ATTEMPT状态:

1.错误配置了neighbor语句。

2.ACL阻止了HELLO分组。

3.NBMA中单播中断。

三.OSFP邻居关系停在INIT状态:

1.hello在某一边丢失。

2.验证某一边启用。

四.OSPF邻居在TWO-WAY:

1.二边的优先级都为0

五.OSPF邻居停滞exstart/EXCHANGE状态

1.不匹配接口的MTU(可以使用ip ospf mtu-ingore忽略,在MTU小的一方打)

2.在邻居上有重复的ROUTE-ID.

(120/1)代表120是最大管理距离,1是当前的跳数,也是就说这是个rip协议,静态路由。 
思科各路由协议的优先级排名(从高到低)
DIRECT | 0
STATIC | 1
EIGRP Summary | 5
eBGP | 20
内部 EIGRP | 90
IGRP | 100
OSPF | 110
IS-IS | 115
RIP | 120
EGP | 140
外部EIGRP | 170
iBGP | 200
未知 | 255

OSPF(Open Shortest Path First开放式最短路径优先 -链路状态路由协议的更多相关文章

  1. OSPF(Open Shortest Path First)

    1.概述 路由协议OSPF全称为Open Shortest Path First,也就开放的最短路径优先协议,因为OSPF是由IETF开发的,所以所有厂商都可以用. OSPF的流量使用IP协议号. O ...

  2. 开放式最短路径优先OSPF

    1.OSPF基本知识 OSPF作为基于链路状态的协议,解决了RIP在收敛慢,路由环路,可扩展性差等问题,还有以下优点: 采用组播方式发布报文,可以减少对其他不运行ospf路由器的影响 ospf直尺无类 ...

  3. ZOJ 2760 How Many Shortest Path (不相交的最短路径个数)

    [题意]给定一个N(N<=100)个节点的有向图,求不相交的最短路径个数(两条路径没有公共边). [思路]先用Floyd求出最短路,把最短路上的边加到网络流中,这样就保证了从s->t的一个 ...

  4. s5-15 开放的最短路径优先_OSPF

    L-S路由协议的实例—OSPF 开放的路径优先(Open Shortest Path First) 使用图(graph)来表述真实的网络 - 每个路由器/Lan都是一个节点 - 测量代价/量度(met ...

  5. CCNA学习指南 -开放最短路径优先OSPF(单区域)

    在上个世纪九十年代撰写的<TCP/IP协议详解 卷一:协议>的动态选路中,内容大部分还是介绍 RIP路由选择信息协议,在互联网络如此发达的今天,RIP因为它的局限性逐步被OSPF取代. 在 ...

  6. [Swift]LeetCode847. 访问所有节点的最短路径 | Shortest Path Visiting All Nodes

    An undirected, connected graph of N nodes (labeled 0, 1, 2, ..., N-1) is given as graph. graph.lengt ...

  7. 最短路径遍历所有的节点 Shortest Path Visiting All Nodes

    2018-10-06 22:04:38 问题描述: 问题求解: 本题要求是求遍历所有节点的最短路径,由于本题中是没有要求一个节点只能访问一次的,也就是说可以访问一个节点多次,但是如果表征两次节点状态呢 ...

  8. ZOJ 2760 How Many Shortest Path(最短路径+最大流)

    Description Given a weighted directed graph, we define the shortest path as the path who has the sma ...

  9. AOJ GRL_1_C: All Pairs Shortest Path (Floyd-Warshall算法求任意两点间的最短路径)(Bellman-Ford算法判断负圈)

    题目链接:http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=GRL_1_C All Pairs Shortest Path Input ...

随机推荐

  1. JQuery源码分析(七)

    了解jQuery对DOM进行遍历背后的工作机制,这样可以在编写代码时有意识地避免一些不必要的重复操作,从而提升代码的性能. 关于jQuery对象的包装 var $aaron = $("aar ...

  2. UI基础:UITableView的编辑和移动

    相对UITableViiew进行编辑,必须设置代理,让代理遵循UITableViewDataSource和UITableViewDelegate协议.因为需要代理实现协议中几个必须的方法. UITab ...

  3. Android开发指南-框架主题-安全和许可

    概述:Android操作系统是一个安全便捷的Linux系统,遵循Linux系统机制,允许多进程.为了进程间的数据共享和交互共用,设计"权限"这个名词,声明权限代表可使用此权限,未声 ...

  4. 多界面开发 、 导航控制器(NavigationController)

    1 VC之间的跳转和正向传值 1.1 问题 在实际的开发中更多的应用都会有多个页面组成,每个页面展示不同的信息,页面之间的跳转是由视图控制器来实现的,本案例实现两个页面的之间的跳转和页面之间的正向传值 ...

  5. vi的用法 【转】

        vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任何版本,vi编辑器 ...

  6. c++ encode decode

    std::string UrlEncode(const std::string& szToEncode) { std::string src = szToEncode; char hex[] ...

  7. linux 网络联接

    安装完进入系统以后需要配置ip 方法一:图形界面直接配置,在system下的prefrecens下面的network下面设置 方法二: 在安装虚拟机的时候选择“bridge networking ”网 ...

  8. UVa 10810 - Ultra-QuickSort

    题目大意:给出一个数列,每次交换相邻数字,求排成递增序的最少交换次数. 分析:求逆序数,合并排序 #include<cstdio>#include<cstring>#inclu ...

  9. 理解 %IOWAIT (%WIO)

    %iowait 是 “sar -u” 等工具检查CPU使用率时显示的一个指标,在Linux上显示为 %iowait,在有的Unix版本上显示为 %wio,含义都是一样的,这个指标常常被误读,很多人把它 ...

  10. c#部分---好题--顺便练练“类的知识”

    练习:判断邮箱格式是否正确 //1.有且只能有一个@ //2.不能以@开头 //3.@之后至少有一个. //4.@和.不能靠在一起 //5.不能以.结尾