1. OSPF 基础实验(三):邻接关系和 LSA

2024-03-12 11:04

本文主要是介绍1. OSPF 基础实验(三):邻接关系和 LSA,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.3 OSPF 的邻接关系和 LSA

1.3.1 实验介绍

1.3.1.1 学习目标

1. 阐明在多路访问网络中接入多台路由器时的邻居关系建立过程

2. 控制 OSPF DR 的选举

3. 描述 5 种类型的 LSA 的内容,以及它们的作用

1.3.1.2 实验组网介绍

设备互联方式及 IP 地址规划如图所示,其中 R1 的 Loopback0 接口属于 OSPF 区域 2,R4的GE0/0/2 接口属于 OSPF 区域1,R1、R2、R3、R4 的其他接口都属于 OSPF 区域 0。R5 的 GE0/0/3 属于 OSPF 区域 1,R5 的 Loopback0 不属于 OSPF 域内。 

1.3.1.3 实验背景

你是公司的网络管理员。现在公司的网络中有五台 AR 路由器,其中 R1、R2、R3 和 R4 在公司总部,通过以太网互联。R5 在公司分部,与公司总部的 R4相连。由于网络规模较大,为了控制 LSA 的洪泛,你设计了多区域的 OSPF。

同时为了明确设备的 Router ID,你配置设备使用固定的地址作为 Router ID。

在 R1、R2、R3 与 R4 之间互联的网络上,需要干预 DR与 BDR 的选举。实际使用中将 R3 定义为 DR、R2 定义为 BDR,R1、R4 定义为 DROther 

1.3.2 实验任务

1.3.2.1 任务思路

1. 设备 IP 地址配置

2. 按照规划配置 OSPF 区域

3. 检查 OSPF 配置结果,检查 OSPF 邻居关系状态,检查 OSPF 路由表,检查 OSPF LSDB

4. 手动修改接口的 DR 优先级,人工干预 OSPF DR、BDR 的选举结果

5. 在 R5 上将直连路由引入到 OSPF 中,在 R1 上观察 Type-5 LSA

6. 单独观察 Type-1 LSA、Type-2 LSA、Type-3 LSA、Type-4 LSA

7. R1 上通过 debug 观察 OSPF LSU、LSAck、LSR 报文 

1.3.2.2 任务步骤

步骤 1、互联接口、环回口IP 地址配置

# 设备命名

# 配置 R1 的 GE0/0/0、Loopback0 接囗 IP 地址

# 配置 R2 的 GE0/0/0、Loopback0 接囗 IP 地址 

# 配置 R3 的 GE0/0/0、Loopback0 接口IP 地址 

# 配置 R4的 GE0/0/0、GE0/0/1、Loopback0 接囗IP 地址 

# 配置 R5 的 GE0/0/3、Loopback0 接囗 IP 地址 

# 在 R4 上检测互联地址连通性 

步骤 2、配置多区域 OSPF 

按照规划配置多区域 OSPF,修改 Loopback0 接囗的网络类型为 Broadcast 

# 配置 R1 

# 配置 R2

# 配置 R3

# 配置 R4

# 配置 R5

步骤 3、检查 OSPF 配置结果

# 在 R4 上检查 OSPF 邻居的概要信息

R3、R4 之间只建立了邻居关系,而没有邻接关系 

# 在 R4 上查看 OSPF 路由表 

# 在 R5 上查看 OSPF LSDB 

区域1中仅存在2台路由器,所以在 R5的 LSDB 中,仅存在2条Type-1 LSA,剩余的5条Type-3 LSA 为 R4 向 R5 通告的区域间路由 

# 在 R2 上查看 OSPF LSDB 

在 R2 上除了4条 Type-1 LSA 以外,还有1条 Type-2 LSA。R2的 GE 0/0/0 接口所连接的是一个广播型网络,该网络上的 DR 会产生1条 Type-2 LSA 来描述所有的邻居。在这里可以从AdvRouter 字段得知生成这条 LSA 的路由器是 R1,符合 R1 是该网段 DR 的结果 

步骤 4、修改接口的 DR 优先级,影响 DR 选举

# 修改 R4 的 GE0/0/0 接口的 DR 优先级为 255,确保 R4 成为 10.0.123.0/24 网段的 DR

# 修改 R3 的 GE0/0/0 接口的 DR 优先级为 254,确保 R3 成为 10.0.123.0/24 网段的 BDR 

# 修改 R2 的 GE0/0/0 接口的 DR 优先级为 0,确保 R2 不参与选举 

# 为重新选举 DR、BDR,关闭再重新打开 R1、R2、R3、R4的 GE0/0/0 接口 

为保证选举结果按照设置的优先级决定,尽量先打开 R4、R3 接口,否则可能会出现先打开接口
的路由器成为 DR、BDR 

# 在 R3 上查看 DR、BDR 选举结果 

此时 R4为 DR、R3 为 BDR 

# 在 R1 上查看 R1、R2 之间的邻居关系 

R1、R2 都为 DRother,它们之间保持在 2-Way 状态,只建立了邻居关系,不存在邻接关系 

步骤 5、将直连路由引入 OSPF 中 

# R5 上 Loopback0 接口不属于 OSPF 区域,将 Loopback0 接口路由引入到 OSPF 中 

# 在 R1 上查看引入的外部路由条目 

