14 OSPF初级(企业级路由协议)
14.1 ospf产生原因(为什么要用ospf)
? OSPF(openshortestpathfirst,开放式最短路径优先)是一种典型的链路状态路由协议,由IETF(internetengineeringtaskforce,国际互联网工程任务组)开发的,是目前业内使用最为广泛的IGP(interiorgatewayprotocol,内部网关协议)之一。
所有的厂商都可以在其设备上实现ospf,他们都同时遵循公有标准。
OSPF支持vlsm(variable-lengthsubnet,可变长子网掩码),支持路由汇总等,而且区域(area)的概念引入使得ospf能够支持更大规模的网络。
OSPF的版本 ospfv2针对ipv4; ospfv3针对ipv6;
14.1.1静态路由及RIP路由协议缺陷
- 无法适应规模较大的网络:随着设备数量增加,配置量急剧增加。
- **无法动态响应网络变化:网络发生变化,无法自动收敛网络,需要工程师手动修改。
**
- 收敛速度慢(每隔30s更新一次)
- 最大值16跳(16跳为最大值)
- metric度量方式不科学
- 宣告方式无法精确
14.1.2 ospf协议的基本特点
-
支持无类域间路由(CIDR)-支持超网聚合 -
无路由自环-无环协议 -
收敛速度快 -
使用IP组播收发协议数据-基于ip协议 -
支持多条等值路由-支持等价负载均衡 -
支持协议报文的认证-支持认证,协议更安全 -
采用组播地址224.0.0.5和224.0.0.6 2240.0.5:所有的成员均可以监听该地址 2240.0.6:只有DR和BDR才监听该地址 -
适用于园区级或者企业级路由承载
RIP | 路由承载能力一般 | 淘汰 |
---|
OSPF | 路由承载能力大 | 适用于园区级或者企业级 | BGP | 路由承载能力巨大 | 适用于运营商级 |
14.2 ospf协议的基本概念
14.2.1 ospf协议
- OSPF(开放最短路径优先)是内部网关协议(IGP)的一种,基于链路状态算法(LS)。
- OSPF企业级路由协议(RFC2328 OSPFv2),核心重点协议
- OSPF共三个版本,OSPFV1主要是实验室版本,OSPFV2是iPv4的版本,OSPFV3是ipv6的版本
- OSPF直接运行于IP协议之上,使用IP协议号89。
14.2.2 链路状态算法的路由计算过程
- 每个路由器一开始都会泛洪自己的LSA,所有的LSA汇聚成为LSDB,通过SPF算法,计算路由的原材料是ls(路由计算是基于LS的),计算出一颗以自己为主的无环的树,最后和其他协议PK,将最优的路由放入全局的ip路由表。
14.2.3 路由器的分类
-
BR(BackBone Router):骨干区域,所有接口都属于Area 0的路由器 -
IR(Internal Router):内部路由器,所有接口都属于非Area 0的路由器 -
ABR(Area Border Router):区域边界路由器,连接两个区域之间,且至少有一个接口属于Area 0 -
ASBR(As Border Router):具有引入外部路由能力的路由器(即做了路由引入import-route的路由器) -
内部路由器(internal router ) | IR | 所有接口都接入同一个area 的路由器 | 负责区域内的路由信息的传递(所有接口都不与area 0 相连) |
---|
区域边界路由器(Area broder router) | ABR | 接入多个area 的路由器且必须有area 0 | 负责区域间的路由信息的传递(至少有一个与Area 0 相连) | 骨干路由器(backbone router) | BR | 接入area 0 的路由器 | 所有接口都属于Area 0的路由器 | AS边界路由器(AS boundary router ) | ASBR | 将ospf域外的路由引入域内,执行了路由重分发的路由器 | |
14.2.4 基本术语
-
区域area ? OSPF的每一个区域都有一个编号,不同的编号表示不同的区域,这个区域编号也被称为区域ID(Area-ID)。 ? 区域是从逻辑上将设备划分为不同的组,每个组用区域号(Area ID)来标识。 ? OSPF的区域ID是一个32bit的非负整数,按点分十进制的形式(与IPV4地址的格式一样)呈现,例如Area0.0.0.1,为了简便起见,我们也会采用十进制的形式来表示,这里是几个例子:Area0.00.1等同于 Areal,Area0.0.0.255等同于Area255,Area0.0.1.0等同于Area256。许多网络厂商的设备同时支持这两种区域ID配置及表示方式。 ? Area 0:骨干区域,相当于城市的中心区,ospf中要求所有的非骨干区域必须与Area 0连接,为了避免区域间的路由形成环路,要求只有骨干区域(Area 0)才能发布区域间的路由信息,非骨干区域不能发。 ? 所有的ABR(Area Border Router,区域边界路由器)都至少有一个接口属于Area 0. 但是在实际项目中,有时间需要没有与Area 0相连的区域,也需要学习到彼此的路由信息,就采用一种技术Virtual link. -
Router ID:
- router-id(router idenfication,路由器标识)是一个32bit长度的数值,用 点分十进制 表示(和ipv4 地址的格式一样,例如192.168.1.1)。
- 它的作用是 在ospf域中唯一地标识一台ospf路由器。
- ospf要求路由器的router-id必须全域唯一,在同一个域中不允许出现两台ospf路由器拥有相同的router-ID的情况。
- router-ID 可以使用手工配置的方式进行设定。如果在创建ospf的时候没有指定router-id,则系统会自动分配一个缺省的router-id。
- 建议配置ospf的router-id指定为该设备的loopback接口(本地环回接口)的ip地址。
手工指定ospf router-ID配置如下: 为设备创建一个loopback接口,并配置接口的ip地址 [Router]interface loopback 0 ip address 1.1.1.1 32 quit #创建一个ospf进程,并指定该设备的router-id [router]ospf 1 router-id 1.1.1.1 注意:一旦ospf确定了router-id之后,再变更的话就需要将ospf进程重启才能使新的router-ID生效,重启命令 reset ospf process但是在实际的项目中,这一条命令要慎用,因为这一条命令执行后,该ospf进程的所有邻接关系将会被重置,这会引发路由的动荡。 ?选举原则:(必须要有Router-id,且区域唯一) 1.手工指定(推荐为环回口的地址-稳定性高) 2.较大的环回口作为RID 3.较大的物理接口作为RID [R1]ospf1 router-id 11.1.1.1 局部设置 router id [Ri]router id 11.1.1.1 全局设置 router id 同时设置了局部和全局router-id,局部优于全局
14.3 单区域ospf
14.3.1 基础配置
?
14.3.2 配置案例
-
单区域 -
? 多区域
14.4 ospf常用命令
? Display ospf peer 显示邻居
? Display ospf peer brief显示邻居缩略信息
? Display ospf lsdb 显示链路状态数据库
? Display ip routing-table 显示路由表
? Display ospf interface E0/0/0 显示接口参数
? Display ospf abr-asbr 显示ABR和ASBR
? Display ospf brief显示ospf的缩略信息
? Display ospf error显示ospf出现错误列表
? Display ospf peer 显示邻居
? Display ospf routing 显示ospf的路由
注意:
- 掩码:标识了网络位和主机位,1为严格匹配,0为任意匹配,连续的0或1
- 反掩码:标识了网络位和主机位,0为严格匹配,1为任意匹配,连续的o或1
[R1-ospf-1-area-0.0.0.0] network1.1.1.1 0.0.0.0最精确的宣告
1.1.1.0 0.0.0.1宣告了2个ip: 1.1.1.0~1.1.1.1
1.1.1.0 0.0.0.3宣告了4个ip: 1.1.1.0~1.1.1.3
通配符:标识了网络位和主机位,1为严格匹配,0为任意匹配,可以不连续的0或1
14.5 相关问题解答
14.5.1 什么是ospf域?
我们把一系列连续的ospf路由组成的网络叫做ospf域 ,这些路由器采用相同的ospf策略
14.5.2 什么是loopback接口(本地环回接口)的ip地址
loopback接口(本地环回接口)的ip地址 主要用于测试,在Windows叫做localhost,不能分配给主机使用。
loopback接口是一种软件的、逻辑的接口,不管是网络设备支持loopback接口,很多主机也同样支持。loopback接口非常的稳定,除非人为的关闭或者删除,否则是永远不会实效的。正是因为如此,所以才用于设备网管、网络测试、网络协议应用。
14.5.3 什么是SPF算法?
spf算法即shortest path first 算法–最短路径优先算法,也称为Dijkstra算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径,它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止。路由协议中的isis和ospf都使用spf算法计算路由,目的很明确,就是计算路由器自身所在节点到网络拓扑中任意其他节点的cost最小的路径,从而算出路由。
14.5.4 如何手工调整ospf的接口cost?
system-view
[Huawei] interfacegigabitethernet1/0/0
[Huawei-GigabitEthernet1/0/0] ospfcost65
14.5.5 为什么会进行DR和BDR的选举?
因为多个两两相连的路由器建立了ospf邻接关系,要想维护如此多的邻接关系,不仅耗费设备资源,也增加了网络中LSA的泛洪数量。
为了减少不必要的协议流量的流失和优化邻接关系。选举后,DRother之间就只停留在2-way状态(彼此知道是邻居),不会发LSA,不会更新LSDB。
14.5.6 为什么要引入区域的概念?
小城的例子
随着LSDB的不断扩大,每台路由器所维护的LSDB也逐渐变得臃肿,对LSDB的计算(每次网络拓扑发生变更就会重新计算)也会耗费更多的设备资源,导致设备的负担加大。
所以引入了区域aera概念,提高了网络的可延展性,有利于组建更大规模的网络。
|