2.Hello过程:
(1)在同一子网中发现其他运行OSPF的路由器
所有启用了OSPF的接口,都会监听发往224.0.0.5的组播Hello消息,这是表示所有OSPF路由器的组播地址。Hello包使用接口上的主用IP地址作为源发出,并不会使用备用IP,(OSPF路由器会通告备用IP,但不会用那些IP发送Hello包和建立邻居关系,与EIGRP和RIP一样)。如果OSPF邻居一方或双方的接口使用“借用IP地址(unnumbered)”,他们也会建立完全邻接关系。
(2)检查某些配置参数是否匹配
当两台路由器都收到了对方发来的Hello包,也就是都发现了对方后,他们会根据收到的Hello包中的参数进行如下检查:
-必须通过认证过程
-必须在同一个子网中,子网掩码也必须相同
-OSPF区域必须相同
-区域类型必须相同(普通,末节,NSSA)
-RID不能重复
-OSPF Hello和失效计时器必须相同
但凡上述参数中有一项不匹配,两台路由器都无法形成邻居关系。OSPF PID(进程ID)可以不同
还有DD包的MTU大小必须相同,MTU的检查不是Hello检查的一部分,MTU不匹配会对ExStart和Exchange阶段的数据库同步过程带来不良影响,但它并不会阻止两台路由器成功建立邻居关系,也包括进入2- Way状态。
(3)在两台路由器之间确认双向可见状态
路由器会在其发出的Hello包中包含了一个邻居列表,表示它已经从这些邻居那里收到了有效且能够接受的Hello包。这个列表的大小是可变的,携带在每个Hello包的尾部,列表中包含的RID表示发出这个Hello包的路由器已经收到并接受了这些路由器发来的Hello包。如果路由器在其邻居发来的Hello包中看到了自己的RID,它就可以确定它和邻居都收到了彼此的Hello包。
(4)监控邻居的工作状态,发生问题及时做出响应
提供邻居之间的“心跳”功能。邻居会按照Hello间隔来发送Hello包, 如果在经历了比失效间隔长的时间 后,仍没有收到Hello包,路由器就会认为这个邻居已经失效。如果接口上的OSPF网络类型是 广播或点到点, 那么这个接口的Hello间隔是10秒;如果接口上的OSPF网络类型是非广播或点到多点,则这个接口的Hello间隔是30 秒;失效间隔默认为Hello间隔的4倍。
 
下边的debug消息展示了这台路由器的hello和dead不一致,“C”表示“configured”,“R”表示“received”,路由器尝试使用10/40。
 
 

下边列出了在同一个接口下R1的hello和dead间隔
 
 

下边R1 show了 s0/0.100 的一个邻居,full状态,表明路由器完成了LSDB交换,注意当前失效计时器倒计时,这个例子中是两分钟。1:58表示R1上一次从邻居10.1.111.6接收到Hello包是两秒之前。
 
 

3.向邻居传送LSA头部
 
两台路由器都收到了彼此的Hello包,并且通过了参数检查,他们并不会马上开始发送携带LSA的数据包。他们会先创建并发送DD包,DD包中包含每个LSA的头部。这些头部中包含的信息足够区分每个LSA及其版本,而无需传输LSA的内容。也就是说路由器交换的是她所知道的所有LSA的索引列表;下一步是让路由器从这些LSA中,请求他所缺失或过时的LSA。
DD消息使用一种OSPF定义的简单错误恢复进程。每个DD包中都包含了多个LSA头部,并且分配了一个序列号。接收方通弄向发送方发送一个与其收到的DD包序列号相同的DD包,来确认自己收到了发送方发出的DD包。发送方的发送窗口为一个数据包大小,它会在收到确认后,才发送下一个DD包。

