一种报文传输的方法和装置的制造方法_2

文档序号:9828135阅读:来源:国知局
器I。其中,AFC可以在VPCl内的物理服务器I上创建虚拟路由器1,或者在VPC2内的物理服务器2上创建虚拟路由器1,或者在VPC2内的物理服务器3上创建虚拟路由器1,或者在其它独立的网络设备上创建虚拟路由器1,在图2中,以创建一个独立的虚拟路由器I为例进行说明。
[0032]针对需要通信的三个或三个以上的VPC,AFC可以为这些VPC创建一个虚拟路由器,或为这些VPC创建多个虚拟路由器。当VPC1、VPC2、VPC3之间需要通信时,AFC为VPC1、VPC2、VPC3创建一个虚拟路由器1,VPCU VPC2、VPC3之间的通信均使用虚拟路由器I ;或者,为VPCl和VPC2创建一个虚拟路由器1,为VPCl和VPC3创建一个虚拟路由器2,为VPC2和VPC3创建一个虚拟路由器2,VPCl和VPC2之间的通信使用虚拟路由器1,VPCl和VPC3之间的通信使用虚拟路由器2,VPC2和VPC3之间的通信使用虚拟路由器3。
[0033]在上述过程中,SDN控制器的功能以及AFC的功能可以部署在同一个设备上,也可以部署在不同的设备上,二者分开或者合并均不影响整体实现流程。
[0034]步骤302,SDN控制器在接收到第一虚拟交换机上送的第一虚拟机发送给第二虚拟机的首报文时,根据首报文中携带的第二虚拟机的IP地址获得第二虚拟机在第二 VPC内对应的第二虚拟交换机,并生成第二流表和第三流表。
[0035]其中,第二流表的匹配项包括目的IP地址为第二虚拟机的IP地址,动作项包括使用虚拟路由器与第二虚拟交换机之间的VXLAN隧道发送与第二流表的匹配项匹配的报文。第三流表的匹配项包括目的IP地址为第二虚拟机的IP地址,动作项包括使用第二虚拟交换机上的对应于第二虚拟机的出端口发送与第三流表的匹配项匹配的报文。
[0036]本发明实施例中,SDN控制器根据首报文中携带的第二虚拟机的IP地址获得第二虚拟机在第二 VPC内对应的第二虚拟交换机的过程,具体可以包括但不限于如下方式:SDN控制器在第二 VPC内广播ARP (Address Resolut1n Protocol,地址解析协议)请求报文,该ARP请求报文的目的IP地址为第二虚拟机的IP地址,指示第二虚拟机在接收到ARP请求报文之后,返回ARP响应报文。SDN控制器在接收到ARP响应报文时,确定上送ARP响应报文的虚拟交换机为第二虚拟机对应的第二虚拟交换机。
[0037]步骤303,SDN控制器将第二流表下发给虚拟路由器,第二流表用于指示虚拟路由器在接收到报文(即第一虚拟机发送给第二虚拟机的报文)时,利用预先与第二虚拟交换机建立的VXLAN隧道,将报文发送给第二虚拟交换机。
[0038]步骤304,SDN控制器将第三流表下发给第二虚拟交换机,第三流表用于指示第二虚拟交换机在接收到报文(即第一虚拟机发送给第二虚拟机的报文)时,将报文发送给第二虚拟机。至此,完成第一虚拟机与第二虚拟机之间的报文传输。
[0039]本发明实施例中,SDN控制器在接收到第一虚拟交换机上送的第一虚拟机发送给第二虚拟机的首报文之后,SDN控制器根据首报文中携带的第一虚拟机的IP地址,生成第四流表,并将第四流表下发给第一虚拟交换机,第四流表用于指示第一虚拟交换机在接收到第二虚拟机发送给第一虚拟机的报文时,将该报文发送给第一虚拟机。其中,该第四流表的匹配项包括目的IP地址为第一虚拟机的IP地址,动作项包括使用第一虚拟交换机上的对应于第一虚拟机的出端口发送与第四流表的匹配项匹配的报文。
[0040]本发明实施例中,SDN控制器从预先配置的VXLAN资源池中选取未使用的第一VXLAN标识和第二 VXLAN标识。SDN控制器将第一 VXLAN标识通知给第一虚拟交换机,指示第一虚拟交换机利用第一 VXLAN标识,与虚拟路由器协商建立VXLAN隧道。SDN控制器将第二 VXLAN标识通知给第二虚拟交换机,指示第二虚拟交换机利用第二 VXLAN标识,与虚拟路由器协商建立VXLAN隧道。基于此,第一虚拟交换机可以利用第一虚拟交换机与虚拟路由器之间的VXLAN隧道,将与第一流表的匹配项匹配的报文发送给虚拟路由器。虚拟路由器可以利用第二虚拟交换机与虚拟路由器之间的VXLAN隧道,将与第二流表的匹配项匹配的报文发送给第二虚拟交换机。
[0041]SDN控制器从预先配置的VXLAN资源池中选取未使用的第一 VXLAN标识和第二VXLAN标识之后,还可以将第一 VXLAN标识和第二 VXLAN标识通知给AFC,AFC将第一 VXLAN标识和第二 VXLAN标识通知给虚拟路由器。基于第一 VXLAN标识,虚拟路由器在本虚拟路由器上创建第一 VXLAN标识对应的网关,并用第一 VXLAN标识与第一虚拟交换机协商建立VXLAN隧道。基于第二 VXLAN标识,虚拟路由器在本虚拟路由器上创建第二 VXLAN标识对应的网关,并用第二 VXLAN标识与第二虚拟交换机协商建立VXLAN隧道。
[0042]本发明实施例中,针对第一虚拟机发送给第二虚拟机的首报文,第一虚拟交换机将首报文上送给SDN控制器的过程,与第一虚拟交换机利用预先与虚拟路由器建立的VXLAN隧道将首报文发送给虚拟路由器的过程,并没有先后顺序关系。可以先执行将首报文上送给SDN控制器的过程,后执行将首报文发送给虚拟路由器的过程,也可以先执行将首报文发送给虚拟路由器的过程,后执行将首报文上送给SDN控制器的过程,本发明实施例中对此不加以限制。
[0043]进一步地,本发明实施例中,第一虚拟交换机只将第一虚拟交换机首次发送给第二虚拟交换机的报文上送给SDN控制器,后续再收到第一虚拟机发送给第二虚拟机的报文时不再上送,由虚拟路由器根据SDN控制器之前下发的第二流表转发到第二虚拟交换机处,最终由第二虚拟交换机根据SDN控制器之前下发的第三流表转发到第二虚拟机上。
[0044]基于上述技术方案,本发明实施例中,通过在需要通信的VPC之间部署虚拟路由器,并使用虚拟路由器传输不同VPC之间的报文,使得不同VPC之间能够直接进行通信,不同VPC之间交互的报文不需要经过Internet转发。上述方式可以解决不同VPC之间交互的报文需要经过Internet转发的问题,减轻物理机房与Internet之间的流量负载,避免业务访冋的时延、丢包等冋题,提尚业务的使用体验。
[0045]以下结合图2的应用场景,对本发明技术方案进行详细说明。以虚拟机I与虚拟机3之间的通信过程为例,VPCl为第一 VPC,虚拟机I为第一虚拟机,虚拟交换机I为第一虚拟交换机,VPC2为第二 VPC,虚拟机3为第二虚拟机,虚拟交换机2为第二虚拟交换机,虚拟路由器为虚拟路由器I。
[0046]运维人员在SDN控制器上配置VPC的子网信息和标识信息,如配置VPCl的子网信息为子网信息I (如子网2.2.1.0/24),标识信息为租户标识1,配置VPC2的子网信息为子网信息2(如子网3.3.1.0/24),标识信息为租户标识I。对于同一个租户,标识信息相同;对于不同租户,标识信息不同。
[0047]运维人员在SDN控制器上配置VXLAN资源池,该VXLAN资源池内包括多个VXLAN标识。当VXLAN标识有使用标记时,说明VXLAN标识已经被使用,当VXLAN标识没有使用标记时,说明VXLAN标识没有被使用。SDN控制器从VXLAN资源池中选取没有对应使用标记的VXLAN标识100,将VXLAN标识100通知给虚拟交换机1,并为VXLAN标识100设置使用标记。SDN控制器从VXLAN资源池中选取没有对应使用标记的VXLAN标识101,将VXLAN标识101通知给虚拟交换机2,并为VXLAN标识101设置使用标记。SDN控制器从VXLAN资源池中选取没有对应使用标记的VXLAN标识102,将VXLAN标识102通知给虚拟交换机3,并为VXLAN标识102设置使用标记。SDN控制器将VXLAN标识100、VXLAN标识10UVXLAN标识102通知给AFC,并由AFC将VXLAN标识100、VXLAN标识101、VXLAN标识102通知给虚拟路由器I。基于上述过程,虚拟交换机I和虚拟路由器I基于VXLAN标识100,创建VXLAN隧道I。虚拟交换机2和虚拟路由器I基于VXLAN标识101,创建VXLAN隧道2。虚拟交换机3和虚拟路由器I基于VXLAN标识102,创建VXLAN隧道3。
[0048]本发明实施例中,SDN控制器向虚拟交换机I下发第一流表1,该第一流表I的匹配项包括目的IP地址位于VPC2的子网信息2 (子网3.3.1.0/24),动作项包括使用虚拟交换机I与虚拟路由器I之间的VXLAN隧道(即VXLAN标识100对应的VXLAN隧道)发送与第一流表I的匹配项匹配的报文。SDN控制器向虚拟交换机2下发第一流表2,该第一流表2的匹配项包括目的IP地址位于VPCl的子网信息I (子网2.2.1.0/24),动作项包括使用虚拟交换机2与虚拟路由器I之间的VXLAN隧道(即VXLAN标识101对应的VXLAN隧道)发送与第一流表2的匹配项匹配的报文。SDN控制器向虚拟交换机3下发第一流表3,该第一流表3的匹配项包括目的IP地址位于VPCl的子网信息1,动作项包括使用虚拟交换机3与虚拟路由器I之间的VXLAN隧道(即VXLAN标识102对应的VXLAN隧道)发送与第一流表3的匹配项匹配的报文。
[0049]如图4所示,基于上述应用场景,针对VPCl内的虚拟机I发送给VPC2内的虚拟机3的报文1,则报文传输的方法可以包括以下步骤:
[0050]步骤401,虚拟机I向虚拟机3发送报文I。其中,该报文I的源IP地址为虚拟机I的IP地址1,目的IP地址为虚拟机3的IP地址3。
[0051]步骤402,虚拟交换机I在接收到虚拟机I向虚拟机3发送的报
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1