CN106453144B - 软件定义网络中的报文处理方法和设备 - Google Patents
软件定义网络中的报文处理方法和设备 Download PDFInfo
- Publication number
- CN106453144B CN106453144B CN201510486107.6A CN201510486107A CN106453144B CN 106453144 B CN106453144 B CN 106453144B CN 201510486107 A CN201510486107 A CN 201510486107A CN 106453144 B CN106453144 B CN 106453144B
- Authority
- CN
- China
- Prior art keywords
- bum
- flow table
- packet
- message
- input
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供软件定义网络中的报文处理的方法和设备,该方法包括:SDN转发设备根据分类流表以及输入报文的媒体接入控制MAC地址确定该输入报文为广播未知单播多播BUM报文;该SDN转发设备使用BUM报文抑制流表对该输入报文进行匹配,该BUM报文抑制流表包括至少一个表项,该表项包括匹配项和操作指令;该SDN转发设备根据匹配结果,对该输入报文进行处理。上述技术方案能够对数据流中的BUM报文进行精确的控制,提高网络带宽和转发性能。
Description
技术领域
本发明实施例涉及通信领域,尤其涉及软件定义网络中的报文处理方法和设备。
背景技术
软件定义网络(英文:Software Defined Network,简称“SDN”)通过开放流(英文:OpenFlow)技术将原来完全由交换机/路由器控制的转发过程转化为由SDN交换机(英文:SDN Switch)和控制器(英文:Controller)共同完成,实现数据转发和路由控制的分离。SDN技术采用多级流表的流水线完成报文从输入到输出的转发处理过程。但是,目前SDN中存在大量的广播未知单播多播(英文:Broadcast Unknown unicast and Multicast,简称“BUM”)报文被复制广播发送,占用网络带宽,影响网络性能。
发明内容
本发明实施例提供软件定义网络中的报文处理方法和设备,能够对数据流中的BUM报文进行精确的控制,提高网络带宽和转发性能。
第一方面,本发明实施例提供一种软件定义网络SDN中的报文处理方法,包括:SDN转发设备根据分类流表以及输入报文的媒体接入控制MAC地址确定该输入报文为广播未知单播多播BUM报文;该SDN转发设备使用BUM报文抑制流表对该输入报文进行匹配,该BUM报文抑制流表包括至少一个表项,该表项包括匹配项和操作指令;该SDN转发设备根据匹配结果,对该输入报文进行处理。
结合第一方面,在第一方面的第一种可能的实现方式中,该SDN转发设备确定使用BUM报文抑制流表对该输入报文进行匹配,包括:该SDN转发设备根据该输入报文,查找该BUM报文抑制流表中是否存在与该输入报文相匹配的表项。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,该SDN转发设备根据匹配结果,对该输入报文进行处理,包括:若该BUM报文抑制流表中不存在与该输入报文相匹配的表项,将该输入报文丢弃;若该BUM报文抑制流表中存在与该输入报文相匹配的目标表项,根据该目标表项中的操作指令对该输入报文进行处理。
结合第一方面,在第一方面的第三种可能的实现方式中,该SDN转发设备使用BUM报文抑制流表对该输入报文进行匹配,包括:该SDN转发设备确定该BUM报文抑制流表中与该输入报文相匹配的目标表项;该SDN转发设备根据匹配结果,对该输入报文进行处理,包括:该SDN转发设备根据该目标表项中的操作指令对该输入报文进行处理。
结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第四种可能的实现方式中,该匹配项包括以下中的至少一个:入接口、目的MAC地址、源MAC地址、目的互联网协议IP地址、源IP地址、协议类型、用户数据协议/传输控制协议的端口号。
结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第五种可能的实现方式中,在该SDN转发设备根据分类流表以及输入报文的媒体接入控制MAC地址确定该输入报文为广播未知单播多播BUM报文之前,该方法还包括:该SDN转发设备接收SDN控制器发送的BUM报文处理指令并执行该BUM报文处理指令,该BUM报文处理指令用于指示该SDN转发设备在根据该分类流表确定该输入报文为BUM报文的情况下根据该BUM报文抑制流表处理该输入报文。
第二方面,本发明实施例提供一种软件定义网络SDN中的报文处理方法,包括:SDN控制器确定分类流表;该SDN控制器确定广播未知单播多播BUM报文抑制流表,该BUM报文抑制流表包括至少一个表项,该表项包括匹配项和操作指令;该SDN控制器还用于生成BUM报文处理指令,该BUM报文处理指令用于指示SDN转发设备在根据该分类流表确定输入报文为BUM报文的情况下根据该BUM报文抑制流表处理该输入报文;该SDN控制器将该分类流表、该BUM报文抑制流表以及该BUM报文处理指令发送至该SDN转发设备。
结合第二方面,在第二方面的第一种可能的实现方式中,该BUM报文抑制流表的匹配项包括以下中的至少一个:入接口、目的MAC地址、源MAC地址、目的互联网协议IP地址、源IP地址、协议类型、用户数据协议/传输控制协议的端口号。
第三方面,本发明实施例提供一种软件定义网络SDN转发设备,包括:接收单元,用于接收输入报文;第一确定单元,用于根据分类流表以及该接收单元接收的该输入报文的媒体接入控制MAC地址,确定该输入报文为广播未知单播多播BUM报文;第二确定单元,用于使用BUM报文抑制流表对该输入报文进行匹配,该BUM报文抑制流表包括至少一个表项,该表项包括匹配项和操作指令;第三确定单元,用于根据该第二确定单元的确定的匹配结果,对该输入报文进行处理。
结合第三方面,在第三方面的第一种可能的实现方式中,该第二确定单元,具体用于根据该输入报文,查找该BUM报文抑制流表中是否存在与该输入报文相匹配的表项。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,该第三确定单元,具体用于若该BUM报文抑制流表中不存在与该输入报文相匹配的表项,将该输入报文丢弃;若该BUM报文抑制流表中存在与该输入报文相匹配的目标表项,根据该目标表项中的操作指令对该输入报文进行处理。
结合第三方面,在第三方面的第三种可能的实现方式中,该第二确定单元,具体用于确定该BUM报文抑制流表中与该输入报文相匹配的目标表项;该第三确定单元,具体用于根据该目标表项中的操作指令对该输入报文进行处理。
结合第三方面或第三方面的上述任一种可能的实现方式,在第三方面的第四种可能的实现方式中,该BUM报文抑制流表的匹配项包括以下中的至少一个:入接口、目的MAC地址、源MAC地址、目的互联网协议IP地址、源IP地址、协议类型、用户数据协议/传输控制协议的端口号。
结合第三方面或第三方面的上述任一种可能的实现方式,在第三方面的第五种可能的实现方式中,该接收单元,还用于接收SDN控制器发送的BUM报文处理指令;该第二确定单元和该第三确定单元,还用于执行该BUM报文处理指令,该BUM报文处理指令用于指示该第一确定单元在根据该分类流表确定该输入报文为BUM报文的情况下根据该BUM报文抑制流表处理该输入报文
第四方面,本发明实施例提供一种软件定义网络SDN控制器,包括:第一确定单元,用于确定分类流表;第二确定单元,用于确定广播未知单播多播BUM报文抑制流表,该BUM报文抑制流表包括至少一个表项,该表项包括匹配项和操作指令;第三确定单元,用于生成BUM报文处理指令,该BUM报文处理指令用于指示SDN转发设备在根据该分类流表确定输入报文为BUM报文的情况下根据该BUM报文抑制流表处理该输入报文;发送单元,用于将该第一确定单元确定的该分类流表、该第二确定单元确定的该BUM报文抑制流表以及该第三确定单元生成的该BUM报文处理指令发送至SDN转发设备。
结合第四方面,在第四方面的第一种可能的实现方式中,该BUM报文抑制流表的匹配项包括以下中的至少一个:入接口、目的MAC地址、源MAC地址、目的互联网协议IP地址、源IP地址、协议类型、用户数据协议/传输控制协议的端口号。
上述技术方案中,SDN转发设备能够利用BUM报文控制流表对BUM报文进行精确控制。因此,上述方案可以避免因没有固定的BUM控制规则导致的网络性能的降低,从而提高网络带宽和转发性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例提供的SDN中的处理报文的方法的示意性流程图。
图2是根据本发明实施例提供的SDN中的处理报文的方法的示意性流程图。
图3是根据本发明实施例提供的SDN转发设备的结构框图。
图4是根据本发明实施例提供的SDN控制器的结构框图。
图5是根据本发明实施例提供的SDN转发设备的结构框图。
图6是根据本发明实施例提供的SDN控制器的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
图1是根据本发明实施例提供的SDN中的处理报文的方法的示意性流程图。所述方法包括:
101,SDN转发设备根据分类流表以及输入报文的媒体接入控制(英文:MediaAccess Control,简称:MAC)地址确定该输入报文为BUM报文。
102,该SDN转发设备使用BUM报文抑制流表对该输入报文进行匹配,该BUM报文抑制流表包括至少一个表项,该表项包括匹配项和操作指令。
103,该SDN转发设备根据匹配结果,对该输入报文进行处理。
图1所示的方法中,SDN转发设备能够利用BUM报文控制流表对BUM报文进行精确控制。因此,上述方案可以避免因没有固定的BUM控制规则导致的网络性能的降低,从而提高网络带宽和转发性能。
可选的,作为一个实施例,该SDN转发设备确定使用BUM报文抑制流表对该输入报文进行匹配,包括:该SDN转发设备确定该BUM报文抑制流表的表项中是否存在与该输入报文相匹配的目标表项。该SDN转发设备根据匹配结果,对该输入报文进行处理,包括:若该BUM报文抑制流表的表项中不存在与该输入报文相匹配的目标表项,将该输入报文丢弃;若该BUM报文抑制流表的表项中存在与该输入报文相匹配的目标表项,根据该目标表项的操作能够对该输入报文进行处理。
可选的,作为另一个实施例,该SDN转发设备确定使用BUM报文抑制流表对该输入报文进行匹配,包括:该SDN转发设备确定该BUM报文抑制流表的表项中与该输入报文相匹配的目标表项。该SDN转发设备根据匹配结果,对该输入报文进行处理,包括:该SDN转发设备根据该目标表项的操作指令对该输入报文进行处理。
例如,如果该目标表项的操作指令为丢弃,则将该输入报文丢弃处理。如果该目标表项的操作指令为转发,则将该输入报文进行转发处理。
具体地,该BUM报文抑制流表的匹配项包括以下中的至少一个:输入接口、目的MAC地址、源MAC地址、目的互联网协议(英文:Internet Protocol,简称:IP)地址、源IP地址、协议类型、用户数据协议(英文:User Datagram Protocol,简称:UDP)/传输控制协议(英文:Transmission Control Protocol,简称:TCP)的端口号。
进一步,在该SDN转发设备根据分类流表以及输入报文的MAC地址确定该输入报文为BUM报文之前,该方法还包括:该SDN转发设备接收SDN控制器发送的BUM报文处理指令并执行该BUM报文处理指令,该BUM报文处理指令用于指示该SDN转发设备在根据该分类流表确定该输入报文为BUM报文的情况下根据该BUM报文抑制流表处理该输入报文。
本领域技术人员可以理解的是,该分类流表和该BUM抑制流表是SDN控制器确定并发送给SDN转发设备的。在执行BUM报文处理指令的情况下,SDN转发设备在接收SDN控制器发送的分类流表和BUM抑制流表后,根据分类流表确定输入报文是否为BUM报文,并在确定输入报文为BUM报文的情况下,根据BUM抑制流表对BUM报文进行处理。此外,SDN控制器还可以对确定的BUM抑制流表进行更新并将更新后的BUM抑制流表发送给SDN转发设备。在此情况下,SDN转发设备可以根据更新后的BUM报文抑制流表对BUM报文进行处理。
图2是根据本发明实施例提供SDN中的处理报文的方法的示意性流程图。所述方法包括:
201,SDN控制器确定分类流表。
202,该SDN控制器确定BUM报文抑制流表,该BUM报文抑制流表包括至少一个表项,该表项包括匹配项和操作指令。
203,该SDN控制器生成BUM报文处理指令,该BUM报文处理指令用于指示SDN转发设备在根据该分类流表确定输入报文为BUM报文的情况下根据该BUM报文抑制流表处理该输入报文。
204,该SDN控制器将该分类流表、该BUM报文抑制流表以及该BUM报文处理指令发送至该SDN转发设备。
根据图2所示的方法,SDN控制器能够确定分类流表以及BUM报文抑制流表,并将该分类流表和该BUM报文抑制流表发送给SDN转发设备。这样,SDN转发设备在执行BUM报文处理指令的情况下,在利用分类流表识别出BUM报文后,利用BUM报文控制流表对BUM报文进行精确控制。因此,上述方案可以避免因没有固定的BUM控制规则导致的网络性能的降低,从而提高网络带宽和转发性能。
具体地,该BUM报文抑制流表的匹配项包括以下中的至少一个:输入接口、目的MAC地址、源MAC地址、目的IP地址、源IP地址、协议类型、UDP/TCP的端口号。
为了帮助本领域技术人员更好地理解本发明,下面将结合具体实施例对本发明进行进一步描述。可以理解的是,该具体实施例仅是为了帮助更好地理解本发明,而并非对本发明的限制。
SDN控制器确定分类流表并将该分类流表发送给SDN转发设备,该分类流表包括MAC地址。换句话说,该分类流表能够用于区分BUM报文与非BUM报文。
可选的,作为一个实施例,SDN控制器可以设置输入报文的目的MAC地址属于特定的目的MAC地址的报文为BUM报文。也就是说,该分类流表中的MAC地址信息包括BUM报文的目的MAC地址。在此情况下,SDN转发设备可以确定输入报文的目的MAC地址,并确定该目的MAC地址是否属于该分类流表。如果SDN转发设备确定该输入报文的目的MAC地址属于该分类流表,则确定该输入报文为BUM报文。如果SDN转发设备确定该输入报文的目的MAC地址不属于该分类流表,则确定该输入报文为非BUM报文。
可选的,作为另一个实施例,SDN控制器可以设置输入报文的目的MAC地址属于特定的目的MAC地址的报文为非BUM报文。也就是说,该分类流表中的MAC地址信息包括非BUM报文的目的MAC地址。在此情况下,SDN转发设备可以确定输入报文的目的MAC地址,确定该目的MAC地址是否属于该分类流表。如果SDN转发设备确定该输入报文的目的MAC地址属于该分类流表,则确定该输入报文为非BUM报文。如果SDN转发设备确定该输入报文的目的MAC地址不属于该分类流表,则确定该输入报文为BUM报文。
可选的,作为另一个实施例,SDN控制器可以设置输入报文的目的MAC地址属于第一MAC地址集合的输入报文为BUM报文,输入报文的目的MAC地址属于第二MAC地址集合的输入报文为非BUM报文。也就是说,该分类流表的MAC地址信息中包括两个MAC地址集合,第一MAC地址集合为BUM报文的MAC地址集合,第二MAC地址集合为非BUM报文MAC地址集合。在此情况下,SDN转发设备可以确定输入报文的目的MAC地址,确定该目的MAC地址属于该分类流表中的哪一个MAC地址集合。如果SDN转发设备确定该输入报文的目的MAC地址属于该第一MAC地址集合,则确定该输入报文为BUM报文。如果SDN转发设备确定该输入报文的目的MAC地址属于该第二MAC地址集合,则确定该输入报文为非MUB报文。
本领域技术人员可以理解,上述实施例中的特定MAC地址、第一MAC地址集合以及第二MAC地址集合中的MAC地址可以是确定的完整MAC地址;也可以符合特定规则的MAC地址,例如MAC地址中的前N项均为D8:96:83的MAC地址。
本领域技术人员可以理解,SDN控制器除了可以通过设定目的MAC地址的方式设置该分类流表外,还可以通过设定源MAC地址的方式设置分类流表,或者同时设置目的MAC地址和源MAC地址的方式设置分类流表。具体方式与设定目的MAC地址的方式类似,在此就不必赘述。
SDN控制器还可以确定BUM报文抑制流表并将该BUM报文抑制流表发送给SDN转发设备。
SDN控制器还可以生成BUM报文处理指令并将该BUM报文处理指令发送给该SDN转发设备。该BUM报文处理指令用于指示SDN转发设备在根据该分类流表确定输入报文为BUM报文的情况下根据该BUM报文抑制流表处理该输入报文。
SDN转发设备在接收到该BUM报文处理指令后,执行该BUM报文处理指令。在此情况下,该SDN转发设备在利用接收到的分类流表确定出输入报文为BUM报文的情况下,可以确定使用接收到的BUM报文抑制流表对该输入报文进行匹配,并根据匹配结果对该输入报文进行处理。
可选的,作为一个实施例,该SDN转发设备可以确定该BUM报文抑制流表的表项中是否存在与该输入报文匹配的表项。表1是一个报文抑制流表的示意,其中该报文抑制流表中的表项的匹配项包括源MAC地址、目的MAC地址、源IP和目的IP。
可以理解的是,表1仅是一种BUM报文抑制流表的示意。报文抑制流表可以根据需要设定匹配项,匹配项可以包括以下中的至少一个:报文输入接口、报文目的MAC地址、报文源MAC地址、报文目的IP地址、报文源IP地址、报文协议类型、UDP/TCP的端口号。此外,可以理解的是,需要确定的输入报文的属性与表项中的匹配项是相同的。例如,如果表项中的匹配项仅包括目的IP地址,则确定输入报文的目的IP地址即可,而不需要确定输入报文的其他特征,例如目的MAC地址等。
表1
SDN转发设备在确定输入报文为BUM报文后,可以确定该BUM报文抑制流表的表项的中是否存在与该输入报文的特征相匹配的目标表项。以表1为例,BUM报文抑制流表中的指令可以包括转发和继续,其中继续表示继续后续的Open Flow查表匹配流程;转发表示转发该输入报文。如果SDN转发设备确定输入报文的特征与BUM报文抑制流表中的一个表项中的每个匹配项相匹配,则执行该表项的操作指令;如果SDN转发设备确定输入报文的特征中存在不与BUM报文抑制流表的表项中的匹配项相匹配的特征,则将该输入报文进行丢弃。例如,如果SDN转发设备确定输入报文1为BUM报文,并且确定输入报文1的源MAC地址为MAC 1,目的MAC地址为MAC 2,源IP地址为IP3,目的IP地址为IP7,则执行相应的操作指令,即继续后续的Open Flow查表匹配流程。如果SDN转发设备确定输入报文2为BUM报文,并且确定输入报文2的源MAC地址为MAC 3,目的MAC地址为MAC 5,源IP为IP 7,目的IP地址为IP 9,则执行相应的操作指令,即转发输入报文2至MAC地址为MAC 5,IP地址为IP 9的设备。如果SDN转发设备确定输入报文3为BUM报文,并且确定输入报文3的源MAC地址为MAC 10,目的MAC地址为MAC 5,源IP地址为IP 7,目的IP地址为IP 9。可以看出,表1中并没有完全匹配的匹配项。在此情况下,SDN转发设备可以将输入报文3丢弃。
通过上述实施例可以看出,如果可以从BUM报文抑制流表中找到与输入报文完全匹配的目标表项,则可以执行该目标匹配项对应的指令;不能从该BUM报文抑制流表中找到完全匹配的表项,则将该输入报文丢弃。
可选的,作为另一个实施例,BUM报文抑制流表中的指令可以包括:转发、继续和丢弃。也就是说,如果SDN转发设备确定输入报文的特征与BUM报文抑制流表中操作指令为丢弃的表项相匹配,则可以将该输入报文丢弃。此外,如果SDN转发设备确定输入报文的特征与报文抑制流表中的任一个表项均不匹配,则SDN转发设备可以将该输入报文进行丢弃处理。
可选的,作为另一个实施例,该SDN转发设备还可以确定该BUM报文抑制流表中与该输入报文相匹配的目标表项。表2是另一种BUM报文抑制流表的示意。其中该报文抑制流表中的表项的匹配项包括源MAC地址、目的MAC地址、源IP和目的IP。
可以理解的是,与表1类似,表2也仅是一种BUM报文抑制流表的示意。报文抑制流表可以根据需要设定匹配项,匹配项可以包括以下中的至少一个:报文输入接口、报文目的MAC地址、报文源MAC地址、报文目的IP地址、报文源IP地址、报文协议类型、UDP/TCP的端口号。此外,可以理解的是,需要确定的输入报文的属性与表项中的匹配项是相同的。例如,如果表项中的匹配项仅包括目的IP地址,则确定输入报文的目的IP地址即可,而不需要确定输入报文的其他特征,例如目的MAC地址等。
表2
表2中“**”表示该项可以是任意值。SDN转发设备在确定输入报文为BUM报文后,可以确定该BUM报文抑制流表的表项的中与该输入报文的特征相匹配的目标表项,并根据该目标表项的操作指令对该输入报文进行处理。在表2所示的实施例中,BUM报文抑制流表中的指令可以包括转发、继续和丢弃,其中继续表示继续后续的Open Flow查表匹配流程;转发表示转发该输入报文;丢弃表示丢弃该输入报文。
在本实施例中,BUM报文抑制流表中会存在一条特定表项,该特定表项中的匹配项的取值均为任意值。例如,表2所示的序号为6的表项即为该特定表项。该特定表项的优先级最低。在此情况下,如果SDN转发设备确定该输入报文与除特定表项以外的任一个表项相匹配的话,则该特定表项以外的任一个表项为目标表项,执行该目标表项的操作指令。而任一输入报文如果没有与其他表项相匹配,则最终都能匹配到该特定表项,则对该输入报文做丢弃处理。换句话说,优先判断BUM报文是否与该特定表项之外的表项匹配,如果没有其他相匹配的表项,则最终会与该特定表项相匹配。例如,如果SDN转发设备确定输入报文1为BUM报文,并且确定输入报文1的源MAC地址为MAC 1,目的MAC地址为MAC 2,源IP地址为IP3,目的IP地址为IP7,则可以确定输入报文1与序号为3的表项相匹配,执行序号为3的操作指令,即继续后续的Open Flow查表匹配流程。在此情况下,序号为3的表项为输入报文1的目标表项。如果SDN转发设备确定输入报文2为BUM报文,并且确定输入报文2的源MAC地址为MAC 3,目的MAC地址为MAC 5,源IP为IP 7,目的IP地址为IP 9,则确定输入报文2与序号为4的表项相匹配,执行序号为4的操作指令,即转发输入报文2至MAC地址为MAC 5,IP地址为IP9的设备。。在此情况下,序号为4的表项为输入报文1的目标表项。如果SDN转发设备确定输入报文3为BUM报文,并且确定输入报文3的源MAC地址为MAC 7,目的MAC地址为MAC 5,源IP为IP 7,目的IP地址为IP 9。可以看出,表2中除特定表项外没有与输入报文3相匹配的表项。输入报文3的目标表项为该特定表项。在此情况下,执行相应的操作指令,即将输入报文3丢弃。
本领域技术人员可以理解,该SDN转发设备可以先确定BUM报文抑制流表中的除该特定表项以外的所有表项是否存在与该输入报文相匹配的表项,如果确定存在与该输入报文相匹配的表项,则停止匹配过程,确定匹配到的表项为该输入报文相匹配的目标表项。该SDN转发设备也可以根据表项的优先级确定该输入报文的目标表项。该BUM报文抑制流表中,该特定表项的优先级最低。在此情况下,该SDN转发设备必然可以确定该特定表项是与该输入报文相匹配的表项。但是,该SDN转发设备还需要确定除该特定表项以外的其他表项中是否还有与该输入报文相匹配的表项。如果存在,那么由于除该特定表项以外的表项的优先级高于该特定表项,SDN转发设备会确定匹配到的除该特定表项以外的表项为该输入报文的目标表项。如果不存在,那么SDN转发设备确定该特定表项为该输入报文的目标表项。
本领域技术人员可以理解,该分类流表和该BUM抑制流表的具体内容可以使管理人员设定的,并且可以根据需要对分类流表和BUM抑制流表的具体内容进行修改。
图3是根据本发明实施例提供的SDN转发设备的结构框图,用于实现如本发明图1所示SDN中的处理报文的方法。如图3所示,SDN转发设备300包括接收单元301,第一确定单元302,第二确定单元303和第三确定单元304。
接收单元301,用于接收输入报文。
第一确定单元302,用于根据分类流表以及接收单元301接收的该输入报文的媒体接入控制MAC地址,确定该输入报文为广播未知单播多播BUM报文。
第二确定单元303,用于使用BUM报文抑制流表对该输入报文进行匹配,该BUM报文抑制流表包括至少一个表项,该表项包括匹配项和操作指令。
第三确定单元304,用于根据第二确定单元303的确定的匹配结果,对该输入报文进行处理。
图3所示的SDN转发设备300能够利用BUM报文控制流表对BUM报文进行精确控制。因此,上述方案可以避免因没有固定的BUM控制规则导致的网络性能的降低,从而提高网络带宽和转发性能。
可选的,作为一个实施例,第二确定单元303,具体用于根据该输入报文,查找该BUM报文抑制流表中是否存在与该输入报文相匹配的表项。第三确定单元304,具体用于若该BUM报文抑制流表中不存在与该输入报文相匹配的表项,将该输入报文丢弃;若该BUM报文抑制流表中存在与该输入报文相匹配的目标表项,根据该目标表项中的操作指令对该输入报文进行处理。
可选的,作为另一个实施例,第二确定单元303,具体用于确定该BUM报文抑制流表中与该输入报文相匹配的目标表项;第三确定单元304,具体用于根据该目标表项中的操作指令对该输入报文进行处理。
具体地,该BUM报文抑制流表的匹配项包括以下中的至少一个:入接口、目的MAC地址、源MAC地址、目的互联网协议IP地址、源IP地址、协议类型、用户数据协议/传输控制协议的端口号。
进一步,接收单元301,还用于接收SDN控制器发送的BUM报文处理指令;第二确定单元303和第三确定单元304,还用于执行该BUM报文处理指令,该BUM报文处理指令用于指示该第一确定单元在根据该分类流表确定该输入报文为BUM报文的情况下根据该BUM报文抑制流表处理该输入报文
此外,本领域技术人员可以理解,接收单元301,还可以用于接收SDN控制器发送的分类流表以及BUM报文抑制流表。同时,接收单元301,还可以用于接收SDN控制器发送的更新的BUM报文抑制流表。
图4是根据本发明实施例提供的SDN控制器的结构框图,用于实现如本发明图2所示SDN中的处理报文的方法。如图4所示,SDN控制器400包括第一确定单元401,第二确定单元402、第三确定单元403和发送单元404。
第一确定单元401,用于确定分类流表。
第二确定单元402,用于确定广播未知单播多播BUM报文抑制流表,该BUM报文抑制流表包括至少一个表项,该表项包括匹配项和操作指令。
第三确定单元403,用于生成BUM报文处理指令,该BUM报文处理指令用于指示SDN转发设备在根据该分类流表确定输入报文为BUM报文的情况下根据该BUM报文抑制流表处理该输入报文。
发送单元404,用于将第一确定单元401确定的该分类流表、第二确定单元402确定的该BUM报文抑制流表以及第三确定单元403生成的该BUM报文处理指令发送至SDN转发设备。
图4所示的SDN控制器400能够确定分类流表以及BUM报文抑制流表,并将该分类流表和该BUM报文抑制流表发送给SDN转发设备。这样,SDN转发设备能够利用分类流表识别出BUM报文,并利用BUM报文控制流表对BUM报文进行精确控制。因此,上述方案可以避免因没有固定的BUM控制规则导致的网络性能的降低,从而提高网络带宽和转发性能。
具体地,该BUM报文抑制流表的匹配项包括以下中的至少一个:入接口、目的MAC地址、源MAC地址、目的互联网协议IP地址、源IP地址、协议类型、用户数据协议/传输控制协议的端口号。
图5是根据本发明实施例提供的SDN转发设备的结构框图,用于实现如本发明图1所示SDN中的处理报文的方法。如图5所示,SDN转发设备500包括处理器501、存储器502和通信接口503。
所述处理器501、存储器502和通信接口503通过总线***504相互连接,其中总线***504除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为总线***504。
上述的处理器501可以是通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
所述存储器502用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器502可能包含随机存取存储器(random access memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器501,执行所述存储器502所存放的程序,用于通过所述通信接口503接收输入报文;根据分类流表以及该输入报文的MAC地址,确定该输入报文为BUM报文;使用BUM报文抑制流表对该输入报文进行匹配,该BUM报文抑制流表包括至少一个表项,该表项包括匹配项和操作指令;根据匹配结果,对该输入报文进行处理。
图5所示的SDN转发设备500能够利用BUM报文抑制流表对BUM报文进行精确控制。因此,上述方案可以避免因没有固定的BUM控制规则导致的网络性能的降低,从而提高网络带宽和转发性能。
处理器501,具体可用于根据该输入报文,查找该BUM报文抑制流表中是否存在与该输入报文相匹配的表项,若该BUM报文抑制流表中不存在与该输入报文相匹配的表项,将该输入报文丢弃;若该BUM报文抑制流表中存在与该输入报文相匹配的目标表项,根据该目标表项中的操作指令对该输入报文进行处理。
处理器501,具体也可用于确定该BUM报文抑制流表中与该输入报文相匹配的目标表项;根据该目标表项中的操作指令对该输入报文进行处理。
具体地,该BUM报文抑制流表的匹配项包括以下中的至少一个:入接口、目的MAC地址、源MAC地址、目的互联网协议IP地址、源IP地址、协议类型、用户数据协议/传输控制协议的端口号。
进一步,所述处理器501,还通过所述通信接口503接收SDN控制器发送的BUM报文处理指令;执行该BUM报文处理指令,该BUM报文处理指令用于指示该第一确定单元在根据该分类流表确定该输入报文为BUM报文的情况下根据该BUM报文抑制流表处理该输入报文。
此外,本领域技术人员可以理解,所述处理器501,还可以通过所述通信接口503接收SDN控制器发送的分类流表以及BUM报文抑制流表。
所述存储器502还用于存储所述分类流表和所述BUM报文抑制流表。
所述处理器501还可以用于接收SDN控制器发送的更新的BUM报文抑制流表,并更新所述存储器502中存储的BUM报文抑制流表。
图6是根据本发明实施例提供的SDN控制器的结构框图,用于实现如本发明图2所示SDN中的处理报文的方法。如图6所示,SDN控制器600包括处理器601、存储器602和通信接口603。
所述处理器601、所述存储器602和所述通信接口603通过总线***604相互连接,其中总线***604除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为总线***604。
上述的处理器601可以是通用处理器、数字信号处理器(Digital SignalProcessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。所述存储器602用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器602可能包含RAM,也可能还包括非易失性存储器,例如至少一个磁盘存储器。
所述处理器601,执行所述存储器602所存放的程序,用于确定分类流表;确定广播未知单播多播BUM报文抑制流表,该BUM报文抑制流表包括至少一个表项,该表项包括匹配项和操作指令;生成BUM报文处理指令,该BUM报文处理指令用于指示SDN转发设备在根据该分类流表确定输入报文为BUM报文的情况下根据该BUM报文抑制流表处理该输入报文;将该分类流表以及BUM报文抑制流表通过所述通信接口603发送至SDN转发设备。
图6所示的SDN控制器600能够确定分类流表以及BUM报文抑制流表,并将该分类流表和该BUM报文抑制流表发送给SDN转发设备。这样,SDN转发设备能够利用分类流表识别出BUM报文,并利用BUM报文控制流表对BUM报文进行精确控制。因此,上述方案可以避免因没有固定的BUM控制规则导致的网络性能的降低,从而提高网络带宽和转发性能。
具体地,该BUM报文抑制流表的匹配项包括以下中的至少一个:入接口、目的MAC地址、源MAC地址、目的互联网协议IP地址、源IP地址、协议类型、用户数据协议/传输控制协议的端口号。
所述处理器601,还用于通过所述通信接口603向所述SDN转发设备发送更新的BUM报文抑制流表。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:优盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内,因此本发明的保护范围应以权利要求的保护范围为准。
Claims (14)
1.一种软件定义网络SDN中的报文处理方法,其特征在于,包括:
SDN转发设备根据分类流表以及输入报文的媒体接入控制MAC地址确定所述输入报文为广播未知单播多播BUM报文;
所述SDN转发设备使用BUM报文抑制流表对所述输入报文进行匹配,所述BUM报文抑制流表包括至少一个表项,所述表项包括匹配项和操作指令;
所述SDN转发设备根据匹配结果,对所述输入报文进行处理。
2.如权利要求1所述的方法,其特征在于,所述SDN转发设备确定使用BUM报文抑制流表对所述输入报文进行匹配,包括:
所述SDN转发设备根据所述输入报文,查找所述BUM报文抑制流表中是否存在与所述输入报文相匹配的表项。
3.如权利要求2所述的方法,其特征在于,所述SDN转发设备根据匹配结果,对所述输入报文进行处理,包括:
若所述BUM报文抑制流表中不存在与所述输入报文相匹配的表项,将所述输入报文丢弃;若所述BUM报文抑制流表中存在与所述输入报文相匹配的目标表项,根据所述目标表项中的操作指令对所述输入报文进行处理。
4.如权利要求1所述的方法,其特征在于,
所述SDN转发设备使用BUM报文抑制流表对所述输入报文进行匹配,包括:
所述SDN转发设备确定所述BUM报文抑制流表中与所述输入报文相匹配的目标表项;
所述SDN转发设备根据匹配结果,对所述输入报文进行处理,包括:
所述SDN转发设备根据所述目标表项中的操作指令对所述输入报文进行处理。
5.如权利要求1至4中任一项所述的方法,其特征在于,在所述SDN 转发设备根据分类流表以及输入报文的媒体接入控制MAC地址确定所述输入报文为广播未知单播多播BUM报文之前,所述方法还包括:
所述SDN转发设备接收SDN控制器发送的BUM报文处理指令并执行所述BUM报文处理指令,所述BUM报文处理指令用于指示所述SDN转发设备在根据所述分类流表确定所述输入报文为BUM报文的情况下根据所述BUM报文抑制流表处理所述输入报文。
6.一种软件定义网络SDN中的报文处理方法,其特征在于,包括:
SDN控制器确定分类流表;
所述SDN控制器确定广播未知单播多播BUM报文抑制流表,所述BUM报文抑制流表包括至少一个表项,所述表项包括匹配项和操作指令;
所述SDN控制器生成BUM报文处理指令,所述BUM报文处理指令用于指示SDN转发设备在根据所述分类流表确定输入报文为BUM报文的情况下根据所述BUM报文抑制流表处理所述输入报文;
所述SDN控制器将所述分类流表、所述BUM报文抑制流表以及所述BUM报文处理指令发送至所述SDN转发设备。
7.如权利要求6所述的方法,其特征在于,所述BUM报文抑制流表的匹配项包括以下中的至少一个:入接口、目的MAC地址、源MAC地址、目的互联网协议IP地址、源IP地址、协议类型、用户数据协议/传输控制协议的端口号。
8.一种软件定义网络SDN转发设备,其特征在于,包括:
接收单元,用于接收输入报文;
第一确定单元,用于根据分类流表以及所述接收单元接收的所述输入报文的媒体接入控制MAC地址,确定所述输入报文为广播未知单播多播BUM报文;
第二确定单元,用于使用BUM报文抑制流表对所述输入报文进行匹配,所述BUM报文抑制流表包括至少一个表项,所述表项包括匹配项和操作指令;
第三确定单元,用于根据所述第二确定单元的确定的匹配结果,对所述输入报文进行处理。
9.如权利要求8所述的SDN转发设备,其特征在于,所述第二确定单元,具体用于根据所述输入报文,查找所述BUM报文抑制流表中是否存在与所述输入报文相匹配的表项。
10.如权利要求9所述的SDN转发设备,其特征在于,所述第三确定单元,具体用于若所述BUM报文抑制流表中不存在与所述输入报文相匹配的表项,将所述输入报文丢弃;若所述BUM报文抑制流表中存在与所述输入报文相匹配的目标表项,根据所述目标表项中的操作指令对所述输入报文进行处理。
11.如权利要求8所述的SDN转发设备,其特征在于,所述第二确定单元,具体用于确定所述BUM报文抑制流表中与所述输入报文相匹配的目标表项;
所述第三确定单元,具体用于根据所述目标表项中的操作指令对所述输入报文进行处理。
12.如权利要求8至11中任一项所述的SDN转发设备,其特征在于,所述接收单元,还用于接收SDN控制器发送的BUM报文处理指令;
所述第二确定单元和所述第三确定单元,还用于执行所述BUM报文处理指令,所述BUM报文处理指令用于指示所述第一确定单元在根据所述分类流表确定所述输入报文为BUM报文的情况下根据所述BUM报文抑制流表处理所述输入报文。
13.一种软件定义网络SDN控制器,其特征在于,包括:
第一确定单元,用于确定分类流表;
第二确定单元,用于确定广播未知单播多播BUM报文抑制流表,所述BUM报文抑制流表包括至少一个表项,所述表项包括匹配项和操作指令;
第三确定单元,用于生成BUM报文处理指令,所述BUM报文处理指令用于指示SDN转发设备在根据所述分类流表确定输入报文为BUM报文的情况下根据所述BUM报文抑制流表处理所述输入报文;
发送单元,用于将所述第一确定单元确定的所述分类流表、所述第二确定单元确定的所述BUM报文抑制流表以及所述第三确定单元生成的所述BUM报文处理指令发送至SDN转发设备。
14.如权利要求13所述的SDN控制器,其特征在于,所述BUM报文抑制流表的匹配项包括以下中的至少一个:入接口、目的MAC地址、源MAC地址、目的互联网协议IP地址、源IP地址、协议类型、用户数据协议/传输控制协议的端口号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510486107.6A CN106453144B (zh) | 2015-08-10 | 2015-08-10 | 软件定义网络中的报文处理方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510486107.6A CN106453144B (zh) | 2015-08-10 | 2015-08-10 | 软件定义网络中的报文处理方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106453144A CN106453144A (zh) | 2017-02-22 |
CN106453144B true CN106453144B (zh) | 2020-01-31 |
Family
ID=58093775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510486107.6A Active CN106453144B (zh) | 2015-08-10 | 2015-08-10 | 软件定义网络中的报文处理方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106453144B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110971526B (zh) * | 2020-01-06 | 2021-10-29 | 苏州盛科通信股份有限公司 | 一种混合交换机fdb资源的流表扩展方法及装置 |
CN115987912A (zh) * | 2022-12-21 | 2023-04-18 | 迈普通信技术股份有限公司 | 报文转发控制方法、装置、设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2572473B1 (en) * | 2010-05-19 | 2014-02-26 | Telefonaktiebolaget L M Ericsson (PUBL) | Methods and apparatus for use in an openflow network |
CN103248724A (zh) * | 2013-04-19 | 2013-08-14 | 中国(南京)未来网络产业创新中心 | 一种基于sdn控制器的dhcp广播处理方法 |
CN103312611B (zh) * | 2013-06-03 | 2016-12-28 | 华为技术有限公司 | 报文处理方法、设备标签处理方法及设备 |
CN104348716B (zh) * | 2013-07-23 | 2018-03-23 | 新华三技术有限公司 | 一种报文处理方法及设备 |
-
2015
- 2015-08-10 CN CN201510486107.6A patent/CN106453144B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106453144A (zh) | 2017-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109952746B (zh) | 在业务链网络环境中集成物理和虚拟网络功能 | |
US10742722B2 (en) | Server load balancing | |
US9444743B2 (en) | Network system, switch and connected terminal detection method | |
US8913613B2 (en) | Method and system for classification and management of inter-blade network traffic in a blade server | |
CN106878194B (zh) | 一种报文处理方法和装置 | |
US20150215236A1 (en) | Method and apparatus for locality sensitive hash-based load balancing | |
US10798000B2 (en) | Method and apparatus of compressing network forwarding entry information | |
US10313154B2 (en) | Packet forwarding | |
US9729446B1 (en) | Protocol-independent packet routing | |
US20190020584A1 (en) | Packet Processing Method and System, and Device | |
US20210399908A1 (en) | Multicast routing | |
WO2016115698A1 (zh) | 数据报文的转发方法、装置及设备 | |
US10313275B2 (en) | Packet forwarding | |
US20160330117A1 (en) | Scalable network address translation at high speed in a network environment | |
CN106453144B (zh) | 软件定义网络中的报文处理方法和设备 | |
US20160352637A1 (en) | Client-based port filter table | |
US9749262B2 (en) | Packet processing method and forwarding element | |
US9847929B2 (en) | Cluster and forwarding method | |
US10505834B2 (en) | Session aware adaptive packet filtering | |
US8948171B1 (en) | System and method for IP multicast | |
CN105450527B (zh) | 处理报文、发送信息、接收信息的方法及装置 | |
WO2022199559A1 (zh) | 报文处理方法以及网络设备 | |
US20150172176A1 (en) | Control device, communication system, communication method and program | |
US10063487B2 (en) | Pattern matching values of a packet which may result in false-positive matches | |
CN117596205A (zh) | 报文处理方法、装置、电子设备及可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |