流量处理方法、装置和存储介质

文档序号:1538029 发布日期:2020-02-14 浏览:5次 >En<

阅读说明:本技术 流量处理方法、装置和存储介质 (Traffic processing method, device and storage medium ) 是由 张锋 翟云箭 陈晓帆 古亮 于 2019-10-31 设计创作,主要内容包括:本发明公开了一种流量处理方法,所述方法应用于交换机,包括:接收待处理流量;按照预设分类规则对所述待处理流量进行流量分类,获得所述待处理流量的流量类型;当所述待处理流量的流量类型为ARP流量时,将所述待处理流量转发至ARP流表;利用所述ARP流表的ARP流量处理命令,对所述待处理流量进行处理。本发明还公开了一种流量处理装置、交换机和存储介质。本发明实现了在交换机本地进行ARP流量处理,简化了流量处理过程,降低了资源的消耗和流量处理时长。(The invention discloses a flow processing method, which is applied to a switch and comprises the following steps: receiving flow to be processed; carrying out flow classification on the flow to be processed according to a preset classification rule to obtain the flow type of the flow to be processed; when the flow type of the flow to be processed is ARP flow, forwarding the flow to be processed to an ARP flow table; and processing the flow to be processed by using the ARP flow processing command of the ARP flow table. The invention also discloses a flow processing device, a switch and a storage medium. The invention realizes the ARP flow processing in the local switch, simplifies the flow processing process, and reduces the resource consumption and the flow processing time.)

流量处理方法、装置和存储介质

技术领域

本发明涉及通信技术领域,尤其涉及一种流量处理方法、装置和存储介质。

背景技术

服务链(service function chain),是一种将物理/虚拟功能组件,主要是L4~L7层功能组件(如防火墙、VPN),按照一定顺序串起来,让特定流量按照预定顺序经过这些安全组件的技术。在目前的流量处理方式中,是控制器负责流量控制,而交换机根据控制器的命令执行流量的转发,其并不对流量报文的请求作响应。在交换机接收到地址解析协议(Address Resolution Protocol,ARP)请求报文时,会将该ARP请求报文上传至控制器,以使控制器对该ARP请求报文做出响应。而上述这种流量处理方法,在接收到ARP请求报文时,需要在交换机进行流量的上报,通过控制器进行响应,交换机再根据控制器的指令做出相应的流量转发,整个过程较为复杂,耗费资源的同时还存在处理时长过长的问题。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。

发明内容

本发明的主要目的在于提供一种流量处理方法、装置和存储介质,旨在解决交换机无法对ARP流量在本地进行流量处理,导致流量处理过程复杂,耗费资源耗时长的技术问题。

为实现上述目的,本发明提供一种流量处理方法,所述方法应用于交换机,所述流量处理方法包括:接收待处理流量;按照预设分类规则对所述待处理流量进行流量分类,获得所述待处理流量的流量类型;若所述待处理流量的流量类型为ARP流量,将所述待处理流量转发至ARP流表;利用所述ARP流表的ARP流量处理命令,对所述待处理流量进行处理。

可选地,所述利用所述ARP流表的ARP流量处理命令,对所述待处理流量进行处理的步骤,具体包括:利用所述ARP流表的ARP流量处理命令确定所述待处理流量的请求类型;若所述待处理流量为ARP请求报文,根据地址关系映射表对所述ARP请求报文进行响应,所述地址关系映射表中包含MAC地址与IP地址之间的映射关系。

可选地,所述若所述待处理流量为ARP请求报文,根据地址关系映射表对所述ARP请求报文进行响应的步骤,具体包括:若所述待处理流量为ARP请求报文,获取所述待处理流量中携带的待匹配IP地址或待匹配MAC地址;根据所述待匹配IP地址或所述待匹配MAC地址,查找本地的地址关系映射表,获得目标地址信息;根据所述目标地址信息构造响应报文,将所述响应报文返回至所述待处理流量的发送主机。

可选地,所述利用所述ARP流表的ARP流量处理命令确定所述待处理流量的请求类型的步骤之后,所述流量处理方法还包括:若所述待处理流量为ARP免费报文,将所述待处理流量转发至广播流表;根据所述广播流表的广播命令,将所述待处理流量发送至广播域内的多个端口。

