HCIA 学习笔记 (37+) OSPF深入

文章目录

  • 1.回顾:
        • 1.cost:
        • 2.Router id:
        • 3.三张表:
        • 4.数据包类型:
  • 2.OSPF状态机:
  • 3.邻居关系的建立条件:
  • 4.路由引入:
        • OSPF引入RIP:
        • RIP引入OSPF:
  • 5.OSPF路由汇总:
        • OSPF区域间的汇总:在ABR上做:
        • 外部路由汇总:
  • 6.OSPF特殊区域:
  • 7.LSA类型:
  • 9.OSPF静默接口:
  • 10.配置OSPF手工邻居:
  • 11.OSPF进程实现区域隔离:
  • 13.帧中继:
  • 14.OSPFv3:

1.回顾:

HCIA 学习笔记 (37+) OSPF深入_第1张图片
HCIA 学习笔记 (37+) OSPF深入_第2张图片

OSPF无环:
区域内通过SPF算法
区域见通过骨干区域,非骨干之间的路由信息一定通过骨干区域传递

1.cost:

[Huawei]dis ospf inter g0/0/1 查看链路cost

[Huawei]ospf 1

[Huawei-ospf-1]bandwidth-reference 1000 默认是100M
HCIA 学习笔记 (37+) OSPF深入_第3张图片

2.Router id:

[R1]ospf router-id 1.1.1.1

reset ospf process

HCIA 学习笔记 (37+) OSPF深入_第4张图片

3.三张表:

[Huawei]dis ospf peer br

[Huawei]dis ospf peer

[Huawei]dis ospf lsdb

[Huawei]dis ospf lsdb router

[Huawei]dis ospf routing

[Huawei]dis ip routing-table

[Huawei]dis ip routing-table protocol ospf

HCIA 学习笔记 (37+) OSPF深入_第5张图片

HCIA 学习笔记 (37+) OSPF深入_第6张图片

4.数据包类型:

抓包类型 数据包名称 说明
1 Hello 发现邻居并与其建立相邻关系
2 数据库说明(DBD) 在路由器间检查数据库同步情况
3 链路状态请求(LSR) 由一台路由器发往另一台路由器,请求特定的链路状态记录
4 链路状态更新(LSU) 发送所请求的特定链路状态记录
5 链路状态确认(LSAck) 确认

hello:发现、维持邻居(10s,30s),选举DR、BDR
DBD:选举主从(RID大的为主设备,RID小的为从设备):确定序列号,确保数据可靠性,第一个发送LSA摘要的是从发出来的
宣告LSA的摘要(头部)信息
LSR:请求LSA
LSU:发送LSA
LSACK:确认LSA

2.OSPF状态机:

HCIA 学习笔记 (37+) OSPF深入_第7张图片

状态 描述
Down 在Dead时间内没有收到Hello包
INIT 收到Hello包,如果邻居的Hello包里没有我的rooter-id,我就置为初始化状态
Two-way 收到Hello,在里面发现了自己的rooter-id,说明邻居也收到了我的Hello包,双向状态,这时候该选举DR和BDR了,进行选举
Exstart DR和BDR选举结束(①接口优先级大②rooter-id大),现在该进行主从选举了(rooter-id大),发送第一类空DBD报文,选举主从(其实谁主谁从并不重要),主路由器可以优先发送DBD报文
Exchange 交换第二类DBD报文
Loading 交换路由信息,LSR、LSU和LSAck增量更新
Full 同步完成

注:

DROther之间仅形成Two-way状态就结束了

点对点链路不用选择DR、BDR,所以跳过Two-way状态

Attempt: 只适用于NBMA类型接口,处于本状态时,定期向那些手工配置的邻居发送HELLO包

没看到状态变化信息怎么办?再来一次

进程重启:reset ospf process

断电重启:inter g0/0/0 shut 再 unshut

