BGP-LS产生的原因

BGP Link State是一种新型的收集网络拓扑信息的技术。

传统网络拓扑信息收集方式是路由器使用IGP(OSPF或IS-IS)协议收集网络拓扑信息,不同网络域中的IGP协议将各个域的拓扑信息单独上送给上层控制器,在这种拓扑收集方式下,存在以下几个问题:

•对上层控制器的计算能力要求较高,且要求控制器也支持IGP协议及其算法。

•当涉及到跨IGP域拓扑信息收集时,上层控制器无法计算到完整的拓扑信息,可能无法计算端到端的最优路径。

•不同的IGP协议分别上送拓扑信息给上层控制器,控制器对拓扑信息的分析处理过程比较复杂。


BGP-LS的优势

BGP-LS特性产生后,IGP协议发现的拓扑信息由BGP协议汇总后上送给上层控制器,利用BGP协议强大的选路和算路能力,有以下几点优势:

•降低对上层控制器计算能力的要求

控制器不需要支持IGP能力,仅需支持BGP即可。

•BGP协议汇总网络拓扑信息

各个进程或各个AS的拓扑信息,直接将完整的拓扑信息上送给控制器,有利于整个网络的路径选择和计算。

•简化拓扑上送协议

网络中所有拓扑信息均通过BGP协议上送控制器。


BGP-LS原理

BGP-LS新定义了一系列链路状态NLRI,分别用来携带节点、链路、路由前缀信息、IPv6路由前缀信息、SRv6 SID路由信息和TE Policy路由信息,这几种路由相互配合,共同完成拓扑信息的传输。链路状态NLRI携带在MP_REACH_NLRI或者MP_UNREACH_NLRI属性中,通过BGP Update消息通告。

BGP-LS目前定义了如下6种链路状态NLRI

Node NLRI(节点 NLRI):记录拓扑的节点信息

格式示例:

[NODE][ISIS-LEVEL-1][IDENTIFIER0][LOCAL[as100][bgp-ls-identifier10.1.1.2][ospf-area-id0.0.0.0][igp-router-id0000.0000.0001.00]]


Link NLRI(链路 NLRI):记录两台设备之间的链路信息

格式示例:

[LINK][ISIS-LEVEL-1][IDENTIFIER0][LOCAL[as255.255][bgp-ls-identifier192.168.102.4][ospf-area-id0.0.0.0][igp-router-id0000.0000.0002.01]][REMOTE[as255.255][bgp-ls-identifier192.168.102.4][ospf-area-id0.0.0.0][igp-router-id0000.0000.0002.00]][LINK[if-address0.0.0.0][peer-address0.0.0.0][if-address::][peer-address::][mt-id0]]


IPv4 Topology Prefix NLRI(IPv4 拓扑前缀 NLRI ):记录节点可达的网段信息

格式示例:

[IPV4-PREFIX][ISIS-LEVEL-1][IDENTIFIER0][LOCAL[as100][bgp-ls-identifier192.168.102.3][ospf-area-id0.0.0.0][igp-router-id0000.0000.0001.00]][PREFIX[mt-id0][ospf-route-type0][prefix192.168.102.0/24]]


IPv6 Topology Prefix NLRI(IPv6 拓扑前缀 NLRI):记录节点可达的网段信息

格式示例:

[IPV6-PREFIX][ISIS-LEVEL-2][IDENTIFIER100][LOCAL[as200][bgp-ls-identifier192.168.11.11][ospf-area-id0.0.0.0][igp-router-id0000.0000.0004.00]][PREFIX[mt-id0][ospf-route-type0][prefix4::4/128]]


SRv6 Sid NLRI:记录节点可达的网段信息

格式示例:

[SRV6-SID][ISIS-LEVEL-2][IDENTIFIER100][LOCAL[as200][bgp-ls-identifier192.168.11.11][ospf-area-id0.0.0.0][igp-router-id0000.0000.0004.00]][SID[mt-id0][sid2001:db8:1::1]]


TE Policy NLRI:记录SR TE Policy相关的拓扑及状态信息

格式示例:

[TEPOLICY][SEGMENT-ROUTING][IDENTIFIER0][LOCAL[as100][bgp-ls-identifier1.1.1.1][bgp-router-id1.1.1.2][ipv4-router-id1.1.1.9][ipv6-router-id::]][TE[protocol-origin3][Flag0][endpoint2.2.2.2][color123][originator-as0][originator-address0.0.0.0][discriminator500]]


使用信而泰测试仪进行BGP-LS基本功能测试

信而泰DarYu系列L2~3层高端仪表支BGP-LS的路由构建、路由解析、拓扑生成等功能。

典型应用场景:

测试仪一端模拟网络,使用IGP(isis)向被测设备通告网络拓扑,另一端模拟上层控制器,接收被测设备发来的BGP-LS路由并计算生成网络拓扑。


BGP-LS原理及基本功能测试方法_ide

构造模型步骤:以下介绍IPv4 BGP-LS测试模型,IPv6 BGP-LS测试方法相似,本文不展开介绍。

1.使用2个端口进行测试,端口1模拟IGP侧,向DUT通告一张网络拓扑。端口2模拟BGP-LS侧,接收DUT生成的BGP-LS路由并根据这些路由计算出IGP网络拓扑。

2.IGP侧端口使用ISIS协议,模拟一张2x2的网格型拓扑,Emulated Router位置选择Attached

BGP-LS原理及基本功能测试方法_链路_02


BGP-LS原理及基本功能测试方法_链路_03


3.配置ISIS时可选“使能TE配置”,通告每个节点间的链路信息,每个节点都通告IPv4和IPv6路由各1条;

BGP-LS原理及基本功能测试方法_ide_04


BGP-LS原理及基本功能测试方法_链路_05


BGP-LS原理及基本功能测试方法_链路_06

4.完成后可以检查每个节点的信息,确认无误后继续进行配置;

BGP-LS原理及基本功能测试方法_链路_07

5.在BGP-LS侧端口创建IPv4 BGP session,使能“查看路由”选项和BGP-LS能力;

BGP-LS原理及基本功能测试方法_ide_08

BGP-LS原理及基本功能测试方法_网络拓扑_09


6.测试仪启动ISIS和BGP,在DUT上分别检查协议是否正常UP;

BGP-LS原理及基本功能测试方法_网络拓扑_10

BGP-LS原理及基本功能测试方法_网络拓扑_11

7. 在DUT上检查BGP-LS路由统计;

BGP-LS原理及基本功能测试方法_链路_12


8.在测试仪BGP-LS侧端口点击“查看BGP路由“,查看接收到的BGP-LS路由信息;

BGP-LS原理及基本功能测试方法_ide_13


9.查看NODE路由信息;

BGP-LS原理及基本功能测试方法_网络拓扑_14

10.查看LINK路由信息;

BGP-LS原理及基本功能测试方法_ide_15

11.查看IPv4 prefix路由信息;

BGP-LS原理及基本功能测试方法_ide_16

12.查看IPv6 prefix路由信息;

BGP-LS原理及基本功能测试方法_网络拓扑_17

13.在测试仪BGP-LS侧端口点击“查看BGP-LS拓扑图“


BGP-LS原理及基本功能测试方法_链路_18

14.测试仪根据接收到的BGP-LS路由信息计算并生成拓扑图,在浏览器中显示;

BGP-LS原理及基本功能测试方法_链路_19