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. java 内部类(转)

    原文: http://www.cnblogs.com/nerxious/archive/2013/01/24/2875649.html 内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类 ...

  2. Kafka理论学习

    Kafka Consumer设计解析 http://www.jasongj.com/2015/08/09/KafkaColumn4/

  3. 官方文档Core Technologies - Part 1

    首先介绍系列文章内容及Spring Framework官方文档情况. 在这一系列学习中,我阅读的主要资源是5.1.2 Reference Doc.,以及论坛大神的讲解blog.另外,Spring官方也 ...

  4. [coci2012]覆盖字符串 AC自动机

    给出一个长度为N的小写字母串,现在Mirko有M个若干长度为Li字符串.现在Mirko要用这M个字符串去覆盖给出的那个字符串的.覆盖时,必须保证:1.Mirko的字符串不能拆开,旋转:2.Mirko的 ...

  5. JS获取当前页面的URL

    如果获取“当前”域名 host = window.location.host; url=document.domain; url = window.location.href; 取得完整url路径: ...

  6. requirejs测试

    参考资料:http://www.ruanyifeng.com/blog/2012/11/require_js.html 一.文件目录 二.html <!DOCTYPE html> < ...

  7. LightOJ - 1104 Birthday Paradox —— 概率

    题目链接:https://vjudge.net/problem/LightOJ-1104 1104 - Birthday Paradox    PDF (English) Statistics For ...

  8. CNN中下一层Feature map大小计算

    符号表示: $W$:表示当前层Feature map的大小. $K$:表示kernel的大小. $S$:表示Stride的大小. 具体来讲: 整体说来,和下一层Feature map大小最为密切的就是 ...

  9. BZOJ_3489_ A simple rmq problem_KDTree

    BZOJ_3489_ A simple rmq problem_KDTree Description 因为是OJ上的题,就简单点好了.给出一个长度为n的序列,给出M个询问:在[l,r]之间找到一个在这 ...

  10. UVA11624(bfs最短路)

    Joe works in a maze. Unfortunately, portions of the maze have caught on fire, and the owner of the m ...