一、OSPF简介

OSPF:开发式最短路径优先协议

无类别链路状态型IGP协议;由于其基于拓扑进行更新收敛,故更新量会随着拓扑的变大而成指数上升;故OSPF协议为了能在大、中型网络中运行,需要结构化的部署----合理的区域划分、良好的地址规划 正常等开销负载均衡; 跨层封装协议,协议号89;

组播更新 224.0.0.5 224.0.0.6 触发更新+周期更新(30min)

OSPF的数据包 -- 5种:

ospf报文的封装 ospf封装在哪种数据包内_ospf报文的封装

hello包 -- 组播收发,用于邻居、邻接关系的发现、建立、周期保活 

DBD -- 数据库描述包--  本地LSDB(链路状态数据库)目录

LSR---链路状态请求 --  用于询问对端本地未知的LSA信息

LSU-- 链路状态更新 --  用于共享具体的每一条LSA信息

LSack 链路状态确认 -- 确认包

二、OSPF的状态机  -- 两台OSPF路由器间不同关系的阶段

Down  一旦接收到对端的hello包进入下一个状态

Init 初始化   若接收到的hello包中存在本地的RID,那么进入下一个状态机

2way 双向通讯  邻居关系建立的标志

条件:点到点网络直接进入下一个状态机;MA网络进行DR/BDR选举,非DR/BDR之间不能进入下一个状态机;

Exstart预启动 使用不携带数据库目录信息的DBD包,进行主从关系的选举,RID数值大为主,优先进入下一个状态机

exchange准交换  使用携带数据库目录信息的DBD包,进行目录共享,需要ACK确认

loading加载  接收到其他邻接的目录信息后,和本地进行比对,若本地存在未知的LSA信息,将使用LSR询问对端,对端使用LSU来更新这些LSA信息,直至双方数据库一致;

LSU需要ACK确认;

Full 转发   标志着邻接关系已经建立;

三、OSPF的工作过程

路由器上启动OSPF协议后,直连的邻居间,开始组播收发hello包,hello包中将存储本地已知邻居的RID,在双方RID均已知的情况下,建立邻居关系,生成邻居表;

邻居关系建立后,邻居间将进行条件匹配,匹配失败将停留为邻居关系,仅hello周期保活即可;匹配成功者间将进行邻接关系的建立;

邻接关系间的路由器,将使用DBD/LSR/LSU/LSack来获取本地未知的所有LSA信息;使得同一区域内所有路由器的数据库完全一致;---- 数据库表;

当本地数据库完成同步后,将数据库-->有向图-->树型结构图-->将本地到达所有未知网段的最短路径加载于本地路由表中;

收敛完成,仅hello包周期保活即可;正常每30min,邻接关系间再进行一次DBD的对比,若一致及正常;若不一致将马上进行同步;

结构突变:触发更新

  1. 断开网段 直连断开网段的设备,直接使用LSU告知邻接,需确认
  2. 新增网段  直连新增网段的设备,直接使用LSU告知邻接,需确认
  3. 无法沟通    hello time 对应的 dead time ;dead time 到时时,断开邻居关系,去除基于该邻接共享的LSA计算所得路由;

 四、基础配置

[r1]ospf 1 router-id 1.1.1.1

  启动时,定义进程号,仅具有本地意义;建议配置RID;

RID格式为ipv4地址,且需要全网唯一;  手工配置--环回接口上取最大数值的ip地址---物理接口上最大ip地址的数值

宣告:1、区域划分   2、接口激活协议   3、传递接口信息

[r1-ospf-1]area  0

