SR-MPLS BE
SR LSP是指使用SR技术建立的标签转发路径,由一个Prefix或Node Segment指导数据包转发。SR-MPLS BE(SegmentRouting Best Effort)是指IGP使用最短路径算法计算得到的最优SR LSP。
SR LSP的创建过程和数据转发与LDP LSP类似。这种LSP不存在Tunnel接口。
SR LSP创建
SR LSP创建需要完成以下动作:
网络拓扑上报(仅在基于控制器创建LSP时需要)/标签分配。
路径计算。
如图2-6所示,基于前缀标签的LSP创建过程可以概括为表2-2。
步骤 |
设备 |
操作 |
---|---|---|
1 |
D |
在D上配置SRGB,在D的Loopback口配置Prefix SID,生成转发表项并下发。之后D将SRGB和Prefix SID封装到LSP报文(如包含SR-Capabilities Sub-TLV的IS-IS Router Capability TLV-242),并将LSP报文通过IGP向全网扩散。 网络中其他设备接收到LSP报文后,解析D发布的Prefix SID,根据自己的SRGB计算标签值,同时根据下一跳节点发布的SRGB计算出标签值(OuterLabel)。使用IGP拓扑计算标签转发路径,然后生成转发表项。 |
2 |
C |
解析D发布的Prefix SID,根据自己的SRGB=[36000–65535]计算标签值,计算公式是:Label=SRGB的起始值+Prefix SID值,所以Label=36000+100=36100。 使用IS-IS拓扑计算出标签(OuterLabel),计算公式是:OuterLabel=下一跳设备发布的SRGB的起始值+Prefix SID值,在本例中,下一跳设备为D,D发布的SRGB范围是[16000–65535],所以OuterLabel=16000+100=16100。 |
3 |
B |
计算过程与C类似,Label=26000+100=26100,OuterLabel=36000+100=36100。 |
4 |
A |
计算过程与C类似,Label=20000+100=20100,OuterLabel=26000+100=26100。 |
数据转发
SR的标签操作类型和MPLS相同,包括标签栈压入(Push)、标签栈交换(Swap)和标签弹出(Pop)。
Push:当报文进入SR LSP时,入节点设备在报文二层首部和IP首部之间插入一个标签;或者根据需要,在报文标签栈的栈顶增加一个新的标签。
Swap:当报文在SR域内转发时,根据标签转发表,用下一跳分配的标签,替换SR报文的栈顶标签。
Pop:当报文在离开SR域时,根据栈顶的标签查找转发出接口之后,将SR报文的栈顶的标签剥掉。
PHP与MPLS QoS、TTL
倒数第二跳弹出PHP(Penultimate Hop Popping),是指在最后一跳节点(Egress节点),标签已经没有使用价值。这种情况下,可以利用倒数第二跳弹出特性PHP(Penultimate Hop Popping),在倒数第二跳节点处将标签弹出,减少最后一跳的负担。最后一跳节点直接进行IP转发或者下一层标签转发。
PHP在Egress节点上配置。在图2-7中,未启用PHP特性,所以即使网元C是SR隧道的倒数第二跳,网元C仍旧使用了到达网元D的真实标签。如果启用了PHP特性,则网元C发往网元D的报文不会携带SR标签。
如果启用PHP特性,则对Egress节点的MPLS QoS和TTL特性都有影响,具体请参考表2-4。
标签方式 |
意义 |
Egress节点的MPLS EXP(QoS) |
Egress节点的MPLS TTL |
场景 |
---|---|---|---|---|
显式空标签(explicit-null) |
不支持PHP特性,Egress节点向倒数第二跳分配显式空标签。IPv4的显式空标签值为0。 |
MPLS EXP字段保留,支持QoS。 |
MPLS TTL正常。 |
节省Egress节点的标签资源。当端到端业务有QoS属性,需要携带在标签EXP中时,可以使用该方式。 |
隐式空标签(implicit-null) |
支持PHP特性,Egress节点向倒数第二跳分配隐式空标签。隐式空标签的值为3。 当一个网元发现自己被分配了隐式空标签时,它并不用这个值替代栈顶原来的标签,而是直接执行Pop操作。Egress节点直接进行IP转发或下一层标签转发。 |
Egress节点的报文无MPLS EXP字段,不支持QoS。 |
Egress节点的报文无MPLS TTL,也不能复制到IP TTL。 |
减少Egress节点的转发压力,提高转发效率。 |
非空标签(non-null) |
不支持PHP特性,Egress节点向倒数第二跳正常分配标签。 |
MPLS EXP字段保留,支持QoS。 |
MPLS TTL正常。 |
这种方式对Egress节点的资源消耗较大,不推荐使用。如果用户想要在Egress节点根据标签区分业务,可以使用该方式。 |
SR与LDP互通
SR作为一种新的替代MPLS的隧道技术受到越来越多的关注,很多用户希望引入SR技术来简化网络部署和管理,降低CAPEX(Capital Expenditure)。
MPLS LDP作为当前主流的隧道技术,在承载网使用广泛。这样在SR逐渐替代LDP的过程中,LDP和SR会在很长的一段时间共存。LDP网络和SR网络之间的互通成为一个必须面对的问题。
SR与LDP互通是一项让Segment Routing和LDP协议在同一网络中共同工作的技术。通过此技术可以让SR网络连接到LDP网络中,实现两个网络之间的MPLS转发。
- Mapping Server: 可以配置Prefix与SID的映射关系,并且发布给Mapping client。
- Mapping Client:接收Mapping Server发布的Prefix与SID的映射关系,创建映射表项。
由于LSP都是单向的,所以SR与LDP互通包括两个关键部分:SR to LDP和LDP to SR,以下分别介绍。
SR to LDP
- PE2上配置IP地址前缀,LDP为该前缀分配标签,并向上游P3发送标签映射消息。
- P3为该前缀分配标签,并向上游P2发送标签映射消息。
- P2接收到标签映射消息后,创建到PE2的LDP LSP。
- P2上配置Mapping Server,将IP地址前缀携带的LDP标签映射为SID。
- P2发布Mapping TLV到上游P1。
- P1发布Mapping TLV到上游PE1。
- PE1解析Mapping TLV,创建到P2的SR LSP。
- P2上建立SR LSP与LDP LSP的映射关系。
在数据转发时,P2设备上没有到PE2的SR Label,所以P2根据Prefix与SID映射关系,SR封装映射为LDP封装。
LDP to SR
- PE1上配置IP地址前缀,并为该前缀配置SID。然后将前缀和SID通过IGP向P1发布。
- P1将前缀和SID通过IGP向P2发布。
- P2接收到前缀和SID后,创建到PE1的SR LSP。
- P2上配置代理LDP Egress,将IP地址前缀携带的SID映射为LDP标签。只要配置了代理LDP Egress,而且对端路由可达,就会向上游发布Mapping消息。
- P2发送标签映射消息到上游P3,P3发送标签映射消息到上游PE2。
- PE2解析标签映射消息,创建到P2的LDP LSP。
- P2上建立SR LSP与LDP LSP的映射关系。
数据转发时,P2设备上没有到PE1的LDP Label,所以P2根据Prefix与SID映射关系,LDP封装映射为SR封装。