可选地,所述按照预设分类规则对所述待处理流量进行流量分类,获得所述待处理流量的流量类型的步骤之后,所述流量处理方法还包括:若所述待处理流量的流量类型为单播流量,将所述待处理流量转发至动态学习流表;根据所述动态学习流表的处理命令,利用本地的自学习地址表对所述待处理流量匹配第一目的地地址;所述自学习地址表通过各端口接收到的地址信息生成;将所述待处理流量发送至与所述第一目的地地址相对应的端口。

可选地,所述根据所述动态学习流表的处理命令,利用本地的自学习地址表对所述待处理流量匹配第一目的地地址的步骤之后,所述流量处理方法还包括:若未匹配到所述待处理流量的第一目的地地址,则将所述待处理流量转发至单播流表;根据所述单播流表的单播命令,利用预存地址表对所述待处理流量匹配第二目的地地址;将所述待处理流量发送至与所述第二目的地地址相对应的端口。

可选地,所述根据所述单播流表的单播命令,利用预存地址表对所述待处理流量匹配第二目的地地址的步骤之后,所述流量处理方法还包括:若未匹配到所述待处理流量的第二目的地地址,则将所述待处理流量转发至广播流表;根据所述广播流表的广播命令,将所述待处理流量发送至广播域内的多个端口。

可选地,所述按照预设分类规则对所述待处理流量进行流量分类,获得所述待处理流量的流量类型的步骤之后,所述流量处理方法还包括:若所述待处理流量的流量类型为广播流量,将所述待处理流量转发至广播流表;根据所述广播流表的广播命令,将所述待处理流量发送至广播域内的多个端口。

此外,为实现上述目的,本发明还提供一种流量处理装置,包括:接收模块,用于接收待处理流量;分类模块,用于按照预设分类规则对所述待处理流量进行流量分类,获得所述待处理流量的流量类型;转发模块,用于若所述待处理流量的流量类型为ARP流量,将所述待处理流量转发至ARP流表;ARP流量处理模块,用于根据所述ARP流表的ARP流量处理命令,对所述待处理流量进行处理。

此外,为实现上述目的,本发明还提供一种流量处理装置,所述流量处理装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的流量处理程序,所述流量处理程序被所述处理器执行时实现如上述的流量处理方法的步骤。

此外,为实现上述目的,本发明还提供一种存储介质,所述存储介质上存储有流量处理程序,所述流量处理程序被处理器执行时实现如上述的流量处理方法的步骤。

本发明实施例提出的一种流量处理方法、装置和存储介质,所述方法应用于交换机,交换机在接收到待处理流量时,按照预设分类规则对所述待处理流量进行流量分类,获得所述待处理流量的流量类型,当所述待处理流量的流量类型为ARP流量时,则将所述待处理流量转发至ARP流表,以利用所述ARP流表的ARP流量处理命令在本地对待处理流量进行处理,通过设置ARP流表,实现了在交换机本地进行ARP流量处理,无需将该ARP请求报文上报至控制器,简化了流量处理过程,降低了资源的消耗和流量处理时长。

附图说明

图1为本发明实施例方案涉及的运行环境示意图;

图2为本发明实施例方案涉及的运行环境的交换机结构示意图;

图3为本发明流量处理方法实施例的流程示意图;

图4为图3中流量处理方法实施例的步骤S308的细化流程示意图;

图5为图4中流量处理方法实施例的步骤S404的细化流程示意图;

图6为图4中流量处理方法实施例的步骤S402之后的步骤流程示意图;

图7为图3中流量处理方法实施例的步骤S304之后的步骤流程示意图;

图8为图7中流量处理方法实施例的步骤S704之后的步骤流程示意图;

图9为图8中流量处理方法实施例的步骤S804之后的步骤流程示意图;

图10为图3中流量处理方法实施例的步骤S304之后的步骤流程示意图;

图11为本发明流量处理装置的结构框图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1是本发明实施例方案涉及的运行环境示意图。其中,交换机1001与控制器1002进行通信连接。控制器1002负责管理无线网络中的所有无线访问接入点(AccessPoint,AP),包括交换机,以对流量进行控制以确保流量有序流转运行。交换机负责网络数据包(即流表)的查表转发工作。本发明实施例中,交换机为以太网交换机,例如可以是OVS(OpenVSwitch)交换机,OVS交换机是一种开源稳定的软件定义网络(Software DefinedNetwork,SDN)交换机,也支持传统网络。交换机可以是通过虚拟机实现的虚拟形态,还可以是实体硬件形态。控制器可以是SDN控制器。

