Network Ospf Type-4什么时候存在,其作用是?

OSPF 区域划分的时候,如果非骨干区域有外部路由引入;其ASBR路由器会泛洪TYPE-5 LSA通告,描述到外部网络路由,Type-5LSA 会在整个AS系统泛洪,除了几个特殊区域。type5的LSA的advRouter是ASBR的router-id.这个router-id 只会在其它区域内泛洪,也就不知道该ASBR,

而我们OSPF内部的路由器如果想前往这些外部网段,则需要同时具备两个条件:

1.知道外部的路由(这通过重发布的动作,已经完成了注入,借助5类LSA完成传播)

2.知道完成这个重分发动作的ASBR的位置

与ASBR在同一区域的区域内部路由器,能通过ASBR产生的1类LSA知道该ASBR的位置(1类LSA中E位=1,所以与ASBR同区域的路由器都知道),但是问题来了,1类LSA的泛洪范围是本区域内,那么该区域外的路由器如何得知这台ASBR的位置呢?

那么就需要借助4类LSA了。

Network 配置OSPF 接口开销

OSPF 使用 Cost (开销)作为路由度量值,所谓开销,亦可理解为成本或者代价, Cost 值越小,则路径(路由)越优。首先每一个激活 OSPF 的接口都拥有一个接口级别的 Cost 值,这个值等于 OSPF 带宽参考值/接口带宽,取计算结果的整数部分,当结果小于 时,值取1 。

调整接口cost

OSPF接口值可以手动调整,来手动调整路径。通过调节接口 ost 从而影响 OSPF 路由计算,这种方法在实际的工程中常被用到。

interface GigabitEthernet0/0/0
ip address 10.1.23.1 255.255.255.0
ospf cost 48
ospf enable 1 area 0.0.0.0

配置带宽参考值

  1. 执行命令system-view,进入系统视图。
  2. 执行命令ospf [ process-id ],进入OSPF进程视图。
  3. 执行命令bandwidth-reference value,配置带宽参考值。value为计算链路开销时所依据的参考值,单位是Mbit/s。

ospf cost=int(参考带宽÷接口带宽)
Int(n)表示对数值n取整数,如果|n|≤1(n的绝对值小于或等于1),则Int(n)=1

参考带宽默认值=10的8次方,约等于100Mbps
1G链路的Cost=Int(100M÷1000M) = 1
10G链路的Cost=Int(100M÷10000M) = 1

所以,当链路带宽大于100M时,使用参考带宽默认值计算出的OSPF的Cost值永远是1
所以才会有在OSPF里面用命令修改参考带宽的值的命令
如果是1G和10G链路,让OSPF选择带宽高的链路,就要把参考带宽修改得大于10G

等价路由情况下调整下一跳的weight

nexthop命令用来设置等价路由的优先级。在OSPF算出等价路由后,再根据weight的权重值从这些等价路由中选择下一跳,值越小,优先级越高。

undo nexthop命令用来取消路由等价路由的优先级。

缺省情况下,weight的取值是255,等价路由不设置优先级,同时转发报文,进行负载分担。

Network 策略路由PBR

传统路由的缺陷

传统 IP 路由的概念,所谓的路由,指的是当路由器(或其他支持路由功能的网络设备〉收到一个 IP报文时,在其路由表中查询该报文的目的 IP 地址,在找到最匹配的路由表项后,按照该表项所指示的出接口及下一跳 IP 地址转发该报文从这个描述可以看出,路由行为只关心报文的目的IP地址,而并不关心其源 IP 地址当面对一些特殊的需求时,传统的路由行为是存在短板的。

路由策略和策略路由的区别

名称操作对象描述
路由策略路由信息路由策略是一套对路由信息进行过滤,属性设置等操作的方法,通过对路由的操控,来影响数据报文的转发路径。
策略路由数据报文PBR直接对数据报文进行操作,通过多种手段匹配感兴趣的报文,然后执行丢弃或者强制转发路径等操作。

策略路由的分类

本地策略路由:本地策略路由仅对本机下发的报文进行处理,对转发的报文不起作用。

接口策略路由:接口策略路由只对转发的报文起作用,对本地下发的报文(比如本地的Ping报文)不起作用。接口策略路由通过在流行为中配置重定向实现,只对接口入方向的报文生效。缺省情况下,设备按照路由表的下一跳进行报文转发,如果配置了接口策略路由,则设备按照接口策略路由指定的下一跳进行转发。

智能策略路由:智能策略路由SPR(Smart Policy Routing)是基于业务需求的策略路由,通过匹配链路质量和网络业务对链路质量的需求,实现智能选路。

策略路由的应用

一、本地策略路由

路由器有两条链路与外部网络连接。当需要对路由器本身产生的报文进行策略路由时,就需要配置本地策略路由。

二、接口策略路由

  • 基于源地址选路:可以指定内网中一些特定的用户使用高速链路,而普通用户使用低速链路。在RouterA上定义一条策略路由,并且定义路由规则和动作,例如可以在Interface3上使能策略路由。使得所有从Interface3接收的源地址为10.110.0.11/24的PC1的报文通过Interface2发送,而其他的报文可以基于目的地址的方法转发。
  • 根据服务级别选路:对于不同服务要求(如:传送速率、吞吐量以及可靠性等)的数据,根据网络的状况进行不同的路由。如:指定语音与视频等应用使用带宽大的线路,数据应用使用带宽小的线路。假设从Interface1发送报文的线路带宽大,Interface2发送报文的带宽小,则可以在RouterA的Interface3上使用策略路由,使得语音和视频数据通过Interface1发送,数据应用的数据通过Interface2发送,从而满足不同的服务要求。

三、智能策略路由

策略路由的配置步骤

1、配置接口策略路由

配置接口策略路由可以将到达接口的三层报文重定向到指定的下一跳地址。

MQC 包含三个要素
流分类 (Traffic Classifier) 、流行为 (Traffic Behavior) 和流策略 Traffic Policy) ,基本
的思路是,使用流分类来匹配具有共同特征的流 ,使用流行为定义所要执行的动作
然后通过流策略将前面定义好的流分类与流行为进行绑定,最后将流策略应用到设备上,
从而实现”针对特定的流量执行特定的动作”这一目标。

(1)首先创建 ACL3 001 ,使用该 ACL 匹配 192.168. 1. 0/24 用户发往 Server 的流量,
再创建 ACL3002 ,使用该 ACL 匹配 192.168.2.0/24 用户发往 Server 的流量
(2) 然后定义两个流分类:c1及 c2 ,分别调用 ACL3001 ACL3002
(3)接着定义两个流行为: bel be2 ,分别配置将报文重定向到 10.1.13.1,10.1.23.2
(4) 再定义一个流策略 mypolicy ,将流分类 cl 与流行为 bel 绑定,将流分类 c2
与流行 be2 绑定。
(5) 最后将流策略 mypolicy 应用在 GEO/O/O 口的入方向

实验拓扑

配置

R1、R2、R3、SW2 使用OSPF 发布 10.1.21.0、10.1.22.0、10.1.13.0、10.1.23.0、10.1.1.0

Sw1、R3 之间使用静态路由。

配置两条默认路由,分别指向两台出口设备

[R3]ip route-static 0.0.0.0 010.1.13.1
[R3]ip route-static 0.0.0.0 010.1.23.2

配置两个 ACL.分别用于匹配源地址段 192.168. 1. 0/24 92. 168.2.0/24 发往 Server 的流量

[R3]acI3001
[R3-acl-adv-3001]rule pennit ip source 192.168.1.0 0.0.0.255 destination 10.1.1.0 0.0.0.255
[R3 -acl-3001 I]quit
[R3]acl3002
[R3-acl-adv-3002]rule perrnit ip source 192.168.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255
[R3-acl-adv-3002]quit

配置两个流分类,在这两个流分类中分别调用已经定义好两个的 ACL:

[R3]traffic classifi cl
[R3 -cl sifier-c l]if-match acl 3001
[R3-classifier-c l]quit
[R3] classifier c2
[R3 -cl sifier-c2]iιmatch acl 3002
[R3-classifier-c2]quit

定义两个流行为,分别设置重定向的下一跳 IP 地址为 RI 及R2:

[R3 ]traffic behavior be 1
[R3-behavior-bel]redirect ip-nexthop 10.1.13.1
[R3-behavior-be 1 ]quit
[R3 ]traffic behavior be2
[R3-behavior-be2]redirect ip-nexthop 10.1.23.2
[R3-behavior-be2]ψit

定义一个流策略,将上述流分类与流动作进行绑定:

[R3]traffic policy mypolicy
[R3-traffic policy-mypolicy]classifier c1 behavior bel
[R3-trafficpolicy-mypolicy ]c1 sifier c2 behavior be2

将定义好的流策略应用在R3的 GEO/O/O 接口的入方向

[R3]interface GigabitEthernet 0/0/0
[R3-Gigabit0/O/O]traffic-policy mypolicy inbound

如此一来,当R3在 GEO/O/O 接口上收到流量时,由于该接口入方向应用了流策略,
因此 PCl 访问 Server 的流量会被强制转发给 Rl,而 PC2 访问 Server 的流量会被强制转
发给R2,至于其他流量(例如内网可能还存在 192 .1 68. 1. 0/24 192.168.2.0/24 之外的其
他网段)并不匹配流策略中的任何一个流分类,因此这些流量将按照传统 IP 路由的方式,
通过查询路由表进行转发。

再考虑 一下网络发生故障的情况。当 Rl 发生故障时, R3 将立即感知到该故障的发生,其连接 Rl 的接口状态会变成 Down ,这使得使用该接口作为出接口的默认路由立即失效,与此同时, bel 这个流行为也将失效,因为该流行为所定义的下一跳 IP 地址己经失效。此时当 PCl 访问 Server 时,上行流量到达 R3 后, R3 将依据路由表对这些报文进行转发,最终它将根据下一跳为R2的默认路由将报文转发给R2,因此 PCl 发往 Server 的流量可以在 Rl 发生故障时自动切换到R2 。R2发生故障时同理。

上述测试时请使用R1 G0/0/0 ,R2 G0/0/1 口模拟测试故障。

Network 路由策略在双点双向路由重分发场景中的应用

单点路由重分发是指的是在2个路由域之间的一台边界设备上执行路由重分发的场景,这种场景相对简单,缺乏冗余性,一旦边界设备上发生故障,那么譔设备所连接的2个路由域通信就中断了。

双向重分发的场景中存在两台边界设备,而且这两台设备都执行了路由重分发的操作。

双点双向路由重分发虽然增强了网络的可靠性,但是在双点(两台边界设备)上执行双向路由重分发后,次优路径、路由环路及路由倒灌等问题是非常容易被引发的。

配置完常规的路由重分发,观察R4去往1.1.1.1的路由,下一跳只出现了R2/R3其中的一台 ?

到达 OSPF 域的路由 192 168.12.0/24 192.168.13.0/24 的确是出现了等价负载分担,这属于正常。

从以上输出可以看出 R3 的路由表中1.1.1.0/24 路由竟然来源于RIP ,这显然是有问题的,因为这条路由是在 OSPF 中发布的, R3 达该目标网段,理应优选 OSPF 路由,下一跳应该是 Rl 才合理。

然而此时 R3 的路由表中该条路由却是来源于R1 ,而且下一跳为 R4 ,这就出现了次优路径现象一R3 转发到达1.1.1.0/24 的数据时,使用的转发路径为 R4-R2-Rl 。为什么会出现这样的现象?为什么只有1.1.1. 0/24 这条 OSPF 外部路由才会出现这样的现象?

在华为的数通产品上, R1 由的优先级值是 100 OSPF 路由有两个优先级,其中内部路由的优先级值为 10 ,外部路由则为 150 。

