您的位置:首页 > 文旅 > 旅游 > 第三章 OSPF高级

第三章 OSPF高级

2024/10/14 4:56:26 来源:https://blog.csdn.net/CloudyZfly/article/details/140433519  浏览:    关键词:第三章 OSPF高级

第3章 OSPF高级

一、不规则区域

区域划分

OSPF为了适应中大型网络环境,设计了区域划分的规则:

  1. 区域之间必须存在ABR设备(域间路由器)

  1. 区域划分必须满足星型结构划分

而不规则区域便没有满足星型结构的划分。

非骨干区域

OSPF的不规则区域:不连续骨干,远离骨干的 非骨干区域

解决方法
  1. 物理连接一根线缆让远离骨干的非骨干区域直接连接到骨干区域中。

  1. 通过构建VPN隧道的方式去连接一根虚拟线缆,将区域连接在一起。

配置

首先按照拓扑图进行基础的IP配置。

 # 配置环回接口模拟用户私网,域间路由器ABR不需要配置[R1-LoopBack0]ip address 192.168.1.1 255.255.255.0[R3-LoopBack0]ip address 192.168.3.1 255.255.255.0[R5-LoopBack0]ip address 192.168.5.1 255.255.255.0# 启动OSPF进程并进行范围宣告[R1-ospf-1-area-0.0.0.0]network 12.0.0.0 0.0.0.255[R1-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255[R2-ospf-1-area-0.0.0.0]network 12.0.0.0 0.0.0.255[R2-ospf-1-area-0.0.0.1]network 23.0.0.0 0.0.0.255[R3-ospf-1-area-0.0.0.1]network 23.0.0.0 0.0.0.255[R3-ospf-1-area-0.0.0.1]network 34.0.0.0 0.0.0.255 [R3-ospf-1-area-0.0.0.1]network 192.168.3.0 0.0.0.255[R4-ospf-1-area-0.0.0.1]network 34.0.0.0 0.0.0.255[R4-ospf-1-area-0.0.0.2]network 45.0.0.0 0.0.0.255[R5-ospf-1-area-0.0.0.2]network 45.0.0.0 0.0.0.255[R5-ospf-1-area-0.0.0.2]network 192.168.5.0 0.0.0.255# 检查OSPF路由表和邻居简表[R1]display ip routing-table protocol ospf[R1]display ospf peer brief

此时我们发现R5一条OSPF信息都没有接收到,因为区域2是非骨干区域,我们在R2和R4之间构建一根VPN虚拟隧道,将区域0和区域2连通。这里我们为了简便,选择GRE协议进行封装。

 # 建立隧道,注意源和目标IP为23和34网段IP[R2-Tunnel0/0/0]ip address 24.0.0.1 24[R2-Tunnel0/0/0]tunnel-protocol gre [R2-Tunnel0/0/0]source 23.0.0.1[R2-Tunnel0/0/0]destination 34.0.0.2# R4 同理配置[R4-Tunnel0/0/0]ip address 24.0.0.2 24[R4-Tunnel0/0/0]tunnel-protocol gre [R4-Tunnel0/0/0]source 34.0.0.2[R4-Tunnel0/0/0]destination 23.0.0.1# 范围宣告,注意宣告在区域0[R2-ospf-1-area-0.0.0.0]network 24.0.0.0 0.0.0.255[R4-ospf-1-area-0.0.0.0]network 24.0.0.0 0.0.0.255# 查询OSPF路由表检查[R2]display ip routing-table protocol ospf[R4]display ip routing-table protocol ospf

通过让没有连接骨干区域的路由器,和区域0中的路由器连接隧道,并且将隧道宣告在区域0中,使得ABR设备合法化。那么在这里,R2和R4就是合法的ABR域间路由器。

但是这样做的话又会有新的问题:

  • 问题1:会额外建立邻居关系,导致产生周期性的数据(hello报文),需要通过隧道封装占用额外的资源。

  • 问题2:选路不佳,开销值太大(选择走构建的虚拟链路而非物理链路)。

    • 原因:域内路由>域间路由。隧道接口的开销值为1562,再加上R2到R1之间的开销值1就等于1563。

OSPF为了解决不规则区域的问题,专门提出了一个解决方案:V-link虚链路

  • 合法的ABR:同时属于多个区域,并且有接口宣告在区域0。

  • 非法的ABR:同时属于多个区域,没有接口宣告在区域0。

而在上一个拓扑图中,很明显R2是合法的ABR,而R4是非法ABR。V-link永远属于区域 0,在合法和非法ABR之间进行配置。

命令
  • 建立V-LINK链路,在建立V-LINK链路的设备所在的区域中配置。

  • 注意:V-link peer 指定的是对端合法的ABR,同时合法的ABR设备也需要指定自身去认可的非法ABR设备。

    • vlink-peer [邻居设备RID]

  • 查看虚链路V-link的信息

    • display ospf vlink

  • 重定向,引入B协议的路由,使A协议获取到B协议的路由信息。也可以在同一协议的不同进程中进行,注意要进入A协议的进程中。

    • import-route [协议名] [进程号]

配置

