网络协议——OSPF(开放式最短路径优先)详解

1.什么是OSPF

      开放式最短路径优先OSPF 是一种动态的高度可靠和高度可扩展的路由协议,用于构建大型网络中的动态路由系统

2. OSPF的协议号为:89
3. OSPF的特点:
  1. OSPF是链路状态协议
  2. 使用了区域概念:减少路由选择协议对路由器CPU,,内存的占用;构建一个层次化的网络拓扑成为可能。
  3. 支持无类路由和VLSM。
  4. 支持无大小限制的,任意度量值。
  5. 支持多路径的等价负载均衡。
  6. 使用保留的组播地址进行OSPF之间通信,减少对其他设备的影响。
  7. 支持路由安全认证
  8. 使用可以跟踪的外部路由标记
4. OSPF工作工程:
  1. 邻居建立
  2. 同步链路数据库
  3. 计算最优路由
4.1 OSPF配置
OSPF单区域配置
          创建并进入环回接口:interface  lo
          配置环回地址IP       :ip address 1.1.1.1 32
          #
          进入OSPF并指定 router-id : ospf 1 router-id 1.1.1.1
          进入骨干区域:area 0
          宣告回环地址:network 1.1.1.1 0 0.0.0.0
          宣告自身网段: network 192.168.10.254 0.0.0.255
          宣告自身网段:network 12.1.1.0  0.0.0.255
OSPF多区域配置
          创建并进入环回接口:interface LOOKback 0
          配置环回地址IP       :ip address 2.2.2.2 32
          #
          进入OSPF并指定 router-id : ospf 1 router-id 2.2.2.2
          进入1区域:area 1
          宣告回环地址:network  2.2.2.2 0 0.0.0.0
          宣告自身网段: network 192.168.10.254 0.0.0.255
          宣告自身网段:network 12.1.1.0  0.0.0.255
          进入2区域:area 2
          宣告自身网段: network 192.168.20.254 0.0.0.255

重启ospf:  reset ospf process
查询OSPF:display ospf peer
非骨干区域使用:vlink peer  route id
5. OSPF报文类型:
  1. hello报文:邻居发现(自动发现邻居路由器)邻居建立(完成Hello报文中的参数协商,建立邻居关系)邻居保持(通过Keepalive机制,检测邻居运行状态)
  2. DD报文:交互链路状态数据库摘要
  3. LSR报文:向对端请求本端没有或对端的 更新的LSA
  4. LSU报文:向对方发送其需要的LSA
  5. LSAck报文:收到LSU之后,进行确认
6. Route-id选举:
  1. 手动指定
  2. 回环地址Loopback大的
  3. 物理接口interface大的
7. OSPF网络类型:
  1. P2P网络:仅两台路由器相连,支持广播组播
  2. 广播型网络:两台或两台以上的路由器通过共享介质互连,支持广播、组播。
  3. P2MP网络:多个点到点网络的集合,支持广播、组播。
  4. NBMA网络:两台或两台以上路由器通过VC互连,不支持广播、组播。

     全部网络类型都建立邻接关系,只不过广播和P2MP中的DRother只建立邻居关系

8. OSPF邻居建立过程:

       当路由器启动OSPF时,才开始为down状态,会互相发送带有自己Rout_ID的HELLO报文到相邻的路由器,状态变为init状态,此时报文中的邻居列表为空。当对端收到报文之后,会回复带有邻居表的hello报文,这时状态会变为 2-way状态当收到带有带有邻居表的报文的hello报文时,同样也会切换到2-way状态

9. OSPFLSDB同步过:

        当邻居状态建立完成变为Extart状态时,会互相发送DD报文宣告自己为Master,收到DD报文之后,比较Route ID大的一方为Master,此时状态由Exstart变为Exchange,被动方给Master方发送带有seq=Y的DD报文,当Master收到时,回复一个seq=y+1和带有自己是Master被动方收到时,状态由Exchange切换为loading,回复Master方Seq=Y+1,Master收到时状态由Exchange切换为full自此同步过程完成

10. 什么是AS

        自治系统,也叫路由域,同一个AS中的所有路由器必须运行相同的路由协议,且必须彼此互相连接(中间不能被其他协议路由域间断)在OSPF网络中只有再同一个AS内的路由器才会相互交互链路状态信息。

11. OSPF路由器类型

             IR------internal Router区域内路由器:该类设备的所有接口都在同一个OSPF的区域内

             ABR---Area Border Router区域边界路由器:该类设备的接口可以在不同的区域,但是其中一个接口必须连接骨干区域。

             BR-----Backbone Router骨干路由器:该类设备的至少有一个接口在骨干区域,ABR,ASBR的都属于这类路由器

             ASBR--AS Border Router自治系统边界路由器:与其他AS中的设备交换路由信息的设备,ASBR可以是区域内的设备也可以同时是ABR。

