21.OSPF路由协议及配置(1)

OSPF路由协议

o(open)s(system)
OSPF链路状态路由协议(发送的是网络连接状态的信息),最短路径优先路由协议,基于IP协议
最短路径的选择是根据带宽、延迟、cost值等条件选取的

封装IP头部协议字段:88 eigrp 89 ospf
工业标准(不管什么设备它都能用),工作在IP网络
组播地址:224.0.0.5 224.0.0.6(什么时候用5什么时候用6
网络要大一些
链路状态型的路由

一、OSPF概述

在这里插入图片描述
。建立邻居表
。发送LSA:
。LSA:链路状态分析(把它连接的状态信息发送给它的邻居路由器,以及它整个区域的所有的路由器)
。对方收到数据会形成一个拓扑表(存放的发送的链路状态的情况)
。运行SPF算法(以这台路由器为根,形成一棵树,选出到达目标的最近的路径,添加到路由表)
。路由表

OSPF维护三张表邻居表、拓扑表、路由表
OSPF是以树的形式以上面为根,选择到达目标的路径
OSPF为无环路由协议

二、链路状态路由协议

在这里插入图片描述

三、OSPF分层路由(分区域)

区域汇总LSADR会传输汇总LSA,只在该区域进行传输,不传输给别人
BRarea 0 骨干区域分区路由必须要有区域0
其他所有区域都必须和骨干区域相连
骨干区域路由器的性能要非常好
ABR区域边界路由器一边连接骨干路由器(area 0)一边连接区域路由器(如下图的CDE)

发送LSA的时候只在区域内发送
选出其中某一台去联系其他区域
DR
BDR
在同一个AS,通过接口划分区域,ABR(区域边界路由器)
在这里插入图片描述在这里插入图片描述
自治系统边界路由器(ASBR)一边连接的为ospf协议另一边连接的为其他协议(如Eigrp)
区域边界路由器(ABR):一边为area 0 一边为area 1
区域LSA
划分区域的好处
1、减少路由表的路由条目
2、拓朴发生改变时,只影响本区域的数据库
3、每隔30分钟泛洪数据库信息(周期和触发更新),划分区域后,只在本区域泛洪
4、网络设计灵活

四、链路状态路由的优缺点

在这里插入图片描述
缺点:需要维护大量资源 维护三张表

五、OSPF邻居状态(❤邻接❤)

1、邻居关系Hello数据包 (必需记住,❤建立邻居的七种状态和每个状态的意思❤)
只有建立了邻接关系时才会发送路由更新
只有建立了邻接关系才会发送LSA
adj(邻接)

可使用命令debug ip ospf adj 查看邻居建立的详细过程
在这里插入图片描述
建立邻居表的过程一个要经过以下七个状态❤❤❤
down 路由器A刚启动时,ospf处于down的状态,因为它还没有与其他路由器交换信息。它使用组播地址224.0.0.5发送hello分组。 (通过hello包去寻找它的邻居)
init 所有运行ospf的路由器收到A的hello分组时,将A加入邻居列表中,这是init状态。
2way 收到A的hello的路由器都向A发送单播应答,A收到后,将这些路由器加入邻居列表,所有路由器都建立了双向关系,进入了2way状态。
Exstart 如果链路类型是广播网络(如以太网),接下来必须选举DR和BDR,选举结束后,路由器处于预启动Exstart状态。
Exchange 然后交换链路状态数据库摘要,也就是交换DBD,这是Exchange状态。
Loading DBD(链路状态数据库)交换完毕后进入Loading状态
Full 路由器根据DBD发送LSR(链路状态请求)请求更新链路状态条目,对方用LSU(链路状态更新)进行响应。至此,双方都学到了路由条目,database完整,就是Full状态。

在这里插入图片描述
开启端口并给端口设置IP地址
给路由器添加回环地址
配置OSPF
R1(config)#router ospf 1进程号,不同的进程号之间能通信
R1(config-router)#network 12.1.1.0 0.0.0.255(反掩码) area 0(区域0,必须要有一个区域0)
R1(config-router)#network 192.168.10.0 0.0.0.255 area 0

R2(config)#router ospf 1

R1#show ip ospf neighbor(R2没有宣告网络,没有建立邻居关系
R2(config-router)#network 12.1.1.0 0.0.0.255 area 0(只要R1和R2都宣告12.1.1.0网络,则建立了邻居关系)
R1#show ip ospf neighbor
显示Loading Done则表示OK了(交换DBD结束),另一边就能学习到路由条目了
R2(config-router)#network 192.168.10.0 0.0.0.255 area 0
R2#show ip route
O开头的表示是通过OSPF协议学习到的

R1#debug ip ospf adj
router ID(ID编号)
seq 0x80000009(序列号)

关闭端口 开启端口

2.DR/BDR选取(❤❤❤)(在广播网络中选,点到点中不会选)
DR:指定路由器 BDR:备份指定路由器
(1)❤在多路访问网络中(多路访问网络会选取(端口优先级为1),点对点不会选取(连接的是串口console)(端口优先级为0))DROTHER路由器只与DR与BDR建立邻接关系,DROTHER之间只建邻居关系❤
(2)DR与BDR有自己的组播地址:224.0.0.6
(3)DR与BDR选取原则
首要因素是时间已经选取好了不会重选,非抢占,router id选取最先开启(relaod)的路由器)
其次是接口优先级(多路访问(在广播的环境下才会去选取,点对点的情况不会去选取)网络的接口优先级为1点到点网络接口优先级为0
ip ospf priority 可以修改接口优先级,若为0则不参与DR选举
❤❤首先是路由器ID(router id)(最大的做DR,第二大的为BDR,其余的为DRother,所有的DRother都给DR发,BDR和DR是可以同步的)、再比环回接口,最后比物理接口(物理接口最大的去参与选举)❤❤
❤(4)DR与BDR选取是非抢占的,以下情况会重选❤
重启ospf进程或路由器参与的路由器都执行clear ip ospf process命令DR故障
OSPF接口优先级为0
(5)如果DR故障,BDR接管DR,如果BDR故障,选新的BDR
#show ip ospf int f0/0
#show ip ospf neighbor
在这里插入图片描述在这里插入图片描述(路由器之间如果是串口连接(红色的闪电线),就是点到点
默认情况下它是选回环口回环口最大的地址作root id,其次才是物理IP

R1(config)#router ospf 1
R1(config-router)#router-id 2.1.1.1(手动指定一个root id)

R2(config)#router ospf 1
R2(config-router)#router-id 1.1.1.1

R1#show IP ospf neighbor
在这里插入图片描述不是抢占模式,一旦选取成功就不再选取(除非reload重启)
断开f0/0端口变为router id

六、最短路径优先算法(SPF Calculation)

在这里插入图片描述在这里插入图片描述Cost=10^8/BW(b/s)(接口的带宽)
metric值=所有目的地址到达本地路由器的入接口的cost值之和
metric值=所有本地路由器到达目的地址的路由器的出接口的cost值之和
也可以使用命令❤sh ip ospf interface loopback 0❤ 查看接口的cost值

修改接口的cost值:
Router(config)#int f0/0
Router(config-if)#ip ospf cost 1
或Router(config-if)#bandwidth 100修改带宽
在这里插入图片描述加WIC-2T模块
在这里插入图片描述Router3:
在这里插入图片描述Router2:
在这里插入图片描述在这里插入图片描述在这里插入图片描述Router0(R1):
#show ip route ospf
在这里插入图片描述172.16.1.1 [110(优先级/管理距离)/3(Metric值,值越小开销越小)]
ospf管理距离为110
rip 管理距离为120
eigrp 管理距离为90
S静态管理距离为1
C直连的管理距离为0

当多个路由协议运行的时候,管理距离/优先级决定我们到底使用哪个协议

对于rip来说Metric值就是跳数,对于Eigrp来说Metric值为FD值,对于ospf来说Metric值就是cost值

Router0:
#show ip ospf int f0/0 查看接口的cost值
#show ip ospf int loopback 0查看接口的cost值

#show int f0/0 查看BW值

开销=参考带宽/接口带宽(b/s)
Cost=10^8/BW(b/s)(接口的带宽)(1/80取整数1)
metric值=所有目的地址到达本地路由器的入接口的cost值之和 (是路由传递方向所有入接口的cost值(不算交换机))
metric值=所有本地路由器到达目的地址的路由器的出接口的cost值之和
也可以使用命令sh ip ospf interface loopback 0 查看接口的cost值
在这里插入图片描述
#show ip ospf database
在这里插入图片描述
修改接口的cost值:
router0:
R2(config)#int f0/0
Router(config-if)#ip ospf cost 64或Router(config-if)#bandwidth 64
#show ip route
在这里插入图片描述
#ip ospf priority 0 修改优先级

七、配置单 区域OSPF

Router(config)#router ospf process-id
Router(config-router)#network address wildcard-mask area area-id

单区域存在的问题:相互都会发LSA

八、配置环回接口

RID环回口----物理口
在这里插入图片描述

九、使用OSPF配置负载均衡

在这里插入图片描述
最多可以支持16条路径,默认只支持4条
RIP支持等价
eigrp支持等价非等价
OSPF支持等价
在这里插入图片描述

十:配置OSPF身份验证

  1. OSPF身份验证可以基于端口(在端口做认证)、基于区域(在区域的进程中做认证)、基于虚链路进行验证。
    虚拟链路:
    在这里插入图片描述
    2.OSPF支持明文和MD5身份验证
    在这里插入图片描述
    OSPF定义了三种验证类型
    0—表示不进行验证
    1—表示采用简单口令验证
    2—表示采用MD5验证

(1)配置明文认证
接口认证
R1(config)#int f0/1
R1(config-if)#ip ospf authentication-key ccie 设置明文密码,两端口密码要一致
R1(config-if)#ip ospf authentication 开启接口认证
区域认证:(区域认证也用到接口认证)
R1(config)#router ospf 1
R1(config-router)#area 1 authentication 开启区域认证

(2)配置密文认证
端口:(接口传不传LSA
R1(config)#int f0/1
R1(config-if)#ip ospf authentication-key 1 md5 ccie 设置明文密码,两端口密码要一致
R1(config-if)#ip ospf authentication 开启接口认证
区域:(学不学到区域的LSA)
R1(config)#router ospf 1
R1(config-if)#ip ospf authentication

(3)配置区域认证
R1(config-if)#ip ospf message-digest-key 1 md5 ccie
R1(config-router)#area 1 authentication message-digest
OSPF安全认证实验:
在这里插入图片描述
配置简单口令验证
1、配置简单口令验证
R2(config-router)#area 0 authentication 开启认证
R2(config)#int e0/0
R2(config-if)#ip ospf authentication-key cisco
R1(config-router)#area 0 authentication
R1(config)#int e0/0
R1(config-if)#ip ospf authentication-key cisco
2、查看接口是否配置了简单口令验证
R2#sh ip ospf interface
Simple password authentication enabled 表示该端口启用了简单口令认证
3、查看区域启用验证的情况
R2#sh ip ospf
Area BACKBONE(0)
Number of interfaces in this area is 2
Area has simple password authentication
4、动态查看接收的OSPF数据包
R2#debug ip ospf packet
R2#undebug all
*Mar 1 00:24:54.159: OSPF: rcv. v:2 t:1 l:48 rid:2.2.2.2
aid:0.0.0.0 chk:B68E aut:1 auk: from Ethernet0/0
v:OSPF版本
t:OSPF数据包类型,1:HELLO;2:DBD;3:LSR;4:LSU;5:LSAck
l:数据包长度,单位字节
rid:路由器ID
aid:区域ID
chk:校验和
aut:验证类型
auk:验证信息

5、如果没有配置密码和密码有误,可通过以下命令查看
R2#debug ip ospf event

6、基于链路的简单口令验证
R1(config)#int e0/0
R1(config-if)#ip ospf authentication
R1(config-if)#ip ospf authentication-key cisco

R1(config)#int e0/0
R1(config-if)#ip ospf authentication
R1(config-if)#ip ospf authentication-key cisco

配置MD5验证
1、基于区域的MD5验证
R1(config-router)#area 0 authentication message-digest
R1(config)#int e0/0
R1(config-if)#ip ospf message-digest-key 1 md5 cisco
R2(config-router)#area 0 authentication message-digest
R2(config)#int e0/0
R2(config-if)#ip ospf message-digest-key 1 md5 cisco
2、基于链路的MD5验证
R1(config)#int e0/0
R1(config-if)#ip ospf authentication message-digest
R1(config-if)#ip ospf authentication-key 1 md5 cisco
R2(config)#int e0/0
R2(config-if)#ip ospf authentication
R2(config-if)#ip ospf authentication-key cisco

思考?❤
1、在上面的实验中,在路由器R1上配置Key ID2后能否验证成功?
2、继续上面的实验,将R1上配置的KeyID2删除并查看验证情况?
3、按以下顺序重新配置KeyID,并查看是否能验证成功?
R1的配置: R2的配置:
Key ID 1 ccna Key ID 2 ccnp
Key ID 2 ccnp Key ID 1 ccna
Key ID 3 ccie Key ID 3 ccie

十一、验证OSPF配置

查看是否配置ospf:sh ip protocols
查看邻居表:sh ip ospf neighbor
查看链路状态数据库(拓朴表):sh ip ospf database
Link ID:标识每个LSA
ADV Router:指通告链路状态信息的路由器ID
Age:老化时间,范围是0–60min,老化时间到达60min的LSA条目将从LSDB中删除
Seq#:序列号,范围为0X80000001-0X7fffffff,序列号越大,LSA越新。为了确保LSDB的同步,OSPF每隔30min对链路状态刷新一次,序列号会自动加1。
Checksum 校验和,计算除了Age字段以外的所有字段,LSA存放在LSDB中,每5min进行一次校验,以确保LSA没有损坏。
Link count:通告路由器在本区域内的链路数目
Tag:外部路由的标识,在route-map中,可以通过匹配tag值来定义路由策略
查看路由表:sh ip route /sh ip route ospf
查看ospf进程及相关信息:sh ip ospf
查看运行ospf接口的信息:sh ip ospf interface f0/0

十二、OSPF路由手工汇总

1、区域间路由汇总必须在ABR上完成
2、外部路由汇总必须在ASBR上完成
3、“no-advertise”参数阻止传递汇总路由

ospf路由汇总的目的:
减少网络中lsa传输的数量,减少网络中的变化,减少链路状态数据库,减少路由表,大大提高数据包查表转发的能力,能减少因为链路状态数据库的变化而引起的spf算法的重计算。

十三、OSPF路由协议配置实验

实验一要求:
1.如图运行OSPF区域
2.区域1要求用OSPF明文验证
3.区域0要求用可靠的验证方式
4.要求R4去往R1的环回从R2走
5.R1上看到去往R4的两条等价负载均衡
在这里插入图片描述
R4(config)#router ospf 1
R4(config-router)#network 44.1.1.0 0.0.0.255 area 0

实验二要求:
1、了解路由汇总的目的
2、OSPF区域间路由汇总的配置和调试
3、外部自治系统路由汇总的配置和调试
在这里插入图片描述
O 本区域学到的路由
O IA 是从其他区域学到的路由
O E2 从其他自治系统学到的路由,类型为2,默认metric值为20,不累加
O E1 从其他自治系统学到的路由,类型为1,默认metric值为20,会累加

R2(config-router)#area 1 range 172.16.0.0 255.255.252.0 配置区域间路由汇总

路由重分:在运行了多个路由协议的路由器上做
R3为自治系统边界路由器:这个路由器左边的为OSFP协议,右边为Eigrp协议
进入ospf进程
将eigrp注入ospf
R3(config)#router ospf 1
注入:
R3(config-router)#redistribute eigrp 1 subnets(以子网的形式进行重分,不进行汇总) 默认为 metric-type 2(show ip route 是0 E2开头的) OE2,Metric默认为20,不累加

R3(config-router)#redistribute eigrp 1 metric-type 1(重分时指定的类型) metric 100(指定Metric值,到R2为100,到R1为101) subnets metric-type 1 OE1 Metric默认为20,累加
将OSPF注入到EIGRP
R3(config)#router eigrp 1
R3(config-router)#redistribute ospf 1 metric 1000 100 255 1 1500(指定五个k值,带宽、延迟、度量值、最大传输单元,实际上只有带宽和延迟)
种子度量值(Metric),默认情况下为无穷大,不可达
D EX从外部学习过来的
汇总:(在自治系统边界路由器上做汇总)
R3(config)#router ospf 1
R3(config-router)#summary-address 192.168.0.0 255.255.252.0 配置外部自治系统路由汇总

在R2上看路由表,会发现有一条路由为:
172.16.0.0/22 is a summary, 00:12:06, Null0
为避免环路,请使用以下命令:
R2(config-router)#no discard-route

多区域:
在这里插入图片描述
Router1:
在这里插入图片描述在这里插入图片描述
Router2:
在这里插入图片描述在这里插入图片描述
Router3:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
O IA 是从其他区域学到的路由

  • 3
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值