这里我们对R2和R4分别进行配置,注意在区域1中配置。

 # 建立V-link链路,指定邻居ABR的RID,让双方之间互相认可[R2-ospf-1-area-0.0.0.1]vlink-peer 4.4.4.4[R4-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2​# 此时在R5中查看OSPF路由表,发现R5成功获取区域0和区域1的路由信息;而其他区域的设备也同样能够获取到区域2的信息[R5]display ip routing-table protocol ospf[R1]display ip routing-table protocol ospf​# 查看虚链路V-link信息[R2]display ospf vlink
局限性
  • 虚链路只能跨越一个区域,本质原因就是V-link指定的对象是一个设备RID(不是IP地址)。

  • 周期性的数据还是存在,因为V-Link也会建立邻居

所以一般情况下,V-Link只作为临时的解决方案。

多进程双向重分布

即启动一个新的协议进程,强制将两个设备的信息进行共享。

ASBR:同时运行了两款协议或者同一款协议但是不同进程的设备。

配置

此时我们删除区域2和R4、R5的相关配置,在R4上启动一个新的OSPF进程,相当于R4成为了ASBR

 ### 启动新的协议进程[R4]ospf 2 router-id 4.4.4.4# 进入新的进程区域并范围宣告网段[R4-ospf-2]area 0[R4-ospf-2-area-0.0.0.0]network 45.0.0.0 0.0.0.255# R5 同理配置[R5]ospf 2 router-id 5.5.5.5[R5-ospf-2]area 0[R5-ospf-2-area-0.0.0.0]network 45.0.0.0 0.0.0.255# 宣告环回网段[R5-ospf-2-area-0.0.0.0]network 192.168.5.0 0.0.0.255# 但是此时查看OSPF路由表发现R4只能获取R5的环回路由信息,而R5没有信息,因为R4左右两边是不同的协议进程,无法互通[R5]display ip routing-table protocol ospf
双向重分布

这里我们在R4(ASBR)的进程1中引入进程2的路由信息,注意要进行双向引入,在不同进程中引入对方的协议路由信息。

 ### 双向重定向[R4-ospf-1]import-route ospf 2[R4-ospf-2]import-route ospf 1​# 此时我们查表R1,成功获取到R5进程2的路由信息[R1]display ip routing-table protocol ospf

查看R1的OSPF表可以发现,链路路径的开销值都很小(Cost = 1),只不过是从其他协议学习/引入的路由信息,域外路由信息优先级较高(可靠性较低)。

  • O_ASE:域外路由信息,即从其他协议/进程学习(引入)过来的路由。

  • Pre:优先级,在路径选择中选择优先级值小的路径通过。

    • 域外路由优先级默认是150

    • 因为域外其他协议的情况不清楚,路由可靠性较低

二、LSA通告

LSA的三元组唯一标识一条LSA通告,通过SPF(最短路径优先)算法计算得出路由,并将信息存储在LSDB中。

  • LSA:链路状态通告(拓扑信息)

  • LSDB:链路状态数据库

LSA三元组

  • Type:LSA类型

  • Ls id:链路状态ID

  • Adv rtr:通告路由器

LSA头部

所有LSA都有的公共部分称为LSA的头部

  • Type:类型字段(标注1条LSA的类型)

  • LS ID:链路状态ID(标识符)

    • 相当于1条LSA的名字。

  • Adv-router:通告路由器

    • 产生并通告这条LSA的设备的RID,表明该LSA是谁发的,必须靠LSA的三元组才能唯一的标识一条LSA。

  • LS AGE:链路状态老化时间(1条LSA的老化时间)

    • 默认1条LSA的最大老化时间是1800s,等于OSPF周期更新的时间,当1条LSA老化时间达到1800s则会将该LSA从自身数据库中删除刷新。

    • MAX-AGE:最大老化时间

      • 当OSPF周期跟新机制出现问题可能导致不能即时刷新LSA,则等待最大老化时间直接删除。

  • LEN:LSA的长度

    • 表示整个LSA的大小

  • Options:可选项字段,E为特殊区域的标记

  • SEQ:LSA的序列号

    • 主要用来做LSA的新旧判断

    • 序列号空间:

      • 直线型序列空间:新旧关系明显,但是空间容量有上限。

      • 循环型序列空间:序列号不停在空间循环,可以重复使用,但无法判断新旧关系

      • 棒棒糖型序列空间:分为棒棒糖的糖和棍,相当于将以上两种类型结合起来。延长了直线型空间的容量,但是在糖的部分仍然由循环性的问题。

    • OSPF序列号范围:0X80000001 ~ 0X7FFFFFF

      • 设备每发送一条LSA信息,序列号就会加1

      • 0X代表16进制,当序列号到达0X7FFFFFFE时,设备就知道后面没有序列号可用,会直接将LSA的老化时间设置为3600S,相当于清空整个OSPF网络设备中存储的LSA,之后会立刻重新发送一条内容完全一致的LSA,将序列号刷新为 0X80000001。

LSA类型

LSA的类型LSIDADV router通告路由器携带参数传递范围
Router :type-1 LSA通告路由器的RID谁发的该LSA,ADV-router=该设备RID拓扑信息在区域内部传递
Network:type-2 LSADR的IP地址DR所在路由器的RID1类LSA的补充在区域内部传递
Sum-Net:type-3 LSA其他区域目标网段本区域相连的ABR的RID其他区域目标网段信息单区域传递
Sum-Asbr:type-4 LSAASBR设备RID本区域相连的ABR的RIDASBR设备如何到(ADV-router)除了和ASBR设备之间相连的区域
External:type-5 LSA域外网段信息ASBR设备的RID域外网段信息在整个OSPF网络传递
NSSA: type-7 LSA