12.邻居与邻接

        在OSPF路由器通告任何LSA之前,OSPF路由器必须首先发现邻居路由器并建立起邻接关系。

  (1)---邻居:仅通过hello包发现运行OSPF的其他路由器                     

  (2)---邻接:建立了邻居关系,并且OSPF关系更进一步,互相发送各自的LSA信息。      

13. OSPF在MA网络的DR,BDR

        DR:Designated Router指定路由器,在MA网络建立和维护邻接关系并负责LSA的同步;

DR与其他所有的路由器形成邻接关系并交换链路状态信息,其他路由器之间不直接交换链路状态信息,这样就大大减少了MA网络中的邻接关系数据 及交换链路状态信息消耗的资源。

        BDR:Backup Designated Router备份指定路由器,规避单点故障风险,通过选举备份指定路由器BDR,在DR失效时快速接管DR的工作

 14. DR,BDR的选举

         DR/BDR的选举是基于接口的:

  1.          1. 接口DR优先级为0,表示不参与选举
  2.          2. 比较接口优先级,越大越优先(默认为1)
  3.          3. 优先级一致比较R-ID,越大越优先
15. OSPF的数据信息

                a:优先级10

                b:度量值cost=10^8/b/s==10的8次方除以带宽

                c:协议号89

                d:组播地址;224.0.0.5(所有路由器);224.0.0.6(DR,BDR)

16. OSPF的计时器:

              (1)---Hello包,默认10S一发,超时时间为Hello间隔的4倍。

              (2)---LSA全网通告时间默认30分钟。

17. OSPF中的LSA

        LSA:Link State Advertiserment链路状态通告:OSPF邻居路由器直接互相交互LSA并保存整个网络的链路状态信息, 并生成链路状态数据库(LSDB),从而 掌握全网的拓扑结构,并通过SPF--最短路径优先算法,独立计算自身去往目的的最佳路由。

      OSPF的LSA有10多种,常用的为以下6类

        1类LSA(Router LSA):每个OSPF路由器都会生成一个类型1 LSA来描述自己直连接口状态和开销值这个LSA只能在接口所在区域进行传输

        2类LSA(Network LSA):只有DR会生成的LSA,描述MA网络中所有邻接关系的路由器,包括DR本身这个LSA只能在所属区域内传输

        3类LSA(Network summary LSA):由ABR生成,用于描述到达目标区域内所有的网段的路由,这个LSA用于区域间的路由

        4类LSA(ASBR-summary LSA):由ABR生成,用于描述ASBR,相当于一条到达ASBR的主机路由

        5类LSA(AS-External-LSA): 由ASBR生成,描述外部路由信息

7类 LSA(NSSA External LSA):由ASBR生成,描述由NASS区域引入外部路由信息NASS的ABR会把7类转化为5类传入到骨干路由

18. OSPF的状态机

         Down:邻居回话初始阶段

         Attempt:此状态仅在NBMA网络,表明在邻居失效时间间隔超时候任然没有收到对端发来的Hello   应答报文。

         Init:收到不包含自己路由器ID的Hello报文后状态变为Init。

         2-way:收到包含有自己的路由器ID的hello报文后转换为2-way。

         Exstart:在进行DR,BDR选举后形成邻居关系,协商完毕发送DD报文主从关系和序列号。

         Exchange:主从关系协商完毕,主设备开始向从设备正式发送带有LSA Header字段内容的DD报文。

         Loading:DD报文交换完毕后设备状态为Loading。双方发送LSR报文的发送更新对应LSA。

         Full:向对端发送了LSAck及收到对端的LSAck后,本地设备状态切换为Full状态,邻居更新完毕。

19. SPF树计算过程

        第一步:以自己为根节点

        第二步:查看Link-type类型。

20. 虚连接Vlink(指对方的route-id)

        骨干区域必须是连续的,但是并不要求物理上连续,可以使用虚连接使骨干区域逻辑上连续 。虚连接可以在任意两个区域边界路由器上建立,但是要求这两个区域边界路由器都有端口连接到一个相同的非骨干区域 。

21. OSPF防环机制

        区域内:通过SPF算法来防环

        区域间:OSPF规定从骨干区域传来的三类LSA不再传回骨干区域

22. 不同进程OSPF通信(互相引入)

进程1

 进入ospf1里面:ospf 1 router-id 10.1.1.1
 引入进程2:import-route ospf 2 

#

进程2  

  进入ospf1里面:ospf 2 router-id 3.3.3.3
  引入进程1:import-route ospf 1

#

23. Stub区域
  • 配置Stub区域注意以下几点:

        Area0不能配置成stub

        Stub区域不能存在ASBR

        虚连接不能穿越stub

        Stub 区域内所有路由器都需要配置成stub路由器

        末端区域进行配置ABR

        隔离4,5类LSA产生3类LSA

  • 配置Stub区域
进入末端所有区域配置:ospf 1 router-id 1.1.1.1
进入区域:area 1
配置stub:  stub
24. Totally  Stub区域

          Totally Stub区域隔离三类四类五类LSA,只存在缺省3类LSA

  • 配置Totally Stub区域
进入末端ABR区域配置:ospf 1 router-id 1.1.1.1
进入区域:area 1
配置stub:  stub no smarry
25. NSSA区域

        NSSA区域能够将自治域外部路由引入并传播到整个OSPF自治域中,同时又不会学习来自OSPF网络其它区域的外部路由。隔离4,5类LSA存在3类LSA

        配置NSSA区域

进入末端区域(ASBR)(ABR),配置:ospf 1 router-id 1.1.1.1
进入区域:area 1
配置NSSA:  nssa
26. Totally NSSA区域

        Totally NSSA区域隔离3,4,5类LSA,但存在3类缺省LSA

        配置NSSA区域

进入末端区域ABR配置:ospf 1 router-id 1.1.1.1
进入区域:area 1
配置NSSA:  nssa no smarry
27. OSPF长用LSA比较

28. 区域间路由汇总

      优点: 减少路由表的大小

                  提高路由收敛速度:

                  提高网络的可伸缩性:

      进入ABR配置: 

ospf 1
area 1
abr-summary 172.16.0.0 255.255.248.0
29. 外部路由汇总

     进入ASBR配置: 

ospf 1
asbr-summary 172.17.0.0 255.255.248.0
30. OSPFLSA更新

      定时更新:LSA每1800S更新一次,3600秒老化

      链路更新:当链路状态发生变化之后,立即发送链路状态更新。

        1,先比较序列号,越大越新

        2,序列号一样,比较校验和,越大越新

        3,比较age,3600秒的最优

        4,2者age差大于15min,age小的新

        5,2折age差小于15min,认为同等新

31. OSPF认证配置
  • 区域认证:
进入OSPF:Ospf  1
进入区域:area 1
创建区域认证:  authentication-mode simple plain 123456 (明文认证)
               authentication-mode simple cipher 123456 (明文认证)
  •  接口认证:
进入接口:interface GigabitEthernet0/0/0
创建接口认证:ospf authentication-mode simple plain 123456 (明文认证)
             ospf authentication-mode simple cipher 123456 (明文认证)

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

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

相关文章

电磁兼容导论翻译疑问

在读电磁兼容导论P71页时,发现在“注意“这句话翻译的和原文有疑问:我的理解是单边幅度谱是双边幅度谱的两倍。请大家帮忙看看应如何翻译。 英文原版:Note that all positive frequency components except the dc component in the two-side…

【计算机毕业设计】基于微信小程序的开发项目150套(附源码+演示视频+LW)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 🧡今天给大家分享200的微信小程序毕业设计,后台用Java开发,这些项目都经过精心挑选,涵盖了不同的实战主题和用例,可做毕业设…

解决mac本git安装后找不到命令的问题

不熟悉mac配置,折腾了半天,记录一下。 1.问题描述2.解决方法 1.问题描述 从https://sourceforge.net/projects/git-osx-installer/files/下载的git安装包: 安装时提示: 这里的解决办法是按住control键再打开文件安装。 安装完…

