原文网址:配置BGP-LS
BGP-LS是收集网络拓扑的一种新的方式,可以使拓扑收集更加简单高效的进行。
一、应用环境
BGP-LS特性产生前,路由器使用IGP(OSPF、OSPFv3或IS-IS)协议收集网络的拓扑信息,IGP协议将各个域的拓扑信息单独上送给上层控制器,在这种拓扑收集方式下,存在以下几个问题:
- 对上层控制器的计算能力要求较高,且要求控制器也支持IGP协议及其算法;
- 当涉及到跨IGP域拓扑信息收集时,上层控制器无法看到完整的拓扑信息,无法计算端到端的最优路径;
- 不同的路由协议分别上送拓扑信息给上层控制器,控制器对拓扑信息的分析处理过程比较复杂。
BGP-LS特性产生后,IGP协议发现的拓扑信息由BGP协议汇总后上送给上层控制器,利用BGP协议强大的选路能力,可产生以下几点优势:
- 降低对上层控制器计算能力的要求,且不再对控制器的IGP能力有要求;
- BGP协议将各个进程或各个AS的拓扑信息做汇总,直接将完整的拓扑信息上送给控制器,有利于路径选择和计算;
- 网络中所有拓扑信息均通过BGP协议上送控制器,使拓扑上送协议归一化。
需要在与控制器相连的设备上部署BGP-LS特性。
二、前置任务
在配置BGP-LS之前,需完成以下任务:
配置IS-IS的基本功能(IPv4)或配置OSPF的基本功能或配置OSPFv3的基本功能
三、操作步骤
1. 使能IGP协议的拓扑发布功能,请根据网络配置,在下面配置中选择一种进行配置:
-
使能IS-IS拓扑发布功能:
(1)执行命令system-view,进入系统视图。
(2)执行命令isis [ process-id ],启动相应的IS-IS路由进程。
(3)执行命令bgp-ls enable [ level-1 | level-2 | level-1-2 ],使能IS-IS拓扑发布功能。
如果需要配置IS-IS发布Level-1区域内的拓扑功能,并过滤Level-2渗透到Level-1的路由前缀,执行命令bgp-ls enable level-1 level-2-leaking-route-ignore。
(4)(可选)执行命令bgp-ls identifier identifier-value,配置IS-IS中BGP-LS的标识。
(5)执行命令commit,提交配置。 -
使能OSPF拓扑发布功能:
(1)执行命令system-view,进入系统视图。
(2)执行命令ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *,创建并运行OSPF进程。
(3)执行命令bgp-ls enable,使能OSPF拓扑发布功能。
(4)(可选)执行命令bgp-ls identifier identifier-value,配置OSPF中BGP-LS的标识。
(5)执行命令commit,提交配置。 -
使能OSPFv3拓扑发布功能:
(1)执行命令system-view,进入系统视图。
(2)执行命令ospfv3 [ process-id ] [ vpn-instance vpn-instance-name ] ,创建并运行OSPFv3进程。
(3)执行命令bgp-ls enable,使能OSPFv3拓扑发布功能。
(4)(可选)执行命令bgp-ls identifier identifier-value,配置OSPFv3中BGP-LS的标识。
(5)执行命令commit,提交配置。
2. 使能BGP-LS能力:
(1)执行命令system-view,进入系统视图。
(2)执行命令bgp as-number,使能BGP协议并进入BGP视图。
(3)执行命令peer { group-name | ipv4-address } as-number as-number,指定BGP对等体的IP地址及其所属的AS编号。
(4)执行命令link-state-family unicast,使能BGP-LS能力并进入BGP-LS地址族视图。
(5)执行命令peer { group-name | ipv4-address } enable,使能与指定对等体(组)之间交换BGP-LS路由信息。
(6)(可选)执行命令domain identifier domain-id,配置BGP-LS的区域标识符。
BGP-LS的区域标识符是使能了BGP-LS能力的设备的标识。如果没有配置BGP-LS的区域标识符,则默认使用BGP的Router ID值。不同设备之间可以配置相同的区域标识符,相同区域标识是设备上报的拓扑在控制器上综合在一起进行算路的必要条件。
(7)(可选)执行命令domain as domain-asNum,配置BGP-LS的区域AS号。
当两台设备BGP AS号不同但是在控制器上需要合并拓扑进行算路时需要使用domain as命令将其区域AS号改为相同。
(8)(可选)执行命令peer { group-name | ipv4-address } reflect-client,配置路由反射器及其客户机。
配置peer reflect-client命令的路由器作为路由反射器,并同时将指定的对等体(组)作为其客户机。
(9)(可选)执行命令peer { group-name | ipv4-address } route-limit limit [ percentage ] [ alert-only | idle-forever | idle-timeout minutes ],设置允许从对等体收到的BGP-LS路由数量。
BGP-LS路由表路由数量通常都很大,为了防止从对等体接收到大量路由而导致消耗过多系统资源,可以使用该命令来为一个BGP设备设置允许从其对等体收到的最大路由数量。若配置idle-forever参数,会使收到的路由数量超限后邻居中断连接,且不会自动重新建立连接,不建议配置该参数。
(10)(可选)执行命令peer { group-name | ipv4-address } route-policy route-policy-name { import | export },对来自对等体(组)的BGP-LS路由或向对等体(组)发布的BGP-LS路由指定路由策略。
在创建路由策略后,使用peer route-policy命令将路由策略应用到指定对等体上,可以对从该对等体(组)接收或向该对等体(组)发布的BGP-LS路由进行控制,只接收本端需要的路由或者只发布对端需要的路由,达到路由管理的目的;同时也能减小BGP-LS路由表的规模,减少对系统资源的消耗。
(11)(可选)执行命令peer { group-name | ipv4-address } route-update-interval interval,配置向对等体(组)发送相同路由前缀更新报文(Update报文)的时间间隔。
当BGP-LS路由变化时,路由器会发送Update报文通知对等体。但如果同一路由频繁变化时,为避免每次变化路由器都要发送Update报文给对等体,可以通过该命令配置发送同一路由的Update报文的时间间隔。
(12)(可选)执行命令peer { group-name | ipv4-address } allow-as-loop num,配置对等体(组)允许AS_Path中AS号重复的次数。
(13)执行命令commit,提交配置。
四、检查配置结果
完成配置后,可以通过以下命令来检查配置结果。
使用display bgp link-state unicast peer命令查看BGP-LS对等体及其状态信息。
使用display bgp link-state unicast routing-table命令查看BGP-LS的路由信息。
使用display bgp link-state unicast routing-table statistics命令查看BGP-LS路由的统计信息。