应用于sdn中的报文转发方法和设备的制造方法
【技术领域】
[00011 本申请涉及网络通信技术,特别涉及应用于软件定义网络(SDN = Software Defined Network)中的报文转发方法和设备。
【背景技术】
[0002] 云平台负责SDN中业务服务器的管理,比如在业务服务器上创建虚拟机(VM: Virtual Machine)、创建虚拟交换机(vSwitch)等。
[0003] 图1示出了云平台管理业务服务器的组网。如图1所示,在云平台业务服务器1上成 功创建VMl时,将VMl的IP地址和MAC地址作为VMl的标识上送给SDN控制器(CONTROLLER)。 SDN控制器收到VMl的标识后,自动创建与VMl对应的虚端口(vport),并初始化与VMl对应的 vport的端口状态为断开状态(down) JMl在上线时发送免费ARP报文,隧道终端(VTEP: VXLAN Tunnel End PointH收到免费ARP报文,上送免费ARP报文到SDN控制器。SDN控制器 收到来自VMl的免费ARP报文后,更新与VMl对应的vport的端口状态为在线状态(UP),生成 一条用于指导VTEPl向VMl发送报文的MAC+IP流表项(即,匹配项为目的MAC和目的IP的流表 项,记为流表项1),同时还生成一条用于指导物理网关向VMl发送报文的MAC+IP流表项(记 为流表项2)。SDN控制器下发流表项1至VTEP1,下发流表项2至物理网关。当VTEP1收到流表 项1后,依据流表项1对发向VMl的VXLAN报文进行VXLAN解封装并发送至VMl。当物理网关收 到流表项2后,依据流表项2生成MC转发表项以指导报文转发,MAC转发表项为硬件表项,其 主要包括流表项2中的MAC地址、VXLAN标识(VSI )、VXLAN隧道标识。当物理网关收到发向VMl 的VXLAN报文时,物理网关通过依据流表项2生成的MC转发表项转发报文。
[0004] 为了避免每个VTEP学习其它VTEP接入的VM的标识,所有跨VTEP转发的报文都直接 送到物理网关,由物理网关负责转发到对应的VTEP,这就要求SDN控制器以VM为单位下发每 一 VM的MAC+IP流表项至物理网关,而物理网关收到每一 VM的MAC+IP流表项后就会生成对应 的MAC转发表项。如上描述,物理网关生成的MAC转发表项为硬件表项,其需要存储在物理网 关的硬件表项资源内,而物理网关的硬件表项资源有一定的规格要求,在VM规模大的情况 下,SDN控制器以VM为单位下发每一 VM的MAC+IP流表项至物理网关,会导致物理网关出现硬 件表项资源不足的缺陷。
【发明内容】
[0005] 本申请提供了应用于SDN中的报文转发方法和设备,可以节省物理网关的硬件表 项资源。
[0006] 本申请提供的技术方案包括:
[0007] 一种应用于软件定义网络SDN中的报文转发方法,该方法应用于SDN控制器,包括: [0008] 将SDN内各个隧道终端VTEP的标识通知给云平台;
[0009] 接收云平台为各个VTEP标识对应的VTEP分配的MAC地址池;不同VTEP分配不同MAC 地址池,不同MAC地址池具有不同聚合MC地址;
[0010] 接收VTEP上传的ARP报文;
[0011] 确定ARP报文的源MAC地址所属的MAC地址池,向物理网关下发与该确定的MAC地址 池的聚合MAC地址和所述ARP报文的源IP地址匹配的流表项。
[0012] 一种应用于软件定义网络SDN中的报文转发方法,该方法应用于物理网关,包括: [0013]接收SDN控制器下发的流表项;所述流表项至少包括虚拟机VM的IP地址、VM的MAC 地址所属MAC地址池的聚合MAC地址、VM接入的VTEP对应的VXLAN封装信息;
[0014] 依据所述流表项生成MAC转发表项,所述MAC转发表项至少包含所述聚合MAC地址、 VXLAN封装信息;
[0015] 当接收到二层数据报文时,依据二层数据报文的目的MAC地址在本地匹配MAC转发 表项,依据匹配的MAC转发表项中的VXLAN封装信息对二层数据报文进行VXLAN转发。
[0016] 一种应用于软件定义网络SDN中的报文转发方法,该方法应用于云平台,包括:
[0017] 接收SDN控制器通知的SDN内各个隧道终端VTEP的标识;
[0018] 为各个VTEP标识对应的VTEP分配不同的MAC地址池并发送给SDN控制器;不同MAC 地址池具有不同的聚合MC地址;
[0019] 接收业务服务器发送的LLDP报文,从所述LLDP报文中解析出VTEP标识、SDN控制器 标识、业务服务器标识,确定已为解析出的VTEP标识对应的VTEP分配的MAC地址池,将确定 出的MAC地址池与解析出的VTEP标识、SDN控制器标识、业务服务器标识组织成一个管理表 项存储在本地;
[0020] 在第一业务服务器上创建虚拟机VM时,依据第一业务服务器的标识匹配管理表 项,从匹配的管理表项中的MAC地址池内选择一个MAC地址分配给VM;
[0021 ]当所述VM从第一业务服务器迀移至第二业务服务器时,依据第二业务服务器的标 识匹配本地表项,从匹配的表项中的MAC地址池内选择一个MAC地址分配给所述VM。
[0022] 一种应用于软件定义网络SDN中的报文转发设备,该设备应用于SDN控制器,包括: [0023] 通知单元,用于将SDN内各个隧道终端VTEP的标识通知给云平台;
[0024] MAC地址池接收单元,用于接收云平台为各个VTEP标识对应的VTEP分配的MAC地址 池;不同VTEP分配不同MAC地址池,不同MAC地址池具有不同聚合MAC地址;
[0025]报文接收单元,用于接收VTEP上传的ARP报文;
[0026]表项单元,用于确定ARP报文的源MAC地址所属的MAC地址池,向物理网关下发与该 确定的MAC地址池的聚合MC地址和所述ARP报文的源IP地址匹配的流表项。
[0027] 一种应用于软件定义网络SDN中的报文转发设备,该设备应用于物理网关,包括: [0028]表项接收单元,用于接收SDN控制器下发的流表项;所述流表项至少包括虚拟机VM 的IP地址、VM的MAC地址所属MAC地址池的聚合MAC地址、VM接入的VTEP对应的VXLAN封装信 息;
[0029]表项生成单元,用于依据所述流表项生成MAC转发表项,所述MAC转发表项至少包 含所述聚合MAC地址、VXLAN封装信息;
[0030] 报文处理单元,用于当接收到二层数据报文时,依据二层数据报文的目的MAC地址 在本地匹配MAC转发表项,依据匹配的MAC转发表项中的VXLAN封装信息对二层数据报文进 行VXLAN转发。
[0031] 一种应用于软件定义网络SDN中的报文转发设备,该设备应用于云平台,包括:
[0032] VTEP标识接收单元,用于接收SDN控制器通知的SDN内各个隧道终端VTEP的标识; [0033] MAC地址池分配单元,用于为各个VTEP标识对应的VTEP分配不同的MAC地址池并发 送给SDN控制器;不同MAC地址池具有不同的聚合MAC地址;
[0034]报文接收单元,用于接收业务服务器发送的LLDP报文,从所述LLDP报文中解析出 VTEP标识、SDN控制器标识、业务服务器标识,确定已为解析出的VTEP标识对应的VTEP分配 的MAC地址池,将确定出的MAC地址池与解析出的VTEP标识、SDN控制器标识、业务服务器标 识组织成一个管理表项存储在本地;
[0035] VM管理单元,用于在第一业务服务器上创建虚拟机VM时,依据第一业务服务器的 标识匹配管理表项,从匹配的管理表项中的MAC地址池内选择一个MAC地址分配给VM;以及, [0036]当所述VM从第一业务服务器迀移至第二业务服务器时,依据第二业务服务器的标 识匹配本地表项,从匹配的表项中的MAC地址池内选择一个MAC地址分配给所述VM。
[0037]由以上技术方案可以看出,本发明中,SDN控制器并非以VM为单位下发每一VM的流 表项至物理网关,而是以VTEP为单位下发每一VM的流表项至物理网关,其中,下发的流表项 中的MAC地址不是VM的实际MAC地址,而是VTEP被分配的MAC地址池的聚合MAC地址,物理网 关在依据流表项生成MAC转发表项时,就会出现N(N大于1)条流表项生成同一个MAC转发表 项,即针对该N条流表项,物理网关上的硬件表项资源就可仅保存一个MC转发表项即可,节 省了物理网关上的硬件表项资源。
【附图说明】
[0038]图1为云平台管理业务服务器的组网示意图;
[0039]图2为本发明提供的方法流程图;
[0040]图3为本发明提供的第一设备结构图;
[0041]图4为本发明提供的第二设备结构图;
[0042]图5为本发明提供的第三设备结构图。
【具体实施方式】
[0043] 为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对 本发明进行详细描述。
[0044] 本发明提供的方法包括图2所示的流程:
[0045] 参见图2