FortiGate OSPF动态路由协议配置

1.目的

本文档针对 FortiGate 的 OSPF 动态路由协议说明。OSPF 路由协议是一种 典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。在这里,路由 域是指一个自治系统,即 AS,它是指一组通过统一的路由政策或路由协议互相交 换路由信息的网络。在这个 AS 中,所有的 OSPF 路由器都维护一个相同的描述 这个 AS 结构的数据库 , 该数据库中存放的是路由域中相应链路的状态信 息,OSPF 路由器正是通过这个数据库计算出其 OSPF 路由表的。作为一种链路 状态的路由协议,OSPF 将链路状态广播数据 LSA(Link State Advertisement)传 送给在某一区域内的所有路由器。

2.环境介绍

本文使用 4 台 FortiGate 进行说明 , 本文使用的系统版本为 FortiOS v4.0MR2 Patch8。
在这里插入图片描述
在这里插入图片描述

3.OSPF 介绍

3.1 DR 与 BDR 选举

DR–指定路由器,BDR–备份指定路由器。在动态路由协议中,配置在同一区 域内的路由器之间要互相学习链路状态信息,当所有同一区域内的设备都具有相 同的数据链路信息后就可以计算出正确的路由。如果每两台设备之间互相学习, 工作量非常大。为了减少工作量,在这个网络上的设备中选出一个作为 DR,所有 其他设备都只需要和这台这设备交互信息即可完成链路状态的学习。
在这里插入图片描述

DR,BDR 选举规则:
1.当选举 DR/BDR 的时候要比较 hello 包中的优先级,优先级最高的为 DR, 次高的为 BDR.
2.如果 OSPF 路由器的优先级,全部都是默认值 1,路由器默认通过 Router-ID, 选举 DR/BDR,如果 Router-ID 最大的成为 DR,次大的成为 BDR。其余的统统都 是 DR-other。如果路由 ID 未设置,则使用接口最大地址。
3.将优先级改为 0 的设备将永远不参与 DR 选举。
FortiGate 的优先级需要在命令行下配置

config router ospfset abr-type standardconfig ospf-interface edit “ex”#配置 OSPF 接口#编辑 OSPF 接口名称set interface "port5"set ip 192.168.118.233set priority 10                       #设置优先级end
end

3.2 OSPF 邻居建立过程

1.Down:此状态还没有与其他路由器交换信息。首先从其 ospf 接口向外发送 hello 分组,还并不知道 DR(若为广播网络)和任何其他路由器。发送 hello 分组使 用组播地址 224.0.0.5。
2.Attempt: 只适于 NBMA 网络,在 NBMA 网络中邻居是手动指定的,在该状 态下,路由器将使用 HelloInterval 取代 PollInterval 来发送 Hello 包.
3.Init: 表明在 DeadInterval 里收到了 Hello 包,但是 2-Way 通信仍然没有建 立起来.
4.two-way: 双向会话建立,而 RID 彼此出现在对方的邻居列表中。(若为广 播网络:例如:以太网。在这个时候应该选举 DR,BDR)
5.ExStart: 信息交换初始状态 ,在这个状态下 ,本地路由器和邻居将建立 Master/Slave 关系,并确定 DD Sequence Number,路由器 ID 大的的成为 Master.
6.Exchange: 信息交换状态,本地路由器和邻居交换一个或多个 DBD 分组 (也叫 DDP) 。DBD 包含有关 LSDB 中 LSA 条目的摘要信息)。
7.Loading: 信息加载状态:收到 DBD 后,将收到的信息同 LSDB 中的信息 进行比较。如果 DBD 中有更新的链路状态条目,则向对方发送一个 LSR,用于请 求新的 LSA 。
8.Full: 完全邻接状态,邻接间的链路状态数据库同步完成,通过邻居链路状 态请求列表为空且邻居状态为 Loading 判断。
3.3 LSA 的类型
LSA(链路状态广播)是链接状态协议使用的一个分组,它包括有关邻居和通 道成本的信息。 LSAs 被接收路由器用于维护它们的路由选择表。 LSA: Link-State Advertisement。LSA 常用类型分为以下几种:
类型 1:Router LSA:每个路由器都将产生 Router LSA,这种 LSA 只在本区域 内传播,描述了路由器所有的链路和接口,状态和开销.
类型 2:Network LSA:在每个多路访问网络中,DR 都会产生 Network LSA,它 只在产生这条 Network LSA 的区域泛洪描述了所有和它相连的路由器。
类型 3:Network Summary LSA:由 ABR 路由器始发,用于通告该区域外部的 目的地址.当其他的路由器收到来自 ABR 的 Network Summary LSA 以后,它不会 运行 SPF 算法,它只简单的加上到达该 ABR 的开销和 Network Summary LSA 中包含的开销,通过 ABR,至目标地址的路由和开销一起被加进路由表里。
类型 4:ASBR Summary LSA:由 ABR 发出,ASBR 汇总 LSA 除了所通告的目 的地是一个 ASBR 而不是一个网络外,其他同 Network Summary LSA.
类型 5:AS External LSA:发自 ASBR 路由器,用来通告到达 OSPF 自治系统 外部的目的地,或者 OSPF 自治系统那个外部的缺省路由的 LSA.这种 LSA 将在 全 AS 内泛洪(4 个特殊区域除外)
类型 7:NSSA External LSA:来自非完全 Stub 区域(not-so-stubby area)内 ASBR 路由器始发的 LSA 通告它只在 NSSA 区域内泛洪,这是与 LSA-Type5 的 区别.

