CN109005120A - 一种报文处理方法及网络设备 - Google Patents
一种报文处理方法及网络设备 Download PDFInfo
- Publication number
- CN109005120A CN109005120A CN201811286343.3A CN201811286343A CN109005120A CN 109005120 A CN109005120 A CN 109005120A CN 201811286343 A CN201811286343 A CN 201811286343A CN 109005120 A CN109005120 A CN 109005120A
- Authority
- CN
- China
- Prior art keywords
- address
- message
- network
- network equipment
- processor
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种报文处理方法及网络设备,该方法包括:转发芯片接收报文;若所述报文的目的IP地址为第一IP地址,则所述转发芯片将所述报文发送给处理器,以使所述处理器对来自于控制器的所述报文进行处理;若所述报文的目的IP地址不为第一IP地址,则所述转发芯片将所述报文与本地流表进行匹配,并根据匹配结果对来自于所述SDN网络中其它网络设备的所述报文进行处理。通过本申请的技术方案,避免将所有报文均与本地流表进行匹配,使得网络设备与控制器交互的报文不受本地流表的影响,减轻网络设备的处理负担。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种报文处理方法及网络设备。
背景技术
SDN(Software Defined Network,软件定义网络)是一种新型网络创新架构,其核心思想是将网络设备的控制层面与转发层面分离,以实现对网络流量的灵活控制。通常来说,SDN网络包括控制器和网络设备(如交换机等),相关技术中,SDN网络可以应用Openflow(开源流)技术实现网络通信。
其中,控制器是网络控制中心,根据用户配置或动态运行的协议生成流表,将流表下发给网络设备。网络设备基于控制器下发的流表,对报文进行处理。
在实际应用中,控制器可能向网络设备下发大量流表,针对网络设备接收到的每个报文,网络设备需要将该报文与本网络设备存储的流表进行匹配,也就是说,网络设备需要将接收到的每个报文与流表进行匹配,匹配工作量很大,导致网络设备的处理负担增加,并降低网络设备的处理效率。
发明内容
本申请提供一种报文处理方法及网络设备,用于避免将所有报文均与流表进行匹配,从而减轻网络设备的处理负担,提高网络设备的处理效率。
第一方面,本申请提供一种报文处理方法,应用于软件定义网络SDN网络中的网络设备,所述SDN网络还包括控制器,所述网络设备包括转发芯片和处理器,所述网络设备设置有第一IP地址,所述第一IP地址是所述网络设备与所述控制器通信时使用的IP地址,所述方法包括:
所述转发芯片接收报文;
若所述报文的目的IP地址为所述第一IP地址,则所述转发芯片将所述报文发送给所述处理器,以使所述处理器对来自于所述控制器的所述报文进行处理;
若所述报文的目的IP地址不为所述第一IP地址,则所述转发芯片将所述报文与本地流表进行匹配,并根据匹配结果对来自于所述SDN网络中其它网络设备的所述报文进行处理。
第二方面,本申请提供一种网络设备,应用于软件定义网络SDN网络中,所述SDN网络还包括控制器,所述网络设备设置有第一IP地址,所述第一IP地址是所述网络设备与所述控制器通信时使用的IP地址;
其中,所述网络设备包括转发芯片和处理器;
所述转发芯片,用于接收报文;若所述报文的目的IP地址不为所述第一IP地址,则将所述报文与本地流表进行匹配,并根据匹配结果对来自于所述SDN网络中其它网络设备的所述报文进行处理;若所述报文的目的IP地址为所述第一IP地址,则将来自于所述控制器的所述报文发送给所述处理器;
所述处理器,用于在接收到来自于控制器的报文后,对所述报文进行处理。
基于上述技术方案,本申请实施例中,可以将网络设备的IP地址区分为第一IP地址和第二IP地址,第一IP地址是网络设备与控制器通信时使用的IP地址,第二IP地址是网络设备与其它网络设备通信时使用的IP地址,这样,转发芯片在接收到报文后,若报文的目的IP地址为第一IP地址,则转发芯片可以直接将报文发送给处理器,而不再将报文与本地流表进行匹配,也就是说,针对控制器向网络设备发送的报文,可以不将报文与本地流表进行匹配,从而避免将所有报文均与本地流表进行匹配,使得网络设备与控制器交互的报文不受本地流表的影响,从而减轻网络设备的处理负担,提高网络设备的处理效率。
而且,即使控制器和其它网络设备连接本网络设备的同一个端口,由于网络设备是使用不同的IP地址与控制器和其它网络设备通信,因此,也可以区分报文来自于控制器还是其它网络设备,从而可以节约网络设备的端口资源。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1是本申请一种实施方式中的网络设备的硬件结构图;
图2是本申请一种实施方式中的报文处理方法的流程图;
图3是本申请一种实施方式中的多OpenFlow实例的网络设备的结构图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例中提出一种报文处理方法,该方法可以应用于SDN网络中,在SDN网络中,可以包括控制器(如SDN控制器)和多个网络设备(如交换机、路由器等),每个网络设备可以包括转发芯片和处理器。
参见图1所示,为本申请实施例的应用场景示意图,SDN网络包括控制器101、网络设备102和网络设备103,网络设备102可以包括转发芯片1021和处理器1022,网络设备103可以包括转发芯片1031和处理器1032。图1以两个网络设备为例,在实际应用中,网络设备的数量可以更多,对此不做限制。
在一个例子中,控制器101可以根据用户配置或动态运行的协议生成流表,并将流表下发给网络设备(如网络设备102或者网络设备103,后续以网络设备102为例)。网络设备102可以基于控制器101下发的流表,对报文进行处理,具体的,针对网络设备102接收到的每个报文,可以将该报文与流表进行匹配,并根据匹配结果对该报文进行处理。然而,申请人发现,针对控制器101向网络设备102发送的报文,网络设备102并不需要将该报文与流表进行匹配。
基于此,本申请实施例中,网络设备102在接收到报文后,确定这个报文是控制器101发送给网络设备102的,还是其它网络设备(如网络设备103)发送给网络设备102的。若是控制器101发送给网络设备102的,则网络设备102不需要将报文与流表进行匹配;若是其它网络设备发送给网络设备102的,则网络设备102需要将报文与流表进行匹配,并根据匹配结果对报文进行处理。
为了区分报文是控制器101发送给网络设备102的,还是其它网络设备发送给网络设备102的,则网络设备102可以设置有第一IP地址和第二IP地址,第一IP地址的数量可以为一个,第二IP地址的数量可以为一个或者多个。其中,第一IP地址可以是网络设备102与控制器101通信时使用的IP地址,第二IP地址可以是网络设备102与其它网络设备通信时使用的IP地址。基于此,网络设备102在接收到报文后,若该报文的目的IP地址是第一IP地址,则可以确定这个报文是控制器101发送给网络设备102的;若该报文的目的IP地址是第二IP地址,则可以确定这个报文是其它网络设备发送给网络设备102的。
在一个例子中,为了将网络设备102的IP地址区分为第一IP地址和第二IP地址,则可以采用如下方式实现:网络设备102可以从本网络设备102设置的多个IP地址中选择一个IP地址,并将选择的IP地址确定为第一IP地址,并将多个IP地址中除第一IP地址之外的其它IP地址确定为第二IP地址。
例如,若网络设备102设置有IP地址1-IP地址10,则可以从IP地址1-IP地址10中选择一个IP地址,对此选择方式不做限制,例如,可以选择最大的IP地址,或者,可以选择最小的IP地址,或者,可以随机选择一个IP地址。
然后,假设选择IP地址1,则网络设备102可以将IP地址1确定为第一IP地址,并将IP地址2-IP地址10确定为第二IP地址。在此基础上,当网络设备102与控制器101通信时,则网络设备102可以使用IP地址1;当网络设备102与其它网络设备通信时,则网络设备102可以使用IP地址2-IP地址10。
在一个例子中,为了实现网络设备102使用第一IP地址与控制器101通信,则网络设备102可以利用第一IP地址与控制器101建立第一连接(如OpenFlow连接);基于第一连接,网络设备102可以利用第一IP地址与控制器101通信。
其中,针对网络设备102利用第一IP地址与控制器101建立第一连接的过程,网络设备102可以采用传统方式与控制器101建立第一连接,只是建立第一连接时,网络设备102是使用第一IP地址,对此建立过程不再赘述。
在一个例子中,为了实现网络设备102使用第二IP地址与其它网络设备(如网络设备103)通信,则网络设备102可以利用第二IP地址与其它网络设备建立第二连接(如TCP(Transmission Control Protocol,传输控制协议)连接、UDP(User Datagram Protocol,用户数据报协议)连接、BGP(Border Gateway Protocol,边界网关协议)连接、LLDP(LinkLayer Discovery Protocol,链路层发现协议)连接、STP(Spanning Tree Protocol,生成树协议)等,对此不做限制);基于第二连接,网络设备102可以利用第二IP地址与其它网络设备通信。
其中,针对网络设备102利用第二IP地址与其它网络设备建立第二连接的过程,网络设备102可以采用传统方式与其它网络设备建立第二连接,只是建立第二连接时,网络设备102是使用第二IP地址,对此建立过程不再赘述。
在上述实施例中,可以由网络设备102的处理器1022,从网络设备102设置的多个IP地址中选择一个IP地址,并将选择的IP地址确定为第一IP地址,并将多个IP地址中除第一IP地址之外的其它IP地址确定为第二IP地址。
在上述实施例中,可以由网络设备102的处理器1022,利用第一IP地址与控制器101建立第一连接,并基于第一连接,利用第一IP地址与控制器101通信。可以由网络设备102的处理器1022,利用第二IP地址与其它网络设备建立第二连接,并基于第二连接,利用第二IP地址与其它网络设备通信。
在实际应用中,基于第一连接,网络设备102利用第一IP地址与控制器101通信,只是一个示例,即使不建立第一连接,网络设备102也可以利用第一IP地址与控制器101通信,对此不做限制。基于第二连接,网络设备102利用第二IP地址与其它网络设备通信,只是一个示例,即使不建立第二连接,网络设备102也可以利用第二IP地址与其它网络设备通信,对此不做限制。
在一个例子中,网络设备102利用第一IP地址与控制器101通信时,涉及网络设备102向控制器101发送报文,控制器101向网络设备102发送报文。
在网络设备102向控制器101发送报文时,由处理器1022生成报文,该报文的源IP地址是网络设备102的第一IP地址,然后,处理器1022将报文发送给转发芯片1021,转发芯片1021向控制器101发送该报文,由于报文的源IP地址是网络设备102的第一IP地址,从而利用第一IP地址与控制器101通信。
在控制器101向网络设备102发送报文时,控制器101将报文发送给转发芯片1021,该报文的目的IP地址是网络设备102的第一IP地址。转发芯片1021在接收到报文后,由于报文的目的IP地址是网络设备102的第一IP地址,因此,转发芯片1021获知报文是控制器101发送的,不需要将报文与流表进行匹配。
在一个例子中,网络设备102利用第二IP地址与其它网络设备通信时,涉及网络设备102向其它网络设备发送报文,其它网络设备向本设备发送报文。
在网络设备102向其它网络设备发送报文时,由处理器1022生成报文,该报文的源IP地址是网络设备102的第二IP地址,然后,处理器1022将报文发送给转发芯片1021,转发芯片1021向其它网络设备发送该报文,由于报文的源IP地址是网络设备102的第二IP地址,从而利用第二IP地址与控制器101通信。
在其它网络设备向网络设备102发送报文时,是将该报文发送给转发芯片1021,该报文的目的IP地址是网络设备102的第二IP地址。转发芯片1021在接收到报文后,由于报文的目的IP地址是网络设备102的第二IP地址,因此,转发芯片1021获知报文是其它网络设备发送的,而不是控制器101发送的,也就是说,需要将报文与流表进行匹配,并根据匹配结果对报文进行处理。
在上述应用场景下,参见图2所示,为本申请实施例中的报文处理方法的流程图,该方法可以应用于网络设备(如网络设备102),该方法可以如下所示。
步骤201,网络设备102的转发芯片1021接收报文。
例如,该报文可以是控制器101向网络设备102的转发芯片1021发送的报文,也可以是其它网络设备向网络设备102的转发芯片1021发送的报文。
步骤202,若该报文的目的IP地址为网络设备102的第一IP地址,则转发芯片1021将该报文发送给处理器1022,以使处理器1022对来自于控制器101的该报文进行处理,即转发芯片1021不需要将该报文与本地流表进行匹配。
具体的,转发芯片1021在接收到报文后,若该报文的目的IP地址为网络设备102的第一IP地址,则转发芯片1021获知该报文是控制器101发送的,因此,转发芯片1021不需要将报文与流表进行匹配,而是将报文发送给处理器1022。
处理器1022在接收到报文后,可以对该报文进行处理,对此处理方式不做限制。例如,若该报文是Feature Request(特征请求)报文,则处理器1022可以利用FeatureRequest报文生成Feature Reply(特征响应)报文,该Feature Reply报文可以携带网络设备102的特征信息,并通过转发芯片1021将Feature Reply报文发送给控制器101。又例如,若该报文是Echo Request(环回请求)报文,则处理器1022可以利用Echo Request报文生成Echo Reply(环回响应)报文,并通过转发芯片1021将Echo Reply报文发送给控制器101。当然,上述Feature Request报文和Echo Request报文只是两个示例,在实际应用中,还可以为其它类型的报文,如Hello报文、packet-out报文、携带流表信息的报文等,处理器1022可以根据报文的类型,对该报文进行处理,对此处理方式不做限制。
步骤203,若该报文的目的IP地址不为网络设备102的第一IP地址(即目的IP地址为第二IP地址),则转发芯片1021将该报文与本地流表进行匹配,并根据匹配结果对来自于SDN网络中其它网络设备的该报文进行处理。
具体的,转发芯片1021在接收到报文后,若该报文的目的IP地址为网络设备102的第二IP地址,则转发芯片1021获知报文是其它网络设备发送的,因此,转发芯片1021将报文与本地流表进行匹配,并根据匹配结果对报文进行处理。
其中,转发芯片1021将报文与本地流表进行匹配,并根据匹配结果对报文进行处理,可以包括:转发芯片1021从本地流表中查询与该报文命中的流表项,并根据与该报文命中的流表项对该报文进行处理,对此处理过程不做限制。
例如,本地流表中可以包括大量流表项,每个流表项均可以包括匹配项和动作项。匹配项可以包括但不限于以下之一或者任意组合:源IP地址、目的IP地址、协议类型、源端口、目的端口等,对此不做限制。动作项可以包括但不限于:通过某个出接口转发报文;对报文封装隧道头,并通过某个出接口发送封装后的报文;将报文上送处理器;对报文进行丢弃处理等,对此不做限制。
假设本地流表中包括流表项A,流表项A的匹配项包括:目的IP地址是IP地址5、协议类型是LLDP类型,流表项A的动作项包括:通过出接口3转发报文。在此基础上,转发芯片1021将报文与本地流表进行匹配时,若该报文的目的IP地址是IP地址5,该报文的协议类型是LLDP类型,则该报文与流表项A匹配,因此,基于流表项A的动作项,可以通过出接口3转发该报文。
在一个例子中,转发芯片1021在接收到报文后,若该报文的目的IP地址不为网络设备102的IP地址(即不是第一IP地址,也不是第二IP地址),则转发芯片1021将该报文与本地流表进行匹配,并根据匹配结果对报文进行处理。
具体的,转发芯片1021从本地流表中查询与该报文命中的流表项,并根据与该报文命中的流表项对该报文进行处理,对此处理过程不做限制。
基于上述技术方案,本申请实施例中,可以将网络设备的IP地址区分为第一IP地址和第二IP地址,第一IP地址是网络设备与控制器通信时使用的IP地址,第二IP地址是网络设备与其它网络设备通信时使用的IP地址,这样,转发芯片在接收到报文后,若报文的目的IP地址为第一IP地址,则转发芯片可以直接将报文发送给处理器,而不再将报文与本地流表进行匹配,也就是说,针对控制器向网络设备发送的报文,可以不将报文与本地流表进行匹配,从而避免将所有报文均与本地流表进行匹配,使得网络设备与控制器交互的报文不受本地流表的影响,从而减轻网络设备的处理负担,提高网络设备的处理效率。
而且,即使控制器和其它网络设备连接本网络设备的同一个端口,由于网络设备是使用不同的IP地址与控制器和其它网络设备通信,因此,也可以区分报文来自于控制器还是其它网络设备,从而可以节约网络设备的端口资源。
在一个例子中,网络设备102还可以创建OpenFlow实例,例如,网络设备102创建一个或者多个OpenFlow实例,一个OpenFlow实例可以连接一个或者多个控制器,一个控制器也可以连接一个或者多个OpenFlow实例,通过在网络设备102创建OpenFlow实例,可以方便数据管理和业务细分,增强用户体验。
参见图3所示,为创建两个OpenFlow实例的网络设备的结构图,其中,不同的OpenFlow实例可以对应不同的流表,不同的OpenFlow实例可以对应设置不同的IP地址,不同的OpenFlow实例可以对应设置不同的端口。假设网络设备102包括端口1-端口8,网络设备102设置有IP地址1-IP地址10,则网络设备102可以创建OpenFlow实例1和OpenFlow实例2,将端口1-端口4加入OpenFlow实例1,并将IP地址1-IP地址5加入OpenFlow实例1,将端口5-端口8加入OpenFlow实例2,并将IP地址6-IP地址10加入OpenFlow实例2。
在上述应用场景下,本申请实施例中,网络设备102可以从为OpenFlow实例设置的多个IP地址中选择一个IP地址,将选择的IP地址确定为该OpenFlow实例的第一IP地址,并将多个IP地址中除第一IP地址之外的其它IP地址确定为该OpenFlow实例的第二IP地址。其中,该第一IP地址可以是该OpenFlow实例与控制器101通信时使用的IP地址,该第二IP地址可以是该OpenFlow实例与其它网络设备(如网络设备103等)通信时使用的IP地址。
例如,为OpenFlow实例1设置IP地址1-IP地址5,则可以从IP地址1-IP地址5中选择一个IP地址,假设选择IP地址1,则可以将IP地址1确定为OpenFlow实例1的第一IP地址,并将IP地址2-IP地址5确定为OpenFlow实例1的第二IP地址。在此基础上,当网络设备102通过OpenFlow实例1与控制器101通信时,则可以使用IP地址1;当网络设备102通过OpenFlow实例1与其它网络设备通信时,则可以使用IP地址2-IP地址5。
又例如,为OpenFlow实例2设置IP地址6-IP地址10,则可以从IP地址6-IP地址10中选择一个IP地址,假设选择IP地址6,则可以将IP地址6确定为OpenFlow实例2的第一IP地址,并将IP地址7-IP地址10确定为OpenFlow实例2的第二IP地址。在此基础上,当网络设备102通过OpenFlow实例2与控制器101通信时,则可以使用IP地址6;当网络设备102通过OpenFlow实例2与其它网络设备通信时,则可以使用IP地址7-IP地址10。
在上述实施例中,可以由网络设备102的处理器1022,从为OpenFlow实例设置的多个IP地址中选择一个IP地址,将选择的IP地址确定为该OpenFlow实例的第一IP地址,并将其它IP地址确定为该OpenFlow实例的第二IP地址。
在上述实施例中,针对OpenFlow实例设置的多个IP地址,可以是物理接口的IP地址,也可以是虚接口(例如子接口)的IP地址,对此不做限制。
在上述实施例中,上述第一IP地址也可以称为带内管理IP地址,而上述第二IP地址也可以称为非带内管理IP地址,对此不做限制。
在上述实施例中,针对步骤202,即针对来自于控制器101的报文,转发芯片1021将该报文发送给处理器1022后,处理器1022可以对来自于控制器101的该报文进行处理。具体的,处理器1022可以先确定该报文对应的OpenFlow实例,例如,由于将端口1-端口4加入OpenFlow实例1,并将IP地址1-IP地址5加入OpenFlow实例1,这样,若报文的来源是端口1-端口4中的任意端口,则处理器1022可以确定该报文对应OpenFlow实例1,或者,若报文的目的IP地址是IP地址1-IP地址5中的第一IP地址(这个第一IP地址用于表示该报文来自于控制器101),则处理器1022可以确定该报文对应OpenFlow实例1。
然后,处理器1022可以根据该报文以及OpenFlow实例1进行相应处理。例如,若该报文是保活报文,则可以维护该OpenFlow实例1与该OpenFlow实例1对应的控制器的连接关系;若该报文是携带流表信息的报文,则可以将该流表信息下发到该OpenFlow实例1对应的流表中,对此处理方式不做限制。
在上述实施例中,针对步骤203,即针对来自于SDN网络中其它网络设备的报文,转发芯片1021根据匹配结果对该报文进行处理时,可以通过某个出接口发送该报文(例如,当报文是数据报文时,则可以通过某个出接口发送报文),也可以将报文发送给处理器1022(例如,当报文是协议报文(如TCP、UDP、BGP、LLDP、STP等协议报文)时,则可以将报文发送给处理器1022),还可以丢弃该报文(例如,当报文是非法报文时,则可以丢弃该报文),当然,上述只是几个示例,对此不做限制,具体处理方式与流表的匹配结果有关。
在转发芯片1021根据匹配结果对该报文进行处理时,若根据匹配结果将该报文发送给处理器1022,则处理器1022在接收到该报文后,可以先确定该报文对应的OpenFlow实例,例如,由于将端口1-端口4加入OpenFlow实例1,并将IP地址1-IP地址5加入OpenFlow实例1,这样,若报文的来源是端口1-端口4中的任意端口,则可以确定该报文对应OpenFlow实例1,或者,若报文的目的IP地址是IP地址1-IP地址5中的第二IP地址(这个第二IP地址用于表示该报文来自于其它网络设备),则可以确定该报文对应OpenFlow实例1。
然后,处理器1022可以将该报文与该OpenFlow实例的流表进行匹配,并根据匹配结果对该报文进行处理,对此处理方式不做限制。例如,若报文是BGP协议报文,则流表可以指定BGP协议报文的处理方式,因此,处理器1022可以根据BGP协议报文的处理方式对BGP协议报文进行处理。又例如,若报文是LLDP协议报文,则流表可以指定LLDP协议报文的处理方式,因此,处理器1022可以根据LLDP协议报文的处理方式对BGP协议报文进行处理。
以下结合具体应用场景,对上述过程进行说明。本应用场景中,转发芯片1021在接收到报文后,若该报文的目的IP地址为IP地址1(即第一IP地址),则确定该报文来自于控制器101,因此,直接将该报文发送给处理器1022。
处理器1022在接收到该报文后,根据IP地址1确定该报文对应OpenFlow实例1,因此,处理器1022根据该报文以及OpenFlow实例1进行相应处理。例如,若该报文是保活报文,则处理器1022可以维护该OpenFlow实例1与该OpenFlow实例1对应的控制器的连接关系;若该报文是携带流表信息的报文,则处理器1022可以将该流表信息下发到该OpenFlow实例1对应的流表中。
在另一个例子中,转发芯片1021在接收到报文后,若该报文的目的IP地址为IP地址2(即第二IP地址),则转发芯片1021确定该报文来自于其它网络设备,并从本地流表中查询与该报文命中的流表项(如流表项A),并根据流表项A对该报文进行处理。例如,本地流表中可以包括大量流表项,每个流表项均可以包括匹配项和动作项。匹配项可以包括但不限于以下之一或者任意组合:源IP地址、目的IP地址、协议类型、源端口、目的端口等,对此不做限制。动作项可以包括但不限于:对报文封装隧道头,并通过某个出接口发送封装后的报文;将报文上送处理器;对报文进行丢弃处理等,对此不做限制。
本应用场景中,假设流表项A的动作项为将报文上送处理器,因此,转发芯片1021将该报文发送给处理器1022。处理器1022在接收到该报文后,根据IP地址2确定该报文对应OpenFlow实例1,因此,处理器1022可以将该报文与该OpenFlow实例1的流表进行匹配,并根据匹配结果对该报文进行处理。例如,若报文是BGP协议报文,则流表可以指定BGP协议报文的处理方式,处理器1022可以根据BGP协议报文的处理方式对BGP协议报文进行处理。
基于与上述方法同样的申请构思,本申请实施例还提出一种网络设备,应用于SDN网络中,所述SDN网络还包括控制器,所述网络设备设置有第一IP地址,所述第一IP地址是所述网络设备与所述控制器通信时使用的IP地址;所述网络设备可以包括:转发芯片和处理器;其中:
所述转发芯片,用于接收报文;若所述报文的目的IP地址不为所述第一IP地址,则将所述报文与本地流表进行匹配,并根据匹配结果对来自于所述SDN网络中其它网络设备的所述报文进行处理;若所述报文的目的IP地址为所述第一IP地址,则将来自于所述控制器的所述报文发送给所述处理器;
所述处理器,用于在接收到来自于控制器的报文后,对所述报文进行处理。
在一个实施例中,所述处理器,还用于从所述网络设备设置的多个IP地址中选择一个IP地址;
将选择的IP地址确定为所述第一IP地址,并将所述多个IP地址中除所述第一IP地址之外的其它IP地址确定为第二IP地址;其中,所述第二IP地址是所述网络设备与所述SDN网络中其它网络设备通信时使用的IP地址。
在一个实施例中,若所述网络设备包括OpenFlow实例;
所述处理器从所述网络设备设置的多个IP地址中选择一个IP地址时用于:从为所述OpenFlow实例设置的多个IP地址中选择一个IP地址;其中,第一IP地址是所述OpenFlow实例与控制器通信时使用的IP地址,第二IP地址是所述OpenFlow实例与所述SDN网络中其它网络设备通信时使用的IP地址。
在一个实施例中,所述处理器,还用于利用所述第一IP地址与所述控制器建立第一连接;基于所述第一连接,利用所述第一IP地址与所述控制器通信;和/或,
利用所述第二IP地址与所述SDN网络中其它网络设备建立第二连接;基于所述第二连接,利用所述第二IP地址与所述其它网络设备通信。
在一个实施例中,若所述网络设备包括OpenFlow实例;所述转发芯片还用于:根据匹配结果将来自于所述SDN网络中其它网络设备的所述报文发送给所述处理器;
所述处理器还用于:确定所述报文对应的OpenFlow实例;
将所述报文与所述OpenFlow实例的流表进行匹配,并根据匹配结果对来自于所述SDN网络中其它网络设备的所述报文进行处理。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种报文处理方法,其特征在于,应用于软件定义网络SDN网络中的网络设备,所述SDN网络还包括控制器,所述网络设备包括转发芯片和处理器,所述网络设备设置有第一IP地址,所述第一IP地址是所述网络设备与所述控制器通信时使用的IP地址,所述方法包括:
所述转发芯片接收报文;
若所述报文的目的IP地址为所述第一IP地址,则所述转发芯片将所述报文发送给所述处理器,以使所述处理器对来自于所述控制器的所述报文进行处理;
若所述报文的目的IP地址不为所述第一IP地址,则所述转发芯片将所述报文与本地流表进行匹配,并根据匹配结果对来自于所述SDN网络中其它网络设备的所述报文进行处理。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述处理器从所述网络设备设置的多个IP地址中选择一个IP地址;
所述处理器将选择的IP地址确定为所述第一IP地址,并将所述多个IP地址中除所述第一IP地址之外的其它IP地址确定为第二IP地址;
其中,所述第二IP地址是所述网络设备与所述SDN网络中其它网络设备通信时使用的IP地址。
3.根据权利要求2所述的方法,其特征在于,若网络设备包括OpenFlow实例,所述处理器从所述网络设备设置的多个IP地址中选择一个IP地址,包括:
所述处理器从为所述OpenFlow实例设置的多个IP地址中选择一个IP地址;
其中,第一IP地址是所述OpenFlow实例与控制器通信时使用的IP地址,第二IP地址是所述OpenFlow实例与所述SDN网络中其它网络设备通信时使用的IP地址。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述处理器利用所述第一IP地址与所述控制器建立第一连接;基于所述第一连接,所述处理器利用所述第一IP地址与所述控制器通信;和/或,
所述处理器利用所述第二IP地址与所述SDN网络中其它网络设备建立第二连接;基于所述第二连接,所述处理器利用所述第二IP地址与所述其它网络设备通信。
5.根据权利要求1所述的方法,其特征在于,
若所述网络设备包括OpenFlow实例,所述方法还包括:
若所述转发芯片根据匹配结果将来自于所述SDN网络中其它网络设备的所述报文发送给所述处理器,则所述处理器确定所述报文对应的OpenFlow实例;
所述处理器将所述报文与所述OpenFlow实例的流表进行匹配,并根据匹配结果对来自于所述SDN网络中其它网络设备的所述报文进行处理。
6.一种网络设备,其特征在于,应用于软件定义网络SDN网络中,所述SDN网络还包括控制器,所述网络设备设置有第一IP地址,所述第一IP地址是所述网络设备与所述控制器通信时使用的IP地址;
其中,所述网络设备包括转发芯片和处理器;
所述转发芯片,用于接收报文;若所述报文的目的IP地址不为所述第一IP地址,则将所述报文与本地流表进行匹配,并根据匹配结果对来自于所述SDN网络中其它网络设备的所述报文进行处理;若所述报文的目的IP地址为所述第一IP地址,则将来自于所述控制器的所述报文发送给所述处理器;
所述处理器,用于在接收到来自于控制器的报文后,对所述报文进行处理。
7.根据权利要求6所述的网络设备,其特征在于,
所述处理器,还用于从所述网络设备设置的多个IP地址中选择一个IP地址;
将选择的IP地址确定为所述第一IP地址,并将所述多个IP地址中除所述第一IP地址之外的其它IP地址确定为第二IP地址;其中,所述第二IP地址是所述网络设备与所述SDN网络中其它网络设备通信时使用的IP地址。
8.根据权利要求7所述的网络设备,其特征在于,若所述网络设备包括OpenFlow实例,所述处理器从所述网络设备设置的多个IP地址中选择一个IP地址时用于:从为所述OpenFlow实例设置的多个IP地址中选择一个IP地址;
其中,第一IP地址是所述OpenFlow实例与控制器通信时使用的IP地址,第二IP地址是所述OpenFlow实例与所述SDN网络中其它网络设备通信时使用的IP地址。
9.根据权利要求7所述的网络设备,其特征在于,
所述处理器,还用于利用所述第一IP地址与所述控制器建立第一连接;基于所述第一连接,利用所述第一IP地址与所述控制器通信;和/或,
利用所述第二IP地址与所述SDN网络中其它网络设备建立第二连接;基于所述第二连接,利用所述第二IP地址与所述其它网络设备通信。
10.根据权利要求6所述的网络设备,其特征在于,若所述网络设备包括OpenFlow实例;所述转发芯片还用于:根据匹配结果将来自于所述SDN网络中其它网络设备的所述报文发送给所述处理器;
所述处理器还用于:确定所述报文对应的OpenFlow实例;
将所述报文与所述OpenFlow实例的流表进行匹配,并根据匹配结果对来自于所述SDN网络中其它网络设备的所述报文进行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811286343.3A CN109005120B (zh) | 2018-10-31 | 2018-10-31 | 一种报文处理方法及网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811286343.3A CN109005120B (zh) | 2018-10-31 | 2018-10-31 | 一种报文处理方法及网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109005120A true CN109005120A (zh) | 2018-12-14 |
CN109005120B CN109005120B (zh) | 2020-11-06 |
Family
ID=64590128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811286343.3A Active CN109005120B (zh) | 2018-10-31 | 2018-10-31 | 一种报文处理方法及网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109005120B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117439953A (zh) * | 2023-12-20 | 2024-01-23 | 珠海星云智联科技有限公司 | 等价成本多路径选择系统、方法、设备、集群以及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104168222A (zh) * | 2014-07-15 | 2014-11-26 | 杭州华三通信技术有限公司 | 一种报文传输方法和设备 |
CN104348716A (zh) * | 2013-07-23 | 2015-02-11 | 杭州华三通信技术有限公司 | 一种报文处理方法及设备 |
US20160234112A1 (en) * | 2015-02-06 | 2016-08-11 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for supporting port ranging in a software-defined networking (sdn) system |
CN106789667A (zh) * | 2016-11-21 | 2017-05-31 | 华为技术有限公司 | 一种数据转发方法、相关设备及系统 |
CN107809495A (zh) * | 2016-09-09 | 2018-03-16 | 华为技术有限公司 | 地址管理方法及装置 |
-
2018
- 2018-10-31 CN CN201811286343.3A patent/CN109005120B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104348716A (zh) * | 2013-07-23 | 2015-02-11 | 杭州华三通信技术有限公司 | 一种报文处理方法及设备 |
CN104168222A (zh) * | 2014-07-15 | 2014-11-26 | 杭州华三通信技术有限公司 | 一种报文传输方法和设备 |
US20160234112A1 (en) * | 2015-02-06 | 2016-08-11 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for supporting port ranging in a software-defined networking (sdn) system |
CN107809495A (zh) * | 2016-09-09 | 2018-03-16 | 华为技术有限公司 | 地址管理方法及装置 |
CN106789667A (zh) * | 2016-11-21 | 2017-05-31 | 华为技术有限公司 | 一种数据转发方法、相关设备及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117439953A (zh) * | 2023-12-20 | 2024-01-23 | 珠海星云智联科技有限公司 | 等价成本多路径选择系统、方法、设备、集群以及介质 |
CN117439953B (zh) * | 2023-12-20 | 2024-03-26 | 珠海星云智联科技有限公司 | 等价成本多路径选择系统、方法、设备、集群以及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109005120B (zh) | 2020-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106664261B (zh) | 一种配置流表项的方法、装置和系统 | |
CN110050448B (zh) | 管理多播业务的系统和方法 | |
CN105379218B (zh) | 业务流的处理方法、装置及设备 | |
CN109361606A (zh) | 一种报文处理系统及网络设备 | |
CN107948076B (zh) | 一种转发报文的方法及装置 | |
CN104378299B (zh) | 流表项处理方法以及装置 | |
CN105338003B (zh) | 一种应用于软件定义网络的防火墙实现方法 | |
CN104301451B (zh) | 一种跨网段主机通信方法、装置及系统 | |
CN105684505B (zh) | 通信网络、设备和控制方法 | |
CN104954245B (zh) | 业务功能链处理方法及装置 | |
CN102185936B (zh) | 一种基于linux操作系统的DNS服务系统和方法 | |
CN107078956A (zh) | 多层分布式路由器体系结构 | |
CN104717156A (zh) | 使用网络接口卡管理软件定义网络中的数据流的方法和系统 | |
CN104618244A (zh) | 一种sdn网络与传统ip网络互通的方法及系统 | |
CN107005587A (zh) | 链接网络环境中的分布式应用的系统和方法 | |
EP3099032A1 (en) | A load balancing method, device, system and computer storage medium | |
CN105208053A (zh) | 一种实现负载均衡的方法、装置及负载均衡服务系统 | |
CN104937896A (zh) | 地址解析协议消息的处理方法和转发器、控制器 | |
CN109391502A (zh) | 一种信息配置方法和管理单元 | |
CN108965159A (zh) | 服务质量控制方法、设备及系统 | |
CN107547391A (zh) | 一种报文传输方法和装置 | |
US11805047B2 (en) | Method and apparatus for controlling network traffic path | |
CN110430076A (zh) | 一种路由管理方法及装置 | |
CN104394083A (zh) | 转发表项处理的方法、报文转发的方法及其装置和系统 | |
CN106105098B (zh) | 交换机及业务请求报文的处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230625 Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: H3C INFORMATION TECHNOLOGY Co.,Ltd. Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466 Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |