一种报文处理方法和装置制造方法及图纸

技术编号:19011607 阅读:24 留言:0更新日期:2018-09-22 11:01
本申请提供一种报文处理方法和装置,该方法包括:在接收到与默认流表项匹配的第一报文后,向控制器发送控制消息,所述控制消息携带第一报文、预设时间内与默认流表项匹配的所有报文的攻击参数;接收并存储控制器发送的未知丢弃流表项;其中,所述未知丢弃流表项是控制器根据所述攻击参数确定所述网络设备被攻击时发送的,所述未知丢弃流表项用于丢弃源地址为所述第一报文的源地址、目的地址未命中的报文;在接收到与所述未知丢弃流表项匹配的第二报文后,丢弃所述第二报文。通过本申请的技术方案,避免控制器在短时间内生成大量流表项,从而节约了控制器的CPU资源和网络设备的CPU资源,减轻网络设备和控制器的负担,提升了网络的可靠性和稳定性。

【技术实现步骤摘要】
一种报文处理方法和装置
本申请涉及通信
,尤其是涉及一种报文处理方法和装置。
技术介绍
SDN(SoftwareDefinedNetwork,软件定义网络)是一种新型网络架构,SDN的核心思想是分离网络设备的控制层面与转发层面,通过SDN控制器对网络流量进行集中和灵活控制,从而为核心网络及应用的创新提供良好的平台。在SDN中,网络设备下挂的主机可以向网络设备发送报文,网络设备接收到该报文后,若该报文匹配miss流表项,则将该报文封装成packet-in消息,并将该packet-in消息发送给SDN控制器。SDN控制器在接收到packet-in消息后,根据packet-in消息生成转发流表项,并将该转发流表项下发给网络设备,网络设备在接收到转发流表项后,根据转发流表项进行报文转发。但是,当网络设备下挂的主机进行攻击时,会发送大量目的地址变化的未知报文,这些未知报文均可以匹配miss流表项,从而导致网络设备向SDN控制器发送大量packet-in消息,并导致SDN控制器在短时间内生成大量转发流表项,消耗SDN控制器的大量CPU(CentralProcessingUnit,中央处理器)资源。而且,网络设备也需要处理大量转发流表项,消耗了网络设备的大量CPU资源。
技术实现思路
本申请提供一种一种报文处理方法,应用于网络设备,所述方法包括:在接收到与默认流表项匹配的第一报文后,向控制器发送控制消息,所述控制消息携带第一报文、预设时间内与默认流表项匹配的所有报文的攻击参数;接收并存储控制器发送的未知丢弃流表项;其中,所述未知丢弃流表项是控制器根据所述攻击参数确定所述网络设备被攻击时发送的,所述未知丢弃流表项用于丢弃源地址为所述第一报文的源地址、目的地址未命中的报文;在接收到与所述未知丢弃流表项匹配的第二报文后,丢弃所述第二报文。本申请提供一种报文处理方法,应用于控制器,所述方法包括:接收网络设备发送的控制消息,所述控制消息携带与所述网络设备的默认流表项匹配的第一报文、预设时间内与默认流表项匹配的所有报文的攻击参数;若根据所述攻击参数确定网络设备被攻击,向网络设备发送未知丢弃流表项,所述未知丢弃流表项用于丢弃源地址为所述第一报文的源地址、目的地址未命中的报文;以使网络设备丢弃与所述未知丢弃流表项匹配的第二报文。本申请提供一种报文处理装置,应用于网络设备,所述装置包括:发送模块,用于在接收到与默认流表项匹配的第一报文后,向控制器发送控制消息,所述控制消息携带第一报文、预设时间内与默认流表项匹配的所有报文的攻击参数;接收模块,用于接收并存储控制器发送的未知丢弃流表项;所述未知丢弃流表项是控制器根据所述攻击参数确定网络设备被攻击时发送的,所述未知丢弃流表项用于丢弃源地址为所述第一报文的源地址、目的地址未命中的报文;所述接收模块,还用于接收到与所述未知丢弃流表项匹配的第二报文;处理模块,用于丢弃所述第二报文。本申请提供一种报文处理装置,应用于控制器,所述装置包括:接收模块,用于接收网络设备发送的控制消息,所述控制消息携带与所述网络设备的默认流表项匹配的第一报文、预设时间内与所述默认流表项匹配的所有报文的攻击参数;确定模块,用于根据所述攻击参数确定所述网络设备被攻击;发送模块,用于向所述网络设备发送未知丢弃流表项,所述未知丢弃流表项用于丢弃源地址为所述第一报文的源地址、目的地址未命中的报文;以使所述网络设备丢弃与所述未知丢弃流表项匹配的第二报文。由以上技术方案可见,本申请实施例中,网络设备向控制器发送控制消息时,该控制消息可以携带攻击参数,使得控制器根据该攻击参数确定网络设备是否被攻击,若网络设备被攻击,控制器向网络设备发送未知丢弃流表项,使得网络设备丢弃与未知丢弃流表项匹配的报文。综上所述,网络设备下挂的主机发送大量目的地址变化的未知报文时,这些报文均匹配未知丢弃流表项,即网络设备丢弃这些报文,而不会为这些报文向控制器发送大量控制消息,避免控制器在短时间内生成大量流表项,从而节约了控制器的CPU资源和网络设备的CPU资源,减轻网络设备和控制器的负担,提升了网络的可靠性和稳定性。附图说明为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。图1是本申请一种实施方式中的应用场景示意图;图2是本申请一种实施方式中的转发流表项和未知丢弃流表项的示意图;图3是本申请一种实施方式中的报文处理方法的流程图;图4是本申请一种实施方式中的报文处理装置的结构图;图5是本申请一种实施方式中的网络设备的硬件结构图;图6是本申请另一种实施方式中的报文处理装置的结构图;图7是本申请一种实施方式中的控制器的硬件结构图。具体实施方式在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。本申请实施例提出一种报文处理方法,可以应用于包括网络设备(如路由器、交换机等)和控制器(如SDN控制器等)的系统,参见图1所示,为本申请实施例的应用场景示意图。在图1中,以3个网络设备为例进行说明,实际应用中,网络设备的数量可以更多,对此不做限制。此外,每个网络设备还可以下挂一个或者多个主机(如VM(虚拟机)等),对此主机数量不做限制。在一个例子中,为了指导网络设备对报文进行处理(如转发处理、丢弃处理等),控制器可以向网络设备下发三种类型的流表项,可以分别为转发流表项、默认流表项、未知丢弃流表项,以下先对这三种流表项进行简单说明。1、转发流表项,即普通的流表项。该转发流表项的匹配选项可以包括但不限于:源地址(例如源IP地址、源MAC(MediaAccessControl,介质访问控制)地址、源端口等)、目的地址(例如目的IP地址、目的MAC地址、目的端口等)、入接口、协议类型等内容,动作选项可以为某个出接口。这样,网络设备在接收到与该转发流表项匹配的报文后,就可以通过该出接口转发该报文。2、默认流表项,也可以称为miss流表项或者talbemiss流表项。默认流表项的匹配选项可以为空,即所有报文均能够与默认流表项匹配,但是,默认流表项具有最低的优先级,也就是说,当报文没有匹配转发流表项和未知丢弃流表项时,该报文才可以与默认流表项匹配。此外,默认流表项的动作选项可以为上送控制器。这样,网络设备在接收到与该默认流表项匹配的报文后,就可以将该报文封装成packet-in消息,并将该packet-in消息本文档来自技高网...
一种报文处理方法和装置