双点双向路由重分发是一个经典的课题,这种类型的网络很容易出现路由环路或者
次优路径问题。解决的方法也是多种多样的,解决方案的核心思想是在R2及R3上,将1.1.1.0/24 这条 OSPF 外部路由的优先级值调节得比RIP路由的优先级值更小(例如调整为 99)

R1 dis current-configuration
[V200R003C00]
#
sysname R1

acl number 2000
rule 5 permit source 1.1.1.0 0
#
interface GigabitEthernet0/0/0
ip address 192.168.12.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 192.168.13.1 255.255.255.0

interface LoopBack0
ip address 1.1.1.1 255.255.255.0
#
ospf 1 router-id 1.1.1.1
import-route direct route-policy hcnp
area 0.0.0.0
network 192.168.12.0 0.0.0.255
network 192.168.13.0 0.0.0.255
#
route-policy hcnp permit node 10
if-match acl 2000

R2 配置

sysname R2

acl number 2000
rule 5 permit source 1.1.1.0 0


interface GigabitEthernet0/0/0
ip address 192.168.12.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 192.168.24.2 255.255.255.0
#
interface GigabitEthernet0/0/2

#
ospf 1 router-id 2.2.2.2
import-route rip 1
preference ase route-policy hcnp 150
area 0.0.0.0
network 192.168.12.0 0.0.0.255
#
rip 1
undo summary
version 2
network 192.168.24.0
import-route ospf 1
#
route-policy hcnp permit node 10
if-match acl 2000
apply preference 99

#
R3 的配置

sysname R3

#
acl number 2000
rule 5 permit source 1.1.1.0 0
#

#
interface GigabitEthernet0/0/0
ip address 192.168.13.3 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 192.168.34.3 255.255.255.0

#
#
ospf 1 router-id 3.3.3.3
import-route rip 1
preference ase route-policy hcnp 150
area 0.0.0.0
network 192.168.13.0 0.0.0.255
#
rip 1
version 2
network 192.168.34.0
import-route ospf 1
#
route-policy hcnp permit node 10
if-match acl 2000
apply preference 99

#

R4 的配置

sysname R4
#

interface GigabitEthernet0/0/0
ip address 192.168.24.4 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 192.168.34.4 255.255.255.0

rip 1
undo summary
version 2
network 192.168.24.0
network 192.168.34.0
#


Network 路由策略(Router Policy)

定义

路由策略主要实现了路由过滤和路由属性设置,通过改变路由属性设置来改变网络流量经过的路径。

路由策略并非单一的路由协议,而是一个技术专题或者方法论。

目的

路由协议在发布、接收和引入路由信息时,根据实际组网需求实施一些策略,以便对路由信息进行过滤和改变路由信息的属性,如:

  • 控制路由的接收和发布,只发布和接收必要、合法的路由信息,以控制路由表的容量,提高网络的安全性。
  • 控制路由的引入(路由的重分发),在一种路由协议引入其它路由协议发现的路由信息丰富自己的路由信息时,只引入一部分满足条件的路由信息。
  • 设置特定路由的属性修改通过路由策略过滤的路由的属性,满足自身需要。

实例

route-policy hcie permit node 10

if-match 1

if-match 2

apply 3

route-policy hcie permit node 15

if-match x1

if-match x2

apply y1

route-policy hcie permit node 20

if-match x3

apply y2

路由策略的名字根据需要自己定义。这些if-match 语句之间是与的关系,也就是所有的if-match语句必须同时满足,也就例外的情况:

