深入浅出VXLAN技术

想要了解vxlan技术,首先要分清什么是underlay,什么是overlay。

一、什么是underlay和overlay

通常情况下,我们将现实的物理传输的网络层和传输层称为underlay,基于underlay实现的逻辑网络我们称为overlay。

从功能上来说underlay就类似于overlay网络的一根网线,也就是说,overlay网络通过underlay实现网络直连。

更加简单粗暴的理解如下:

  • underlay = 互联网的IP封装
  • overlay = 内部局域网的IP封装

以基于VXLAN实现的HTTP服务为例,看看underlay和overlay的封装:

  • underlay : Ethernet / IP / UDP / VXLAN
  • overlay :Ethernet / IP / TCP / HTTP

那么,完整的数据封装就是将underlay和overlay格式合并起来:

  • Ethernet/IP/UDP/VXLAN/Ethernet/IP/TCP/HTTP

二、深入浅出VXLAN

针对上面提到的数据封装格式,接下来我们采用问答的方式,帮助大家进一步理解VXLAN。

  1. 问:数据封装格式中有两个Ethernet,其中第一个Ethernet的目的MAC地址是谁的?
  • 答:是现实物理传输网络的网关的,也可以理解为互联网下一跳的MAC地址。
  1. 问:如果两个VTEP端点直接使用光纤直连,目的MAC是谁的?
  • 答:既然只有一跳,那当然是目的VTEP的MAC地址了。
  1. 问:VTEP是什么意思呢?
  • 答:vxlan tunnel endpoint,其实就是underlay的头端、尾端两个节点。
  1. 问:underlay的头端、尾端做什么用的?
  • 答:underlay的头端用来负责underlay的协议封装,也就是封装格式中头部的“Ethernet / IP / UDP / VXLAN/”这一部分,它们是由underlay的头端(VTEP)设备来完成的。
  1. 问:那么网络中谁负责将这一部分头部信息解封装呢?
  • 答:VTEP的尾端设备负责解封装返回的流量。
  • 整个VTEP的传输流程可以理解为:VTEP Head ------------> VXLAN Tunnel ---------------> VTEP Tail
  1. 问:VTEP尾端设备剥离掉underlay,然后如何处理剩余数据?也就是如何处理这部分内容“Ethernet / IP / TCP / SMB”。
  • 答:当然是首先提取MAC地址。
  • 假设数据是从青岛主机(头端VTEP)到达东京的VM(尾端VTEP),那么目的MAC就是东京VM的MAC地址,源MAC就是青岛某处的主机。
  • 需要注意的是:
    • a.青岛的主机与东京的VM应该在相同网段,它们的MAC地址有可能是VM的MAC,也有可能是物理机器的MAC。
    • b.VTEP可以和VM或主机跑在一台机器上,也可以不在一台机器上,换而言之,VTEP对于主机是一个透明的设备。
  1. 问:为何青岛的VTEP会发给东京,而不是发给北京的VTEP?
  • 答:因为青岛的VTEP通过控制平面的ARP协议从东京过来的ARP Request学习到了东京VM的MAC。
  • 这是因为,vxlan协议依赖ARP Request在各个隧道上流淌,从哪个VTEP收到ARP Reply,就知道目的MAC 与哪个VTEP关联。这种方式类似交换机学习MAC地址的方式,先广播flood,然后看哪个端口有响应。
  1. 问:如果东京一共有5个VTEP邻居,不包含自己,东京的VTEP会把ARP REquest 发给多少个地方?
  • 答:它会利用P2P方式将ARP广播通过所有的5个P2P隧道发出去
  1. 问:除了ARP方式,另外的常用方式是什么?
  • 答:也可以使用BGP进行交换,BGP可以理解跑在TCP 179端口上的应用程序。
  1. 问:BGP 可以用来交换什么?
  • 答:BGP可以交换nlri(Network Layer Reachabilty Information),简单来说就是路由条目。
  1. 问:那么,基于BGP协议的IP、MAC等多种数据标签,如何区分他们呢?
  • 答:通过扩展BGP的属性:包括IPv4、IPv6、label、MAC,address-family等。这其中用来传输MAC地址的,就是BGP EVPN address-family。
  • 我们可以这样来理解,BGP相当于一辆火车,一个address-family 相当于一节车厢,每节车厢,可以拉不同的货物,有的是IPv4路由表,有的是IPV6路由表,有的是MAC地址。也就是说BGP报文内容分成很多段,每一段里面装载的东西不一样
  1. 问:为何VTEP只交换MAC,而不交换路由表,怎么做到的?
  • 答:在BGP协商阶段,capability可以协商哪些需要封装,哪些不需要,包括MAC。
  1. 问:东京的VTEP通过BGP告诉了青岛VTEP的MAC地址,问题又来了, 东京VTEP又是如何获得MAC地址的?
  • 答:就像刚才所提到的,依然是ARP flooding,每一个VTEP都是这样学习本地二层网络,包括其他主机的IP、MAC的映射。

总结

综上所述,VXLAN就是这样的网络虚拟化技术,使用VTEP将源主机的物理网络IP、MAC作为外层头进行封装,然后基于UDP协议在IP网络上传输,到达目的地后再由VTEP解封装后发送给目标主机

相信通过以上问答,大家应该能够初步理解这个技术了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,099评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,473评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,229评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,570评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,427评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,335评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,737评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,392评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,693评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,730评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,512评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,349评论 3 314
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,750评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,017评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,290评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,706评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,904评论 2 335

推荐阅读更多精彩内容