OSPF基本原理和概念

文章目录

    • 背景知识
    • OSPF协议概述:
    • OSPF区域的表示
    • OSPF 骨干区域 –区域0
    • OSPF 非骨干区域 -非0区域
    • OSPF的五种区域类型
    • OSPF工作原理
    • OSPF 的报文类型
    • OSPF邻居表中的七个状态
  • 总结

背景知识

一台路由设备如何获取其他网段的路由,并加入到路由表中

  1. 直连路由 :接口配上地址,就会把此网段添加到路由表中
  2. 静态路由(含默认路由):手动配置 ip route-static 目标网段 掩码 下一跳
  3. 动态路由 :自动学习和分享

今天要将的是动态路由,动态路由产生的背景

随着企业的发展,网络的规模越来越大,网段的数量越来越多,公司内部的路由器的数量越来越多
为实现不同网络之间的互通,需要在路由器上配置大量的路由条目,工作量庞大并且随着网络扩展,后期管理难度增大
解决方案:
在路由器之间运行“动态路由协议”,让路由器之间自动的学习和分享彼此的路由表信息,每个路由器都独立的计算出一个去往目标网段的最优路由
动态路由协议的特点:

  1. 减少了后期网络管理任务,避免了人为的配置错误
  2. 在设备之间传输路由,会占用少量的网络带宽

动态路由协议的类型:
内部网关协议:在同一公司内部运行的路由协议,如RIP、ISIS、OSPF

  • RIP:最大支持15跳,不适合大型网络
  • ISIS: 之前只支持网络层的CLNP地址协议,目前通过扩展支持了网络层的IP协议,会在运营商网络出现,一般不会在企业网络出现
  • OSPF: 网红协议,目前最常用的路由协议

外部网关协议:在不同公司之间运行的路由协议,如BGP

  • BGP: 用于城市与城市之间,公司与公司之间的网关路由协议,用于传输大量的路由条目信息
    在这里插入图片描述

根据实现机制不同又可分为:

  • 距离矢量:RIP/BGP 直接分享路由条目
  • 链路状态:ISIS/OSPF 分享的是LSA,然后根据收到的LSA计算出最优的路由条目

OSPF协议概述:

OSPF:Open Shortest Path First开放式最短路径优先 协议

  • 应用在企业内部,属于公有标准协议,位于OSI模型第三层
  • OSPF的数据包,包含在IP头部后面,协议号为89
  • OSPF支持企业网络的层次化设计,将网络分为2层:骨干区域和非骨干区域
    在这里插入图片描述
    这里需要说明一下的是:AS表示的自治系统的意思,一个园区网,或者一个企业内的全部内网这样子,在一个 AS 内划分不同的区域。这里我们主要讲的是OSPF协议,即都是在同一个AS内,不涉及AS与AS之间的网络通信(外部路由器协议:BGP协议)。在遇到BGP协议时,会涉及AS的详细作用。

OSPF区域的表示

  • 通过十分制表示,例如区域 0、1、2、3等
  • 通过点分十进制表示,例如 区域 0.0.0.0、0.0.0.1、0.0.0.2等
    不管通过哪种表示方式,最终在查询配置时都以点分十进制进行展示

OSPF 骨干区域 –区域0

  • 区域号为0,表示的就是 “骨干区域”,即Backbone区域

OSPF 非骨干区域 -非0区域

  • 区域号不为0,表示的就是 “非骨干区域”也叫标准区域 ,即 Normal区域
  • 非骨干区域必须和骨干区域“直连”相连,才能实现 “区域之间的互通”

OSPF的五种区域类型

在这里插入图片描述
具体每种区域的作用,后边通过拓扑实验讲解

OSPF工作原理

  1. 建立OSPF邻居表 – 建立公路,只有建立的了邻居关系后,才能彼此传递
  2. 同步OSPF数据库 – 原料仓库
  3. 计算OSPF路由表 – 将原料制作为成品(路由条目)。具体就是 根据SPF(最短路径优先算法),计算出一条最优路径。
    :只有建立邻居表和同步数据库是需要发送报文的,而计算路由表时是不需要发生报文。

OSPF 的报文类型

一共有以下五种报文

  1. Hello报文 – 用于发现、建立、维护、和拆除OSPF邻居。
  2. 数据库描述报文(DD) – 用于发送OSPF数据库条目的简要信息,高效、稳定的实现数据库同步。
  3. 链路状态请求报文(LSR) – 用于请求自己数据库中没有的链路状态通告信息(LSA)。
  4. 链路状态更新报文(LSU)-- 用于回应LSR报文,其中包含的是详细的链路状态通告信息(LSA)。
  5. 链路状态确认报文(LSAck) – 用于对LSU报文确认,实现LSU的可靠传输。
    注意:第5种报文 是 LSAck,不是LSA。LSA是指的链路状态通告信息。

OSPF邻居表中的七个状态

OSPF邻居表中的7种状态

  1. down 关闭
  2. init 初始化
  3. 2-way 表示双向连接状态 (邻居关系状态)建立邻居表
  4. Exstart 准备同步
  5. Excharge 更新同步
  6. Loading 加载状态
  7. Full 表示完全邻接状态 (邻接关系状态) 建立邻居表 同步了LSA数据库现就看上面这两个状态
    :第三种和第七种是经常遇到的。

总结

  1. 路由器和网段较多时,动态协议效率更高
  2. 在企业内网,适应性和扩展性最强的动态路由协议是OSPF
  3. OSPF属于“网络层协议”,所以配置前,必须确保网络层的物理层和数据链路层是互通的
  4. OSPF支持将网络划分为骨干层和非骨干层,便于网络的扩展、排错和管理

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

中值定理错题本

1 2 一般要构造函数 3 4 5 6 ------------------------------ 7 8 9 10

论文笔记:Retrieval-Augmented Generation forAI-Generated Content: A Survey

北大202402的RAG综述 1 intro 1.1 AICG 近年来,人们对人工智能生成内容(AIGC)的兴趣激增。各种内容生成工具已经精心设计,用于生产各种模态下的多样化对象 文本&代码:大型语言模型(LLM)…

【GPT5进展】GPT-5将于今年年中发布

OpenAI即将发布的GPT-5代表了人工智能技术的一个重大进步,这一新一代模型预计将进一步扩大OpenAI在AI应用领域的影响力。以下是关于GPT-5的几个关键点,旨在清晰、简洁地向读者传达这一重要更新: 1. 性能和功能的实质性提升 GPT-5在性能上做…

c++使用类的一些注意事项

前言: 本篇内容为前面的补充,介绍了我们使用类时需要注意些什么以及一些编译器的优化,可能有些理解不到位或者错误,请斧正。 目录 前言: 1.再谈构造函数 2.(c98)隐式类型转换中的编译器的优…

LVS几种模式介绍

备注:这篇真的是水文,不看也罢。 LVS,linux virtual server,可提供IP网络层的负载均衡。 其主要模式主要有以下几种: LVS-NAT 主要通过网络地址转换,修改目的IP实现。Network Address Translation LVS-…

rtthread

创建线程 线程优先级 当Thread1中遇到高优先级的线程时,Thread会先被挂起,rt_thread_delay()延时一定时间,每延时一个tick,执行一次判断,是否超时,如果超时,则调用rt_timer_init()中的rt_thread…

先进电机技术 —— 何为轮毂电机?

一、轮毂电机 轮毂电机(Hub Motor)是一种将电动机集成到车轮内部,直接驱动车轮转动的电动车驱动技术。这种设计省去了传统的传动轴、差速器、半轴等机械传动部件,使得动力传输更为直接、高效。 轮毂电机的优点: 1. 结…

源支付V7开源版2.99,修复各种提示错误

源支付V7开源版2.99,修复各种提示错误 加密说明:200拿来的,只有8.1这个文件加密,其他文件无任何加密,已修复各种提示错误 测试其他开源版安装提示错误,有几个文件是加密的 注:开发不易&#…

Java8之接口默认方法