图2是本发明实施例方案涉及的运行环境的交换机结构示意图。该交换机可以包括:处理器2001,例如CPU,网络接口2003,存储器2004,通信总线2002。其中,通信总线2002用于实现这些组件之间的连接通信。网络接口2003可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器2004可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器2004可选的还可以是独立于前述处理器2001的存储装置。

本领域技术人员可以理解,图2中示出的交换机结构并不构成对交换机的限定,可以包括比图示更多或更少的部件,或者某些部件的组合,或者部件的不同布置。

作为一种计算机存储介质的存储器2004中可以包括操作系统、网络通信模块以及流量处理程序。网络接口2003主要用于连接后台服务器,与后台服务器进行数据通信;而处理器2001可以用于调用存储器2004中存储的流量处理程序,并执行以下操作:接收待处理流量;按照预设分类规则对所述待处理流量进行流量分类,获得所述待处理流量的流量类型;若所述待处理流量的流量类型为ARP流量,将所述待处理流量转发至ARP流表;利用所述ARP流表的ARP流量处理命令,对所述待处理流量进行处理。

可选地,所述利用所述ARP流表的ARP流量处理命令,对所述待处理流量进行处理的步骤,具体包括:利用所述ARP流表的ARP流量处理命令确定所述待处理流量的请求类型;若所述待处理流量为ARP请求报文,根据地址关系映射表对所述ARP请求报文进行响应,所述地址关系映射表中包含MAC地址与IP地址之间的映射关系。

可选地,所述若所述待处理流量为ARP请求报文,根据地址关系映射表对所述ARP请求报文进行响应的步骤,具体包括:若所述待处理流量为ARP请求报文,获取所述待处理流量中携带的待匹配IP地址或待匹配MAC地址;根据所述待匹配IP地址或所述待匹配MAC地址,查找本地的地址关系映射表,获得目标地址信息;根据所述目标地址信息构造响应报文,将所述响应报文返回至所述待处理流量的发送主机。

可选地,所述利用所述ARP流表的ARP流量处理命令确定所述待处理流量的请求类型的步骤之后,所述流量处理方法还包括:若所述待处理流量为ARP免费报文,将所述待处理流量转发至广播流表;根据所述广播流表的广播命令,将所述待处理流量发送至广播域内的多个端口。

可选地,所述按照预设分类规则对所述待处理流量进行流量分类,获得所述待处理流量的流量类型的步骤之后,所述流量处理方法还包括:若所述待处理流量的流量类型为单播流量,将所述待处理流量转发至动态学习流表;根据所述动态学习流表的处理命令,利用本地的自学习地址表对所述待处理流量匹配第一目的地地址;所述自学习地址表通过各端口接收到的地址信息生成;将所述待处理流量发送至与所述第一目的地地址相对应的端口。

可选地,所述根据所述动态学习流表的处理命令,利用本地的自学习地址表对所述待处理流量匹配第一目的地地址的步骤之后,所述流量处理方法还包括:若未匹配到所述待处理流量的第一目的地地址,则将所述待处理流量转发至单播流表;根据所述单播流表的单播命令,利用预存地址表对所述待处理流量匹配第二目的地地址;将所述待处理流量发送至与所述第二目的地地址相对应的端口。

可选地,所述根据所述单播流表的单播命令,利用预存地址表对所述待处理流量匹配第二目的地地址的步骤之后,所述流量处理方法还包括:若未匹配到所述待处理流量的第二目的地地址,则将所述待处理流量转发至广播流表;根据所述广播流表的广播命令,将所述待处理流量发送至广播域内的多个端口。

可选地,所述按照预设分类规则对所述待处理流量进行流量分类,获得所述待处理流量的流量类型的步骤之后,所述流量处理方法还包括:若所述待处理流量的流量类型为广播流量,将所述待处理流量转发至广播流表;根据所述广播流表的广播命令,将所述待处理流量发送至广播域内的多个端口。

参照图3,一种流量处理方法实施例,所述流量处理方法包括:

步骤S302,接收待处理流量;

