OSPF
文章目录
OSPF协议概述
静态路由协议适用于小型或稳定的网络,但是会遇到以下问题
- 无法适应规模较大的网络,随着设备数量增加,配置量会急剧增加
- 无法动态响应网络变化:若网络发生变化,无法自动收敛网络,需要工程师手动修改
关于动态路由协议的分类
按照工作区域分类
- IGP(内部网关协议)
- RIP
- OSPF
- IS-IS
- EGP(外部网关协议)
- BGP
按照工作机制算法分类
- 距离矢量路由协议
- RIP
- 链路状态路由协议
- OSPF
- IS-IS
距离矢量路由协议
运行距离矢量路由协议的路由器周期性的泛红自己的路由表。通过路由的交互,每台路由器都从相邻的路由器学习到路由,加载到自己的路由表中
链路状态路由协议-LSA泛洪
与距离矢量路由协议不同,链路状态路由协议通告的是链路状态而不是路由表。运行链路状态路由协议的路由器之间首先会建立一个邻居关系,然后彼此之间开始交互LSA
链路状态通告,可以简单的理解为每台路由器都产生一个描述自己直连接口状态(包括接口的开销、与邻居路由器之间的关系等)的通告。
链路状态路由协议-LSDB组建
每台路由器会产生LSAs,路由器将会收到的LSAs放入自己的LSDB路由器通过LSDB掌握全网的拓扑
链路状态路由协议-SPF计算
最短路径优先,每台路由器都计算出一棵以自己为根的,无环的,拥有最短路径的树
链路状态路由协议总结
- 建立邻居关系
- 泛洪收集链路状态信息
- 关于路径的计算
- 生成路由表项
OSPF简介
OSPF是典型的链路状态路由协议,是目前业内使用非常广泛的IGP协议之一。
目前针对IPv4协议使用的是OSPF Version 2(RFC2328);针对IPv6协议使用OSPF Version 3(RFC2740)。如无特殊说明本章后续所指的OSPF均为OSPF Version 2。
运行OSPF路由器之间交互的是LS(Link State,链路状态)信息,而不是直接交互路由。LS信息是OSPF能够正常进行拓扑及路由计算的关键信息。
OSPF路由器将网络中的LS信息收集起来,存储在LSDB中。路由器都清楚区域内的网络拓扑结构,这有助于路由器计算无环路径。
每台OSPF路由器都采用SPF算法计算达到目的地的最短路径。路由器依据这些路径形成路由加载到路由表中。
OSPF支持VLSM(Variable Length Subnet Mask,可变长子网掩码),支持手工路由汇总。
多区域的设计使得OSPF能够支持更大规模的网络。
OSPF基础术语
区域
OSPF Area用于标识一个OSPF的区域
区域是从逻辑上将设备划分为不同的组,每个组用区域号(Area ID)来标识
Router-ID
Router-ID用于在一个OSPF域中唯一标识一台路由器
Router-ID的设定可以通过手工配置的方式,或系统自动配置的方式
度量值
OSPF使用开销作为路由的度量值,每一个激活了OSPF的接口都会维护一个接口的Cost的值,缺省时接口Cost值=100Mbit/s / 接口带宽 其中100Mbit/s为OSPF指定的缺省参考值,该值可以配置
一条OSPF路由的Cost值可以理解为是从目的网段到本路由器的沿途所有接口的Cost值相加
OSPF协议报文类型
报文名称 | 报文功能 |
---|---|
Hello | 周期性发送,用来发现和维护OSPF邻居关系 |
Database Description | 描述本地LSDB的摘要信息,用于两台设备进行数据库同步 |
Link State Request | 用于向对方请求所需要的LSA,设备只有在OSPF邻居双方成功交换DD报文后才会向对方发出LSR报文 |
Link State Update | 用于向对方发送其所需要的LSA |
Link State ACK | 用来对收到的LSA进行确认 |
OSPF三大表项-邻居表
- OSPF在传递链路状态信息之前,需要建立OSPF邻居关系
- OSPF的邻居关系通过交互Hello报文建立
- OSPF邻居表显示了OSPF路由器之间的邻居状态
OSPF三大表项-LSDB表
- LSDB会保存自己产生的及从邻居收到的LSA信息
- Type标识LSA的类型,AdvRouter标识发送了LSA路由器
OSPF三大表项-OSPF路由表
- OSPF路由表和路由器路由表是两张不同的表项
- OSPF路由表包含Destination Cost NextHop等指导转发信息
OSPF路由器之间的关系
关于OSPF路由器之间的关系有两个重要的概念,邻居关系和邻接关系。
考虑一种简单的拓扑,两台路由器直连。在双方互联接口上激OSPF,路由器开始发送及侦听Hello报文。在通过Hello报文发现彼此后,这两台路由器便形成了邻居关系。
邻居关系的建立只是一个开始,后续会进行一系列的报文交互,例如前文提到的DD、LSR、LSU和LS ACK等。当两台路由器LSDB同步完成,并开始独立计算路由时,这两台路由器形成了邻接关系。
DR和BDR背景
MA(Multi-Access)多路访问网络有两种类型:广播型多路访问网络(BMA)及非广播型多路访问网络(NBMA)。以太网(Ethernet)是一种典型的广播型多路访问网络。
在MA网络中,如果每台OSPF路由器都与其他的所有路由器建立OSPF邻接关系,便会导致网络中存在过多的OSPF邻接关系,增加设备负担,也增加了网络中泛洪的OSPF报文数量。
当拓扑出现变更,网络中的LSA泛洪可能会造成带宽的浪费和设备资源的损耗。
为优化MA网络中OSPF邻接关系,OSPF指定了三种OSPF路由器身份,DR(Designated Router,指定路由器)、BDR(Backup Designated Router,备用指定路由器)和DRother路由器。
只允许DR、BDR与其他OSPF路由器建立邻接关系。DRother之间不会建立全毗邻的OSPF邻接关系,双方停滞在2-way状态。
BDR会监控DR的状态,并在当前DR发生故障时接替其角色。
OSPF域和单区域
-
OSPF域(Domain):一系列使用相同策略的连续OSPF网络设备所构成的网络。
-
OSPF路由器在同一个区域(Area)内网络中泛洪LSA。为了确保每台路由器都拥有对网络拓扑的一致认知,LSDB需要在区域内进行同步。
-
如果OSPF域仅有一个区域,随着网络规模越来越大,OSPF路由器的数量越来越多,这将导致诸多问题:
- LSDB越来越庞大,同时导致OSPF路由表规模增加。路由器资源消耗多,设备性能下降,影响数据转发。
- 基于庞大的LSDB进行路由计算变得困难。
- 当网络拓扑变更时,LSA全域泛洪和全网SPF重计算带来巨大负担。
OSPF多区域
- OSPF引入区域(Area)的概念,将一个OSPF域划分成多个区域,可以使OSPF支撑更大规模组网。
- OSPF多区域的设计减小了LSA泛洪的范围,有效的把拓扑变化的影响控制在区域内,达到网络优化的目的。
- 在区域边界可以做路由汇总,减小了路由表规模。
- 多区域提高了网络扩展性,有利于组建大规模的网络。
OSPF路由基础实验
实验基于链路状态的协议具有以下优点
- OSPF采用组播形式收发报文,可以减少对其他不运行的OSPF路由器进行影响
- OSPF支持无类型域间选路(CIDR)
- OSPF支持对等价路由进行负载分担
- OSPF支持报文认证
实验目的
基本OSPF的基本配置命令
查看OSPF的运行状态
掌握如何通过Cost控制OSPF的选路
掌握OSPF发布默认路由的方法
掌握OSPF的认证配置方法
网络拓扑
配置思路
- 创建设备上的OSPF进程并使能接口上的OSPF功能
- 配置OSPF认证
- 通过OSPF发布默认路由
- 通过修改Cost值控制OSPF选路
基本配置
R1
<Huawei>system-view
Enter system view, return user view with Ctrl+Z
[Huawei]undo info-center enable
Info: Information center is disabled.
[Huawei]sysname R1
[R1]interface G0/0/2
[R1-GigabitEthernet0/0/2]ip add 10.0.13.1 255.255.255.0
[R1-GigabitEthernet0/0/2]ospf authentication-mode md5 1 cipher 123456
[R1-GigabitEthernet0/0/2]q
[R1]int G0/0/0
[R1-GigabitEthernet0/0/0]ip add 10.0.12.1 255.255.255.0
[R1-GigabitEthernet0/0/0]ospf cost 10
[R1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
[R1-GigabitEthernet0/0/0]q
[R1]int
[R1]interface LoopBack0
[R1-LoopBack0]ip add 10.0.1.1 255.255.255.255
[R1-LoopBack0]q
[R1]ospf 1
[R1-ospf-1]default-route-advertise always
[R1-ospf-1]a 0
[R1-ospf-1-area-0.0.0.0]network 10.0.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]network 10.0.12.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 10.0.13.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]return
<R1>display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 14 Routes : 14
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.0.1.1/32 Direct 0 0 D 127.0.0.1 LoopBack0
10.0.1.2/32 OSPF 10 2 D 10.0.13.3 GigabitEthernet
0/0/2
10.0.1.3/32 OSPF 10 1 D 10.0.13.3 GigabitEthernet
0/0/2
10.0.12.0/24 Direct 0 0 D 10.0.12.1 GigabitEthernet
0/0/0
10.0.12.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
10.0.12.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
10.0.13.0/24 Direct 0 0 D 10.0.13.1 GigabitEthernet
0/0/2
10.0.13.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/2
10.0.13.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/2
10.0.23.0/24 OSPF 10 2 D 10.0.13.3 GigabitEthernet
0/0/2
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
[R1]display ospf peer
OSPF Process 1 with Router ID 10.0.13.1
Neighbors
Area 0.0.0.0 interface 10.0.13.1(GigabitEthernet0/0/2)'s neighbors
Router ID: 10.0.13.3 Address: 10.0.13.3
State: Full Mode:Nbr is Master Priority: 1
DR: 10.0.13.1 BDR: 10.0.13.3 MTU: 0
Dead timer due in 38 sec
Retrans timer interval: 5
Neighbor is up for 00:15:45
Authentication Sequence: [ 1039]
Neighbors
Area 0.0.0.0 interface 10.0.12.1(GigabitEthernet0/0/0)'s neighbors
Router ID: 10.0.12.2 Address: 10.0.12.2
State: Full Mode:Nbr is Slave Priority: 1
DR: 10.0.12.1 BDR: 10.0.12.2 MTU: 0
Dead timer due in 36 sec
Retrans timer interval: 5
Neighbor is up for 00:20:51
Authentication Sequence: [ 1043]
[R1]display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 3 Routes : 3
OSPF routing table status : <Active>
Destinations : 3 Routes : 3
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.0.1.2/32 OSPF 10 2 D 10.0.13.3 GigabitEthernet
0/0/2
10.0.1.3/32 OSPF 10 1 D 10.0.13.3 GigabitEthernet
0/0/2
10.0.23.0/24 OSPF 10 2 D 10.0.13.3 GigabitEthernet
0/0/2
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
R2
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]undo info-center enable
Info: Information center is disabled.
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname R2
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 10.0.12.2 255.255.255.0
[R2-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
[R2-GigabitEthernet0/0/0]q
[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 10.0.23.2 255.255.255.0
[R2-GigabitEthernet0/0/1]ospf authentication-mode md5 1 cipher 123456
[R2-GigabitEthernet0/0/1]q
[R2]int LoopBack0
[R2-LoopBack0]ip add 10.0.1.2 255.255.255.255
[R2-LoopBack0]q
[R2]ospf 1
[R2-ospf-1]a 0
[R2-ospf-1-area-0.0.0.0]network 10.0.1.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]network 10.0.23.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]network 10.0.12.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]return
<R2>display ospf peer
OSPF Process 1 with Router ID 10.0.12.2
Neighbors
Area 0.0.0.0 interface 10.0.12.2(GigabitEthernet0/0/0)'s neighbors
Router ID: 10.0.13.1 Address: 10.0.12.1
State: Full Mode:Nbr is Master Priority: 1
DR: 10.0.12.1 BDR: 10.0.12.2 MTU: 0
Dead timer due in 40 sec
Retrans timer interval: 5
Neighbor is up for 00:33:27
Authentication Sequence: [ 2526]
Neighbors
Area 0.0.0.0 interface 10.0.23.2(GigabitEthernet0/0/1)'s neighbors
Router ID: 10.0.13.3 Address: 10.0.23.3
State: Full Mode:Nbr is Master Priority: 1
DR: 10.0.23.2 BDR: 10.0.23.3 MTU: 0
Dead timer due in 37 sec
Retrans timer interval: 5
Neighbor is up for 00:28:07
Authentication Sequence: [ 2525]
<R2>display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 15 Routes : 16
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 O_ASE 150 1 D 10.0.12.1 GigabitEthernet
0/0/0
10.0.1.1/32 OSPF 10 1 D 10.0.12.1 GigabitEthernet
0/0/0
10.0.1.2/32 Direct 0 0 D 127.0.0.1 LoopBack0
10.0.1.3/32 OSPF 10 1 D 10.0.23.3 GigabitEthernet
0/0/1
10.0.12.0/24 Direct 0 0 D 10.0.12.2 GigabitEthernet
0/0/0
10.0.12.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
10.0.12.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
10.0.13.0/24 OSPF 10 2 D 10.0.12.1 GigabitEthernet
0/0/0
OSPF 10 2 D 10.0.23.3 GigabitEthernet
0/0/1
10.0.23.0/24 Direct 0 0 D 10.0.23.2 GigabitEthernet
0/0/1
10.0.23.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
10.0.23.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
R3
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]undo info-center enable
Info: Information center is disabled.
[Huawei]sysname R3
[R3]int g0/0/2
[R3-GigabitEthernet0/0/2]ip add 10.0.13.3 255.255.255.0
[R3-GigabitEthernet0/0/2]q
[R3]int g0/0/1
[R3-GigabitEthernet0/0/1]ip add 10.0.23.3 255.255.255.0
[R3-GigabitEthernet0/0/1]q
[R3]int LoopBack 0
[R3-LoopBack0]ip add 10.0.1.3 255.255.255.255
[R3-LoopBack0]q
[R3]ospf 1
[R3-ospf-1]a 0
[R3-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher 123456
[R3-ospf-1-area-0.0.0.0]network 10.0.1.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]network 10.0.13.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]network 10.0.23.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]return
<R3>display ospf peer
OSPF Process 1 with Router ID 10.0.13.3
Neighbors
Area 0.0.0.0 interface 10.0.13.3(GigabitEthernet0/0/2)'s neighbors
Router ID: 10.0.13.1 Address: 10.0.13.1
State: Full Mode:Nbr is Slave Priority: 1
DR: 10.0.13.1 BDR: 10.0.13.3 MTU: 0
Dead timer due in 39 sec
Retrans timer interval: 0
Neighbor is up for 00:30:02
Authentication Sequence: [ 2826]
Neighbors
Area 0.0.0.0 interface 10.0.23.3(GigabitEthernet0/0/1)'s neighbors
Router ID: 10.0.12.2 Address: 10.0.23.2
State: Full Mode:Nbr is Slave Priority: 1
DR: 10.0.23.2 BDR: 10.0.23.3 MTU: 0
Dead timer due in 37 sec
Retrans timer interval: 5
Neighbor is up for 00:29:48
Authentication Sequence: [ 2829]
<R3>display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 15 Routes : 15
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 O_ASE 150 1 D 10.0.13.1 GigabitEthernet
0/0/2
10.0.1.1/32 OSPF 10 1 D 10.0.13.1 GigabitEthernet
0/0/2
10.0.1.2/32 OSPF 10 1 D 10.0.23.2 GigabitEthernet
0/0/1
10.0.1.3/32 Direct 0 0 D 127.0.0.1 LoopBack0
10.0.12.0/24 OSPF 10 2 D 10.0.23.2 GigabitEthernet
0/0/1
10.0.13.0/24 Direct 0 0 D 10.0.13.3 GigabitEthernet
0/0/2
10.0.13.3/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/2
10.0.13.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/2
10.0.23.0/24 Direct 0 0 D 10.0.23.3 GigabitEthernet
0/0/1
10.0.23.3/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
10.0.23.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
配置步骤
1.设备基础配置 完成路由器命名、物理接口、LoopBack接口的IP地址配置
2.完成OSPF基本配置
OSPF协议的接口满足以下条件
*接口的IP地址掩码长度>=network命令中掩码长度,OSPF使用反掩码
*接口的IP地址必须在network命令指定的网段范围内
*当network命令配置反掩码全为0时,如果接口的IP地址与network-address配置的IP地址相同
3.查看OSPF邻居状态
4.查看IP路由表中OSPF学习的路由
5.配置OSPF认证
假设R1为所有网络的出口,要在R1上向OSPF宣告默认路由
6.命令验证
[R1]tracert -a 10.0.1.1 10.0.1.2
traceroute to 10.0.1.2(10.0.1.2), max hops: 30 ,packet length: 40,press CTRL_C
to break
1 10.0.13.3 40 ms 20 ms 20 ms
2 10.0.23.2 30 ms 20 ms 20 ms
测试连通性
部分补充笔记