|
为什么OSPF得收敛时间始终大于5秒钟呢?
在进行SPF算法之前,OSPF用一个5秒钟的窗口收集所有关于拓扑变化的LSA. 一旦算法重建拓扑数据库和创建了一个新的路由表,就不能在10秒钟内运行另一个。 这个延迟有助于防止一个“trashing(碎片?)”情况发生。 trashing表现在由于链路不稳定(不断的upordown)造成持续运行算法,由于在路由计算期间流量将被挂起导致流量不能被转发。
当路由器收到一个LSU时,都干些什么呢?
-如果没有相同条目,加入并发回LSAck给DR,flood给其他路由器,并更新路由表; -如果有完全相同条目,忽略; -如果有相同条目,但有新的信息,加入并发回LSAck给DR,flood给其他路由器,并更新路由表; -如果有相同条目,但包含旧的信息,发回更新的LSU给原发送者。 何时运行exchange协议和flooding进程呢?
exchange协议用于使邻居路由器进入Full状态,第一步需要DR和BDR与DRother建立邻接关系,期间所有路由器和DR/BDR建立master-slave关系.master和slave路由器交换DBDs以同步他们的数据库.一旦邻接路由器进入Full状态,除非状态改变否则不再重复exchange协议进程 flooding进程用于任何时间链路状态改变,如链路down或网络中加入新的链路.LSU报文中包含所有链路状态的改变,并发送到DR/BDR.DR向所有DRother转发.如果此路由器连接到其他网络,LSU也将发往这些网络. OSPF常用的5种LSA-type LSA-Type1:Routerlinkentry area中所有router产生;描述router的链路状态,只在本area中flood LSA-Type2:Networklinkentry 多路访问网络中DR产生;描述网络中连接的所有routers,本area中flood LSA-Type3or4: 源自ABR,描述本地area中ABR与internalrouters的链路,穿过backboneareaflood到其他ABR,但这些LSA不会flood到totallystubbyarea. Type3描述到本地area的路由并发送到backbonearea Type4描述ASBR的可达性 LSA-Type5:ASexternallinkentry 源自ASBR.描述到外部AS目的网络的路由,flood到整个OSPFAS,除了stub,totallystubby,和not-so-stubbyareas. OSPF定义了四种routertype internal:所有接口都在同一area中; ABR:连接多个area,为每一个area保留各自的link-statedatabase; ASBR:连接OSPF与外部路由域; backbone:所有接口都在area0内; 注意:同一台路由器只要满足定义,可以担当以上各种角色 一般而言,ABR需要较高配置 没有连接到area0的ABR是没有意义的 RFC2328定义了两种标准OSPF运行的网络拓扑: NBMA:一般为全网状,选举DR/BDR,所有接口属于同一子网,因为非共享介质,需要静态指定邻居。 point-to-multipoint:部分网状或星型拓扑,所有接口属于同一子网,不需要选举DR/BDR,邻居可以动态发现 Cisco定义了另外3种网络类型: Broadcast:类似NBMA,只不过可以自动发现邻居;就是LAN环境 point-to-point:类似点到多点,只不过每个子接口属于不同的子网; point-to-multipointnonbroadcast:类似点到多点,只不多需要手工指定邻居,一般用于IPoverATM环境. OSPF有5种area类型以控制路由信息的接收,所有运行OSPF的路由器必须属于某一个或多个area: Standardarea:接收所有链路状态更新,路由汇总和外部路由; Backbonearea(area0):所有area必须连接到area0,以交换信息; Stubarea:不接收外部路由,用defaultroute到达外部AS; Totallystubbyarea:不接收外部路由和汇总路由,也必须用defaultroute; Not-So-Stubbyarea:类似stubarea,但可以接收外部路由.使用Type-7LSA OSPF使用5种协议数据报文: 1Hello发现和维护邻居关系 2DatabaseDescription链路状态数据库的汇总(仅包含LSA标识) 3LinkStateRequest当slave发现LSD信息不完整时向master发出LSA请求 4LinkStateUpdate可携带一或多个LSA 5LinkStateAckFlooding确认,OSPF的可靠更新机制要求每个LSU必须 被显式或隐式被确认 注意:不同的网络拓扑有不同的hello时间间隔 NBMA(FR,ATM,X25):hello30s,dead120s Broadcast:hello10s,dead40s showipospfneighbordetail showipospfdatabase showiproute 你知道这三个表是如何建立起来的吗?
|