匹配模式

  • Permit: 指定该节点的匹配模式为允许。如果路由匹配的结果是满足该节点的所有
    if match 语
    句,则该路由被视为允许通过,该节点的 apply 语句将被执行,且不再进
    入下一个节点:如果该节点中有 if-match 语句不满足,则进入下一个节点继续匹配。
  • Deny: 指定节点的匹配模式为拒绝。如果节点的匹配模式为 deny ,则该节点的
    apply 语句将不被执行
    。如果路由匹配的结果是满足该节点的所有 if-match 语句,那么
    Route-Policy 的匹配过程立即结束,不会再进入下一个节点,而且满足该节点条件的路
    由被视为拒绝通过。如果该节点下有 if-match 语句不满足,则进入下 个节点继续匹配。
  • 值得注意的是, Route-Policy 用于路由匹配时,被匹配对象(也就是路由条 目)必须满足 个节点中的所有 if-match 语句,才被认为匹配该节点。如果某条路由没有被Route-Policy 的任何节点匹配,则该路由被视为拒绝通过该 Route-Policy ,也就是说,Route-Policy 的末尾隐含着一个类似拒绝所有的节点。当然,为了避免所有的路由都被拒绝通过,一个 Route-Policy 中必须至少有一个节点的匹配模式为 permit.

路由策略配置任务概览

1、先配置过滤器:路由策略过滤器包括访问控制列表、地址前缀列表、AS路径过滤器、团体属性过滤器、扩展团体属性过滤器和RD属性过滤器。路由策略的过滤器不仅可以在路由策略的if-match子句中使用,还可以在特定情况下单独使用。

2、配置路由策略

3、配置策略生效时间(一般立即生效)

以下是一些常用的 if-match 命令、Apply 子句。


匹配 ACL:
if-match acl { acl-number | acl-name }
匹配 IP 前缀列表:
if-match ip-prefix ip-prefix -name
匹配路由的度量值
if-match metric metric
匹配路由的出接口
if-match interface G0/0/1
匹配路由的标记
if-match tag tag

在route-policy视图下,使用 apply 命令指定需执行的动作,这些动作主要是对所匹配的路由的某些属性进行修改,例如修改路由的度量值、优先级值、标记等。
以下是一些常用的 apply 命令。
设置路由的度量值:
apply cost [ + | -] cost
设置路由的度量值类型:
设置 IS-IS 的度量值类型: apply cost-type { external | internal }
设置 OSPF 的度量值类型: apply cost-type { type-l | type-2 }
设置路由的下一跳地址:
apply ip-address next-hop { ipv4-address | peer-address }
设置路由的优先级
apply preference preference
设置路由的标记:
apply tag tag
一个节点中可以不包含任何 apply 语句,此时该节点只被用于执行路由过滤,而不用于设置路由的属性。

举例 在引入直连路由时调用路由策略

需求:

Rl 及R2 在各自的 GEO/O/O 接口上激活 OSPF AreaO内建立邻接关系。 Rl 还有另外 3个直连接口,这 个接口并没有使用 network 命令激活OSPF 。为了让 OSPF 域内的路由器能够学习到 Rl GE0 /0/1 GE0/0/2 接口的路由(且路由的度量值为 20) ,就需要在 Rl 上将直连路由引入 OSPF ,但是这样一来, Rl 所有的直连路由都会被引入,这显然并非我们期望看到的结果.

R1配置

acl 2000

rule permit source 10.0.1.0 0.0.0.0

rule permit source 10.0.2.0 0.0.0.0

quit

创建一个路由策略,名字为hcie 同时配置一个节点,节点编号为10

route-policy hcie permit node 10

在节点10定义一个apply 语句,设置路由度量值为20

if-match acl 20

apply cost 20

quit

配置OSPF

ospf 1

area 0

network 10.1.12.0 0.0.0.255

quit

import-route direct route-policy hcie

ospf 路由过滤为什么只能在in 方向(不绝对)

“哈哈,这个问题问得好,这和OSPF的LSA有关系。OSPF在发送区域内路由的时候,是把路由放在LSA-1中放出去的,LSA-1里放的可不只是路由啊,所以发送时无法过滤路由。而收取路由的时候,收到LSA-1以后是先计算SPF,再查看路由表,正好就有机会查看分发列表去决定收取那些路由。”

所以,OSPF区域内路由过滤时,只能用于in方向。