3.4 OSPF 的区域

主干区(backbone area):主干区是 OSPF 的主区域,每个 AS 内必须有主干区, 所有其他区域连接至主干区,2 个区域之间需要传递路由信息,也将经过主干区域。 主干区拥有 AS 内部及外部路由。主干区域以 IP 地址 0.0.0.0 标识,即 area 0
常规区(regular area):连接至主干区域,不转发其他区域路由,仅拥有 AS 内部 路由。
末梢区域(stub area):只有一个区域相连的非骨干区域,不接受自治系统外部 的 LSA(类型 5),仅拥有本区域路由,使用默认路由访问其他区域及 AS 外部。
非完全末梢区域(NSSA):允许外部路由通告到 ospf 自治系统内部,而同时保 留自治系统其余部分的末梢区域部分,并将从 NSSA 收到的 AS 外部路由 LSA 7 转通过 ABR 换为 LSA5 通告给 AS 内部,拥有本区及外部路由。

4.FortiGate OSPF 配置

4.1 GateA 配置
在这里插入图片描述

4.2 GateB 配置

在这里插入图片描述
4.3 GateC 配置

在这里插入图片描述
4.4 配置完成后各个 Gate 路由表

GateA OSPF 路由表

在这里插入图片描述
GateB OSPF 路由表

在这里插入图片描述

GateC OSPF 路由表

在这里插入图片描述

4.5 通过命令查看 OSPF 状态

查看 OSPF 邻居状态

GateA # get router info ospf neighbor OSPF process 0:
Neighbor   ID              Pri        State                              Dead   Time        Address
Interface				
0.0.0.8	1	Full/DROther	00:00:31	192.168.118.233 port1
0.0.0.9	1	Full/Backup	00:00:40	192.168.118.235 port1GateA # get router    info ospf route
C    172.16.1.0/24 [10] is directly connected, port5, Area 0.0.0.1
IA 172.16.2.0/24 [20] via 192.168.118.235, port1, Area 0.0.0.0
IA 172.16.3.0/24 [20] via 192.168.118.233, port1, Area 0.0.0.0
C    192.168.118.0/24 [10] is directly connected, port1, Area 0.0.0.0

5.OSPF 路由重发布

路由重发布可将其他路由协议以外部路由方式引入到 OSPF 网络当中 ,如将 GateC 中的直连路由发布至 OSPF 网络。
在这里插入图片描述
重发布后的 GateA,B,C 路由表
GateA 路由表
在这里插入图片描述

GateB 路由表
在这里插入图片描述

GateC 路由表
在这里插入图片描述

6.Total stub 与 Total NSSA

Total Stub 与 NSSA 同普通 Stub,NSSA 区域的区别在于,Total stub,nssa 不 接收 LSA3,LSA4 的路由更新。可以通过命令行将其配置不接受汇总路由的更新。
在这里插入图片描述

Total stub  配置
config router ospfconfig areaedit 0.0.0.2set stub-type no-summary                #关闭汇总路由更新set type stub next
end 
end
Total NSSA 配置
config router ospf config areaedit 0.0.0.3set stub-type no-summary              #关闭汇总路由更新set type nssa next
end 
end

7.OSPF 的 Troubleshooting