Java8之接口默认方法 一、介绍二、代码1、接口2、实现类3、测试代码4、效果 一、介绍 在Java8中,允许为接口方法提供一个默认的实现。必须用default修饰符标记这样一个方法。默认方法也可以调用其他方法 二、代码 1、接口 public interface PersonService {void…

自定义类型(二)结构体位段,联合体,枚举

这周一时兴起,想写两篇文章来拿个卷吧,今天也是又来写一篇博客了,也是该结束自定义类型的学习与巩固了。 常常会回顾努力的自己,所以要给自己的努力留下足迹。 为今天努力的自己打个卡,留个痕迹吧 2024.03.30 小闭…

数据库工具——DBeaver的安装及使用

目录 一、DBeaver介绍 1.定义 2.支持的数据库 3.支持的操作系统 4.特点 二、DBeaver安装及使用 1.服务启动 2.查看连接类型 3.演示连接Mysql数据库 4.连接配置 5.成功连接 6.远程控制 6.1新建数据库 6.2新建数据表 6.3添加字段列 6.4使用SQL编辑器进行编辑 一…

mac怎么删除python

mac 默认安装了python2;自己后面又安装了python3;为了方便,现在想将python3换成Anaconda3。 Anaconda是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。 Python3安装之后,在系统中不同目…

ESD保护二极管ESD9B3.3ST5G 以更小的空间实现强大的保护 车规级TVS二极管更给力

什么是汽车级TVS二极管? TVS二极管是一种用于保护电子电路的电子元件。它主要用于电路中的过电压保护,防止电压过高而损坏其他部件。TVS二极管通常被称为“汽车级”是因为它们能够满足汽车电子系统的特殊要求。 在汽车电子系统中,由于车辆启…

江大白 | 万字长文,深度梳理Python多线程与多进程(建议收藏 !)

本文来源公众号“江大白”,仅用于学术分享,侵权删,干货满满。 原文链接:万字长文,深度梳理Python多线程与多进程 以下文章来源于博客:标点符 作者:钱魏Way 链接:https://www.bia…

Facebook Horizon Worlds:打造数字世界的社交乐园

在数字化时代,社交媒体平台已经成为人们日常生活中不可或缺的一部分。而随着科技的不断发展,人们对于社交体验的需求也在不断演变。在这样的背景下,Facebook推出了全新的虚拟现实社交平台——Facebook Horizon Worlds,旨在打造一个…

电脑换屏总结——关于我把电脑砸了这件事!

大家好,我是工程师看海,很高兴和各位一起分享我的原创文章,喜欢和支持我的工程师,一定记得给我点赞、收藏、分享哟。 加微信[chunhou0820]与作者进群沟通交流。 【淘宝】https://m.tb.cn/h.5PAjLi7?tkvmMLW43KO7q CZ3457 「运放秘…

利用vite创建vue3项目

vue3 项目推荐使用vue官方推荐的vite手脚架创建,vue3项目,使用vue-cli 会存在一些问题 1.node的版本 目前的vue3需要至少需要node18及以上,可以安装nvm node包管理器可以快速切换node版本,因为node的版本的兼容性真是一言难尽。…

【Kubernetes】K8s 中的 Pod 驱逐

K8s 中的 Pod 驱逐 1.Pod 被驱逐的原因:抢占和节点压力2.抢占式驱逐2.1 Pod 调度2.1.1 过滤2.1.2 计分 2.2 Pod 优先级2.3 优先级示例 3.节点压力驱逐3.1 服务质量等级3.1.1 Guaranteed3.1.2 Burstable3.1.3 BestEffort 4.其他类型的驱逐4.1 API 发起的驱逐&#xf…

国内怎么使用Midjourney(终于找到免费版)

随着人工智能的大火,不管是职场人还是自由职业者,使用AI绘画工具已经成为当下必备技能,其中Midjourney便是最受大家青睐的AI绘画工具,但是由于种种原因,国内使用Midjourney非常不凡便,功夫不负有心人&#…

集合(ArrayList,HashMap,HashSet)详解+ entrySet的应用

集合 例题引入——直线题意分析根据下面的参考代码,自己模仿的参考代码(加一点点我的小tips) 1.java集合引入2.为什么要使用集合?3.List、Set、Queue和Map的区别4.ListList——ArrayList(!!实用…