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. some base knowledge

    har类型的长度被定义为一个8位字节,这很简单. short类型的长度至少为两字节.在有些计算机上,对于有些编译程序,short类型的长度可能为4字节,或者更长. int类型是一个整数的“自然”大小, ...

  2. UIVisualEffectView

    UIBlurEffect 只支持到iOS 8.0+.系统给予的一个自动生成滤镜的方法 UIVisualEffectView *effectView = [[UIVisualEffectView all ...

  3. undefined reference to '__android_log_print'解决方案

    1:在源程序中添加头文件 #include <cutils/log.h> 2:在Android.mk中添加 LOCAL_SHARED_LIBRARIES := \ libutils \ l ...

  4. Python序列——元组

    元组是什么 1 创建元组 2 访问元组中的值 3 更新元组中的元素 4 删除元组中的元素或者元组本身 元组相关操作 内建函数对元组的支持 1 序列类型函数 2 元组内建函数 元组的特殊性 1. 元组是 ...

  5. WebDriver API——javascript的相关操作

    有些时候webdriver是没法操作元素或浏览器的,这时候我们可以通过javascript来进行相关的操作,昨天在群里一个朋友定位一个显示框,总是无法定位点击,或者是点击无效,这个时候就可以用java ...

  6. powershell 扩展 (PSCX) 安装指南

    在玩ansible的过程中,使用win_unzip模块时powershell支持不了,需要安装PSCX对powershell进行扩展,随手记录下安装过程. 从官网下载的Pscx是一个zip压缩文件,解 ...

  7. cassandra 存储list数组

    demo如下: CREATE TABLE users3 ( user_id text PRIMARY KEY, first_name text, last_name text, emails list ...

  8. BZOJ_2716_[Violet 3]天使玩偶&&BZOJ_2648_SJY摆棋子_KDTree

    BZOJ_2716_[Violet 3]天使玩偶&&BZOJ_2648_SJY摆棋子_KDTree Description 这天,SJY显得无聊.在家自己玩.在一个棋盘上,有N个黑色棋 ...

  9. 「LuoguP2252」 取石子游戏(威佐夫博弈

    [P2252]取石子游戏 - 洛谷 题目背景 无 题目描述 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子:二是可以 ...

  10. StackOverFlow页面不正常,因为CDN被墙了

    190.93.247.58 cdn.sstatic.net 198.252.206.140 sstatic.net http://stackoverflow.com/