OSPF是一个动态路由协议,运行OSPF的路由器之间需要交换链路状态信息和路由信息,在交换这些信息之前首先需要建立邻接关系。邻接关系用来交换链路状态及路由信息。

注意:并非所有的邻居关系都可以成为邻接关系,不同的网络类型,是否建立邻接关系的规则也不同。

也就是说链路状态信息只在建立了邻接关系的路由器间传递,这点很生要。

四种网络类型:

1 点对点:两台路由器间仅有一条链路,不需要选举,直接通过hello报文建立邻接关系。这种类型的网络建立邻接关系时端口有不同状态的变化,见下图

各种状态的解释如下:

Down: 这是端口的初始状态,在该状态下,底层协议显示该端口不可用,所有定时器被关闭。

Loopback: 此状态表示端口被环回。在该状态下的端口被通告为一个Stub网段。

Point-to-point(P-to-P): 在此状态下,端口是可用的,而且端口是连接到点到点、点到多点或者虚连接,此状态下的端口试图与邻居建立邻接关系,并以HelloInterval的间隔发送Hello报文。

各种事件解释如下:

UnloopInd: Unloopback Indication,表示端口解除环回状态。处于Loopback状态下的端口如果收到此事件,则进入Down状态。

InterfaceUp: 端口的链路层协议变成可用状态,即常说的链路层Up。由于不需要选举DR和BDR,因此点到点、点到多点网段以及虚连接的端口状态变换比较简单,在Down状态下收到InterfaceUp事件后,转为Point-to-point(P-to-P)状态,此状态即为稳定工作状态。

2 点对多点:邻居通过反向地址解析协议来发现,不需要选举适用于非全连接,用于帧中继环境,通过动态映射,使FR支持组播。端口状态变化和点对点型网络相同。不完全连接的帧中继网络是典型的点对多点网络。

3 广播:这种网络类型中存在过多的LSA, 为减少邻接关系的数量,从而减少链路状态信息以及路由信息的交换次数,需要选举DR和BDR,其它路由器只与DR和BDR建立邻接关系,并交换链路状态信息。以太网是典型的广播型网络。

如果Router Priority被设置为0,那么该路由器将不允许被选举成DR或者BDR。

Router Priority越大越优先。如果相同,Router ID大者优先。

4 NBMA(非广播多路访问):全连接,不支持组播,邻居需要手动指定,全连接的ATM网络是典型的NBMA网络。

5 广播型和NBMA端口状态的转换

Waiting: 在此状态下,路由器通过监听接收到的Hello报文检测网络中是否已经有DR和BDR。在此状态下的路由器不可以参与选举DR和BDR。

Backup: 在此状态下,该路由器成为所连接网络上的BDR,并与网段中所有的其他路由器建立邻接关系。

DR: 在此状态下,该路由器成为所连接网络上的DR,并与网段中所有的其他路由器建立邻接关系。

DROther: 该路由器连接到一个广播型网段或者NBMA网段,而且该路由器不是一个DR或者BDR。此状态下的路由器与DR和BDR形成邻接关系并交换路由信息。

BackupSeen: 路由器已经检测到网络上是否存在BDR。

一个OSPF路由器在广播型网段和NBMA网段上选举DR和BDR之前,首先会等待一段时间(RouterDeadInterval),在这段时间里检测网络上是否已经存在DR和BDR,如果已经有DR和BDR,则不启动选举过程,直接进入DROther状态。

因此,网络上Router Priority最大的路由器不一定是DR,Router Priority第二大的路由器也不一定是BDR。

6 不同网络类型邻接关系的建立

