OSPF(Open Shortest Path First开放式最短路径优先 -链路状态路由协议
OSPF分为OSPFv2和OSPFv3两个版本,其中OSPFv2用在IPv4网络,OSPFv3用在IPv6网络
思科OSPF的协议管理距离(AD)是110,华为OSPF的协议管理距离是10
通告网络接口的状态来建立链路状态数据库,生成最短路径树,每个OSPF路由器使用这些最短路径构造路由表
- Attempt: 只适于NBMA网络,在NBMA网络中邻居是手动指定的,在该状态下,路由器将使用HelloInterval取代PollInterval来发送Hello包。
- Init: 表明在DeadInterval里收到了Hello包,但是2-Way通信仍然没有建立起来。
- two-way: 双向会话建立,而RID彼此出现在对方的邻居列表中。(若为广播网络:例如:以太网。在这个时候应该选举DR,BDR。)
- ExStart: 信息交换初始状态,在这个状态下,本地路由器和邻居将建立Master/Slave关系,并确定DD Sequence Number,路由器ID大的的成为Master。
- Exchange: 信息交换状态,本地路由器和邻居交换一个或多个DBD分组(也叫DDP),DBD包含有关LSDB中LSA条目的摘要信息。
- Loading: 信息加载状态:收到DBD后,将收到的信息同LSDB中的信息进行比较。如果DBD中有更新的链路状态条目,则向对方发送一个LSR,用于请求新的LSA。
- Full: 完全邻接状态,邻接间的链路状态数据库同步完成,通过邻居链路状态请求列表为空且邻居状态为Loading判断
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开放式最短路径优先 -链路状态路由协议的更多相关文章
- OSPF(Open Shortest Path First)
1.概述 路由协议OSPF全称为Open Shortest Path First,也就开放的最短路径优先协议,因为OSPF是由IETF开发的,所以所有厂商都可以用. OSPF的流量使用IP协议号. O ...
- 开放式最短路径优先OSPF
1.OSPF基本知识 OSPF作为基于链路状态的协议,解决了RIP在收敛慢,路由环路,可扩展性差等问题,还有以下优点: 采用组播方式发布报文,可以减少对其他不运行ospf路由器的影响 ospf直尺无类 ...
- ZOJ 2760 How Many Shortest Path (不相交的最短路径个数)
[题意]给定一个N(N<=100)个节点的有向图,求不相交的最短路径个数(两条路径没有公共边). [思路]先用Floyd求出最短路,把最短路上的边加到网络流中,这样就保证了从s->t的一个 ...
- s5-15 开放的最短路径优先_OSPF
L-S路由协议的实例—OSPF 开放的路径优先(Open Shortest Path First) 使用图(graph)来表述真实的网络 - 每个路由器/Lan都是一个节点 - 测量代价/量度(met ...
- CCNA学习指南 -开放最短路径优先OSPF(单区域)
在上个世纪九十年代撰写的<TCP/IP协议详解 卷一:协议>的动态选路中,内容大部分还是介绍 RIP路由选择信息协议,在互联网络如此发达的今天,RIP因为它的局限性逐步被OSPF取代. 在 ...
- [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 ...
- 最短路径遍历所有的节点 Shortest Path Visiting All Nodes
2018-10-06 22:04:38 问题描述: 问题求解: 本题要求是求遍历所有节点的最短路径,由于本题中是没有要求一个节点只能访问一次的,也就是说可以访问一个节点多次,但是如果表征两次节点状态呢 ...
- ZOJ 2760 How Many Shortest Path(最短路径+最大流)
Description Given a weighted directed graph, we define the shortest path as the path who has the sma ...
- 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 ...
随机推荐
- HTML的表单
HTML表单 <!-- <form></form>标签对用来创建一个表单,即定义表单的开始和结束位置,<form>表单具有下面等属性 1.action属性用来 ...
- DB Create and Insert
<?php $servername = "localhost"; $username = "username"; $password = "pa ...
- Unity3D ShaderLab Half Lambert光照模型
Half Lambert光照模型 说到Half Lambert ,就不得不说反恐精英了,在制作反恐精英的过程中,为了防止物体的背面光丢失而显得太过平面化,就用了这个称之为half lambert的技术 ...
- 把input类型剔出来
<!doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 用Inno Setup来解决.NetFramework安装问题
用Inno Setup来解决.NetFramework安装问题 2010-03-01 09:59:26 标签:.Net Framework Setup 休闲 Inno 原创作品,允许转载,转载时请务必 ...
- 云数据库 Bmob
/**************************************************************************************** * 云数据库 Bmo ...
- 特性节点Attribute
深入理解DOM节点类型第六篇——特性节点Attribute document.getElementById('b_results').attributes[0].textContent documen ...
- MySQL单表多字段模糊查询解决方法
例如现有table表,其中有title,tag,description三个字段,分别记录一条资料的标题,标签和介绍.然后根据用户输入的查询请求,将输入的字串通过空格分割为多个关键字,再在这三个字段中查 ...
- 2.0.4 CCLabelTTF在ios7下不显示的问题
要修改框架lib目录里的 CCImage.mm,就是把浮点值取了个整,之前的浮点形导致绘制失败: 在_initWithString这个方法里把如下代码替换一下就行了: //////////////// ...
- java设定窗口步长,依次统计窗口内数值总和
import java.util.Arrays; public class test2 { public static void main(String[] args) { int winSize = ...