OSPF

背景

  • 当网络规模主键变大的时候, 使用什么样的技术, 可以让网络更好地通?
  • 随着企业的发展, 网络的规模越来越大, 网段的数量越来越多, 公司内部的路由器的数量越来越多.
  • 为了实现不同网络之间的互通, 需要在路由器上配置大量的路由条目, 工作量庞大并且随着网络扩展, 后期管理难度增大.
  • 为了实现不同网段之间的互通, 需要在每个路由器上配置新增加的网段.
  • 如果新添加的网段数量很多, 同时路由器的数量也很多, 就需要对每个路由器进行路由配置, 工作量非常庞大.
  • 如果向想删除某个网段, 也同样需要在所有路由器上一个一个地删除, 工作量也非常庞大.

解决方案

在路由器之间允许 ‘动态路由协议‘, 让路由器之间自动学习和分享彼此地路由表信息, 每个路由器都独立地计算出一个去往目标网段地最好路由.

动态路由协议的特点:

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

动态路由协议的类型:内部网关路由协议和外部网关路由协议。

  1. 内部网关协议(IGP): 在同一公司内部运行的路由协议, 如RIP, ISIS, OSPF
    • 其中,最热门的技术是ISIS和OSPF
    • OSPF 在有点规模的企业网内部常用.
    • ISIS 在大型的数据中心, 运营商常用.
    • RIP如今已接近淘汰, . RIP(路由信息协议)作为一种广泛使用的路由协议,虽然具有简单易用和便于维护等优点,但也存在一些明显的缺点:
      • 网络规模受限:RIP协议对网络规模有严格的限制,它只能支持最多15跳的路由路径,第16条不可达,这意味着在大型网络中,RIP可能无法满足需求。
      • 收敛速度较慢:RIP路由表的更新速度较慢,对于动态变化的网络环境可能无法快速响应。
      • 安全性能较差:RIP协议本身存在安全问题,如路径信息易泄露、易受恶意攻击等。
      • 占用带宽:RIP每30秒广播一次更新,可能会占用大量带宽,影响关键IT流程的资源。
      • 不支持多路径:RIP不支持同一路由上的多条路径,这可能导致路由环路和数据包丢失。
      • 坏消息传播慢:当网络中出现故障时,RIP可能需要较长时间才能将故障信息传播到所有路由器,导致网络收敛速度慢。
      • 这些缺点使得RIP在大型网络或对安全性、实时性要求较高的环境中可能不是最佳选择。
      • 以条数为度量:存在选择次优路径的风险。
      • 不会根据带宽来选路:比如跳数多带宽高效率高的线路和跳数少带宽低效率低的线路中,RIP可能会选择跳数少的。
  2. 外部网关协议(EGP): 在不同公司之间运行的路由协议, 如BGP.
当有人问, 路由直接传递路由信息用什么技术? 答:OSPF(公司内部),ISIS(运营商等),BGP,以及淘汰的RIP
希望传路由快一点:ISIS OSPF.
希望传路由多一点,稳一点,慢点没事:BGP

OSPF概述(特点)

  1. 应用在企业内部, 属于公有标准协议, 位于 OSI 模型的第三层.
  2. OSPF 的数据包, 包含着 IP 头部后面, 协议号为 89(ISIS没有协议号,OSI有端口号)。
  3. OSPFv2支持IPv4;OSFPv3支持IPv6
  4. OSPF支持企业网络的层次化设计, 将网络分为 2 层: 骨干和非骨干区域.
  5. 支持无类域间路由.
  6. 收敛速度快.
  7. 使用IP组播收发协议数据, ospf:224.0.0.5/6; rip: 224.0.0.9; 520是rip的udp协议端口号.
  8. 支持多条等价路由.
  9. 支持协议报文认证.
  10. OSPF在同一链路上进程ID可以不同,可以建立邻居。
    如AR1的Router ID为1.1.1.1,AR1的Router ID为2.2.2.2,两者可以建立邻居。
    OSPF在同一设备的不同接口处于不同进程的话,需要进行相互宣告 —多进程导入。
  11. display ospf error —-查看ospf错误日志,可以用来判断问题所在。
  12. OSPF优先级:
    —-内部优先级:10;
    —-外部优先级:150;
    —-满足最长匹配原则的前提下,比较不同协议的优先级,越小越优先。

OSPF路由器类型:

  1. IR: Internal Router, 内部路由器, 是指所有连接的网段都在同一个区域的路由器.
  2. ABR: Area Border Router, 区域边界路由器, 是指连接多个区域的路由器, ABR为每一个所连接的区域维护一个LSDB.
  3. BR: Backbone Router: 骨干路由器, 是指至少有一个端口(或者虚接口)连接到骨干区域的路由器. 包括所有的ABR和所有端口都在骨干区域的路由器.
  4. ASBR: AS Boundary Router, AS边界路由器, 是指和其他AS中的路由器交换路由信息的路由器, 这种路由器向整个AS通告AS外部路由信息. AS边界路由器可以是内部路由器IR, 或者是ABR,可以属于骨干区域也可以不属于骨干区域.

OSPF区域的表示

  1. 通过十进制表示: 例如 区域0, 1, 2, 3 等。
  2. 通过点分十进制表示, 例如 区域0.0.0.0, 0.0.0.1, 0.0.0.2 等.IP地址格式一样。
  3. 区域 0 就是骨干区域 , 设备会自动识别为 0.0.0.0 这样的点分十进制格式。
  4. 区域号非0的区域, 为非骨干区域,取值范围非常大,1~4294967296≈43亿,1~232
  5. 非骨干区域必须和骨干区域 ‘直接’ 相连, 能实现 ‘区域之间的互通’。
  6. 区域划分的意义是:为了更好地管理网络和设备。

process ID

进程号, 默认是 1 . 取值范围: 1-65535

Router ID

路由器标识符,OSPF中,每个路由器都需要一个唯一的标识符来识别自己,有助于网络管理员快速识别设备。格式也与IP地址一样都是用32位点分十进制表示(如1.1.1.1等)。

  1. 为不同设备取的名字, OSPF以此来区分不同的路由器
  2. Router ID的特定是: 稳定, 即一旦确定, 就不会改变. 除非重启设备或者重启ospf进程.
  3. Router ID的可以手动指定, 也可以是自动选举. 手动指定的优先级最高.
  4. 手动配置router id的命令是(在系统视图system-view下配置):
    • [R1]ospf {进程号1,2,3… …} router-id x.x.x.x
    • 例:[R1]ospf 1 router-id 1.1.1.1 //指定ospf 1的 router-id 为 1.1.1.1
    • 执行命令后会提示重启才能生效: Info: The configuration succeeded. You need to restart the OSPF process to validate the new router ID.
  5. Route ID命令配置成功后并不是立即生效的,需要重启OSPF进程
    • 重启ospf进程命令:<R1>reset ospf 1 process
  6. display ospf 1 brief display ospf brief 可查看ospf配置信息.
  7. Router ID选举规则:
    • 手工配置的Router ID的优先级最高,唯一且稳定。
    • 如果未进行过手工配置,如果存在IP接口的Loopbuck回环接口,则从Loopback接口地址中选择IP地址最大的作为Router ID。回环接口是一个逻辑接口,通常不受物理链路状态的影响,所以这种方式下,路由器ID较为稳定。
    • 如果没有已配置IP地址的Loopback接口,则从其它已配置IP地址的接口(即活动接口)中选择IP地址最大的作为Router ID。这种方式下,路由器ID可能会随着接口状态的改变而变化。通常,管理员可以通过查看路由器接口信息来确认当前的路由器ID。

小结

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

LSA

所谓Link State指的就是路由器接口的状态。在OSPF中路由器的某一接口链路状态包含了如下信息:

  • 该接口的IP地址及掩码
  • 该接口的带宽
  • 该接口连接的邻居
  • ··· ···
  • OSPF作为链路状态路由协议,不直接传递各路由器的路由表,而传递链路状态信息,各路由器基于链路状态信息独立计算路由。
  • 所有路由器各自维护一个链路状态信息库。邻居路由器间先同步链路状态数据库,再基于SPF算法计算最优路径。科学家:Dijkstra
  • 在度量方式上,OSPF将链路带宽作为选路的参考依据。
  • RIP在大型网络中所面临的问题,OSPF都有相应的解决办法。

OSPF工作原理

  1. 建立OSPF邻居表
  2. 同步OSPF数据库
  3. 计算OSPF路由表

OSPF报文

所有的OSPF报文使用相同的OSPF报文头部

  • Version #:
    OSPF协议号,应当被设置成2为OSPFv2,3为OSPFv3
    Type:
    OSPF报文类型,OSPF共有五种报文。
    Packet length:
    OSPF报文总长度,包括报文头部。单位是字节。
    Router ID:
    生成此报文的路由器的Router ID。(会影响ospf邻居的建立)
    Area ID:会影响ospf邻居的建立
    此报文需要被通告到的区域。
    AuType:会影响ospf邻居的建立
  • 命令
    [接口]ospf timer hello 10
    hello报文不合法(两端时间不同)也会影响邻居建立
    >reset ospf peer //清除邻居关系(清除ospf进程)

ospf的认证类型

  • ospf认证类型:
    1. 不认证
    2. 简单的明文认证
    3. 密文认证

验证此报文所应当使用的验证方法

