4.DD交换:主/从关系
 
当两台路由器之间形成了邻居关系后(ExStart),邻居双方需要决定在数据库交换的过程中,哪台路由器的角色是主,哪台路由器的角色是从。主和从这两个角色决定了DD包交换过程中路由器的职责。只有主路由器才能主动发送DD包,并且能够设置以及增加DD包的序列号。从路由器只能在收到主路由器发来的DD包后,返回DD包作为确认,并且必须使用与其接受到的DD包相投的序列号。事实上,从路由器只是被主路由器调差,并且智能对此进行响应。
除了其他字段外,DD包的头部还包含以下三个标记。
MS(主)标记:主路由器发送的所有DD包中设置这个标记;从路由器发送的所有DD包中不设置这个标记。
M(更多)标记:当还有后续DD包需要发送时设置。
I(初始)标记:指明这是开始交换的第一个DD包,后续的DD包(无论是主还是从发送的)都不设置这个标记。
如果一台路由器没有更多的LSA头部需要通告了,但对方却需要他发送更多的DD包回应,那他只需发送空的DD包就可以了。
从路由器可以在响应主路由器DD包的的那个DD包中设置M标记,来告知主路由器它还需要发送更多DD包,
主和从路由器都会在自己的DD包中正确设置M标记,来表示它们是否已经通告了整个链路状态数据库。路由器要想将邻居这置为相应的状态(Loading或Full),是需要这个信息的,它需要知道邻居数据库中的LSA列表何时通告完成。
在交换过程开始的时候,每台路由器都会把邻居置为ExStart状态。它们一上来都会把自己当做主路由器,然后向对方发送空的DD包,其中包含一个水机选择的序列号,将MS(主),M(更多),和I(初始)标记设置为1。在收到邻居发来的DD包后通过比较RID,RID较低的路由器会将自己的角色变更为从路由器,然后它会发送一个DD包作为响应,其中将MS和I标记设置为0,将序列号设置为主路由器发来的DD包的序列号。这时主/从选择就完成了,两台路由器都会进入Exchange状态。然后主路由器会发送一个序列号加1的DD包,其中可以包含一个或多个LSA头部,然后从路由器会使用序列号相同的DD包作为响应,也可以在其中通告自己的LSA头部。LSA头部的交换形式与此相同,主路由器会在后续的每个DD包中增加序列号,直到两台路由器都通告了自己已知的所有LSA头部位置(当主路由器通告了所有LSA头部,且最后一个DD响应包中的M标记为0时,主路由器才会停止发送DD包)。
5.请求,获得和确认LSA
在使用DD包交换了所有LSA头部后,每台路由器中都有邻居路由器已知的LSA列表。通过这些信息,路由器需要请求那些自己LSDB中缺少的LSA的完整
副本。
路由器使用LSR包向邻居请求一个或多个LSA。邻居路由器以LSU包作为响应,其中携带一个或多个完整的LSA。两台路由器都处于Loading状态,正在传输LSR/LSA。在这过程完成后,两台路由器会稳定在Full状态,这表示两台路由器已经完全交换了它们的数据库,同一区域的LSDB条目应该相同。
LSR/LSA交换过程使用了一种可靠传输协议,有以下两个选项能够用来确认收到的数据包。首先,接收方可以向发送方发送与其接收到的LSU包完全相同的LSU包,以此作为已收到LSU包的确认。或者路由器还可以使用LSAck包来确认收到的数据包,LSAck包中包含了已知的LSA头部列表。
交换完LSDB后,它们就可以各自运行Dijkstra SPF算法了,计算各自的最优路径。

转载于:https://www.cnblogs.com/swefii/p/10597296.html

