OSPF协议概述
目录
1、OSPF协议
OSPF是链路状态路由协议(链路状态表)
相比较RIP,OSPF拥有触发性更新、周期性更新快等优点
在自治系统(AS)内:内部网关协议(IGP)
在自治系统(AS)间:外部网关协议(BGP)
2、OSPF工作过程
三张表:邻居列表
链路状态数据库
路由表
过程:建立邻接关系----链路状态数据库----最短路径树----路由表
3、OSPF区域:
分为骨干区域(Area 0)、分骨干区域(Area 1/2/3...)
为了适应大型的网络,OSPF在AS内划分多个区域,每个OSPF路由器只维护所在区域的完整链路状态信息(LSA)。
所有非骨干区域必须与骨干区域直接相连,骨干区域Area 0 负责区域间路由信息传播。
4、Router ID :
OSPF区域内唯一标识路由器的IP地址
5、Route ID选取规则:
使用route-id 命令指定Router ID
选取路由器loopback接口上数值最高的IP地址
如果没有loopback接口,在物理端口中选取IP地址最高的
6、DR和BDR
DR:指定路由器 BDR:备份,监测DR,随时顶替
其他路由器(DRothers)只和DR、BDR形成邻接关系
7、DR和BDR的选举方法:
自动选举DR和BDR
网段上Router ID 最大的路由器将被选举为DR,第二大的将被选举为BDR。
手工选择DR和BDR
优先级范围是0-255,数值越大,优先级越高,默认为1
如果优先级相同,则需要比较Router ID
如果路由器的优先级被设置为0,它将不会参与DR和BDR的选举
选举过程:(BDR通过发送HELLO包来监测) 2s/次
路由器的优先级可以影响一个选举过程,但是它不能强制更换已经存在的DR或BDR路由器。
8、OSPF的组播地址:
224.0.0.5 ----DRother
224.0.0.6 ----DR/BDR
9、OSPF的度量值是Cost值
Cost值=108 /BW(带宽) 带宽越大,cost值越小,OSPF越优先
最短路径是基于接口指定的代价(cost)计算的。
10、OSPF数据包----IP-89
承载在IP数据包内,使用协议号89
11、OSPF数据包类型
类型 |
描述 |
HELLO包 |
用于发现和维持邻居关系,选举DR和BDR |
数据库描述包(DBD) |
用于向邻居发送摘要信息,以同步链路状态数据库 |
链路状态请求包(LSR) |
在路由器收到包含新信息的DBD后发送,用于请求更详细信息 |
链路状态更新包(LSU) |
收到LSR后发送链路状态通告(LSA),一个LSU数据包可能包含几个LSA |
链路状态确认包(LSAck) |
确认已经收到LSU,每个LSA需要被分别确认 |
12、OSPF邻接关系的建立(七个状态机)
OSPF启动的第一个阶段是使用HELLO报文建立双向通信的过程
OSPF启动的第二个阶段是建立完全邻接关系
邻居状态:
1、DOWN:邻居状态机的初始状态,是指在过去的Dead-Interval时间内没有测到对方的HELLO报文。
(1-2)、Attempt:只适用于NBMA类型的接口,处于本机状态时,定期向那些手工配置的邻居发送HELLO报文
2、Init :本状态表示已经收到了邻居的HELLO报文,但是该报文中列出的邻居中没有包含我的Router ID(对方没有收到我发的HELLO报文)。
3、2-Way:本状态表示双方互相收到了对端发送的HELLO报文,建立了邻居关系。在广播和NBMA类型的网络中,两个接口状态是DRother 的路由器之间将停留在此状态。
其他情况状态机将继续转入高级状态
4、ExStart :在此状态下,路由器和他的邻居之间通过互相交换DBD报文(该报文不包含实际的内容,只包含了一些标志位)来决定发送时的主/从关系。建立主/从关系主要是为了保证在后续的DBD报文交换中能够有序的发送。
5、Exchange :路由器将本地的LSDB用DBD报文来描述,并发给邻居。
6、Loading :路由器发送LSR报文向邻居请求对方的DBD报文。
7、Full :在此状态下,邻居路由器的LSDB中的所有LSA本路由器全都有了。即,本路由器和邻居建立了邻接状态(adjacency)。
13、OSPF将网络划分为四种类型
点到点网络 (Point-to-Point)
广播多路访问网络 (Broadcast MultiAccess BMA)
非广播多路访问网络 (None Broadcast MultiAccess NBMA)
点到多点网络 (Point-to-Multipoint)
14、OSPF的特点:
可适应大规模网络,路由变化收敛速度快,无路由环,支持变长子网掩码VLSM,支持区域划分,支持以组播地址发送协议报文。
15、OSPF与RIP比较:
|
OSPF |
RIPV2 |
RIPV1 |
协议类型 |
链路状态 |
距离矢量 |
距离矢量 |
CIDR |
支持 |
支持 |
不支持 |
VLSM |
支持 |
支持 |
不支持 |
自动聚合 |
不支持 |
支持 |
不支持 |
手动聚合 |
支持 |
支持 |
不支持 |
路由泛洪 |
组播更新 |
周期组播更新 |
周期广播 |
路径开销 |
带宽 |
跳数 |
跳数 |
路由收敛 |
快 |
慢 |
慢 |
跳数限制 |
无 |
15 |
15 |
邻居认证 |
支持 |
支持 |
不支持 |
分级网络 |
支持(区域) |
不支持 |
不支持 |
更新 |
事件触发更新 |
路由表更新 |
路由表更新 |
路由计算 |
Dijkstra |
Bellman-Ford |
Bellman-Ford |
16、OSPF建立邻居的条件
- Router ID不能相同
- HELLO时间必须一致
- DEAD时间必须一致
- 区域ID必须相同
- 认证必须相同
- STUB标志位必须相同(直连路由器特殊区域要求一致)
- 三层MTU不匹配无法形成邻接关系(一边是Exstart,一边是Exchange)
- OSPF版本号不同(目前版本为2)
- 当OSPF网络类型是MA时,要求掩码一定一致(两个邻居),因为会出现DR和LSA-2,无法描述网段
17、路由器分类:OSPF路由器种类
1、区域内路由器IR(Internal Router)
该类路由器的所有接口都属于同一个OSPF区域
2、区域边界路由器ABR(Area Border Routers)
该类路由器可以同时属于两个以上的区域,但其中一个必须是骨干区域,ABR用来连接骨干区域和非骨干区域,可以是实际连接,也可以是虚连接
3、骨干路由器BR(Backbong Routers)
该类路由器至少一个接口属于骨干区域
因此,所有的ABR和位于Area 0的内部路由器都是骨干路由器
4、自治系统边界路由器ASBR(As Boundary Routers)
与其他AS交换路由信息的路由器称为ASBR