OSPF报文的验证:VRP中,OSPF支持区域验证和接口验证两种方式。

  • 配置方式一:
    • 接口下:ospf authentication-mode simple hw
  • 配置方式二:
    • area下:authentication-mode simple hw
  • 接口认证配置优先与区域认证配置,如果两端采用不同认证配置方式,也可以创建邻居关系(前提密码和认证方式相同)。
  • md5认证:Key ID必须要保持一致,密码也要保持一致。
  • ospf 认证分接口和区域认证,接口认证优先于区域认证。
  • 两台路由一端配置了接口认证,一端配置了区域认证,如果认证类型一致,密码一致,是可以建立邻居关系的。

如何验证方式为区域验证,则在区域视图下使用如下命令:

  • 验证模式为明文验证:
    • authentication-mode simple { [ plain ] plain-text | cipher cipher-text }
    • plain:密码显示方式为明文。
    • cipher:密码显示方式为密文。
  • 验证模式为MD5验证:
    • authentication-mode md5 key-id { [ plain ] plain-text | cipher cipher-text }
    • Authentication:
    • 验证此报文时所需要的密码等信息。
除Hello报文外,其它的OSPF报文都携带LSA信息。

OSPF报文类型

OSPF报文类型描述
Hello用于发现, 建立, 维护和拆除 OSPF 邻居
DD(数据库描述报文)用于发送 OSPF 数据库条目的简要信息, 高效且稳定地实现数据库同步
LSR(链路状态请求报文)用于请求自己数据库中没有的链路状态通告信息(LSA)
LSU(链路状态更新报文)用于回应LSR报文, 其中包含的是详细的链路状态通告信息(LSA)
LSAck(链路状态确认报文)用于对LSR和LSU报文确认, 实现LSR和LSR报文的可靠传输

OSPF建立邻居关系经过的状态

状态描述
down设备彼此之间谁也不知道谁
init收到对方的信息,但对方不知道自己
2-way彼此知道对方是谁
exstart确定谁是主动端,主动与对端交互信息
exchange开始发送数据库简要信息,彼此进行对比交互
loading通过数据库摘要信息,发现本端没有的信息发送LSR请求消息,对方通过Update更新,本端通过Lsack进行确认
full达到同步数据库的完美状态

Hello报文

Hello报文的作用

建立邻居关系:Hello报文用于发现网络中的邻居设备,并建立和维护这些设备之间的邻居关系。
维护邻接关系:通过周期性发送Hello报文,路由器能够监测邻居路由器的存活状态。如果在特定时间内没有收到某个邻居的Hello报文,就会将其认定为失效,从而触发相应的路由计算和更新操作。
通过Keepalive机制,检测邻居运行状态。

Hello报文的发送原则

在IS-IS协议中,Hello报文的发送间隔和邻居保持时间可以通过配置来控制。
Hello报文的发送间隔越短,占用的系统资源越多,可能导致CPU负载过重。
邻居保持时间过长会导致检测到邻居失效的时间延长,从而减慢路由收敛速度;过短则可能导致路由震荡。

Hello报文的字段内容

  1. Network Mask(子网掩码):发送Hello报文的接口的子网掩码,该属性只在MA网络中有效,在P2P网络中是不检查的。
  2. HelloInterval(hello间隔):在广播型网络上,默认值为10秒;而在非广播型网络(如NBMA网络)上,默认值为30秒。Hello报文的泛洪周期,即发送Hello报文的时间间隔,单位为秒;hello时间要保持一致,否则会影响邻居的建立。
  3. option(可选项):表示发送此报文的路由器支持的可选功能。具体的可选功能得去deepseek一下。
  4. Rtr Pri(路由优先级):发送Hello报文的接口的Router Priority,用于DR和BDR的选举。
  5. RouterDeadInterval(路由失效时间):路由器在多长时间内没有收到邻居路由器的Hello报文后,会将邻居路由器视为失效的时间间隔。RouterDeadInterval通常是HelloInterval的四倍
    • 在广播网络中,默认设置为40秒(因为HelloInterval默认为10秒)。
    • 在NBMA(非广播多路访问)网络环境下,RouterDeadInterval可能设置为120秒
  6. Designated Router(DR和BDR的接口IP):发送Hello报文的路由器所选举出的DR的IP地址。如果设置为0.0.0.0,表示未选举DR路由器。
  7. BackuP Designated(BDR的接口IP):发送Hello报文的路由器所选举出的BDR的IP地址。如果设置为0.0.0.0,表示未选举BDR路由器。
  8. Neighbor(邻居Router-ID):已经建立邻居关系的邻居路由器ID,表示本路由器已经从该邻居收到合法的Hello报文。

Hello报文的类型

OSPF协议:Hello报文是OSPF五种报文之一,用于建立和维护邻接关系。
IS-IS协议:IS-IS协议通过Hello报文的收发来维护与相邻设备的邻居关系。

配置Hello报文的发送间隔

  • 进入系统视图:执行命令system-view。
  • 进入接口视图:执行命令interface interface-type interface-number。
  • 对于以太网接口,如果需要,执行命令undo portswitch将其切换到三层模式。
  • 配置Hello报文的发送间隔:执行命令ospf timer hello interval [conservative]或ospfv3 timer hello interval [conservative] [instance instance-id],其中interval是Hello报文的发送间隔时间。
  • 需要注意的是,Hello定时器的值与路由收敛速度、网络负荷大小成反比。在配置时,应确保OSPF邻居之间的Hello定时器的时间间隔保持一致,否则它们将无法协商为邻居。此外,对于链路故障时的收敛速度,可以考虑配置BFD For OSPF功能,或者在对端不支持该功能时,配置conservative参数。

DR和BDR和DRother

每一个含有至少两个路由器的广播型网络和NBMA网络都有一个DR和BDR。

在MA(广播网络,NBMA)网络中会选举DR/BDR ,在点到点和点到多点是不会选举DR/BDR的。

DR和BDR的作用:

  1. 减少邻接关系的数量,从而减少链路状态信息以及路由信息的交换次数,这样可以减少带宽,减少路由器硬件的负担。
  2. DRother:DRother与DR和BDR建立邻接关系;BRother之间的邻居关系为2-Way。
  3. DRother与DR/BDR形成邻接关系并交换路由状态信息以及路由信息,这样就大大减少了大型广播网络或NBMA网络中的邻接关系的数量。
  4. 在描述拓扑的LSDB中,一个广播型网络或NBMA网络是由单独一条LSA来描述的,这条LSA是由该网段上的DR产生的。

DR/BDR的选举规则

  1. 在2-way阶段选举。
  2. 在第一个报文中,DR、BDR的字段都为空(0.0.0.0)。
  3. 如果DR、BDR的字段都为空,先选出BDR,先比较优先级(0~255,0不参与选举),如果优先级相同,则比较Router ID,越大越优先。
  4. 如果DR字段为空,BDR字段非空,则BDR升级为DR,并再次选举BDR。
  5. 如果DR字段非空,BDR为空,则选举BDR。
  6. DR和BDR不能被抢占,选举时间40秒(2-Way阶段)。

在华为设备的配置中,可以通过执行特定命令来配置Hello报文的发送间隔和邻居保持时间。
例如,执行命令isis timer hello hello-interval [ level-1 | level-2 ]来配置接口上Hello报文的发送间隔。

修改DR优先级命令:

  • 接口下:ospf priority 0~255 //修改接口优先级,0为不参与选举。

邻居和邻接状态

网络类型

  • 广播网络:两台或两台以上路由器通过共享介质互联。
    • 支持广播、组播。
    • 举例:以太网、局域网等
  • NBMA网络,常见的非广播网络技术包括ATM、帧中继、X.25和家庭电力线网络;帧中继(Frame Relay):在OSPF协议中,默认将帧中继链路识别为NBMA网络类型,需手动配置邻居关系,并通过单播发送所有OSPF报文。异步传输模式(ATM):由于ATM不支持广播或多播,OSPF在ATM网络中默认配置为NBMA类型。X.25:是早期的广域网协议,基于分组交换技术,通过虚电路连接节点,由于缺乏广播能力,OSPF在X.25网络中也默认采用NBMA类型。定时器配置:Hello间隔默认30秒,Dead间隔120秒,需根据网络延迟调整。
  • P2P:仅两台路由器互连,支持广播,组播。
    • 举例:两台通过PPP链路相连的路由器网络。
  • P2MP:多个P2P的集合
    • 支持广播,组播的转发。
    • 没有一种链路层协议是支持P2MP类型网络,也就是说必须是由其他网络类型强制更改为P2MP。常见的做法是将非完全连接的帧中继或ATM改为P2MP的网络。

OSPF在不同网络类型中,OSPF邻接关系建立的过程不同,分为广播网络,NBMA网络,点到点/点到多点网络。下面是

OSPF协议路由的计算过程可简单描述如下:

  1. 建立邻接关系,过程如下:
    1. 本端设备通过接口向外发送Hello报文与对端设备建立邻居关系。
    2. 两端设备进行主/从关系协商和DD报文交换。
    3. 两端设备通过更新LSA完成链路数据库LSDB的同步。此时,邻接关系建立成功。
  2. 路由计算OSPF采用SPF(Shortest Path First)算法计算路由,计算得到一颗以自己为根的SPT(Shortest Path Tree)可以达到路由快速收敛的目的。

影响OSPF邻居建立的因素

  1. 接口没有启动OSPF。
  2. 网络第1或2层故障。
  3. 被动接口。
  4. ACL阻止了224.0.0.5,224.0.0.6。
  5. hello,dead timer。
  6. 认证类型和密码不匹配。
  7. area ID 不匹配。
  8. 在NBMA网络中没有手工指定peer。
  9. 两边的frame-relay map 缺少broadcast。
  10. option选项不匹配。
  11. router id 冲突。
  12. MA网络中掩码不匹配。
  13. DBD报文中接口MTU不匹配。