共有6类LSA:1、2、3、4、5、7。

  • Router 1 类LSA:传递拓扑信息使用的LSA

    • 每一台运行了OSPF协议的设备都会发送1类LSA

  • Network 2 类LSA:在以太网中存在的LSA,同样传递LSA

    • 是1类LSA的补充,补充了以太网中掩码和运行OSPF协议设备的RID。

    • 在以太网中仅靠1类LSA实际上并不能完整的获取到整个网络所有的拓扑信息

    • 拓扑信息的主要参数:以太网配置的掩码 / 以太网中具体存在多少运行了OSPF协议的设备

  • Sum-Net 3 类LSA:链路状态ID(LSID)实际上就是区域之间传递的目标路由信息的网段

    • 在区域之间只有ABR设备同时属于多个区域,路由信息才能通过ABR设备在区域之间传递。

    • 跨区域转发时,可能会经过多个区域的多个ABR设备转发,每经过一个ABR设备的转发都需要更改通告路由器的RID

  • Sum-Asbr 4 类LSA:辅助其他区域的路由器找到ASBR设备的位置

    • 除了和ASBR设备相邻的区域之外,每经过一个区域的转发都会由本区域的ABR设备发送一条4类LSA,辅助其他区域的路由器找到ASBR设备的位置

  • External 5 类LSA:携带域外网段的路由信息

    • 因为不同协议开销值计算方法不一样,所以绝对不能直接使用源协议自带的Cost值,所以OSPF针对域外路由信息定义了种子度量值SeedCost。

    • 针对域外路由OSPF的Metric值设计了类型。

      • TYPE-1:种子度量值 + 设备到达ASBR的开销。

      • TYPE-2:所有设备到达目标网段开销均等于种子度量值,默认为类型2.

      • Forwarding Address:转发地址,在应对选路不佳情况下会重定向一个更加合理的IP地址。

  • NSSA 7 类LSA 

LINK类型

根据OSPF接口网络类型关联

  • Point-to-Point:点到点网络

  • TransNet:传输网络

  • StubNet:末梢网络

  • Virtual:虚拟网络

开销值

Metric:实际上是ABR设备到达该网段的开销值。华为为了避免侵权重新起的名字。

Metric = 参考带宽(100) / 真实带宽,四舍五入原则。

OSPF协议最终加载路由表中的 COST = METIRC + 本设备到达ABR的开销

区域间访问过程

OSPF区域之间的访问过程:路由器想要访问其他区域的网段,首先必须利用1、2类LSA找到ABR设备所在的位置,之后通过自身的SPF算法计算得出去往ABR设备的最短路径,然后下一跳就根据最短路径自动获取,等到数据包来到ABR设备,ABR设备可以依靠自身获取到的该目标区域1、2类LSA,利用SPF算法得出去往该网段的最短路径

命令
  • 查看OSPF链路状态数据库指定RID查看特定的路由器的数据库信息。

    • display ospf lsdb

  • 查看1类LSA信息

    • display ospf lsdb router [RID]

  • 查看2类LSA信息,Link ID在LSDB表中查看

    • display ospf lsdb network [Link ID/DR的IP]

  • 查看3类LSA信息

    • display ospf lsdb summary [其他区域目标网段]

  • 查看4类LSA信息

    • display ospf lsdb asbr [ASBR的RID]

  • 查看5类LSA信息

    • display ospf lsdb ase [域外网段]

    • 域外路由信息的种子度量值默认为1,可以在重发布时人为更改。

      • import-route rip cost [种子度量值]

    • 更改开销计算的类型(1或2),默认类型2。

      • import-route rip type [1/2]

    • 在重发布时对重发布的路由信息打上一个标记Tag,可以给相同Tag值的信息打包便于统一做策略。

      • import-route rip tag [标记值]

配置
1类LSA

首先进行基础的串口和环回IP配置以及OSPF协议配置。

 ### 基础配置[R1-Serial4/0/0]ip address 12.0.0.1 24[R1-LoopBack0]ip address 192.168.1.1 24[R2-Serial4/0/0]ip address 12.0.0.2 24[R2-LoopBack0]ip address 192.168.2.1 24### OSPF配置[R1]ospf 1 router-id 1.1.1.1[R1-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255[R1-ospf-1-area-0.0.0.0]network 12.0.0.0 0.0.0.255[R2]ospf 1 router-id 2.2.2.2[R2-ospf-1-area-0.0.0.0]network 192.168.2.0 0.0.0.255[R2-ospf-1-area-0.0.0.0]network 12.0.0.0 0.0.0.255# 查看R1链路状态数据库信息[R1]display ospf lsdb​### 查看R1的1类LSA信息[R1]display ospf lsdb router 1.1.1.1

2类LSA

