|
为什么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
你知道这三个表是如何建立起来的吗? |
|
|