qidao123.com技术社区-IT企服评测·应用市场

标题: 多区域OSPF路由协议 [打印本页]

作者: 种地    时间: 2024-10-9 02:13
标题: 多区域OSPF路由协议
媒介

        之前也有过关于OSPF路由协议的博客,但都不是很满意,不是很完整。现在也是听老师讲解完OSPF路由协议,感触良多,所以这里重新整理一遍。这次应该是会满意的

一些相关概念

   链路状态

          链路指路由器上的一个接口,链路状态用来形貌路由器接口及其与邻人路由器的关系等信息,这些信息包括接口的互联网协议IP所在和子网掩码、网络类型及链路的开销等。而所有的链路状态信息则构成了LSDB
  区域

          以接口为单位分别区域,同一个区域内的路由器具有雷同的LSDB
  AS

          接纳同一种路由协议交换路由信息的路由器及其网络构成的系统
  链路状态公告LSA

          用来形貌路由器和链路的状态,OSPF协议中对于链路状态信息的形貌都是通过LSA发布出去。AS内每台运行OSPF协议的路由器,根据路由器的类型不同,会产生一种或多种LSA,路由器本身产生和收到的LSA的聚集就形成了LSDB
  SPF算法

          OSPF协议的基础,SPF算法将每一台路由器作为根,独立地盘算其到每一个目标网络地最佳路径
  路由器ID

          运行OSPF的路由器的唯一标识,长度为32bit,格式和IP所在雷同。路由器ID也可以手动设置,也可以自动生成。其中,手动设置的路由器ID优先级最高。没有手动设置路由器ID,路由器会从当前接口的IP所在中自动选择一个作为路由器ID,选择序次是优先从LoopBack接口-->接口最大的IP所在。留意路由器ID一旦确定,为了维持LSDB的稳定,除非清除OSPF协议和重新启动路由器,否则路由器ID不会改变
  泛洪

          运行OSPF协议的路由器会把本身产生或者收到的LSA向其它所有邻人或路由器通告,这个过程就是泛洪
  
OSPF路由协议的特点

   (1)收敛速度快,适用于规模较大的网络,尤其是企业网络
  (2)具有五类别特性,支持不连续子网、可变长子网掩码VLSM、无类别域间路由CIDR选择及手动路由聚合
  (3)接纳组播形式(224.0.0.5或224.0.0.6)或单播形式发送报文,支持等价负载均衡
  (4)支持区域分别、构成布局化网络提供路由分级化管理
  (5)支持接口验证方式和区域验证方式
  (6)接纳触发更新,可以使用路由标记(Tag)对外部路由进行跟踪
  (7)默认情况下,OSPF的路由优先级为10,OSPF AS外部区域的路由优先级为150
  (8)为了维持邻人表和LSDB表,会每隔30min进行一次链路状态更新
  
OSPF协议的报文类型

         OSPF是IP报文直接封装协议报文,协议号为89。如果OSPF协议组播所在被封装到以太网帧内,则以太网的MAC所在(01-00-5E-00-00-05或01-00-5E-00-00-06)也是组播所在。


   通用头部字段(OSPF Packet Headers)
  
  
OSPF分为5种报文Hello报文DBD报文LSR报文LSU报文LSAck报文


Hello报文:

        主要用于发现和维持OSPF邻人关系。周期性以组播的形式发送Hello报文,以维护OSPF的邻人关系。使用的组播所在为224.0.0.5(所有OSPF路由器)224.0.0.6(所有OSPF DR路由器)。报文内容包括一些定时器的数值、DR、BDR以及本身已知的邻人信息。
   Hello报文特有字段
  
  
DD报文:

        形貌当地LSDB择要信息,用于两台设备进行数据库同步。在邻接关系初始化时,路由器会发送DD报文来告知对方本身的LSDB择要信息。报文内容包括LSDB中每一条LSA(链路状态通告)的头部信息,以便对方判断哪些LSA是当地所缺少的或已经失效的。

   接口MTU:在报文不分段的情况下,路由器接口能发送的最大IP报文的巨细