Linux内核之互斥锁mutex_init和自旋锁spin_lock区别及用法实例(四十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

股权融资成本GLS模型计算

一、模型公式 式中: r 为股权融资成本 P为股价 B为每股净资产 FROE为预测每股净资产收益率 目标:求解股权融资成本r 二、模型口径参考来源 PS:实际以代码为准 ①FROE(预测每股净资产收益率): 资本市场开放与…

物联网实战--驱动篇之(五)TEA和AES加密算法

目录 一、前言 二、TEA算法 三、AES算法 四、加解密测试 五、安全性保障 一、前言 物联网的安全性是经常被提及的一个点,如果你的设备之间通讯没有加密的话,那么攻击者很容易就能获取并解析出报文的协议,从而根据攻击者的需要进行设备操…

c# refc# substring c# 反射c# split c# websocket c# datatable使用

在C#编程中,ref关键字、Substring方法、反射(Reflection)、Split方法、WebSocket通信以及DataTable的使用都是常见的技术和方法。下面我将逐一为您详解这些内容。 1. C# ref关键字 ref关键字在C#中用于按引用传递参数。这意味着当您将变量作…

当你的项目体积比较大?你如何做性能优化

在前端开发中,项目体积优化是一个重要的环节,它直接影响到网页的加载速度和用户体验。随着前端项目越来越复杂,引入的依赖也越来越多,如何有效地减少最终打包文件的大小,成为了前端工程师需要面对的挑战。以下是一些常…

vim卡死了,没有反应怎么办?

解决办法: 很有可能是你有个在window下的好习惯,没事儿就ctrl s保存文件。但是在vim里,ctrl s默认是发送一种流控制信号,通常用于停止终端的输出,所以你的屏幕就卡死了。 解决办法也很简单,按下ctrl q即…

机器学习前导——PyCharm PyTorch Python3 机器学习

机器学习前导——PyCharm & pytorch & Python3 & 机器学习 文章目录 前言PyCharmPyTorchPython3机器学习联系 前言 这学期选了《机器学习》,第一次接触,对一些专有名词很陌生。 PyCharm PyCharm是一款由JetBrains开发的软件&#xff0c…

python--递归算法篇

1、给定一个包含n1个整数的数组nums,其数字在1到n之间(包含1和n), 可知至少存在一个重复的整数,假设只有一个重复的整数,请找出这个重复的数 def repeat(ls:list) -> list:#把个数超过1的数&#xff0c…

ppt技巧:如何将Word文档大纲中导入到幻灯片中?

在PowerPoint中,将Word文档的大纲导入到新的幻灯片是一种非常实用的技巧。以下是详细的步骤: 首先,需要打开PowerPoint软件并打开原始的幻灯片文件。 在PowerPoint的顶部【开始】菜单栏中,找到并点击“新建幻灯片”按钮&#xff0…

OSPF中配置VLAN通信(单臂路由)

OSPF中配置VLAN通信(单臂路由) 单臂路由(One-Arm Routing)是一种网络路由配置方式,常用于解决网络中的特定问题。在传统的网络架构中,路由器通常需要连接到多个子网或网络段,每个子网都需要一个…

数学知识——欧几里得算法(辗转相除法)

欧几里得算法用来求最大公约数 int gcd(int a, int b) {if(b 0) return a;else return gcd(b, a % b); } 例题&#xff1a;洛谷p1029 #include<iostream>using namespace std;#define int long long #define endl \nint x, y; int ans;int gcd(int x, int y) {if(y 0)…

Bytebase 2.15.0 - GitOps 整体升级

&#x1f514; GitOps 整体升级 新版 GitOps 和之前版本不兼容&#xff0c;如果需要升级协助&#xff0c;请联系我们。 使用访问令牌进行身份验证。支持项目中配置多个 VCS 连接器。支持在 VCS 连接器中指定数据库分组为目标&#xff08;默认情况下应用于项目中的所有数据库&…

俄罗斯yandex广告推广如何投放?

俄罗斯作为欧亚大陆的重要经济体&#xff0c;拥有庞大的互联网用户基数&#xff0c;其中Yandex作为该地区最主要的搜索引擎&#xff0c;无疑是触及目标客户群的关键渠道。云衔科技凭借专业优势与实战经验&#xff0c;为企业提供一站式Yandex广告开户及全程代运营解决方案&#…

抽象工厂模式:深入探索面向对象设计的多样性

在软件开发中&#xff0c;正确地应用设计模式对于构建可扩展、可维护和高效的系统至关重要。抽象工厂模式作为创建型设计模式之一&#xff0c;提供了一个高层接口&#xff0c;用于创建一系列相关或依赖对象&#xff0c;而无需指定它们具体的类。本文将详细介绍抽象工厂模式的概…

Ubuntu日常配置

目录 修改网络配置 xshell连不上怎么办 解析域名失败 永久修改DNS方法 临时修改DNS方法 修改网络配置 1、先ifconfig确认本机IP地址&#xff08;刚装的机子没有ifconfig&#xff0c;先apt install net-tools&#xff09; 2、22.04版本的ubuntu网络配置在netplan目录下&…

【随笔】Git 高级篇 -- 管理多分支 git rebase(二十二)

&#x1f48c; 所属专栏&#xff1a;【Git】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f496; 欢迎大…

WSL访问adb usb device

1.Windows上用PowerShell运行&#xff1a; winget install --interactive --exact dorssel.usbipd-win 2.在WSLUbuntu上终端运行&#xff1a; sudo apt install linux-tools-generic hwdata sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-too…