Loopback0 接口路由已经成功被引入到 OSPF 中,以外部路由形式存在 

# 在 R1 上查看 Type-5 LSA 

可以看到 Type-5 LSA 存在2条,但是 R1 的路由表中 OSPF 外部路由只存在1条10.0.5.0/24,这是因为关于 10.0.45.0/24路由同时还存在区域间路由,且区域间路由的优先级高于 OSPF 外部路由 

# 在 R1 上查看 Type-3 LSA

可以看到 Type-3 LSA 中同样存在 10.0.45.0/24,当Type-3 LSA和 Type-5 LSA 所描述的路由前缀及掩码相同时,OSPF 优选通过 Type-3 LSA 计算出的路由加载到路由表 

步骤 6、观察各种类型的 LSA

# 在 R1 上查看 Type-1 LSA 10.0.1.1 

对于 Type-1 LSA 来说,Ls id 字段表示生成这条 LSA 的路由器 Router lD.从输出信息中可以看到 R1 生成了2条 Type-1 LSA,1条在区域0中泛洪,1条在区域2中泛洪。

在区域 0 中 R1 与一个 transmit 类型的网段相连,可以看到其 Link ID 字段的值为该网段上的DR 接口 IP 地址,Data 部分为本地与 DR 相连的接口 IP 地址。

在区域 2 中,R1 的 Loopback0 接口属于该区域,可以看到其 Link Type 为 StubNet,其 LinkID 值为该 StubNet 网段的 IP 地址,Data 部分为 StubNet 网段的网络掩码

# 在 R2 上查看 Type-2 LSA 

Type-2 LSA 由 DR 产生,从 Adv rtr 字段可以验证这一点(该 LSA 由 10.0.4.4产生,即 DR生成),对于Type-2 LSA,其 LS ID 字段值为该网段上 DR的接口IP地址,Attached Router 为该网段上所有路由器的 Router ID 

# 在 R1 上查看 Type-3 LSA 10.0.45.0 

Type-3 LSA 的 LS ID 字段值为网络前缀,而 net mask 携带了网络掩码,在 R1 上可以看到 2条 Type-3 LSA。一条在区域0内,从 adv rtr 可以判断出为 R4 产生,由 R4 从区域1向区域0 中通告产生,另外一条在区域2 中,从 adv rtr 可以判断出由 R1 自身产生,R1 作为连接区域 0与区域2的 ABR,同样会产生一条 Type-3 LSA,用于向区域 2 通告 

# 在 R1 上查看 Type-4 LSA 

Type-4 LSA 用于描述如何到达 ASBR,从输出信息中可以看出 R1 上存在2条 Type-4 LSA,一条在区域0中,从 adv rtr 可知为 R4 产生,另外一条为 R1 自身产生,R1 作为连接区域 0与区域 2的 ABR,自身生成了一条 Type-4 LSA,其 Adv rtr 字段为自身 Router lD 

这篇关于1. OSPF 基础实验(三):邻接关系和 LSA的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/801060

相关文章

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

从基础到进阶详解Python条件判断的实用指南

《从基础到进阶详解Python条件判断的实用指南》本文将通过15个实战案例,带你大家掌握条件判断的核心技巧,并从基础语法到高级应用一网打尽,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录​引言:条件判断为何如此重要一、基础语法:三行代码构建决策系统二、多条件分支:elif的魔法三、

Python WebSockets 库从基础到实战使用举例

《PythonWebSockets库从基础到实战使用举例》WebSocket是一种全双工、持久化的网络通信协议,适用于需要低延迟的应用,如实时聊天、股票行情推送、在线协作、多人游戏等,本文给大家介... 目录1. 引言2. 为什么使用 WebSocket?3. 安装 WebSockets 库4. 使用 We

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

从基础到高阶详解Python多态实战应用指南

《从基础到高阶详解Python多态实战应用指南》这篇文章主要从基础到高阶为大家详细介绍Python中多态的相关应用与技巧,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、多态的本质:python的“鸭子类型”哲学二、多态的三大实战场景场景1:数据处理管道——统一处理不同数据格式

MySQL数据类型与表操作全指南( 从基础到高级实践)

《MySQL数据类型与表操作全指南(从基础到高级实践)》本文详解MySQL数据类型分类(数值、日期/时间、字符串)及表操作(创建、修改、维护),涵盖优化技巧如数据类型选择、备份、分区,强调规范设计与... 目录mysql数据类型详解数值类型日期时间类型字符串类型表操作全解析创建表修改表结构添加列修改列删除列

Python 函数详解:从基础语法到高级使用技巧

《Python函数详解:从基础语法到高级使用技巧》本文基于实例代码,全面讲解Python函数的定义、参数传递、变量作用域及类型标注等知识点,帮助初学者快速掌握函数的使用技巧,感兴趣的朋友跟随小编一起... 目录一、函数的基本概念与作用二、函数的定义与调用1. 无参函数2. 带参函数3. 带返回值的函数4.

Java中数组与栈和堆之间的关系说明

《Java中数组与栈和堆之间的关系说明》文章讲解了Java数组的初始化方式、内存存储机制、引用传递特性及遍历、排序、拷贝技巧,强调引用数据类型方法调用时形参可能修改实参,但需注意引用指向单一对象的特性... 目录Java中数组与栈和堆的关系遍历数组接下来是一些编程小技巧总结Java中数组与栈和堆的关系关于

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group