OSPF介绍
OSPF基础术语
router-id
-
是唯一标识一台运行OSPF协议的路由器,同区域的router-id不能相同,且是一个32位无符号整数,类似于IP地址
-
选举规则
-
推荐进行手工配置:ospf router-id 1.1.1.1
-
loopbac接口中最大的IP地址
-
物理接口中的最大IP地址
-
0.0.0.0
-
不同区域中,router-id可以相同,邻居可以建立,区域间的路由也能相互学习
-
router-id一旦选定,之后如果更改,就需要重启ospf进程
在用户视图下,reset ospf 1 process
-
区域area
- 标识一个ospf区域,用点分十进制
- 从逻辑上把设备分成不同的组,每个组用区域ID来标识
- 注意:链路状态在同一区域才能建立邻居关系,每255进1,例如:Area0.0.0.1等同于Area1,Area0.0.0.255等同于Area255,Area0.0.1.0等同于Area256
度量值
-
累计cost为开销值
-
计算公式:参考带宽100M/接口实际带宽
- Serial接口,默认cost值为64
- GE接口默认cost值为1
- FE接口默认cost值为1
-
cost修改
- 修改接口cost(推荐)
- 修改参考带宽
MA网络(多路访问):
- 分为BMA(BroadcastMulti-Access,广播多路访问)和NBMA(Non-BroadcastMultipleAccess,非广播多路访问)
ospf三张表
-
邻居表:display ospf peer brief
-
链路状态信息表:display ospf lsdb
-
OSPF路由表:display ospf routing
ospf报文
不同的OSPF报文具有相同的头部格式,OSPF报文直接采用IP封装,在报文的IP头部中,协议号为89
hello
-
作用:邻居发现、邻居建立和维护邻居关系
-
以太网链路中常以组播形式发送Hello报文
- 224.0.0.6的组播地址为OSPF DR/BDR设备的预留IP组播地址
- 224.0.0.5的组播地址为OSPF设备的预留IP组播地址
DD报文(database description)
- DD(DBD)报文,交互链路状态数据库摘要,包含Ls头部信息,包括LS Type,LS ID,Advertising Router,LS Sequence Number,Ls Checksum
link stake request:请求特定的链路状态信息
link stake update:发送详细的链路状态信息
link stake ack:确认ack
OSPF工作过程
-
hello报文发现直连链路上的邻居
-
协商主从master/slave
-
相互描述各自的lsdb(摘要)
-
更新LSA,同步双方LSDB(邻接关系)
-
计算路由
在MA网络中的状态
Waiting
- 在此状态下,路由器通过监听接收到的Hello报文检测网络中是否已经有DR和BDR。在此状态下的路由器不可以参与选举DR和BDR。
Backup
- 在此状态下,该路由器成为所连接网络上的BDR,并与网段中所有的其他路由器建立邻接关系。
DR
- 在此状态下,该路由器成为所连接网络上的DR,并与网段中所有的其他路由器建立邻接关系。
DROther
- 该路由器连接到一个广播型网段或者NBMA网段,而且该路由器不是一个DR或者BDR。此状态下的路由器与DR和BDR形成邻接关系并交换路由信息。
BackupSeen
- 路由器已经检测到网络上是否存在BDR。
DR指定路由器
负责在NA网络建立和维护邻接关系、同步lsdb
选举DR
- 先比较接口DR优先级、越大越优,默认为1,0表示放弃
- 其次比较router-id越大越优
- DR不抢占,基于接口
建立邻居关系
down
- 始状态,没有从邻居收到任何消息
init
- 从邻居收到了hello包,但自己的router-id不在所收到的hello报文中
2-way
- 从邻居收到了hello包,自己的router-id存在于hello报文的邻居列表中
- DR选举(NA)网络,注意:若两台路由器都进入2-way,标志邻居建立完成
exstart
- 路由器开始向邻居发生DD报文(不包含摘要报文)
- i置为1时,表示第一个报文,M置为1时,表示后面还有更多的报文,MS表示我是Master
- router-id大的为master
exchange
- 发生包含摘要的DD报文
loading
- 相互发送LSR、LSU、LSACK报文
Full
- 路由器已经完成了邻居的LSDB同步
ospf网络类型
-
P2P(点对点网络),hello包时间为10s,无DR
-
Broadcast(广播型网络),hello包时间为10s,有DR,dead时间为40
-
NBMA(非广播型多路访问网络),hello包时间为30s,有DR,dead时间为120
-
P2MP(点对多点网络),hello包时间为30s,无DR