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算法了,计算各自的最优路径。

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

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

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

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

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

    2.Hello过程: (1)在同一子网中发现其他运行OSPF的路由器 所有启用了OSPF的接口,都会监听发往224.0.0.5的组播Hello消息,这是表示所有OSPF路由器的组播地址.Hello包使 ...

  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. git命令行删除远程分支

    先查看远程分支 git branch -r 使用下面两条命令来删除远程分支 git branch -r -d origin/branch-name git push origin :branch-na ...

  2. String StringBuffer StringBuilder 三者之间的区别

    今天被公司骗去面试,好糟心...... 这个问题不管去哪里面试,基础问题基本上都会问到这个问题.网上好多大神都总结,这里自己也总结一下. 首先我们最开始学的就是String字符串常量,这里有行代码 S ...

  3. LightOJ1214 Large Division —— 大数求模

    题目链接:https://vjudge.net/problem/LightOJ-1214 1214 - Large Division    PDF (English) Statistics Forum ...

  4. Gym - 100676E —— 基础题

    题目链接:https://odzkskevi.qnssl.com/1110bec98ca57b5ce6aec79b210d2849?v=1490453767 题解: 这种方法大概跟离散化扯上点关系:首 ...

  5. html5--5-1 了解canvas元素

    html5--5-1 了解canvas元素 学习要点 如何在HTML5文档中添加canvas元素 canvas的属性 了解canvas坐标系 了解script元素 绘制一条直线(准确的说是线段) 什么 ...

  6. [转载]Dalvik指令集

    这篇文章是转载的,为了便于查找一些指令,贴在这里. 转自:http://blog.csdn.net/canfengxiliu/article/details/20144119 ------------ ...

  7. [POI 2000] 病毒

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2938 [算法] 首先建出给定字符串集的AC自动机 存在无限长的代码当且仅当 : AC ...

  8. [国家集训队]Crash的数字表格 / JZPTAB

    传送门 题目要求,求: \[\sum_{i=1}^n\sum_{j=1}^mlcm(i,j)\] 先转化为gcd的形式,然后枚举gcd. \[\sum_{i=1}^n\sum_{j=1}^m\sum_ ...

  9. JAVA 需要理解的重点 一

    需要理解的重点内容有: JVM内存管理机制和垃圾回收机制(基本每次面试都会问,一定要搞得透彻) JVM内存调优(了解是怎么回事,一般做项目过程中使用较多) 设计模式(熟悉常见设计模式的应用场景,会画类 ...

  10. _beginThreadex的用法

    http://blog.csdn.net/cjcy1984001/article/details/6675669 线程开始和停止函数!  unsigned long _beginthreadex( v ...