数据传输方法及相关设备的制造方法_4

文档序号:9931200阅读:来源:国知局
P地址及MAC地址与所述第一设备的第一标识进行 对应记录,形成第三列表。
[0117] 所述设备还包括:
[0118] 第二建立单元,还用于:
[0119] 建立第一列表;
[0120] 进一步的,确定第一设备所运行的每个虚拟机所连接网络的网络标识,得到至少 一个网络标识;
[0121] 在至少一个第二设备中,确定符合第一预定条件的第二设备的设备标识,得到至 少一个设备标识,所述符合第一预定条件的第二设备为其上所运行的虚拟机所连接网络的 网络标识为所述至少一个网络标识;
[0122] 确定运行有具有所述至少一个网络标识的虚拟机的第二设备;
[0123] 将第一设备所运行的每个虚拟机的MAC地址、所述至少一个网络标识、所述至少一 个设备标识进行对应记录,形成第一列表。
[0124] 所述设备还包括:
[0125] 第三建立单元,还用于:
[0126] 建立第二列表;
[0127] 进一步的,获取在第一设备中所运行的每个虚拟机所连接网络的网络标识,得到 至少一个网络标识;
[0128] 在具有所述至少一个网络标识的至少一个网络中,确定每个网络中的第一虚拟路 由器,得到至少一个虚拟路由器;
[0129] 确定每个第一虚拟路由器所在的第二设备的设备标识,得到至少一个设备标识;
[0130] 将所述至少一个网络标识、所述至少一个设备标识进行对应记录,得到所述第二 列表。
[0131] 由此可见,本实施例中,当某个主机自身的虚拟机产生的第一报文时,获取接收该 报文的目标虚拟机的MAC地址和网络标识Tunn 1 e key,调用第一列表,依据该MAC地址和 Tunnle key,判断第一列表中是否存在有目标虚拟机所属主机的主机号,判断为存在时,发 送第一报文至具有该主机号的主机,以使目标虚拟机进行第一报文的接收。与相关技术中 需要查询流表和路由表两个表相比,减少了查询流程,减轻了主机的传输负担,降低了对云 平台系统处理资源的占用,缩短了处理时长。
[0132] 本发明提供另一种数据传输设备的实施例,该设备为前述实施例一至实施例三种 的第二设备,如图8所示,所述设备包括:
[0133] 第一存储单元801,用于缓存由第一设备发送的第一报文;
[0134] 第一解析单元802,用于对第一报文进行解析,至少得到在第二设备中所运行的至 少一个虚拟机中能够接收第一报文的虚拟机的MAC地址;
[0135] 第一触发单元803,用于触发具有所述MAC地址的虚拟机进行第一报文的接收。
[0136] 本实施例中,目标主机进行报文的接收并通过对报文的解析得到目标虚拟机的 MAC地址,再把报文传输至具有该MAC地址的虚拟机上。实现过程较为简单,便于工程实施。
[0137] 需要说明的是,为实现前述的应用于第一设备和第二设备中的数据传输方法,本 发明实施例还提供了两种数据传输设备,由于第一种数据传输设备、第二种数据传输设备 解决问题的原理与前述实施例一至实施例三中的第一数据传输方法、第二种数据传输方法 相似,因此,第一种数据传输设备、第二种数据传输设备的实施过程及实施原理均可以参见 前述相关方法的实施过程及实施原理描述,重复之处不再赘述。
[0138] 为便于对本方案的理解,下面举一个具体的应用场景。
[0139] 假定云平台系统中具有三台主机,分别是主机01、主机02、和主机03。其中,主机01 的IP地址为1.1.1.1,MAC地址为01:01:01:01:01:01,主机01上的虚拟机11的MAC地址为11: 11:11:11:11:11。主机 02的 IP 地址为2 ? 2 ? 2 ? 2,MAC 地址为 02:02:02:02:02:02,主机 02 上的 虚拟机22的MAC地址为22:22:22:22: 22: 22。主机03的IP地址为3.3.3.3,MAC地址为03:03: 03:03:03:03,主机03上的虚拟路由器33的MAC地址为33:33:33:33:33:33。
[0140]假设三台主机均采用物理网卡ethO建立GRE隧道,建立隧道时,每台主机收到云平 台系统的发送来的其它主机的隧道信息。以主机01为例,主机01中的第三列表记录的隧道 信息如表4所示。
[0141]表4
[0143] 假设虚拟机11、虚拟机22、虚拟路由器33均处于同一(虚拟)网络,该网络的网络标 识Tunnel key = 1。在云平台系统建立虚拟机22和虚拟路由器33时,云平台系统会通知主机 01。主机01将虚拟机22(虚拟路由器33)的MAC地址、虚拟机22(虚拟路由器33)所在主机的主 机号及所处网络的Tunnel key进行对应记录,得到如表5所示的第一列表。
[0144] 表5

[0146] 对于Tunnel key=l的(虚拟)网络来说,由于该网络下的虚拟路由器33位于主机 03上,对于主机01来说其记录的第二列表如表6所示。
[0147] 表6
[0149]当主机01中的虚拟机11发送报文DATA给主机02中的虚拟机22(目标虚拟机)时,该 报文DATA如表7所示,主机01的0VS首先根据报文中的VLAN号查询到对应到Tunnle key(该 关系为预先存储的),进而得到Tunnle key = 1、MAC地址22:22: 22: 22: 22等信息,调用主机 01中的第一列表,判断在第一列表中是否有与Tunnle key = 1、MAC地址22:22:22:22: 22对 应的主机号,本场景中判断为存在有这样的主机号即主机号02。接着调用第三列表,依据确 定出的主机号02判断第三列表中是否存在有与该主机号对应的隧道信息,本场景中判断为 存在有与主机号02对应的隧道信息如源IP地址为1.1.1.1、目的IP地址是2.2.2.2、目的MAC 地址是02:02:02:02:02:02、物理网卡号ethO,利用这些隧道进行对数据DATA分别进行GRE 封装、IP层报头封装及数据链路层报头封装,得到如表8所示的报文。主机01通过ethO物理 网卡发送至主机02,主机02将报文进行解封装,得到目标虚拟机的MAC地址,把接收到的 DATA发送至目标虚拟机即虚拟机22。
[0154] 当主机01中的虚拟机11发送报文DATA至外网虚拟机44时,该外网虚拟机的MAC地 址为44:44:44:44:44:44,该报文DATA如表9所示,主机01的0VS首先根据报文中的VLAN号查 询对应Tunnle key,进而得到Tunnle key = 1、MAC地址44:44:44:44:44:44等信息,调用主 机01中的第一列表,在第一列表中没有存在有Tunnle key = 1、MAC地址44:44:44:44:44:44 对应的主机号,则调用第二列表,在第二列表中查找与Tunnle key = l对应的主机号为03。 接着调用第三列表,依据确定出的主机号03判断第三列表中是否存在有与该主机号对应的 隧道信息,本场景中判断为存在有与主机号03对应的隧道信息,则利用这些隧道信息,对 DATA进行GRE封装、IP层报头封装及数据链路层报头封装,得到如表10所示的报文。主机01 通过ethO物理网卡发送主机03上,通过主机03将封装后的报文发送至外网中的虚拟机44 中。
[0159] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序 产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形 式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储 介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0160] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程 图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流 程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序 指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产 生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实 现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0161] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特 定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指 令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或 多个方框中指定的功能。
[0162] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计 算机或其他可编程设备上执
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1