其中,待处理流量为网络数据包,该待处理流量为接入交换机的主机发出。本申请实施例中,按照其广播类型以及请求类型,将待处理流量分为多种流量类型。具体地,可以是ARP流量、单播流量、广播流量、以及组播流量等。其中,单播流量为发送给指定的主机的流量,广播流量为发送给广播域内所有主机的流量,组播流量为发送给指定的多个主机的流量。APR流量为ARP协议流量。ARP协议主要负责将局域网中的32位IP地址转换为对应的48位物理地址,即网卡的MAC地址,比如IP地址为192.168.0.1网卡MAC地址为00-03-0F-FD-1D-2B,整个转换过程是一台主机先向目标主机发送包含IP地址信息的广播数据包,即ARP请求,然后目标主机向该主机发送一个含有IP地址和MAC地址数据包,通过MAC地址两个主机就可以实现数据传输了。

本实施例中,交换机可以接收接入该交换机的各主机所发出的流量。在交换机接收到主机发送的流量时,将该流量作为待处理流量。

步骤S304,按照预设分类规则对所述待处理流量进行流量分类,获得所述待处理流量的流量类型;

其中,预设分类规则为根据流量的广播类型或请求类型进行分类。交换机在对待处理流量进行分类后,获得该待处理流量的流量类型。

在一实施例中,对待处理流量的分类处理在交换机的分类器流表中执行。交换机在接收到待处理流量时,将该待处理流量匹配至分类器流表中,以利用分类器流表中流量分类命令,对待处理流量进行分类。

步骤S306,若所述待处理流量的流量类型为ARP流量,将所述待处理流量转发至ARP流表;

交换机根据待处理流量的流量类型,将待处理流量转发至对应的流表中。本实施例中,ARP流量、单播流量、广播流量以及组播流量所对应的流表分别为ARP流表、单播流表、广播流表以及组播流表。各流表包含对应的对流量的相应功能的处理命令。若待处理流量为ARP流量,交换机将该待处理流量转发至ARP流表。

步骤S308,利用所述ARP流表的ARP流量处理命令,对所述待处理流量进行处理。

ARP流量处理命令包括但不限于对ARP流量的请求响应和流量转发。

ARP流量包括ARP请求报文以及ARP免费报文。其中,ARP请求报文封装有MAC地址或IP地址,通过广播形式发出,以请求获取与封装的MAC地址相对应的目的IP地址,或与封装的IP地址相对应的目的MAC地址。ARP免费报文封装有本机的IP地址,以广播的形式发出,以通知广播域内的其他主机该IP地址为本机所有。若ARP流量为ARP请求报文,则交换机利用ARP流表的ARP流量处理命令对ARP请求报文进行请求响应。若ARP流量为ARP免费报文,则交互机利用ARP流表的ARP流量处理命令将该ARP免费报文进行流量转发。本实施例中,交换机将ARP免费报文转发至广播域内的所有主机。在其他实施例中,还可以将ARP免费报文转发至某一个或多个指定的主机。

在本实施例中,交换机在接收到待处理流量时,按照预设分类规则对所述待处理流量进行流量分类,获得所述待处理流量的流量类型,当所述待处理流量的流量类型为ARP流量时,则将所述待处理流量转发至ARP流表,以利用所述ARP流表的ARP流量处理命令在本地对待处理流量进行处理,通过设置ARP流表,实现了在交换机本地进行ARP流量处理,无需将该ARP请求报文上报至控制器,简化了流量处理过程,降低了资源的消耗和流量处理时长。

参照图4,在一实施例中,所述步骤S308,具体包括:

步骤S402,利用所述ARP流表的ARP流量处理命令确定所述待处理流量的请求类型;

交换机确定待处理流量的请求类型,例如是ARP请求报文还是ARP免费报文。具体地,交换机利用ARP流表的ARP流量处理命令,解析待处理流量,以确定该待处理流量的请求类型。

步骤S404,若所述待处理流量为ARP请求报文,根据地址关系映射表对所述ARP请求报文进行响应,所述地址关系映射表中包含MAC地址与IP地址之间的映射关系。

其中,地址关系映射表包括多个IP地址与多个MAC地址之间的映射关系。该地址关系映射表预先存储于交换机内。在某一IP地址与MAC的映射关系发生改变时,交换机将对该地址关系映射表进行即时更新。