OSPF协议原理及配置2-理解邻居和邻接关系的更多相关文章

  1. OSPF协议原理及配置3-邻居关系的建立

    OSPF协议原理及配置3-邻居关系的建立   OSPF协议的邻居关系是通过交换Hello报文建立的,所以我们先对OSPF的报文的种类,及Hello报文的结构做一了解. 1 OSPF协议有5种协议报文( ...

  2. OSPF协议原理及配置4-邻接关系的建立和LSDB同步

    OSPF协议原理及配置4-邻接关系的建立和LSDB同步   进入ExStart状态后,广播和NBMA型网络要等待4倍的Hello时间,确定DR和BDR.然后建立邻接关系,并交互链路状态通告,以使用LS ...

  3. OSPF协议原理及配置5-LSA分析

    OSPF协议原理及配置5-LSA分析   前面,已经介绍了邻接关系的建立和LSDB的同步.通过同步过程的介绍,我们可以了解LSDB的同步是通过交互LSA实现的. 不同角色的路由器发出的LSA的内容是不 ...

  4. OSPF协议介绍及配置 (上)

    OSPF协议介绍及配置 (上) 一.OSPF概述 回顾一下距离矢量路由协议的工作原理:运行距离矢量路由协议的路由器周期性的泛洪自己的路由表,通过路由的交互,每台路由器都从相邻的路由器学习到路由,并且加 ...

  5. OSPF协议介绍及配置

    一.OSPF概述 回顾一下距离矢量路由协议的工作原理:运行距离矢量路由协议的路由器周期性的泛洪自己的路由表,通过路由的交互,每台路由器都从相邻的路由器学习到路由,并且加载进自己的路由表中,而对于这个网 ...

  6. OSPF协议介绍及配置 (下)

    4.特殊区域详解 为了让我们的讲解更加的通俗易懂,我们看上面这个拓扑,这是一个根据客户业务逻辑结构所涉及的OSPF网络,共有三个区域(实际上远远不止),骨干区域area0为一级行及二级行所部署,*** ...

  7. OSPF协议——原理及实验

    首先命令部分: ospf 1 进入ospf协议 area 0 划定自治区域 因为实验只用了1个区域所以参数就为0 也就是骨干区域 network +网段+反写掩码(0.0.0.255)指定运行OSPF ...

  8. VRRP协议原理与配置

    一.VRRP协议概述 1.1.VRRP协议基本概念 局域网中的用户终端通常采用配置一个默认网关的形式访问外部网络,如果此时默认网关设备发生故障,将中断所有用户终端的网络访问,这很可能会给用户带来不可预 ...

  9. H3C路由器配置——动态路由OSPF协议

    一.介绍 1.OSPF协议介绍 (1).OSPF(Open Shortest Path First,开放最短路径优先)路由协议是用于网际协议(IP)网络的链路状态路由协议.是一个被各厂商设备广泛支持的 ...

随机推荐

  1. mysql获取表中的字段名

    转载请注明来源:https://www.cnblogs.com/hookjc/ SELECT COLUMN_NAME FROM 'information_schema'.'COLUMNS' where ...

  2. Embedded Python应用小结

    转载请注明来源:https://www.cnblogs.com/hookjc/ (1)初始化Python脚本运行环境 Py_Initialize(); (2) 脚本的编译 bytecode = Py_ ...

  3. 索引,事务,存储引擎和选择,视图,mysql管理

    一.mysql索引:提高数据库的性能(不用加内存,不用改程序,不用调sql,查询速度就可能提高百倍千倍)索引会占用磁盘空间 CREATE   INDEX   索引名   ON   数据表 (列名or字 ...

  4. MySQL基本命令语法之select

    目录 MySQL基本命令语法之select 查询去重以及常数 空值与着重号 着重号 空值 运算符 算术运算符 比较运算符 符号型 非符号型 逻辑运算符 优先级 排序分页 排序 分页 拓展 多表查询 等 ...

  5. linux_18

    简述keepalived工作原理 编译安装haproxy 总结haproxy各调度算法的实现方式及其应用场景 使用haproxy的ACL实现基于文件后缀名的动静分离

  6. 带你十天轻松搞定 Go 微服务系列(九、链路追踪)

    序言 我们通过一个系列文章跟大家详细展示一个 go-zero 微服务示例,整个系列分十篇文章,目录结构如下: 环境搭建 服务拆分 用户服务 产品服务 订单服务 支付服务 RPC 服务 Auth 验证 ...

  7. uos系统离线状态下进入开发者模式

    需到处机器信息,接着登入指定的uos开发者网站,下载证书,然后在机器上加载证书,重启即可.

  8. [源码解析] NVIDIA HugeCTR,GPU 版本参数服务器 --(1)

    [源码解析] NVIDIA HugeCTR,GPU版本参数服务器 --(1) 目录 [源码解析] NVIDIA HugeCTR,GPU版本参数服务器 --(1) 0x00 摘要 0x01 背景 1.1 ...

  9. [TJOI2013] 奖学金

    代码: #include<bits/stdc++.h> using namespace std; long long n,c,ff,ans; long long suma[200010], ...

  10. Solution -「洛谷 P5236」「模板」静态仙人掌

    \(\mathcal{Description}\)   Link.   给定一个 \(n\) 个点 \(m\) 条边的仙人掌,\(q\) 组询问两点最短路.   \(n,q\le10^4\),\(m\ ...