您现在正在浏览:首页 > 职教文章 > 职教论文 > 路由策略技术

路由策略技术

日期: 2019/8/15 浏览: 1 来源: 学海网收集整理 作者: 学海网

目录
   1. 路由技术定义 1
   2. 路由技术分类 1
   2.1 算法分类 1
   2.2 协议分类 1
   3. 路由协议 2
   3.1 内部网关协议IGP 2
   3.1.1 OSPF路由协议 2
   3.1.2 RIP路由协议 3
   3.2 外部网关协议EGP 3
   3.2.1 域间策略 4
   3.3 RIP与OSPF对比 4
  
   1. 路由策略与策略路由
   路由策略(Routing Policy)是为了改变网络流量所经过的途径而修改路由信息的技术,主要通过改变路由属性(包括可达性)来实现。
   策略路由(Policy Routing)是一种依据用户制定的策略进行路由选择的机制。
   路由器在发布与接收路由信息时,可能需要实施一些策略,以便对路由信息进行过滤,例如只接收或发布满足一定条件的路由信息。一种路由协议可能需要引入其它的路由协议发现的路由信息,同时引入的路由信息必须满足一定的条件,并对所引入的路由信息的某些属性进行设置,以使其满足本协议的要求。
   为实现路由策略,首先要定义将要实施路由策略的路由信息的特征,即定义一组匹配规则。可以以路由信息中的不同属性作为匹配依据进行设置,如目的地址、发布路由信息的路由器地址等。匹配规则可以预先设置好,然后再将它们应用于路由的发布、接收和引入等过程的路由策略中。
   路由策略是控制层面的行为,操作的对象是路由条目,匹配的是路由,具体是指目标网段、掩码、下一跳、度量值、Tag、Community等。
   2. 过滤器
   路由协议可以引用访问控制列表、地址前缀列表、AS路径访问列表、团体属性列表、扩展团体属性列表和Route-policy几种过滤器。下面对各种过滤器逐一进行介绍。
   (1) 访问控制列表
   访问控制列表包括针对IPv4报文的ACL和针对IPv6报文的ACL。用户在定义ACL时可以指定IP(v6)地址和前缀范围,用于匹配路由信息的目的网段地址或下一跳地址。
   (2) 地址前缀列表
   地址前缀列表包括IPv4地址前缀列表和IPv6地址前缀列表。
   地址前缀列表的作用类似于ACL,但比它更为灵活,且更易于用户理解。地址前缀列表在应用于路由信息的过滤时,其匹配对象为路由信息的目的地址信息域;另外,用户可以指定gateway选项,指明只接收某些路由器发布的路由信息。
   一个地址前缀列表由前缀列表名标识。每个前缀列表可以包含多个表项,每个表项可以独立指定一个网络前缀形式的匹配范围,并用一个索引号来标识,索引号指明了进行匹配检查的顺序。
   在匹配的过程中,路由器按升序依次检查由索引号标识的各个表项,只要有某一表项满足条件,就意味着通过该地址前缀列表的过滤,不再进行下一表项检测。
   (3) AS路径访问列表(as-path)
   as-path仅用于BGP。BGP的路由信息中,包含有自治系统路径域。as-path就是针对自治系统路径域指定匹配条件。
   (4) 团体属性列表(community-list)
   community-list仅用于BGP。BGP的路由信息包中,包含一个community属性域,用来标识一个团体。community-list就是针对团体属性域指定匹配条件。
   (5) 扩展团体属性列表(extcommunity-list)
   extcommunity-list仅用于BGP。BGP扩展团体属性有两种,一种是用于VPN的Route-Target(路由目标)扩展团体,另一种则是Source of Origin(源节点)扩展团体。扩展团体属性列表就是针对这两种属性指定匹配条件。
   (6) 路由策略(Route-policy)
   Route-policy是一种比较复杂的过滤器,它不仅可以匹配路由信息的某些属性,还可以在条件满足时改变路由信息的属性。Route-policy可以使用前面几种过滤器定义自己的匹配规则。
   一个Route-policy可以由多个节点(node)构成,不同节点之间是“或”的关系。系统按节点序号依次检查各个节点,如果通过了其中一节点,就意味着通过该Route-policy,不再对其他节点进行匹配测试。
   每个节点可以由一组if-match和apply子句组成。if-match子句定义匹配规则,匹配对象是路由信息的一些属性。同一节点中的不同if-match子句是“与”的关系,只有满足节点内所有if-match子句指定的匹配条件,才能通过该节点的匹配测试。apply子句指定动作,也就是在通过节点的匹配后,对路由信息的一些属性进行设置。
   3. 路由策略的应用
   路由策略主要有两种应用方式:
   路由协议在引入其它路由协议发现的路由时,通过路由策略只引入满足条件的路由信息。
   路由协议在发布或接收路由信息时,通过路由策略对路由信息进行过滤,只接收或发布满足给定条件的路由信息。
   3.1 路由策略典型应用举例
   3.1.1 在IPv4路由引入中应用路由策略
   1. 组网需求
   如图1所示,Router B与Router A之间通过OSPF协议交换路由信息,与Router C之间通过IS-IS协议交换路由信息。
  

路由策略技术

   图1在IPv4路由引入中应用路由策略组网图
   要求在Router B上配置路由引入,将IS-IS路由引入到OSPF中去,并同时使用路由策略设置路由的属性。其中,设置172.17.1.0/24的路由的开销为100,设置172.17.2.0/24的路由的Tag属性为20。
   2. 配置步骤
   (1)配置各接口的IP地址(略)
   (2)配置IS-IS路由协议
   # 配置Router C。
   RouterC system-view
   [RouterC] isis
   [RouterC-isis-1] is-level level-2
   [RouterC-isis-1] network-entity 10.0000.0000.0001.00
   [RouterC-isis-1] quit
   [RouterC] interface serial 2/1
   [RouterC-Serial2/1] isis enable
   [RouterC-Serial2/1] quit
   [RouterC] interface ethernet 1/0
   [RouterC-Ethernet1/0] isis enable
   [RouterC-Ethernet1/0] quit
   [RouterC] interface ethernet 1/1
   [RouterC-Ethernet1/1] isis enable
   [RouterC-Ethernet1/1] quit
   [RouterC] interface ethernet 1/2
   [RouterC-Ethernet1/2] isis enable
   [RouterC-Ethernet1/2] quit
   # 配置Router B。
   RouterB system-view
   [RouterB] isis
   [RouterB-isis-1] is-level level-2
   [RouterB-isis-1] network-entity 10.0000.0000.0002.00
   [RouterB-isis-1] quit
   [RouterB] interface serial 2/1
   [RouterB-Serial2/1] isis enable
   [RouterB-Serial2/1] quit
   (3)配置OSPF路由协议及路由引入
   # 配置Router A,启动OSPF。
   RouterA system-view
   [RouterA] ospf
   [RouterA-ospf-1] area 0
   [RouterA-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
   [RouterA-ospf-1-area-0.0.0.0] quit
   [RouterA-ospf-1] quit
   # 配置Router B,启动OSPF,并引入IS-IS路由。
   [RouterB] ospf
   [RouterB-ospf-1] area 0
   [RouterB-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
   [RouterB-ospf-1-area-0.0.0.0] quit
   [RouterB-ospf-1] import-route isis 1
   [RouterB-ospf-1] quit
   (4)配置过滤列表
   # 配置编号为2002的ACL,允许172.17.2.0/24的路由通过。
   [RouterB] acl number 2002
   [RouterB-acl-basic-2002] rule permit source 172.17.2.0 0.0.0.255
   [RouterB-acl-basic-2002] quit
   # 配置名为prefix-a的地址前缀列表,允许172.17.1.0/24的路由通过。
   [RouterB] ip ip-prefix prefix-a index 10 permit 172.17.1.0 24
   (5)配置路由策略
   [RouterB] route-policy isis2ospf permit node 10
   [RouterB-route-policy] if-match ip-prefix prefix-a
   [RouterB-route-policy] apply cost 100
   [RouterB-route-policy] quit
   [RouterB] route-policy isis2ospf permit node 20
   [RouterB-route-policy] if-match acl 2002
   [RouterB-route-policy] apply tag 20
   [RouterB-route-policy] quit
   [RouterB] route-policy isis2ospf permit node 30
   [RouterB-route-policy] quit
   (6)在路由引入时应用路由策略
   # 配置Router B,设置在路由引入时应用路由策略。
   [RouterB] ospf
   [RouterB-ospf-1] import-route isis 1 route-policy isis2ospf
   [RouterB-ospf-1] quit
   3.1.2 在IPv6路由引入中应用路由策略
   1. 组网需求
   Router A与Router B通信,链路层封装PPP,都运行RIPng协议。
   使能Router A上的RIPng协议,配置三条静态路由。
  
路由策略技术

   在IPv6路由引入中应用路由策略组网图
   设置在引入静态路由时应用路由策略,使三条静态路由部分引入、部分被屏蔽掉—20::/32和40::/32网段的路由是可见的,30::/32网段的路由则被屏蔽。
   通过在Router B上查看RIPng路由表,验证路由策略是否生效。
   2. 组网图
   图1-2 在IPv6路由引入中应用路由策略组网图
   3. 配置步骤
   (1) 配置Router A
   # 配置接口Serial2/0和Serial2/1的IPv6地址,封装PPP协议。
   RouterA system-view
   [RouterA] ipv6
   [RouterA] interface serial 2/0
   [RouterA-Serial2/0] ipv6 address 10::1 32
   [RouterA-Serial2/0] link-protocol ppp
   [RouterA-Serial2/0] quit
   [RouterA] interface serial 2/1
   [RouterA-Serial2/1] ipv6 address 11::1 32
   [RouterA-Serial2/1] link-protocol ppp
   [RouterA-Serial2/1] quit
   # 在接口下使能RIPng。
   [RouterA] interface serial 2/0
   [RouterA-Serial2/0] ripng 1 enable
   [RouterA-Serial2/0] quit
   # 配置三条静态路由。
   [RouterA] ipv6 route-static 20:: 32 serial 2/1
   [RouterA] ipv6 route-static 30:: 32 serial 2/1
   [RouterA] ipv6 route-static 40:: 32 serial 2/1
   # 配置路由策略。
   [RouterA] ip ipv6-prefix a index 10 permit 30:: 32
   [RouterA] route-policy static2ripng deny node 0
   [RouterA-route-policy] if-match ipv6 address prefix-list a
   [RouterA-route-policy] quit
   [RouterA] route-policy static2ripng permit node 10
   [RouterA-route-policy] quit
   # 启动RIPNG协议,同时应用路由策略static2ripng对引入的静态路由进行过滤。
   [RouterA] ripng
   [RouterA-ripng-1] import-route static route-policy static2ripng
   (2) 配置Router B
   # 配置接口Serial2/0的IPv6地址,封装PPP协议。
   RouterB system-view
   [RouterB] ipv6
   [RouterB] interface serial 2/0
   [RouterB-Serial2/0] ipv6 address 10::2 32
   [RouterB-Serial2/0] link-protocol ppp
   # 在接口下使能RIPng。
   [RouterB-Serial2/0] ripng 1 enable
   [RouterB-Serial2/0] quit
   # 启动RIPng协议。
   [RouterB] ripng
   # 查看RIPng路由表。
   [RouterB-ripng-1] display ripng 1 route
   Route Flags: A - Aging, S - Suppressed, G - Garbage-collect
   ----------------------------------------------------------------
   Peer FE80::7D58:0:CA03:1 on Serial2/0
   Dest 10::/32,
   via FE80::7D58:0:CA03:1, cost 1, tag 0, A, 18 Sec
   Dest 20::/32,
   via FE80::7D58:0:CA03:1, cost 1, tag 0, A, 8 Sec
   Dest 40::/32,
   via FE80::7D58:0:CA03:1, cost 1, tag 0, A, 3 Sec
   1.6 常见错误配置举例
   1.6.1 无法实现IPv4路由信息过滤
   1. 错误现象
   路由协议运行正常的情况下无法实现路由信息过滤。
   2. 分析
   地址前缀列表的各个表项中至少应该有一个表项的匹配模式是permit模式。Route-policy的各个节点中至少应该有一个节点的匹配模式是permit模式。
   3. 处理过程
   (1) 使用display ip ip-prefix命令查看前缀列表的配置。
   (2) 使用display route-policy命令查看路由策略的配置。
   1.6.2 无法实现IPv6路由信息过滤
   1. 错误现象
   路由协议运行正常的情况下无法实现路由信息过滤。
   2. 分析
   地址前缀列表的各个表项中至少应该有一个表项的匹配模式是permit模式。Route-policy的各个节点中至少应该有一个节点的匹配模式是permit模式。
   3. 处理过程
   (1) 使用display ip ipv6-prefix命令查看前缀列表的配置。
   (2) 使用display route-policy命令查看路由策略的配置。

返回顶部