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路由并计算生成网络拓扑。
构造模型步骤:以下介绍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
3.配置ISIS时可选“使能TE配置”,通告每个节点间的链路信息,每个节点都通告IPv4和IPv6路由各1条;
4.完成后可以检查每个节点的信息,确认无误后继续进行配置;
5.在BGP-LS侧端口创建IPv4 BGP session,使能“查看路由”选项和BGP-LS能力;
6.测试仪启动ISIS和BGP,在DUT上分别检查协议是否正常UP;
7. 在DUT上检查BGP-LS路由统计;
8.在测试仪BGP-LS侧端口点击“查看BGP路由“,查看接收到的BGP-LS路由信息;
9.查看NODE路由信息;
10.查看LINK路由信息;
11.查看IPv4 prefix路由信息;
12.查看IPv6 prefix路由信息;
13.在测试仪BGP-LS侧端口点击“查看BGP-LS拓扑图“
14.测试仪根据接收到的BGP-LS路由信息计算并生成拓扑图,在浏览器中显示;