OSPF邻居状态:我认为我的邻居此时此刻是什么状态
DOWN:刚启动OSPF的时候,还没有收到对方的Hello报文
INIT:收到了对方的HELLO报文,但是HELLO里面不包含自己
ATTEMPT:NBMA,现网看不到了
2-WAY:收到了对方的HELLO报文,HELLO里面包含自己
完成DR、BDR的选举
Exstart:DBD(不带LSA头部信息)选举主从,确定序列号,保证可靠性
Exchange:进行DBD(带LSA头部信息)报文的交互,可能同时有LSA更新的交互
loading:继续加载LSA
FULL:LAS交互完成

形象比喻:
张三 李四
hello
DBD 选举主从
(exstart状态)
–>seq:007
<-- seq:117 对比routerID得:张三是主李四是从

.-----------------------------------------
(exchange状态)
**–>123seq:007
<-- 12456seq:007 **
.-----------------------------------------
(loading状态)
–>seq:008 LSR:请求456给我
<–seq:008 LSR:请求3给我

注意:
DR与 BDR、DROther 建立FULL,需要主从关系
DROther 之间:2-Way,不需要主从

3.邻居关系的建立条件:

1.验证:不通路由器配置不同的OSPF进程 -->可以✔

2.验证:BMA(广播多路访问)网络,掩码不一样,但互相包容 -->不可以✖掩码必须一样

10.1.1.2/24和10.1.1.2/30(可识别10.1.1.0到10.1.1.3)

3.验证:P2P网络,掩码不一样,但互相包容 -->可以✔掩码包容对方地址就可以

4.验证:接口hello计时器不一致 -->不可以✖计时器hello必须一样

[R1]dis ospf interface g0/0/0

[R1]inter g0/0/0
[R1-GigabitEthernet0/0/0]ospf timer hello 20

5.验证:接口dead计时器不一致 -->不可以✖计时器dead必须一样

[R1]inter g0/0/0
[R1-GigabitEthernet0/0/0]ospf timer dead 80

6.验证:直连邻居的Rooter-id相同 -->不可以✖

7.验证:非直连邻居的Rooter-id相同(单区域) -->不可以✖

但过一段时间,会自动更改一个路由器OSPF的Rooter-id,使此区域可以通信,但配置命令还在

8.验证:非直连邻居的Rooter-id相同(多区域) -->可以,不在同一区域Rooter-id也可以

4.路由引入:

种子度量值:各协议引入其他协议缺省度量值:
其他路由协议–>RIP:华为0
其他路由协议–>OSPF:华为1
其他路由协议–>BGP:原来路由所带的花销值

HCIA 学习笔记 (37+) OSPF深入_第8张图片

带来的问题:
环路:通过标签过滤
HCIA 学习笔记 (37+) OSPF深入_第9张图片

HCIA 学习笔记 (37+) OSPF深入_第10张图片

次优路径:通过perference、通过标签过滤
HCIA 学习笔记 (37+) OSPF深入_第11张图片

HCIA 学习笔记 (37+) OSPF深入_第12张图片

HCIA 学习笔记 (37+) OSPF深入_第13张图片

OSPF引入RIP:

[R2]ospf 1
[R2-ospf-1]import-route rip 默认cost全部都是1

[R2-ospf-1]import-route rip type 1累加 RIP cost内部成本

[R2-ospf-1]import-route rip type 1 cost 2 cost跳数再加2

[R2-ospf-1]import-route rip type 1 cost 2 tag 88 打上88标记

[R1]dis ospf routing

RIP引入OSPF:

[R2]rip
[R2-rip-1]import-route ospf

[R2-rip-1]import-route ospf cost 2

[R3]dis ip routing-table protocol rip

[R1]ping -a 10.1.1.1 30.1.1.1 通

问题:
[R1]ospf 1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]undo net 10.1.0.0 0.0.255.255
[R1-ospf-1-area-0.0.0.0]net 10.1.1.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]q
[R1-ospf-1]import-route direct
[R1-ospf-1]q