查看 OSPF 协议状态
get router info ospf status
查看 OSPF 邻居信息及状态  get router info ospf neighbor 查看 OSPF 接口状态信息
get router info ospf interface 查看 OSPF 路由表
get router info ospf route 重启 OSPF 进程
execute router clear ospf process
详尽的 debug 信息可通过以下命令开启。
GateA # diagnose ip routerospf all             all OSPF debug
events       OSPF Events
ifsm           OSPF Interface State Machine
level         debug level
lsa            OSPF Link State Advertisement
nfsm           OSPF Neighbor State Machine
nsm            OSPF NSM information
packet       OSPF Packets
route         OSPF route information
show          show status of ospf debugging
开启 events 事件,关闭 debug,可以输入 diagnose debug disable
GateA # diagnose ip routerospf    level info  GateA # diagnose ip routerospf    events en GateA # diagnose debug enable
GateA   #    id=36870    msg="OSPF:    LSA[0.0.0.0:Type3: 172.16.2.0:0.0.0.9]: Instance(0xbffffa64) created with Link State Update"
id=36870                msg="OSPF:                 LSA[0.0.0.0:Type1:0.0.0.8:0.0.0.8]: Instance(0xbffffa64) created with Link State Update

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/150548.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

springframework Ordered接口学习

Ordered接口介绍 完整路径: org.springframework.core.Ordered Ordered 接口是 Spring 框架中的一个核心接口,用于定义对象的顺序。这个接口通常用于需要排序的组件,例如 Spring 中的 Bean、过滤器(Filters)、拦截器…

Leetcode 相交链表