添加R3,并进行基础配置。

 # 基础配置以及OSPF配置[R2-GigabitEthernet0/0/0]ip address 23.0.0.1 24[R2-ospf-1-area-0.0.0.0]network 23.0.0.0 0.0.0.255[R3-LoopBack0]ip address 192.168.3.1 24[R3-GigabitEthernet0/0/0]ip address 23.0.0.2 24[R3-ospf-1-area-0.0.0.0]network 23.0.0.0 0.0.0.255[R3-ospf-1-area-0.0.0.0]network 192.168.3.0 0.0.0.255# 此时在R1查看LSDB,发现新增了Network 2类LSA[R1]display ospf lsdb# 查看R2的1类LSA,发现也多了一段[R2]display ospf lsdb router 2.2.2.2​### 查看2类LSA,根据LinkID查找[R1]display ospf lsdb network 23.0.0.1
3类LSA

继续添加R4,进行基础配置。

 # 基础配置[R3-GigabitEthernet0/0/1]ip address 34.0.0.1 24[R4-LoopBack0]ip address 192.168.4.1 24[R4-GigabitEthernet0/0/0]ip address 34.0.0.2 24# 范围宣告,注意在区域1[R3-ospf-1-area-0.0.0.1]network 34.0.0.0 0.0.0.255[R4-ospf-1-area-0.0.0.1]network 34.0.0.0 0.0.0.255[R4-ospf-1-area-0.0.0.1]network 192.168.4.0 0.0.0.255# 此时在R4查看LSDB,发现新增了Sum-Net 3类LSA[R4]display ospf lsdb​### 查看3类LSA,这里选择查看12网段的信息[R4]display ospf lsdb summary 12.0.0.0

再次增加一个R5,进行基础配置。这里对开销值Metric进行探查。

 # 基础配置[R4-GigabitEthernet0/0/1]ip address 45.0.0.1 24[R4-ospf-1-area-0.0.0.1]network 45.0.0.0 0.0.0.255[R5-GigabitEthernet0/0/0]ip address 45.0.0.2 24[R5-ospf-1-area-0.0.0.1]network 45.0.0.0 0.0.0.255# 查看LSDB表发现Metric一直为1,实际上是ABR设备到网段的开销值[R5]display ospf lsdb

在R1左边新建一个R6,进行基础配置,注意OSPF进入区域2。

 # 基础配置[R1-GigabitEthernet0/0/0]ip address 16.0.0.1 24[R1-ospf-1-area-0.0.0.2]network 16.0.0.0 0.0.0.255[R6-GigabitEthernet0/0/0]ip address 16.0.0.2 24[R6]ospf 1 router-id 6.6.6.6[R6-ospf-1]area 2[R6-ospf-1-area-0.0.0.2]network 16.0.0.0 0.0.0.255​# 再次查看LSDB表,发现3类LSA的通告路由器都变成了R1[R6]display ospf lsdb

3类LSA在跨区域转发时,可能会经过多个区域的多个ABR设备转发,每经过一个ABR设备的转发都需要更改通告路由器的RID

4类LSA
 # 根据ASBR设备的RID找到其他ASBR设备的位置[R1]display ospf lsdb asbr 5.5.5.5
5类LSA

在R5上新建一个172.16.1.0/24的RIP环回网段,那么此时R5相当于就是ASBR,同时具有OSPF和RIP协议。

 # 基础配置[R5-LoopBack0]ip address 172.16.1.1 24# RIP配置[R5-rip-1]version 2# 主类宣告网段[R5-rip-1]network 172.16.0.0​### 此时R4如果想要获取RIP的信息,就需要作重定向,注意要在ASBR中引入,即R5中[R5-ospf-1]import-route rip # 在R4中检查是否有学到RIP的路由,发现了O_ASE域外路由信息,成功引入[R4]display ip routing-table protocol ospf# 查看LSDB表,发现多出了External 5类LSA[R5]display ospf lsdb​### 发现无论多远的设备上到R5的开销值都为1,我们这里改变R5的开销计算类型[R5-ospf-1]import-route rip type 1# 修改完类型后在其他设备查看路由表发现开销值改变[R1]display ip routing-table protocol ospf​### 查看5类LSA,选择域外网段[R4]display ospf lsdb ase 172.16.0.0

三、OSPF优化

区域汇总

特殊区域

分为两大类4小类:Stub区域和NSSA区域。

  • Stub末梢区域 和 Totolly-stub完全末梢区域

    • 配置条件:

      • 不能是骨干区域(区域0)

      • 不能存在虚链路V-link

      • 不能存在ASBR设备(双协议)

注意:一旦将区域配置为Stub区域,该区域设备将拒绝学习4类和5类LSA,同时由本区域的ABR设备生成一条3类缺省路由

  • NSSA非完全末梢区域和Totolly-NSSA完全的非完全末梢区域

    • 配置条件:

      • 不能是骨干区域(区域0)

      • 不能存在虚链路V-link

      • 必须存在ASBR设备

注意:一旦将区域配置为NSSA区域,该区域将拒绝学习4类和5类LSA信息,同时由本区域的ABR设备生成一条7类缺省路由

因为NSSA区域拒绝了4类和5类LSA,导致域外路由信息无法直接引入(域外是5类LSA),所以必须由ABR设备进行5转7操作,之后因为普通区域(骨干区域0)不能配置特殊区域,导致这些区域不能识别7类LSA,所以本区域的ABR设备进行7转5操作

