zoukankan      html  css  js  c++  java
  • 网络:OSPF理解

      OSPF(开放最短路径优先)协议使用Dijkstra算法,常见的版本有:OSPFv2、OSPFv3等。以下主要介绍OSPFv2,OSPFv3是面向IPv6的且不兼容IPv4。

    1.工作过程:

      1)每台路由器学习激活的直接相连的网络。

      2)每台路由器和直接相连的路由器互交,发送Hello报文,建立邻居关系。

      3)每台路由器构建包含直接相连的链路状态的LSA(Link-State Advertisement,链路状态通告)。链路状态通告(LSA)中记录了所有相关的路由器,包括邻路由器的标识、链路类型、带宽等。

      4)每台路由器泛洪链路状态通告(LSA)给所有的邻路由器,并且自己也在本地储存邻路由发过来的LSA,然后再将收到的LSA泛洪给自己的所有邻居,直到在同一区域中的所有路由器收到了所有的LSA。每台路由器在本地数据库中保存所有收到的LSA副本,这个数据库被称作"链路状态数据库(LSDB,Link-State Database)"

      5)每台路由器基于本地的"链路状态数据库(LSDB)"执行"最短路径优先(SPF)"算法,并以本路由器为根,生成一个SPF树,基于这个SPF树计算去往每个网络的最短路径,也就得到了最终的路由表。

     

    2.术语

      链路(Link):当一个接口加入OSPF进程,就被当做是OSPF的一条链路。

      链路状态(Link-State):包括接口的IP、子网、网络类型、链路花费、链路上的邻居等。

      路由器ID(Router ID,简称RID):RID是一个用来标识路由器的IP地址,可以在OSPF路由进程中手工指定;如果没有指定,路由器默认选择回环接口中最高的IP作为RID;如果没有回环地址,路由器使用所有激活的物理接口中最高的IP作为RID。

      邻居(Neighbor):两台或多台路由连接在一个公共的网络上;比如两台路由通过串行线路相连,或多台路由通过以太网相连。

      邻接(Adjacency):邻接是两台路由器之间的关系,OSPF只与建立了邻接关系的邻居共享路由信息。

      区域(Area):OSPF通过划分区域来实现分层设计,跨越两个或两个以上区域的路由被称作ABR(Area Border Router,区域边界路由)。所有的区域都和"Area 0"相连,"Area 0"被称作骨干区域,骨干区域路由器具有整个自制系统中所有路由条目,LSA的扩散仅限制在区域内,通过划分多个区域可以减小LSA扩散过程中对硬件的负担。

      指定路由器(Designated Router,简称RD):当OSPF链路被连接到多路访问的网络中时,需要选择一台指定路由器(DR),每台路由器都把拓扑变化发给DR和BDR,然后由DR通知该多路访问网络中的其他路由器。

      备用的指定路由器(Backup Designated Router,简称BDR):当DR发生故障的时候,BDR转变成DR,接替DR工作。

      花费(Cost):OSPF中使用的唯一度量值,使用链路的带宽计算得来。

    3.邻居关系 

      Down:OSPF初始状态,还没有开始交换信息。

      Init:交换信息初期,表示已经收到了邻居的Hello报文,但是报文中没有列出本路由的RID,也就是说对方还没有收到本路由发出的Hello报文。

      Two-Way:双向阶段,双方都收到了对方发送的Hello报文,建立了邻居关系。在多路访问的网络中,两个接口状态是DROther的路由器之间将停留在此状态,其他情况将继续转入高级状态。在此状态下的路由器是不能共享路由信息的,想共享路由信息,必须建立邻接关系。(注意邻居关系和邻接关系的区别)

      Exstart:准备开始交换阶段,双方通过Hello报文决定主从关系,最高RID的路由将成为主路由,最先发起交换。主从关系确立后进入下一个阶段。

      Exchange:开始交换阶段,路由器将本地的"路由状态数据库(LSDB)"用"数据库描述(DBD)"报文来描述,然后发给邻路由。如果这个阶段中的路由收到不在其数据库中的有关链路的信息,那么在下一个阶段中将请求对方发送该路由条目的完整信息。

      Loading:加载阶段,路由器通过发送"链路状态请求(LSR)",来向邻居请求一些路由条目的详细信息。邻居则会使用"链路状态更新包(LSU)"来回复LSR请求,收到邻居发回的LSU后,再发送LSAck向发送LSU的路由进行确认。

      FULL:完全邻接状态,Loading结束后,路由器之间就变成了"Full adjacency"。

     

  • 相关阅读:
    Visual Prolog 的 Web 专家系统 (7)
    spring来源理解-BeanFactory子类XmlBeanFactory创建过程
    Threejs 它可以在建立其内部房间效果可见
    Android AlarmManager报警的实现
    什么是注册表和注册表中的作用
    精致的外观Request
    数据仓库的工作日记_创纪录的(一)
    servlet api.jar是干什么的?
    servlet-api-2.5.jar
    用poi-3.6-20091214.jar 实现java给excel资料加密
  • 原文地址:https://www.cnblogs.com/apak/p/9079485.html
Copyright © 2011-2022 走看看