OSPF
- OSPF属于典型的链路状态路由协议
- 链路状态路由协议的四个步骤:
- 1.相邻的建立邻居关系
- 2.邻居间的链路间的状态信息(LSA)交互和同步LSDB(链路状态数据库)
- 3.优选路径运算 (SPF算法计算)
- 4.根据最优路径生成路由表项加载到路由表
- 目前针对ipv4协议使用的是OSPF Version 2(RFC2328) ,针对ipv6协议使用的是OSPF Version 3(RFC2740)
- 运行了OSPF的路由器之间交互的是LS(链路状态)不是路由信息,OSPF路由器将LS收集起来,存储到LSDB,有助于计算无环路由
- OSPF支持VLSM(可变长子网掩码),支持手动路由汇总
OSPF基本术语
- 区域(Area):OSPF Area标识一个区域
- Router-ID :路由器的标识符,在一个域中唯一的,可手工配置可系统自动配置,通常为手工配置
- 度量值(Cost):缺省时Cost=100兆/接口带宽,这个100兆为缺省的,可以手动配置
OSPF三大表项
- 邻居表:OSPF在传递链路状态信息前,先确定邻居关系,交互Hello包来建立,dis ospf peer 查看邻居状态
邻居状态(State) | Value |
---|---|
Down | 初始状态,表示没有邻居收到信息,该状态下Hello仍然可以收发 |
Attempt | 表示正在尝试建立邻居 |
Init | 表示已经收到邻居发送过来的的hello报文了 |
2-Way | 表示收到邻居发来的hello报文了,并且报文的Neighbor List中包含了Router ID,就代表可以互通了。 |
Exstart | 该状态为建立Adjacency的第一步,进行主从关系、DD Sequence Number的协商 |
Exchange | 开始进行LSDB同步操作,交互的报文有DD报文(LSDB摘要报文)、LSR报文(向对方请求自己所需要的LSA)、LSU报文(向其发送请求里所需的LSA) |
Loading | LSDB正在进行同步操作,交互的报文只有LSR报文和LSU报文 |
full | 表示邻居关系已经建立好了 ,LSDB已经同步完成 |
- LSDB表:LSDB表会保存自己产生的和邻居处收到的LSA信息,dis ospf lsdb可以查看详细信息
关键字 | Value |
---|---|
area | LSDB的区域 |
type | 标识LSA类型 |
LinkState ID | 链路状态ID |
AdvRouter | 发送LSA的路由器 |
Metric | 度量值 |
- OSPF路由表:OSPF路由表和路由器路由表时两个不同的表象,
dis ospf routing查看
基础配置
1.先配置各个接口ip
2.OSPF基础配置(AR1为例)
ospf 1
area 0.0.0.0
network 10.0.1.1 0.0.0.0
network 192.168.12.0 0.0.0.255
network 192.168.13.0 0.0.0.255
查看邻居表
[Huawei]dis ospf peer
OSPF Process 1 with Router ID 10.0.1.1
Neighbors (邻居)
Area 0.0.0.0 interface 192.168.12.1(GigabitEthernet0/0/0)'s neighbors
Router ID: 10.0.2.2 Address: 192.168.12.2
State: Full Mode:Nbr is Master Priority: 1
DR: 192.168.12.1 BDR: 192.168.12.2 MTU: 0
Dead timer due in 30 sec
Retrans timer interval: 5
Neighbor is up for 02:33:59 (表示两小时前建立了邻居关系)
Authentication Sequence: [ 0 ]
Neighbors
Area 0.0.0.0 interface 192.168.13.1(GigabitEthernet0/0/1)'s neighbors
Router ID: 10.0.3.3 Address: 192.168.13.3
State: Full Mode:Nbr is Master Priority: 1
DR: 192.168.13.1 BDR: 192.168.13.3 MTU: 0
Dead timer due in 30 sec
Retrans timer interval: 5
Neighbor is up for 02:19:35
Authentication Sequence: [ 0 ]
[Huawei]dis ospf lsdb
OSPF Process 1 with Router ID 10.0.1.1
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 10.0.3.3 10.0.3.3 1662 60 8000000B 0
Router 10.0.2.2 10.0.2.2 428 60 8000000E 0
Router 10.0.1.1 10.0.1.1 1658 60 8000000F 0
Network 192.168.23.2 10.0.2.2 429 32 80000007 0
Network 192.168.13.1 10.0.1.1 1658 32 80000006 0
Network 192.168.12.1 10.0.1.1 726 32 80000007 0
[Huawei]dis ospf routing
OSPF Process 1 with Router ID 10.0.1.1
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area
(目的网络) (开销) (类型) (下一跳) (LSA的发布设备) (区域)
10.0.1.1/32 0 Stub 10.0.1.1 10.0.1.1 0.0.0.0
192.168.12.0/24 1 Transit 192.168.12.1 10.0.1.1 0.0.0.0
192.168.13.0/24 1 Transit 192.168.13.1 10.0.1.1 0.0.0.0
10.0.2.2/32 1 Stub 192.168.12.2 10.0.2.2 0.0.0.0
10.0.3.3/32 1 Stub 192.168.13.3 10.0.3.3 0.0.0.0
192.168.23.0/24 2 Transit 192.168.12.2 10.0.2.2 0.0.0.0
192.168.23.0/24 2 Transit 192.168.13.3 10.0.2.2 0.0.0.0
Total Nets(区域内部、区域间、ASE和NSSA区域的网络总数): 7
Intra Area(区域内网络总数): 7 Inter Area(区域间网络总数): 0 ASE: 0 NSSA: 0
其他配置
- 接口认证
#AR1配置接口认证:
int g0/0/0
ospf authentication-mode md5 1 cipher panda
AR1的0/0/0是与AR2连接的
此时的AR2只有一个邻居AR3了
给AR2的0/0/0口也配置上接口认证就能看见邻居AR1了
- 出口路由器宣告默认路由
如果配置了always参数,设备不再计算来自其他设备的缺省路由。
如果没有配置always参数,本机路由表中必须有激活的非OSPF缺省路由时才生成缺省路由的LSA。
# AR3:
ospf 1
default-route-advertise always
配置该命令后,ASBR将产生一个Link State ID为0.0.0.0,网络掩码为0.0.0.0的ASE LSA(Type 5),并且通告到整个OSPF区域中。
- 配置接口上运行的OSPF协议所需要的开销
#AR1:
int g0/0/1
ospf cost 10
#验证路线
<Huawei>tracert -a 10.0.1.1 10.0.3.3
traceroute to 10.0.3.3(10.0.3.3), max hops: 30 ,packet length: 40,press CTRL_C
to break
1 192.168.12.2 60 ms 20 ms 20 ms
2 192.168.23.3 40 ms 30 ms 30 ms
本来AR1到AR3的10.0.3.3应该从0/0/1口出去 ,修改cost值后,0/0/1出去cost=10,0/0/0出去cost=2,原本路线为AR1→AR3,所以修改后,路线就应该是 AR1→AR2→AR3