命令
区域汇总
  • 域间路由手工汇总

    • 配置位置是在该区域对应ABR设备的对应区域中配置,注意真实掩码要自己计算,必须为展开形式,不能为十进制。

    • 只有自己通告1-2类LSA计算出来的3类LSA才能被汇总。

      • abr-summary [汇总网段] [真实掩码]

  • 域外路由手工汇总

    • 配置位置是在ASBR设备的协议进程中配置。

    • 汇总实质是对3类和5类LSA进行汇总。

      • asbr-summary [汇总网段] [真实掩码]

首先都要进入对应的区域

  • Stub末梢区域

    • 配置进入对应的区域执行命令。

    • [R1-ospf-1-area-0.0.0.0]stub

  • Totolly-stub完全末梢区域

    • 配置位置只需要在ABR设备上配置。

    • [R1-ospf-1-area-0.0.0.2]stub no-summary

  • NSSA非完全末梢区域

    • 配置进入对应的区域执行命令。

    • [R3-ospf-1-area-0.0.0.1]nssa

  • Totolly-NSSA完全的非完全末梢区域

    • 配置位置只需要在ABR设备上配置。

    • [R3-ospf-1-area-0.0.0.1]nssa no-summary

注意

  • 因为特殊区域的标记会影响建邻居,所以必须该特殊区域的设备都需要配置,否则无法建邻(标记不同)。

  • 一旦将区域配置为stub区域,该区域将拒绝学习4类和5类LSA。

  • 一旦将区域配置为nssa区域,该区域将拒绝学习4类和5类LSA,同时由本区域的ABR设备生成一条7类缺省路由

  • 只有Totoly区域才会拒绝3类LSA,只需要在ABR设备上进行配置,同区域的其他设备只用配置普通的特殊区域即可。

  • ABR设备拒绝3类LSA之后也会生成一条3类LSA,之后该区域的设备会学习3类缺省,因为选路规则域内>域间>域外

配置
手工汇总

我们在R6上新建两个环回接口,将IP设置为1.1.1.1/24和1.1.2.1/24。

 # 环回接口[R6-LoopBack0]ip address 1.1.1.1 24[R6-LoopBack1]ip address 1.1.2.1 24# 范围宣告[R6-ospf-1-area-0.0.0.2]network 1.1.1.0 0.0.0.255[R6-ospf-1-area-0.0.0.2]network 1.1.2.0 0.0.0.255​### 在ABR设备R1上对区域2的两个网段进行域内路由汇总,真实掩码需要计算[R1-ospf-1-area-0.0.0.2]abr-summary 1.1.0.0 255.255.252.0# 在R2查看路由表,发现网段成功汇总[R2]display ip routing-table protocol ospf

这里汇总的1.0和2.0两个网段,前22位二进制数相同,所以相同位数即为合并之后的网络位:22

1.1.1.0/24 展开:1.1.000000 01.00000000

1.1.2.0/24 展开:1.1.000000 10.00000000

合并:1.1.0.0/22 展开:1.1.0.0 / 255.255.252.0

注意:只有自己通告1-2类LSA计算出来的3类LSA才能被汇总,所以这里只能在R1上对区域2的网段进行汇总,不能在R3上。

 # 在R5上新建环回网段并宣告,rip是主类宣告,只用宣告大的网段即可[R5-LoopBack1]ip address 172.16.2.1 24[R5-rip-1]network 172.16.0.0# 在R4上查看,确认有两个环回网段的路由<R4>display ip routing-table protocol ospf​### 域外路由汇总[R5-ospf-1]asbr-summary 172.16.0.0 255.255.252.0# 在区域0的设备中查看路由表,发现汇总成功<R2>display ip routing-table protocol ospf
Stub区域
 ### 配置Stub区域,注意要进入对应的区域[R6-ospf-1-area-0.0.0.2]stub# 此时查看R6邻居表发现没有任何信息,因为R6是特殊区域,标记和R1不同,必须将R1也设置为Stub区域[R6]display ospf peer brief# 配置R1特殊区域后,再次查看邻居表发现成功和R1建邻[R1-ospf-1-area-0.0.0.2]stub# 查看LSDB表发现4类和5类LSA都没有了,即拒绝了域外路由信息,但是同区域的ABR设备R1同时生成了一条3类的缺省路由来访问域外路由[R6]display ospf lsdb

Totolly-Stub区域

普通的Stub只拒绝了域外的路由信息,完全的Stub区域会将域内的其他区域路由信息也给拒绝,即将3类LSA也给拒绝,且只需要在ABR上配置完全区域

 ### 在ABR上配置完全Stub区域[R1-ospf-1-area-0.0.0.2]stub no-summary# 查看LSDB表发现3类LSA信息都被R1给拒绝了,只剩下指向ABR设备R1的3类的缺省路由[R6]display ospf lsdb
NSSA区域

因为NSSA区域必需存在ASBR设备,所以我们选择在ASBR设备R5所在的区域进行配置,注意ASBR所在区域的设备都要配置特殊区域。

 ### 区域1设备全部配置NSSA区域[R3-ospf-1-area-0.0.0.1]nssa[R4-ospf-1-area-0.0.0.1]nssa[R5-ospf-1-area-0.0.0.1]nssa# 查看LSDB表,发现多出了NSSA 7类LSA,并且拒绝了4类和5类LSA信息,同时由本区域的ABR设备R3生成一条7类缺省路由来访问域外路由[R4]display ospf lsdb

