【HCIA】07.OSPF

  • 动态路由的协议分类
    • 按工作区域分:
      • IGP(内部网关协议 interior gateway protocols):OSPF、IS-IS、RIP
      • EGP(外部网关协议 exterior gateway protocols):BGP
    • 按工作机制及算法分类:
      • 距离矢量协议:RIP
      • 链路状态路由协议:OSPF、IS-IS
  • 动态路由灵活性高,可靠性好,易于扩展

OSPF

  • OSPF(Open Shortest Path First,开放式最短路径优先)
  • 基于IP工作

距离矢量路由协议

  • 运行距离矢量路由协议的路由器周期性的泛洪自己的路由表。通过路由的交互,每台路由器都从相邻的路由器学习到路由,并且加载进自己的路由表中。
  • 对于网络中的路由器而言,路由器并不清楚网络的拓扑,只是简单的知道要去往某个目的方向在哪里,距离有多远。这即是距离矢量算法的本质。

链路状态路由协议工作方式

一、链路状态路由协议-LSA泛洪

  • 链路状态协议通告的是链路状态而不是路由表,路由器之间首先会建立一个协议的邻居关系,然后彼此开始交互LSA(Link State Advertisment,链路状态通告)。

二、链路状态路由协议-LSDB组建

  • 每台路由器都会产生LSAs,路由器将接收到的LSAs放入到自己的LSDB(Link State DataBase,链路状态数据库)。路由器通过LSDB,掌握了全网的拓扑。

三、链路状态路由协议-SPF计算

  • 每台路由器基于LSDB,使用SPF算法计算出一颗以自己为根的,无环的,拥有最短路径的树。

链路状态协议总结

OSPF基础术语

区域

  • OSPF Area用于标识一个OSPF的区域。
  • 区域是从逻辑上将设备划分为不同的组,每个组区域号(Area ID)来标识。
  • 区域号是接口概念,一台路由器上的两个接口可以不在同一个区域里面。

Router-ID

  • 用于在一个OSPF域中唯一地标识一台路由器
  • 可以通过手工配置的方式,也可以使用系统自动配置的方式

度量值

  • OSPF使用Cost(开销)作为路由的度量值。每一个激活了OSPF的接口都会维护一个接口Cost值,缺省时接口Cost值="100 Mbit/s " / " 接口带宽" 。其中100 "Mbit/s"为OSPF指定的缺省参考值,该值是可配置的。
  • 笼统地说,一条OSPF路由的Cost值可以理解为是从目的网段到本路由器沿途所有入接口的Cost值累加。

OSPF协议报文类型

  • OSPF五个报文:HELLO, DD, LSR, LSU, LSACK。
  1. 建好邻居关系(Hello报文)之后,一般要开始传LSA进行同步,但是OSPF一般用于大规模网络,如果传完整信息会比较拥堵。
  2. 所以就先简单的发一下,先把数据库里的头部,也就是摘要先发一下。(此时就用DD报文来发这个目录),主动的把目录给对方。
  3. 交换完成目录之后,就会生成一个新的数据库。之后把自己没有的信息再要一下。看到自己缺失的信息通过LSR报文要一下。
  4. 对方同意后就开始给你发你要的详细信息,通过LSU报文。
  5. 此时,再回复一下我收到了,就发送LSACK报文向对方确认。表示应答

OSPF三大表项

邻居表

display ospf peer brief
display ospf peer //查看邻居详细信息

LSDB数据库表

display ospf lsdb
display ospf lsdb router //查看一类类型,router类型的数据

OSPF路由表

display ospf routing

OSPF邻接关系建立过程

  • ospf完成邻接关系的建立有四个步骤,建立邻居关系、协商主/从、交互LSDB信息、同步LSDB。

  • 协商主从为了传递DD报文用的,因为是用IP传递的,ip是不可靠的,为了使更加可靠,所以需要协商主从关系。

详细邻接关系建立的过程

Init>2-Way状态

  • 当一台OSPF路由器收到其他路由器发来的首个Hello报文时会从初始Down状态切换为Init状态。
  • 当OSPF路由器收到的Hello报文中的邻居字段包含自己的Router ID时,从Init切换2-way状态。

