sdnoverlay网络中虚机到物理机的数据包的转发

author author     2022-09-07     493

关键词:

在之前我们讨论了SDN Overlay 网络中5个不同场景下虚机数据包如何转发,今天我们将继续讨论处于Overlay网络中的虚机如何与物理机进行数据转发。有关于微软网络虚拟化HNV的相关概念,如RDIDVSID、虚机网络、虚拟子网、默认网关等,可以参考http://ichbinleo.blog.51cto.com/11948851/1902265http://ichbinleo.blog.51cto.com/11948851/1903866  进一步了解。

 

在开始今天的讨论之前,我们需要引入一个概——HNV网关,也即转发网关,转发网关在SDN Overlay场景中的主要目的有3个:

  1. 通过NAT实现Overlay网络中虚机访问外部网络(Internet

  2. 通过NAT或直接路由功能实现Overlay网络中虚机访问物理网络上的设备

  3. 外部网络到Overlay网络的S2S VPN

HNV网关可由启用了RRAS功能的Windows Server 2012及后续版本)虚机实现,也可以由支持NVGRE/VXLAN的物理网络设备来支持,如CiscoF5Iron Network以及nAppliance等都提供相应的网络设备。

  们这次设定的场景如下图所示,2台虚机VM1和VMgwca在不同的虚拟子网,分别运行在不同的物理机上,VMgwca作为VM1所在的虚拟子网的转发网关。VMgwca具备至少2个网卡:一个网卡关联HNV逻辑网络,连接和VM1相同的虚机网络(RDID相同),一个网卡连接物理网络(我们可称之为外部网络)。启用了HNV网关特性也意味着2块网卡所在的子网也默认启用了静态路由

        

技术分享

技术分享

                  

VM1的IP地址为172.16.188.2,MAC地址为MACvm1, VSID为11111

VMgwca的内部IP地址为192.168.188.2,MAC地址为MACgwca,VSID为22222;外部地址为10.1.21.16,外部网卡MAC地址为MAClan

当虚机VM1需要和外部网络的主机10.1.21.18通信时,数据流是怎样的呢,下面我们对这一场景的数据流进行详细的描述:

  1. 因为源和目的IP地址不在同一个子网,所以VM1发送ARP消息询给默认网关,而不是直接发送给目标IP地址。

  2. Hyper-V虚拟交换机广播ARP到HNV Filter

  3. HNV Filter返回默认网关的MAC地址MACdfgw,MACdfgw就是HNV Filter自身。

  4. VM1学习到默认网关的MAC地址为MACdfgw,其VSID为11111 (默认网关的MAC地址MACdfgw包含在OOB数据里)。

  5. VM1封装IP数据包,目的IP为默认网关的IP地址,目的MAC地址为MACdfgw。

  6. IP数据包发送到Hyper-V虚拟交换机,虚拟交换机获取到发送虚机的网卡VSID 11111的OOB数据。

  7. HNV Filter 查询到去往10.1.21.xx子网的客户路由的下一跳为192.168.188.2(转发网关)。

  8. HNV Filter 使用其查找记录来确定下一跳虚机(转发网关)的PA地址。如果没有找到PA地址记录,那么数据包将被丢弃。

  9. 接着HNV Filter 重写数据包,以将目的MAC地址更改为MACgwca(转发网关的MAC地址)

  10. HNV Filter 在查找记录里查询到gwca的CA地址为192.168.188.2,MAC地址MACdfgw,VSID为22222,PA地址为10.2.41.206,于是HNV Filter将获取到的这些信息和原始IP数据包使用NVGRE/XVLAN进行二次封装。外部数据包中,目的IP地址为gwca的的PA地址10.2.41.206,目的MAC地址为MACdfgw,VSID为22222,如下图绿色部分所示。

技术分享

  1. 二次封装的数据包通过传输网络栈传输到网络上。

  2. IP地址为10.2.41.206以及MAC地址为MACPA2的Hyper-V物理机接收到数据包,然后发送到HNV Filter

  3. HNV Filter拆开封装的包,获取到原始数据包,以及包含了VSID 22222的OOB数据。

  4. HNV Filter将原始数据包转发到具有VSID为22222的Hyper-V虚拟交换机。

  5. Hyper-V虚拟交换机按照访问控制策略将原始数据包发送到目标虚机(转发网关虚机)。在整个过程中,源和目标虚机都没能感知封装的存在。而此时,数据包已经到达转发网关虚机gwca。

  6. 转发网关虚机将数据包在自己2块不同的网卡之间转发(连接内部网络的网卡转发到连接外部网络的网卡)

  7. 转发网关虚机的连接到物理Underlay网络的网卡将当前MAC地址更改为目的物理服务器的MAC地址MACphy

  8. 物理服务器接收到数据包,但是并不知道该数据包来自虚拟网络。

 


本文出自 “黄利军的博客” 博客,谢绝转载!

sdnoverlay网络中虚机数据包的转发

在配置了网络虚拟化(Overlay)的网络结构中,处于Overlay网络中的虚机数据包的封装和MAC地址学习和传统物理网络(Underlay)相似又不尽相同。除了我们了解Overlay网络需要借助Underlay网络进行二次封装之外,其MAC地址学习过程也... 查看详情

虚拟机桥接和nat用哪个ip不一样?