[R2]dis ospf routing
HCIA 学习笔记 (37+) OSPF深入_第14张图片
想让宣告的网段就不要Direct重分发了

[R1]inter lo 0
[R1-LoopBack0]ospf network-type broadcast

[R2]dis ospf routing
HCIA 学习笔记 (37+) OSPF深入_第15张图片

5.OSPF路由汇总:

HCIA 学习笔记 (37+) OSPF深入_第16张图片

OSPF区域间的汇总:在ABR上做:

[R1]ospf 1
[R1-ospf-1]area 1
[R1-ospf-1-area-0.0.0.1]abr-summary 10.1.0.0 255.255.0.0 掩码

防环机制:丢弃

[R1]ip route-static 10.1.0.0 16 NULL 0 preference 9 比静态路由优先级60大就行

参数:

[R1]inter lo 0
[R1-LoopBack0]ospf cost 11

[R2]dis ospf routing 变成cost=12 ,用lo最大的

[R1]ospf 1
[R1-ospf-1]area 1
[R1-ospf-1-area-0.0.0.1]abr-summary 10.1.0.0 255.255.0.0 cost 22

[R2]dis ospf routing 变成cost=23 ,用lo最大的

[R1-ospf-1-area-0.0.0.1]abr-summary 10.1.0.0 255.255.0.0 cost 22 not-advertise 不通告,隔离

[R2]dis ospf routing 没有10.1.0.0网段了

外部路由汇总:

[R2]ospf 1
[R2-ospf-1]asbr-summary 30.1.0.0 255.255.0.0
[R2-ospf-1]q
[R2]ip route-static 30.1.0.0 16 Null 0 preference 9

参数:

[R2-ospf-1]asbr-summary 30.1.0.0 255.255.0.0 cost 20 tag 88

实验思考:

1.为什么OSPF不能实现区域内路由汇总?

不能,区域内的LSDB需要同步,汇总后数据局不同了

2.区域间路由汇总是否可以在任意的ABR上实施?

只能在自己的/第一个ABR上做

6.OSPF特殊区域:

1.Stub:末梢区域:不要45类LSA,允许123类,自动产生3类默认路由

2.Totally Stub 完全末梢区域:不要345类LSA,允许12类,自动产生3类默认路由

3.NSSA:不那么末梢的区域:不要45类LSA,允许1237类,自动产生7类默认路由

4.Totally NSSA :完全不那么末梢的区域:不要345类LSA,允许1237类,自动产生3类和7类默认路由,但优先选择3类默认路由

ospf路由优先级:内部路由>区域间路由>外部路由type1>外部路由type2>外部路由NSSAtype1>外部路由NSSAtype2

末梢区域:减少LSA,减小LSDB,减小了路由表

网络ISP — 主路由器 —(我的路由器—交换机—PC) 、

这一部分就叫做末梢区域,可以在我的路由器上配置默认路由,流量全部给主路由器

这样可以让末梢区域的路由更精简一点

区域类型 被隔离的路由类型
Normal
Stub 外部路由
Totally Stub 外部和域间路由
NSSA 外部路由,内部可以引入传递到外部
Totally NSSA 外部和域间路由,内部可以引入传递到外部

HCIA 学习笔记 (37+) OSPF深入_第17张图片

[R1]ospf
[R1-ospf-1]area 1
[R1-ospf-1-area-0.0.0.1]stub

[R2]ospf
[R2-ospf-1]area 1
[R2-ospf-1-area-0.0.0.1]stub

[R1]dis ospf rou

Totally Stub:area 0的路由隔离掉了

在ABR上:[R2-ospf-1-area-0.0.0.1]stub no-summary

[R1]dis ospf rou

[R1]ospf 1
[R1-ospf-1]import-route direct

[R2]dis ospf routing 并不能引入

外部路由进不来,内部引入的路由也不能出去

NSSA:外部进不来,但内部引入能出去

