CN106487683A - 一种报文的处理方法及装置 - Google Patents
一种报文的处理方法及装置 Download PDFInfo
- Publication number
- CN106487683A CN106487683A CN201510536388.1A CN201510536388A CN106487683A CN 106487683 A CN106487683 A CN 106487683A CN 201510536388 A CN201510536388 A CN 201510536388A CN 106487683 A CN106487683 A CN 106487683A
- Authority
- CN
- China
- Prior art keywords
- message
- service feature
- port
- information
- feature information
- 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.)
- Withdrawn
Links
Abstract
本发明提供一种报文的处理方法及装置,其处理方法包括:接收报文,并从报文中获取与业务相关的业务特征信息;根据业务特征信息,确定与业务特征信息对应的指示信息;根据指示信息的指示从一输出端口输出所述报文。本发明实施例通过预先存储的业务特征信息与指示信息的对应关系,使得OpenFlow交换机能够根据报文中不同的业务特征信息,确定不同的指示信息并根据指示信息的指示输出报文;进一步使得具有同一业务特征信息的报文能够从同一指示信息指示的同一输出端口输出;从而实现了根据报文的不同的应用领域的业务特点来确定报文的输出端口,实现报文的分流,为软件定义网络在不同领域的应用提供有利基础,扩大软件定义网络的应用范围。
Description
技术领域
本发明涉及网络通信技术领域,特别涉及一种报文的处理方法及装置。
背景技术
软件定义网络SDN是一种新型网络创新架构,其核心理念是控制面与转发面的分离。基本的SDN网络包括:控制面的网络控制器(Controller)和转发面的OpenFlow交换机,分别实现控制功能和数据转发功能。OpenFlow交换机包括一个或多个流表(Flow Table)和一个组表(Group Table)来执行报文的查找和转发,以及一个信道用来与网络控制器进行通信。具体的,OpenFlow交换机的组表由一系列组表项组成,组表项包括组标识(Group Identifier)、组类型(Group Type)、计数器(Counters)和行动桶(Action Buckets)。当组类型为All时,执行所有行动桶中行动;当组类型为Select时,执行其中一个行动桶中行动;当组类型为Indirect时,执行指定行动桶中行动;当组类型为Fast Failover时,执行第一个活动的行动桶中行动。
目前,SDN网络中OpenFlow交换机的报文分流方法主要是以报文为单位选择相应出端口输出报文。但是,这种分流方法没有考虑不同应用领域的业务特点的影响。例如,在宽带接入等领域,需要确保报文根据一种建链关系始终从同一出端口输出,目前的分流方法就无法满足这种需要。
发明内容
本发明的目的在于提供一种报文的处理方法及装置,解决SDN网络中OpenFlow交换机的报文分流方法无法满足不同应用领域的业务特点导致的分流不佳的问题。
为了达到上述目的,本发明提供一种报文的处理方法,包括:
接收报文,并从报文中获取与业务相关的业务特征信息;
根据所述业务特征信息,确定与所述业务特征信息对应的指示信息;
根据所述指示信息的指示从一输出端口输出所述报文。
其中,根据所述业务特征信息,确定与所述业务特征信息对应的指示信息的步骤包括:
根据所述业务特征信息,从所述业务特征信息与指示信息的映射关系表中查找与所述业务特征信息唯一对应的指示信息。
其中,若从所述映射关系表中查找不到与所述业务特征信息唯一对应的指示信息,所述方法还包括:
获取一预设字段;
确定所述预设字段指向的指示信息,并获取所述指示信息指示的输出所述报文的输出端口;
若所述输出端口为活跃端口,利用所述活跃端口输出所述报文;
若所述输出端口为不活跃端口,根据第一预设规则选择其他指示信息,并确定所述其他指示信息指示的输出报文的输出端口,直到所述输出端口为活跃端口,利用所述活跃端口输出所述报文。
其中,利用所述活跃端口输出所述报文后,所述方法还包括:
将所述活跃端口对应的指示信息与从该活跃端口输出的所述报文中的业务特征信息的对应关系保存至所述映射关系表中。
其中,所述映射关系表包括多个表项,每个所述表项标识一个业务特征信息以及与所述业务特征信息唯一对应的指示信息的标识;
以每个表项的建立时间为起点为每个所述表项设置更新周期,若所述更新周期内未收到包含该表项的业务特征信息的报文,从所述映射关系表中删除该表项;若所述更新周期内收到包含该表项的业务特征信息的报文,以收到该报文的时间为起点重新设置该表项的更新周期。
其中,将对应关系保存至所述映射关系表中后,所述方法还包括:
按照第二预设规则,将所述预设字段指向其他指示信息。
其中,所述指示信息保存于OpenFlow交换机的行动桶中。
其中,当OpenFlow交换机的输出端口增加时,相应增加指示从新增的出端口输出报文的指示信息。
本发明实施例还提供一种报文的处理装置,包括:
信息获取模块,用于接收报文,并从报文中获取与业务相关的业务特征信息;
确定模块,用于根据所述业务特征信息,确定与所述业务特征信息对应的指示信息;
第一输出模块,用于根据所述指示信息的指示从一输出端口输出所述报文。
其中,所述确定模块包括:
确定子模块,用于根据所述业务特征信息,从所述业务特征信息与行动桶的映射关系表中查找与所述业务特征信息唯一对应的指示信息。
其中,所述处理装置还包括:
获取模块,用于若从所述映射关系表中查找不到与所述业务特征信息唯一对应的指示信息,获取一预设字段;
端口获取模块,用于确定预设字段指向的指示信息,并获取所述指示信息指示的输出所述报文的输出端口;
第二输出模块,用于若所述输出端口为活跃端口,利用所述活跃端口输出所述报文;
第三输出模块,用于若所述输出端口为不活跃端口,根据第一预设规则选择其他指示信息,并确定所述其他指示信息指示的输出报文的输出端口,直到所述输出端口为活跃端口,利用所述活跃端口输出所述报文。
其中,所述处理装置还包括:
保存模块,用于将所述活跃端口对应的指示信息与从该活跃端口输出的所述报文中的业务特征信息的对应关系保存至所述映射关系表中。
其中,所述映射关系表包括多个表项,每个所述表项标识一个业务特征信息以及与所述业务特征信息唯一对应的指示信息的标识;
所述装置还包括:
更新模块,用于以每个表项的建立时间为起点为每个所述表项设置更新周期,若所述更新周期内未收到包含该表项的业务特征信息的报文,从所述映射关系表中删除该表项;若所述更新周期内收到包含该表项的业务特征信息的报文,以收到该报文的时间为起点重新设置该表项的更新周期。
其中,所述处理装置还包括:
指向模块,用于按照第二预设规则,将所述预设字段指向其他指示信息。
其中,所述指示信息保存于OpenFlow交换机的行动桶中。
其中,所述处理装置还包括:
新增模块,用于当OpenFlow交换机的输出端口增加时,相应增加指示从新增的出端口输出报文的指示信息。
本发明的上述技术方案至少具有如下有益效果:
本发明实施例的报文的处理方法及装置中,通过预先存储的业务特征信息与指示信息的对应关系,使得OpenFlow交换机能够根据报文中不同的业务特征信息,确定不同的指示信息并根据指示信息的指示输出报文;进一步使得具有同一业务特征信息的报文能够从同一指示信息指示的同一输出端口输出;从而实现了根据报文的不同的应用领域的业务特点来确定报文的输出端口,实现报文的分流,为软件定义网络在不同领域的应用提供有利基础,扩大软件定义网络的应用范围。
附图说明
图1表示本发明实施例提供的报文的处理方法的基本步骤示意图;
图2表示本发明实施例提供的报文的处理方法中查到不到指示信息时后续的具体步骤流程图;
图3表示软件定义网路SDN的网络架构图;
图4表示本发明提供的报文的处理方法在OpenFlow交换机中的具体应用流程图;
图5表示本发明实施例提供的报文的处理装置的组成结构图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有技术中SDN网络中OpenFlow交换机的报文分流方法无法满足不同应用领域的业务特点导致的分流不佳的问题,提供一种报文的处理方法及装置,通过预先存储的业务特征信息与指示信息的对应关系,使得OpenFlow交换机能够根据报文中不同的业务特征信息,确定不同的指示信息并根据指示信息的指示输出报文;进一步使得具有同一业务特征信息的报文能够从同一指示信息指示的同一输出端口输出;从而实现了根据报文的不同的应用领域的业务特点来确定报文的输出端口,实现报文的分流,为软件定义网络在不同领域的应用提供有利基础,扩大软件定义网络的应用范围。
如图1所示,本发明实施例提供一种报文的处理方法,包括:
步骤11,接收报文,并从报文中获取与业务相关的业务特征信息;
步骤12,根据所述业务特征信息,确定与所述业务特征信息对应的指示信息;
步骤13,根据所述指示信息的指示从一输出端口输出所述报文。
本发明的上述实施例中,报文中携带能够表述业务特点的字段,不同的业务可以选择报文中的不同字段作为业务特征信息,建立不同的映射关系表。例如,针对A类业务,选择报文中的源MAC地址作为业务特征信息,建立映射关系表,只要源MAC地址相同则确定为同一用户的相同业务,可以从同一输出端口输出;再例如,针对B类业务,选择报文中的源MAC地址和协议值共同作为业务特征信息,建立映射关系表,当源MAC地址和协议值均相同确定为同一用户的相同业务,从同一输出端口输出报文。即收到报文后,根据业务类型来选择不同的业务特征信息,查找不同的映射关系表,从而实现多业务。其中,上述指示信息为用于指示从一输出端口输出报文,通过不同的指示信息实现从不同的输出端口输出报文。本发明的具体实施例中,基于软件定义网络SDN的OpenFlow交换机环境下对本发明实施例提供的报文的处理方法进行具体描述。即所述指示信息保存于OpenFlow交换机的行动桶中。从而本发明上述实施例的步骤12,具体为,根据所述业务特征信息,确定与所述业务特征信息对应的行动桶,其中,该行动桶中包含所述指示信息,该指示信息为通过哪个输出端口输出所述报文。即OpenFlow交换机中,上述映射关系表保存的是业务特征信息与行动桶的对应关系;进一步的,为了查找方便可设置多个映射关系表,将不同的业务特征信息保存不同的映射关系表中,例如一个映射关系表中保存源MAC地址与行动桶的对应关系,另一个映射关系表中保存协议值与行动桶的对应关系;但是将不同的业务特征信息保存至一个映射关系表的实施例也能够实现本发明的查找对应的目的,故其具体的保存方式可根据存储数据的大小以及存储空间的设置来具体确定,不限于一固定方式。本发明实施例提供的报文分流的处理方法可以根据不同应用领域的业务特点来实现报文的输出,满足了报文分流与不同业务特点的适配,为SDN网络在不同领域的应用提供有利基础,扩大其应用范围。进一步的,业务特征信息可以但不限于MAC地址、协议值、Session ID等字段及其组合字段,在此不作具体限定。
较佳的,本发明实施例提供的报文的处理方法能够根据业务特征信息选择输出端口输出报文,从而实现报文的分流;且能够实现将业务特征信息相同的报文始终从一个确定的输出端口输出。比如,一个业务选择报文的源MAC地址作为业务特征信息,那么收到报文后,从报文中获取源MAC地址,根据源MAC地址查找映射关系表,根据查表结果将报文从唯一确定的输出端口输出,下次再收到此源MAC地址的报文仍然能够从这个输出端口输出该报文。
具体的,本发明的上述实施例中步骤12包括:
步骤121,根据所述业务特征信息,从所述业务特征信息与指示信息的映射关系表中查找与所述业务特征信息唯一对应的指示信息。
其中,映射关系表可以为根据业务特性预先设定,也可以根据在通信过程一一添加,例如,该映射关系表的初始化为空,则在第一个报文输出后,将该报文的业务特征信息与其指示信息的对应关系保存至映射关系表,依次类推,每输出一个报文,则在映射关系表中增加一组对应关系,不断完善该映射关系表;或者再例如,该映射关系表的初始化不为空,该映射关系表的初始化中保存一些常用的业务特征信息与常用的指示信息的对应关系,当然,该种方式的后续也可采用上述的逐渐添加对应关系的方法来不断完善映射关系表。同上,该方法应用至SDN网络中,则该步骤121具体为:根据所述业务特征信息,从所述业务特征信息与行动桶的映射关系表中查找与所述业务特征信息唯一对应的行动桶,该行动桶中包含其指示信息。采用映射关系表保存对应关系的方式能够使得其保存内容易于管理,查找简单快捷。
较佳的,该映射关系表需要保证每个业务特征信息有唯一确定的行动桶与之对应,可以采用哈希表(hash表)等算法来实现。
进一步的,本发明提供的上述实施例中,若从所述映射关系表中查找不到与所述业务特征信息对应的指示信息,如图2所示,所述方法还包括:
步骤21,获取一预设字段;
步骤22,确定所述预设字段指向的指示信息,并获取所述指示信息指示的输出所述报文的输出端口;
步骤23,若所述输出端口为活跃端口,利用所述活跃端口输出所述报文;
步骤24,若所述输出端口为不活跃端口,根据第一预设规则选择其他指示信息,并确定所述其他指示信息指示的输出报文的输出端口,直到所述输出端口为活跃端口,利用所述活跃端口输出所述报文。
本发明的上述实施例中,由于映射关系表中可能存在查找不到业务特征信息对应的指示信息的情况,则该情况下,本发明实施例设置一预设字段(Flag字段),该Flag字段代表在映射关系表中查不到指示信息时的默认指示信息,具体的,该指示信息保存于行动桶中,即该Flag字段代表在映射关系表中查不到行动桶时的默认行动桶,初始化Flag字段为欲参与分流的最小行动桶号。较佳的,即当查找失败时,判断Flag字段指定行动桶中行动对应的出端口是否活跃,如出端口活跃,将报文从对应出端口输出,如出端口不活跃,Flag字段指向下一个行动桶,直到选择的行动桶中行动对应的出端口活跃,从活跃的端口将报文输出。
其中,该第一预设规则为按照指示信息的编号进行轮询选择,即若指示信息包括:指示信息1、指示信息2、指示信息3以及指示信息4;则Flag字段初始指向指示信息1,当指示信息1对应的输出端口为非活跃端口时,Flag字段指向指示信息2,当指示信息2对应的输出端口为非活跃端口时,Flag字段指向指示信息3,当指示信息3对应的输出端口为非活跃端口时,Flag字段指向指示信息4,而当指示信息4对应的输出端口为非活跃端口时,Flag字段则重新指向指示信息1,以此类推,从而实现循环选择。较佳的,指示信息的编号也可以为行动桶的编号,原理与上述一致,不再重复描述。该轮询选择的方式是为了避免重复选择同一输出端口,达不到分流的效果。
具体的,本发明的上述实施例中,利用所述活跃端口输出所述报文后,所述方法还包括:
步骤25,将所述活跃端口对应的指示信息与从该活跃端口输出的所述报文中的业务特征信息的对应关系保存至所述映射关系表中。
将活跃端口对应的指示信息与报文中的业务特征信息的对应关系保存至映射关系表中是为了不断完善映射关系表,即当下次有包含该业务特征信息的报文到来时,能够直接从映射关系表中查找到对应的指示信息,进行分流输出处理。
进一步的,本发明的上述实施例中,所述映射关系表包括多个表项,每个所述表项标识一个业务特征信息以及与所述业务特征信息唯一对应的指示信息的标识;上述处理方法还包括:
步骤26,以每个表项的建立时间为起点为每个所述表项设置更新周期,若所述更新周期内未收到包含该表项的业务特征信息的报文,从所述映射关系表中删除该表项;若所述更新周期内收到包含该表项的业务特征信息的报文,以收到该报文的时间为起点重新设置该表项的更新周期。
本发明实施例中,映射关系表由多个表项组成,每个表项由一个业务特征信息以及与上述业务特征信息对应的指示信息的标识组成,其中,该指示信息的标识一般为指示信息的编号;具体的可以为行动桶的编号。即一个业务特征信息对应一个唯一确定的行动桶编号。上述为每个表项设置更新周期的步骤可通过软件控制或硬件控制来实现;硬件控制,例如,为每个表项设置一老化定时器,老化定时器的时间即为更新周期的时间。具体的,由于每个表项的建立时间不同,则针对每个表项设置不同的老化定时器,若所述更新周期内未收到包含该表项的业务特征信息的报文,从所述映射关系表中删除该表项,之后若收到包含该业务特征信息的报文,会在映射关系表中重新建立关于该业务特征信息的表项;若所述更新周期内收到包含该表项的业务特征信息的报文,以收到该报文的时间为起点重新设置该表项的更新周期,重新设置的该表项的更新周期与原先设置的更新周期可以相同也可以不同,对于不同的情况,一般通过软件控制实现,对于相同的情况采用软件、硬件均可实现。该更新周期的设置能够保证映射关系表中对应关系的实时性,也避免了存储过多数据带来的存储负担,从而避免其影响网络运行速度。
进一步的,本发明的上述实施例中,将对应关系保存至所述映射关系表中后,所述方法还包括:
步骤27,按照第二预设规则,将所述预设字段指向其他指示信息。
本发明实施例中,由于预设字段指向的是默认指示信息,一个通信过程中,会有较多报文传输的情况,故该默认指示信息不能仅指向同一指示信息,例如第一报文过来,映射关系表查找失败时,预设字段指向第一指示信息,按照本发明的上述过程输出第一报文后;第二报文过来,映射关系表也查找失败,此时若预设字段还指向第一指示信息(即对应同一输出端口),第二报文还会从与第一报文同样的端口输出,较少的报文对传输过程不会有影响,但随着报文数量的增多,会导致一个端口拥塞,另外的端口空闲的问题,达不到分流的效果;故在每一个采用预设字段指向的指示信息对应的输出端口输出报文后,利用第二预设规则,将预设字段指向另一个指示信息。所述第二预设规则为按照指示信息的编号进行轮询选择。较佳的,第二预设规则实际上与第一预设规则一致,即当前预设字段指向编号1,则输出报文后,将预设字段改为指向编号2,以此类推,在达到最大编号时再重新指向最小编号,从而实现循环。其中,该编号可以为指示信息的编号或者行动桶的编号,其原理与第一预设规则一致,在此不重复描述。
进一步的,本发明的上述实施例中当OpenFlow交换机的输出端口增加时,相应增加指示从新增的出端口输出报文的指示信息。具体的,若输出端口的数量原先为4个,现增加一个输出端口为输出端口5,则相应的增加一个指示信息,该指示信息指示从输出端口5输出报文。即增加一个行动桶用来放置新增的上述指示信息;并且将行动桶的编号添加到预设字段的取值范围内,即预设字段指向行动桶4后不跳转到行动桶1而是指向行动桶5,继而再指向行动桶1,这样当有报文的业务特征信息在映射关系表中查找失败时,就有可能从输出端口5输出,从而将新增的输出端口纳入到分流任务中,减轻其他输出端口的负担。
下面对本发明提供的报文的处理方法应用于SDN网络的OpenFlow交换机中的具体流程进行详细描述:
如图3所示为SDN网络的网络架构图。其中,端口1为报文入端口,端口2、3、4为欲参与分流的出端口;本实施例中,需要对组表的类型、行动桶中行动以及选择算法结果与行动桶的对应关系进行预先处理,由此形成对报文进行分流的组表,再进行报文的处理(分流);具体的,如图4所示,本发明实施例提供的报文的处理方法具体包括:
步骤31,设定组表中组表项的组类型为Select;
步骤32,定义行动桶中行动为从出端口输出报文;
步骤33,根据欲参与分流的端口数定义行动桶及其与组表选择算法结果的对应关系,行动桶中的行动为通过不同出端口输出报文;
在本实施例中,选择算法结果与行动桶的对应关系以及行动桶中行动内容如表1所示。
表1 行动桶与行动桶的行动的对应关系
步骤34,根据不同业务特点构建业务特征值与行动桶的映射关系表,初始化此表为空表;
本实施例中,业务特征值采用报文源MAC地址,采用hash表来表示业务特征值与行动桶的映射关系。
步骤35,设置一个Flag字段(预设字段)代表在映射关系表中查不到行动桶时的默认行动桶,初始化Flag字段为欲参与分流的最小行动桶号;
本实施例中,初始化Flag字段为1。
步骤36,从交换机入端口获取报文;
步骤37,收到报文后,从报文中提取业务特征值;然后,将业务特征值作为输入,查找映射关系表;
步骤38,如查找成功,按照查找到的行动桶中的行动,将报文从出端口输出;并更新映射关系表中此表项的老化定时器;
步骤39,如查找失败,判断Flag字段指定行动桶中行动的对应出端口是否活跃;
步骤40,如出端口活跃,将报文从对应出端口输出,并执行步骤41;
步骤41,将业务特征值与行动桶的对应关系插入映射关系表,并设置老化定时器,并执行步骤42;
步骤42,将Flag字段指向下一个行动桶,并判断该行动桶号是否大于最大行动桶号;
步骤43,若大于最大行动桶号,将该Flag字段设置为指向最小行动桶号;
步骤44,如出端口不活跃,Flag字段指向下一个行动桶,并执行步骤45;
步骤45,判断该行动桶号是否大于最大行动桶号,若小于,则返回步骤39;若大于,则执行步骤46;
步骤46,将Flag字段指向最小行动桶号,并返回步骤39。
需要特别说明的是,上述老化定时器的老化时间可根据实际使用场景设定,本实例中,设老化时间为180s。
本实施例中,假定各出端口均处于活跃状态。
当收到的报文源MAC地址为01 00 5E 37 00 48时,由于此时映射关系表为空表,故查找失败,由于此时Flag字段为1,判断行动桶号1中行动对应的出端口2活跃,将报文从出端口2输出;将报文源MAC地址01 00 5E 37 00 48与行动桶号1的对应关系插入映射关系表,并设置老化定时器180s;最后,将Flag字段指向下一个行动桶,则此时Flag为2,判断发现此时Flag字段值不大于欲参与分流的最大行动桶号3;如在180s内再次收到源MAC地址为01 00 5E 37 0048的报文,由于映射关系表中有此源MAC地址项,故会查找成功,从而更新映射关系表中此源MAC地址项的老化定时器,并执行对应行动桶中行动,将报文从出端口2输出。如在180s内未收到源MAC地址为01 00 5E 37 00 48的报文,映射关系表中源MAC地址为01 00 5E 37 00 48的表项的老化定时器超时,映射关系表中此表项会被删除,之后再次收到源MAC地址为01 00 5E 37 00 48的报文,会在映射关系表中重建源MAC地址为01 00 5E 37 00 48的表项。
类似的,当收到的报文源MAC地址为01 00 5E 37 00 49时,查找映射关系表失败,判断Flag字段指定的行动桶号2中行动对应的出端口3活跃,将报文从出端口3输出;将报文源MAC地址01 00 5E 37 00 49与行动桶号2的对应关系插入映射关系表,并设置老化定时器180s;最后,将Flag字段指向下一个行动桶,此时Flag为3,判断发现此时Flag字段值不大于欲参与分流的最大行动桶号3。
进一步地,当收到的报文源MAC地址为01 00 5E 37 00 4A时,查找映射关系表失败,判断Flag字段指定的行动桶号3中行动对应的出端口4活跃,将报文从出端口4输出;将报文源MAC地址01 00 5E 37 00 4A与行动桶号3的对应关系插入映射关系表,并设置老化定时器180s;最后,将Flag字段指向下一个行动桶,此时Flag为4,判断发现此时Flag字段值大于欲参与分流的最大行动桶号3,将Flag字段置为最小行动桶号1。
在本实施例中,选取如下20个不同源MAC地址的报文依次输入OpenFlow交换机,源MAC地址与行动桶的对应关系以及报文的出端口,如表2所示。
源MAC地址 | 行动桶 | 出端口 |
01 00 5E 37 00 48 | 行动桶1 | 2 |
01 00 5E 37 00 49 | 行动桶2 | 3 |
01 00 5E 37 00 4A | 行动桶3 | 4 |
01 00 5E 37 00 4B | 行动桶1 | 2 |
01 00 5E 37 00 4C | 行动桶2 | 3 |
01 00 5E 37 00 4D | 行动桶3 | 4 |
01 00 5E 37 00 4E | 行动桶1 | 2 |
01 00 5E 37 00 4F | 行动桶2 | 3 |
01 00 5E 37 00 50 | 行动桶3 | 4 |
01 00 5E 37 00 51 | 行动桶1 | 2 |
01 00 5E 37 00 52 | 行动桶2 | 3 |
01 00 5E 37 00 53 | 行动桶3 | 4 |
01 00 5E 37 00 54 | 行动桶1 | 2 |
01 00 5E 37 00 55 | 行动桶2 | 3 |
01 00 5E 37 00 56 | 行动桶3 | 4 |
01 00 5E 37 00 57 | 行动桶1 | 2 |
01 00 5E 37 00 58 | 行动桶2 | 3 |
01 00 5E 37 00 59 | 行动桶3 | 4 |
01 00 5E 37 00 5A | 行动桶1 | 2 |
01 00 5E 37 00 5B | 行动桶2 | 3 |
表2 源MAC地址、行动桶以及出端口的对应关系
综上,本发明所述的一种OpenFlow交换机的报文分流方法解决了现有分流方法在应用场景上的局限。本发明简单容易实现,充分利用了OpenFlow交换机中组表的特点,能够轻松应对出端口数增加的情况,不仅能够成功实现报文的分流,而且能够根据不同的业务特点采用不同的业务特征值作为组表选择算法的输入,选择出端口输出报文,为SDN在不同领域的应用提供有利基础。
需要说明的是,对于上述方法实施例而言,为了简单描述,故将其都表达为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。
本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包含但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
为了更好的实现上述目的,如图5所示,本发明实施例还提供一种报文的处理装置,其特征在于,包括:
信息获取模块51,用于接收报文,并从报文中获取与业务相关的业务特征信息;
确定模块52,用于根据所述业务特征信息,确定与所述业务特征信息对应的指示信息;
第一输出模块53,用于根据所述指示信息的指示从一输出端口输出所述报文。
具体的,本发明的上述实施例中所述确定模块52包括:
确定子模块,用于根据所述业务特征信息,从所述业务特征信息与行动桶的映射关系表中查找与所述业务特征信息唯一对应的指示信息。
具体的,本发明的上述实施例中所述处理装置还包括:
获取模块,用于若从所述映射关系表中查找不到与所述业务特征信息唯一对应的行动桶,获取一预设字段;
端口获取模块,用于确定预设字段指向的指示信息,并获取所述指示信息指示的输出所述报文的输出端口;
第二输出模块,用于若所述输出端口为活跃端口,利用所述活跃端口输出所述报文;
第三输出模块,用于若所述输出端口为不活跃端口,根据第一预设规则选择其他指示信息,并确定所述其他指示信息指示的输出报文的输出端口,直到所述输出端口为活跃端口,利用所述活跃端口输出所述报文。
具体的,本发明的上述实施例中所述处理装置还包括:
保存模块,用于将所述活跃端口对应的指示信息与所述报文中的业务特征信息的对应关系保存至所述映射关系表中。
具体的,本发明的上述实施例中所述映射关系表包括多个表项,每个所述表项标识一个业务特征信息以及与所述业务特征信息唯一对应的指示信息的标识;
所述装置还包括:
更新模块,用于以每个表项的建立时间为起点为每个所述表项设置更新周期,若所述更新周期内未收到包含该表项的业务特征信息的报文,从所述映射关系表中删除该表项;若所述更新周期内收到包含该表项的业务特征信息的报文,以收到该报文的时间为起点重新设置该表项的更新周期。
具体的,本发明的上述实施例中所述处理装置还包括:
指向模块,用于按照第二预设规则,将所述预设字段指向其他指示信息。
具体的,本发明的上述实施例中所述指示信息保存于OpenFlow交换机的行动桶中。
具体的,所述处理装置还包括:
新增模块,用于当OpenFlow交换机的输出端口增加时,相应增加指示从新增的出端口输出报文的指示信息
需要说明的是,本发明实施例提供的处理装置是应用上述处理方法的装置,则上述报文的处理方法的所有实施例均适用于该处理装置,且均能达到相同或相似的有益效果。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (16)
1.一种报文的处理方法,其特征在于,包括:
接收报文,并从报文中获取与业务相关的业务特征信息;
根据所述业务特征信息,确定与所述业务特征信息对应的指示信息;
根据所述指示信息的指示从一输出端口输出所述报文。
2.根据权利要求1所述的报文的处理方法,其特征在于,根据所述业务特征信息,确定与所述业务特征信息对应的指示信息的步骤包括:
根据所述业务特征信息,从所述业务特征信息与指示信息的映射关系表中查找与所述业务特征信息唯一对应的指示信息。
3.根据权利要求2所述的报文的处理方法,其特征在于,若从所述映射关系表中查找不到与所述业务特征信息唯一对应的指示信息,所述方法还包括:
获取一预设字段;
确定所述预设字段指向的指示信息,并获取所述指示信息指示的输出所述报文的输出端口;
若所述输出端口为活跃端口,利用所述活跃端口输出所述报文;
若所述输出端口为不活跃端口,根据第一预设规则选择其他指示信息,并确定所述其他指示信息指示的输出报文的输出端口,直到所述输出端口为活跃端口,利用所述活跃端口输出所述报文。
4.根据权利要求3所述的报文的处理方法,其特征在于,利用所述活跃端口输出所述报文后,所述方法还包括:
将所述活跃端口对应的指示信息与从该活跃端口输出的所述报文中的业务特征信息的对应关系保存至所述映射关系表中。
5.根据权利要求4所述的报文的处理方法,其特征在于,所述映射关系表包括多个表项,每个所述表项标识一个业务特征信息以及与所述业务特征信息唯一对应的指示信息的标识;
以每个表项的建立时间为起点为每个所述表项设置更新周期,若所述更新周期内未收到包含该表项的业务特征信息的报文,从所述映射关系表中删除该表项;若所述更新周期内收到包含该表项的业务特征信息的报文,以收到该报文的时间为起点重新设置该表项的更新周期。
6.根据权利要求4所述的报文的处理方法,其特征在于,将对应关系保存至所述映射关系表中后,所述方法还包括:
按照第二预设规则,将所述预设字段指向其他指示信息。
7.根据权利要求1至6任一项所述的报文的处理方法,其特征在于,所述指示信息保存于OpenFlow交换机的行动桶中。
8.根据权利要求7所述的报文的处理方法,其特征在于,当OpenFlow交换机的输出端口增加时,相应增加指示从新增的出端口输出报文的指示信息。
9.一种报文的处理装置,其特征在于,包括:
信息获取模块,用于接收报文,并从报文中获取与业务相关的业务特征信息;
确定模块,用于根据所述业务特征信息,确定与所述业务特征信息对应的指示信息;
第一输出模块,用于根据所述指示信息的指示从一输出端口输出所述报文。
10.根据权利要求9所述的报文的处理装置,其特征在于,所述确定模块包括:
确定子模块,用于根据所述业务特征信息,从所述业务特征信息与行动桶的映射关系表中查找与所述业务特征信息唯一对应的指示信息。
11.根据权利要求10所述的报文的处理装置,其特征在于,所述处理装置还包括:
获取模块,用于若从所述映射关系表中查找不到与所述业务特征信息唯一对应的指示信息,获取一预设字段;
端口获取模块,用于确定预设字段指向的指示信息,并获取所述指示信息指示的输出所述报文的输出端口;
第二输出模块,用于若所述输出端口为活跃端口,利用所述活跃端口输出所述报文;
第三输出模块,用于若所述输出端口为不活跃端口,根据第一预设规则选择其他指示信息,并确定所述其他指示信息指示的输出报文的输出端口,直到所述输出端口为活跃端口,利用所述活跃端口输出所述报文。
12.根据权利要求11所述的报文的处理装置,其特征在于,所述处理装置还包括:
保存模块,用于将所述活跃端口对应的指示信息与从该活跃端口输出的所述报文中的业务特征信息的对应关系保存至所述映射关系表中。
13.根据权利要求12所述的报文的处理装置,其特征在于,所述映射关系表包括多个表项,每个所述表项标识一个业务特征信息以及与所述业务特征信息唯一对应的指示信息的标识;
所述装置还包括:
更新模块,用于以每个表项的建立时间为起点为每个所述表项设置更新周期,若所述更新周期内未收到包含该表项的业务特征信息的报文,从所述映射关系表中删除该表项;若所述更新周期内收到包含该表项的业务特征信息的报文,以收到该报文的时间为起点重新设置该表项的更新周期。
14.根据权利要求12所述的报文的处理装置,其特征在于,所述处理装置还包括:
指向模块,用于按照第二预设规则,将所述预设字段指向其他指示信息。
15.根据权利要求9-14任一项所述的报文的处理装置,其特征在于,所述指示信息保存于OpenFlow交换机的行动桶中。
16.根据权利要求15所述的报文的处理装置,其特征在于,所述处理装置还包括:
新增模块,用于当OpenFlow交换机的出端口增加时,相应增加指示从新增的输出端口输出报文的指示信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510536388.1A CN106487683A (zh) | 2015-08-27 | 2015-08-27 | 一种报文的处理方法及装置 |
PCT/CN2016/077583 WO2016177191A1 (zh) | 2015-08-27 | 2016-03-28 | 一种报文的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510536388.1A CN106487683A (zh) | 2015-08-27 | 2015-08-27 | 一种报文的处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106487683A true CN106487683A (zh) | 2017-03-08 |
Family
ID=57217511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510536388.1A Withdrawn CN106487683A (zh) | 2015-08-27 | 2015-08-27 | 一种报文的处理方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106487683A (zh) |
WO (1) | WO2016177191A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107682342A (zh) * | 2017-10-17 | 2018-02-09 | 盛科网络(苏州)有限公司 | 一种基于openflow的DDoS流量牵引的方法和系统 |
CN112929298A (zh) * | 2021-01-29 | 2021-06-08 | 紫光云技术有限公司 | 一种集中式网关访问共享卷的方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111371694B (zh) * | 2018-12-26 | 2022-10-04 | 中兴通讯股份有限公司 | 一种分流方法、装置和系统、处理设备和存储介质 |
CN112104451B (zh) * | 2020-11-20 | 2021-02-09 | 武汉绿色网络信息服务有限责任公司 | 一种数据包传输端口的刷新方法和装置 |
CN113535359B (zh) * | 2021-07-23 | 2023-11-10 | 中国科学技术大学苏州高等研究院 | 一种多租户云中服务请求调度方法和装置 |
CN114866456A (zh) * | 2022-04-22 | 2022-08-05 | 新华三工业互联网有限公司 | 一种报文发送方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852263A (zh) * | 2006-05-23 | 2006-10-25 | 杭州华为三康技术有限公司 | 一种报文的访问控制方法及一种网络设备 |
US20070159968A1 (en) * | 2006-01-12 | 2007-07-12 | Cutaia Nicholas J | Selective text telephony character discarding |
CN101047631A (zh) * | 2006-04-29 | 2007-10-03 | 华为技术有限公司 | 用户位置信息传递方法、mac地址自动分配方法、网络建立方法及系统 |
CN101127707A (zh) * | 2007-09-21 | 2008-02-20 | 杭州华三通信技术有限公司 | 数据转发方法及接入点设备 |
CN101820392A (zh) * | 2010-03-26 | 2010-09-01 | 中兴通讯股份有限公司 | 一种实现多业务转发的方法和网络处理器 |
CN103597789A (zh) * | 2011-08-08 | 2014-02-19 | 惠普发展公司,有限责任合伙企业 | 具有端口解析模块的结构芯片 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104219218B (zh) * | 2013-06-04 | 2018-05-08 | 新华三技术有限公司 | 一种主动安全防御的方法及装置 |
CN103368775B (zh) * | 2013-07-09 | 2016-08-17 | 杭州华三通信技术有限公司 | 流量备份方法及核心交换设备 |
CN103581021B (zh) * | 2013-10-23 | 2016-10-26 | 华为技术有限公司 | 软件定义网络下业务检测的方法及设备 |
-
2015
- 2015-08-27 CN CN201510536388.1A patent/CN106487683A/zh not_active Withdrawn
-
2016
- 2016-03-28 WO PCT/CN2016/077583 patent/WO2016177191A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070159968A1 (en) * | 2006-01-12 | 2007-07-12 | Cutaia Nicholas J | Selective text telephony character discarding |
CN101047631A (zh) * | 2006-04-29 | 2007-10-03 | 华为技术有限公司 | 用户位置信息传递方法、mac地址自动分配方法、网络建立方法及系统 |
CN1852263A (zh) * | 2006-05-23 | 2006-10-25 | 杭州华为三康技术有限公司 | 一种报文的访问控制方法及一种网络设备 |
CN101127707A (zh) * | 2007-09-21 | 2008-02-20 | 杭州华三通信技术有限公司 | 数据转发方法及接入点设备 |
CN101820392A (zh) * | 2010-03-26 | 2010-09-01 | 中兴通讯股份有限公司 | 一种实现多业务转发的方法和网络处理器 |
CN103597789A (zh) * | 2011-08-08 | 2014-02-19 | 惠普发展公司,有限责任合伙企业 | 具有端口解析模块的结构芯片 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107682342A (zh) * | 2017-10-17 | 2018-02-09 | 盛科网络(苏州)有限公司 | 一种基于openflow的DDoS流量牵引的方法和系统 |
CN107682342B (zh) * | 2017-10-17 | 2020-03-10 | 盛科网络(苏州)有限公司 | 一种基于openflow的DDoS流量牵引的方法和系统 |
CN112929298A (zh) * | 2021-01-29 | 2021-06-08 | 紫光云技术有限公司 | 一种集中式网关访问共享卷的方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2016177191A1 (zh) | 2016-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106487683A (zh) | 一种报文的处理方法及装置 | |
CN104283806B (zh) | 业务链处理方法和设备 | |
CN106664261B (zh) | 一种配置流表项的方法、装置和系统 | |
CN105122749B (zh) | 更新链路聚合中的对话分配的方法和系统 | |
US9245626B2 (en) | System and method for packet classification and internet protocol lookup in a network environment | |
CN105430113B (zh) | Sdn网络arp报文处理方法、系统、控制器及交换机 | |
US11005781B2 (en) | Networking method for data center network and data center network | |
CN107005485A (zh) | 一种确定路由的方法、对应装置及系统 | |
CN106789152A (zh) | 基于多队列网卡的处理器扩展方法及装置 | |
CN106603550B (zh) | 一种网络隔离方法及装置 | |
CN106100964B (zh) | 一种虚拟网络映射的方法和装置 | |
TW201501556A (zh) | 用於唯一枚舉解析樹中的路徑的裝置和方法 | |
CN105409169B (zh) | 一种多路径转发规则的构造方法、装置及系统 | |
CN102857414A (zh) | 一种转发表写入、报文转发方法及装置 | |
CN110324245A (zh) | 一种基于集成流表转发报文的方法及装置 | |
CN101789949B (zh) | 一种实现负荷分担的方法和路由设备 | |
CN110351286A (zh) | 一种软件定义网络中链路洪泛攻击检测响应机制 | |
CN108259346A (zh) | 一种等价路由表项建立方法和装置 | |
CN108432189A (zh) | 多个隧道端点上的负载平衡 | |
CN105245428B (zh) | 一种报文处理规则的配置方法及装置 | |
CN104506369B (zh) | 一种丢包位置的检测方法和设备 | |
CN110022263A (zh) | 一种数据传输的方法及相关装置 | |
CN105634999B (zh) | 一种介质访问控制地址的老化方法及装置 | |
CN106302837B (zh) | 一种光网络单元的mac地址表管理方法及装置 | |
CN104838624B (zh) | 一种控制业务数据在虚拟网络中转发的方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20170308 |
|
WW01 | Invention patent application withdrawn after publication |