...和虚拟机IP都是不一样的。1.桥接模式可为虚机分配当前网络的ip地址,也就是你的路由器分配的地址(如物理机分配的是192.168.1.2,虚拟机分配到的是192.168.1.3),如有监控软件可以监控到物理机和虚拟机发出的信息来自不同的ip... 查看详情

虚机快照解读

...机的所有文件。这包括磁盘、内存和其他设备(例如虚拟网络接口卡)。虚拟机提供了多个用于创建和管理快照及快照链的操作。通过这些操作,您可以创建快照、还原到链中的任意快照以及移除快照。可以创建层层快照树。二... 查看详情

linux网络之数据包的接受过程

网卡收包从整体上是网线中的高低电平转换到网卡FIFO存储再拷贝到系统主内存(DDR3)的过程,其中涉及到网卡控制器,CPU,DMA,驱动程序,在OSI模型中属于物理层和链路层,如下图所示。网卡工作在物理层和数据链路层,主要... 查看详情

linux网络之数据包的接受过程(代码片段)

网卡收包从整体上是网线中的高低电平转换到网卡FIFO存储再拷贝到系统主内存(DDR3)的过程,其中涉及到网卡控制器,CPU,DMA,驱动程序,在OSI模型中属于物理层和链路层,如下图所示。网卡工作... 查看详情

登录虚拟机的4种方式

...密钥方式免密登录。通过OpenStack客户端,找到OpenStacK找到虚机管理,找到控制台登录按钮,进入控制台,使用用户密码登录即可。当然这是以web界面控制台方式,通过虚拟机所在物理机的服务端也是可以登录的。首先,找到虚拟... 查看详情

vlan,vxlan和overlay

...分发到广播域中的所有终端,会导致报文消息泛滥,甚至网络风暴。VLAN主要目的是想在网络层上虚拟子网,实际上就是分租实现对广播的隔离,当然广播是通过工作在链路层的交换机的,所以想要隔离广播(阻止广播),也是... 查看详情

kvm网络虚拟化(二)

...tion,是一个将PCI-E设备共享给虚拟机的使用方案,多用在网络设备。SR-IOV从硬件上绕过系统和虚拟化层,使每个虚机能有单独的内存地址、中断、DMA流。SR-IOV有两个功能模型: 查看详情

vmware中虚拟机的网络连接设置

vmware中的虚拟机的网络连接1、桥接模式不勾选“复制物理网络连接状态”。此时,运行的虚拟操作系统开启后获得的IP地址和物理机在同一网段。有MAC地址冲突的风险。2、选择NAT模式。运行的虚拟操作系统开启后获得的IP... 查看详情

为啥在微服务架构下,服务网关和数据库不能部署在虚拟机上

...数据的存储,如果采用虚机部署数据库,会带来不必要的网络io开销。因为虚拟机在调度大量物理的cpu和内存、特别是磁盘IO时,必须经过虚拟机和物理机两层网络io读写开销操作,是非常耗系统性能的。 查看详情

虚拟机配置连接外网

配置主机上VM8的网络适配器  把vm8上的ip地址配置和主机物理网卡在同一个网段   配置VM软件的虚拟网络编辑器   把子网地址设置成物理机IP同一个网段配置虚拟机网卡设备 测试虚机和物理机的连... 查看详情

socket网络编程(代码片段)

网络编程的概念:网络编程从大的方面说就是对信息的发送到接收,中间传输为物理线路的作用,编程人员可以不用考虑……网络编程最主要的工作就是在发送端把信息通过规定好的协议进行组装包,在接收端按照规定好的协议... 查看详情

socket网络编程(代码片段)

网络编程的概念:网络编程从大的方面说就是对信息的发送到接收,中间传输为物理线路的作用,编程人员可以不用考虑……网络编程最主要的工作就是在发送端把信息通过规定好的协议进行组装包,在接收端按照规定好的协议... 查看详情

微软网络虚拟化hnvoverlay子网和分布式路由

虚机网络和虚拟子网      在介绍HNV工作原理之前,我们有必要了解下组成HNV的原子网络——VMNetwork(虚机网络)和VirtualSubnet(虚拟子网)。HNV中,虚机网络作为租户间虚机隔离的单位,在网络虚拟化结构... 查看详情

网络虚拟化初探

数据包从虚拟机到物理机的过程KVM的网络优化方案,总的思路就是让虚拟机访问物理网卡的层数更少,直至对物理网卡单独占领,和物理机一样使用物理网卡单独占领,和物理机一样使用物理网卡,以达到和物理机一样的网络性... 查看详情

kvm网络性能调优(代码片段)

...,最后传到物理网卡,这个过程很好理解。那么我们要做网络的优化,让虚拟机的网络运行得更加高效,我们要想的就是让虚拟机访问到物理网卡的层次要少。或者说能不能让宿主机的物理网卡直接丢给虚拟机用,这样达到最高 查看详情

网络配置

网络模式NAT模式:NAT模式中,就是让虚拟机借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。NAT模式中,虚拟机的网卡和物理网卡的网络,不在同一个网络,虚拟机的网卡,是在vmware提供的一个虚拟网络。桥接... 查看详情

windows2012虚机从标准版升级到数据中心版

windowsserver2012的标准版和数据中心版功能模块完全一样,唯一的区别是内嵌Hyper-v支持虚拟机的数量,标准版默认支持2个,数据中心版则没有限制,因此可以直接升级,升级方法如下:(1)使用winver命令查看当前的版本,如图1所... 查看详情