为什么OSPF得收敛时间始终大于5秒钟呢?
在进行SPF算法之前,OSPF 用一个5秒钟的窗口收集所有关于拓扑变化的LSA.
一旦算法重建拓扑数据库和创建了一个新的路由表,就不能在10秒钟内运行另一个。
这个延迟有助于防止一个“trashing(碎片?)”情况发生。
trashing表现在由于链路不稳定(不断的up or down)造成持续运行算法,由于在路由计算期间流量将被挂起导致流量不能被转发。
当路由器收到一个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向所有D Rother转发.假如此路由器连接到其他网络,LSU也将发往这些网络.
OSPF 常用的5种LSA-type
LSA-Type 1: Router link entry
area中所有router产生;描述router的链路状态,只在本area中flood
LSA-Type 2: Network link entry
多路访问网络中DR产生;描述网络中连接的所有routers,本area中flood
LSA-Type 3or4:
源自ABR,描述本地area中ABR与internal routers的链路,穿过backbone area flood到其他ABR,但这些LSA 不会flood到totally stubby area.
Type 3 描述到本地area的路由并发送到backbone area
Type 4 描述ASBR的可达性
LSA-Type 5:AS external link entry
源自ASBR.描述到外部AS目的网络的路由,flood到整个OSPF AS,除了stub,totally stubby,和not-so-stubby areas.
OSPF 定义了四种router type
internal: 所有接口都在同一area中;
ABR:连接多个area,为每一个area保留各自的link-state database;
ASBR:连接OSPF与外部路由域;
backbone:所有接口都在area0内;
注重:同一台路由器只要满足定义,可以担当以上各种角色
一般而言,ABR需要较高配置
没有连接到area0的ABR是没有意义的
RFC 2328定义了两种标准OSPF运行的网络拓扑:
NBMA:一般为全网状,选举DR/BDR,所有接口属于同一子网,因为非共享介质,需要静态指定邻居。
point-to-multipoint:部分网状或星型拓扑,所有接口属于同一子网,不需要选举DR/BDR,邻居可以动态发现
Cisco定义了另外3种网络类型:
Broadcast:类似NBMA,只不过可以自动发现邻居;就是LAN环境
point-to-point:类似点到多点,只不过每个子接口属于不同的子网;
point-to-multipoint nonbroadcast:类似点到多点,只不多需要手工指定邻居,一般用于IP over ATM环境.
OSPF 有5种area类型以控制路由信息的接收,所有运行OSPF的路由器必须属于某一个或多个area:
Standard area:接收所有链路状态更新,路由汇总和外部路由;
Backbone area(area0):所有area必须连接到area 0,以交换信息;
Stub area:不接收外部路由,用default route到达外部AS;
Totally stubby area:不接收外部路由和汇总路由,也必须用default route;
Not-So-Stubby area:类似stub area,但可以接收外部路由.使用Type-7 LSA
OSPF 使用5种协议数据报文:
1 Hello 发现和维护邻居关系
2 Database Description 链路状态数据库的汇总(仅包含LSA标识)
3 Link State Request 当slave发现LSD信息不完整时向master发出LSA请求
4 Link State Update 可携带一或多个LSA
5 Link State Ack Flooding确认,OSPF的可靠更新机制要求每个LSU必须
被显式或隐式被确认
注重:不同的网络拓扑有不同的hello时间间隔
NBMA(FR,ATM,X25): hello 30s,dead 120s
Broadcast: hello 10s,dead 40s
show ip ospf neighbor detail
show ip ospf database
show ip route
你知道这三个表是如何建立起来的吗?