CN105591925B - 应用于sdn中的报文转发方法和设备 - Google Patents

应用于sdn中的报文转发方法和设备 Download PDF

Info

Publication number
CN105591925B
CN105591925B CN201510907007.6A CN201510907007A CN105591925B CN 105591925 B CN105591925 B CN 105591925B CN 201510907007 A CN201510907007 A CN 201510907007A CN 105591925 B CN105591925 B CN 105591925B
Authority
CN
China
Prior art keywords
mac
mac address
forwarding
vtep
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510907007.6A
Other languages
English (en)
Other versions
CN105591925A (zh
Inventor
高庆光
王海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201510907007.6A priority Critical patent/CN105591925B/zh
Publication of CN105591925A publication Critical patent/CN105591925A/zh
Application granted granted Critical
Publication of CN105591925B publication Critical patent/CN105591925B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5061Pools of addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks

Abstract

本申请提供了应用于SDN中的报文转发方法和设备。本发明中,SDN控制器并非以VM为单位下发每一VM的流表项至物理网关,而是以VTEP为单位下发每一VM的流表项至物理网关,其中,下发的流表项中的MAC地址不是VM的实际MAC地址,而是VTEP被分配的MAC地址池的聚合MAC地址,物理网关在依据流表项生成MAC转发表项时,就会出现N(N大于1)条流表项生成同一个MAC转发表项,即针对该N条流表项,物理网关上的硬件表项资源就可仅保存一个MAC转发表项即可,节省了物理网关上的硬件表项资源,防止物理网关出现硬件表项资源不足的缺陷。

Description

应用于SDN中的报文转发方法和设备
技术领域
本申请涉及网络通信技术,特别涉及应用于软件定义网络(SDN:SoftwareDefined Network)中的报文转发方法和设备。
背景技术
云平台负责SDN中业务服务器的管理,比如在业务服务器上创建虚拟机(VM:Virtual Machine)、创建虚拟交换机(vSwitch)等。
图1示出了云平台管理业务服务器的组网。如图1所示,在云平台业务服务器1上成功创建VM1时,将VM1的IP地址和MAC地址作为VM1的标识上送给SDN控制器(CONTROLLER)。SDN控制器收到VM1的标识后,自动创建与VM1对应的虚端口(vport),并初始化与VM1对应的vport的端口状态为断开状态(down)。VM1在上线时发送免费ARP报文,隧道终端(VTEP:VXLAN Tunnel End Point)1收到免费ARP报文,上送免费ARP报文到SDN控制器。SDN控制器收到来自VM1的免费ARP报文后,更新与VM1对应的vport的端口状态为在线状态(UP),生成一条用于指导VTEP1向VM1发送报文的MAC+IP流表项(即,匹配项为目的MAC和目的IP的流表项,记为流表项1),同时还生成一条用于指导物理网关向VM1发送报文的MAC+IP流表项(记为流表项2)。SDN控制器下发流表项1至VTEP1,下发流表项2至物理网关。当VTEP1收到流表项1后,依据流表项1对发向VM1的VXLAN报文进行VXLAN解封装并发送至VM1。当物理网关收到流表项2后,依据流表项2生成MAC转发表项以指导报文转发,MAC转发表项为硬件表项,其主要包括流表项2中的MAC地址、VXLAN标识(VSI)、VXLAN隧道标识。当物理网关收到发向VM1的VXLAN报文时,物理网关通过依据流表项2生成的MAC转发表项转发报文。
为了避免每个VTEP学习其它VTEP接入的VM的标识,所有跨VTEP转发的报文都直接送到物理网关,由物理网关负责转发到对应的VTEP,这就要求SDN控制器以VM为单位下发每一VM的MAC+IP流表项至物理网关,而物理网关收到每一VM的MAC+IP流表项后就会生成对应的MAC转发表项。如上描述,物理网关生成的MAC转发表项为硬件表项,其需要存储在物理网关的硬件表项资源内,而物理网关的硬件表项资源有一定的规格要求,在VM规模大的情况下,SDN控制器以VM为单位下发每一VM的MAC+IP流表项至物理网关,会导致物理网关出现硬件表项资源不足的缺陷。
发明内容
本申请提供了应用于SDN中的报文转发方法和设备,可以节省物理网关的硬件表项资源。
本申请提供的技术方案包括:
一种应用于软件定义网络SDN中的报文转发方法,该方法应用于SDN控制器,包括:
将SDN内各个隧道终端VTEP的标识通知给云平台;
接收云平台为各个VTEP标识对应的VTEP分配的MAC地址池;不同VTEP分配不同MAC地址池,不同MAC地址池具有不同聚合MAC地址;
接收VTEP上传的ARP报文;
确定ARP报文的源MAC地址所属的MAC地址池,向物理网关下发与该确定的MAC地址池的聚合MAC地址和所述ARP报文的源IP地址匹配的流表项。
一种应用于软件定义网络SDN中的报文转发方法,该方法应用于物理网关,包括:
接收SDN控制器下发的流表项;所述流表项至少包括虚拟机VM的IP地址、VM的MAC地址所属MAC地址池的聚合MAC地址、VM接入的VTEP对应的VXLAN封装信息;
依据所述流表项生成MAC转发表项,所述MAC转发表项至少包含所述聚合MAC地址、VXLAN封装信息;
当接收到二层数据报文时,依据二层数据报文的目的MAC地址在本地匹配MAC转发表项,依据匹配的MAC转发表项中的VXLAN封装信息对二层数据报文进行VXLAN转发。
一种应用于软件定义网络SDN中的报文转发方法,该方法应用于云平台,包括:
接收SDN控制器通知的SDN内各个隧道终端VTEP的标识;
为各个VTEP标识对应的VTEP分配不同的MAC地址池并发送给SDN控制器;不同MAC地址池具有不同的聚合MAC地址;
接收业务服务器发送的LLDP报文,从所述LLDP报文中解析出VTEP标识、SDN控制器标识、业务服务器标识,确定已为解析出的VTEP标识对应的VTEP分配的MAC地址池,将确定出的MAC地址池与解析出的VTEP标识、SDN控制器标识、业务服务器标识组织成一个管理表项存储在本地;
在第一业务服务器上创建虚拟机VM时,依据第一业务服务器的标识匹配管理表项,从匹配的管理表项中的MAC地址池内选择一个MAC地址分配给VM;
当所述VM从第一业务服务器迁移至第二业务服务器时,依据第二业务服务器的标识匹配本地表项,从匹配的表项中的MAC地址池内选择一个MAC地址分配给所述VM。
一种应用于软件定义网络SDN中的报文转发设备,该设备应用于SDN控制器,包括:
通知单元,用于将SDN内各个隧道终端VTEP的标识通知给云平台;
MAC地址池接收单元,用于接收云平台为各个VTEP标识对应的VTEP分配的MAC地址池;不同VTEP分配不同MAC地址池,不同MAC地址池具有不同聚合MAC地址;
报文接收单元,用于接收VTEP上传的ARP报文;
表项单元,用于确定ARP报文的源MAC地址所属的MAC地址池,向物理网关下发与该确定的MAC地址池的聚合MAC地址和所述ARP报文的源IP地址匹配的流表项。
一种应用于软件定义网络SDN中的报文转发设备,该设备应用于物理网关,包括:
表项接收单元,用于接收SDN控制器下发的流表项;所述流表项至少包括虚拟机VM的IP地址、VM的MAC地址所属MAC地址池的聚合MAC地址、VM接入的VTEP对应的VXLAN封装信息;
表项生成单元,用于依据所述流表项生成MAC转发表项,所述MAC转发表项至少包含所述聚合MAC地址、VXLAN封装信息;
报文处理单元,用于当接收到二层数据报文时,依据二层数据报文的目的MAC地址在本地匹配MAC转发表项,依据匹配的MAC转发表项中的VXLAN封装信息对二层数据报文进行VXLAN转发。
一种应用于软件定义网络SDN中的报文转发设备,该设备应用于云平台,包括:
VTEP标识接收单元,用于接收SDN控制器通知的SDN内各个隧道终端VTEP的标识;
MAC地址池分配单元,用于为各个VTEP标识对应的VTEP分配不同的MAC地址池并发送给SDN控制器;不同MAC地址池具有不同的聚合MAC地址;
报文接收单元,用于接收业务服务器发送的LLDP报文,从所述LLDP报文中解析出VTEP标识、SDN控制器标识、业务服务器标识,确定已为解析出的VTEP标识对应的VTEP分配的MAC地址池,将确定出的MAC地址池与解析出的VTEP标识、SDN控制器标识、业务服务器标识组织成一个管理表项存储在本地;
VM管理单元,用于在第一业务服务器上创建虚拟机VM时,依据第一业务服务器的标识匹配管理表项,从匹配的管理表项中的MAC地址池内选择一个MAC地址分配给VM;以及,
当所述VM从第一业务服务器迁移至第二业务服务器时,依据第二业务服务器的标识匹配本地表项,从匹配的表项中的MAC地址池内选择一个MAC地址分配给所述VM。
由以上技术方案可以看出,本发明中,SDN控制器并非以VM为单位下发每一VM的流表项至物理网关,而是以VTEP为单位下发每一VM的流表项至物理网关,其中,下发的流表项中的MAC地址不是VM的实际MAC地址,而是VTEP被分配的MAC地址池的聚合MAC地址,物理网关在依据流表项生成MAC转发表项时,就会出现N(N大于1)条流表项生成同一个MAC转发表项,即针对该N条流表项,物理网关上的硬件表项资源就可仅保存一个MAC转发表项即可,节省了物理网关上的硬件表项资源。
附图说明
图1为云平台管理业务服务器的组网示意图;
图2为本发明提供的方法流程图;
图3为本发明提供的第一设备结构图;
图4为本发明提供的第二设备结构图;
图5为本发明提供的第三设备结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明提供的方法包括图2所示的流程:
参见图2,图2为本发明提供的方法流程图。如图2所示,该流程可包括以下步骤:
步骤201,SDN控制器将SDN内各个VTEP的标识通知给云平台。
本发明中,可通过配置的方法在SDN控制器上添加各个VTEP的标识,当各个VTEP的标识成功添加在SDN控制器上后,SDN控制器会将添加的各个VTEP的标识通知给云平台。
作为本发明的一个实施例,这里VTEP的标识主要包括VTEP的IP地址、MAC地址。
步骤202,云平台为SDN控制器通知的各个VTEP标识对应的VTEP分配不同的MAC地址池并发送给SDN控制器,SDN控制器接收云平台为各个VTEP分配的MAC地址池。
当云平台收到SDN控制器通知的各个VTEP的标识后,云平台会为各个VTEP分配一个MAC地址池,其中,不同的VTEP分配不同的MAC地址池。每一个MAC地址池中至少包含一个MAC地址。
本发明中,MAC地址池通过一个聚合MAC地址代表。不同MAC地址池具有不同的聚合MAC地址。这里聚合MAC地址是通过一个MAC地址和掩码(mask)共同表示。
步骤203,云平台接收业务服务器发送的链路层发现协议(LLDP:Link LayerDiscovery Protocol)报文,从LLDP报文中解析出VTEP标识、SDN控制器标识、业务服务器标识,确定已为解析出的VTEP标识对应的VTEP分配的MAC地址池、将确定出的MAC地址池与解析出的VTEP标识、SDN控制器标识、业务服务器标识组织成一个管理表项存储在本地。
本发明中,业务服务器会向云平台发送增加了业务服务器信息字段和VTEP信息字段的LLDP报文。这里的业务服务器信息字段包含业务服务器标识,用于指示具体哪一个业务服务器,主要通过业务服务器的IP地址等表征。这里的VTEP信息字段主要携带以下内容:业务服务器连接的VTEP的标识、控制该VTEP的SDN控制器的标识等。其中,业务服务器连接的VTEP的标识、控制VTEP的SDN控制器的标识可根据实际情况设置在业务服务器上。优选地,VTEP信息字段采用类型长度数值(TLV:Type Length Value)。下述表1示出了VTEP信息字段的结构:
表1
当云平台收到业务服务器发送的LLDP报文后,从LLDP报文携带的业务服务器信息字段中解析出业务服务器标识、以及从LLDP报文携带的VTEP信息字段中解析出VTEP标识、SDN控制器标识,并确定已为该VTEP标识对应的VTEP分配的MAC地址池,之后,将确定出的MAC地址池与解析出的VTEP标识、SDN控制器标识、业务服务器标识组织成一个管理表项存储在本地。表2示出管理表项的结构:
表2
步骤204,当云平台在业务服务器上创建VM时,依据业务服务器的标识匹配管理表项,从匹配的管理表项中的MAC地址池内选择一个MAC地址分配给VM。
具体地,当云平台在业务服务器上创建VM时,以该业务服务器的标识为关键字在本地管理表项中查找包含该关键字的管理表项,将查找到的管理表项作为上述匹配的管理表项。
当VM创建成功后,VM在启动时会发送ARP报文。ARP报文的源MAC地址为VM被分配的MAC地址,源IP地址为VM被分配的IP地址,这里VM被分配IP地址的方式与现有为VM分配IP地址的方式相同,不再赘述。
当VTEP收到ARP报文后,会上传ARP报文至SDN控制器。之后执行步骤205。
步骤205,SDN控制器接收VTEP上传的ARP报文,确定报文的源MAC地址(以MAC1为例)所属的MAC地址池,向物理网关下发与该确定的MAC地址池的聚合MAC地址(以第一MAC地址为例)和ARP报文的源IP地址(以IP1为例)匹配的流表项。
作为一个实施例,SDN控制器向物理网关下发的流表项至少包括:报文的源IP地址IP1、第一MAC地址、VXLAN封装信息。VXLAN封装信息可依据上传ARP报文的VTEP(也即VM接入的VTEP)确定,具体可依据该VTEP所属的VXLAN标识(VSI)确定。下面通过代码简单示出SDN控制器向物理网关下发的流表项的格式:
Flow entry 1information:
cookie:0x4c324757415057,priority:30000,hard time:0,idle time:0,flags:
check_overlap,byte count:--,packet count:--
Match information:
Ethernet destination MAC address:第一MAC地址
Ethernet destination MAC address mask:mask
Ethernet type:0x0800
IPv4destination address:IP1//报文的源IP地址
mask:255.255.255.255// IP1的掩码
Write actions:
Output interface:vxlan_tunnel2
Set field:
Tunnel ID:vxlan_tunnel ID 2 //VXLAN封装信息
步骤206,物理网关接收SDN控制器下发的流表项,依据所述流表项生成MAC转发表项。
如步骤205限定的SDN控制器下发至物理网关的流表项,则本步骤206生成的MAC转发表项至少包含第一MAC地址、VXLAN封装信息。如上限定的第一MAC地址为MAC地址池的聚合MAC地址,也就意味着本发明中,SDN控制器下发的流表项中的MAC地址不是VM的实际MAC地址,而是VTEP被分配的MAC地址池的聚合MAC地址,如此,当SDN控制器下发给物理网关的流表项中有N(N大于1)条流表项只是IP地址不同时,物理网关在依据这N条流表项生成MAC转发表项时,会生成同一个MAC转发表项,如此,针对该N条流表项,物理网关上的硬件表项资源就可仅保存一个MAC转发表项即可,明显节省了物理网关上的硬件表项资源,防止物理网关出现硬件表项资源不足的缺陷。
举例描述,假如SDN控制器向物理网关下发的流表项为:流表项1。流表项1举例如表3所示:
表3
在表3中,MAC02为MAC地址池(0000-0000-0001至0000-0000-1111)的聚合MAC地址,则当物理网关接收流表项3后,依据流表项3生成如表4所示的MAC转发表项:
MAC地址 State VSI Link ID Aging
MAC02 D VXLAN2 VXLAN_tunnel2 300
表4
在表4中的老化时间(Aging)可根据实际情况设置。
之后,SDN控制器还会向物理网关下发的流表项,假如之后下发的流表项相比表3,只不过是IP地址发生变化,其他都不变,则物理网关依据SDN控制器之后下发的流表项生成的MAC转发表项都如表4所示的MAC转发表项一致,则实现了尽管物理网关收到SDN控制器下发的多个流表项,但最终生成并存储的MAC转发表项的数量远小于收到的流表项的数量,节省了物理网关上的硬件表项资源。
步骤207,物理网关接收到二层数据报文时,依据二层数据报文的目的MAC地址在本地匹配MAC转发表项,依据匹配的MAC转发表项中的VXLAN封装信息对二层数据报文进行VXLAN转发。
如上所述,物理网关上的MAC地址为聚合MAC,而聚合MAC地址是通过一个MAC地址和掩码表示。基于此,作为一个优选实施例,本步骤207中,当二层数据报文的目的MAC地址为VM的实际MAC地址时,依据二层数据报文的目的MAC地址在本地匹配MAC转发表项具体可包括:
从本地所有MAC转发表项的聚合MAC地址中选择一个掩码;
利用二层数据报文的目的MAC地址和选择的掩码进行与运算,得到运算结果;该运算结果实质为一个聚合MAC地址;
从本地所有MAC转发表项中选择运算结果所处的MAC转发表项,将选择的MAC转发表项作为二层数据报文的目的MAC地址匹配的MAC转发表项。
具体地,上述从本地所有MAC转发表项的聚合MAC地址中选择一个掩码可包括:当所有聚合MAC地址中的掩码都相同时,选择其中的一个掩码;当聚合MAC地址中的掩码不同时,选择长度最长的掩码。
通过步骤207,实现了物理网关转发二层数据报文。
本发明中,优选地,当物理网关接收到发向目的VM的三层数据报文时,如果三层数据报文的目的MAC地址为物理网关的三层网关MAC地址,则物理网关修改三层数据报文的源MAC地址为本物理网关的三层网关MAC地址,修改三层数据报文的目的MAC地址为目的VM的MAC地址所属的MAC地址池的聚合MAC地址,依据修改后的目的MAC地址在本地匹配MAC转发表项,依据匹配的MAC转发表项中的VXLAN封装信息对修改后的三层数据报文进行VXLAN转发。
这里,如上所述,SDN控制器下发至物理网关的流表项包括IP地址,则上述修改三层数据报文的目的MAC地址为目的VM的MAC地址所属的MAC地址池的聚合MAC地址可包括:依据所述三层数据报文的目的IP地址匹配流表项;确定匹配的流表项中的MAC地址为目的VM的MAC地址所属的MAC地址池的聚合MAC地址。
需要说明的是,本发明中,进一步地,物理网关依据二层数据报文的目的MAC地址在本地匹配MAC转发表项后,还会更新与二层数据报文的目的MAC地址匹配MAC转发表项的老化时间,以及,物理网关依据修改后的三层数据报文的目的MAC地址在本地匹配MAC转发表项后,还会更新该匹配的MAC转发表项的老化时间。
至此,完成图2所示的流程。
作为本发明的一个实施例,本发明中,SDN控制器还需要生成用于指导VTEP转发数据报文的流表项并通过开放流(Openflow)消息下发至VTEP。具体为:向VTEP下发第一类流表项;向VTEP下发第二类流表项。
其中,第一类流表项中的第一匹配项为:目的MAC地址为VTEP被分配的MAC地址池的聚合MAC地址、目的IP地址为VTEP本地接入的目的VM的IP地址;所述第一类流表项中的第一动作为:第一VXLAN转发;第一VXLAN转发包括:对与第一匹配项匹配的数据报文执行VXLAN解封装,修改VXLAN解封装后的数据报文的目的MAC地址为目的VM的MAC地址并转发。如上针对物理网关发送三层数据报文的描述,则通过第一类流表项能够最终保证目的VM收到三层数据报文。
第二类流表项中的第二匹配项为:目的IP地址不为VTEP本地接入的VM的IP地址;第二类流表项中的第二动作为:第二VXLAN转发;第二VXLAN转发包括:将与第二匹配项匹配的数据报文的源MAC地址修改为VTEP被分配的MAC地址池的聚合MAC地址,执行VXLAN封装并转发至物理网关。
基于第二类流表项,则使得VTEP最终发向物理网关的数据报文的源MAC地址修改为VTEP被分配的MAC地址池的聚合MAC地址。如此,进一步地,当物理网关接收到数据报文(包含上述的二层数据报文、三层数据报文)时,检查本地是否存在与数据报文的源MAC地址匹配的MAC转发表项,如果是,更新该存在的MAC转发表项的老化时间,如果否,学习与数据报文的源MAC地址匹配的MAC转发表项。
本发明中,业务服务器上的VM还可以发生迁移,以第一业务服务器上的第一VM迁移至第二业务服务器为例,则云平台会以第二业务服务器的标识为关键字在本地管理表项找到包含该关键字的管理表项,从找到的管理表项中的MAC地址内选择一个未被占用的MAC地址重新分配给第一VM,而第一VM原来的MAC地址会被回收,恢复为未被占用的状态。第一VM的IP地址可保持不变。之后,第一VM会发送ARP报文,当其他VTEP收到ARP报文后会上传ARP报文至SDN控制器以触使SDN控制器更新信息具体类似上述的步骤205至步骤207,这里不再赘述。
以上对本发明提供的方法进行了描述。下面对本发明提供的设备进行描述:
参见图3,图3为本发明提供的第一设备结构图。该设备应用于SDN控制器,包括:
通知单元,用于将SDN内各个隧道终端VTEP的标识通知给云平台;
MAC地址池接收单元,用于接收云平台为各个VTEP标识对应的VTEP分配的MAC地址池;不同VTEP分配不同MAC地址池,不同MAC地址池具有不同聚合MAC地址;
报文接收单元,用于接收VTEP上传的ARP报文;
表项单元,用于确定ARP报文的源MAC地址所属的MAC地址池,向物理网关下发与该确定的MAC地址池的聚合MAC地址和所述ARP报文的源IP地址匹配的流表项。
优选地,所述表项单元进一步向VTEP下发第一类流表项和第二类流表项;
其中,第一类流表项中的第一匹配项为:目的MAC地址为VTEP被分配的MAC地址池的聚合MAC地址、目的IP地址为VTEP本地接入的目的虚拟机VM的IP地址;所述第一类流表项中的第一动作为:第一VXLAN转发;第一VXLAN转发包括:对与第一匹配项匹配的数据报文执行VXLAN解封装,修改VXLAN解封装后的数据报文的目的MAC地址为目的VM的MAC地址并转发;
第二类流表项中的第二匹配项为:目的IP地址不为VTEP本地接入的VM的IP地址;第二类流表项中的第二动作为:第二VXLAN转发;第二VXLAN转发包括:将与第二匹配项匹配的数据报文的源MAC地址修改为VTEP被分配的MAC地址池的聚合MAC地址,执行VXLAN封装并转发至物理网关。
至此,完成图3所示的设备结构描述。
参见图4,图4为本发明的第二设备结构图。该设备应用于物理网关,包括:
表项接收单元,用于接收SDN控制器下发的流表项;所述流表项至少包括虚拟机VM的IP地址、VM的MAC地址所属MAC地址池的聚合MAC地址、VM接入的VTEP对应的VXLAN封装信息;
表项生成单元,用于依据所述流表项生成MAC转发表项,所述MAC转发表项至少包含所述聚合MAC地址、VXLAN封装信息;
报文处理单元,用于当接收到二层数据报文时,依据二层数据报文的目的MAC地址在本地匹配MAC转发表项,依据匹配的MAC转发表项中的VXLAN封装信息对二层数据报文进行VXLAN转发。
优选地,所述报文处理单元进一步当接收到三层数据报文时,如果三层数据报文的目的MAC地址为本物理网关的三层网关MAC地址,则修改三层数据报文的源MAC地址为本物理网关的三层网关MAC地址,并依据所述三层数据报文的目的IP地址匹配流表项,修改三层数据报文的目的MAC地址为匹配的流表项中的聚合MAC地址,依据修改后的目的MAC地址在本地匹配MAC转发表项,依据匹配的MAC转发表项中的VXLAN封装信息对修改后的三层数据报文进行VXLAN转发;
优选地,所述表项生成单元进一步当接收到二层数据报文时,检查本地是否存在与二层数据报文的源MAC地址匹配的MAC转发表项,如果是,更新该存在的MAC转发表项的老化时间,如果否,学习与二层数据报文的源MAC地址匹配的MAC转发表项;
优选地,所述表项生成单元进一步当接收到三层数据报文时,检查本地是否存在与三层数据报文的源MAC地址匹配的MAC转发表项,如果是,更新该存在的MAC转发表项的老化时间,如果否,学习与三层数据报文的源MAC地址匹配的MAC转发表项。
至此,完成图4所示的设备结构描述。
参见图5,图5为本发明提供的第三设备结构图。该设备应用于云平台,包括:
VTEP标识接收单元,用于接收SDN控制器通知的SDN内各个隧道终端VTEP的标识;
MAC地址池分配单元,用于为各个VTEP标识对应的VTEP分配不同的MAC地址池并发送给SDN控制器;不同MAC地址池具有不同的聚合MAC地址;
报文接收单元,用于接收业务服务器发送的LLDP报文,从所述LLDP报文中解析出VTEP标识、SDN控制器标识、业务服务器标识,确定已为解析出的VTEP标识对应的VTEP分配的MAC地址池,将确定出的MAC地址池与解析出的VTEP标识、SDN控制器标识、业务服务器标识组织成一个管理表项存储在本地;
VM管理单元,用于在第一业务服务器上创建虚拟机VM时,依据第一业务服务器的标识匹配管理表项,从匹配的管理表项中的MAC地址池内选择一个MAC地址分配给VM;以及,
当所述VM从第一业务服务器迁移至第二业务服务器时,依据第二业务服务器的标识匹配本地表项,从匹配的表项中的MAC地址池内选择一个MAC地址分配给所述VM。
至此,完成图5所示的设备结构描述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (11)

1.一种应用于软件定义网络SDN中的报文转发方法,其特征在于,该方法应用于SDN控制器,包括:
将SDN内各个虚拟可扩展局域网隧道终端VTEP的标识通知给云平台;
接收云平台为各个VTEP标识对应的VTEP分配的MAC地址池;不同VTEP分配不同MAC地址池,不同MAC地址池具有不同聚合MAC地址;
接收VTEP上传的ARP报文;
确定ARP报文的源MAC地址所属的MAC地址池,向物理网关下发与该确定的MAC地址池的聚合MAC地址和所述ARP报文的源IP地址匹配的流表项。
2.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
向VTEP下发第一类流表项;
向VTEP下发第二类流表项;
其中,第一类流表项中的第一匹配项为:目的MAC地址为VTEP被分配的MAC地址池的聚合MAC地址、目的IP地址为VTEP本地接入的目的虚拟机VM的IP地址;所述第一类流表项中的第一动作为:第一VXLAN转发;第一VXLAN转发包括:对与第一匹配项匹配的数据报文执行VXLAN解封装,修改VXLAN解封装后的数据报文的目的MAC地址为目的VM的MAC地址并转发;
第二类流表项中的第二匹配项为:目的IP地址不为VTEP本地接入的VM的IP地址;第二类流表项中的第二动作为:第二VXLAN转发;第二VXLAN转发包括:将与第二匹配项匹配的数据报文的源MAC地址修改为VTEP被分配的MAC地址池的聚合MAC地址,执行VXLAN封装并转发至物理网关。
3.一种应用于软件定义网络SDN中的报文转发方法,其特征在于,该方法应用于物理网关,包括:
接收SDN控制器下发的流表项;所述流表项至少包括虚拟机VM的IP地址、VM的MAC地址所属MAC地址池的聚合MAC地址、VM接入的VTEP对应的VXLAN封装信息;
依据所述流表项生成MAC转发表项,所述MAC转发表项至少包含所述聚合MAC地址、VXLAN封装信息;
当接收到二层数据报文时,依据二层数据报文的目的MAC地址在本地匹配MAC转发表项,依据匹配的MAC转发表项中的VXLAN封装信息对二层数据报文进行VXLAN转发。
4.根据权利要求3所述的方法,其特征在于,该方法进一步包括:
当接收到三层数据报文时,如果三层数据报文的目的MAC地址为本物理网关的三层网关MAC地址,则修改三层数据报文的源MAC地址为本物理网关的三层网关MAC地址,并依据所述三层数据报文的目的IP地址匹配流表项,修改三层数据报文的目的MAC地址为匹配的流表项中的聚合MAC地址,依据修改后的目的MAC地址在本地匹配MAC转发表项,依据匹配的MAC转发表项中的VXLAN封装信息对修改后的三层数据报文进行VXLAN转发。
5.根据权利要求3或4所述的方法,其特征在于,该方法进一步包括:
当接收到二层数据报文时,检查本地是否存在与二层数据报文的源MAC地址匹配的MAC转发表项,如果是,更新该存在的MAC转发表项的老化时间,如果否,学习与二层数据报文的源MAC地址匹配的MAC转发表项;
当接收到三层数据报文时,检查本地是否存在与三层数据报文的源MAC地址匹配的MAC转发表项,如果是,更新该存在的MAC转发表项的老化时间,如果否,学习与三层数据报文的源MAC地址匹配的MAC转发表项。
6.一种应用于软件定义网络SDN中的报文转发方法,其特征在于,该方法应用于云平台,包括:
接收SDN控制器通知的SDN内各个虚拟可扩展局域网隧道终端VTEP的标识;
为各个VTEP标识对应的VTEP分配不同的MAC地址池并发送给SDN控制器;不同MAC地址池具有不同的聚合MAC地址;
接收业务服务器发送的LLDP报文,从所述LLDP报文中解析出VTEP标识、SDN控制器标识、业务服务器标识,确定已为解析出的VTEP标识对应的VTEP分配的MAC地址池,将确定出的MAC地址池与解析出的VTEP标识、SDN控制器标识、业务服务器标识组织成一个管理表项存储在本地;
在第一业务服务器上创建虚拟机VM时,依据第一业务服务器的标识匹配管理表项,从匹配的管理表项中的MAC地址池内选择一个MAC地址分配给VM;
当所述VM从第一业务服务器迁移至第二业务服务器时,依据第二业务服务器的标识匹配本地表项,从匹配的表项中的MAC地址池内选择一个MAC地址分配给所述VM。
7.一种应用于软件定义网络SDN中的报文转发设备,其特征在于,该设备应用于SDN控制器,包括:
通知单元,用于将SDN内各个虚拟可扩展局域网隧道终端VTEP的标识通知给云平台;
MAC地址池接收单元,用于接收云平台为各个VTEP标识对应的VTEP分配的MAC地址池;不同VTEP分配不同MAC地址池,不同MAC地址池具有不同聚合MAC地址;
报文接收单元,用于接收VTEP上传的ARP报文;
表项单元,用于确定ARP报文的源MAC地址所属的MAC地址池,向物理网关下发与该确定的MAC地址池的聚合MAC地址和所述ARP报文的源IP地址匹配的流表项。
8.根据权利要求7所述的设备,其特征在于,所述表项单元进一步向VTEP下发第一类流表项和第二类流表项;
其中,第一类流表项中的第一匹配项为:目的MAC地址为VTEP被分配的MAC地址池的聚合MAC地址、目的IP地址为VTEP本地接入的目的虚拟机VM的IP地址;所述第一类流表项中的第一动作为:第一VXLAN转发;第一VXLAN转发包括:对与第一匹配项匹配的数据报文执行VXLAN解封装,修改VXLAN解封装后的数据报文的目的MAC地址为目的VM的MAC地址并转发;
第二类流表项中的第二匹配项为:目的IP地址不为VTEP本地接入的VM的IP地址;第二类流表项中的第二动作为:第二VXLAN转发;第二VXLAN转发包括:将与第二匹配项匹配的数据报文的源MAC地址修改为VTEP被分配的MAC地址池的聚合MAC地址,执行VXLAN封装并转发至物理网关。
9.一种应用于软件定义网络SDN中的报文转发设备,其特征在于,该设备应用于物理网关,包括:
表项接收单元,用于接收SDN控制器下发的流表项;所述流表项至少包括虚拟机VM的IP地址、VM的MAC地址所属MAC地址池的聚合MAC地址、VM接入的VTEP对应的VXLAN封装信息;
表项生成单元,用于依据所述流表项生成MAC转发表项,所述MAC转发表项至少包含所述聚合MAC地址、VXLAN封装信息;
报文处理单元,用于当接收到二层数据报文时,依据二层数据报文的目的MAC地址在本地匹配MAC转发表项,依据匹配的MAC转发表项中的VXLAN封装信息对二层数据报文进行VXLAN转发。
10.根据权利要求9所述的设备,其特征在于,所述报文处理单元进一步当接收到三层数据报文时,如果三层数据报文的目的MAC地址为本物理网关的三层网关MAC地址,则修改三层数据报文的源MAC地址为本物理网关的三层网关MAC地址,并依据所述三层数据报文的目的IP地址匹配流表项,修改三层数据报文的目的MAC地址为匹配的流表项中的聚合MAC地址,依据修改后的目的MAC地址在本地匹配MAC转发表项,依据匹配的MAC转发表项中的VXLAN封装信息对修改后的三层数据报文进行VXLAN转发;
所述表项生成单元进一步当接收到二层数据报文时,检查本地是否存在与二层数据报文的源MAC地址匹配的MAC转发表项,如果是,更新该存在的MAC转发表项的老化时间,如果否,学习与二层数据报文的源MAC地址匹配的MAC转发表项;以及,进一步当接收到三层数据报文时,检查本地是否存在与三层数据报文的源MAC地址匹配的MAC转发表项,如果是,更新该存在的MAC转发表项的老化时间,如果否,学习与三层数据报文的源MAC地址匹配的MAC转发表项。
11.一种应用于软件定义网络SDN中的报文转发设备,其特征在于,该设备应用于云平台,包括:
VTEP标识接收单元,用于接收SDN控制器通知的SDN内各个虚拟可扩展局域网隧道终端VTEP的标识;
MAC地址池分配单元,用于为各个VTEP标识对应的VTEP分配不同的MAC地址池并发送给SDN控制器;不同MAC地址池具有不同的聚合MAC地址;
报文接收单元,用于接收业务服务器发送的LLDP报文,从所述LLDP报文中解析出VTEP标识、SDN控制器标识、业务服务器标识,确定已为解析出的VTEP标识对应的VTEP分配的MAC地址池,将确定出的MAC地址池与解析出的VTEP标识、SDN控制器标识、业务服务器标识组织成一个管理表项存储在本地;
VM管理单元,用于在第一业务服务器上创建虚拟机VM时,依据第一业务服务器的标识匹配管理表项,从匹配的管理表项中的MAC地址池内选择一个MAC地址分配给VM;以及,
当所述VM从第一业务服务器迁移至第二业务服务器时,依据第二业务服务器的标识匹配本地表项,从匹配的表项中的MAC地址池内选择一个MAC地址分配给所述VM。
CN201510907007.6A 2015-12-10 2015-12-10 应用于sdn中的报文转发方法和设备 Active CN105591925B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510907007.6A CN105591925B (zh) 2015-12-10 2015-12-10 应用于sdn中的报文转发方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510907007.6A CN105591925B (zh) 2015-12-10 2015-12-10 应用于sdn中的报文转发方法和设备

Publications (2)

Publication Number Publication Date
CN105591925A CN105591925A (zh) 2016-05-18
CN105591925B true CN105591925B (zh) 2019-03-12

Family

ID=55931160

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510907007.6A Active CN105591925B (zh) 2015-12-10 2015-12-10 应用于sdn中的报文转发方法和设备

Country Status (1)

Country Link
CN (1) CN105591925B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102629160B (zh) 2012-03-16 2016-08-03 华为终端有限公司 一种输入法、输入装置及终端
CN107483335B (zh) * 2016-06-07 2021-01-15 中国移动通信有限公司研究院 一种sdn业务实现方法及应用实体、管理实体、控制器
CN106231003B (zh) * 2016-07-28 2019-09-17 新华三技术有限公司 一种地址分配方法及装置
CN107733799B (zh) * 2016-08-11 2021-09-21 新华三技术有限公司 一种报文传输方法和装置
CN107786677B (zh) * 2016-08-24 2021-06-22 迈普通信技术股份有限公司 一种arp表项更新方法及vtep设备
CN107800549B (zh) 2016-08-30 2020-01-03 新华三技术有限公司 基于交换设备的端口实现多租户设备环境mdc的方法和装置
CN107809495B (zh) * 2016-09-09 2021-06-22 华为技术有限公司 地址管理方法及装置
CN107809364B (zh) * 2016-09-09 2020-06-09 新华三技术有限公司 报文转发方法以及装置
CN106656719B (zh) * 2016-09-26 2020-07-07 华为技术有限公司 云间通信方法及相关设备、云间通信配置方法及相关设备
EP3435606B1 (en) 2016-09-30 2021-02-17 Huawei Technologies Co., Ltd. Message processing method, computing device, and message processing apparatus
CN108023801B (zh) * 2016-10-31 2020-11-10 中国电信股份有限公司 异构网络的资源调度方法及系统
CN107547404B (zh) * 2017-07-31 2019-11-05 新华三技术有限公司 流表生成方法及装置以及报文转发方法及装置
CN107979546B (zh) * 2017-11-30 2020-12-25 新华三技术有限公司 多OpenFlow连接的处理方法及装置
CN109962851B (zh) * 2017-12-25 2021-08-31 浙江宇视科技有限公司 一种实时控制组播源接入的方法及系统
CN108768711B (zh) * 2018-05-18 2022-03-01 新华三技术有限公司 一种网络管理方法、装置及设备
CN109617735B (zh) 2018-12-26 2021-04-09 华为技术有限公司 云计算数据中心系统、网关、服务器及报文处理方法
CN109981409B (zh) * 2019-03-26 2021-05-07 新华三技术有限公司 报文转发方法、装置及转发设备
CN110635945B (zh) * 2019-09-10 2020-12-11 清华大学 一种支持时间触发机制的数据处理方法和sdn网络系统
CN112751781A (zh) * 2019-10-31 2021-05-04 阿里巴巴集团控股有限公司 流量数据的处理方法、装置、设备及计算机存储介质
CN111695149B (zh) * 2020-05-15 2023-07-28 浙江信网真科技股份有限公司 一种基于云协同的安全过滤方法
CN111787133B (zh) * 2020-09-04 2020-12-11 杭州优云科技有限公司 基于lldp的局域网ip地址自动分配方法及云计算中心
CN113794641B (zh) * 2021-08-20 2022-10-21 新华三信息安全技术有限公司 报文处理方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014067316A1 (en) * 2012-10-30 2014-05-08 Hangzhou H3C Technologies Co., Ltd. Message forwarding between geographically dispersed network sites
CN103944826A (zh) * 2013-01-22 2014-07-23 杭州华三通信技术有限公司 Spbm网络中的表项聚合方法及设备
CN104243265A (zh) * 2014-09-05 2014-12-24 华为技术有限公司 一种基于虚拟机迁移的网关控制方法、装置及系统
CN104363170A (zh) * 2014-11-25 2015-02-18 杭州华三通信技术有限公司 一种软件定义网络中数据流转发方法和装置
CN105099922A (zh) * 2015-06-18 2015-11-25 杭州华三通信技术有限公司 一种跨虚拟可扩展局域网的数据报文转发方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014067316A1 (en) * 2012-10-30 2014-05-08 Hangzhou H3C Technologies Co., Ltd. Message forwarding between geographically dispersed network sites
CN103944826A (zh) * 2013-01-22 2014-07-23 杭州华三通信技术有限公司 Spbm网络中的表项聚合方法及设备
CN104243265A (zh) * 2014-09-05 2014-12-24 华为技术有限公司 一种基于虚拟机迁移的网关控制方法、装置及系统
CN104363170A (zh) * 2014-11-25 2015-02-18 杭州华三通信技术有限公司 一种软件定义网络中数据流转发方法和装置
CN105099922A (zh) * 2015-06-18 2015-11-25 杭州华三通信技术有限公司 一种跨虚拟可扩展局域网的数据报文转发方法和装置

Also Published As

Publication number Publication date
CN105591925A (zh) 2016-05-18

Similar Documents

Publication Publication Date Title
CN105591925B (zh) 应用于sdn中的报文转发方法和设备
US10581700B2 (en) Service flow processing method, apparatus, and device
CN103763121B (zh) 一种网络配置信息快速下发的方法及装置
CN105471744B (zh) 一种虚拟机迁移方法和装置
CN105577548B (zh) 一种软件定义网络中报文处理方法和装置
CN105656796B (zh) 实现虚拟扩展局域网三层转发的方法和装置
CN103023827B (zh) 一种虚拟化数据中心的数据转发方法及其实现设备
CN104780088B (zh) 一种业务报文的传输方法和设备
CN106712988B (zh) 一种虚拟网络管理方法及装置
US10630508B2 (en) Dynamic customer VLAN identifiers in a telecommunications network
CN104407911B (zh) 虚拟机迁移方法及装置
CN104125128B (zh) Linux软桥支持VLAN的方法
CN107645431B (zh) 报文转发方法及装置
CN107579900A (zh) 从vlan网络接入vxlan网络的方法、装置及系统
CN105379206B (zh) 网络中的报文处理方法、转发设备和报文处理系统
CN106209648A (zh) 跨虚拟可扩展局域网的组播数据报文转发方法和设备
CN107547242A (zh) Vm配置信息的获取方法及装置
CN106817236A (zh) 虚拟网络功能的配置方法和装置
CN105978817A (zh) 用于传输数据的方法、存储器和网络适配器
CN106209636A (zh) 从vlan至vxlan的组播数据报文转发方法和设备
CN106209689A (zh) 从vxlan至vlan的组播数据报文转发方法和设备
US10599532B2 (en) Upgrade backup in virtualized computing environments
CN109240796A (zh) 虚拟机信息获取方法及装置
CN108322376B (zh) 路由同步方法、装置及机器可读存储介质
CN106559338A (zh) Sdn网络中的租户划分方法、装置及sdn网络系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant after: Xinhua three Technology Co., Ltd.

Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant before: Huasan Communication Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant