BGP for SRv6
IGP for SR只能在自治系统AS(Autonomous System)域内分配SID,通过对AS域内SID的合理编排,可以规划出AS域内的最优路径。为了组建大规模网络,通常需要跨越多个AS,此时IGP for SR无能为力。BGP for SRv6是BGP针对Segment Routing的扩展,能够针对BGP的Peer相关信息分配BGP Peer SID,并将该信息上报给控制器。之后SRv6 TE Policy在编排路径时,使用BGP Peer SID作为编排路径中的一环,从而得到跨域SRv6 TE Policy最优路径。BGP for SRv6主要包括BGP EPE(Egress Peer Engineering)扩展和BGP-LS扩展。
BGP EPE
Peer-Node SID用于指示一个对等体节点。每一个BGP会话都会分配Peer-Node SID。对于基于Loopback接口建立的EBGP邻居,其对应的物理链路可能有多条,那么针对该邻居的Peer-Node SID就会对应多个出接口。
Peer-Adj SID用于指示到达对等体的一个邻接。对于基于Loopback接口建立的EBGP邻居,其对应的物理链路可能有多条,则每个邻接都会分配一个Peer-Adj SID,转发时只能使用指定的链路(对应指定的出接口)进行转发。
在图3-41中,ASBR1-ASBR3间存在两条直连物理链路,二者通过LoopBack接口建立EBGP邻居,BGP EPE针对Peer分配了Peer-Node SID 2001:db8::1,为物理链路分配了Peer-Adj SID 2001:db8:1::2和2001:db8:1::3。而对于使用直连物理接口建立的EBGP邻居,则BGP EPE只分配Peer-Node SID,不再分配Peer-Adj SID,如图3-41中的ASBR1-ASBR5,ARBR2-ASBR4,以及ASBR2-ASBR5,BGP EPE分别仅分配了Peer-Node SID 2001:db8::4,2001:db8::5和2001:db8::6。
Peer-Node SID和Peer-Adj SID均是局部SID,在本机有效。不同设备的Peer-Node SID和Peer-Adj SID可以重复。当前BGP EPE仅支持EBGP邻居场景,对于多跳EBGP邻居,也必须是通过物理链路直连,因为如果存在中间节点,则中间节点上没有BGP Peer SID信息,会造成转发失败。
BGP EPE只是针对BGP邻居节点及相关链路分配SID,并不能构建一个用于转发的路径,BGP Peer SID信息还需要与IGP SID配合才能形成E2E的路径。
BGP-LS
字段 |
解释 |
---|---|
NLRI |
网络层可达信息(Network Layer Reachability Information)。
|
LinkAttribute |
链路信息。是Link NLRI的一部分。
|
字段 |
解释 |
---|---|
NLRI |
网络层可达信息(Network Layer Reachability Information)。
|
SRv6 SID Attribute |
SRv6 SID属性信息。是SRv6 SID NLRI的一部分。
|
字段名 |
长度 |
含义 |
---|---|---|
Type |
16比特 |
TLV类型。 |
Length |
16比特 |
报文长度。 |
Flags |
8比特 |
标志位。用于SRv6 BGP Peer Node SID TLV中。其格式如图3-45所示。
各个标志位详细解释如下:
|
Weight(该字段暂不支持) |
8比特 |
代表SID权重,可以用于负载分担。 |
Peer As Number |
32比特 |
BGP邻居AS号。 |
Peer BGP Identifier |
32比特 |
BGP邻居Router ID。 |