2-way-Exstart>选举主从关系【Exstart-Exchange】>Loading

  1. 从2-way转为Exstart状态后开始主从关系选举
  2. 选举主从关系的规则是比较RouterID,越大越优
  3. 主从关系比较结束后,R1的状态从Exstart转变为Exchange

  • 邻居状态机从2-way转为Exstart状态后开始主从关系选举:
    • R1向R2发送的第一个DD报文内容为空,其Seq序列号假设为X。
    • R2也向R1发出第一个DD报文,其Seq序列号假设为Y。
    • 选举主从关系的规则是比较Router ID,越大越优。R2的Router ID比R1大,因此R2成为真正的主设备。主从关系比较结束后,R1的状态从Exstart转变为Exchange。
  • R1邻居状态变为Exchange后,R1发送一个新的DD报文,包含自己LSDB的描述信息,其序列号采用主设备R2的序列号。R2收到后邻居状态从Exstart转变为Exchange。
  • R2向R1发送一个新的DD报文,包含自己LSDB的描述信息,序列号为Y+1。
  • R1作为从路由器需要对主路由R2发送的每个DD报文进行确认,回复报文的序列号与主路由R2一致。
  • 发送完最后一个DD报文后,R1将邻居状态切换为Loading。

Loading>Full的转变

  • 邻居状态转变为Loading后,R1向R2发送LSR报文,请求那些在Exchange状态下通过DD报文发现的,但是在本地LSDB中没有的LSA。
  • R2收到后向R1回复LSU。在LSU报文中包含被请求的LSA的详细信息。
  • R1收到LSU报文后,向R2回复LS ACK报文,确认已接收到,确保信息传输的可靠性。
  • 此过程中R2也会向R1发送LSA请求。当两端LSDB完全一致时,邻居状态变为Full,表示成功建立邻接关系。

总结

邻居关系和邻接关系的介绍和区别

什么是邻居关系?

1、在OSPF协议中邻居关系就是指在两台路由器中进行完两次Hello报文交互之后,建立起来的关系叫邻居关系。
2、该关系在OSPF状态机里显示的是2-way的状态。

什么是邻接关系?

1、在OSPF协议中邻居关系就是指在两台路由器中进行完链路状态数据库(LSDB)同步之后,建立起来的关系叫邻接关系。
2、该关系在OSPF状态机里显示的是Full的状态。

邻居关系和邻接关系的区别

1、邻居(Neighbor)关系与邻接(Adjacency)关系是两个不同的概念。OSPF路由器之间建立邻居关系后,进行LSDB同步,最终形成邻接关系。

DR/BDR

  • 在MA,广播型网络中,一个广播域必须有一个DR
  • 在广播型及NBMA网络上,非DR BDR路由器之间只能建立邻居关系,不能建立邻接关系。非DR/BDR路由器与DR/BDR路由器之间会建立邻接关系,DR与BDR之间也会建立邻接关系。

DR与BDR的背景

  • MA(Multi-Access)多路访问网络有两种类型:广播型多路访问网络(BMA)及非广播型多路访问网络(NBMA)。以太网(Ethernet)是一种典型的广播型多路访问网络。
  • 在MA网络中,如果每台OSPF路由器都与其他的所有路由器建立OSPF邻接关系,便会导致网络中存在过多的OSPF邻接关系,增加设备负担,也增加了网络中泛洪的OSPF报文数量。
  • 当拓扑出现变更,网络中的LSA泛洪可能会造成带宽的浪费和设备资源的损耗。

DR与BDR的介绍与选举

  • 为优化MA网络中OSPF邻接关系,OSPF指定了三种OSPF路由器身份,DR(Designated Router,指定路由器)、BDR(Backup Designated Router,备用指定路由器)和DRother路由器。
  • 只允许DR、BDR与其他OSPF路由器建立邻接关系。DRother之间不会建立全毗邻的OSPF邻接关系,双方停滞在2-way状态。
  • BDR会监控DR的状态,并在当前DR发生故障时接替其角色。

  • 选举规则:OSPF DR优先级更高的接口成为该MA的DR,如果优先级相等(默认为1),则具有更高的OSPF Router-ID的路由器(的接口)被选举成DR,并且DR具有非抢占性。

OSPF的网络类型

  • 建立邻居关系两端的接口类型一点要一样

路由器的类型

OSPF的配置命令

[Huawei]ospf [process-id|router-id router-id] (系统视图)创建并运行ospf进程
[Huawei-ospf]area area-id 创建并进入ospf区域
[Huawei-ospf-1-area-0.0.0.0]network network-address wildcard-mask 指定运行ospf的接口
[Huawei-GE1/0/1]ospf cost cost	配置ospf接口开销
[Huawei-ospf-1] bandwidth-reference value	设置OSPF带宽参考值
[Huawei-GigabitEthernet0/0/0] ospf dr-priority priority	设置接口在选举DR时的优先级
  • 通配符指定运行接口方式:手动通过通配符指定一个集合,查看接口ip地址是否在这个集合中,如果在则开启,不在则不开启接口。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