广播型网络中建立邻接关系的过程:

  • 224.0.0.5
    • 邻居发现:所有OSPF路由器默认加入224.0.0.5组播组,用于发现邻居和维护邻居关系。
    • 全局通信:DR/BDR通过224.0.0.5向所有运行OSPF的路由器(包括DROther)发送Hello报文、LSU报文等,确保全网拓扑信息的一致性。
  • 224.0.0.6
    • DR和BDR作为接收方会监听224.0.0.6的组播地址,用于接收DROther路由器发送的LSU报文或LSAck报文。例如,当DROther感知到网络拓扑变化时,会通过224.0.0.6向DR/BDR发送LSU报文。
    • DR和BDR不会使用224.0.0.6发送报文,而是通过224.0.0.5向所有OSPF路由器(包括DROther)发送LSU报文,以同步链路状态数据库(LSDB)。
  • 好处:DROther仅需监听224.0.0.5,DR/BDR同时监听224.0.0.5和224.0.0.6两个地址,减少接口处理开销。

邻居关系:

  1. Down:这是邻居的初始状态,表示没有收到邻居的任何信息。在NBMA网络上,此状态下仍然可以向静态配置的邻居发送Hello报文,发送间隔为PollInterval,通常和RouterDeadInterval相同(40秒)。
  2. Attempt:此状态旨在只在NBMA网络上存在,表示没有收到邻居的任何信息,但是已经在周期性向邻居发送Hello报文,发送间隔为 PollInterval。如果在 RouterDeadInterval 间隔内未收到邻居的Hello报文,则转为Down状态。
  3. Init:在此状态下,路由器已经从邻居收到了Hello报文,但是自己不在收到的Hello报文的邻居列表中,表示尚未邻居建立双向通信关系。在此状态下的邻居要被包含在自己所发送的Hello报文的邻居列表中。
  4. 2-WayReceived:此事件表示路由器发现与邻居的双向通信已经开始,(发现自己在邻居发送的hello报文的邻居列表中)。如果在Init状态下收到包含自己Router ID的Hello报文,就会触发2-WayReceived事件,状态机将从Init状态转换到2-Way状态。进入2-Way状态后,路由器会检查是否需要与邻居建立邻接关系。如果需要建立邻接关系,则会进入ExStart状态,开始数据库同步过程;如果不需要建立邻接关系,则邻居状态机将停留在2-Way状态。
  5. 2-Way:在此状态下,双向通信已经建立,但是和邻居没有建立邻接关系。这是建立邻接关系前的最高状态。收到了邻居发送过来的Hello报文,并在报文中的邻居列表中看到了自己的Router-ID,进入2-Way状态。
  6. 1-WayReceived:如果在2-Way状态下,路由器发现自己没有在邻居发送的Hello报文的邻居列表中,通常会触发1-WayReceived事件,状态机可能会回到Init状态。此事件表示路由器发现自己并没有在邻居发送Hello报文的邻居列表中,通常是由于对端重启造成的。
两台路由器都进入2-Way状态,标志着邻居关系建立完成。

邻接关系

  1. 协商主从关系:
    • 邻居状态机变为 ExStart 状态以后,RA向RB发送第一个DD报文中,”MS=1″宣称自己是Master,每一台路由器都会认为自己是Master,并规定序列号Seq=X,”I(Initial)=1″ 表示第一个DD报文,”M(More)=1″ 表示后续还有报文。第一个报文不包含LSA摘要,主要是为了协商主从关系。
    • 邻居状态机变为 ExStart 状态以后,RB向RA发送第一个DD报文,同样不包含LSA的摘要信息。由于RB的Router ID较大(2.2.2.2),认为自己是Master,并且重新规定了序列号Seq=Y。Router ID的比较结束后,RTA会产生一个 NegotiationDone 的事件,所以RTA将状态机从 ExStart 改变为Exchange
    • RA收到了报文后,同意RB为Master,并将RB的邻居状态机改为Exchange。RA使用RB的序列号来Seq=Y来发送新的DD报文,该报文开始正式的传输LSA摘要。在报文中,RA的MS=0,表示自己是Slave。
    • RB收到该报文后,将RA的邻居状态机改为 Exchange,并发送新的DD报文来描述自己的LSA摘要,此时RB将报文的序列号改为Seq=Y+1(上次的序列号+1)。
  2. 上述过程持续进行,RA通过重复RB的序列号来确认自己收到了RB的报文。RB通过将序列号+1来确认收到了RA的报文。当RB发送最后一个DD报文时,在报文中写上M=0。
  3. LSDB同步(LSA请求、LSA传输、LSA应答)
    • RA收到最后一个DD报文后,发现RB的数据库中许多LSA是自己没有的,将邻居状态机改为 Loading 状态。此时RB也收到了RA的最后一个DD报文,但RA的LSA,RB已经有了,不需要再请求,所以直接将RA的状态机改为FULL状态。
    • RA发送LSR报文向RB请求更新LSA。RB用LSU报文回应RA的请求。RA收到后,发送LSAck报文确认。
    • 上述过程持续到RA的LSA与RB的LSA完全同步为止,此时RA将RB的邻居状态机改为FULL
    • 状态。

在NBMA网络中建立OSPF邻接关系

  1. NBMA网络和广播网络的邻接关系建立过程只在交换DD报文前不一致,如图中的蓝色标记。
  2. 在NBMA网络中,所有路由器只与DR和BDR之间形成邻接关系。
  3. 在NBMA网络中,所有报文均以单播形式发送,不依赖组播地址。

在NBMA网络中建立OSPF邻接关系的过程如下:

  1. 建立邻居关系
    1. RouterB向RouterA的一个状态为Down的接口发送Hello报文后,RouterB的邻居状态机置为Attempt。此时,RouterB认为自己是DR路由器(DR=2.2.2.2),但不确定邻居是哪台路由器(Neighbors Seen=0)。
    2. RouterA收到Hello报文后将邻居状态机置为Init,然后再回复一个Hello报文。此时,RouterA同意RouterB是DR路由器(DR=2.2.2.2),并且在Neighbors Seen字段中填入邻居路由器的Router ID(Neighbors Seen=2.2.2.2)。
    3. 在NBMA网络中,两个接口状态是DR Other的路由器之间将停留在此步骤。
  2. 主/从关系协商、DD报文交换过程同广播网络的邻接关系建立过程。
  3. LSDB同步(LSA请求、LSA传输、LSA应答)过程同广播网络的邻接关系建立过程。

在点到点/点到多点网络中建立OSPF邻接关系

在点到点/点到多点网络中,邻接关系的建立过程和广播网络一样,不同的是不需要选举DR和BDR,点到点网络所有报文均使用组播地址(224.0.0.5)交互;点到多点的Hello报文使用组播地址(224.0.0.5),其它报文使用单播形式交互。

在MA网络中的状态机:

  • Waiting:在此状态下,路由器通过监听接收到的Hello报文检测网络中是否已经有DR和BDR。在此状态下的路由器不可以参与选举DR和BDR。
  • Backup:在此状态下,该路由器成为所连接网络上的BDR,并与网段中所有的其他路由器建立邻接关系。
  • DR:在此状态下,该路由器成为所连接网络上的DR,并与网段中所有的其他路由器建立邻接关系。
  • DROther:该路由器连接到一个广播型网段或者NBMA网段,而且该路由器不是一个DR或者BDR。此状态下的路由器与DR和BDR形成邻接关系并交换路由信息。
  • BackupSeen:路由器已经检测到网络上是否存在BDR。

