BGP-LS
BGP-LS(BGP Link-state)汇总IGP协议收集的拓扑信息上送给上层控制器。
产生原因
BGP-LS是收集网络拓扑的一种新的方式。
- 对上层控制器的计算能力要求较高,且要求控制器也支持IGP协议及其算法;
- 当涉及到跨IGP域拓扑信息收集时,上层控制器无法看到完整的拓扑信息,无法计算端到端的最优路径;
- 不同的路由协议分别上送拓扑信息给上层控制器,控制器对拓扑信息的分析处理过程比较复杂。
OSPF协议收集网络拓扑的方式可参见《NE20E 特性描述-OSPF》。
IS-IS协议收集网络拓扑的方式可参见《NE20E 特性描述-IS-IS》。
- 降低对上层控制器计算能力的要求,且不再对控制器的IGP能力有要求;
- BGP协议将各个进程或各个AS的拓扑信息做汇总,直接将完整的拓扑信息上送给控制器,有利于路径选择和计算;
- 网络中所有拓扑信息均通过BGP协议上送控制器,使拓扑上送协议归一化。
相关概念
BGP-LS:网络拓扑收集的一种方式,可以使拓扑收集更加简单高效的进行。
BGP-LS路由:携带网络拓扑信息的介质,一共有四种BGP-LS路由,分别用来携带节点、链路、路由前缀信息和TE Policy路由信息。这几种路由相互配合,共同完成拓扑信息的传输。
BGP-LS路由格式
节点路由
格式示例:[NODE][ISIS-LEVEL-1][IDENTIFIER0][LOCAL[as100][bgp-ls-identifier11.1.1.2][ospf-area-id0.0.0.0][igp-router-id0000.0000.0001.00]]
功能:记录拓扑的节点信息。
路由中每个项目的具体含义如表9-7所示。
项目 |
含义 |
---|---|
NODE |
标识此BGP-LS路由是节点路由。 |
ISIS-LEVEL-1 |
收集拓扑的协议,此处为IS-IS。 |
IDENTIFIER0 |
收集拓扑的协议中BGP-LS的标识。 |
LOCAL |
标识此段信息为本地节点的信息。 |
as |
BGP-LS的区域AS号。 |
bgp-ls-identifier |
BGP-LS的区域标识符。 |
ospf-area-id |
OSPF区域的标识。 |
igp-router-id |
IGP协议的Router ID,由收集拓扑的IGP协议产生。此处从IS-IS进程的网络实体名称中获取。 |
链路路由
格式示例:[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]]
功能:记录两台设备之间的链路信息。
路由中每个项目的具体含义如表9-8所示。
项目 |
含义 |
---|---|
LINK |
标识此BGP-LS路由是链路路由。 |
ISIS-LEVEL-1 |
收集拓扑的协议,此处为IS-IS。 |
IDENTIFIER0 |
收集拓扑的协议中BGP-LS的标识。 |
LOCAL |
标识此段信息为本地节点的信息。 |
as |
BGP-LS的区域AS号。 |
bgp-ls-identifier |
BGP-LS的区域标识符。 |
ospf-area-id |
OSPF区域的标识。 |
igp-router-id |
IGP协议的Router ID,由收集拓扑的IGP协议产生。此处从IS-IS进程的网络实体名称中获取。 |
REMOTE |
标识此段信息为对端节点的信息。 |
if-address |
接口地址。 |
peer-address |
对端相连的接口地址。 |
mt-id |
在IGP协议中用于标识接口所绑定的拓扑。 |
地址前缀路由
格式示例:[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]]
功能:记录节点可达的网段信息。
路由中每个项目的具体含义如表9-9所示。
项目 |
含义 |
---|---|
IPV4-PREFIX |
IPv4地址前缀路由,地址前缀路由分为IPv4地址前缀路由和IPv6地址前缀路由。路由器不能本地产生IPv6地址前缀路由,但可以处理来自其他厂商的IPv6地址前缀路由。 |
ISIS-LEVEL-1 |
收集拓扑的协议。 |
IDENTIFIER0 |
收集拓扑的协议中BGP-LS的标识。 |
LOCAL |
标识此段信息为本地节点的信息。 |
as |
BGP-LS的区域AS号。 |
bgp-ls-identifier |
BGP-LS的区域标识符。 |
ospf-area-id |
OSPF区域的标识。 |
igp-router-id |
IGP协议的Router ID,由收集拓扑的IGP协议产生。此处从IS-IS进程的网络实体名称中获取。 |
PREFIX |
标识一条IGP路由。 |
mt-id |
在IGP协议中用于标识接口所绑定的拓扑。 |
ospf-route-type |
OSPF的路由类型:
|
prefix |
IGP路由的前缀地址。 |
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]]
功能:记录SR TE Policy相关的拓扑及状态信息。
路由中每个项目的具体含义如表9-10所示。
项目 |
含义 |
---|---|
TEPOLICY |
标识此BGP-LS路由是TE Policy路由。 |
SEGMENT-ROUTING |
Segment Routing协议。 |
IDENTIFIER0 |
收集拓扑的协议中BGP-LS的标识。 |
LOCAL |
标识此段信息为本地节点的信息。 |
as |
BGP-LS的区域AS号。 |
bgp-ls-identifier |
BGP-LS的区域标识符。 |
bgp-router-id |
BGP Router ID。 |
ipv4-router-id |
IPv4 Router ID。 |
ipv6-router-id |
IPv6 Router ID。 |
TE |
流量工程。 |
protocol-origin2 |
SR-MPLS TE Policy隧道主路径的配置来源。 |
Flag |
标志位。 |
endpoint |
SR-MPLS TE Policy的目的地址。 |
color |
SR-MPLS TE Policy携带的Color属性。 |
originator-as |
SR-MPLS TE Policy隧道主路径配置的AS编号标识。 |
originator-address |
SR-MPLS TE Policy隧道主路径配置的地址标识。 |
discriminator |
SR-MPLS TE Policy隧道主隧道的标识。 |
典型组网
IGP区域内拓扑信息收集
如图9-45所示,DeviceA、DeviceB、DeviceC和DeviceD之间通过IS-IS协议达到IP网络互连的目的。DeviceA、DeviceB、DeviceC和DeviceD同属于区域10,都是Level-2设备。在这种情况下,只需要DeviceA、DeviceB、DeviceC和DeviceD中的任何一台设备部署BGP-LS特性并与控制器建立BGP-LS邻居关系便可以达到整个网络拓扑收集和上送的目的。但为了拓扑上送的可靠性,往往选择两台或两台以上设备都部署BGP-LS特性并与控制器建立BGP-LS邻居关系,由于网络中的设备收集的拓扑信息相同,所以它们之间可以互相作为备份,当有设备出现故障时依然保证拓扑信息的及时上送。
IGP区域间拓扑信息收集
如图9-46所示,DeviceA、DeviceB、DeviceC和DeviceD之间通过IS-IS协议达到IP网络互连的目的。DeviceA、DeviceB和DeviceC属于区域10,DeviceD属于区域20。DeviceA和DeviceB是Level-1设备,DeviceC是Level-1-2设备,DeviceD是Level-2设备。由于Area10和Area20中的设备使用IGP协议收集到的拓扑信息一致,所以也只需要DeviceA、DeviceB、DeviceC和DeviceD中的任何一台设备部署BGP-LS特性并与控制器建立BGP-LS邻居关系便可以达到整个网络拓扑收集和上送的目的。但为了拓扑上送的可靠性,往往选择两台或两台以上设备都部署BGP-LS特性并与控制器建立BGP-LS邻居关系,由于网络中的设备收集的拓扑信息相同,所以它们之间可以互相作为备份,当有设备出现故障时依然保证拓扑信息的及时上送。
BGP自治域间拓扑信息收集
如图9-47所示,DeviceA和DeviceB属于同一自治系统,两者之间建立IS-IS邻居。DeviceA为AS内部的一台非BGP设备。DeviceB和DeviceC之间建立EBGP连接。在这种情况下,由于BGP协议(未使能BGP-LS)不能传递拓扑信息,所以AS100内的设备和AS200内的设备上收集的拓扑信息不同(都只能收集各自AS域的拓扑信息),所以此时要求至少AS100和AS200两个自制系统中都至少有一台设备使能BGP-LS特性并都与控制器建立BGP-LS邻居关系。每个自治系统中有两台或两台以上设备与控制器相连则可以保证拓扑收集与上送的可靠性。
若网络中存在两台控制器,分别与两个自治中的设备相连,如图9-48所示,此时若想两台控制器上都能收集到整个网络的拓扑信息,则需要两台控制器之间建立BGP-LS邻居关系或与控制器相连的DeviceB和DeviceC之间建立BGP-LS邻居关系。
为了减少与控制器连接的数量,可以选择一台(或几台)设备作为BGP-LS反射器,需要与控制器建立BGP-LS邻居的设备都与反射器建立邻居关系。
适用场景
路由器作为转发器,需要收集拓扑信息上送给控制器来实现网络拓扑监控和流量调优的场景。
使用价值
降低对控制器计算能力的要求。
控制器可以看到完整的拓扑信息。
拓扑上送协议归一化。