交换:交换机相关技术(二层技术)

目录 VLAN:虚拟局域网 VLAN种类: 接口分配链路类型 接口划分VLAN 跨网段的通讯 VLAN:虚拟局域网 LAN :局域网 MAN:城域网 WAN:广域网 1.一个VLAN相当于一个广播域 VLAN:通过路由器和交换机…

Linux 发行版 Gentoo 存在重大漏洞

网络安全公司 SonarSource 在日前研究中发现,Gentoo Linux 发行版中存在漏洞 CVE-2023-28424,黑客可以利用该漏洞进行 SQL 注入攻击。 研究人员从 GentooLinux 的 Soko 搜索组件中找到了这个漏洞。该漏洞的 CVSS 风险评分为 9.1,属于特别重大…

如何选择企业加密软件? 如何选择一款最好用的企业加密软件?

在当今信息时代,企业面临着越来越多的数据安全威胁。为了保护企业的敏感信息和数据资产,选择一款好用的企业加密软件至关重要。本文将从功能、安全性、用户体验和市场口碑等方面,为您介绍几款备受推崇的企业加密软件,帮助您选择适…

Spring高频面试题

2023最新版(持续更新) 一、Spring高频面试题1. Spring框架中的单例bean是线程安全的吗?2. 什么是AOP,你们项目中有没有用到AOP?Spring中的事务是如何实现的?3.Spring中事务时效的场景有哪些?4. Spring中be…

Redis数据结构 — Listpack

目录 listpack 结构 listpack 节点结构 quicklist 虽然通过控制 quicklistNode 结构里的压缩列表的大小或者元素个数,来减少连锁更新带来的性能影响,但是并没有完全解决连锁更新的问题。 于是,Redis 在 5.0 新设计一个数据结构叫 listpack…

03关于golang中各种运算符的讲解代码和注释

运算符 算术运算符:关系运算符:逻辑运算符:赋值运算符:位运算符: 在Golang中,运算符是用于执行各种数学和逻辑操作的符号。本文将对Golang中常见的运算符进行讲解,并提供一些示例代码和注释。 …

设计模式之单例

文章目录 前言一、单例模式的基本定义二、懒汉式单例三、饿汉式单例四、懒汉式单例存在的线程安全问题总结 前言 单例模式是比较经典的设计模式,本篇我们将结合实际案例说明单例模式的实现原理,以及存在的问题。 一、单例模式的基本定义 单例模式&…

STM32定义变量到指定内存位置

rt thread, 怎么定义变量到指定内存位置? OpenCat是由未来可编程机器人宠物制造商Petoi开发的基于Arduino和Raspberry Pi的开源四足机器人宠物框架。 非 gcc 版 定义一个宏 #ifndef __MEMORY_AT #if (defined (__CC_ARM)) #define _…

Vue--》打造个性化医疗服务的医院预约系统(一)

今天开始使用 vue3 ts 搭建一个医院预约系统的前台页面,因为文章会将项目的每一个地方代码的书写都会讲解到,所以本项目会分成好几篇文章进行讲解,我会在最后一篇文章中会将项目代码开源到我的GithHub上,大家可以自行去进行下载运…

Win11 设置FTP服务详细教程

起因: 因测试需要,本机建立FTP服务测试使用,此文章用于记录使用! 操作步骤: 1、配置FTP功能 ①、"winR" > 在运行窗口输入"control" 回车; ②、打开"控制面板" > 点击…

【专题速递】传输网络优化(长专题)

// RTC如何助力远程医疗?5G的差异化体现在哪?SMT如何将远程做到极致?7月29日LiveVideoStackCon2023上海站传输网络优化专场,为您解答。 传输网络优化 为应对互联网日益增长的加速需求、复杂的网络环境以及多种多样的视频业务&am…

Linux常见命令

这里写目录标题 Linux 背景知识Linux环境搭建方式使用终端软件连接到 LinuxLinux 常用命令特殊的目录:绝对路径 与 相对路径vim Linux 背景知识 Linux 是一个操作系统. 和 Windows 是 “并列” 的关系. 安卓系统本质上就是 Linux. 一个完整的操作系统 操作系统内核 配套的…