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. JAVA 中BIO,NIO,AIO的理解 (转)

    转自: http://qindongliang.iteye.com/blog/2018539 另外类似可参考资料 :http://www.360doc.com/content/13/1029/20/9 ...

  2. Python学习【02】Python基础

    一.Python内部执行过程 1.Python的后缀名可以是任意? print("hello,world")  保存成  .py / .txt / .sb / .aaa 都可以用在 ...

  3. ie浏览器许多图片放在一起会有间隙

    解决方法一(推荐):设置图片父元素font-size:0. 解决方法二:设置图片为float:并且图片设为块级元素.

  4. ABAP其实也是挺好的语言

    目前工作当中使用的编程语言是SAP平台的ABPA语言,出于好奇心,我想把之前用JAVA(用C++也写过,事实上,我每学一个新的语言,就会尝试去实现这个小程序)写过的计算一个正整数的因子的程序用ABAP ...

  5. mybatis入门篇:Mybatis注解方式的基本用法

    @Select 1.mybatis-config.xml <?xml version="1.0" encoding="UTF-8" ?> <! ...

  6. (python基础 函数)

    关键字参数:关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值.使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值 必需参数:必 ...

  7. An error occurred while starting the application.

    一..net core 发布后的站点启动报错如下 An error occurred while starting the application. .NET Core 4.6.26328.01 X6 ...

  8. dubbo rest服务 No provider available for the service 错误问题

    1.版本 dubbo 2.6.2 2.描述 消费者调用dubbo rest服务报No provider available for the service错误 网络上有讲是实体类未实现Serializ ...

  9. Eclipse导入文件识别不了jsp怎么办

    1.在出现错误代码页开始处加上<%@ page import="java.util.*"%>,把包引进来2.然后右击项目,依次选择Properties->Java ...

  10. MYSQL临时表使用方法

    当工作在非常大的表上时,你可能偶尔需要运行很多查询获得一个大量数据的小的子集,不是对整个表运行这些查询,而是让MySQL每次找出所需的少数记录,将记录选择到一个临时表可能更快些,然后在这些表运行查询. ...