OSPF-1-OSPF的数据库交换(2)的更多相关文章

  1. OSPF-1-OSPF的数据库交换(4)

    4.DD交换:主/从关系   当两台路由器之间形成了邻居关系后(ExStart),邻居双方需要决定在数据库交换的过程中,哪台路由器的角色是主,哪台路由器的角色是从.主和从这两个角色决定了DD包交换过程 ...

  2. H3C 显示OSPF的链路状态数据库

  3. OSPF-1-OSPF的数据库交换(5)

    三.LAN中的指定路由器   没有DR概念的话,共享同一条数据链路的一对路由器会形成完整的邻接关系,每对路由器之间都会直接交换它们的LSDB,假设在一个只有6台路由器的LAN中,其中没有DR,那么就会 ...

  4. OSPF-1-OSPF的数据库交换(1)

    一.OSPF路由器ID(RID) 选举过程: 1.使用router-id id 命令中配置的路由器ID 2.up着的环回接口最大的ip 3.up着的非环回接口最大ip   如果路由器的RID发生了变化 ...

  5. OSPF协议详解

    CCNP OSPF协议详解 2010-02-24 20:30:22 标签:CCNP 职场 OSPF 休闲 OSPF(Open Shortest Path Fitst,ospf)开放最短路径优先协议,是 ...

  6. RIP、OSPF、BGP、动态路由选路协议、自治域AS

    相关学习资料 tcp-ip详解卷1:协议.pdf http://www.rfc-editor.org/rfc/rfc1058.txt http://www.rfc-editor.org/rfc/rfc ...

  7. CCNP路由实验(2) -- OSPF

    OSPF作为一种内部网关协议(IGP),用于在同一个AS中的路由器之间交换路由信息.OSPF的特性如下:1.可适应大规模网络2.收敛速度快3.无路由环路4.支持VLSM和CIDR5.支持等价路由6.支 ...

  8. OSPF 原理

    关于OSPF的数据结构Link-State Protocol Data Structures链路状态路由器与距离矢量路由器,可以知道关于整个网络的更多信息Neighbor table:also kno ...

  9. OSPF相关知识与实例配置【第一部分】

    OSPF相关知识与实例配置[基本知识及多区域配置] OSPF(开放式最短路径优先协议)是一个基于链路状态的IGP,相比于RIP有无环路:收敛快:扩展性好等优点,也是现在用的最多的:所以这次实验就针对于 ...

随机推荐

  1. Linux各类压宿包的解压方法

    01-.tar格式解包:[*******]$ tar xvf FileName.tar 打包:[*******]$ tar cvf FileName.tar DirName(注:tar是打包,不是压缩 ...

  2. python多进程执行任务

    https://blog.csdn.net/qq_39694935/article/details/84552076 [Python]multiprocessing Pool 进程间通信共享 直接上代 ...

  3. IOS开发学习笔记(1)-----UILabel 详解

    1. [代码][C/C++]代码     //创建uilabelUILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(20, 40, ...

  4. python学习笔记:第二天(基本数据类型)

    Python3 基本数据类型 1.标准数据类型 Python3中有六个标准的数据类型:Number(数字).String(字符串).List(列表).Tuple(元组).Sets(集合).Dictio ...

  5. linux命令学习笔记 : install 命令

    install .作用 install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户. .格式 ()install [选项]... 来源 目的地 ()install [选项]... 来源 ...

  6. Java中String args[]起什么作用?

    在百度知道上看到这样一个答案: 在命令提示符中运行该程序时 可以附加参数运行 输入的参数会存入到字符传数组 args[]中例如:在命令提示符中运行该程序的时候假设该程序在D的JAVA文件夹中D:JAV ...

  7. Dom4j 操作文件,文件相对路径的问题

    System.out.println("xml路径:"+ServletActionContext.getServletContext().getRealPath("/zx ...

  8. 用libtommath实现RSA算法

    RSA算法描述: 1) 选择两个大素数 p.q, 计算 n = p*q; 2) 产生 e, d 使: e*d = 1mod(p-1)(q-1) e 与 (p-1)(q-1) 互质 [公钥] e.n [ ...

  9. bzoj1012最大数maxnumber——单调栈

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1012 单调栈水题:用了一下lower_bound二分. 代码如下: #include< ...

  10. 是否要从单片机转为嵌入式Linux?

    作者:嵌入式老鸟火哥 授权转载于公众号嵌入式老鸟的职场之道(ID: ict_embedded),有增加内容和修改. 最近很多童鞋投票并咨询如何从单片机转为嵌入式Linux开发.看来读者圈中做单片机,R ...