这个过程相当于是R5作为ASBR设备将RIP协议的信息给引入区域1,并将5类LSA转为7类LSA进行5转7操作,但是因为普通区域不能配置特殊区域,无法识别7类LSA,所以在将7类LSA通过R3传入骨干区域0的时候,R3又进行了一次7转5操作,此时R3相当于一个特殊的ASBR设备

Totolly-NSSA区域

 ### 在ABR上配置完全NSSA区域[R3-ospf-1-area-0.0.0.1]nssa no-summary# 此时在区域1设备上查看LSDB表发现3类LSA信息都被拒绝,只剩下指向ABR设备R3的3类缺省路由# 因为选路规则是 域内>域间>域外[R4]display ospf lsdb

四、实验

OSPF综合

要求:

  1. R4为ISP,其上只能配置IP地址;R4与其他所有直连设备间均使用公有IP

  2. R3-R5/6/7为MGRE环境,R3为中心站点;

  3. 整个OSPF环境IP基于172.16.0.0/16划分;

  4. 所有设备均可访问R4的环回(配置NAT);

  5. 减少LSA的更新量(汇总+特殊区域),加快收敛(修改hello时间),保障更新安全(认证);

  6. 全网可达

子网划分

图中一共有6个区域,相当于最终需要汇总为6个网段,那么我们就将 172.16.0.0/16 借3位 分成 23=8个网段

借3位分成6个网段

172.16.000 00000.0 / 19 172.16.001 00000.0 / 19

172.16.010 00000.0 / 19 172.16.011 00000.0 / 19

172.16.100 00000.0 / 19 172.16.101 00000.0 / 19

172.16.110 00000.0 / 19 172.16.111 00000.0 / 19

即:

区域0:172.16.0.0 / 19 区域1:172.16.32.0 / 19

区域2:172.16.64.0 / 19 区域3:172.16.96.0 / 19

区域4:172.16.128.0 / 19 RIP:172.16.160.0 / 19

剩余2个网段:172.16.192.0/19 172.16.224.0/19

区域分配

我们这里选择将每个区域的网段掩码规定为24,即再借5位,刚好网络位一共24位 172.16.00000000.0 / 24,区域需要几个就划分几个IP。

  • 区域0:172.16.0.0/19

    • P2P骨干链路 172.16.0.0 / 24(借6位)

      • 172.16.0.0/30 172.16.0.4/30 172.16.0.8/30

    • MA骨干链路 172.16.1.0 / 24(借5位)

      • 172.16.1.0/29 172.16.1.8/29 172.16.1.16/29

    • 用户 172.16.2.0/24 172.16.3.0/24 172.16.4.0/24

  • 区域1:172.16.32.0/19

    • P2P骨干链路 172.16.32.0 / 24

      • 172.16.32.0/30 172.16.32.4/30 172.16.32.8/30

    • MA骨干链路 172.16.33.0 / 24

      • 172.16.33.0/29 172.16.33.8/29 172.16.33.16/29

    • 用户 172.16.34.0/24 172.16.35.0/24

  • 区域2:172.16.64.0 / 19

    • P2P骨干链路 172.16.64.0 / 24

      • 172.16.64.0/30 172.16.64.4/30 172.16.64.8/30

    • MA骨干链路 172.16.65.0 / 24

      • 172.16.65.0/29 172.16.65.8/29 172.16.65.16/29

    • 用户 172.16.66.0/24 172.16.67.0/24

  • 区域3:172.16.96.0 / 19

    • P2P骨干链路 172.16.96.0 / 24

      • 172.16.96.0/30 172.16.96.4/30 172.16.96.8/30

    • MA骨干链路 172.16.97.0 / 24

      • 172.16.97.0/29 172.16.97.8/29 172.16.97.16/29

    • 用户 172.16.98.0/24 172.16.99.0/24

  • 区域4:172.16.128.0 / 19

    • P2P骨干链路 172.16.128.0 / 24

      • 172.16.128.0/30 172.16.128.4/30 172.16.128.8/30

    • MA骨干链路 172.16.129.0 / 24

      • 172.16.129.0/29 172.16.129.8/29 172.16.129.16/29

    • 用户 172.16.130.0/24 172.16.131.0/24

  • RIP:172.16.160.0 / 19

    • 没有链路只给用户(环回)

      • 172.16.160.0/24 172.16.161.0/24

MGRE环境
公网连通
 # 公网IP配置[R3-Serial4/0/0]ip address 34.0.0.1 24[R5-Serial4/0/0]ip address 45.0.0.1 24[R6-Serial4/0/0]ip address 46.0.0.1 24[R7-GigabitEthernet0/0/0]ip address 47.0.0.1 24# ISP配置[ISP-Serial4/0/0]ip address 34.0.0.2 24[ISP-Serial4/0/1]ip address 45.0.0.2 24[ISP-Serial3/0/0]ip address 46.0.0.2 24[ISP-GigabitEthernet0/0/0]ip address 47.0.0.2 24# 环回配置[ISP-LoopBack0]ip address 100.0.0.1 24[R5-LoopBack0]ip address 172.16.2.1 24[R6-LoopBack0]ip address 172.16.3.1 24[R7-LoopBack0]ip address 172.16.4.1 24​### 在边界设备上配置私网与公网的缺省路由,保证公网连通性[R3]ip route-static 0.0.0.0 0 34.0.0.2[R5]ip route-static 0.0.0.0 0 45.0.0.2[R6]ip route-static 0.0.0.0 0 46.0.0.2[R7]ip route-static 0.0.0.0 0 47.0.0.2