【技术保护点】
1.一种报文处理方法,其特征在于,应用于网络设备,所述方法包括:在接收到与默认流表项匹配的第一报文后,向控制器发送控制消息,所述控制消息携带第一报文、预设时间内与默认流表项匹配的所有报文的攻击参数;接收并存储控制器发送的未知丢弃流表项;其中,所述未知丢弃流表项是控制器根据所述攻击参数确定所述网络设备被攻击时发送的,所述未知丢弃流表项用于丢弃源地址为所述第一报文的源地址、目的地址未命中的报文;在接收到与所述未知丢弃流表项匹配的第二报文后,丢弃所述第二报文。

【技术特征摘要】
1.一种报文处理方法,其特征在于,应用于网络设备,所述方法包括:在接收到与默认流表项匹配的第一报文后,向控制器发送控制消息,所述控制消息携带第一报文、预设时间内与默认流表项匹配的所有报文的攻击参数;接收并存储控制器发送的未知丢弃流表项;其中,所述未知丢弃流表项是控制器根据所述攻击参数确定所述网络设备被攻击时发送的,所述未知丢弃流表项用于丢弃源地址为所述第一报文的源地址、目的地址未命中的报文;在接收到与所述未知丢弃流表项匹配的第二报文后,丢弃所述第二报文。2.根据权利要求1所述的方法,其特征在于,在接收到与默认流表项匹配的第一报文之后,在向控制器发送控制消息之前,所述方法还包括:更新所述默认流表项中的攻击参数;从所述默认流表项中读取更新后的攻击参数,生成携带更新后的攻击参数的控制消息;其中,所述攻击参数包括:报文总数量和/或报文实际速率。3.根据权利要求1所述的方法,其特征在于,所述默认流表项还包括最大上送速率;所述向控制器发送控制消息之前,所述方法还包括:判断向控制器发送控制消息的速率是否已经达到所述最大上送速率;如果是,则禁止向所述控制器发送所述控制消息;如果否,则执行向控制器发送控制消息的操作。4.根据权利要求1所述的方法,其特征在于,所述未知丢弃流表项包括第一级子表项和第二级子表项;所述第一级子表项的匹配选项包括所述第一报文的源地址,动作选项包括设置元数据;所述第二级子表项的匹配选项包括所述元数据,动作选项包括丢弃;其中,所述第一级子表项存储在第一级流表,所述第二级子表项存储在第二级流表;所述接收到与所述未知丢弃流表项匹配的第二报文,包括:在接收到第二报文后,通过第二报文的源地址查询所述第一级流表,若命中所述第一级流表中的所述第一级子表项,则为第二报文设置所述元数据;通过第二报文的目的地址查询所述第二级流表,若未命中所述第二级流表中的所有表项,则通过为第二报文设置的元数据查询所述第二级流表,若命中所述第二级流表中的所述第二级子表项,则确定第二报文与所述未知丢弃流表项匹配。5.一种报文处理方法,其特征在于,应用于控制器,所述方法包括:接收网络设备发送的控制消息,所述控制消息携带与所述网络设备的默认流表项匹配的第一报文、预设时间内与默认流表项匹配的所有报文的攻击参数;若根据所述攻击参数确定网络设备被攻击,向网络设备发送未知丢弃流表项,所述未知丢弃流表项用于丢弃源地址为所述第一报文的源地址、目的地址未命中的报文;以使网络设备丢弃与所述未知丢弃流表项匹配的第二报文。6.根据权利要求5所述的方法,其特征在于,所述攻击参数包括:报文总数量和/或报文实际速率;所述根据所述攻击参数确定网络设备被攻击,包括:若所述攻击参数为报文总数量,且所述报文总数量大于第一数量阈值,则确定所述网络设备被攻击;或者,若所述攻击参数为报文实际速率,且所述报文实际速率大于第一速率阈值,则确定所述网络设备被攻击;或者,若所述攻击参数为报文总数量和报文实际速率,且所述报文总数量大于第二数量阈值、所述报文实际速率大于第二速率阈值,则确定所述网络设备被攻击。7.根据权利要求5所述的方法,其特征在于,所述向网络设备发送未知丢弃流表项之前,所述方法还包括:获取预设时间内接收到的与所述网络设备的默认流表项匹配的所有报文的第一数量、所有报文中源地址与所述第一报文的源地址相同的报文的第二数量;若第二数量与第一数量的比例大于比例阈值,则生成所述未知丢弃流表项。8.根据权利要求5或7所述的方法,其特征在于,所述未知丢弃流表项包括第一级子表项和第二级子表项;所述第一级子表项的匹配选项包括所述第一报文的源地址,动作选项包括设置元数据;...

【专利技术属性】
技术研发人员:宋小恒
申请(专利权)人:新华三技术有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1