虚拟网络学习笔记之一:VXLAN

时间:2023-02-01 22:51:08

1. 什么是虚拟网络?

答:从架构角度考虑,我们可以采用与服务器虚拟化引入Hypervisor的方式一样,引入Nypervisor或者叫“虚拟网络管理平台”实现虚拟网络。虚拟网络必须像虚拟机一样,脱离物理网络设备,能够随时被创建、删除、扩展、收缩,实现高度灵活性。

2. 什么是VXLAN?

答:VXLAN全称Virtual eXtensible LAN,是一种覆盖网络技术或隧道技术。VXLAN将虚拟机发出的数据包封装在UDP中,并使用物理网络的IP/MAC作为outer-header进行封装,然后在物理IP网上传输,到达目的地后由隧道终结点解封并将数据发送给目标虚拟机。

3. VLAN、虚拟网卡、VPN、虚拟交换机,这些不都是虚拟网络技术嘛,那你这边指的虚拟网络和他们有什么区别?

答:这些技术仅用于解决某一个问题,但没有一个能够呈现完整的网络给用户。所谓完整的网络,我的理解是能够提供L2/L3,甚至L4/L7服务的网络,它不仅仅是交换机或路由器,它还能提供负载均衡、防火墙、ACL、VPN、NAT、DHCP、DNS、QoS等高层服务。而所有这些服务,必须能够在一个能够被单独创建出来的虚拟网络中实现。所以,我们必须有新的方式来实现完整的虚拟网络

4. VXLAN实现了完整的虚拟网络了吗?

答:没有。VXLAN更多的注重workload mobility,它打破了传统二层网络的限制,能够让跨IP子网传输同一个虚拟二层网络的MAC帧,使得虚拟机的移动不再受二层限制。因为跨三层的虚拟机移动是必需要更改IP的,而IP的更改,意味着与之绑定的N多策略也需要跟着变,非常不灵活。总的来说,VXLAN提供了二层网络框架,为实现上层网络服务虚拟化提供了基础。

5. VXLAN是实现网络虚拟化的唯一方式吗?

答:不是。VXLAN是一种网络覆盖技术实现二层虚拟化,如果需要三层以上服务,依旧需要额外的手段。另外,以SDN虚拟化控制器来分片网络的方式也能实现网络虚拟化。VXLAN也不是唯一的覆盖技术,微软NVGRE,Nicira STT都是同类实现。

6. 虚拟机如何连接到虚拟网络?

答:取决于具体实现。VMware ESXi虚拟机通过为虚拟机指定network label连接到VXLAN segment。而Network label就是virtual distributed switch上的port group。

7. VXLAN虚拟网络之间如何隔离?

答:通过VXLAN header中的VNI字段,这就相当于VLAN ID。不同的是,VNI是一个24bits的字段,可以实现1.6千万个虚拟网络,而VLAN只有4096个,在多租户的云计算环境中,4096个ID显然是不够的。

8. VXLAN封装是由谁来做的?

答:在VMWARE vCNS环境中,VXLAN的封装和解封装是由运行在ESXi上的一个内核模块,virtual tunnel endpoint(VTEP)来实现的。VTEP维护一张映射表,能够知道目标虚拟机所在的目标ESXi的位置。VMware VTEP会自动创建vmkernel port并为其分配IP地址与物理网络通信

9. VXLAN如何处理广播、多播和未知目的地单播?

答:VXLAN使用IP多播技术处理广播、多播和未知目的单播。每个VXLAN与一个多播地址绑定,从而确保来自虚拟网络的广播不会泛洪到物理交换机的所有端口。

10. VTEP只能运行在ESXi中吗?

答:不是。VTEP根据具体实现可以运行在单独的设备中,以软件或硬件的方式实现。

11. 如何虚拟化实现三层以上的服务?

答:VMware vCNS将L3以上的服务以edge appliance的方式实现,支持NAT,静态路由、VPN、负载均衡、防火墙、DNS、DHCP。

12. VXLAN之间如何通信?

答:必须通过edge appliance路由,就向VLAN间通信需要走一路由一样。

