调整IS-IS的选路(IPv6)
通过调整IS-IS选路,可以实现对路由选择的精确控制。
应用环境
配置IS-IS的基本功能(IPv6)后,可以得到IS-IS路由表,实现了网络中各节点的互通。
但是,如果网络中存在多条冗余链路,那么此时IS-IS路由表中的路由可能不是期望的最优路由,不能满足网络规划和流量管理的需要。为了达到优化IS-IS网络和便于流量管理的目的,需要对网络中的路由进行更加精确的控制。
- 配置IS-IS接口的开销(IPv6)。
虽然通过修改IS-IS接口的开销,可以在一定程度上达到控制选路的目的。但是,该方式有较大的局限性。因为在网络调整时(尤其是大规模网络),为了达到让某条路由优选而修改了接口开销,将会影响到该接口涉及的所有路由的重新计算和收敛,配置后的结果可能会与期望的不一致。
因此,接口开销的调整尽量在配置IS-IS的基本功能时完成。
配置IS-IS路由渗透(IPv6)。
配置IS-IS对等价路由的处理(IPv6)。
控制将IS-IS路由下发到IP路由表(IPv6)。
配置IS-IS设备进入过载状态(IPv6)。
配置IS-IS路由渗透(IPv6)
在双Level组网中,配置IS-IS路由渗透可以改变Level之间的路由渗透方式,实现对IS-IS路由的控制。
背景信息
如果在一个Level-1区域中有多台Level-1-2设备与Level-2区域相连,每台Level-1-2设备都会在Level-1 LSP中设置ATT标志位,则该区域中就有到达Level-2区域和其他Level-1区域的多条出口路由。
缺省情况下,Level-1区域的路由会渗透到Level-2区域中,因此Level-1-2设备和Level-2设备了解整个网络的拓扑信息。由于Level-1区域的设备只维护本地Level-1区域的LSDB数据库,不知道整个网络的拓扑信息,所以只能选择将流量转发到最近的Level-1-2设备,再由Level-1-2设备将流量转发到Level-2区域。但是,该路由可能不是到达目的地的最优路由。
为了帮助Level-1区域内的设备选择到达其他区域的最优路由,可以配置IPv4 IS-IS路由渗透,将Level-2区域的某些路由渗透到本地Level-1区域。
另外,考虑到网络中部署的某些业务可能只在本地Level-1区域内运行,则无需将这些路由渗透到Level-2区域中,可以通过配置策略仅将部分Level-1区域的路由渗透到Level-2区域。
配置IS-IS对等价路由的处理方式(IPv6)
当IS-IS网络中有多条IPv6等价路由时,可以通过配置负载分担以提高每条链路的利用率。
背景信息
当IS-IS网络中有多条IPv6冗余链路时,可能会出现多条IPv6等价路由,此时配置负载分担。流量会被均匀的分配到每条链路上。
该方式可以提高网络中链路的利用率及减少某些链路负担过重造成阻塞发生的情况。但是由于对流量转发具有一定的随机性,因此可能不利于对业务流量的管理。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令isis [ process-id ],进入IS-IS视图。
- 执行命令ipv6 maximum load-balancing number,配置在负载分担方式下的等价路由的最大数量。
当组网中存在的等价路由数量大于ipv6 maximum load-balancing命令配置的等价路由数量时,按照下面原则选取有效路由进行负载分担:
- 路由优先级:选取优先级小(优先级高)的路由进行负载分担。
- 下一跳设备的System ID:如果路由的优先级相同,则比较下一跳设备的System ID,选取System ID小的路由进行负载分担。
- 本地设备出接口索引:如果路由优先级和下一跳设备的System ID都相同,则比较出接口的接口索引,选取接口索引较小的路由进行负载分担。
- 执行命令commit,提交配置。
控制将IS-IS路由下发到IP路由表(IPv6)
当不希望某些IS-IS路由被优选时,可以通过策略阻止将部分IS-IS路由下发到IP路由表来实现。
背景信息
IP报文是根据IP路由表来进行转发的。IS-IS路由表中的路由条目需要被成功下发到IP路由表中,该路由条目才生效。
因此,可以通过配置基本ACL、IPv6-Prefix、路由策略等方式,只允许匹配的IS-IS路由下发到IP路由表中。不匹配的IS-IS路由将会被阻止进入IP路由表,更不会被优选。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令isis [ process-id ],进入IS-IS视图。
- 配置将部分IS-IS路由下发到IP路由表。
根据实际情况选择其中之一:
- 匹配基本ACL:
- 执行命令ipv6 filter-policy { acl6-number | acl6-name acl6-name } import。
- 执行命令quit,返回系统视图。
- 执行命令acl ipv6 { name basic-acl6-name { basic | [ basic ] number basic-acl6-number } | [ number ] basic-acl6-number } [ match-order { config | auto } ],进入ACL视图。
执行命令rule [ rule-id ] [ name rule-name ] { deny | permit } [ fragment | source { source-ipv6-address { prefix-length | source-wildcard } | source-ipv6-address/prefix-length | any } | time-range time-name | [ vpn-instance vpn-instance-name | vpn-instance-any ] ] *,配置ACL规则。
对于命名型ACL,使用rule命令配置过滤规则时,只有source参数指定的源地址范围和time-range参数指定的时间段对配置规则有效。
使用路由协议下的Filter-Policy策略过滤路由时:如果ACL规则的动作是permit时,则该路由被系统接收或发布;
如果ACL规则的动作是deny时,则该路由不会被系统接收或发布;
如果路由的网段不在ACL规则指定的范围内,则该路由默认不被系统接收或发布;
如果ACL中不存在规则,那么引用该ACL的路由策略中涉及的所有路由不被系统接收或发布;
路由过滤可分为黑名单和白名单方式:
当ACL规则的匹配顺序为配置方式时,系统根据规则编号从小到大的顺序进行匹配。
黑名单方式可以在同一个ACL中先配置动作是deny的编号较小的规则,用于过滤掉不希望被系统接收或发布的路由,然后再配置动作是permit的编号较大的规则,用于接收或发布其他路由。
白名单方式可以在同一个ACL中先配置动作是permit的编号较小的规则,用于允许希望被系统接收或发布的路由,然后再配置动作是deny的编号较大的规则,用于过滤掉其他不希望被系统接收或发布的路由。
匹配地址前缀列表:
执行命令ipv6 filter-policy ipv6-prefix ipv6-prefix-name import。
匹配路由策略:
执行命令ipv6 filter-policy route-policy route-policy-name import。
- 匹配基本ACL:
- 执行命令commit,提交配置。
配置IS-IS设备进入过载状态(IPv6)
配置IS-IS设备进入过载状态可以使某台IS-IS设备暂时从网络中隔离,从而避免造成路由黑洞。
背景信息
当网络中的某些IS-IS设备需要升级或维护时,需要暂时将该设备从网络中隔离。配置IS-IS设备进入过载状态,可以避免其他设备通过该节点来转发流量。
此外,在部署了IS-IS和BGP协议的网络中,由于IS-IS的收敛速度快于BGP,因此通过手动配置IS-IS设备在启动或重启时进入过载状态,等待一段时间后再取消该标志位(即等待BGP也完成收敛),避免造成路由黑洞。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令isis [ process-id ],进入IS-IS视图。
- 执行命令set-overload [ on-startup [ timeout1 | start-from-nbr system-id [ timeout1 [ timeout2 ] ] | wait-for-bgp [ timeout1 ] ] [ route-delay-distribute timeout4 ] [ send-sa-bit [ timeout3 ] ] ] [ allow { interlevel | external } * ],设置过载标志位。
- 执行命令commit,提交配置。
配置IS-IS生成缺省路由(IPv6)
通过配置IS-IS生成IPv6缺省路由,控制IS-IS的路由信息发布。
背景信息
IPv6缺省路由是指::/0的路由,在报文转发过程中,如果报文的目的地址不能与路由表的任何目的地址相匹配,那么该报文将选取缺省路由;如果也没有缺省路由,那么该报文将被丢弃,并向源端报告该目的地址或网络不可达。
-
在指定设备上配置发布缺省路由命令后,该设备会在LSP报文中添加一条缺省路由,邻居设备就会学习到该缺省路由。
-
IS-IS协议规定,如果一台Level-1-2路由器通过Level-2区域比Level-1区域能够到达更多的区域,该路由器会在其所发布的Level-1 LSP内将ATT比特位置位。对于收到ATT比特位置位的LSP报文的Level-1路由器,会生成一条目的地为发送该LSP的Level-1-2路由器的缺省路由。实际应用中,网络管理者可以根据需要对ATT比特位是否置位以及Level-1路由器是否根据ATT比特位置位情况生成缺省路由进行控制,以达到更好地为网络服务的目的。
该方式只适用于Level-1路由器。
操作步骤
- 手动下发命令生成缺省路由
- 执行命令system-view,进入系统视图。
- 执行命令isis [ process-id ],进入IS-IS视图。
- 执行命令ipv6 default-route-advertise [ always | match default | route-policy route-policy-name | route-filter route-filter-name ] [ [ cost cost ] | [ tag tag ] | [ level-1 | level-2 | level-1-2 ] ] * [ avoid-learning ],设置IS-IS生成缺省IPv6路由。
- 执行命令commit,提交配置。
- 根据ATT比特位的置位情况生成缺省路由
检查配置结果
完成调整IS-IS的选路(IPv6)后,可以查看IS-IS的路由表信息。
操作步骤
- 使用display isis route [ process-id | vpn-instance vpn-instance-name ] [ ipv6 ] [ topology topology-name ] [ verbose | [ level-1 | level-2 ] | ipv6-address [ prefix-length ] ] * [ | count ]命令查看IS-IS的路由信息。
- 使用display isis lsdb [ { level-1 | level-2 } | verbose | { local | lsp-id | is-name symbolic-name } ] * [ process-id | vpn-instance vpn-instance-name ]命令查看IS-IS的链路状态数据库信息。