I:初始位,发送的第一一个 DD包的1位置1,后续DD包的1位置0
M:后继位,最后一个DD包的M位置0;其他DD包的M位置1,表示后面另有其他DD报文
M/S:主从位,用于协商主/从路由器,置1表示Master,置0表示Slave,路由器ID大的一方会成为Master
DD序列号:在数据库同步过程中,用来确保路由器收到完整的DD报文。由Master规定起始序列号,每发送一个 DD报文,序列号就加1, Slave使用Master的序列号进行确认。因此,主从路由器利用序列号来保证DD报文传输的可靠性和完整性
  LSA头部:LSA头部包含的信息可以唯一地标识一条LSA,内容包括以下几点
  
  
LSR报文:

        LSR报文用于向对方哀求所需要的LSA完整拷贝。当路由器发现当地LSDB中缺少某些LSA时,会发送LSR报文来哀求这些LSA。LSR报文中包含所需LSA的择要信息,以便对方可以或许识别并返回相应的LSA。

LSU报文:

        LSU报文用于向对方发送其所需要的LSA或者泛洪本身更新的LSA。当路由器收到LSR报文或本身的LSDB发生更新时,会发送LSU报文来通知邻人路由器。LSU报文中包含多条LSA的完整内容,以便邻人路由器可以或许更新本身的LSDB。

LSack报文:

        LSAck报文用于对收到的LSA进行确认。当邻人路由器收到LSU报文后,会发送LSAck报文作为确认。如许,源路由器可以确认链路状态已被通知到邻人,从而实现Flooding的可靠性传输。

OSPF协议的网络类型

        为了可以或许顺应二层网络环境,根据路由器所连接物理网络的不同,OSPF协议通常将网络分别
为4种类型:广播多路访问(BMA)、非广播多路访问(NBMA)、点到点(P2P )、点到多点(P2MP)。在每种网络类型中,OSPF协议的运行方式都不同,包括是否需要推举DR和Hello报文的发送周期为多少等
   
  OSPF协议的网络类型  网络类型推举DRHello报文发送周期/s失效时间/s邻人BMA是1040自动发现NBMA是30120管理员设置P2P否1040自动发现P2MP否30120自动发现

OSPF的3个步骤,生成3个表

步骤一、发现并建立邻人关系

        路由器要先发现邻接的路由器,才气建立邻人关系。通过周期性发送Hello包并接收来自其他路由器的Hello包,进行建立并维护邻人关系。报文内容包括一些定时器的数值、DR、BDR以及本身已知的邻人信息。

查看邻人表信息
  1. [huawei]display ospf peer
复制代码


步骤二、形貌当地LSDB信息,并形成邻接关系

        一旦建立了邻人关系,路由器会开始交换链路状态信息(LSI),将本身所知道的网络拓扑信息(如连接的网络、链路的状态、链路的成本等)发送给邻人。这个过程通过发送DBD报文、LSR报文和LSU报文来实现,终极所有路由器都会拥有一个同步的链路状态数据库LSDB

哀求缺少的LSDB信息


查看链路状态数据库LSDB
  1. [huawei]display opsf lsdb
复制代码


步骤三、盘算路由,并形成OSPF路由表

        每个路由器都会根据LSDB中的信息,使用Dijkstra算法盘算最短路径树(SPT),以找到到达网络中每个目标地的最短路径。盘算出的最短路径信息会保存到OPSF路由表上。
  1. [huawei]display ospf routing
复制代码


OSPF DR和BDR

DR

        DR是在OSPF网络中被推举出来的一个路由器,它负责收集和维护当地域域内的链路状态信息,并将这些信息传播给其他路由器。
        DR充当了整个多点链路网络中的“代表”,负责收集来自其他路由器的链路状态更新(LSU)消息,并将其汇总为一条链路状态数据库(Link State Database)。然后,DR将这个数据库发送给其他路由器,以减少链路状态更新的频率。
   推举过程
  在推举过程中,每个路由器都会发送Hello消息,其中包含本身的优先级值。优先级越高,被推举为DR的可能性就越大
  如果没有路由器明确声明其优先级,则路由器会基于其Router ID(通常是一个IP所在)来选择DR,Router ID最小的路由器将成为DR
    主要作用
  减少链路状态更新的频率,帮助优化网络性能。
  维护链路状态数据库并将其分发给其他路由器,确保所有路由器都拥有最新的网络拓扑信息。
  根据链路状态数据库及时更新路由表,确保数据正确地转发到目标所在。
  

BDR

        BDR是DR的备份,当DR发生故障或失效时,BDR会立即接替DR的角色,并继承执行雷同的使命,确保在DR失效时可以或许无缝接替其工作

