​BGP/MPLS IP的报文转发

发布时间:2022-01-16 13:00:28 作者:V小编阅读:0

[导读]:在基本BGP/MPLS IP VPN应用中(不包括跨域的情况),VPN报文转发采用两层标签方式。 外层(公网)标签在骨干网内部进行交换,指示从本端PE到对端PE的一条LSP。VPN报文利用这层LSP标...

在基本BGP/MPLS IP VPN应用中(不包括跨域的情况),VPN报文转发采用两层标签方式。 外层(公网)标签在骨干网内部进行交换,指示从本端PE到对端PE的一条LSP。VPN报文利用这层LSP标签可以沿LSP到达对端PE。公网隧道可以是LSP隧道、MPLS TE隧道和GRE隧道。当公网隧道为LSP隧道或MPLS TE隧道时,公网标签为MPLS LSP标签(MPLS TE隧道的CR-LSP也是采用LSP标签);当公网隧道为GRE隧道时,公网标签为GRE封装。 内层(私网)标签在从对端PE到达对端CE时使用,指示报文应被送到哪个Site,这就是为不同路由或不同VPN实例所分配的私网路由标签。当PE之间已在通过MP-BGP相互发布VPN-IPv4路由时,会将本端所学习的每个私网VPN-IPv4路由所分配的私网标签通告给了对端PE,这样对端PE根据报文中所携带的私网标签可以找确定报文所属的VPN实例,通过查找该VPN实例的路由表,将报文正确地转发到相应的Site。

说明特殊情况下,属于同一个VPN的两个Site连接到同一个PE时,PE不需要为VPN报文封装内、外层标签,只需查找对应VPN实例的路由表,然后再找到报文的出接口即可将报文转发至相应的Site。下面以图1-1为例说明BGP/MPLS IP VPN报文的转发过程。图中是CE1发送报文给CE2的过程,其中,I-L表示内层标签,O-L表示外层标签。本示例中内、外层标签均为MPLS LSP标签。

​BGP/MPLS IP的报文转发

图1-1 BGP/MPLS IP VPN报文转发示例

(1)CE1向Ingress PE发送一个要访问远端CE2所连接Site中目标主机的VPN 报文。(2)Ingress PE从绑定了VPN实例的接口上接收VPN数据包后进行如下操作。 先根据绑定的VPN实例的RD查找对应VPN的转发表(VRF)。 匹配VPN报文中的目的IPv4前缀,查找对应的Tunnel ID,然后将报文打上对应的私网(内层)标签(I-L),根据Tunnel ID找到隧道。 将VPN报文从找到的隧道发送出去,发出之前VPN报文要加装一层公网(外层)MPLS标签(O-L1)。此时VPN报文中携带有两层MPLS标签。接着,该报文携带两层MPLS标签穿越骨干网。骨干网的每台P设备都仅对该VPN报文的外层标签进行交换,内层私网路由标签保持不变。

如图1-2是Ingress PE向Egress PE发送的一个ICMP请求报文的报文结构示例,它包括了两层MPLS标签,其中外层标签为1025(MPLS Bottom os label stack:0,表示后面还有MPLS标签,非栈底标签),内层标签为1026(MPLS Bottom oslabel stack:1,表示此为MPLS栈底标签)。

​BGP/MPLS IP的报文转发

图1-2 PE接口发送的报文的二层MPLS标签结构

【经验提示】因为Egress节点为倒数第二跳分配的标签,通常是支持PHP特性的,所以在倒数第二跳把报文传输Egress节点时会先弹出外层标签。这样一来,Egress接收到的报文往往只带有一层标签。如图1-3是Ingress PE连接P的接口上接收到来自对端的响应ICMP报文的报文结构示例,其中显示只有一层MPSL标签(MPLSBottom os label stack:1,表示此为MPLS栈底标签)。在Egress PE连接P的接口接收ICMP请求报文的报文结构一样,也只有一层MPLS标签,也是因为外层标签在倒数第二跳(P)弹出了。这样一来,可以想象,如果是两PE相连,则报文在PE间直连链路上传输时均只带一层MPLS标签,这层标签就是内层私网标签,因为此时两PE互相为对方的倒数第二跳,在发送报文时会弹出外层的MPLS标签。但在这种PE直连情况下,我们一般配置不支持PHP,这样两个直连的PE在发送报文时就不会弹出外层标签了。(3)Egress PE收到该携带两层标签的报文后,交给MPLS协议模块处理。MPLS协议将去掉外层标签(本示例最后的外层标签是O-L2,但如果应用了PHP特性,则此标签会在到达Egress PE之前的一跳P弹出,Egress PE只能收到带有内层标签的报文,参见图1-3)。

​BGP/MPLS IP的报文转发

图1-3 PE接口接收的报文的一层MPLS标签结构

(4)剥离了外层LSP标签后,Egress PE就可以看见内层标签I-L,先根据内层私网路由标签查找到VPN实例,然后通过查找该VPN实例的路由表,可确定报文要转发的目的Site和出接口。同时,Egress PE发现报文中的内层标签处于栈底,于是将内层标签剥离,根据对应的VPN实例路由表项将报文发送给CE2。此时报文是个纯IP报文。这样,报文就成功地从CE1传到CE2了,CE2再按照普通的IPv4报文转发过程将报文传送到目的主机。以上报文转发的流程可用图1-4进行描述。

​BGP/MPLS IP的报文转发

图1-4 报文转发的基本流程

以上就是BGP/MPLS IP VPN的报文转发的介绍。如果你还有其他问题,欢迎进行咨询探讨,希望VeCloud的专业的解决方案,可以解决你目前遇到的问题。微云网络提供全球主机托管、服务器租用、MPLS专线接入、SD-WAN组网等方面的专业服务,资源覆盖全球。欢迎咨询。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:sales@vecloud.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

标题:​BGP/MPLS IP的报文转发

TAG标签:BGPMPLS

地址:http://www.kd010.com/hyzs/592.html

上一篇:BGP/MPLS IP中PE间VPN-IPv4路由发布原理
下一篇:海外医疗制造商MPLS加IPSec双线组网方案

Vecloud云网络解决方案

点击获取方案