若待处理流量为ARP请求报文,交换机通过执行ARP流表的ARP流量处理命令,查找地址关系映射表,获取与ARP流量封装的地址相对应的目的地址。交换机生成携带有改目标地址的ARP响应报文,将该ARP响应报文返回至该ARP流量的发送主机。至此,交换机完成对ARP请求报文的应答。

在本实施例中,交换机利用ARP流表的ARP流量处理命令确定待处理流量的请求类型,当待处理流量为ARP请求报文时,根据地址关系映射表对所述ARP请求报文进行响应,地址关系映射表中包含MAC地址与IP地址之间的映射关系;通过在交换机本地预设地址关系映射表,并利用ARP流表的流量处理命令根据该地址关系映射表,从而实现了直接在交换机实现ARP请求报文的响应,无需请求外部设备查找地址。

参照图5,在一实施例中,所述步骤S404,具体包括:

步骤S502,若所述待处理流量为ARP请求报文,获取所述待处理流量中携带的待匹配IP地址或待匹配MAC地址;

若待处理流量为ARP请求报文,该待处理流量封装有待匹配IP地址或待匹配MAC地址。其中,待匹配IP地址为目的主机的IP地址,发出ARP请求报文的本机在需要与该待匹配IP地址的目的主机进行网络连接时,还需要知道目的主机的MAC地址,这时,本机发出封装有待匹配IP地址的ARP请求报文,以请求获取目的主机的MAC地址。待匹配MAC地址为发出该ARP请求报文的本机所有,当本机接入网络获得IP地址后,其并不知道自己的IP地址,则发出一个封装有本机MAC地址的ARP请求报文,以请求获得本机的IP地址。在本机获取到其IP地址后,可进一步发出封装有其IP地址的ARP免费报文,以通知广播域内的其他主机该IP地址已被占用,从而避免该IP地址被其他主机侵占。

步骤S504,根据所述待匹配IP地址或所述待匹配MAC地址,查找本地的地址关系映射表,获得目标地址信息;

交换机根据待处理流量中封装的待匹配IP地址或所述待匹配MAC地址,查找交换机本地的地址关系映射表,获得与目标地址信息。当待处理流量中封装的为待匹配IP地址时,则目标地址信息则为与该待匹配IP地址相对应的MAC地址,当待处理流量中封装的为待匹配MAC地址时,则目标地址信息则为与该待匹配MAC地址相对应的IP地址。

步骤S506,根据所述目标地址信息构造响应报文,将所述响应报文返回至所述待处理流量的发送主机。

交换机构造响应报文,将目标地址信息封装在响应报文内,然后将封装有目标地址信息的响应报文返回发送该待处理流量的发送主机,完成对该ARP请求报文的响应。

本实施例中提供了对ARP请求报文在交换机本地进行响应的具体方法,只需查找本地的地址关系映射表,获取ARP请求报文所请求的目标地址信息,并根据目标地址信息构造响应报文,将该响应报文返回至待处理流量的发送主机,响应过程简单。

参照图6,在一实施例中,所述步骤S402之后,所述流量处理方法还包括:

步骤S602,若所述待处理流量为ARP免费报文,将所述待处理流量转发至广播流表;

当待处理流量为ARP免费报文时,交换机将该待处理流量转发至广播流表。

步骤S604,根据所述广播流表的广播命令,将所述待处理流量发送至广播域内的多个端口。

交换机根据广播流表的广播命令,将该待处理流量发生至广播域内的多个端口。即,交换机将封装有IP地址的ARP免费报文广播至接入该交换机的所有主机,以通知各主机该IP地址已被占用。

本实施例中,当待处理流量为ARP免费报文时,将该ARP免费报文转发至广播流表进行广播,能够实现对所有ARP流量的处理。

参照图7,在一实施例中,所述步骤S304之后,所述流量处理方法还包括:

步骤S702,若所述待处理流量的流量类型为单播流量,将所述待处理流量转发至动态学习流表;

步骤S704,根据所述动态学习流表的处理命令,利用本地的自学习地址表对所述待处理流量匹配第一目的地地址;所述自学习地址表通过各端口接收到的地址信息生成;

