VPN实例vpn-test的成员。
首先,我们查看一下私网标签的分配情况。在8016-A上我们执行“display ip routing-table vpn-instance vpn-test 6.6.6.0 verbose”,将得到如下如果1:
Routing tables:
Summary count: 1
Routing Table: vpn-test Route-Distinguisher: 10000:2 **Destination: 6.6.6.0 Mask: 255.255.255.0 entry_num<1> Protocol: #BGP Preference: 256 flag: remote Announce: 1 Source: 4.4.4.4
*NextHop: 2.2.2.2 Interface: 1.1.1.1(LoopBack0) Label: 85646/0
相应的,我们在8016-B上执行“display bgp vpnv4 vpn-instance vpn-test routing-table 6.6.6.0”,我们得到
Route Distinguisher:10000:2, Local vpn-instance:vpn-test
BGP routing table entry information of 6.6.6.0/24 Nexthop : 0.0.0.0
Paths : ?, valid, sourced, best From : local
Extend Community: 10000:2 label: 85646
对比两条命令的输出,我们看到8016-B给VPN路由6.6.6.0/24分配了私网标签85646,并通过MP-BGP通告给8016-A,8016-A收到此条信息后,将它加入到了自己的VPN实例vpn-test的路由表中。
接下来,我们继续在8016-B上执行“display mpls lsp vpn-instance vpn-test”得到:
Destination/Mask NextHop In/Out Out RD Flag
Label Interface Index
6.6.6.0/24 2.2.2.2 --/1087|85646 GE4/0/1 1 A
这表示,8016-B将对去往6.6.6.0/24的数据分组打上两层标签,内层标签为85646,这正是通过MP-BGP所获得的信息;而外层标签为1087,前文我们说过,这是LDP协议分配的。其实,如果我们通过“display mpls lsp 2.2.2.2 32”命令查看8016-B与8016-A之间的LSP, 1
为清楚起见,对文中命令的输出结果,笔者作了一定的修改。
Destination/Mask NextHop In/Out Out RD Flag Label Interface Index
2.2.2.2/32 3.3.3.3 --/1087 GE4/0/1 -- A 我们发现,此LSP在8016-B上的标签,正是1087。这是符合前文论述的。实际上,PE所进行的外层标签的封装工作,就是将VPN数据输送到PE间LSP隧道的一个过程。
在NE80E中,我们输入“display mpls lsp in-label 1087 verbose”,我们会得到如下 结果:
Fec : 2.2.2.2/32 Nexthop : 2.2.2.2 In-Label : 1087 Out-Label : 3
In-Interface : ----------
Out-Interface : GigabitEthernet3/0/0 LsrType : Transit Label Operation : SWAP
我们看到,P设备针对1087标签的操作是SWAP,即标签交换,它将数据分组外层标签1087更换为3,我们知道,此操作实际上就是将MPLS数据分组外层标签去掉后,直接向下一跳8016-A转发。数据分组到达8016-A后只带有内层标签85646。我们在8016-A上执行“display mpls forwarding ilm 85646”来查看它对85646标签的处理方法,得到如下结果。
Display information about ILM forwarding table.
NHLFE In In Out Out
Index Interface Label Label Oper Interface NextHop 2573 Invalid 85646 Invalid pop Vlanif3021 6.6.6.6 正如我们所料,数据被转发到vpn-test所在的端口Vlanif3021。至此,由8016-B至8016-A的VPN数据传送工作完成。
3、 小结
本文以华为公司的两款数据产品为例,对BGP/MPLS L3 VPN的标签分配过程作了较详细的剖析,对数据维护人员了解MPLS原理及处理MPLS障碍,有一定的借鉴作用。另外,我省也开通了基于MPLS的二层VPN服务,其标签的分配策略与BGP/MPLS L3 VPN有相似之处,一般是由LDP独立完成(如8016的VPLS,它
基本上属于Martini二层VPN)或是由LDP与其它协议合作完成(如基于Kompella模型的二层VPN)。这里,我们就不过多涉及了。
作者简介:朱彦波,毕业于长春邮电学院,工程硕士学位,工程师。现就职于吉林省通信公司长春市分公司,
从事互联网维护工作。