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. 负载均衡LVS

    可参考:http://ixdba.blog.51cto.com/2895551/555738 http://os.51cto.com/art/201202/319979.html 也可以参考官网:ht ...

  2. HTML5 实现文件拖放上传

    1. [图片] 5375acf5gw1dusqsscfksj.jpg ​2. [代码][HTML]代码 <!DOCTYPE html><html lang="en" ...

  3. 局域网 —— VLAN

    0. network 简单分类 LAN:Local Area Network,局域网: WLAN:Wireless LAN(Local Area Network), VLAN:Virtual LAN( ...

  4. cygwin Could not create directory '/home/Administrator/.ssh'

    在cygwin下运行: ssh-keygen -C "634772208@qq.com" -t rsa 时,出现如下错误: cygwin Could not create dire ...

  5. springMVC之HttpServletRequest的getParameterMap()

    request.getParameterMap()的返回类型是Map类型的对象,也就是符合key-value的对应关系,但这里要注意的是,value的类型是String[],而不是String. 得到 ...

  6. POJ2184(01背包变形)

    Cow Exhibition Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 11092   Accepted: 4404 D ...

  7. 自已封装Ajax方法

    function createXHR() { var request; if (typeof (XMLHttpRequest) == 'undefined') { request = new Acti ...

  8. Subsets Forming Perfect Squares

    题意: 给出n个数字,选出若干个数字,使得这些数字的乘积是一个完全平方数,问有多少种选法. 解法: 考虑异或方程组,$x_i$表示第i个数字是否选, 注意到只要保证结果中各个质因数都出现偶数次就可保证 ...

  9. APP开发过程中需求变更流程

    在APP开发过程中,不可避免的会有需求变更,从以往项目开发过程总结发现,需求变更太频繁,产品一句话需求,没有形成良好的版本迭代概念,频繁的变动影响开发交付日期,但是交付日期又是定死的,严重拖累了开发及 ...

  10. Identity Server 4 原理和实战(完结)_汇总贴

    视频地址:https://www.bilibili.com/video/av42364337 语雀地址:https://www.yuque.com/yuejiangliu/dotnet/solenov ...