交换机从它的所有端口接收Media Access Control(MAC)地址信息,形成MAC地址表并维护它。当交换机收到一帧流量时,它将根据自己的MAC地址表来决定是将这帧流量进行过滤还是转发。此时,维护的这张MAC表就是FDB地址表。如果交换机收到的流量的目的MAC地址不在FDB地址表中,那么该流量将被发送给在FDB地址表中的MAC地址所对应的端口;如果交换机收到的流量的目的MAC地址不在FDB地址表中,那么该流量将被发送给除源端口外该流量所属虚拟局域网(Virtual Local Area Network,VLAN)的其他所有端口。其中,动态学习流表将动态学习FDB地址表,将动态学习的FDB地址表添加至动态学习流表中,以使动态学习流表对接收的流量进行相应的转发处理。其中,动态学习流表在动态学习过程添加的FDB地址表即为自学习地址表。

具体地,交换机根据动态学习流表的处理命令,利用动态学习得到的自学习地址表,对待处理流量匹配第一目的地地址。当待处理流量封装的目的MAC地址存在与所述自学习地址表时,则获取该MAC地址作为第一目的地地址。若未在自学习地址表中查找到该MAC地址时,则未匹配到第一目的地地址。

步骤S706,将所述待处理流量发送至与所述第一目的地地址相对应的端口。

在匹配到第一目的地地址时,交换机将该待处理流量发送至与该第一目的地地址相对应的端口,以完成对指定MAC地址的待处理流量的转发。

本实施例中,当待处理流量为单播流量时,将该待处理流量发送至动态学习流表,以根据动态学习流表学习的自学习地址表,查找对应的第一目的地地址,将该待处理流量转发至与第一目的地地址相对应的端口,通过动态学习流表学习的自学习地址表对待处理流量进行目的MAC地址的匹配,可靠性高。

参照图8,在一实施例中,所述步骤S704之后,所述流量处理方法还包括:

步骤S802,若未匹配到所述待处理流量的第一目的地地址,则将所述待处理流量转发至单播流表;

若在动态学习表中未匹配到第一目的地地址时,交换机利用动态学习流表将该待处理流量转发至单播流表进行进一步匹配。

步骤S804,根据所述单播流表的单播命令,利用预存地址表对所述待处理流量匹配第二目的地地址;

单播流表根据预存的MAC地址表,查找该待处理流量携带的MAC地址是否存在与该预存的MAC地址表中,当存在时,则将该MAC地址作为第二目的地地址。其中,预存的MAC地址表可以为用户自定义,预先存储于交换机中。

步骤S806,将所述待处理流量发送至与所述第二目的地地址相对应的端口。

交换机将该待处理流量发送至与该第二目的地地址相对应的端口,以完成对指定MAC地址的作为单播流量的待处理流量的转发。

本实施例中,若动态学习流表未匹配到待处理流量的第一目的地地址时,则将该待处理流量转发至单播流表,以根据单播流表的单播命令,对待处理流量进行进一步的地址匹配,当匹配到地址时,将匹配的地址作为第二目的地地址,将待处理流量转发至与第二目的地地址相对应的端口,由于该单播流表对应的预存的MAC地址表为用户预先设置,是用户自主选择的有可能匹配的MAC地址,具有相匹配的可靠性。

参照图9,在一实施例中,所述步骤S804之后,所述流量处理方法还包括:

步骤S902,若未匹配到所述待处理流量的第二目的地地址,则将所述待处理流量转发至广播流表;

若未匹配到待处理流量的第二目的地地址,则在广播域内不存在该待处理流量所携带的MAC地址的目的地主机,无法对该待处理流量完成单播,交换机将该待处理流量转发至广播流表进行下一步处理。

步骤S904,根据所述广播流表的广播命令,将所述待处理流量发送至广播域内的多个端口。

本实施例中,在未匹配到待处理流量的目的地主机的MAC地址时,交换机利用广播流表的广播命令,将该待处理流量发送至广播域内的所有端口。

本实施例中,当待处理流量为单播流量时,若动态学习流表以及单播流表均为对待处理流量匹配到目的MAC地址,则将该待处理流量转发至广播流表中进行广播,以使广播域内的主机接收到该待处理流量,以让接收到该待处理流量的主机自行判断其是否是自己所需要的流量,通过将单播流量未匹配到指定的MAC地址时进行广播处理,能够保障该待处理流量不被丢失。