中心&分支配置

这里将R3作为中心路由器。

 ###  中心配置[R3-Tunnel0/0/0]ip address 172.16.1.1 29[R3-Tunnel0/0/0]tunnel-protocol gre p2mp[R3-Tunnel0/0/0]source 34.0.0.1[R3-Tunnel0/0/0]nhrp network-id 100​# R5、R6、R7 同理配置[R5-Tunnel0/0/0]ip address 172.16.1.2 29[R6-Tunnel0/0/0]ip address 172.16.1.3 29[R7-Tunnel0/0/0]ip address 172.16.1.4 29...​### 分支注册[R5-Tunnel0/0/0]nhrp entry 172.16.1.1 34.0.0.1 register​### 中心开启伪广播[R3-Tunnel0/0/0]nhrp entry multicast dynamic # 依次进行连通测试[R3]ping -a 172.16.1.1 172.16.1.2[R3]ping -a 172.16.1.1 172.16.1.3 ...
OSPF环境

配置基础IP和环回路由,注意主机位全1和全0的网段不能使用。

 ### 区域1# 有交换机,不是P2P网络,使用MA网段[R1-GigabitEthernet0/0/0]ip address 172.16.33.1 29[R2-GigabitEthernet0/0/0]ip address 172.16.33.2 29[R3-GigabitEthernet0/0/0]ip address 172.16.33.3 29[R1-LoopBack0]ip address 172.16.34.1 24[R2-LoopBack0]ip address 172.16.35.1 24[R3-LoopBack0]ip address 172.16.36.1 24### 区域2# 使用P2P网段,注意R11左右为两个大的P2P网段[R6-GigabitEthernet0/0/0]ip address 172.16.64.1 30[R11-GigabitEthernet0/0/0]ip address 172.16.64.2 30[R11-GigabitEthernet0/0/1]ip address 172.16.64.5 30[R12-GigabitEthernet0/0/0]ip address 172.16.64.6 30[R11-LoopBack0]ip address 172.16.66.1 24### 区域3 # 使用P2P网段[R7-GigabitEthernet0/0/1]ip address 172.16.96.1 30[R8-GigabitEthernet0/0/0]ip address 172.16.96.2 30[R8-GigabitEthernet0/0/1]ip address 172.16.96.5 30[R9-GigabitEthernet0/0/0]ip address 172.16.96.6 30[R8-LoopBack0]ip address 172.16.98.1 24# 区域4# 使用P2P网段[R9-GigabitEthernet0/0/1]ip address 172.16.128.1 30[R10-GigabitEthernet0/0/0]ip address 172.16.128.2 30[R9-LoopBack0]ip address 172.16.130.1 24[R10-LoopBack0]ip address 172.16.131.1 24### RIP[R12-LoopBack0]ip address 172.16.160.1 24[R12-LoopBack1]ip address 172.16.161.1 24
区域0
 # 精准宣告# 可以先查看接口表,检查哪些私网IP需要宣告[R3]display ip interface brief# R3只用宣告隧道接口,串口IP是公网,环回在区域1[R3-ospf-1-area-0.0.0.0]network 172.16.1.1 0.0.0.0# R5、R6、R7宣告环回和隧道接口[R5-ospf-1-area-0.0.0.0]network 172.16.2.1 0.0.0.0[R5-ospf-1-area-0.0.0.0]network 172.16.1.2 0.0.0.0[R6-ospf-1-area-0.0.0.0]network 172.16.3.1 0.0.0.0[R6-ospf-1-area-0.0.0.0]network 172.16.1.3 0.0.0.0[R7-ospf-1-area-0.0.0.0]network 172.16.4.1 0.0.0.0[R7-ospf-1-area-0.0.0.0]network 172.16.1.4 0.0.0.0
区域1
 # 范围宣告大的网段32.0,因为R1、R2只在区域1中# 反掩码[R1-ospf-1-area-0.0.0.1]network 172.16.32.0 0.0.31.255[R2-ospf-1-area-0.0.0.1]network 172.16.32.0 0.0.31.255​# 在R3中无法这样宣告,因为R3是ABR设备# 精准宣告,直接反掩码全0锁死IP,避免宣告到区域0[R3-ospf-1-area-0.0.0.1]network 172.16.33.3 0.0.0.0[R3-ospf-1-area-0.0.0.1]network 172.16.36.1 0.0.0.0# 配置完后检查邻居表是否完整,发现R3区域0邻居只有R5,因为网络类型为p2p[R1]display ospf peer brief ...# 修改网络类型,区域0的设备都要修改[R3-Tunnel0/0/0]ospf network-type p2mp...# 再次查看R3邻居表,发现成功获取区域0的信息[R3]display ospf peer brief
区域2
 # 精准宣告[R6-ospf-1-area-0.0.0.2]network 172.16.64.1 0.0.0.0# R11只在区域2中,进行范围宣告[R11]ospf 1 router-id 11.1.1.1[R11-ospf-1-area-0.0.0.2]network 172.16.64.0 0.0.31.255# R12是ASBR设备,也可以这样范围宣告[R12]ospf 1 router-id 12.1.1.1[R12-ospf-1-area-0.0.0.2]network 172.16.64.0 0.0.31.255# 检测连通性[R1]ping -a 172.16.34.1 172.16.64.6
