1.OSPF快速配置
1.1拓扑搭建
1.2配置接口IP
R1:
sys
un in en
sysn R1
int e0/0/0
ip add 10.1.1.1 30
quit
interface LoopBack 0
ip add 192.168.1.1 24
quit
R2:
sys
un in en
sysn R2
int e0/0/0
ip add 10.1.1.2 30
quit
interface LoopBack 0
ip add 192.168.2.1 24
quit
1.3配置OSPF
R1:
ospf 1 router-id 1.1.1.1
area 0
network 192.168.1.1 0.0.0.255
network 10.1.1.0 0.0.0.3
quit
quit
R2:
ospf 1 router-id 2.2.2.2
area 0
network 192.168.2.1 0.0.0.255
network 10.1.1.0 0.0.0.3
quit
quit
1.4验证测试
(1)查看通过OSPF路由协议学习到的路由信息
R1:
R2:
(2)192.168.1.1访问192.168.2.1
本实验环境直接ping是通过直连路由的方式建立通信的,
要使用ping -a 192.168.1.1 192.168.2.1。
2. OSPF协议报文类型
OSPF有五种类型的协议报文。这些报文在OSPF路由器之间交互中起不同的作用。
报文名称 | 报文功能 |
Hello | 周期性发送,用来发现和维护OSPF邻居关系。 |
Database Description | 描述本地LSDB的摘要信息,用于两台设备进行数据库同步。 |
Link State Request | 用于向对方请求所需要的LSA。设备只有在OSPF邻居双方成功交换DD报文后才会向对方发出LSR报文。 |
Link State Update | 用于向对方发送其所需要的LSA。 |
Link State ACK | 用来对收到的LSA进行确认。 |
2.1在R1的e0/0/0接口抓取OSPF报文
点击e0/0/0接口开始抓包,然后可以进入到e0/0/0接口输入命令shutdown,然后undo shutdown,关闭开启端口;又或者通过reset ospf process重启OSPF进程,即可抓取OSPF交互的报文。
3. OSPF三大表项
3.1邻居表
OSPF有三张重要的表项,OSPF邻居表、LSDB表和OSPF路由表。对于OSPF的邻居表,需要了解:
OSPF在传递链路状态信息之前,需先建立OSPF邻居关系。
OSPF的邻居关系通过交互Hello报文建立。
OSPF邻居表显示了OSPF路由器之间的邻居状态,使用display ospf peer查看。
3.2 LSDB表
对于OSPF的LSDB表,需要了解:
LSDB会保存自己产生的及从邻居收到的LSA信息,本例中R1的LSDB包含了三条LSA。
Type标识LSA的类型,AdvRouter标识发送LSA的路由器。
使用命令行display ospf lsdb查看LSDB表。
3.3 OSPF路由表
对于OSPF的路由表,需要了解:
OSPF路由表和路由器路由表是两张不同的表项。
本例中OSPF路由表有三条路由。
OSPF路由表包含Destination、Cost和NextHop等指导转发的信息。
使用命令display ospf routing查看OSPF路由表。
4.OSPF邻居关系建立
4.1 OSPF路由器之间的关系
关于OSPF路由器之间的关系有两个重要的概念,邻居关系和邻接关系。
考虑一种简单的拓扑,两台路由器直连。在双方互联接口上激活OSPF,路由器开始发送及侦听Hello报文。在通过Hello报文发现彼此后,这两台路由器便形成了邻居关系。
邻居关系的建立只是一个开始,后续会进行一系列的报文交互,例如前文提到的DD、LSR、LSU和LS ACK等。当两台路由器LSDB同步完成,并开始独立计算路由时,这两台路由器形成了邻接关系。
4.2初识OSPF邻接关系建立过程
OSPF完成邻接关系的建立有四个步骤,建立邻居关系、协商主/从、交互LSDB信息,同步LSDB。
4.2.1建立邻居关系
4.2.2协商主/从、交互LSDB信息
4.2.3同步LSDB
LSDB同步是在同一个区域里面进行的。
4.3 OSPF邻居表回顾
5.OSPF其他知识
5.1 OSPF网络类型简介
在学习DR和BDR的概念之前,需要首先了解OSPF的网络类型。
OSPF网络类型是一个非常重要的接口变量,这个变量将影响OSPF在接口上的操作,例如采用什么方式发送OSPF协议报文,以及是否需要选举DR、BDR等。
接口默认的OSPF网络类型取决于接口所使用的数据链路层封装。
如图所示,OSPF的有四种网络类型,Broadcast、NBMA、P2MP和P2P。
主要了解记住Broadcast和P2P;
NBMA已经淘汰了,其主要使用在帧中继的环境下。
关于接口类型是可以修改的,可以到接口下通过命令进行修改。
默认情况下,接口的类型为Broadcast
5.1.1 OSPF网络类型一
一般情况下,链路两端的OSPF接口网络类型必须一致,否则双方无法建立邻居关系。
OSPF网络类型可以在接口下通过命令手动修改以适应不同网络场景,例如可以将BMA网络类型修改为P2P。
(1)P2P(Point-to-Point,点对点)
P2P指的是在一段链路上只能连接两台网络设备的环境。
典型的例子是PPP链路。当接口采用PPP封装时,OSPF 在该接口上采用的缺省网络类型为P2P 。
P2P是不需要选举DR/BDR的,因此会比broadcast网络类型建立邻居关系要快很多。
将BMA网络类型修改为P2P:
(2)BMA(Broadcast Multiple Access,广播式多路访问)
BMA也被称为Broadcast,指的是一个允许多台设备接入的、支持广播的环境。
典型的例子是Ethernet(以太网)。当接口采用Ethernet封装时,OSPF在该接口上采用的缺省网络类型为BMA。
5.1.2 OSPF网络类型二
(1)NBMA(Non-Broadcast Multiple Access,非广播式多路访问)
NBMA指的是一个允许多台网络设备接入且不支持广播 的环境。 • 典型的例子是帧中继(Frame-Relay)网络。
(2)P2MP(Point to Multi-Point,点到多点)
P2MP相当于将多条P2P链路的一端进行捆绑得到的网络。
没有一种链路层协议会被缺省的认为是P2MP网络类型。该类型必须由其他网络类型手动更改。
常用做法是将非全连通的NBMA改为点到多点的网络。
5.2 DR与BDR的背景
MA(Multi-Access)多路访问网络有两种类型:广播型多路访问网络(BMA)及非广播型多路访问网络(NBMA)。以太网(Ethernet)是一种典型的广播型多路访问网络。
在MA网络中,如果每台OSPF路由器都与其他的所有路由器建立OSPF邻接关系,便会导致网络中存在过多的OSPF邻接关系,增加设备负担,也增加了网络中泛洪的OSPF报文数量。
当拓扑出现变更,网络中的LSA泛洪可能会造成带宽的浪费和设备资源的损耗。
选举DR和BRD类似于在一个班级里,选出一个正班长和副班长,例如老师需要收集作业,大家就可以把作业交给班长处,然后班长收集好直接交给老师,发送也是通过班长去发放就好了,当班长请假了,那么副班长就接替班长的工作,减少了每个人都跑去交作业给老师这一个过程,就像区域内,不用每一个路由器互相发送LSA建立邻接关系,通过统一发送给DR或者BDR就好了。
5.2.1 DR与BDR
为优化MA网络中OSPF邻接关系,OSPF指定了三种OSPF路由器身份,DR(Designated Router,指定路由器)、BDR(Backup Designated Router,备用指定路由器)和DRother路由器。
只允许DR、BDR与其他OSPF路由器建立邻接关系。DRother之间不会建立全毗邻的OSPF邻接关系,双方停滞在2-way状态。
BDR会监控DR的状态,并在当前DR发生故障时接替其角色。
DR选举出来,在加入优先级比较高的路由器,它是不会进行抢占,遵循着不抢占原则,除非已选举出来的DR出现故障。
5.3 OSPF域与单区域
OSPF域(Domain):一系列使用相同策略的连续OSPF网络设备所构成的网络。
OSPF路由器在同一个区域(Area)内网络中泛洪LSA。为了确保每台路由器都拥有对网络拓扑的一致认知,LSDB需要在区域内进行同步。
如果OSPF域仅有一个区域,随着网络规模越来越大,OSPF路由器的数量越来越多,这将导致诸多问题:
LSDB越来越庞大,同时导致OSPF路由表规模增加。路由器资源消耗多,设备性能下降,影响数据转发。
基于庞大的LSDB进行路由计算变得困难。▫ 当网络拓扑变更时,LSA全域泛洪和全网SPF重计算带来巨大负担。
5.4 OSPF多区域
OSPF引入区域(Area)的概念,将一个OSPF域划分成多个区域,可以使OSPF支撑更大规模组网。
OSPF多区域的设计减小了LSA泛洪的范围,有效的把拓扑变化的影响控制在区域内,达到网络优化的目的。
在区域边界可以做路由汇总,减小了路由表规模。
多区域提高了网络扩展性,有利于组建大规模的网络。
在区域边界可以做路由过滤,方便路由控制。
5.5 OSPF路由器类型
OSPF路由器根据其位置或功能不同,有这样几种类型:
区域内路由器(Internal Router)
区域边界路由器ABR(Area Border Router)
骨干路由器(Backbone Router)
自治系统边界路由器ASBR(AS BoundaryRouter)
5.6 OSPF单区域&多区域典型组网