不同网络类型中DR和BDR的推举操纵


选DR是需要时间的,大概是40秒耽误
        另有一个要留意的就是(实际也会经常遇到):在以太网中有两台设备进行连接,他们会推举出DR和BDR,但是只有两台设备就跟PPP点对点一样,这时候我们就不需要推举出DR和BDR了(不浪费那40秒的耽误)
  1. [Huawei-GigabitEthernet0/0/1]ospf network-type p2p
复制代码
在接口上增加上面的那条命令之后,就不会选取DR和BDR了(留意:两边设备都需要设置这条命令)

OSPF区域及路由器

区域

        一个区域所设置的特性控制着其所能接收到的链路状态信息的类型。区分不同的OSPF区域类型的关键就是它们对区域外部路由的处理方式。OSPF区域包括标准区域和骨干区域
   
  
        在OSPF协议中,路由器根据其功能和在网络中的位置被分别为多种类型,如:IR、BR、ABR、ASBR。
内部路由器(Internal Router, IR)

   定义:IR是仅连接到单个OSPF区域(Area)的路由器
  功能:IR主要负责在同一区域内转发数据包,并通过链路状态通告(LSA)与其他内部路由器交换拓扑信息,以构建和维护整个区域的拓扑数据库。它们只处理来自本区域内的路由信息,不与其他区域的路由器直接通讯
  区域界限路由器(Area Border Router, ABR)

   定义:ABR是连接两个或多个不同OSPF区域的路由器
  功能:ABR在OSPF网络中饰演着桥梁的角色,负责将数据包从一个区域传输到另一个区域,并在区域之间传播路由信息。它们通过LSA将来自一个区域的路由信息汇总后,再传递给其他区域,确保不同区域之间的路由可达性
  自治系统界限路由器(Autonomous System Boundary Router, ASBR)

   定义:ASBR是连接OSPF域与其他自治系统(AS)的路由器
  功能:ASBR负责将来自其他路由协议(如BGP)的路由信息导入OSPF域中,同时也将OSPF域内的路由信息导出到其他路由协议中。它在不同自治系统之间传递路由信息,实现跨自治系统的路由通讯
  假造链路路由器(Virtual Link Router)

   定义:假造链路路由器是一种特别的路由器类型,用于在特定情况下连接分布在不同OSPF区域中的两个OSPF区域
  功能:假造链路路由器答应在OSPF区域之间建立逻辑连接,绕过非OSPF区域的物理连接限制,从而确保数据包可以或许正确路由到目标地。这在复杂的网络拓扑布局中尤为重要,特别是在物理连接不可行或成本过高时
  
OSPF协议的LSA类型

LSA概述

   
  

   重要字段剖析
  
  注:链路状态类型、链路状态ID、通告路由器三元组唯一标识一个LSA。老化时间、序列号、校验和用于判断LSA的新旧
  

  
  链路状态类型 
  

   其中类型2、网络LSA是由DR生成,形貌网络上所有路由器的连接状态
          一台路由器中所有的LSA都被存放在其LSDB中,正确的LSA可以形貌一个OSPF区域的网络拓扑布局。OSPF中常见的LSA有6种

Router LSA(类型1)

        所有OSPF路由器都会产生这种LSA,用于形貌路由器上连接到某一个区域的链路或某一接口的状态信息。该LSA只会在区域内扩散,不会扩散至其他区域。链路ID为此路由器ID

   
  

网络LSA(类型2)

        由DR产生,用来形貌一个多路访问网络和与之相连的所有路由器,只会在包含DR所属的多路访问 网络的区域中扩散,并不会扩散至其他的OSPF区域中。链路状态ID为DR接口的IP所在

   
  
网络汇总LSA(类型3)

        由ABR产生,他将一个区域内的网络通告给OSPF AS中的其他区域【除完全末节区域】。这些条目通过骨干区域被扩散到其它的ABR中。在区域间传递路由信息时遵照水中分割原则,即从一个区域发出的类型3 LSA不会传回到本区域。链路状态ID为目标网络的所在。


ASBR汇总LSA(类型4)

        由ABR产生,形貌ASBR的路由,通告给除ASBR所在区域的其他相关区域。链路状态ID为ASBR的ID