[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0

[r1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255

[r2]display  ospf peer  查看邻居表

[r2]display  ospf peer  brief   查看邻居关系简报

<r1>display  ip routing-table protocol  ospf

[r1]ospf 1

[r1-ospf-1]bandwidth-reference ?

  INTEGER<1-2147483648>  The reference bandwidth (Mbits/s)

[r1-ospf-1]bandwidth-reference 1000

五、关于OSPF的不规则区域问题

  1. 远离骨干的非骨干
  2. 不连续骨干

解决方案:

(1)tunnel 在骨干区域与非法ABR间建立一条隧道,之后将该隧道链路宣告到OSPF协议中

缺点:

  1. 周期的hello与更新,包括触发更新,将一致占用中间穿越区域;
  2. 选路不佳

(2)OSPF的虚链路 

由非法ABR设备,通过直连区域的合法ABR进行授权,来转发路由

由于没有新增链路,故不存在选路不佳问题

[r2]ospf 1

[r2-ospf-1]area 1   两台ABR间的直连区域(同时处于该区域)

[r2-ospf-1-area-0.0.0.1]vlink-peer 4.4.4.4  对端ABR的RID



[r2]display  ospf vlink

缺点:虚链路上的两台ABR间的周期资源占用问题;

  1. 在思科中,取消两台设备的周期行为,hello、更新均收发一次;--不可靠
  2. 在华为中,保留周期--占资源

六、多进程双向重发布

ospf多进程:一台路由器上的多个进程,每个进程拥有自己的数据库,独立计算路由条目,且计算所有不共享;最终将所有最佳路径加载于同一张路由表内;

路由器的一个接口只能工作在一个进程中;

可用于解决不规则区域,将不规则位置工作不同的进程中,实现分开,之后利用重发布技术来共享路由表;  解决了选路不佳和资源占用的问题

[r4]ospf 1

[r4-ospf-1]import-route  ospf  2

[r4-ospf-1]q

[r4]ospf 2

[r4-ospf-2]import-route  ospf  1

七、OSPF的数据库表

查看LSDB目录

<r1>display  ospf lsdb

  ospf协议在不同的条件环境下,将使用不同类别的LSA来传输拓扑或路由信息;

具体查看某条LSA信息

<r1>display  ospf lsdb router 2.2.2.2

 类别名 link-id(页面)

所有类别LSA均携带的信息

  Type      : Router     类别名  此处为1类

  Ls id     : 2.2.2.2      link-id  在目录中的页码号

  Adv rtr   : 2.2.2.2       通告者,该条LSA发出起源设备的RID

  Ls age    : 1255    老化时间,正常1800s周期归0,触发归0;最大老化3609s

  Len       : 48      长度

  Options   :  ABR  E 

  seq#      : 80000016   序列号

  chksum    : 0x4baa    校验和码

LSA类别               传播范围                  通告者                携带信息

LSA1 Router       单区域,本地所在区域     单区域内的所有路由器    本地直连拓扑

LSA2 Network     单区域,本地所在区域           DR          单个MA网段的拓扑

LSA3summary        整个OSPF域               ABR             域间路由条目

LSA4  asbr        除ASBR所在区域外的    与ASBR在一个区域   ASBR所在位置

                           整个ospf域       直连区域0的ABR

                  ASBR所在区域基于1类获取ASBR位置

LSA5 ase            整个OSPF域              ASBR              域外路由条目 

LSA7 nssa          单个NSSA区域             ASBR              域外路由条目  

八、OSPF优化--减少LSA的更新量

【1】汇总--OSPF协议不支持接口汇总,在一个区域内,邻接间传递的是拓扑信息,不能进行汇总;故只能在交互路由的边界设备进行汇总

(1)域间路由汇总--在区域间的ABR上,交互区域间路由条目时进行汇总配置

[r2]ospf 1

[r2-ospf-1]area  1 本地通过该区域1/2类LSA计算所得路由,可以汇总后传递给其他区域

[r2-ospf-1-area-0.0.0.1]abr-summary 3.3.0.0 255.255.252.0

(2)域外路由汇总---ASBR在将外部的路由条目通过重发布协议,共享到OSPF协议中时;

可以进行汇总

[r4]ospf 1

[r4-ospf-1]asbr-summary 99.1.0.0 255.255.252.0

【2】 特殊区域 -- 用于减少各个非骨干区域的LSA数量

不能为骨干区域,不能配置虚链路

[1] 同时不能存在ASBR

(1)末梢区域--拒绝4/5类的LSA;由该区域连接骨干区域的ABR向该区域发布一条3类的缺省

[r2]ospf 1

[r2-ospf-1]area  1

[r2-ospf-1-area-0.0.0.1]stub no-summary

注:该区域内的所有路由器均需配置该命令

(2)完全末梢区域   在末梢区域的基础上,进一步拒绝3类的LSA;仅保留一条3类的缺省路由

先将整个区域所有路由器配置为末梢区域;然后仅再在连接骨干区域的ABR上配置完全即可

[r2]ospf 1

[r2-ospf-1]area  1

[r2-ospf-1-area-0.0.0.1]stub no-summary

[2] 存在ASBR

(1)NSSA 非完全末梢区域  -- 该区域将拒绝4/5类LSA,由该区域连接骨干区域的ABR向该区域发布一条7类的缺省路由;该区域内的ASBR导入域外路由时,基于7类导入,之后通过该区域连接骨干的ABR传递到骨干区域时,转换为5类进入骨干区域;

NSSA设计的重点,不是减少该区域内ASBR产生的域外路由,而是网络中其他部分的ASBR产生的域外路由;

[r2]ospf 1

[r2-ospf-1]area  1

[r2-ospf-1-area-0.0.0.1]nssa

  本区域内部所有设备均需配置

(2)完成NSSA --- 在NSSA的基础上,进一步拒绝3类LSA的进入,由该区域连接骨干区域的ABR向该区域发布一条3类的缺省

先将该区域配置为NSSA区域,之后仅在该区域连接骨干的ABR上配置完全即可

[r2]ospf 1

[r2-ospf-1]area  1          

[r2-ospf-1-area-0.0.0.1]nssa  no-summary

切记:NSSA和完全NSSA的工作环境,需要考虑ISP(运营商)所在位置,否则可能导致环路出现

九、OSPF扩展配置:

(1)认证  ---在直连的邻居或邻接之间,配置身份核实秘钥来保障邻居、邻接间数据沟通的安全性

(2)沉默接口:用于路由器连接PC终端设备的接口,这些接口为全网可达,会在路由协议中被宣告;故这些接口也会周期向下方的终端发送路由协议信息,造成资源占用,及安全问题;故这些接口需要关闭发送RIP/OSPF等协议数据包行为--沉默接口(被动接口) ,切记不要配置到路由器与路由器相连的骨干接口,将导致邻居间无法收发路由信息,无法建立邻居关系

(3)加快收敛 :  通过修改邻居间hello 和dead time,可以实现加快收敛,但频率过高后也会占用更多硬件资源;故hello time为10s时,不太建议再加快;  hello time 为30s时可以酌情修改;邻居间的hello time和dead time 必须完成一致,否则无法建立邻居关系;修改本端的hello time,本端的dead time自动4被关系匹配;对端时间不变,需要手工将两端配置完全一致;

1、(1)接口认证

在直连连接的接口上配置

[r6-GigabitEthernet0/0/1]ospf authentication-mode md5 1 cipher 123456

两端的模式、编号、秘钥必须完全一次

(2)区域认证

[r1]ospf 1

[r1-ospf-1]area  1

[r1-ospf-1-area-0.0.0.1]authentication-mode md5 1 cipher 123456

将该路由器R1,所有属于区域1的接口全部进行认证

(3)虚链路认证

[r10-ospf-1-area-0.0.0.4]vlink-peer  9.9.9.9 md5 1 cipher 123456

2、

[r2]ospf 1 
[r2-ospf-1]silent-interface GigabitEthernet 0/0/2

3、

[r2-GigabitEthernet0/0/0]ospf timer hello 10

4、缺省路由

(1)3类缺省  特殊区域自动产生;末梢、完全末梢、NSSA、完全NSSA

末梢、完全末梢、完全NSSA这3中特殊区域,会在配置完成后,由该区域连接骨干区域的ABR向该区域内部发送;

(2)5类缺省-- 外部路由,重发布产生的;
本地路由器的路由表中,存在任意方式产生的缺省路由后,通过专门的指令,将其重发布到OSPF协议中;

(3)7类缺省  --- NSSA或完全NSSA,自动由该区域连接骨干的ABR发出,但在完全NSSA中还会产生3类缺省,故完全NSSA中7类缺省无意义;默认5类一样也是类型2;

十、扩展部分

1、用关于OSPF状态机的问题

ospf报文的封装 ospf封装在哪种数据包内_p2p_02

 

(1)在MA网络中(进行DR/BDR选举)存在7种状态机

init是路由器A收到邻居B的hello包,但该hello包中没有A的RID;

(2)在点到点网络init状态机在判断可以建立邻居后,直接进入exstart状态机;没有2way状态机----6种状态机

在点到点网络实际仅存在邻接关系;在MA网络(选举DR/BDR)网络中存在邻居和邻接关系;

(3)若邻接间的数据库默认一致,将不需要进入loading状态机;

(4)在hello时间较大时,比如p2mp和nbma工作方式,默认hello time为30s;

hello包收发的间隔较大,从down状态到init需要很长时间的等待,故在两种状态机,存在一个尝试状态机;

华为设备中ospf存在加速建邻机制--- 在两台路由器进行过一次邻接关系建立后,双方存在对端的缓存信息后;二次建邻时将快速完成状态机的切换;--前提是缓存未删除---认证或拥塞

2、关于OSPF的DBD包--- 排序问题(隐性确认问题)

首先在exstart状态机,邻接设备间会使用不携带LSA头部信息的DBD包进行主从关系的选举,该选举的作用决定了那台设备优先进入exchange状态机的顺序;

同时在exchange状态时,邻接间将收发携带LSA头部信息的DBD包;可能由于LSA头部信息较多,将多次收发DBD,也需要进行排序;

所以主优先进入exchange,主在exchange优先发送DBD,在发送一个DBD后,需要接收到对端的DBD后,才能发出下一个DBD;目的在于避免两端同时发送携带LSA的DBD报头,导致链路拥塞;  故为了顺序正常,DBD需要进行隐性确认;

隐性确认:

从在收到主的DBD包后,复制该DBD包的序列号回复DBD;

在主或从未完成所有LSA头部信息的共享前,对端设备需要使用空包(不携带LSA信息,但复制了对端序列号的DBD)来完成确认;

隐性确认可以让ospf协议在exchange状态机取消ACK的确认;

DBD报头中存在标记位来告知邻接,是不是本地第一个DBD和最后一个DBD,同时标记主从关系;

I  为1 标识本地第一个DBD    M位为一标识不是本地最后一个DBD

MS 位为1标识主,为0标识从;  第一次收发的DBD两端均人为是主;

DBD包中将携带接口的MTU值,两端MTU不一致将卡在exstart或exchange状态机;

默认华为不检测接口的MTU;

[r7]interface GigabitEthernet 0/0/1

[r7-GigabitEthernet0/0/1]ospf mtu-enable  开启接口mtu检测

3、附录E --- link-id相同的问题

若一台ABR将两条3类LSA导入其他区域;同时这两条LSA的link-id会相同;

假设:短掩码网段先进入,link-id正常显示;长掩码进入时link-id加反掩码

20.1.0.0/16--link-id  20.1.0.0  

20.1.0.0/24--link-id  20.1.0.255  

若长掩码先进入,再短掩码进入时,长掩码的信息被刷新为反掩码;

4、OSPF选路规则

(1)AD(管理距离,优先级)无关的一种情况:

r2(config)#router ospf 1

r2(config-router)#distance 109 1.1.1.1 0.0.0.0

本地从RID为1.1.1.1的设备处学习到路由条目,管理距离修改109;

一台路由器从两个OSPF邻居处学习到了两条相同的路由时,仅比较度量值,不关注管理距离;因为仅针对一台邻居进行管理距离修改的结果是要么两台都被改,要么修改失败;-关注IOS版本---有时修改RID大路由器管理距离生效,有时需要修改RID小的设备;

(2)AD(管理距离)无关的第二种情况 O  IA 3类

O IA 与 O IA路由相遇,到达相同目标的两条3类路由,这两条路由均通过非骨干传递,仅关注cost值,不关注管理距离;

若一条通过骨干区域传递,另一条同过非骨干区域传递--非骨干传递的路由无效

OSPF的区域水平分割:区域标号为A的3类LSA,不能回到区域A;避免环路产生

先比类型(5/7的LSA才存在类型)-à 区域(骨干优于非骨干)àcost(小优)

(3)OE 与OE   E为5类    N 为7类   默认所有重发布进入路由条目均为类型2,类型2在路由表中cost值不会显示沿途的累加,仅显示起始度量;  

两条均为OE2或者均为N2,起始度量相同; 关注沿途的累加度量 (OE2路由在表中度量默认不显示内部度量,仅显示起始度量)

两条均为OE2或者均为N2,起始度量不同;优先起始度量小的路径;

注:以上设计是便于管理员快速干涉选路;

OE1路由仅比较总度量(起始度量+沿途累加),仅修改起始度量不一定能干涉选路,必须在修改后使得总度量产生区别才能干涉选路;

(4)拓扑优于路由   1/2LSA计算所得路由优于3/4/5/7类计算所得

内部优于外部   3类优于4/5/7类

类型1优于类型2  E1优于E2,N1优于N2,E1优于N2,N1优于E2;

E1与N1相遇,或E2与N2相遇,先比总度量(起始+沿途)小优;度量一致5类优于7类

5、FA-转发地址

正常OSPF区域收到的5类LSA不存在FA值;

产生FA的条件:

(1)5类LSA ---- 假设R2为ASBR,g0/0口工作的OSPF中,g0/1口工作在非ospf协议或不同ospf进程中;若g0/1也同时宣告在和g0/0相同的OSPF进程中,同时该接口的工作方式为广播型;

将在5类LSA中出现FA地址,地址为R2连接R3网段中R3的接口ip;

(2)7类LSA---必然出现FA地址

假设R9为ASBR,S0/0口工作的OSPF中,S0/1口工作在非ospf协议或不同进程中;

S0/1未运行OSPF--FA地址为R9上最后宣告的环回地址(个别IOS也可能是最大环回接口ip地址),若R9没有环回接口;FA地址为R9上最后宣告的物理接口地址(个别IOS也可能是最大的物理接口ip地址)

R9的S0/1也工作OSPF协议中,S0/1接口工作方式为广播,那么FA地址为R10接口ip;

S0/1的工作方式为点到点,那么FA地址为R9的s0/1口ip

切记:在FA地址出现后,4类LSA无效;人为过滤掉4类LSA,依然可达域外;

      当4类LSA存在,却人为过滤了到达FA地址的路由,那么将无法访问域外;

      一旦出现FA地址,所有的选路计算均基于FA地址进行;

 (1)针对存在FA的5/7类路由,4类LSA无意义,仅递归到FA地址;若FA地址被策略过滤导致不可达;

 (2)路由表中的度量是到FA地址的度量,不是到ASBR的度量;

ospf报文的封装 ospf封装在哪种数据包内_网络协议_03

6、NP位+E位   P位被加密,故抓包时看不见P位;

正常NSSA区域内的1类LSA中,N=1    E=0  标识该区域转发7类LSA,不转发5类

非NSSA区域E=1 N=0 标识可以转发5类,不能转发7类

P位为1,标识该区域将执行7类转5类;  P为0,不能7转5;

区域0连接到两个非骨干区域,这两个非骨干假设为区域1和区域2;区域1/2同时连接同一个外部协议,且同时进行了重发布配置;区域1为NSSA区域,区域2为非NSSA区域;那么此时的区域1,P位=0不能进行7转5;故骨干区域只能收到从区域2来的外部路由;

若NSSA和非NSSA均将同一条域外路由向内部传递,仅非NSSA区域可以实现;

若区域1和区域2均为NSSA区域,那么ABR的RID大区域进行7转5,另一个区域不转,

故同一条域外路由,骨干区域只能收到从一个NSSA区域传递的外部路由;若以上条件中,两个区域均为非NSSA区域,那么P位无效,故两个区域的路由均回进入骨干区域;

7、SFP算法 –OSPF防环机制

  1. 在同一个区域每台路由具有一致的LSDB
  2. 每台路由器以自己为根计算到达每个目标的最短路径(最小cost值)
  3. 必须区域划分--

优势-1)域间汇总减少路由条目数量

  1. 汇总路由是在所有明细路由均消失后才删除,网络更稳定
  2. 区域划分后不同类别的LSA传播范围不同,控制更新量

总结:观看OSPF防环文档

过程--基于本地LSDB(1/2类LSA)生成--生成有向图--基于有向图来进行最短路径树生成

最短路径树,关注本地LINK-ID的LSA开始--》基于该LSA内提及到点到点或传输网络信息再查看link-id递归到下一条信息;基于所有点到点和传输网络信息生成最短路径树主干;

然后用树中每台设备的末梢网络信息补充路由表,完成收敛;

8、OSPF优选路径总结:

拓扑优于路由   1/2LSA计算所得路由优于3/4/5/7类计算所得

内部优于外部   3类优于4/5/7类

类型1优于类型2  E1优于E2,N1优于N2,E1优于N2,N1优于E2;

E1与N1相遇,或E2与N2相遇,先比总度量(起始+沿途)小优;度量一致5类优于7类


同一路由本地基于骨干区域和非骨干均学习到,不比较度量,直接优选骨干--非骨干传递的路由无效

OSPF的区域水平分割:区域标号为A的3类LSA,不能回到区域A;避免环路产生

十一、多点重发布+路由策略配置

多点双向重发布:在两种路由协议或同一协议的两个进程间,使用多台ASBR来进行重发布,实现链路备份,提高网络稳定性和效率;

在多点双向重发布中,第一台ASBR重发布完成后,可能重发布到B协议的路由条目,会影响到其他的ABSR,刷新它们的路由表;导致路由条目从A协议发布到B协议后,再重新回到A协议----路由回馈  --- 导致严重的选路不佳;

解决方案:在cisco体系中的eigrp协议,默认与其他协议进行多点双向重发布时,不会出现路由回馈--- cisco 体系中  rip 优先级120  ospf 110  eigrp 90  但重发布进入到eigrp部分的路由其优先级为170;因为优先级不同,使得第一台ASBR在重发布后,影响不了另一台ASBR的路由表,故不出现路由回馈;在华为体系中,由于没有eigrp,故华为在ospf协议中,也使用了双优先级的做法;ospf正常产生的路由优先级为10,重发布进入的5/7类LSA,生成的路由为150;

:在ospf协议中,环回默认工作方式基于32位的主机路由进行传递;因此在多点双向重发布中,ASBR上属于ospf协议的环回接口进行重发布时,ospf按32位传递,其他协议会按照该接口的实际掩码来进行共享;  若掩码不一致,将导致选路问题,配置环回接口为32位主机路由,或修改环回接口在ospf协议中的工作方式均可

在rip协议中由于接口水平分割,在重发布路由和本地正常学习路由出现相同度量时,将负载均衡,最终导致路由不能正常收发,错误选路---路由策略

由于重发布协议,在重发布路由条目的过程中,将清除原有的度量值,添加新的起始度量值;故多点双向重发布中,A协议路由发布到B协议后,B协议到达A协议的选路可能不佳-----路由策略;

路由策略

名词:

控制层面:动态路由协议传递路由协议信息的流量,方向为控制层面流量方向

数据层面:路由器使用已经生成的路由表,转发的用户数据流量;方向与控制层面相反

路由策略:在控制层面流量入或出路由器接口时,抓取流量;对内容进行修改或丢弃,最终影响到路由表的生成,干涉到了路由器的选路;

1、抓取流量

(1)ACL 访问控制列表

ACL设计时是为了处理数据层面流量的限制;也可以用于抓取控制层面的流量;

但由于ACL的设计是基于数据层面流量,故不关注数据包中的子网掩码;使得在抓取控制层面流量时,可能无法精确匹配;

(2)前缀列表 – 专门用于抓取控制层面的流量,精确匹配子网掩码

[r1]ip ip-prefix aa permit 1.1.1.0 25

定制一张名为aa的列表,抓取1.1.1.0/25网络号流量;

默认序列号的步调为10,便于插入

[r1]ip ip-prefix aa index 13 permit 3.3.3.0 24

[r1]ip ip-prefix aa permit 4.4.4.0 24 less-equal  26   掩码长度24到26

[r1]ip ip-prefix aa permit 5.5.5.0 24 greater-equal  30  掩码长度30到32

[r1]ip ip-prefix aa permit 5.5.5.0 24 greater-equal 26 less-equal 30  26到30

length<=ge<=le.

匹配规则:至上而下逐一匹配;上条匹配按上条执行,不再查看下条;默认隐含拒绝所有;

[r1]ip ip-prefix aa permit 0.0.0.0 0 less-equal 32 允许所有

2、路由策略—修改控制层面流量中参数

(1)cisco的偏移列表,在cisco体系中算一种路由策略,在华为体系中不是策略;而是RIP这样的距离矢量协议专用,修改度量的操作;在cisco中偏移列表只能在RIP和eigrp这样的距离矢量协议中使用,华为也一样;在cisco下只能用ACL为其服务;华为下,acl和前缀列表都可以;

[r1]ip ip-prefix aa permit 2.2.2.0 24  使用前缀列表抓取;ACL也可
[r1]interface GigabitEthernet 0/0/1   控制层面流量传输的接口
[r1-GigabitEthernet0/0/1]rip metricin ip-prefix aa 2   流量入,匹配前缀列表aa,度量加2
                         metricout  2000 2      流量出,匹配acl 2000,度量加2

该策略为逐跳行为,效果可以叠加操作;整段路径中流量经过的多个接口均配置了度量增加,最终为总增加度量;

(2)cisco下的分发列表;  华为为过滤策略;

先使用ACL或前缀列表,匹配流量;然后在控制层面流量的入或出接口上限制路由条目的传递;

[r2]ip ip-prefix qq deny 2.2.2.0 24

[r2]ip ip-prefix qq permit 0.0.0.0 0 less-equal 32



[r2]rip  1

 [r2-rip-1]filter-policy ip-prefix qq ?

  export   Specify an export policy  出方向

  import   Specify an import policy  入方向

 [r2-rip-1]filter-policy ip-prefix qq export GigabitEthernet 0/0/0

切记:若使用ACL定义流量,正常华为acl末尾允许所有,但在过滤策略中一定手工配置允许所有命令;

注:OSPF协议中正常无法在出方向调用,因为ospf使用的拓扑更新,在同一个区域内不可以限制拓扑的传递;正常只能在入向调用,并不影响数据库的同步,仅仅是不将该LSA计算所得的路由加载到路由表;

若想出口调用,可以在ABR/ASBR上针对3/4/5/7类lsa进行;

(3)cisco的route-map    华为路由策略

抓流量—acl和前缀列表均可

[r2-acl-basic-2000]rule 1  permit source 1.1.1.0 0.0.0.0

[r2-acl-basic-2000]q

[r2]acl 2001

[r2-acl-basic-2001]rule permit source 1.1.2.0 0.0.0.0

[r2-acl-basic-2001]q



[r2]ip ip-prefix a permit 1.1.3.0 24

[r2]ip ip-prefix b permit  1.1.4.0 24

路由策略

[r2]route-policy huawei deny node 10  创建名为huawei的路由策略,大动作为拒绝,序号为10

[r2-route-policy]if-match acl 2000        匹配一张ACL

[r2-route-policy]q

[r2]route-policy huawei permit node 20     列表huawei序号20,大动作为允许

[r2-route-policy]if-match acl 2001         匹配一张ACL

[r2-route-policy]apply cost-type type-1    定义小动作为修改度量类型,为类型1;

[r2-route-policy]q

[r2]route-policy huawei permit node 30

[r2-route-policy]if-match ip-prefix a   匹配前缀列表

[r2-route-policy]apply cost 7

[r2-route-policy]q

[r2]route-policy huawei permit node 40

[r2-route-policy]if-match ip-prefix b

 [r2-route-policy]apply cost-type type-1

 [r2-route-policy]apply cost 8

[r2-route-policy]q

[r2]route-policy huawei permit  node 50   空表,允许所有;

[r2-route-policy]q

重发布时调用

[r2]ospf  1

 [r2-ospf-1]import-route rip 1 route-policy Huawei

配置指南:

  1. 即便要拒绝一个流量,在抓取时也必须使用允许,之后在路由策略来拒绝;
  2. 至上而下逐一匹配,上条匹配按上条执行,不再查看下条,末尾隐含拒绝所有
  3. 在一条规则中,若没有进行流量匹配那就是匹配所有;若没有应用那么仅对匹配流量进行当前大动作;因此大动作为允许的空表代表允许所有;

(1)或  与  关系

或关系为每个站点(每个序号)间为或关系;

序号10没匹配到流量,再序号20;

[r3]ip ip-prefix a permit  1.1.1.0 24

[r3]acl 2000

[r3-acl-basic-2000]rule permit sou 12.1.1.2 0.0.0.0

route-policy huawei permit node 10

 if-match ip-prefix a

 if-match ip next-hop acl 2000   与关系—被匹配流量必须同时满足这两个条件;

apply cost 10

apply cost-type type-1   与关系,同时执行两种操作

以上为路由条目目标网络号1.1.1.0/24 同时该条目的下一跳为12.1.1.2;

总结或与关系:

条目基于站点号(序号)至上而下逐一匹配,上条匹配按上条执行,不查看下条—或关系

在每一个序号中,同时匹配所有流量,同时执行所有小动作---与关系