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