虚拟网络学习笔记之一:VXLAN的更多相关文章

  1. Linux网络学习笔记(二):域名解析(DNS)——以 CoreDNS 为例

    个人笔记,观点不一定正确. 适合对 Kubernetes 有一定了解的同学. 前言 最近一直在学习 Kubernetes,但是手头没有个自有域名,要测试 ingress 就比较麻烦,每次都是手动改 h ...

  2. 网络学习笔记(三):HTTP缓存

      HTTP缓存是一种保存资源副本并在下次请求时直接使用该副本的技术,合理的使用缓存可以有效的提升web性能.   浏览器将js文件.css文件.图片等资源缓存,当下次请求这些资源时,可以不发送网络请 ...

  3. FC网络学习笔记01

    1.Fibre Channel 也就是“网状通道”的意思,简称FC,可以称其为FC协议.FC网络或FC互联. 2.像TCP/IP一样,FC协议集同样具备TCP/IP协议集以及以太网中的概念,比如FC交 ...

  4. FC网络学习笔记02 -网络配置方法

    随着新一代飞机的综合化航电系统对通信需求的不断提高,传统的ARINC429.1553B总线的传输速率分别只有100Kbps和1Mbps,其带宽已远远不 论文联盟 http://Www.LWlm.cOm ...

  5. 网络学习笔记----01--pathping跟踪数据包路径

    操作系统win7 Pathping主要用于提供有关在来源和目标之间的中间跃点处的网络滞后和网络丢失的信息. Pathping将多个回显请求消息发送到来源和目标之间的各个路由器一段时间,然后根据各个路由 ...

  6. 网络学习笔记(二):TCP可靠传输原理

      TCP数据段作为IP数据报的数据部分来传输的,IP层提供尽最大努力服务,却不保证数据可靠传输.TCP想要提供可靠传输,需要采取一定的措施来让不可靠的传输信道提供可靠传输服务.比如:出现差错时,让发 ...

  7. 网络学习笔记(一):TCP连接的建立与关闭

      五层网络模型分为:物理层.数据链路层.网络层.传输层.应用层.其中,传输层有两种主要协议:面向连接的TCP(Transmission Control Protocol 传输控制协议).无连接的UD ...

  8. 网络学习笔记:TCP/IP连网和Internet

    1.网关 由硬件和软件组成,实现不同网段间的数据传送. 常用路由器充当网关. 网关通常维护一份路由表,但只有少量的编址信息.它用这些信息把数据转发到知道更多信息的网关. 组成互联网骨干的网关称为核心网 ...

  9. 网络学习笔记----02--IGMP组播、ARP

    IGMP组播 :在路由器的接口上运行,周期性扫描本网段是否有绑定某个多播地址的计算机. ARP,全称Address Resolution Protoco,将广播中的IP地址解析成MAC地址 查看MAC ...

随机推荐

  1. C++结构体内存对齐跨平台测试

    测试1,不规则对齐数据. Code: #include <stdio.h> #pragma pack(push) #pragma pack(8) struct Test8 { char a ...

  2. FME之于规划CAD数据质量检测

    最近琢磨规划CAD数据转换入库GIS方面的技术问题,看过一些前辈的文章/文献,对于使用FME WorkBench方面,有了一些了解,往往直接转换数据丢失比较严重,而且GIS对图形属性和空间拓扑比较严格 ...

  3. MAC 平台 QT编写iphone程序,加载iphone模拟器失败解决办法

    本日这么多年一直做C++开发,最近要做QT项目,被QT做界面的新特性所吸引.QSS QML的确是亮点. 还有一个就是跨平台这方面,自己玩了玩. 用的QT 的开发包是在官网上下载 qt-opensour ...

  4. excel快递单号查询工具以及源码

    Function kdcx(kd, orderid) Dim Err, url, kdtime, link, Errcode, Status Select Case kd '此处支持的快递公司很多的 ...

  5. MatLab实现FFT与功率谱

    FFT和功率谱估计 用Fourier变换求取信号的功率谱---周期图法 clf; Fs=1000; N=256;Nfft=256;%数据的长度和FFT所用的数据长度 n=0:N-1;t=n/Fs;%采 ...

  6. OpenGL------在Windows系统中显示文字

    增加了两个文件,showline.c, showtext.c.分别为第二个和第三个示例程序的main函数相关部分.在ctbuf.h和textarea.h最开头部分增加了一句#include <s ...

  7. C&num; DropDownList 绑定枚举类

    第一种 DropDownList_Franchiser_Type.DataSource = ListTypeForEnum(); DropDownList_Franchiser_Type.DataVa ...

  8. &lbrack;PHP&rsqb; 算法-字符串的全排列的PHP实现

    输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 思路: 1.利用递归形成 ...

  9. JavaScript拼接html字符串时截断问题

    在项目中碰到一个问题,就是JavaScript拼接html标签时,里面特殊字符会有些问题,比如单引号截断配对,导致后面的内容不显示或显示错误.在此记录一下. 下面贴一段简化的代码,若有描述不清的地方还 ...

  10. Linux input子系统编程、分析与模板

    输入设备都有共性:中断驱动+字符IO,基于分层的思想,Linux内核将这些设备的公有的部分提取出来,基于cdev提供接口,设计了输入子系统,所有使用输入子系统构建的设备都使用主设备号13,同时输入子系 ...