[R1]ospf
[R1-ospf-1]undo import-route direct
[R1-ospf-1]area 1
[R1-ospf-1-area-0.0.0.1]undo stub

[R2]ospf
[R2-ospf-1]area 1
[R2-ospf-1-area-0.0.0.1]undo stub

[R1]ospf
[R1-ospf-1]area 1
[R1-ospf-1-area-0.0.0.1]nssa

[R2]ospf
[R2-ospf-1]area 1
[R2-ospf-1-area-0.0.0.1]nssa no-summary

[R1]ospf 1
[R1-ospf-1]import-route direct

[R2]dis ospf routing

注意:

在ABR上做

area 0 是主干区域,不能做成末梢区域

虚链路穿过的区域不能作为末梢区域

[R1-ospf-1-area-0.0.0.1]nssa no-import-route 这条命令只能做在ASBR上,传出引入的路由

7.LSA类型:

HCIA 学习笔记 (37+) OSPF深入_第18张图片
LSA:
HCIA 学习笔记 (37+) OSPF深入_第19张图片
路径信息:
链路类型:P2P、Stub、Transit、vlink(1类LSA)
邻居设备:(2类LSA)

1类:
名称:Router-LsA 路由器LSA
泛洪范围:本区域area
通告者:运行了OSPF的路由器本身
作用:宣告自家路段的网段信息(IP地址、cost)以及路径信息(是不是末梢?点对点还是多路访问)
dis ospf lsdb router self-originate

2类:(多路访问环境才会产生)
名称:NetworkLsA 网络LSA
泛洪范围:本区域area
通告者:DR
作用:宣告多路访问环境的网段信息(掩码)和链路类型(MA网段一共有有哪一些邻居设备)
dis ospf lsdb network self-originate self-originate

LSA Type 描述
1 路由器LSA
2 网络LSA
3 网络总结LSA
4 ASBR总结LSA
5 自治系统外部的LSA
7 NSSA转悠的LSA

[R1]dis ospf lsdb

[R1]dis ospf lsdb router 1类

[R1]dis ospf lsdb network 2类

[R1]dis ospf lsdb nssa 7类

HCIA 学习笔记 (37+) OSPF深入_第20张图片
HCIA 学习笔记 (37+) OSPF深入_第21张图片
3类:
名称:Network Summary 网络总结LSA
泛洪范围:任意两个,包括area0和郊区
通告者:ABR
作用:描述区域间路由信息,没有路径信息
dis ospf lsdb summary self-originate

为什么要划分区域??
LSDB太大,LSA太多,泛洪交互量大
一台设备挂了或更新了一条链路,每台链路都要更新
划分区域才能做汇总路由,因为192.168.0.0汇总1.0,2.0,3.0,4.0,LSDB就不一样了,这是OSPF所不允许的

5类:
【R1】ospf 1
【R1-ospf-1】import-route rip
名称:External LSA 外部LSA
泛洪范围:整个OSPF
通告者:ASBR
作用:宣告AS外部路由信息,没有路径信息
dis ospf lsdb ase self-originate

次优路径问题:
5类LSA的FA:置为要找的地址
一般情况下,访问外部路由信息必须要经过ASBR转发
这样,R3、R4、R5收到5类LSA就知道,不用根据第4类找ASBR了,直接找FA的地址就行了

HCIA 学习笔记 (37+) OSPF深入_第22张图片

4类:
名称:ASBR Summary ASBR汇总LSA
泛洪范围:除ASBR所在区域,因为一类LSA会宣告
通告者:ABR
作用:告诉ASBR的RID,即导航,告诉其他区域ASBR在哪里
dis ospf lsdb asbr self-originate

7类:
名称:NSSA LSA
泛洪范围:只能在本NSSA区域泛洪,由ABR(多个ABR,选RID大的)进行7转5泛洪(7转5的路由器也是ASBR,发5类的都是ASBR)
通告者:ASBR
作用:宣告NSSA区域外部路由信息
dis ospf lsdb nssa self-originate