端口状态变换-点到点、点到多点网段和虚连接

  • a、端口状态:
    • Down:这是端口的初始状态,在该状态下,底层协议显示该端口不可用,所有定时器被关闭。
    • Loopback:此状态表示端口被环回。在该状态下的端口被通告为一个Stub网段。
    • Point-to-point(P-to-P):在此状态下,端口是可用的,而且端口是连接到点到点、点到多点或者虚连接,此状态下的端口试图与邻居建立邻接关系,并以HelloInterval的间隔发 送Hello报文。
  • b、端口转变过程中发生的事件解释如下:
    • UnloopInd:Unloopback Indication,表示端口解除环回状态。处于Loopback状态下的端口如果收到此事件,则进入Down状态。
    • InterfaceUp:端口的链路层协议变成可用状态,即常说的链路层Up。由于不需要选举DR和BDR,因此点到点、点到多点网段以及虚连接的端口状态变换比较高效,因为减少了因DR和BDR选举带来的复杂性和延迟。
  • c、interface Serial1/0/0
    • link-protocol fr /修改接口封装类型为FR(Frame Relay帧中继)
    • fr map ip 10.1.1.2 102
    • fr map ip 10.1.1.3 103
    • [RTC-ospf-1-area-0.0.0.1]network 10.1.2.0 0.0.0.255
    • [RTC-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2 //虚链路
  • d、修改接口类型,可以提高ospf收敛
    • [接口下]ospf network-type p2p(点到点)//修改接口类型
    • broadcast
    • nbma
    • 两端类型必须一致。

虚链路

  • 虚链路的应用场景:
    1. area 0被分割。
    2. 非骨干区域没有连接到区域0。
    3. 区域中没有area 0,可以配置虚链路(虚链路相当于是骨干区域area 0),在思科中不支持。
    4. 增加网络的稳定性。

OSPF的度量方式

  • 某接口cost=参考带宽/实际带宽,默认参考带宽为100M。
    • 当计算结构有小数时,只取整数位;
    • 当结果小于1时,cost取1。
  • 更改cost的两种方式:
    • 直接在接口下配置,需要注意的是,cost值是此接口最终的cost值,作用范围仅限于本接口。
      • 命令:进入接口, ospf cost 1~65535
    • 修改参考带宽(所有路由器都有修改,确保选路一致),作用范围是本使能了OSPF的路由器的接口。
      • 命令:进入接口,bindwidth 1~1000000
  • 要么修改cost要么修改带宽bindwidth,因为如果修改了cost相当于直接告诉系统结果了,系统就不需要再去计算cost值了;如果配置bindwidth,则按照bindthwidth的参数来计算cost;因此只需使用其中一种方式来配置cost。
  • OSPF以累计cost为开销值,也就是流量从源网络到目的网络所有路由器出接口的cost总和。
  • 相比RIP,OSPF不仅考虑跳数,还考虑带宽,
虚链路不能配置在area 0区域,不能配置在stub,nssa区域。

OSPF的单区域配置

在企业内部, 灵活实现不同部门之间互通的解决方案, 并且具有丰富的扩展性, 只有OSPF可以做到.

为了便于网络规模的扩展, 当前的OSPF网络必须设计为 区域0

OSPF wild card bits: 反掩码, 可以在配置的时候输入反掩码(如0.0.0.255), 也可以在配置的时候写正掩码, 设备会自动转换为反掩码(如255.255.255.0 转换成0.0.0.255). 因此, 在实际工程中, 怎么方便怎么来, 保证最终结果正确即可. 另外, 不能把OSPF wild ward bits看成通配符, 因为掩码是连续的 1 组成, 如果使用通配符系统会认为输入是无效的(Error: The network mask is invalid because the network mask must be consecutive,由于网络掩码必须连续,因此网络掩码无效)

单区域OSPF配置命令:

  • [AR1]ospf ∥指定ospf协议的进程号,不指定则默认为1。
  • [AR1-ospf-0]area 0 ∥进入ospf协议的区域0。
  • [AR1-ospf-0-area 0]network 192.168.1.0 255.255.255.0 ∥将192.168.1.0/24宣告进入到区域0。
  • [AR1-ospf-0-area 0]network 192.168.12.0 255.255.255.0 ∥network 后面跟的必须是直连路由。
  • [AR2]ospf 2 ∥OSPF协议的进程号,在每个设备上是可以不相同的。
  • [AR2-ospf-0]area 0
  • [AR2-ospf-0-area 0]network 192.168.12.0 255.255.255.0
  • [AR2-ospf-0-area 0]network 192.168.23.0 255.255.255.0
  • [AR3]ospf 3
  • [AR3-ospf-0]area 0
  • [AR3-ospf-0-area 0]network 192.168.23.0 255.255.255.0
  • [AR3-ospf-0-area 0]network 192.168.2.0 255.255.255.0
  • display ospf peer brief //查看网络设备(如路由器)OSPF(Open Shortest Path First)协议邻居简要信息的命令, 通过这些信息,网络管理员可以快速判断OSPF邻居关系的建立情况和状态,从而帮助诊断和解决网络问题(在任意视图下执行)。
  • 以下是display ospf peer brief命令输出的一些关键信息:
    • OSPF Process:显示OSPF进程ID和路由器的Router ID。
      • OSPF Process 1 with Router ID 1.1.1.1
    • Area Id:显示邻居所在的OSPF区域ID,表示路由器当前建立的邻居关系所在的区域,OSPF通过区域划分来减少路由信息的交换量和计算复杂度。
    • Interface:显示与邻居建立关系的本地接口。
    • Neighbor id:显示邻居路由器的Router ID。
    • State:显示与邻居的OSPF关系状态。常见的状态包括:
    • 2-way:双方都收到了对方的Hello报文,邻居关系建立。
    • ExStart:开始交换数据库描述报文(DBD,DBD也即DD)。
    • Exchange:交换DBD报文,同步链路状态数据库(LSDB)。
    • Loading:请求和接收链路状态更新(LSU)报文,同步LSDB。
    • Full:双方LSDB完全同步,邻接关系建立。最终完美状态。(完全邻接)

OSPF单区域配置总结

企业网内, 如果仅仅配置一个区域, 那必须是 OSPF 区域 0.

OSPF进程号的作用是: 在同一个路由器上区分不同的OSPF协议, 不同路由器上的进程可以相同也可以不相同, 互不相干.

OSPF的router-id 用于标识不同的路由器, 必须确保唯一.

OSPF router-id 最大的特点是稳定, 一旦确定, 就无法修改, 除非重启 OSPF 协议或重启路由器.

OSPF 邻居表中的状态必须是 FULL, 才能互相学习对方的路由.

OSPF多区域配置

背景

企业核心机房, 连接不同的办公楼宇, 实现不同楼宇互通.

企业核心机房设置为 OSPF 骨干区域.

其他办公楼宇为 非骨干区域. 通过路由器与核心机房互联互通.

随着企业内网的规模越来越大, 网络的稳定性, 扩展性以及管理工作, 收到越来越大的考验.

为了能够增强网络稳定性以及扩展性, 简化网络管理和故障排查工作, 我们引入了OSPF区域

相关概念

骨干区域路由器:

路由器所有的接口, 都属于骨干区域的路由器.

非骨干区域路由器:

路由器所有的接口, 都属于非骨干区域

区域边界路由器(ABR):

同时连接着骨干区域和非骨干区域的路由器.Area Border Router

自治系统边界路由器(ASBR)

具有产生外部路由能力的路由器, Autonomous System Border Router

OSPF区域的类型:

  1. 骨干区域 0
  2. 非骨干区域 (非0和特殊区域)
    • 普通区域
    • 特殊区域:Stub区域, 完全Stub区域, NSSA区域, 完全NSSA区域
OSPF的区域类型有哪些?
答: 骨干区域和非骨干区域. 而在非骨干区域中, 因为一些特殊需求, 又可以把非骨干区域分为: Stub区域, 完全Stub区域, NSSA区域和完全NSSA区域.

多区域互的互联原则:

所有的非骨干区域, 必须与骨干区域直接相连, 否则区域之间无法互通.

多区域OSPF小结

多区域的OSPF,最关键的是ABR的配置,实现区域之间的互通。

在ABR上配置的时候,必须出现‘区域0’的相关配置。

多区域OSPF网络,非骨干区域必须和骨干区域直接相连。

路由器之间的直连网段,必须通过network命令宣告进入OSPF。

stub区域 -末梢区域

Stub区域的特点:

  • 该区域的路由器,没有OSPF外部路由
  • 该区域的ABR,会自动产生1个默认路由,确保与网互通。
  • 该区域内的所有路由器都需要配置相的stub配置命令。

例如,当stub区域外部的某个链路或设备出现故障或配置错误或增加外部路由时,其它区域可能会因此更新Ospf路由而受到影响,但不会影响stub区域内的路由器的路由表。这是因为stub区域的ABS连接区域0的端口不会向stub区域发送(__)类LSA报文,stub区域内的设备由于接收不到相关LSA的报文,不会更新OSpf路由表,而stub区域内所有路由器自动生成的默认路由依旧存在,因此该区域内的设备依旧可以通信。

内部路由:network 宣告的路由就是内部路由。

外部路由:import 宣告的路由就是外部路由。外部路由是不稳定路由,会影响全网。

特殊区域:不要外部路由的区域。

项目背景:

两公司之间运行OSPF,通过静态路由互通。

为了实现企业之间相互访问,需要将“静态路由”宣告进OSPF。

企业内部重要区域(Area12)不希望受到外部链路的抖动的影响。

项目分析:

因为R6和R7之间的链路的稳定性,不完全受到企业的控制,所以对于该企业而言,R6~R7之间的链路,被认为是外部链路。

那么,为了减小这种不稳定的外部链路对内部某些重要区域(area 12)的影响,我们可以将该区域配置为:特殊区域,从而达到保护这个区域的目的。

在R6 和 R7之间配置静态路由,实现双网通信。

在R6上将静态路由宣告进入到OSPF,只能通过import-route的方式,该路由以“外部路由”形式,存在于OSPF网络。R6和R7之间链路不稳定,导致OSPF外部路由不稳定,影响到整个OSPF网络中的OSPF网络中的路由表的稳定。

OSPF计算外部路由,是通过External LSA计算的。

解决方案

想让重要区域(Area 12)不受外部路由的影响,可以让该区域不接收External LSA,即将Area 12配成特殊区域。

OSPF特殊区域,指的是不接收External LSA的区域。

配置思路

  1. 配置企业网络内部的OSPF协议,即多区域OSPF。
  2. R6创建静态路由,实现PC3的互通。
  3. R7创建静态路由,访问企业内网的所有网段。
  4. R6通过import-route的方式宣告‘静态路由’
  5. 将Area 12配置为OSPF特殊区域-stub area(末梢区域)。
  6. 配置终端IP,掩码,网关
  7. 配置各路由器IP,并启用OSPF,宣告网段进入区域。

配置命令

  1. 配置R7去往公司内网所有网段的路由条目。
    • [R7]ip route-static 192.168.0.0 16 192.168.67.6
  2. 配置R6去往PC3的静态路由。
    • [R6]ip route-static 192.168.3.0 24 192.168.67.7
  3. 在ASBR->R6上宣告静态路由进入OSPF
    • ospf 1
    • area 12
    • import-route static //在R6上,宣告静态路由进入OSPF协议。“导入”后的静态路由,会通过OSPF协议发送出去并被各区域设备学习到。通过该命令产生的路由称为外部路由。
  4. 将区域12配置为stub区域,在该区域的所有路由器上配置(R1/R2):
    • R1:
      • [R1]ospf 1
      • [R1-ospf-1]area 12
      • [R1-ospf-1-0.0.0.12]stub //配置完成后,R1会产生一个默认路由条目->0.0.0.0/0,同时还有其他区域的路由条目。
    • R2
      • [R2]ospf 1
      • [R2-ospf-1]area 12
      • [R2-ospf-1-0.0.0.12]stub //配置完成后,R2作为ABR,和R1不同,并没有产生默认路由。依然保留了3.0网段的外部路由。

Stub区域总结

Stub区域是一种特殊的区域类型,主要用于优化网络性能并减少路由器的处理负担。以下是详细的作用说明:

  • 减少路由表条目:在Stub区域内,路由器不会接收来自其他OSPF区域的路由更新,而是仅依赖于ABR(区域边界路由器)提供的默认路由。这意味着Stub区域内的路由器不需要维护整个自治系统的路由信息,只需知道如何到达ABR即可,从而显著减少路由表中的条目数量。
  • 降低处理负担:由于减少了路由表的大小,路由器需要处理的路由信息量也随之减少,这降低了路由器的CPU负担和内存消耗。
  • 简化网络管理:通过使用默认路由代替具体的外部路由,网络管理员可以更容易地管理和配置网络,提高了网络管理的效率。
  • 减少路由震荡:由于减少了路由信息的传播,Stub区域内的路由器受到网络变化的影响较小,从而减少了路由震荡的可能性。
  • 需要注意的是,骨干区域不能配置为Stub区域,并且要配置一个区域为Stub区域,该区域内的所有路由器都需要进行相应的配置。此外,Stub区域内不能存在ASBR(自治系统边界路由器),即不能引入外部路由。

Totally stub – 完全末梢区域

是基于stub区域的优化。

stub区域的特点是:

  1. 该区域不会受到外部链路的不稳定的影响。
  2. 该区域的ABR,会自动产生1个默认路由,确保与外部链路互通。
  3. 该区域,依然会受到“其它区域的链路”不稳定带来的影响。

stub区域的优化 –> totally stub(完全末梢区域)

Totally Stub区域是一种特殊类型的区域,它比普通的Stub区域具有更强的路由信息过滤能力。

  1. 在ABR上配置,确保该区域不包含“区域之间的链路”,从而避免该区域受到“其它区域”的影响。
  2. 具备这种特点的区域,称之为Totally Stub区域(完全末梢区域)。

Totally Stub区域不仅禁止Type-5 LSA(自治系统外部LSA)的传播,还禁止Type-3 LSA(区域间LSA)的传播。这意味着Totally Stub区域内的路由器不会接收任何来自其他区域的路由信息,无论是内部路由还是外部路由。所有通往其他区域的流量都将通过一条默认路由(0.0.0.0/0)来实现,这条默认路由由ABR(Area Border Router,区域边界路由器)生成并广播给Totally Stub区域内的所有路由器。

Totally Stub配置命令

将stub区域12,进一步配置为Totally Stub区域

  • 仅仅需要在stub区域的ABR(R2)上配置以下命令:
    • ospf 1
    • area 12
    • stub no-summary //该ABR不允许向区域12发送Summary LSA。
    • 配置完成后,AR1会产生基于OSPF协议产生的默认路由条目。同时AR1只维护本区域内的路由信息和一条OSPF默认路由。

Totally Stub区域的作用

  1. 进一步减少LSDB大小:由于禁止了Type-3 LSA的传播,Totally Stub区域内的路由器只需要维护本区域内的路由信息和一条默认路由,这极大地减少了LSDB的大小。
  2. 降低CPU和内存负担:更小的LSDB意味着更少的SPF(Shortest Path First,最短路径优先)算法计算次数,从而降低了路由器的CPU和内存负担。
  3. 简化网络管理:通过使用默认路由代替详细的区域间路由信息,网络管理员可以更容易地管理和配置网络,减少配置错误的可能性。

Stub总结

  1. stub区域,不会受到外部链接不稳定的影响。
  2. ABR会自动的产生一个默认路由,确保该区域与外部链路以及其它区域互通。
  3. 在stub区域的基础上,更加优化的方案是:Totally Stub区域。
  4. 在Totally stub区域中的设备,不会受到外部链路以及其它区域链路的影响,确保该区域更加稳定和安全。

Default-route-advertise

项目背景

企业内网运行OSPF,经运营商访问公司架设在公网的“服务器”。

为了确保内网区域123的稳定性,将区域123配置为stub区域。

“合作公司”与“企业”有特定业务合作经公司访问公网服务器。

思路和过程

  1. 内网:
    • 路由器接口IP,配置运行OSPF
      • ospf 1
      • area 123
      • network 192.168.12.0 0.0.0.255
      • 边界设备:静态默认路由,ACL,NAT(EasyIP)
        • AR4边边界设备,在AR4上配置。
        • [AR4]ip route-static 0.0.0.0 0 200.1.1.9
        • quit
        • [AR4]ACL 2000
        • [AR4-ACL-2000]rule 10 permit Source any
        • quit
        • int g0/0/0
        • [AR4-interface-g0/0/0]nat outbound 2000
        • quit
    • 配置ABR stub,区域123的ABR是R3
      • ospf 3
      • area 0
      • stub
  2. 外网
    • 路由器接口IP,Server的IP,掩码,网关。
  3. 测试。
    • PC ping 不通server,由于R4未做静态路由宣告,而R4的默认路由比较特殊,它是由Ospf协议生成的默认路由,不能用import-route static将该路由宣告进区域。
    • 需用新的命令:default-route-advertise 默认路由通告,用于将缺省路由通告到OSPF路由区域。
    • 再次Ping服务器,通!

default-route-advertise使用方法:

1.当需要引入其他协议产生的缺省路由时,必须在ASBR(Autonomous System Boundary Router)上配置 default-route-advertise,发布缺省路由到整个普通OSPF区域。

2.如果ASBR已经有缺省路由,执行 default-route-advertise 将在整个OSPF区域中通告缺省路由0.0.0.0。

3.如果ASBR没有缺省路由,执行 default-route-advertise 命令时按照需求选择是否配置 always 参数。

注意事项

OSPF缺省路由发布的方式取决于引入缺省路由的区域类型,该命令仅用于发布缺省路由到普通OSPF区域。

对于Stub区域、Totally Stub区域、Totally NSSA区域,缺省路由自动发布。

对于NSSA区域,则通过命令 nssa default-route-advertise 发布缺省路由。

NAAS

OSPF产生默认路由的方式:

  1. 确保该设备上本身有默认路由
  2. 通过特定的命令产生:
    • default-route-advertise

需求:

  1. 企业内网,实现访问server
  2. 保护区域 123,不受到外部链路影响。

思路:

  1. 搞定企业内网
    • 接口IP,路由协议—ospf
  2. 搞定模拟运营商:
    • 接口IP
  3. 实现内外网互通
    • 默认路由+NAT
  4. 保护区域 123
    • 设置为 stub 区域,保障区域123不受外部链路影响。
  5. 验证与测试

配置:

  1. 企业内网(配置IP地址)
    • R1:
      • int g0/0/0
      • ip address 192.168.12.1 24
    • R2:
      • int g0/0/0
      • ip address 192.168.12.2 24
      • int g0/0/1
      • ip address 192.168.23.2 24
    • R3:
      • int g0/0/0
      • ip address 192.168.23.3 24
      • int g0/0/1
      • ip address 192.168.34.3 24
    • R4:
      • int g0/0/0
      • ip address 192.168.34.4 24
      • int g0/0/1
      • ip address 200.1.1.254 24
  2. 企业内网(配置OSPF)
    • R1:
      • sys
      • ospf 1 router-id 1.1.1.1
      • area 123
      • network 192.168.12.0 0.0.0.255
    • R2:
      • sys
      • ospf 2 router-id 2.2.2.2
      • area 123
      • network 192.168.12.0 0.0.0.255
      • network 192.168.23.0 0.0.0.255
    • R3:
      • sys
      • ospf 3 router-id 3.3.3.3
      • area 123
      • network 192.168.23.0 0.0.0.255
      • area 0
      • network 192.168.34.0 0.0.0.255
    • R4:
      • sys
      • ospf 4 router-id 4.4.4.4
      • area 0
      • network 192.168.34.0 0.0.0.255
  3. 模拟运营商
    • R5:
    • int g0/0/0
    • ip address 200.1.1.9 24
    • int g0/0/1
    • ip address 210.1.1.254 24
  4. 实现内外网互通(静态+NAT)
    • 在R4上配置指向运营商的静态路由:
      • ip route-static 210.1.1.0 24 200.1.1.9 //配置指向运营商服务器的默认路由
    • 在R5上配置,指向公司内部网段的静态路由:
      • ip route-static 192.168.0.0 16 200.1.1.254 //配置指向公司内部192.168.0.0网段的静态路由
    • 在R4上配置acl+NAT
      • [R4]acl 2000
      • [R4-acl-2000]rule 10 permit source any //配置允许所有IP地址的数据包通过
      • quit
      • 在R4的出接口上配置NAT
      • [R4]int g0/0/1
      • nat outbound 2000 //NAT Outbound :指的是从内部网络到外部网络的流量转换。2000:这是一个访问控制列表(ACL)的编号,用于指定哪些内部IP地址或流量需要进行NAT转换。通过定义这样的ACL,网络管理员可以精确控制哪些内部设备或服务可以通过NAT访问外部网络。
  5. 保护区域123(配置区域123为stub,R1/R2/R3都需要配置)
    • R1/R2/R3:
      • ospf 1
      • area 123
      • stub
  6. 实验与测试:

新需求:

  1. 合作公司,想访问我公司内部的业务服务器Server,而访问需经过区域123。

思路二:

  1. 方案1: 可以使用Nat,但公司没有多余的公网IP,购买成本高,不好。
  2. 方案2:使用私有地址,利用Ospf实现路由交换。

由于新购买IP地址不现实,只能使用私有地址(使用方案2)。使用私有地址不用NAT,可以使用静态路由。但又面临的问题是区域123是stub区域,使用import-route static来宣告对stub区域不起作用,因此,需要将stub区域改为NSSA区域(Not so stub area)。

每个属于区域123的路由器都需要配置,配置过程是进入区域123,将原有的stub命令undo掉(undo stub),再输入NSSA。使用display ospf peer brief查看邻状态信息表,邻居状态从init→2-way→full。使用display ip route-table protocol Ospf,查看Ospf路由表,可以看到由O_NSSA生成的路由条目,说明区域123已成为NSSA区域。

另外,连接骨干区域和NSSA区域的ABR边界路由会将NSSA的路由转换成ASE路由后进入区域0,区域0设备从而生成通往server的ospf动态路由,最终实现数据通往server。

NSSA区域的特点

  1. 不接受其他区域的设备产生的外部路由,但本区域设备自己可产生外部路由。
  2. ABR会自动地产生一个默认路由,确保该区域可以与外部链路互通。
  3. 该区域,依然会受到“其他区域的链路”不稳定所造成的影响。

Totally Nssa

在ABR上配置,确保该区域不包含“区域之间的链路”,从而避免该区域受到“其他区域”的影响。

具备这种特点的区域,称之为 Totally Nssa 区域

Totally Nssa配置命令

仅仅需要在区域123的ABR上配置:

  • ospf 3
  • area 123
  • nssa no-summary //该ABR不允许向区域123发送 Summary LSA

Nssa总结

不能接受 External LSA 的区域,称之为特殊区域。

OSPF特殊区域包括:Stub/Totally Stub/Nssa/Totally Nssa 四种类型。

通常情况下,为了确保一个区域更加的安全和稳定,才会将其配置为特殊区域。

只有非骨干区域可以配置为特殊区域,骨干区域无法配置为特殊区域。

OSPF汇总之区域间路由

企业内网运行很多区域的OSPF网络, 当某个路由器存在多个不稳定链路时,会影响到邻居路由器的稳定性,从而影响到骨干区域的稳定性。

造成影响的原因是:某个设备经常加入或减少设备,然后路由条目经常变换,且路由条目越来越多,导致其他ospf设备在更新路由表和查找路由条目时消耗大量资源,导致网络不稳定,影响骨干区域的网络。

希望通过技术方案,降低不稳定区域对骨干区域的影响。

汇总:多个路由被汇总后,有以下优点:

  1. 路由条目变少了,从而节省对方设备的系统资源。
  2. 路由表变小了,从而可以加速路由器转发数据包的速度。
  3. 路由条目少了,从而那些随意变化的,不稳定的路由接受不到了,从而提高网络的稳定性。

项目背景

企业内网运行多区域的OSPF网络,在R1上存在多个不稳定的链路

R1上的不稳定链路,会影响到骨干区域的稳定性。

希望通过技术方案,降低区域12的不稳定性对区域0的影响。

项目分析

R1的每个接口通过OSPF进入区域0后,是以3类LSA(即区域间路由)的形式存在。

3类LSA,只能由ABR(R2)产生。

如果ABR不产生这些路由的LSA,就不会对区域0产生影响。

解决方案

在区域12的ABR(R2)上,对区域12中的路由,进行路由汇总

路由汇总的本质就是:将很多的路由,变成很少的路由。只发汇总之后的路由,不发明细路由。

配置命令:

  1. ospf 1 //在ABR上配置
    • area 12
    • abr-summary 10.10.0.0 255.255.0.0 //将区域12发向区域0的路由,汇总成10.10.0.0/16
  2. 配置思路:
    • 如图配置接口IP地址和OSPF区域
    • 在R1上,将Lookback接口,宣告进入到区域12
    • 在R2上,对区域12中的路由进行汇总
  3. 结果是:
    • 区域0中已经没有了关于10.10.x.x/24的路由。
    • 只有10.10.0.0/16的11个路由。
    • (模拟故障:比如关闭某些接口)区域12的路由如果发生变化不会对区域0造成影响。

OSPF汇总之外部路由

项目背景

企业内网运行多区域的OSPF网络,在R6上存在多个外部链路。

R6上的不稳定链路,会影响到骨干区域的稳定性。

希望通过技术方案,降低外部链路的不稳定性对区域0的影响。

项目分析

R6的Loopback接口,通过“重分发”的方式引入。

R6的外部路由,在OSPF网络中,以 External LSA 形式存在。

只有ASBR可以产生 External LSA,影响整个OSPF网络。

解决方案

在R6上,对引入的外部路由,进行路由汇总。

路由汇总的本质就是:将很多的路由,变成很少的路由。只发汇总后的路由,不发明细路由。

配置思路:

  1. 如图配置各个路由器的接口IP和 OSPF 各个区域,宣告网段。
  2. 在 R6 上,配置Loopback接口ip地址,通过 import-route direct 宣告进入OSPF。
    • interface Loopback 1
    • ip add 10.60.1.1 24
    • interface Loopback 2
    • ip add 10.60.2.2 24
    • interface Loopback 3
    • ip add 10.60.3.3 24
    • interface Loopback 4
    • ip add 10.60.4.4 24
    • 宣告外部路由
    • ospf 6
    • import-route diret
  3. R6 作为区域 56 的 ASBR,在R6上配置,对宣告的外部路由进行汇总。
    • ospf 6
    • asbr-summary 10.60.0.0 255.255.0.0

小结

在OSPF网络中,5类LSA标识外部路由。

在OSPF网络中,只有ASBR可以产生5类LSA。

在OSPF网络中,只能在产生这些5类LSA的ASBR上进行。

路由汇总,可以减少对方设备资源的占用,提高网络稳定性。

OSPF安全认证之链路认证

项目背景

企业内网运行多区域OSPF网络,区域之间通过骨干区域互通。

为了保证区域0的安全, 需要确保骨干区域的邻居关系都必须是经过认证的,非法接入的路由器不能与骨干区域建立邻居关系。

项目分析

为确保非法路由器不能与区域0的设备建立邻居关系,需要对建立邻居关系的 Hello 报文,进行加密处理。

Hello 报文时通过路由器的接口传输的,所以需要在接口配置认证。

解决方案

OSPF链路认证,即对运行OSPF协议的接口发送和接收的OSPF进行加密和认证。

OSPF链路认证的类型分为“明文认证”和“密文认证”。

配置思路

如图配置接口IP地址和OSPF多区域网络。

在属于区域0的链路上配置 OSPF 链路认证。

R2-R3,R3-R4配置明文认证,R4和R5之间配置密文认证。

  1. R2-R3之间的明文认证:
    • R2:
      • int g0/0/1
      • ospf authentication-mode simple cipher 2323
    • R3:
      • int g0/0/0
      • ospf authentication-mode simple cipher 2323
  2. R3-R4之间的明文认证:
    • R3:
      • int g0/0/1
      • ospf authentication-mode simple cipher 3434
    • R4:
      • int g0/0/0
      • ospf authentication-mode simple cipher 3434
  3. R4-R5之间的密文认证:
    • R4:
      • int g0/0/1
      • ospf authentication-mode md5 10 cipher 4545
    • R5:
      • int g0/0/0
      • ospf authentication-mode md5 10 cipher 4545

小结:

OSPF链路认证,仅仅对当前端口起作用。

已建立邻居关系的 情况下,如果仅配置了一个端口的链路认证,邻居关系将断开。需两端接口都配置相同的认证。

一个端口下,只能配置一种类型的认证。

同一个区域中的多个链路,可以配置不同类型的认证和密码。

明文认证的规则是‘链路两端的认证类型和密码要相同’。

密文认证的规则是‘链路两端的认证类型,key id,密码都要相同’。

OSPF安全认证之区域认证

项目背景

企业内网运行多区域的OSPF网络,区域之间通过骨干区域互通。

骨干区域的网络设备非常多,需要确保非法接入骨干区域的设备不能与骨干区域建立正常的 OSPF 邻居关系。

项目分析

骨干区域的范围庞大,并且网络设备以及互联接口非常多。

需要确保该区域的每个设备的每个接口,都启用OSPF认证。

更加高效的配置方案是:OSPF 区域认证

解决方案

OSPF 区域认证,即该设备上的所有属于特点区域的接口,都启用认证功能。

OSPF区域认证 的类型分为“明文认证”和“密文认证”。

配置思路

如图配置接口IP地址和OSPF多区域网络。

在属于区域0的每个路由器上配置OSPF区域认证。

配置命令

  1. 配置R2/R3/R4/R5的 OSPF 区域 0 认证。
  2. 明文认证:
    • ospf 1
    • area 0
    • authentication-mode simple cipher 0000
    • quit
  3. 密文认证:
    • ospf 1
    • area 0
    • authentication-mode md5 10 cipher 0000
    • quit

小结

OSPF区域认证,对该设备上的属于指定区域的所有接口都起作用。

明文认证的规则是:链路两端的认证类型和密码都要相同。

密文认证的规则是:链路两端的认证类型,key id和密码都要相同。

针对同一个区域的链路,同时配置了区域认证和链路认证,优先使用链路认证的密码进行加密和认证。

OSPF不连续区域之虚链路

项目背景

企业内网运行多区域 OSPF网络,因网络规划问题,导致区域12没有连接到骨干区域。

现因业务需要,需确保R1能和其他区域的设备实现快速互通。

项目分析

正常的OSPF网络架构中,所有的非骨干区域,必须和骨干区域直接相连。

不同区域之间的数据包进行互通,必须使用区域之间的路由条目。

不同区域之间的路由,是通过 Sum-net LSA 表示的。而这种LSA只有ABR可以产生。

故:必须确保区域12存在ABR设备。此时使用方案:虚链路(vlink-peer)。

解决方案

OSPF虚链路,即永远属于骨干区域的一个虚拟的链路。通过虚拟链路建立的邻居,也都属于OSPF骨干区域。

OSPF虚链路的建立,必须要穿越‘普通的’非骨干区域。

配置思路

如图配置接口IP地址和OSPF多区域网络。

穿越普通区域34,在R2和R5之间建立OSPF虚链路。

虚链路配置命令

  1. 配置R2的OSPF虚链路:
    • ospf 2
    • area 34
    • vlink-peer 5.5.5.5 //vlink-peer后面跟的是对端设备的router-id。
  2. 配置R5的OSPF虚链路:
    • ospf 5
    • area 34
    • vlink-peer 2.2.2.2 //vlink-peer后面跟的是对端设备的router-id。

配置前后对比

  1. 配置前:
    • 各个设备无法学习区域12的路由,区域12也无法学习其他区域的路由。
    • R1没有其他区域的路由条目,R1无法ping通R6。
  2. 配置后:
    • 区域12通过虚链路成功与区域0直接连接,各个设备能够完成路由信息的传递和学习。

测试

  1. 查看OSPF虚链路状态
    • display ospf vlink
  2. 查看R1的OSPF路由表,可以学习到其他区域的路由
    • display ip routing-table protocol ospf
  3. 测试R1与R6的连通性
    • ping一下192.168.56.6,成功通信。

小结

OSPF多区域网络设计中,必须确保非骨干区域与骨干区域相连。

OSPF虚链路永远属于OSPF骨干区域。

OSPF虚链路的建立,必须穿越普通的非骨干区域,无法穿越特殊区域。

OSPF虚链路,是在两个ABR设备之间建立的。

OSPF虚链路配置中,vlink-pper参数后面跟的是router-id,不是接口IP地址。

OSPF不连续区域之多进程导入

项目背景

企业内网运行多区域OSPF网络,因网络规划问题,导致区域12没有连接到骨干区域。

现因业务需要,需确保R1能和其他区域的设备实现快速互通。

项目分析

正常的OSPF网络架构中,所有的非骨干区域,必须与骨干区域直接相连。

不同的区域之间互通,必须确保相互有对方的路由条目。

OSPF路由条目的类型分为内部路由和外部路由。

如果不使用‘虚链路’的方式,可以使用‘外部路由’,确保R1与其他区域的网段互通。

解决方案

在区域12的R2上,运行2个OSPF进程:R2通过OSPF进程1,与R1建立邻居关系;R2通过OSPF进程3,与R3建立邻居关系。

在R2上,将OSPF进程1和3,进行相互导入(import-route)

配置思路

如图配置接口IP地址和OSPF多区域网络。

在R2上创建两个OSPF进程,然后再在各自的进程中,引入另外的OSPF进程。

多进程导入配置命令

  1. 在R2上配置OSPF进程2:
    • ospf 2 router-id 2.2.2.2
    • area 12
    • network 192.168.12.0 0.0.0.255 //宣告直连接口路由进入区域12。
    • import-route ospf 3 //导入OSPF进程3学习的路由条目到OSPF进程2。
  2. 在R2上配置OSPF进程3:
    • ospf 3 router-id 2.2.2.2
    • area 34
    • network 192.168.23.0 0.0.0.255 //宣告直连接口路由进入区域23。
    • import-route ospf 2 //导入OSPF进程2学习的路由条目到OSPF进程3。

测试与结果

  1. 查看OSPF路由条目:
    • display ip routing-table protocol ospf //可以查看到其他区域的路由条目,以O_ASE的形式存在。
  2. O_ASE路由是指那些OSPF AS(自治系统)之外的网络中学习到的路由。属于外部路由,类型5。
  3. ping 192.168.56.6,成功连通。

小结

不同网段之间的互通,是依靠路由表中的路由条目。

OSPF的路由类型分为:外部路由和内部路由。

OSPF内部路由:即通过network命令产生的路由。

OSPF外部路由:即通过import-route 命令产生的路由。

在同一个路由器上,不同的OSPF进程,相当于不同的路由协议,可以使用import-route进行导入,导入后的路由是以外部路由的形式存在。

OSPF不连续区域之GRE隧道

项目背景

企业内网运行多区域OSPF网络,因网络规划问题,导致区域12没有连接到骨干网络。

现因业务需要,需确保R1能和其他区域额设备实现快速互通。

项目分析

实现R1与其他区域快速互通最好的办法,就是连接一个线路到骨干区域0的设备上,然后宣告进入到OSPF区域0,即直接连接到骨干区域。

但是,因为不能随意更改网络结构,所以我们只能使用虚拟的线路。

在虚拟线路的解决方案中,有虚链路和GRE隧道两种方法。

OSPF虚链路非常的不稳定且太依赖传输区域,所以可以使用GRE的方法。

解决方案

GRE隧道(Generic Routing Encapsulation),即通用路由封装。

在R2和R5之间利用稳定的接口,建立GRE隧道,宣告进入到OSPF区域0,确保区域12可以之间连接到区域0。

配置思路

如图配置接口IP地址和OSPF多区域网络。

在R2和R5建立稳定的回环口,建立GRE隧道,并将其宣告进入区域0。

配置命令

  1. 配置R2和R5的环回口,并宣告进入区域 34
    • R2:
      • [R2]interface loopback 25
      • [R2-loopback25]ip address 10.10.25.2 32
      • [R2-loopback25]quit
      • [R2]ospf 2
      • [R2-ospf-2]area 34
      • [R2-ospf-2-0.0.0.34]network 10.10.25.2 0.0.0.0
    • R5:
      • [R5]interface loopback 25
      • [R5-loopback25]ip address 10.10.25.5 32
      • [R5-loopback25]quit
      • [R5]ospf 5
      • [R5-ospf-5]area 34
      • [R5-ospf-2-0.0.0.34]network 10.10.25.5 0.0.0.0
  2. 配置R2和R5,建立GRE隧道,并配置隧道的接口地址:
    • R2:
      • [R2]interface tunnel 0/0/25
      • [R2-tunnel0/0/25]tunnel-protocol gre
      • [R2-tunnel0/0/25]source 10.10.25.2
      • [R2-tunnel0/0/25]destination 10.10.25.5
      • [R2-tunnel0/0/25]ip address 192.168.25.2 24
      • quit
    • R5:
      • [R5]interface tunnel 0/0/25
      • [R5-tunnel0/0/25]tunnel-protocol gre
      • [R5-tunnel0/0/25]source 10.10.25.5
      • [R5-tunnel0/0/25]destination 10.10.25.2
      • [R5-tunnel0/0/25]ip address 192.168.25.5 24
      • quit
  3. 配置R2和R5,分别将GRE隧道的网段,宣告进入到区域0
    • R2:
      • [R2]ospf 2
      • [R2-ospf-2]area 0
      • [R2-ospf-2-0.0.0.0]network 192.168.25.0 0.0.0.255
      • quit
    • R5:
      • [R5]ospf 5
      • [R5-ospf-5]area 0
      • [R5-ospf-5-0.0.0.0]network 192.168.25.0 0.0.0.255
      • quit
  4. 配置基本完成,查看路由表,邻居关系等信息,验证是否建立了区域0的OSPF邻居关系。

小结

GRE隧道,是一种“数据”重新封装的技术,即将原始数据包,使用GRE隧道的源和目标IP地址,重新封装一个IP头部信息。

在GRE隧道中传输数据时,路由器只能查看到外层头部信息,不能查看原始数据的真实头部信息。

只要GRE隧道可以建立,通过GRE隧道转发的不同区域之间的数据就肯定可以互通,这是不同于OSPF虚链路的地方。比OSPF虚链路更加稳定和可靠。

OSPF路由表管理

项目背景

为了提高企业内网的稳定性,在骨干区域增加了冗余设备的线路。

为了更好地利用这些线路,需要优化这些数据地转发路径。

项目分析

在区域 0 中,存在多个数据转发路径。R8作为R3/R4的备份设备。

最优的数据转发路径为:R2->R3->R4->R5。

R1经过R2访问R6时,存在2个可能的路径,下一跳IP分别为R3和R8。

在路由表中,表示一个路由好坏的属性为:开销值和优先级。

路由的开销:表示的是去往一个目标网段的距离长短;越小越好

路由的优先级:表示的是一个路由条目的稳定性;越小越好

调整线路上的入接口的Cost(开销值),确保R2的路由表中,去往R6的下一跳为R3的路由条目的Cost值更小。(入接口指的是路由方向的入接口,数据包的传输方向和路由的传输方向是相反的。)

查看入接口的开销值:display ospf interface 端口号。

配置思路:

如图配置IP地址和多区域OSPF

使用Tracert命令查看当前R2到达R6的所经过的路径。(显示的路径为R2-R8-R5-R6)

为了确保数据的传输路径为:R1-R2-R3-R4-R5-R6,所以要把R2的g0/0/2和 R3的g0/0/2的接口开销值增大;同时,为了确保数据返回的路径为R6-R5-R4-R3-R2-R1,所以要把R4的g0/0/2和R5的g0/0/2的接口开销值增大。

修改R2连接R8的接口的Cost,调整为大于1的值,调整后,去往R3的Cost值更小,路由会优先选择R3。

配置命令:

  1. 在R2的去往R8的接口上配置
    • interface g0/0/2
    • ospf cost 3 //修改接口的OSPF开销为3;默认为1。
  2. 查看R2去往R6,数据所经过的路径。
    • tracert 192.168.56.6
  3. 查看R2的接口和路由表
    • display ospf interface g0/0/2 //查看接口的ospf开销值。
    • display ip routing-table protocol ospf //查看ospf路由表。
  4. R2的g0/0/2开销配置完成后,通过tracert查看转发路径发现,数据包会优先去往R3,但是不会走R4而是走R8,此时还需要在R3上修改去往R8端口的开销,从而让数据优先走R4。最终实现数据传输路径为R2->R3->R4->R5。

小结

路由的优先级,表示的是路由的稳定性,越小越好。

路由的开销,表示的是距离目标网络的距离,越小越好。

比较路由的好坏时,先比较优先级,再比较开销。

修改路由的开销,一定要修改路由传递发向上的接口的开销值(路由传递方向和数据传输方向是相反的)。

内部路由的优先级,默认是10.

外部路由的优先级,默认是150.

在OSPF中,当开销值和路由优先级相同时,数据转发的方向选择遵循以下规则:

  1. 负载均衡:如果到达相同目标网段的多条路由的开销值和优先级都相同,OSPF会进行负载均衡,将数据流量均匀分配到这些等价的路由上。
  2. 路由类型:如果路由类型不同,OSPF会根据路由类型的优先级来选择路由。路由类型优先级从高到低的顺序是:O(域内路由)、OA(域间路由)、O E1(类型1外部路由)、O E2(类型2外部路由)、O N1(类型1 NSSA路由)、O N2(类型2 NSSA路由)。
  3. 种子度量值:对于类型1和类型2的外部路由,如果开销值类型相同,OSPF会先比较种子度量值,选择种子度量值小的路由。
  4. 沿途累加开销值:如果种子度量值也相同,则比较沿途累加开销值,选择沿途累加开销值小的路由。
  5. 路由器ID:如果以上条件都相同,OSPF会选择路由器ID较大的路由。
  6. 综上所述,OSPF在开销值和路由优先级相同的情况下,会根据路由类型、种子度量值、沿途累加开销值和路由器ID等因素来选择数据转发的方向。如果所有条件都相同,则进行负载均衡。

OSPF路由过滤之 route-policy

项目背景

企业内网部分网络运行OSPF协议,但是服务器所在的部门使用静态。

匹配路由控制策略,确保PC1仅仅能访问Server2。

项目分析

R1和R2之间通过配置静态路由实现互通。

为了实现PC1访问Server2,必须在R2上宣告配置的静态路由进入OSPF。

宣告静态路由进入OSPF协议,使用的时import-route命令。

在R2本地存在两个静态路由,需要在使用import-route命令时,借助路由策略工具,过滤掉其他不关心的路由条目。

该路由策略工具,必须具备抓取感兴趣路由以及过滤路由的功能。

解决方案

在OSPF协议中,通过import-route 命令宣告静态路由进入OSPF的时候,可以借助路由过滤工具(route-policy),实现过滤路由的效果。

route-policy中,需要借助ACL工具抓取感兴趣的路由条目。

配置思路

如图配置接口的IP地址和多区域OSPF网络。

在R2和R1之间配置静态路由,确保R2可以访问Server1和Server2。

在R2上配置基本ACL匹配路由,配置route-policy过滤路由

在R2上,使用import-route static 命令,宣告静态路由进入OSPF。同时关联route-policy,实现仅仅引入Server2所在的网段(2.0网段)进入OSPF,(1.0网段)被过滤。

配置命令

  1. 配置R1和R2的静态路由:
    • R1:
      • ip route-static 192.168.0.0 16 192.168.12.2
    • R2:
      • ip route-static 192.168.1.0 24 192.168.12.1
      • ip route-static 192.168.2.0 24 192.168.12.1
  2. 配置R2上的ACL和route-policy
    • 配置基本ACL:
      • [ar2]ACL 2000 //用于匹配去往Server2的路由条目。
      • [ar2-acl-basic-2000]rule 10 permit souce 192.168.2.0 0.0.0.255
      • [ar2-acl-basic-2000]quit
    • 配置route-policy
      • [ar2]route-policy A permit node 10 //创建路由策略 — A。
      • [ar2-route-policy]if-match acl 2000
      • [ar2-route-policy]quit
  3. 配置R2上的import-route 和 route-policy A
    • [R2]ospf 1
    • [R2-ospf-1]import route-static route-policy A //引入静态路由,并通过路由策略A进行过滤。//仅仅运行Server2所在网段进入OSPF协议。
  4. 验证与测试
    • 在R5上验证OSPF路由表:
      • display ip routing-table protocol ospf
    • PC1 ping Server1
      • ping 192.168.1.1 //不通。
    • PC1 ping Server2
      • ping 192.168.2.1 //通。

小结

基本ACL在匹配路由的时候,只能匹配路由的网段,不匹配掩码。

基本ACL在匹配路由的时候,最后一个隐含的条目是:拒绝所有。

Route-policy 最后存在一个隐含的条目,动作是拒绝所有。

Route-policy 不仅可以用来匹配路由,还可以修改路由的属性。

OSPF路由过滤之LSA过滤

项目背景

企业内网运行多区域OSPF网络,区域之间通过骨干区域互通。

为了确保业务安全,现控制区域56的设备与用户,不允许访问区域12中的设备和资源,同时减少区域56中的设备资源的占用率。

项目分析

确保区域56无法访问区域12的设备,就必须确保区域56中的设备上不能包含区域12的路由条目。

想要实现上述目标,有两种解决方案:过滤路由表、过滤数据库

过滤路由表:需要在区域56的每一个设备上配置策略,工作量大。并且不能确保最大程度节省设备资源占用率。

过滤数据库:仅需要在区域56上的ABR上配置,最大程度节省资源。

解决方案

过滤数据库,即过滤OSPF路由器之间传递的 LSA(链路状态信息)。

表示区域之间路由的 LSA ,称为 3 类LSA ,只能由ABR产生,在不同的区域之间传输。

区域 56 中的设备学习到区域 12 的路由,是由 R5 产生的 3类LSA 计算出来的。

在R5上, 3类LSA 进入区域56的时候,可以过滤区域12的路由条目。

配置思路

如图配置接口IP地址和多区域OSPF多区域网络。

在R5上配置ACL,匹配区域12的路由,通过 filter命令 进行过滤。

配置命令

R5作为区域56的ABR, 能够接收到区域12 的 3类LSA,通过ACL来控制R5不接收区域12的LSA。

  1. 在R5创建ACL,匹配区域12的路由条目。
    • [R5]acl 2012
    • [R5-acl-basic-2012]rule 10 deny source 192.168.12.0 0.0.0.255 //拒绝192.168.12.0/24的路由条目。
    • [R5-acl-basic-2012]rule 20 permit source any //允许其他所有路由。
  2. 在R5的区域56中配置 3类LSA 过滤。
    • [R5]ospf 1
    • [R5-ospf-1]area 56
    • [R5-ospf-1-0.0.0.56]filter 2012 import //区域56在接收 3类LSA 的时候,基于ACL2012规则过滤。

验证与测试

  1. 验证R6的数据库和路由表
    • display ospf lsdb //查看R6的ospf数据库,区域12路由的LSA不存在。
    • display ip routing-table protocol ospf //R6的OSPF协议路由表中没有区域12的路由。
    • 通过上面两个命令,可以证实区域12的路由已被过滤,不会进入区域56的设备的路由表中。
    • 而R5作为ABR是可以接收到区域12的路由的,因此R5的路由表中存在区域12的路由。
  2. 测试R1与R6的连通性
    • [R6]ping 192.168.12.1 //无法互通。因为R6没有去往目标IP的路由。
  3. 测试R5和R1的连通性
    • [R5]ping 192.168.12.1 //互通,因为R5作为ABR拥有去往区域12的路由。
    • R5配置了ACL过滤了区域12的 3类LSA ,使其无法进入区域56,而R6作为区域56的内部设备,无法学习到区域12的路由,因此R6无法与R1通信。

小结

基本LSA过滤,达到过滤路由的效果,需了解常见LSA的作用。

基于LSA过滤策略,只能配置在‘产生LSA’的路由器上。

通过ACL匹配路由条目的时候,最后的隐含条目是:拒绝所有。

LSA在区域之间的是有传输方向的:import和export。所以在配置策略的时候,一定要确定目前所在的区域以及 LSA 的传递方向。

认识不同LSA

查看OSPF数据库

display ospf lsdb

区分不同类型的LSA:

  • 1类LSA:router
  • 2类LSA:network
  • 3类LSA:sum-net
  • 4类LSA:sum-asbr
  • 5类LSA:external,普通区域的外部路由。
  • 7类LSA:nssa,nssa区域的外部路由。
  • 6类LSA:不存在。

LSA和路由之间的关系

  • 内部路由:通过network命令宣告的路由
    • 区域内路由,通过1类LSA产生,每台路由器都会产生。
    • 区域间路由,只有ABR可以产生。
  • 外部路由:通过import-route命令宣告的路由
    • 普通区域的外部路由,通过5类LSA表示,普通区域的ASBR可以产生。
    • 特殊区域的外部路由,通过7类LSA表示,特殊区域的ASBR可以产生。
No Comments

Send Comment Edit Comment


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
Previous
Next