AS外部LSA(类型5)

        由ASBR产生,含有关于AS外的路由信息,通告给所有的区域【除末节区域和次末节区域】。链路状态ID为外部网络的所在

   
  
次末节区域外部LSA(类型7)

        由次末节区域内的ASBR产生,且只能在次末节区域内传播。ABR可以将类型7的LSA转换为类型5的LSA,当次末节区域内有多个ABR时,系统会根据规则自动选择一个ABR作为转换器。默认情况下,次末节区域选择路由器ID最大的设备作为转换器。链路状态ID为外部网络的所在,格式与类型5 LSA雷同

OSPF的特别区域

末节区域

        末节区域的ABR不发布它们担当的AS外部路由,只发布区域内路由和区域间路由。为保证到AS外的路由可达,该区域的ABR将生成一条默认路由,以类型3 LSA发布给末节区域中的其他非ABR。
        注:在OSPF视图下执行【stub】命令,就可以将当前区域设置为末节区域
   设置末节区域留意的细节
  
  
完全末节区域

        完全末节区域的ABR不答应发布AS外部路由和区域间路由,只发布区域内路由。同样的,该区域的ABR会生成一条默认路由,以类型3 LSA发布给末节区域中的其他非ABR
        注:在OSPF区域视下,只需要在ABR上执行【stub no-summary】命令,就可以将当前区域设置成完全末节区域。在末节区域视图下执行【stub】命令,则可以将当前末节区域设置成完全末节区域。

次末节区域(NSSA)

        次末节区域答应引入AS外部路由,由ASBR发布类型7 LSA给本区域,这些类型7 LSA在ABR上转换成类型5 LSA,并且泛洪到整个OSPF区域中,NSSA保存了保存了AS内的未节区域的特性。NSSA的ABR发布类型7默认路由传播到区域内,所有区域间路由都必须通过ABR才气发布
        注:在OSPF区域视图下执行【nssa】命令,可将当前区域设置为NSSA
 
OSPF路由盘算、路由类型、路由聚合

        OSPF协议接纳SPF算法,盘算过程如下
       OSPF路由盘算详细方法
  
  
        OSPF协议将路由分为4类,按照优先级从高到低的序次为区域内路由区域间路由第一类外部路由第二类外部路由。其中,AS区域内路由和区域间路由形貌的是AS内部的网络布局,AS外部路由则形貌了应该怎样选择到AS以外目标所在的路由;第一类外部路由的可信度较高,并且和OSPF自身路由的开销具有可比性,所以到第一类外部路由的开销等于本路由器到相应的ASBR的开销与ASBR到该路由目标所在的开销之和;第二类外部路由的可信度比较低,所以OSPF协议以为从ASBR到AS之外的开销远宏大于从AS之内到达ASBR的开销。

        路由聚合是指ABR或ASBR将具有雷同前缀的路由信息聚合起来,只发布一条路由到其他区域。AS被分别成不同的区域后,可以通过路由聚合来减少路由信息的通告,减小路由表的规模,进步路由器的运算速度,降低系统的消耗。需要留意的是,至少存在一条明细路由,路由器才会通告聚合路由,而且聚合路由范围内的明细路由发生厘革,不影响通告的聚合路由。路由聚合只能在ABR和ASBR上设置,因此OSPF路由聚合包括ABR路由聚合和ASBR路由聚合两类
   
  
OSPFv2和OSPFv3的区别

比较OSPFv2OSPFv3
网络IPv4网络IPv6网络
运行基于网络基于链路
源所在接口IPv4所在接口IPv6链路当地所在
目标所在 1、邻人接口单播IPv4所在
2、组播所在224.0.0.5或224.0.0.6
1、邻人IPv6链路当地所在
2、组播所在FF02::5或FF02::6
IP单播路由IPv4单播路由,路由器默认启动IPv6单播路由,执行【ipv6】命令启用
同一链路上运行多个实例不支持支持
验证简朴口令或MD5IPv6提供安全机制
LSA有选项字段无选项字段,增加LSA(类型8)和区域内前缀LSA(类型9)

OSPF的常用命令