参照图10,在一实施例中,所述步骤S304之后,所述流量处理方法还包括:

步骤S102,若所述待处理流量的流量类型为广播流量,将所述待处理流量转发至广播流表;

当交换机通过解析待处理流量的广播类型,判断其为广播流量时,将该待处理流量转发至广播流表中进行处理。

步骤S104,根据所述广播流表的广播命令,将所述待处理流量发送至广播域内的多个端口。

交换机根据广播流表的广播命令,将待处理流量发送至交换机的广播域内的所有端口,完成对广播流量的转发。

本实施例中,当待处理流量的流量类型为广播流量时,将该待处理流量转发至广播流表进行广播,实现了对多种类型的流量的处理,流量处理的对象更为全面。

此外,参照图11,本发明实施例还提出一种流量处理装置,包括:

接收模块110,用于接收待处理流量;

分类模块111,用于按照预设分类规则对所述待处理流量进行流量分类,获得所述待处理流量的流量类型;

转发模块112,用于当所述待处理流量的流量类型为ARP流量时,将所述待处理流量转发至ARP流表;

ARP流量处理模块113,用于根据所述ARP流表的ARP流量处理命令,对所述待处理流量进行处理。

本实施例中,在接收到待处理流量时,按照预设分类规则对所述待处理流量进行流量分类,获得所述待处理流量的流量类型,当所述待处理流量的流量类型为ARP流量时,则将所述待处理流量转发至ARP流表,以利用所述ARP流表的ARP流量处理命令在本地对待处理流量进行处理,通过设置ARP流表,实现了在交换机本地进行ARP流量处理,无需将该ARP请求报文上报至控制器,简化了流量处理过程,降低了资源的消耗和流量处理时长。

可选地,所述ARP流量处理模块113,还用于利用所述ARP流表的ARP流量处理命令确定所述待处理流量的请求类型;若所述待处理流量为ARP请求报文,根据地址关系映射表对所述ARP请求报文进行响应,所述地址关系映射表中包含MAC地址与IP地址之间的映射关系。

可选地,所述ARP流量处理模块113,还用于若所述待处理流量为ARP请求报文,获取所述待处理流量中携带的待匹配IP地址或待匹配MAC地址;根据所述待匹配IP地址或所述待匹配MAC地址,查找本地的地址关系映射表,获得目标地址信息;根据所述目标地址信息构造响应报文,将所述响应报文返回至所述待处理流量的发送主机。

可选地,所述ARP流量处理模块113,还用于若所述待处理流量为ARP免费报文,将所述待处理流量转发至广播流表;根据所述广播流表的广播命令,将所述待处理流量发送至广播域内的多个端口。

可选地,所述流量处理装置还包括单播流量处理模块,用于若所述待处理流量的流量类型为单播流量,将所述待处理流量转发至动态学习流表;根据所述动态学习流表的处理命令,利用本地的自学习地址表对所述待处理流量匹配第一目的地地址;所述自学习地址表通过各端口接收到的地址信息生成;将所述待处理流量发送至与所述第一目的地地址相对应的端口。

可选地,所述单播流量处理模块,还用于若未匹配到所述待处理流量的第一目的地地址,则将所述待处理流量转发至单播流表;根据所述单播流表的单播命令,利用预存地址表对所述待处理流量匹配第二目的地地址;将所述待处理流量发送至与所述第二目的地地址相对应的端口。

可选地,所述单播流量处理模块,还用于若未匹配到所述待处理流量的第二目的地地址,则将所述待处理流量转发至广播流表;根据所述广播流表的广播命令,将所述待处理流量发送至广播域内的多个端口。

可选地,所述流量处理装置还包括广播流量处理模块,用于若所述待处理流量的流量类型为广播流量,将所述待处理流量转发至广播流表;根据所述广播流表的广播命令,将所述待处理流量发送至广播域内的多个端口。

此外,本发明实施例还提出一种流量处理装置,所述流量处理装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的流量处理程序,所述流量处理程序被所述处理器执行时实现如权上述的流量处理方法实施例的步骤。

此外,本发明实施例还提出一种存储介质,所述存储介质上存储有流量处理程序,所述流量处理程序被处理器执行时实现如上述的流量处理方法实施例的步骤。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

17页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种流量分配方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!