FA:=ASBR上启用OSPF的接口IP地址:不会等于0
如果lookback接口,FA=LOOKBACK,如果多个Lookback,等于最后一个启用的lo地址
如果没有lo,FA=物理接口,多个物理接口,等于最后一个启用的物理接口

9.OSPF静默接口:

静默接口:

[R1]ospf 1

[R1-ospf-1]silent-interface g0/0/1

[R1]dis ospf br

不宣告:
[R2]ospf 1
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]net 12.1.1.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]q
[R2-ospf-1]im
[R2-ospf-1]import-route direct

10.配置OSPF手工邻居:

[R1]ospf 1
[R1-ospf-1]inter g0/0/0

[R1-GigabitEthernet0/0/0]ospf network-type nbma 接口改为NBMA类型

[R1-GigabitEthernet0/0/0]ospf dr-priority 2 保证R1成为DR

R2,R3也配置成NBMA类型

[R1]ospf 1 router-id 1.1.1.1

[R1-ospf-1]peer 123.1.1.2

[R1-ospf-1]peer 123.1.1.3 手工邻居

[R1-ospf-1]area 0

[R1-ospf-1-area-0.0.0.0]net 123.1.1.0 0.0.0.255

[R1-ospf-1-area-0.0.0.0]net 1.1.1.0 0.0.0.255

R2,R3也进行手工邻居配置和宣告网段

查看:

[R1]dis ospf peer br

[R1]dis ospf routing

11.OSPF进程实现区域隔离:

区域0分成两块,0可以和1通,0可以和2通,但1和2不通

[R2]ospf 1

[R2-ospf-1]area 0

[R2-ospf-1-area-0.0.0.0]net 12.1.1.0 0.0.0.255

R2]ospf 2

[R2-ospf-2]area 0

[R2-ospf-2-area-0.0.0.0]net 23.1.1.0 0.0.0.255

又想实现两边通讯:路由引入成外部路由

[R2]ospf 1

[R2-ospf-1]import-route ospf 2

[R2]ospf 2

[R2-ospf-1]import-route ospf 1

HCIA 学习笔记 (37+) OSPF深入_第23张图片

虚链路应该在R1R2上打
[R2]ospf
[R2-ospf-1]area 1
[R2-ospf-1-area-0.0.0.1]vlink-peer 1.1.1.1

[R1]ospf
[R1-ospf-1]area 1
[R1-ospf-1-area-0.0.0.1]vlink-peer 12.1.1.2
HCIA 学习笔记 (37+) OSPF深入_第24张图片
虚链路还要在R2R4上打
[R2]ospf
[R2-ospf-1]area 2
[R2-ospf-1-area-0.0.0.2]v
[R2-ospf-1-area-0.0.0.2]vlink-peer 34.1.1.2

[R4]ospf
[R4-ospf-1]area 2
[R4-ospf-1-area-0.0.0.2]v
[R4-ospf-1-area-0.0.0.2]vlink-peer 12.1.1.2

[R2]dis ospf vlink

虚链路认证:

[R4-ospf-1-area-0.0.0.2]vlink-peer 12.1.1.2 hmac-md5 1 cipher 123456

思考:

1.两个区域0是否需要做虚链路呢?

HCIA 学习笔记 (37+) OSPF深入_第25张图片
需要,在R5R7之间穿过区域1做虚链路把区域0合并成一个

2.当非0区域全部直连到区域0时,还有必要做虚链路吗?

HCIA 学习笔记 (37+) OSPF深入_第26张图片
有,如果区域1和区域2间有物理链路,可以做一个虚链路作为备用路由

13.帧中继:

PVC:永久虚链路

SVC:交换虚链路

14.OSPFv3:

HCIA 学习笔记 (37+) OSPF深入_第27张图片

你可能感兴趣的:(计算机网络)