为什么 VPWS 服务 - MPLS 有两个以太网帧头?

网络工程 多路复用器 射频 mpls-vpn l2vpn 低密度脂蛋白
2022-02-20 06:18:54

我正在尝试了解 VPWS 服务,并通过RFC 4448, Encapsulation Methods for Transport of Ethernet over MPLS Networks

这是数据包捕获:

在此处输入图像描述

  1. 为什么还需要源 MAC 和目标 MAC 地址?

  2. 我的理解是它使用 MPLS 标记在核心网络内进行交换/路由。一旦它从 PE 移出,它将根据以太网帧的目标 MAC 地址进入其连接电路。那是对的吗?

  3. 我看到在数据包捕获中,有两个以太网帧头 - 红色的一个显示其直接邻居的以太网源和目标 MAC 地址。标签不是用于切换吗?

  4. 如果是这样,那为什么要两个标签?

  5. 我对第二个以太网帧感到困惑——我的理解是它用于连接电路——比如到达远端 PE 后去哪里。

3个回答

为什么还需要源 MAC 和目标 MAC 地址?

当数据包在隧道中时,原始源 MAC 地址和目标 MAC 地址没有任何意义。

我的理解是它使用 MPLS 标记在核心网络内进行交换/路由。一旦它从 PE 移出,它将根据以太网帧的目标 MAC 地址进入其连接电路。那是对的吗?

是的 - 封装被移除,原始帧被发送到本地网络。

我看到在数据包捕获中,有两个以太网帧头 - 红色的一个显示其直接邻居的以太网源和目标 MAC 地址。标签不是用于切换吗?

外层标签用于MPLS隧道内的交换在隧道中时,内部标签被忽略 - 目前,它只是要传输的有效负载。

一旦封装的有效负载到达目标网络,封装就会被移除,原始帧会像隧道之前一样继续。

我对第二个以太网帧感到困惑——我的理解是它用于连接电路——比如到达远端 PE 后去哪里。

简而言之,是的!

VPWS 是一种点对点 L2VPN,使用这种技术,来自同一 IP 子网的两个地理位置远程的主机能够像连接到同一个交换机一样进行通信。

这件事是通过在 MPLS 隧道内传输以太网帧来实现的。

因此,如果要捕获在 MPLS 核心内的两个 LSR 之间传输的数据包,您将获得以下标头:

| 以太坊 | MPLS(传输标签)| MPLS(VPN 标签)| 以太坊 | 有效载荷 |

外部以太网报头用于两个相邻 MPLS 核心路由器之间的通信,并且在数据包经过的每一跳(连同传输标签)的隧道内进行解封装和封装。而内部以太网报头用于隧道之外的目标端点(由 VPN 标签标识),并且在隧道内保持不变。

例如:

CE1 10.0.0.1-------- PE1 -----MPLS BACKBONE----- PE2 ----- 10.0.0.2 CE2

当 CE1 ping 10.0.0.2 时,它首先要获取“直连”地址 10.0.0.2 的 L2 地址。因此,ARP 请求以以下形式通过此隧道发送:

| 以太坊 | MPLS(传输标签) | MPLS(VPN 标签)| DMAC:FF:FF.... | ARP |

在通过隧道发回 ARP 回复后,CE1 能够使用学习到的 L2 信息与 CE2 进行通信。

| 以太坊 | MPLS(传输标签) | MPLS(VPN 标签)| CE2 的 DMAC... | 知识产权 | 数据 |

这在 l2vpn 数据包中是正常的,因为 CE 设备 mac 将被封装在内部,中间设备将不断更改顶部以太网标头。