一图胜千言,java 代码如下: /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x) {* val x;* next null;* }* }*/ public class Solution {public ListN…

spring-boot、spring-cloud、spring-cloud-alibaba的常用依赖的依赖声明及pom文件

copy自若依 父工程pom文件&#xff0c;主要定义了依赖的版本号 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:sch…

VScode的c/c++环境搭建

文章目录 前言1、下载VScode2、安装cpptools3、下载MinGW4、配置环境变量5、修改C/C配置文件5.1、编辑 launch.json 配置文件5.2、编辑 tasks.json 文件 6、运行7、其他 前言 用VS进行C/C开发&#xff0c;环境配置遵循以下步骤&#xff1a; 1.指定头文件目录。“配置属性”→…

Redis 多级缓存

亿级流量的缓存方案 传统缓存的问题 传统的缓存策略一般是请求到达 Tomcat 后&#xff0c;先查询 Redis &#xff0c;如果未命中则查询数据库&#xff0c;存在以下问题: 在整个这个流程当中&#xff0c;请求始终是由 tomcat 发起的&#xff0c;但是我们知道&#xff0c;tomca…

哈希表与离散化

一、字符串哈希 1. 什么是哈希 哈希算法是&#xff1a;通过哈希函数将字符串、较大的数等转换为能够用变量表示的或者是直接作为数组下标的数&#xff0c;通过哈希算法转换到的值&#xff0c;称之为哈希值。哈希值可以实现快速查找和匹配。 比如&#xff1a;用数组下标计数法&…

一步到位:如何在卡内基梅隆大学计算机科学学院官网下载并安装ACME软件

想要在卡内基梅隆大学计算机科学学院官网下载ACME软件&#xff1f;下面是详细的操作步骤&#xff01; 1. 访问官网 首先&#xff0c;打开卡内基梅隆大学计算机科学学院的官方网站。 2. 搜索ACME软件 在官网首页的搜索框中输入“acme”&#xff0c;然后按下回车键。 3. 找到下载…

GPIO之EMIO按键控制LED——ZYNQ学习笔记3

一、EMIO简介 ZYNQ GPIO 接口信号被分成四组&#xff0c;分别是从 BANK0 到 BANK3。其中 BANK0 和 BANK1 中共计 54个信号通过 MIO 连接到 ZYNQ 器件的引脚上&#xff0c;这些引脚属于 PS 端&#xff1b; 而 BANK2 和 BANK3 中共计 64 个信号则通过 EMIO 连接到了 ZYNQ 器件的 …

云栖实录 | 阿里云 OpenLake 解决方案重磅发布:多模态数据统一纳管、引擎平权联合计算、数据共享统一读写

新一轮人工智能浪潮正在重塑世界&#xff0c;以生成式 AI 为代表的技术快速应用&#xff0c;推动了数据与智能的深化融合&#xff0c;同时也给数据基础设施带来了全新的变革与挑战。面向 AI 时代的数据基础设施如何构建&#xff1f;底层数据平台架构在 AI 时代如何演进&#xf…

[linux 驱动]regmap子系统详解与实战

目录 1 描述 2 结构体 2.1 regmap 2.2 regmap_bus 2.3 regmap_config 3 regmap 操作函数 3.1 regmap 申请与初始化 3.1.1 regmap_init_i2c 3.1.2 regmap_init_spi 3.1.3 regmap_exit 3.2 regmap 设备访问 API 函数 3.2.1 regmap_read 3.2.2 regmap_write 4 示例 1…

react组件入门

react应用程序就是由一个个组件搭建而成。组件有类组件和函数组件两种。 我们之前使用create-react-app创建了app&#xff0c;src下放的就是我们应用的源代码&#xff0c;我们基于这些已生成的文件&#xff0c;来学习和验证组件。 类组件 这里我们创建PostList.js更改这个ap…

Java基础——字节流和字符流

字节流和字符流的用法几乎完全一样&#xff0c;区别在于字节流和字符流所操作的数据单元不同&#xff0c;字节流操作的单元是数据单元是8位的字节&#xff0c;字符流操作的是数据单元为16位的字符。 为什么要有字符流&#xff1f; Java中字符是采用Unicode标准&#xff0c;Un…

论文笔记(四十六)RobotGPT: Robot Manipulation Learning From ChatGPT

xx RobotGPT: Robot Manipulation Learning From ChatGPT 文章概括摘要I. 介绍II. 相关工作III. 方法论A. ChatGPT 提示机器人操作B. 机器人学习 IV. 实验A. 衡量标准B. 实验设置C. 模拟实验D. 真实机器人实验E. AB测试 V. 结论 文章概括 引用&#xff1a; article{jin2024r…

关于养育孩子的一点想法

我们许多人总是很看重结果&#xff0c;不重视过程&#xff0c;在工作中有时候确实会这样&#xff0c;但这种想法会经常蔓延到生活中&#xff0c;比如养育孩子&#xff0c;我们总有一个目标&#xff0c;希望他成才&#xff0c;实现某种理想&#xff0c;弥补你人生中的某种缺憾&a…

第18届全国热管会议举办,积鼎科技分享「环路热管相变传热仿真」前沿实践

第18届全国热管会议于9月20日至22日在海滨城市日照举行&#xff0c;该会议由中国工程热物理学会热管专业组主办&#xff0c;山东大学和日照市科学技术协会联合承办&#xff0c;汇聚了全国热管技术领域的专家学者及企业代表。在该会议上&#xff0c;积鼎科技在热管仿真方面的成果…

使用Nginx反向代理为OneAPI配置https访问

OneAPI在实现大模型访问的过程中提供了接近商业化的API生成服务&#xff0c;在商业化运用过程中&#xff0c;使用https加密访问可以提高访问的安全性。那么如何为OneAPI设置https访问呢&#xff1f;接下来&#xff0c;我们就使用Nginx的反向代理实现这一目标。 Nginx是一款高性…

C++ | Leetcode C++题解之第435题无重叠区间

题目&#xff1a; 题解&#xff1a; class Solution { public:int eraseOverlapIntervals(vector<vector<int>>& intervals) {if (intervals.empty()) {return 0;}sort(intervals.begin(), intervals.end(), [](const auto& u, const auto& v) {retur…

应用层 II(文件传输协议FTP)【★★】

&#xff08;★★&#xff09;代表非常重要的知识点&#xff0c;&#xff08;★&#xff09;代表重要的知识点。 一、文件传输协议&#xff08;FTP&#xff09; 文件传送协议 FTP&#xff08;File Transfer Protocol&#xff09;是互联网上使用得最广泛的文件传送协议。FTP 提…

如何使用ssm实现基于VUE.js的在线教育系统+vue

TOC ssm683基于VUE.js的在线教育系统vue 研究背景和来源 目前的网站平台类系统已各种各样&#xff0c;涉及到生活中的每一个部分。购物类、管理类、信息统计类、办公类、官网类等非常丰富。我国各类网站的发展已非常成熟&#xff0c;这些系统依靠网络和计算机技术不断完善发…

Servlet入门:服务端小程序的初试(自己学习整理的资料)

目录 一.前言 二.建立基础结构​编辑 三.具体步骤 找到Tomcat文件并打开Tomcat。 在webapps中创建一个自己的文件夹。 在classes中新建一个Java文件。 在lib中导入需要的jar文件包。 配置环境变量 在Java文件的目录下打开cmd并输入 javac -d . HelloServlet.java进行…