OSPF-1-OSPF的数据库交换(4)相关推荐

  1. OSPF协议之链路数据库同步

    OSPF协议之链路数据库同步 OSPF如何实现链路状态数据库的同步 - 链路信息主要包括: 1.链路的类型: 2.接口IP地址及掩码: 3.链路上所连接的邻居路由器: 4.链路的带宽(开销). 区别于 ...

  2. 【计算机网络】网络层 : OSPF 协议 ( 协议简介 | 链路状态路由算法 | OSPF 区域 | OSPF 特点 )

    文章目录 一.路由选择协议分类 二.OSPF 协议 简介 三.链路状态路由算法 四.OSPF 区域 五.OSPF 特点 一.路由选择协议分类 路由选择协议分类 : ① 内部网管协议 IGP : 在 自 ...

  3. CCNA学习总结—OSPF协议—OSPF协议原理

    1.为什么使用OSPF RIP协议因为15跳的限制只能使用在网络半径比较小的网络中,而且RIP不能做到百分百的防环,而网络风暴是每个大型网络所必须解决的重要的问题.RIP是距离矢量型路由协议,周期性更 ...

  4. OSPF之链路状态数据库LSDB

    OSPF链路状态数据库 原理概述: OSPF是一种基于链路状态的动态路由协议,每台 OSPF 路由器都会生成相关的LSA,并将这些LSA通告出去.路由器收到LSA后,会将它们存放在链路状态数据库LSD ...

  5. 第五章:数据库交换开发篇

    一.简要描述: Web 应用中,很多业务逻辑经常牵涉到与数据库的交互. 数据库驱动网站 在后台连接数据库服务器,从中取出一些数据,然后在 Web 页面用漂亮的格式展示这些数据.或者,站点也提供让访问者 ...

  6. linux ospf 命令,OSPF单区域配置 - linuxprobe2020的个人空间 - OSCHINA - 中文开源技术交流社区...

    为了弥补距离矢量路由协议的不足,IEFI组织开发了一种基于链路状态的内部网关协议OSPF 实验环境:红,绿,蓝三个颜色区域代表三个不同网络的办公场所,要求使用OSPF协议实现网络互通. pc1:172 ...

  7. Linux配置ospf命令,OSPF单区域配置

    导读 为了弥补距离矢量路由协议的不足,IEFI组织开发了一种基于链路状态的内部网关协议OSPF 实验环境:红,绿,蓝三个颜色区域代表三个不同网络的办公场所,要求使用OSPF协议实现网络互通. pc1: ...

  8. 计算机网络配置ospf协议,OSPF路由协议配置(计算机网络实验)

    OSPF路由协议配置(计算机网络实验) (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 F0/0:173.18.3.1^FaO/Oo/o ...

  9. OSPF 总结—— ospf邻居关系无法建立原因 + OSPF选路影响因素

    目录 一.ospf邻居关系无法建立原因: 二.选路影响因素: (1)宏观: (2)微观: 一.ospf邻居关系无法建立原因: 1--直接链路没有ping通 2--接口过滤OSPF的hello报文 3- ...

最新文章

  1. mysql 5.7 1054_MySQL5.7更改密码时出现ERROR 1054 (42S22)的解决方法
  2. java常见对象_Java/10_Java常见对象.md at master · DuHouAn/Java · GitHub
  3. ECshop商城程序常见的96个小问题汇总
  4. 【SQL Alchemy】AttributeError: '...' object has no attribute 'translate'错误的解决
  5. Request的学习笔记(属Servlet学习课程)
  6. oracle orion hugepages_settings.sh(支持OEL 7,4.1内核)
  7. hp服务器raid一直显示同步,HP Netserver NetRAID 一致性检查常见问题解答(FAQ)
  8. CentOS 6.5自动化运维之基于DHCP和TFTP服务的PXE自动化安装centos操作系统详解
  9. Luogu P1311 选择客栈(前缀和)
  10. ‘gperf‘ is missing on your system.
  11. AutoCAD.Net 实现创建wipeout遮罩实体
  12. 小程序 获取地理位置
  13. 为什么我会感到迷茫? 文/江湖一剑客
  14. WinForm实现倒计时锁定程序完整源码附注释
  15. kali linux 如何升级,如何正确更新和升级您的Kali Linux
  16. 360公司开源Atlas快速上手安装配置
  17. ImportError: cannot import name ‘_validate_lengths‘ from ‘numpy.lib.arraypad‘完美解决方法
  18. 七类综合布线标准实施和应用
  19. 自动驾驶采标系列二:车载感知与车载传感器标定
  20. Outlook.com高级版优惠价截止日顺延到6月30日

热门文章

  1. Java问题定位之如何借助线程堆栈进行问题分析
  2. php与MySQL(基本操作)
  3. DIV实现CSS 的placeholder效果
  4. JavaScript中的ParseInt(08)和“09”返回0的原因分析及解决办法
  5. 赋予用户最高权限的一点“挫折”
  6. 不需要训练数据的图像恢复
  7. CVPR 2020 论文大盘点-动作检测与动作分割篇
  8. ICCV 2019 | 首个镜子分割网络问世,大连理工、鹏城实验室、香港城大出品
  9. CVPR 2019 | 亮风台发布全球最大单目标跟踪数据集LaSOT
  10. Python中的reshape()