OSPF基础

1、OSPF协议 报文类型
Hello:周期发送,用来发现和维护OSPF邻居关系
DD:描述本地LSDB的摘要信息,用于两台设备进行数据库同步
LSR:用于向对方请求需要的LSA。设备只有在OSPF邻居双方成功交换DD报文后才会向对方发出LSR报文。
LSU:用于向对方发送其所需的LSA
LSA:用来对收到的LSA进行确认


2、OSPF三大表项

邻居表、LSDB表、OSPF路由表


3、OSPF建立邻接关系的步骤

3.1 建立双向邻居关系(hello)
OSPF路由器首次收到hello报文时会从初始Down状态切换为Init状态
当收到的hello报文中的邻居字段包含自己的router id时,从Init切换为2-way

3.2协商主从(DD)
从2-way转换为Exstart后进行主从关系选举,双方发送空的DD报文,序号为X或Y选举规则为比较Router ID,越大越优,主从关系比较结束后,从Exstart转为Exchange

3.3 相互描述各自的LSDB(DD)
主路由发送新的DD报文描述自己的LSDB,序列号为Y+1,对方回复DD报文,序列号与主路由相同,发完最后一个DD报文之后,邻居状态转为Loading

3.4 更新LSA、同步双方LSDB(LSR、LSU)
从路由向主路由发送LSR报文,请求在Exchange状态下发现的但本地LSDB没有的LSA,主路由回复LSU携带被请求的LSA,从路由收到后回复LS ACK确认收到LSU,当两端的LSDB完全一致时,邻居状态变为Full,然后计算路由


4、OSPF网络类型
接口默认的OSPF网络类型取决于接口所使用的数据链路层封装
一般情况下,链路两端的OSPF接口网络类型必须一致,否则无法建立邻居关系

4.1 P2P(点对点)
一段链路上只能连接两台网络设备的环境。
典型的例子是:PPP链路,当接口采用PPP封装时,OSPF在该接口上采用的缺省网络类型为P2P

4.2 BMA(广播型)
一个允许多台设备接入的支持广播的环境
典型的例子是Ethernet(以太网),当接口采用Ethernet封装时,OSPF在该接口上采用的缺省网络类型为BMA

4.3 NBMA(非广播式多路访问)
一个允许多台网络设备接入且不支持广播的环境
典型的例子是帧中继(Frame-Relay)网络

4.4 P2MP(点到多点)
相当于将多条P2P链路的一端捆绑得到的网络
没有一种链路层协议会被缺省的认为是P2MP网络类型,该类型必须由其他网络类型手动更改,常用做法是将非全通性的NBMA改为点到多点的网络


5、DR与BDR

5.1 三种路由器身份
DR(指定路由器)、BDR(备份指定路由器)、DRother
只允许DR与BDR与其他路由器建立邻接关系,DRother之间不会建立全毗邻的邻接关系,双方停滞在2-way状态,BDR会监控DR状态,并在DR发生故障时接替其角色

5.2 选举规则
路由器DR优先级更高的接口成为该MA(多路访问网络)的DR,如果优先级相等(默认为1)则具有更高的OSPF Router-ID的路由器的接口被选举为DR,并且DR具有非抢占性


6、OSPF域与单区域

6.1 域(Domain)
一系列使用相同策略的连续OSPF网络设备所构成的网络
OSPF会在同一个区域中泛洪LSA,区域内路由器的LSDB同步

6.2 如果只有单区域产生的问题
LSDB越来越庞大,OSPF路由表规模变大,路由器资源消耗变多,设备性能下降,影响数据转发
基于庞大的LSDB进行路由计算变得困难
当拓扑变更时,LSA全域泛洪和全网SPF重计算带来巨大的负担

6.3 OSPF多区域

6.3.1区域的分类
骨干区域(area 0),除area 0外其他所有的区域都称为非骨干区域
6.3.2多区域互联原则
基于防止区域间环路的考虑,非骨干区域之间不能直接连接,所有非骨干区域必须与骨干区域连接

6.4 路由器类型
6.4.1区域内路由器(IR)
该类路由器的所有接口都属于同一个OSPF区域
6.4.2区域间路由器(ABR)
该类路由器的接口同时属于两个以上的区域,但至少有一个接口属于骨干区域
6.4.3骨干路由器(BR)
该类路由器至少有一个接口属于骨干区域
6.4.4自治系统边界路由器(ASBR)
该类路由器与其他AS交换路由信息

6.5 Router ID 的选择顺序
优先从loopback地址中选择最大的IP地址作为设备的ID号如果没有配置loopback接口,则在接口地址中选取最大的IP地址作为设备的ID号


整理: 毛尚杰、陈诺、江泽明、梁文婷
排版: 何颖连
审核: 二月二