首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VXLAN格式详细信息

VXLAN格式详细信息
EN

Server Fault用户
提问于 2017-10-18 15:31:31
回答 1查看 282关注 0票数 2

了解关于VXLAN的知识,我在一份文档中找到:

然后,...VTEP1将包含VNI的VXLAN报头添加到以太网帧中,将该帧封装在第3层UDP数据包中,并通过第3层网络将该数据包路由到VTEP2。

然后,关于封装的头:

外部MAC头-包含源VTEP的MAC地址和下一跳路由器的MAC地址。每个路由器沿着数据包的路径重写这个报头,以便源地址是路由器的MAC地址,目标地址是下一跳路由器的MAC地址。

如果分组是通过第三层路由的,为什么下一跳需要外部MAC地址,而不是第三层IP?

关于VXLAN隧道节点(非VTEP),它们是交换机/虚拟交换机(L2)、路由器(L3)还是两者兼而有之?

编辑

VXLAN包头

EN

回答 1

Server Fault用户

回答已采纳

发布于 2017-10-18 15:49:37

VXLAN是一个第二层框架,所以当一个VTEP想要向另一个VTEP发送数据时,它将创建一个第二层VXLAN帧(基本上是以太网帧)。然后,需要将此帧传递到目标VTEP的IP地址。

当他们谈论“外部MAC报头”时,似乎是在谈论通过物理网络发送的帧。想象一下下面的配置-

代码语言:javascript
复制
VTEP Host A: 1.1.1.1 MAC AA (not going to bother with full MAC addresses)
Local Router Interface 1: 1.1.1.254 MAC BB
Local Router Interface 2: 2.2.2.254 MAC CC
VTEP Host B: 2.2.2.2 MAC DD

(上面的IP地址是实际主机地址(VTEP端点),而不是虚拟VXLAN接口本身的地址)。

  1. VTEP主机A将VXLAN帧放入UDP数据包中,并将其寻址到2.2.2.2。[UDP PACKET 1.1.1.1->2.2.2.2[VXLAN FRAME]]
  2. 这个包被传递给操作系统,操作系统希望将它传递给2.2.2.2。这不是在本地网络上,因此包被放置在具有AA源和本地路由器BB的目的地的以太网帧中。[ETH FRAME AA->BB[UDP PACKET[VXLAN FRAME]]]
  3. 本地路由器接收帧并提取UDP数据包。它看到数据包的目的地是2.2.2.2,它可以直接访问该数据包。它将数据包放置在一个新的以太网帧中,该帧的目的地是DD。[ETH FRAME CC->DD[UDP PACKET[VXLAN FRAME]]]。**
  4. 主机B接收寻址到它的以太网帧,提取UDP数据包,然后将它传递给系统处理VXLAN数据的任何部分。

**如果VTEP之间有额外的路由器,这一过程将继续下去。每个路由器都会提取数据包并将其放置在一个新的帧中,其中一个是src MAC,另一个是下一跳的dst MAC,直到到达目的地为止。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/879106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档