设置OSPF的基本功能

  1. # 启动OSPF进程,配置Router ID
  2. [Huawei]ospf process-id router-id router-id
  3. [Huawei]ospf 1 router-id 1.1.1.1   # 举例
  4. # 设置开销的带宽参考值
  5. [Huawei-ospf-1]bandwidth-reference value   # value=1--214783648
  6. [Huawei-ospf-1]bandwidth-reference 1   # 举例
  7. # 禁止接口收发OSPF报文
  8. [Huawei-ospf-1]silent-interface  all | interface-type interface-number
  9. [Huawei-ospf-1]silent-interface  GigabitEthernet 0/0/0   # 举例
  10. # 创建并进入OSPF视图
  11. [Huawei-ospf-1]area area-id   # area-id=0 ~ 4294967295
  12. [Huawei-ospf-1]area 1  # 举例
  13. # 配置使能OSPF的接口范围
  14. [Huawei-ospf-1-area-1.1.1.1]network ip-addreaa wildcard-mask
  15. [Huawei-ospf-1-area-1.1.1.1]network 2.2.2.2 0.0.0.255  # 举例
  16. # 在接口上使能OSPF
  17. [Huawei-GigabitEthernet0/0/0]ospf enable [process-id] area area-id
  18. [Huawei-GigabitEthernet0/0/0]ospf enable 1 area 1.1.1.1  # 举例
  19. # 配置接口运行OSPF的开销
  20. [Huawei-GigabitEthernet0/0/0]ospf cost cost   # cost=1~65535
  21. [Huawei-GigabitEthernet0/0/0]ospf cost 1  # 举例
  22. # 设置OSPF接口的网络类型
  23. [Huawei-GigabitEthernet0/0/0]ospf network-type {broadcast | noma | p2mp | p2p}
  24. [Huawei-GigabitEthernet0/0/0]ospf network p2p  # 举例
  25. # 设置接口在选举DR时的优先级
  26. [Huawei-GigabitEthernet0/0/0]ospf dr-priority proiority
  27. [Huawei-GigabitEthernet0/0/0]ospf dr-priority 10   # 举例
  28. # 设置接口发送Hello报文的时间间隔
  29. [Huawei-GigabitEthernet0/0/0]ospf timer hello interval    # 单位为秒
  30. [Huawei-GigabitEthernet0/0/0]ospf timer hello 60   # 举例
  31. # 设置OSPF的邻居失效时间
  32. [Huawei-GigabitEthernet0/0/0]ospf timer dead interval   # 单位为秒
  33. [Huawei-GigabitEthernet0/0/0]ospf timer dead 10000   # 举例
复制代码

设置OSPF的安全性

  1. # OSPF的接口验证
  2. # 简单验证方式
  3. [Huawei-GigabitEthernet0/0/0]ospf authentication-mode simple plain
  4. # MD5、HMAC-MD5或HMAC-SHA256验证方式
  5. [Huawei-GigabitEthernet0/0/0]ospf authentication-mode {md5 | hmac-md5 | hmac-sha256} [key-id [cipher] cipher-text]
  6. [Huawei-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456    # 举例
  7. # 配置OSPF区域验证
  8. # 与接口验证命令大致相同,一个是在接口上配置,一个是在OSPF区域视图下配置
  9. # 所以这个就不用加上前面[ospf],其它一样的命令
复制代码
 
设置OSPF默认路由注入

  1. [Huawei-ospf-1-area-0.0.0.1]default-route-advertise
复制代码

设置OSPF的路由聚合

  1. # 配置ABR的路由聚合
  2. [Huawei-ospf-1-area-0.0.0.1]abr-summary ip-address mask   # 还有一些参数啥的就懒得写详细了
  3. [Huawei-ospf-1-area-0.0.0.1]abr-summary 10.1.1.1 255.255.255.0  # 举例
  4. # 配置ASBR的路由聚合
  5. [Huawei-ospf-1]asbr-summary ip-address mask    #同上,还有参数没写全
  6. [Huawei-ospf-1]asbr-summary 10.1.1.1 255.255.255.0   # 举例
复制代码

设置OSPF的特别区域

  1. # 配置末节区域
  2. # 在ABR中配置命令
  3. [Huawei-ospf-1-area-0.0.0.1]stub
  4. # 配置完全末节区域
  5. [Huawei-ospf-1-area-0.0.0.1]stub no-summary
  6. # 配置NSSA区域
  7. [Huawei-ospf-1-area-0.0.0.1]nssa [default-route-advertise | no-summary | no-import-route]
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 qidao123.com技术社区-IT企服评测·应用市场 (https://dis.qidao123.com/) Powered by Discuz! X3.4