区域3
 # 精准宣告[R7-ospf-1-area-0.0.0.3]network 172.16.96.1 0.0.0.0[R9-ospf-1-area-0.0.0.3]network 172.16.96.6 0.0.0.0# R8只在区域3中,进行范围宣告[R8-ospf-1-area-0.0.0.3]network 172.16.96.0 0.0.31.255# 检测连通性[R1]ping -a 172.16.34.1 172.16.96.6
RIP
 ### 主类宣告[R12-rip-1]network 172.16.0.0​### 引入RIP协议[R12-ospf-1]import-route rip​# 查看路由表,发现成功获取[R1]display ip routing-table protocol ospf# 检测连通性,域外成功连通[R1]ping -a 172.16.34.1 172.16.161.1
多进程双向重发布

因为区域4是远离骨干的区域,所以我们选择在ASBR设备R9的进程1中引入进程2的路由信息,注意要进行双向引入,在不同进程中引入对方的协议路由信息。

 # OSPF进程1[R9-ospf-1-area-0.0.0.3]network 172.16.96.6 0.0.0.0# 新建OSPF进程2[R9]ospf 2 router-id 9.9.9.9[R9-ospf-2-area-0.0.0.0]network 172.16.128.0 0.0.31.255[R10-ospf-2-area-0.0.0.0]network 172.16.128.0 0.0.31.255### 重发布[R9-ospf-1]import-route ospf 2# 这里可以双向重发布,但是我们选择用其他方法,以下操作先不执行[R9-ospf-2]import-route ospf 1
OSPF优化
手工汇总

注意在ABR上进行汇总,真实掩码要自行计算,即 真实掩码19 = 255.255.111 00000.0 = 255.255.224.0

 ### ABR设备域间汇总### 区域1[R3-ospf-1-area-0.0.0.1]abr-summary 172.16.32.0 255.255.224.0​### 区域2[R6-ospf-1-area-0.0.0.2]abr-summary 172.16.64.0 255.255.224.0​### 区域3[R7-ospf-1-area-0.0.0.3]abr-summary 172.16.96.0 255.255.224.0​### ASBR设备域外汇总### 区域4[R9-ospf-1]asbr-summary 172.16.128.0 255.255.224.0​### RIP[R12-ospf-1]asbr-summary 172.16.160.0 255.255.224.0​# 在区域0查看LSDB表和路由表发现成功汇总[R5]display ospf lsdb[R5]display ip routing-table protocol ospf
特殊区域

配置特殊区域,拒绝4类、5类LSA减少路由数量和更新量,同时生成指向骨干区域的缺省路由访问公网。

 ### 区域1配置Stub末梢区域[R1-ospf-1-area-0.0.0.1]stub[R2-ospf-1-area-0.0.0.1]stub​### ABR上配置完全末梢区域,拒绝3类LSA并生成3类缺省[R3-ospf-1-area-0.0.0.1]stub no-summary​### 区域2、3、4配置NSSA非完全末梢区域[R8-ospf-1-area-0.0.0.3]nssa[R9-ospf-1-area-0.0.0.3]nssa[R11-ospf-1-area-0.0.0.2]nssa[R12-ospf-1-area-0.0.0.2]nssa​### ASBR上配置完全的非完全末梢区域,生成7类缺省[R6-ospf-1-area-0.0.0.2]nssa no-summary[R7-ospf-1-area-0.0.0.3]nssa no-summary​# 查看LSDB表发现配置成功[R8]display ospf lsdb[R11]display ospf lsdb

此时R10仍不能向上访问,在ASBR设备R9上向其他设备宣传默认路由,在R10生成一条到其他区域的缺省路由并层层转发。

 ### 下发缺省路由[R9-ospf-2]default-route-advertise​# 查看路由表发现成功生成缺省[R10]display ip routing-table protocol ospf# 发现生成5类缺省[R10]display ospf lsdb# 检测连通性,发现成功连通[R10]ping -a 172.16.131.1 172.16.34.1
加快收敛
 ### 减少hello时间,这里设置为10s[R1-GigabitEthernet0/0/0]ospf timer hello 10[R2-GigabitEthernet0/0/0]ospf timer hello 10
安全认证

选择安全性高的MD5加密认证,注意要配置认证就全都配置,否则无法建立邻居。

 ### MD5加密认证,编号KEY为1# 接口认证[R1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456[R2-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456​### ABR上配置区域认证[R3-ospf-1-area-0.0.0.1]authentication-mode md5 1 cipher 123456# 查看邻居表[R3]display ospf peer brief
环回访问
 ### 在ABR上抓取流量[R3]acl 2000[R3-acl-basic-2000]rule permit source 172.16.0.0 0.0.255.255[R6-acl-basic-2000]rule permit source 172.16.0.0 0.0.255.255[R7-acl-basic-2000]rule permit source 172.16.0.0 0.0.255.255​### 在出接口配置NAT[R3-Serial4/0/0]nat outbound 2000[R6-Serial4/0/0]nat outbound 2000[R7-GigabitEthernet0/0/0]nat outbound 2000# 连通性测试,均成功连通[R1]ping 100.0.0.1[R8]ping 100.0.0.1[R11]ping 100.0.0.1...

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com