CN103347013A - 一种增强可编程能力的OpenFlow网络系统和方法 - Google Patents
一种增强可编程能力的OpenFlow网络系统和方法 Download PDFInfo
- Publication number
- CN103347013A CN103347013A CN2013102487008A CN201310248700A CN103347013A CN 103347013 A CN103347013 A CN 103347013A CN 2013102487008 A CN2013102487008 A CN 2013102487008A CN 201310248700 A CN201310248700 A CN 201310248700A CN 103347013 A CN103347013 A CN 103347013A
- Authority
- CN
- China
- Prior art keywords
- module
- link layer
- packet
- network
- switch
- 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
Images
Classifications
-
- 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
- H04L47/22—Traffic shaping
Abstract
一种增强可编程能力的OpenFlow网络系统和方法,该系统分别扩展其两个组成装置,在网络控制器增设:协议解析配置模块、数据包处理编程模块、队列资源配置模块和链路层协议配置模块;在交换机增设与网络控制器增设的四个模块分别对应的四个模块:协议解析模块、数据包处理流水线模块、输出队列模块和链路层协议解析模块;藉由该四组对应模块的协作配合,使该OpenFlow网络系统能部署多个异构网络,实现与协议无关的数据转发,并增加网络可编程性。本发明能在OpenFlow网络中部署不同体系结构的、具有独立的寻址、路由与执行相关网络协议功能的异构网络,从而大幅度提升了现有SDN网络的软件定义的能力和软件定义的范畴,显著提高了整个SDN网络的可编程性。
Description
技术领域
本发明涉及一种扩展并增强现有OpenFlow网络的技术,确切的说,涉及一种为现有OpenFlow网络增强可编程能力的OpenFlow网络系统和方法,本发明扩展的OpenFlow网络中能够支持多个具有不同的寻址、路由机制和不同的网络体系结构的异构网络,同时还增强了现有OpenFlow网络的可软件定义的范畴和可编程性,属于网络通信技术领域。
背景技术
SDN(Software Defined Network)为软件定义网络,包括两部分架构:由网络控制器组成的控制网络与底层的交换机组成的数据网络。它将传统网络中的智能集中在由网络控制器组成的控制网络中,底层的交换机不具有任何网络智能,仅仅按照网络控制器的指令转发数据。
基于OpenFlow协议的OpenFlow网络是SDN的一种实现方式。
参见图1,介绍现有的OpenFlow网络的结构组成:包括网络控制器和底层的交换机,其中,网络控制器组成的控制网络可视为网络操作系统,网络用户可使用网络控制器向上层业务提供的标准SDN API进行编程,也就是使用软件定义的方式开发网络应用。而底层的交换机不具备任何网络智能,它只能按照OpenFlow网络控制器下发的流表对数据包进行解析、匹配和转发。
现有的OpenFlow网络中的网络控制器对交换机数据网络的软件定义能力存在诸多局限和不足:
1、OpenFlow网络支持的网络体系结构有限,现有的OpenFlow网络仅仅支持传统的传输控制协议TCP/互联网协议IP(Transmission Control Protocol/Internet Protocol)的网络体系结构,不支持非IP的网络体系结构。网络用户不能根据自己需求在网络中以软件定义的方式部署不同体系架构的异构网络。
2、OpenFlow协议不能通过软件定义的方式规定交换机对数据包的处理方式,仅仅能够使用OpenFlow协议规范的几种Action对数据包进行简单的处理。
3、OpenFlow协议不能通过软件定义的方式管理交换机上的各种网络资源(如交换机端口上的队列),不能保障网络中的数据流的QoS参数。
4、OpenFlow网络协议只能基于以太网的二层协议,不能基于其他的链路层协议(例如,光网络二层协议和3GPP中的L2协议),开发者不能通过软件定义的方式对OpenFlow网络依赖的链路层协议进行编程。
下面通过具体的场景,说明现有的OpenFlow网络缺乏足够的可软件定义功能,难以适应软件定义网络的需求。
场景1(参见图2):现有的OpenFlow网络中要部署一种异构体系网络时,该异构网络使用一种新的使用IPv4头封装的网络协议Proto-A进行端到端的数据传输。但是,使用现有的OpenFlow协议,网络控制器无法采用软件定义方式配置交换机解析和转发网络协议Proto-A的数据包。这就要为OpenFlow网络提供一种新的使网络控制器能配置交换机解析和转发多种网络协议的处理机制。
场景2(参见图3):在现有的OpenFlow网络中使用隧道技术时,要在隧道入口处为IPv6数据包封装一个IPv4头,并在隧道出口处去掉该封装的IPv4头而恢复原来的IPv6数据包。使用现有的OpenFlow协议不能用软件定义的方式扩展交换机对数据包的处理的Action,完成隧道的封装和解封装。也就是,现有OpenFlow网络不能通过软件定义的方式配置这种隧道场景。
场景3:OpenFlow网络中部署一个话音业务时,现有的OpenFlow网络使用的OpenFlow协议不能配置物理链路的带宽和队列的丢包率,无法保障话路的可靠带宽。也就是,这种场景下的现有OpenFlow网络不能通过软件定义的方式配置一条数据流使用的网络资源,以保障数据流的QoS参数。
场景4:现有的OpenFlow网络中数据包网络协议格式只能依赖于以太网的链路层协议,不支持其他的数据链路层协议。用户应该能够使用软件定义的方式配置交换机,使得交换机能够理解多种链路层协议,从而使交换机能够转发来自多种网络接口的数据包。
发明内容
有鉴于此,本发明的目的是提供一种增强可编程能力的OpenFlow网络系统和方法,使得本发明的OpenFlow网络能够对网络体系架构进行软件定义,从而在OpenFlow网络中可以部署不同体系结构的异构网络,而且每个异构网络都具有独立的寻址、路由与执行相关网络协议的功能,这样,就在现有SDN网络基础上,对网络的软件定义的能力和软件定义的范畴进行大幅度的提升与扩展,从而使得整个SDN网络的可编程性能得到进一步提高。
为了达到上述目的,本发明提供了一种增强可编程能力的OpenFlow网络系统,包括两个装置:网络控制器和位于底层的交换机;其特征在于:该系统对网络控制器和交换机分别进行扩展:在网络控制器增设:协议解析配置模块、数据包处理编程模块、队列资源配置模块和链路层协议配置模块;在交换机增设与网络控制器中所述四个模块分别相对应的四个模块:协议解析模块、数据包处理流水线模块、输出队列模块和链路层协议解析模块,藉由该四组八个对应模块的协作配合,使得该OpenFlow网络系统能够部署多个异构网络,实现与协议无关的数据转发,并增加网络的可编程性;其中:
协议解析配置模块和协议解析模块,用于配置和解析网络协议,并对交换机接收的数据包进行预解析,提取网络协议中的关键字段,以与流水线中的流表相匹配;
数据包处理编程模块和数据包处理流水线模块,用于处理网络中数据包的传输,共同完成交换机流表对数据包的匹配和处理;
队列资源配置模块和输出队列模块,用于为网络中数据流提供QoS保障、并以软件定义的方式配置OpenFlow网络交换机中的队列参数,以及对网络中的数据流进行流量整形;
链路层协议配置模块和链路层协议解析模块,用于配置和解析OpenFlow网络使用的不同数据链路层协议,隐藏网络中数据链路层协议的差异。
为了达到上述目的,本发明还提供了一种增强可编程能力的OpenFlow网络系统的工作方法,其特征在于:所述方法包括下列操作步骤:
(1)交换机不同的网络接口接收到使用不同数据链路层协议封装的网络数据帧后,链路层协议解析模块判断网络接口中的可编程模块是否能够解析该数据帧的数据链路层协议;若能够,则跳转执行步骤(3);若不能够,则链路层协议解析模块产生包括packet-in的控制消息,并将该不能处理的数据帧上报网络控制器的链路层协议配置模块;
(2)链路层协议配置模块接收到链路层协议解析模块上报的控制消息后,判断是否要为交换机配置数据链路层协议,若不需要,则丢弃该数据包;若需要,则链路层协议配置模块对该控制消息做出响应:解析该数据包所需要的数据链路层协议和描述该数据链路层协议的帧结构,再通过扩展的OpenFlow消息将该数据包下发给交换机的链路层协议解析模块;
(3)链路层协议解析模块解析该数据帧的链路层协议,将该数据帧中的二层协议解析后的数据包送入协议解析模块;协议解析模块判断其是否能够解析该数据包,若能够,则执行步骤(5);若不能够,则产生包括packet-in的控制消息,并将该不能解析的数据包上报网络控制器的协议解析配置模块;
(4)协议解析配置模块响应该控制消息,并判断是否需要配置交换机解析的新网络协议,若不需要,则丢弃该数据包;若需要,将解析该数据包所需要的协议解析表利用扩展的OpenFlow消息下发给交换机的协议解析模块;
(5)协议解析模块根据协议解析表解析该数据包网络协议和提取匹配项;
(6)数据包处理流水线模块根据从该数据包提取的匹配项查找交换机流表,判断该数据包是否与交换机流表项相匹配;若是,则执行步骤(8);若否,则生成Packet-in控制消息,将不能匹配的该数据包上报网络控制器;
(7)网络控制器判断是否需要处理该packet-in控制消息,若不要处理,则丢弃该数据包;若要处理,则网络控制器根据其业务逻辑,为交换机下发相应的流表,队列资源配置模块配置相应的队列资源,数据包处理编程模块下发相应处理该数据包的操作内容;
(8)数据包处理编程模块根据从该数据包提取的关键字段匹配流表,并执行匹配到流表项中的指令,对该数据包进行软件定义的配置处理,再将处理后的该数据包分发至相应的端口输出队列;
(9)交换机的链路层协议适配模块根据其可编程模块的链路层信息描述,给数据包封装相应的数据链路层协议后,将其从不同的网络接口中转发出去。
本发明的有益效果:本发明增强可编程能力的OpenFlow网络系统对现有的OpenFlow网络体系架构作了改进,扩展了OpenFlow网络中可软件定义的模块与功能,从而可以使用软件定义的方式在OpenFlow网络中部署多个不同类型业务的异构网络,并扩展了SDN网络可软件定义的范畴,增强了OpenFlow网络的可编程能力,使得多种不同的网络业务能够更加灵活、方便地部署到OpenFlow网络中。因此,本发明具有很好的推广应用前景。
附图说明
图1是现有的OpenFlow网络架构组成示意图。
图2是现有的OpenFlow网络中的网络控制器在其能够配置、解析与转发控制的交换机执行的原有协议基础上增添一种新型网络协议的过程示意图。
图3(A)、(B)分别是未封装IPv4头的IPv6数据包结构组成和用于隧道场景的使用IPv4头封装的IPv6数据包结构组成两个示意图。
图4是本发明增强可编程能力的OpenFlow网络系统架构组成示意图。
图5是本发明网络系统中的协议解析单元组成结构示意图。
图6是本发明网络系统中的配置协议解析表的消息结构组成示意图。
图7是本发明网络系统中经过协议解析后的结构化数据包组成示意图。
图8是本发明网络系统中的数据处理单元结构组成示意图。
图9是本发明网络系统中配置Action的消息结构组成示意图。
图10是本发明网络系统中Pipeline多级流水线设计步骤示意图。
图11是本发明网络系统中的消息配置转发队列消息结构组成示意图。
图12是本发明网络系统中的链路层协议配置单元结构组成示意图。
图13是本发明网络系统中的配置链路层协议的消息结构组成示意图。
图14是本发明网络系统工作方法操作步骤流程图。
图15是本发明网络系统添加新的协议解析表示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图和实施例对本发明作进一步的详细描述。
本发明增强可编程能力的OpenFlow网络系统是对现有OpenFlow网络的网络控制器和交换机分别进行了扩展:在网络控制器增设:协议解析配置模块、数据包处理编程模块、队列资源配置模块和链路层协议配置模块;在交换机增设与网络控制器中所述四个模块分别相对应的四个模块:协议解析模块、数据包处理流水线模块、输出队列模块和链路层协议解析模块,藉由该四组八个对应模块的协作配合,使得该OpenFlow网络中能够部署多个异构网络,实现协议无关的数据转发,同时增加了网络的可编程性。
参见图4,介绍本发明网络系统增设的下述四组8个功能模块:
(A)协议解析配置模块和协议解析模块,用于配置和解析网络协议,并对交换机接收的数据包进行预解析,提取网络协议中的关键字段,以与流水线中的流表相匹配。这两个模块的结构组成参见图5所示,其中:
协议解析配置模块:负责下发扩展的OpenFlow消息,配置与解析交换机使用的多种网络协议;该协议解析模块接受网络控制器通过扩展的OpenFlow消息对其使用的协议解析表进行的添加、删除和修改,并采用软件定义的方式配置交换机的协议解析功能。
参见图6,介绍该协议解析配置模块配置协议解析表的扩展OpenFlow消息结构,包括下述三个字段:
消息头(Header),采用OpenFlow协议的标准Header,并扩展其type类型:表示为协议解析表配置的消息;或者为扩展OpenFlow协议的Experimenter消息:表示为协议解析表的配置。
指令(Command),用于设定该消息能够执行的操作Action,包括:创建协议解析表中的新表(Create)、修改已有表(Modify)和删除表(Delete)。
协议内容描述,采用包括基于可扩展标记语言XML(extensible markuplanguage)的NetPDL语言描述协议中的信息和需要提取的协议字段。
协议解析模块:负责解析网络控制器的协议配置消息和预解析进入交换机的数据包,还负责维护多个协议解析表和提取每个协议的特定关键字段,每个协议解析表分别负责解析一个特定的网络协议;并根据网络控制器配置的协议解析表对数据包进行协议解析和提取关键字段。例如IPv4的协议解析表能够提取数据包中的源IP地址、目的IP地址等关键字段。故该协议解析模块的输入是原始的网络数据包,其输出是提取了网络协议关键字段的结构化的网络数据包。
参见图7,介绍结构化的网络数据包的结构组成:结构化数据包是提取了网络协议的关键字段,其中Match域中,保存有协议解析表提取出的匹配项。
(B)数据包处理编程模块和数据包处理流水线模块,用于处理网络中数据包的传输,共同完成交换机流表对数据包的匹配和处理。该两个模块的结构图如图8所示,其中:
数据包处理编程模块,负责用软件定义交换机对数据包的操作(Action),通过扩展的OpenFlow协议将数据包处理操作Action指令下发到指定交换机,软件定义交换机对数据包处理操作。例如,在OpenFlow网络中,为了使交换机能够对数据包进行复杂的隧道封装和解封装操作,用户可以将隧道封装和解封装操作使用的代码通过扩展的OpenFlow协议下发给交换机,交换机将这段代码作为对数据包进行隧道封装和解封装的扩展Action存储在交换机中中。隧道入口和出口交换机的中数据包匹配到特定的流表项后,执行隧道的封装和解封装的Action,就完成了隧道入口和出口对数据包的处理。
参见图9,介绍数据包处理编程模块配置交换机可支持Action的扩展OpenFlow消息结构组成,包括下述三个字段:
消息头(Header),采用OpenFlow协议的标准Header,并扩展其type类型:表示为交换机处理数据的Action配置消息;或者扩展OpenFlow协议的Experimenter消息:表示为这种配置消息;
指令(Command),用于设定该消息执行的操作内容,包括:为交换机添加一个新的Action(Create)、修改交换机中的一个Action(Modify)和删除交换机中的一个Action(Delete)。
操作(Action)描述,为对数据包的处理代码,用于指明处理过程和Action需要接受的参数列表。
数据包处理流水线模块,用于提供一种处理策略:将交换机中多个流表划分成多个不同流水线,以隔离分属于不同虚拟网之间的数据流和隔离网络资源,并按照流表项匹配结构化数据包,再对匹配的数据包执行流表项中的设定操作,对数据包执行软件定义的操作。数据包处理流水线模块的输入是协议解析模块输出的结构化数据包,其输出是网络中传输的数据包。
现有OpenFlow网络中的交换机流水线支持多级流表,所有的数据包必须先匹配逻辑上的0级流表,0级流表由若干个物理流表组成,其功能是将数据包分发到不同的流水线中进行匹配,如果命中0级流表,数据包跳转到其他流表继续进行匹配(参见图10)。图10中,数据包处理流水线模块将交换机中多级流表划分为若干条流水线,经过不同流水线的匹配和处理后,数据包被分发到不同的输出队列,对分属于不同的流水线的数据流进行隔离。这种处理流程可用于网络虚拟化中虚拟网流表资源和网络带宽的隔离,每个虚拟网都可以有自己独立的流水线。
0级流表先匹配数据包并提取的相应字段,再将该数据包分发到合适的流水线中,在每条流水线内,根据虚拟网中部署的网络协议,数据包可能进行不同字段的匹配。例如,在ICN虚拟网中,数据包匹配提取的URL字段,将数据包输出到相应的端口队列。在标签交换虚拟网中,数据包匹配提取的交换标签,输出到相应的端口队列中。
因此,数据包处理流水线模块的输入是协议解析模块输出的结构化数据包。数据包处理流水线模块的输出是网络中传输的数据包。
(C)队列资源配置模块和输出队列模块,用于为网络中数据流提供QoS保障、并以软件定义的方式配置OpenFlow网络交换机中的队列参数,以及对网络中的数据流进行流量整形。其中:
队列资源配置模块,用于软件定义交换机端口队列的队列参数,并将该配置信息通过扩展的OpenFlow协议下发给交换机;该模块配置的交换机端口上队列参数包括:队列标识queue_id、父队列标识parent_id、队列类型、队列长度、最大处理单元、最小带宽、最大带宽和优先级,以供网络控制器采用该软件定义的方式对网络进行拥塞控制与流量控制。
参见图11,介绍队列资源配置模块配置转发队列的扩展OpenFlow消息结构组成中的下述两个字段:
消息头(Header),采用OpenFlow协议的标准Header,并扩展其type类型:表示为交换机处理转发队列的配置消息;或者扩展OpenFlow的Experimenter消息,表示为这种配置消息。
队列参数(queue_configure),用于存储所有配置队列的各种信息,包含队列类型,以及交换机支持的多种队列参数(包括队列标识queue_id、父队列标识parent_id、队列类型、队列长度、最大处理单元、最小带宽、最大带宽和优先级等)。
输出队列模块,负责接受队列资源配置模块的配置,设置相应的队列参数,使得数据包处理流水线模块根据流表指令,将数据包转发到相应的输出队列;并用该方法使得网络控制器能够将数据流分发到不同的输出队列,为不同数据流提供不同的QoS保障。
(D)链路层协议配置模块和链路层协议解析模块,用于配置和解析OpenFlow网络使用的不同数据链路层协议,隐藏网络中数据链路层协议的差异。参见图12,介绍该两个模块的功能与结构组成:
链路层协议配置模块,负责软件定义OpenFlow网络使用的数据链路层协议,将数据链路层协议配置信息通过扩展的OpenFlow消息下发给交换机,以使OpenFlow网络能够使用包括用户自定义的任意的数据链路层协议。该链路层协议适配模块处理交换机接收到的数据帧时,其输入为交换机不同网络接口接收到的数据帧,输出是经过数据链路层协议解析的网络数据包。该模块处理交换机转发的数据包时,其输入为交换机输出队列中的数据包,输出是封装了不同数据链路层协议的数据帧。
参见图13,介绍链路层协议配置模块配置链路层协议的扩展OpenFlow消息组成结构中的下述三个字段:
消息头(Header),使用OpenFlow协议的标准Header,并扩展其type类型:表示用于交换机的链路层协议解析模块的配置消息;或者为扩展OpenFlow协议的Experimenter消息:表示上述配置消息。
指令(Command),用于设定对链路层协议的操作,包括:支持一个新的链路层协议、删除对现有的链路层协议支持和修改现有的链路层协议解析过程。
链路层适配代码,为用户软件定义的链路层协议适配代码,该代码包括:a)描述如何从一个新的链路层帧中提取其载荷,以及该载荷采用何种协议封装的;b)描述如何将交换机中数据包封装到一个链路层协议的帧中。
链路层协议解析模块,用于解析网络控制器发送的配置信息,将网络控制器下发的链路层协议描述写入到网络接口中可编程模块。该模块还对交换机各个网络接口接收到的链路层数据进行适配操作,解析不同网络接口数据帧的数据链路层协议,并隐藏不同链路层协议的差异:即对来自不同网络接口的数据帧进行解析后,将其放入输入队列。该模块对输出队列是将从不同网络接口转发来的数据包封装不同的数据链路层协议后,再由网络接口转发出去。
参见图14,介绍本发明增强可编程能力的OpenFlow网络系统的工作方法的下述具体操作步骤:
(1)交换机不同的网络接口接收到使用不同数据链路层协议封装的网络数据帧后,链路层协议解析模块判断网络接口中的可编程模块是否能够解析该数据帧的数据链路层协议;若能够,则跳转执行步骤(3);若不能够,则链路层协议解析模块产生包括packet-in的控制消息,并将该不能处理的数据帧上报网络控制器的链路层协议配置模块;
(2)链路层协议配置模块接收到链路层协议解析模块上报的控制消息后,判断是否要为交换机配置数据链路层协议,若不需要,则丢弃该数据包;若需要,则链路层协议配置模块对该控制消息做出响应:解析该数据包所需要的数据链路层协议和描述该数据链路层协议的帧结构,再通过扩展的OpenFlow消息将该数据包下发给交换机的链路层协议解析模块;
(3)链路层协议解析模块解析该数据帧的链路层协议,将该数据帧中的二层协议解析后的数据包送入协议解析模块;协议解析模块判断其是否能够解析该数据包,若能够,则执行步骤(5);若不能够,则产生包括packet-in的控制消息,并将该不能解析的数据包上报网络控制器的协议解析配置模块;
(4)协议解析配置模块响应该控制消息,并判断是否需要配置交换机解析的新网络协议,若不需要,则丢弃该数据包;若需要,将解析该数据包所需要的协议解析表利用扩展的OpenFlow消息下发给交换机的协议解析模块;
(5)协议解析模块根据协议解析表解析该数据包网络协议和提取匹配项;
(6)数据包处理流水线模块根据从该数据包提取的匹配项查找交换机流表,判断该数据包是否与交换机流表项相匹配;若是,则执行步骤(8);若否,则生成Packet-in控制消息,将不能匹配的该数据包上报网络控制器;
(7)网络控制器判断是否需要处理该packet-in控制消息,若不要处理,则丢弃该数据包;若要处理,则网络控制器根据其业务逻辑,为交换机下发相应的流表,队列资源配置模块配置相应的队列资源,数据包处理编程模块下发相应处理该数据包的操作内容;
(8)数据包处理编程模块根据从该数据包提取的关键字段匹配流表,并执行匹配到流表项中的指令,对该数据包进行软件定义的配置处理,再将处理后的该数据包分发至相应的端口输出队列;
(9)交换机的链路层协议适配模块根据其可编程模块的链路层信息描述,给数据包封装相应的数据链路层协议后,将其从不同的网络接口中转发出去。
上述总体工作流程图中,纵向箭头表示系统数据平面的数据流,横向箭头表示控制平面的数据流。本发明系统中,有四对模块的功能关系密切,下面分别介绍该系统中各个模块之间的工作流程:
(A)协议解析配置模块和协议解析模块之间的工作流程:
a)以添加协议解析表为例(参见图15),说明控制平面的工作流程:
(1)网络控制器中的协议解析配置模块采用软件定义新协议Proto-A的协议解析表(即用TCP头封装协议Proto-A)。该协议解析表用于描述协议Proto-A的数据包结构,以及协议需要提取的匹配字段等信息。
(2)协议解析配置模块将协议Proto-A的协议解析表通过扩展的OpenFlow消息下发给交换机的协议解析模块。
(3)协议解析模块解析网络控制器的配置信息,将协议Proto-A的解析表和其他已配置的协议解析表存储于交换机中。
b)数据平面工作流程(以解析Proto-A数据包为例):
(1)交换机的协议解析模块从交换机输入队列中读取未解析的网络数据包。
(2)从读取的网络数据包最外层协议开始,进行协议字段的解析和提取关键字段,先后解析Ethernet协议、IPv4协议、TCP协议和Proto-A协议,并依照各个协议解析表提取协议中的关键字段,经过协议解析表解析后的数据包就变为结构化的数据包(参见图8所示)。
(3)协议解析模块将提取匹配项的结构化数据包送入数据包处理Pipeline模块进行匹配处理。
(B)数据包处理编程模块和数据包处理流水线模块之间的工作流程:
a)控制平面的工作流程(以配置新的Action为例):
(1)数据包处理编程模块采用软件定义交换机对于数据包的操作,并将软件定义的数据包操作封装成扩展的OpenFlow消息,再下发给交换机的数据包处理Pipeline模块。
(2)数据包处理Pipeline模块解析网络控制器的配置信息,将网络控制器新配置的Action添加到交换机中。
b)数据平面的工作流程:
(1)数据包处理Pipeline模块从输入队列中取得提取关键字段结构化的数据包,先在0号流表中进行匹配,再根据0号流表匹配到表项的指令,将该数据包送入不同的流水线,继续匹配流表。
(2)进入不同流水线的该数据包完成流表匹配后,执行流表项中的Action,对数据包执行网络控制器软件定义的操作后,转发到流表项指定的出口队列。
(C)队列资源配置模块和输出队列模块之间的工作流程:
a)控制平面的工作流程
(1)网络控制器中的队列资源控制模块用软件定义交换机上的端口输出队列的配置参数,并通过扩展的OpenFlow协议将其下发给交换机。
(2)交换机的输出队列接受网络控制器的配置,设置相应输出队列的参数,配置队列的队列类型p_fifo、队列长度txlen、最大处理单元MTU、保证带宽rate、最大带宽ceil和优先级prio等队列参数。
b)数据平面的工作流程:
(1)数据包处理Pipeline模块将分属于不同流水线的数据包送入各个不同的出口队列。
(2)出口队列根据网络控制器配置的参数,对队列中的数据流进行流量整形。
(D)链路层协议配置模块和链路层协议适配模块之间的工作流程:
a)控制平面的工作流程:
(1)链路层协议配置模块用软件定义OpenFlow网络支持的数据链路层协议,描述数据链路层协议的帧结构,并通过扩展的OpenFlow消息下发给交换机。
(2)链路层协议适配模块解析网络控制器的配置消息,将链路层协议描述信息写入可编程模块。
b)数据平面的工作流程:
(1)交换机不同的网络接口接收到使用不同数据链路层协议封装的网络数据帧,链路层协议解析模块根据其可编程模块中的链路层协议描述信息,对数据帧进行解析,为交换机隐藏数据链路层协议的差异。
(2)交换机的输出队列将数据包从网络接口转发以前,链路层协议解析模块根据其可编程模块的链路层信息的描述,给该数据包封装相应的数据链路层协议。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种增强可编程能力的OpenFlow网络系统,包括两个装置:网络控制器和位于底层的交换机;其特征在于:该系统对网络控制器和交换机分别进行扩展:在网络控制器增设:协议解析配置模块、数据包处理编程模块、队列资源配置模块和链路层协议配置模块;在交换机增设与网络控制器中所述四个模块分别相对应的四个模块:协议解析模块、数据包处理流水线模块、输出队列模块和链路层协议解析模块,藉由该四组八个对应模块的协作配合,使得该OpenFlow网络系统能够部署多个异构网络,实现与协议无关的数据转发,并增加网络的可编程性;其中:
协议解析配置模块和协议解析模块,用于配置和解析网络协议,并对交换机接收的数据包进行预解析,提取网络协议中的关键字段,以与流水线中的流表相匹配;
数据包处理编程模块和数据包处理流水线模块,用于处理网络中数据包的传输,共同完成交换机流表对数据包的匹配和处理;
队列资源配置模块和输出队列模块,用于为网络中数据流提供QoS保障、并以软件定义的方式配置OpenFlow网络交换机中的队列参数,以及对网络中的数据流进行流量整形;
链路层协议配置模块和链路层协议解析模块,用于配置和解析OpenFlow网络使用的不同数据链路层协议,隐藏网络中数据链路层协议的差异。
2.根据权利要求1所述的系统,其特征在于:
所述协议解析配置模块负责下发扩展的OpenFlow消息,配置与解析交换机使用的多种网络协议;该协议解析模块接受网络控制器通过扩展的OpenFlow消息对其使用的协议解析表进行的添加、删除和修改,并采用软件定义的方式配置交换机的协议解析功能;
所述协议解析模块负责解析网络控制器的协议配置消息和预解析进入交换机的数据包,还负责维护多个协议解析表和提取每个协议的特定关键字段,每个协议解析表分别负责解析一个特定的网络协议;并根据控制器配置的协议解析表对数据包进行协议解析和提取关键字段;故该协议解析模块的输入是原始的网络数据包,其输出是提取了网络协议关键字段的结构化的网络数据包。
3.根据权利要求2所述的系统,其特征在于:所述协议解析配置模块配置协议解析表的扩展OpenFlow消息结构包括下述三个字段:
消息头Header,采用OpenFlow协议的标准Header,并扩展其type类型:表示为协议解析表配置的消息;或者为扩展OpenFlow协议的Experimenter消息:表示为协议解析表的配置;
指令Command,用于设定该消息能够执行的操作Action,包括:创建协议解析表中的新表Create、修改已有表Modify和删除表Delete;
协议内容描述,采用包括基于可扩展标记语言XML的NetPDL语言描述协议中的信息和需要提取的协议字段。
4.根据权利要求1所述的系统,其特征在于:
所述数据包处理编程模块负责用软件定义交换机对数据包的新操作Action,通过扩展的OpenFlow协议将数据包处理Action下发到指定交换机,软件定义交换机对数据包处理操作;
所述数据包处理流水线模块用于将交换机中多个流表划分成多个不同流水线,以隔离分属于不同虚拟网之间的数据流和隔离网络资源,并按照流表项匹配结构化数据包,再对匹配的数据包执行流表项中的设定操作,对数据包执行软件定义的操作;数据包处理流水线模块的输入是协议解析模块输出的结构化数据包,其输出是网络中传输的数据包。
5.根据权利要求4所述的系统,其特征在于:所述数据包处理编程模块配置的交换机Action set的扩展OpenFlow消息结构包括下述三个字段:
消息头Header,采用OpenFlow协议的标准Header,并扩展其type类型:表示为交换机处理数据的Action配置消息;或者扩展OpenFlow协议的Experimenter消息:表示为这种配置消息;
指令Command,用于设定该消息执行的操作,包括:Create、Modify和Delete,即分别为创建一个新的Action、修改和删除交换机中的一个Action;
操作Action描述,为对数据包的处理代码,用于指明处理过程和Action需要接受的参数列表。
6.根据权利要求1所述的系统,其特征在于:
所述队列资源配置模块用于软件定义交换机端口队列的队列参数,并将该配置信息通过扩展的OpenFlow协议下发给交换机;该模块配置的交换机端口上队列参数包括:队列标识queue_id、父队列标识parent_id、队列类型、队列长度、最大处理单元、最小带宽、最大带宽和优先级,以供网络控制器采用该软件定义的方式对网络进行拥塞控制与流量控制;
所述输出队列模块负责接受队列资源配置模块的配置,设置相应的队列参数,使得数据包处理流水线模块根据流表指令,将数据包转发到相应的输出队列;并用该方法使得网络控制器能够将数据流分发到不同的输出队列,为不同数据流提供不同的QoS保障。
7.根据权利要求6所述的系统,其特征在于:所述队列资源配置模块配置转发队列的扩展OpenFlow消息结构包括下述两个字段:
消息头Header,采用OpenFlow协议的标准Header,并扩展其type类型:表示为交换机处理转发队列的配置消息;或者扩展OpenFlow的Experimenter消息,表示为这种配置消息;
队列参数queue_configure,用于存储所有配置队列的各种信息,包含队列类型,以及交换机支持的多种队列参数,包括队列标识queue_id、父队列标识parent_id、队列类型、队列长度、最大处理单元、最小带宽、最大带宽和优先级。
8.根据权利要求1所述的系统,其特征在于:
所述链路层协议配置模块负责软件定义OpenFlow网络使用的数据链路层协议,将数据链路层协议配置信息通过扩展的OpenFlow消息下发给交换机,以使OpenFlow网络能够使用包括用户自定义的任意的数据链路层协议;该链路层协议适配模块处理交换机接收到的数据帧时,其输入为交换机不同网络接口接收到的数据帧,输出是经过数据链路层协议解析的网络数据包;该模块处理交换机转发的数据包时,其输入为交换机输出队列中的数据包,输出是封装了不同数据链路层协议的数据帧;
链路层协议解析模块用于解析网络控制器发送的配置信息,将网络控制器下发的链路层协议描述写入到网络接口中可编程模块;该模块还对交换机各个网络接口接收到的链路层数据进行适配操作,解析不同网络接口数据帧的数据链路层协议,并隐藏不同链路层协议的差异:即对来自不同网络接口的数据帧进行解析后,将其放入输入队列;而该模块对输出队列是将从不同网络接口转发来的数据包封装不同的数据链路层协议后,再由网络接口转发出去。
9.根据权利要求8所述的系统,其特征在于:所述链路层协议配置模块配置链路层协议的扩展OpenFlow消息结构包括下述三个字段:
消息头Header:使用OpenFlow协议的标准Header,并扩展其type类型:表示用于交换机的链路层协议解析模块的配置消息;或者为扩展OpenFlow协议的Experimenter消息:表示上述配置消息;
指令Command:用于设定对链路层协议的操作,包括:支持一个新的链路层协议、删除对现有的链路层协议支持和修改现有的链路层协议解析过程;
链路层适配代码:为用户软件定义的链路层协议适配代码,该代码包括:描述如何从一个新的链路层帧中提取其载荷,以及该载荷采用何种协议封装的,描述如何将交换机中数据包封装到一个链路层协议的帧中。
10.一种增强可编程能力的OpenFlow网络系统的工作方法,其特征在于:所述方法包括下列操作步骤:
(1)交换机不同的网络接口接收到使用不同数据链路层协议封装的网络数据帧后,链路层协议解析模块判断网络接口中的可编程模块是否能够解析该数据帧的数据链路层协议;若能够,则跳转执行步骤(3);若不能够,则链路层协议解析模块产生包括packet-in的控制消息,并将该不能处理的数据帧上报网络控制器的链路层协议配置模块;
(2)链路层协议配置模块接收到链路层协议解析模块上报的控制消息后,判断是否要为交换机配置数据链路层协议,若不需要,则丢弃该数据包;若需要,则链路层协议配置模块对该控制消息做出响应:解析该数据包所需要的数据链路层协议和描述该数据链路层协议的帧结构,再通过扩展的OpenFlow消息将该数据包下发给交换机的链路层协议解析模块;
(3)链路层协议解析模块解析该数据帧的链路层协议,将该数据帧中的二层协议解析后的数据包送入协议解析模块;协议解析模块判断其是否能够解析该数据包,若能够,则执行步骤(5);若不能够,则产生包括packet-in的控制消息,并将该不能解析的数据包上报网络控制器的协议解析配置模块;
(4)协议解析配置模块响应该控制消息,并判断是否需要配置交换机解析的新网络协议,若不需要,则丢弃该数据包;若需要,将解析该数据包所需要的协议解析表利用扩展的OpenFlow消息下发给交换机的协议解析模块;
(5)协议解析模块根据协议解析表解析该数据包网络协议和提取匹配项;
(6)数据包处理流水线模块根据从该数据包提取的匹配项查找交换机流表,判断该数据包是否与交换机流表项相匹配;若是,则执行步骤(8);若否,则生成Packet-in控制消息,将不能匹配的该数据包上报网络控制器;
(7)网络控制器判断是否需要处理该packet-in控制消息,若不要处理,则丢弃该数据包;若要处理,则网络控制器根据其业务逻辑,为交换机下发相应的流表,队列资源配置模块配置相应的队列资源,数据包处理编程模块下发相应处理该数据包的操作内容;
(8)数据包处理编程模块根据从该数据包提取的关键字段匹配流表,并执行匹配到流表项中的指令,对该数据包进行软件定义的配置处理,再将处理后的该数据包分发至相应的端口输出队列;
(9)交换机的链路层协议适配模块根据其可编程模块的链路层信息描述,给数据包封装相应的数据链路层协议后,将其从不同的网络接口中转发出去。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310248700.8A CN103347013B (zh) | 2013-06-21 | 2013-06-21 | 一种增强可编程能力的OpenFlow网络系统和方法 |
PCT/CN2014/080476 WO2014202030A1 (zh) | 2013-06-21 | 2014-06-23 | 增强OpenFlow网络能力的网络控制器、交换机和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310248700.8A CN103347013B (zh) | 2013-06-21 | 2013-06-21 | 一种增强可编程能力的OpenFlow网络系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103347013A true CN103347013A (zh) | 2013-10-09 |
CN103347013B CN103347013B (zh) | 2016-02-10 |
Family
ID=49281787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310248700.8A Expired - Fee Related CN103347013B (zh) | 2013-06-21 | 2013-06-21 | 一种增强可编程能力的OpenFlow网络系统和方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103347013B (zh) |
WO (1) | WO2014202030A1 (zh) |
Cited By (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103560951A (zh) * | 2013-11-13 | 2014-02-05 | 华为技术有限公司 | 报文处理方法及物理转发设备 |
CN103647658A (zh) * | 2013-11-27 | 2014-03-19 | 华为技术有限公司 | 一种软件定义网络系统中网络设备的管理方法和控制器 |
CN103795596A (zh) * | 2014-03-03 | 2014-05-14 | 北京邮电大学 | 可编程控制的sdn网络测量系统和测量方法 |
CN104135446A (zh) * | 2014-07-15 | 2014-11-05 | 武汉绿色网络信息服务有限责任公司 | 基于SDN实现IPv4向IPv6过渡的系统及方法 |
WO2014202030A1 (zh) * | 2013-06-21 | 2014-12-24 | 北京邮电大学 | 增强OpenFlow网络能力的网络控制器、交换机和方法 |
CN104486227A (zh) * | 2014-12-11 | 2015-04-01 | 武汉绿色网络信息服务有限责任公司 | 通过VxLAN技术实现IPv6灵活部署的系统及方法 |
CN104580066A (zh) * | 2013-10-11 | 2015-04-29 | 镇江和邦通信技术有限公司 | 基于OpenFlow网络的企业级多媒体通信的QoS实现方法 |
CN104717683A (zh) * | 2015-03-26 | 2015-06-17 | 清华大学 | 一种基于软件定义网络南向接口协议的用户请求处理方法 |
CN104714442A (zh) * | 2013-12-12 | 2015-06-17 | 国际商业机器公司 | 软件定义联网物理控制器及其控制方法 |
CN104717153A (zh) * | 2013-12-12 | 2015-06-17 | 国际商业机器公司 | 资源过载 |
CN104717116A (zh) * | 2013-12-13 | 2015-06-17 | 国际商业机器公司 | 用于软件定义联网隧穿扩展的方法和系统 |
CN105245981A (zh) * | 2015-10-15 | 2016-01-13 | 上海斐讯数据通信技术有限公司 | 软件定义吉比特无源光网络流表控制协议封装方法及装置 |
CN105357117A (zh) * | 2015-10-21 | 2016-02-24 | 上海斐讯数据通信技术有限公司 | 一种流表下发方法、系统、sdn控制器及sdn交换机 |
WO2016034075A1 (zh) * | 2014-09-05 | 2016-03-10 | 华为技术有限公司 | 转发参数传递的方法及设备 |
CN105471633A (zh) * | 2015-11-18 | 2016-04-06 | 武汉烽火网络有限责任公司 | 一种应用于sdn的图形化编程方法 |
CN105553710A (zh) * | 2015-12-14 | 2016-05-04 | 北京信息科技大学 | 在软件定义网络中的交换机中控制QoS的设备和方法 |
WO2016065536A1 (zh) * | 2014-10-28 | 2016-05-06 | 华为技术有限公司 | 交换机处理方法、控制器、交换机及交换机处理系统 |
CN105812330A (zh) * | 2014-12-31 | 2016-07-27 | 中国电信股份有限公司 | 蜂窝网络系统、控制方法、装置和网元及集中控制器 |
WO2016141884A1 (en) * | 2015-03-10 | 2016-09-15 | Huawei Technologies Co., Ltd. | Software defined network (sdn) control signaling for traffic engineering to enable multi-type transport in data plane |
CN105959154A (zh) * | 2016-06-22 | 2016-09-21 | 中国科学技术大学 | 一种基于编程工具的协议无关网络的转发管理方法 |
CN105993149A (zh) * | 2013-11-28 | 2016-10-05 | Kt株式会社 | Sdn环境中动态流量控制的方法及设备 |
CN106230512A (zh) * | 2016-07-21 | 2016-12-14 | 国网信息通信产业集团有限公司 | 一种电力泛在光接入组网系统 |
CN106254271A (zh) * | 2016-08-08 | 2016-12-21 | 北京邮电大学 | 一种用于软件定义网络的可编程队列配置方法及装置 |
CN106533943A (zh) * | 2016-12-06 | 2017-03-22 | 中国电子科技集团公司第三十二研究所 | 基于网络交换芯片的微码和流表的实现方法 |
CN106888176A (zh) * | 2015-12-15 | 2017-06-23 | 瑞昱半导体股份有限公司 | 网路装置及其控制方法 |
US9749225B2 (en) | 2015-04-17 | 2017-08-29 | Huawei Technologies Co., Ltd. | Software defined network (SDN) control signaling for traffic engineering to enable multi-type transport in a data plane |
CN107332707A (zh) * | 2017-07-25 | 2017-11-07 | 北京邮电大学 | 一种sdn网络测量数据的采集方法和装置 |
CN107529352A (zh) * | 2015-03-13 | 2017-12-29 | 凯为公司 | 用于软件定义的数据中心网络的协议独立的可编程交换机(pips) |
CN107547440A (zh) * | 2016-06-28 | 2018-01-05 | 上海宽带技术及应用工程研究中心 | 一种sdn控制器消息队列管理方法及系统 |
CN107645450A (zh) * | 2017-10-11 | 2018-01-30 | 中国科学技术大学 | 基于协议无感知转发技术的流表虚拟化装置及方法 |
CN107710685A (zh) * | 2015-07-20 | 2018-02-16 | 施瓦哲工程实验有限公司 | 通过自动生成的且物理上不同的通信路径在网络中进行流量路由 |
CN108183861A (zh) * | 2013-10-26 | 2018-06-19 | 华为技术有限公司 | Sdn交换机获取精确流表项方法及sdn交换机、控制器、系统 |
CN109495295A (zh) * | 2018-10-31 | 2019-03-19 | 电子科技大学 | 一种接入智能管控方法 |
CN105227378B (zh) * | 2015-10-28 | 2019-04-02 | 陈鸣 | 综合管理WiFi网络和有线网络的软件定义系统以及方法 |
CN109831389A (zh) * | 2019-03-14 | 2019-05-31 | 山东浪潮云信息技术有限公司 | 一种基于OpenFlow流量统计的负载均衡调度方法 |
CN110247908A (zh) * | 2019-06-11 | 2019-09-17 | 优刻得科技股份有限公司 | 基于可编程网络交换技术的数据发送的方法、装置和系统 |
US10491525B2 (en) | 2015-03-10 | 2019-11-26 | Huawei Technologies Co., Ltd. | Traffic engineering feeder for packet switched networks |
US10840912B2 (en) | 2014-06-11 | 2020-11-17 | Marvell Asia Pte, Ltd. | Hierarchical statistically multiplexed counters and a method thereof |
US10855573B2 (en) | 2014-09-23 | 2020-12-01 | Marvell Asia Pte, Ltd. | Hierarchical hardware linked list approach for multicast replication engine in a network ASIC |
US11050859B2 (en) | 2014-06-19 | 2021-06-29 | Marvell Asia Pte, Ltd. | Method of using bit vectors to allow expansion and collapse of header layers within packets for enabling flexible modifications and an apparatus thereof |
CN113076137A (zh) * | 2021-03-11 | 2021-07-06 | 中国电子科技集团公司第五十四研究所 | 一种基于指令集的可编程流处理装置及方法 |
CN113114494A (zh) * | 2021-04-02 | 2021-07-13 | 新疆大学 | 一种基于sdn的物联网异构网络通信设备及数据传递算法 |
CN113132156A (zh) * | 2021-03-31 | 2021-07-16 | 中国人民解放军战略支援部队信息工程大学 | 存储-计算-传输一体化的网络功能基础平台结构及方法 |
CN113660120A (zh) * | 2021-08-13 | 2021-11-16 | 大连海事大学 | 一种数据平面动作可编程的软件定义网络系统 |
US11258886B2 (en) | 2014-06-19 | 2022-02-22 | Marvell Asia Pte, Ltd. | Method of handling large protocol layers for configurable extraction of layer information and an apparatus thereof |
US11297012B2 (en) | 2015-03-30 | 2022-04-05 | Marvell Asia Pte, Ltd. | Packet processing system, method and device having reduced static power consumption |
CN114374648A (zh) * | 2020-10-14 | 2022-04-19 | 芯启源(南京)半导体科技有限公司 | 一种np芯片结合tcam实现智能网卡的方法 |
US11435925B2 (en) | 2013-12-27 | 2022-09-06 | Marvell Asia Pte, Ltd. | Method and system for reconfigurable parallel lookups using multiple shared memories |
US11677664B2 (en) | 2013-12-30 | 2023-06-13 | Marvell Asia Pte, Ltd. | Apparatus and method of generating lookups and making decisions for packet modifying and forwarding in a software-defined network engine |
WO2023138215A1 (zh) * | 2022-01-18 | 2023-07-27 | 清华大学 | 可编程数据平面在运行时的更新方法及装置 |
CN116974580A (zh) * | 2023-09-25 | 2023-10-31 | 之江实验室 | 多模态网络编译方法、系统和存储介质 |
US11824796B2 (en) | 2013-12-30 | 2023-11-21 | Marvell Asia Pte, Ltd. | Protocol independent programmable switch (PIPS) for software defined data center networks |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105553749B (zh) * | 2016-02-26 | 2018-09-21 | 广东技术师范学院 | 一种基于sdn的icn逻辑拓扑构建方法 |
CN108390899B (zh) * | 2017-02-03 | 2020-02-04 | 中国科学院声学研究所 | 一种基于软件定义网络的二层交换机内容协同的方法 |
CN112685625B (zh) * | 2020-12-31 | 2022-10-28 | 中国人民解放军战略支援部队信息工程大学 | 一种实现浮动关键字匹配的深度可编程转发系统、方法及装置 |
CN113132358A (zh) * | 2021-03-29 | 2021-07-16 | 井芯微电子技术(天津)有限公司 | 策略分发器、拟态交换机及网络系统 |
CN113708966B (zh) * | 2021-08-24 | 2022-05-31 | 清华大学 | 一种交换机网络化在线配置方法、系统和设备 |
CN114553757A (zh) * | 2022-01-29 | 2022-05-27 | 阿里巴巴(中国)有限公司 | 基于可编程交换机的协议报文处理方法、装置和设备 |
CN114567688B (zh) * | 2022-03-11 | 2023-01-24 | 之江实验室 | 一种基于fpga的协同网络协议解析方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546351A (zh) * | 2012-03-15 | 2012-07-04 | 北京邮电大学 | openflow网络和现有IP网络互联的系统和方法 |
US20130054761A1 (en) * | 2011-08-29 | 2013-02-28 | Telefonaktiebolaget L M Ericsson (Publ) | Implementing a 3G Packet Core in a Cloud Computer with Openflow Data and Control Planes |
CN103067534A (zh) * | 2012-12-26 | 2013-04-24 | 中兴通讯股份有限公司 | 一种NAT实现系统、方法及Openflow交换机 |
CN103067245A (zh) * | 2012-12-28 | 2013-04-24 | 中兴通讯股份有限公司 | 一种用于网络虚拟化的流表空间隔离装置及方法 |
CN103098427A (zh) * | 2010-09-08 | 2013-05-08 | 日本电气株式会社 | 交换系统、交换控制系统和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103347013B (zh) * | 2013-06-21 | 2016-02-10 | 北京邮电大学 | 一种增强可编程能力的OpenFlow网络系统和方法 |
-
2013
- 2013-06-21 CN CN201310248700.8A patent/CN103347013B/zh not_active Expired - Fee Related
-
2014
- 2014-06-23 WO PCT/CN2014/080476 patent/WO2014202030A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103098427A (zh) * | 2010-09-08 | 2013-05-08 | 日本电气株式会社 | 交换系统、交换控制系统和存储介质 |
US20130054761A1 (en) * | 2011-08-29 | 2013-02-28 | Telefonaktiebolaget L M Ericsson (Publ) | Implementing a 3G Packet Core in a Cloud Computer with Openflow Data and Control Planes |
CN102546351A (zh) * | 2012-03-15 | 2012-07-04 | 北京邮电大学 | openflow网络和现有IP网络互联的系统和方法 |
CN103067534A (zh) * | 2012-12-26 | 2013-04-24 | 中兴通讯股份有限公司 | 一种NAT实现系统、方法及Openflow交换机 |
CN103067245A (zh) * | 2012-12-28 | 2013-04-24 | 中兴通讯股份有限公司 | 一种用于网络虚拟化的流表空间隔离装置及方法 |
Non-Patent Citations (1)
Title |
---|
王文东 等: "《软件定义网络:正在进行的网络变革》", 《中兴通讯技术》 * |
Cited By (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014202030A1 (zh) * | 2013-06-21 | 2014-12-24 | 北京邮电大学 | 增强OpenFlow网络能力的网络控制器、交换机和方法 |
CN104580066A (zh) * | 2013-10-11 | 2015-04-29 | 镇江和邦通信技术有限公司 | 基于OpenFlow网络的企业级多媒体通信的QoS实现方法 |
CN108183861B (zh) * | 2013-10-26 | 2021-09-07 | 华为技术有限公司 | Sdn交换机获取精确流表项方法及sdn交换机、控制器、系统 |
CN108183861A (zh) * | 2013-10-26 | 2018-06-19 | 华为技术有限公司 | Sdn交换机获取精确流表项方法及sdn交换机、控制器、系统 |
CN103560951A (zh) * | 2013-11-13 | 2014-02-05 | 华为技术有限公司 | 报文处理方法及物理转发设备 |
CN103647658B (zh) * | 2013-11-27 | 2016-12-07 | 华为技术有限公司 | 一种软件定义网络系统中网络设备的管理方法和控制器 |
CN103647658A (zh) * | 2013-11-27 | 2014-03-19 | 华为技术有限公司 | 一种软件定义网络系统中网络设备的管理方法和控制器 |
CN105993149B (zh) * | 2013-11-28 | 2019-10-08 | Kt株式会社 | Sdn环境中动态流量控制的方法及设备 |
CN105993149A (zh) * | 2013-11-28 | 2016-10-05 | Kt株式会社 | Sdn环境中动态流量控制的方法及设备 |
CN104717153B (zh) * | 2013-12-12 | 2018-12-25 | 国际商业机器公司 | 用于在网络中管理工作负荷的计算机实现方法和系统 |
CN104714442A (zh) * | 2013-12-12 | 2015-06-17 | 国际商业机器公司 | 软件定义联网物理控制器及其控制方法 |
CN104717153A (zh) * | 2013-12-12 | 2015-06-17 | 国际商业机器公司 | 资源过载 |
US9906451B2 (en) | 2013-12-12 | 2018-02-27 | International Business Machines Corporation | Software-defined networking physical controller |
CN104717116A (zh) * | 2013-12-13 | 2015-06-17 | 国际商业机器公司 | 用于软件定义联网隧穿扩展的方法和系统 |
CN104717116B (zh) * | 2013-12-13 | 2018-04-06 | 国际商业机器公司 | 用于软件定义联网隧穿扩展的方法和系统 |
US11435925B2 (en) | 2013-12-27 | 2022-09-06 | Marvell Asia Pte, Ltd. | Method and system for reconfigurable parallel lookups using multiple shared memories |
US11677664B2 (en) | 2013-12-30 | 2023-06-13 | Marvell Asia Pte, Ltd. | Apparatus and method of generating lookups and making decisions for packet modifying and forwarding in a software-defined network engine |
US11824796B2 (en) | 2013-12-30 | 2023-11-21 | Marvell Asia Pte, Ltd. | Protocol independent programmable switch (PIPS) for software defined data center networks |
CN103795596B (zh) * | 2014-03-03 | 2017-05-24 | 北京邮电大学 | 可编程控制的sdn网络测量系统和测量方法 |
CN103795596A (zh) * | 2014-03-03 | 2014-05-14 | 北京邮电大学 | 可编程控制的sdn网络测量系统和测量方法 |
US11843378B2 (en) | 2014-06-11 | 2023-12-12 | Marvel Asia PTE., LTD. | Hierarchical statistically multiplexed counters and a method thereof |
US10840912B2 (en) | 2014-06-11 | 2020-11-17 | Marvell Asia Pte, Ltd. | Hierarchical statistically multiplexed counters and a method thereof |
US11258886B2 (en) | 2014-06-19 | 2022-02-22 | Marvell Asia Pte, Ltd. | Method of handling large protocol layers for configurable extraction of layer information and an apparatus thereof |
US11799989B2 (en) | 2014-06-19 | 2023-10-24 | Marvell Asia Pte, Ltd. | Method of using bit vectors to allow expansion and collapse of header layers within packets for enabling flexible modifications and an apparatus thereof |
US11050859B2 (en) | 2014-06-19 | 2021-06-29 | Marvell Asia Pte, Ltd. | Method of using bit vectors to allow expansion and collapse of header layers within packets for enabling flexible modifications and an apparatus thereof |
CN104135446B (zh) * | 2014-07-15 | 2017-06-09 | 武汉绿色网络信息服务有限责任公司 | 基于SDN实现IPv4向IPv6过渡的系统及方法 |
CN104135446A (zh) * | 2014-07-15 | 2014-11-05 | 武汉绿色网络信息服务有限责任公司 | 基于SDN实现IPv4向IPv6过渡的系统及方法 |
WO2016034075A1 (zh) * | 2014-09-05 | 2016-03-10 | 华为技术有限公司 | 转发参数传递的方法及设备 |
US10320660B2 (en) | 2014-09-05 | 2019-06-11 | Huawei Technologies Co., Ltd. | Method and device for transmitting forwarding parameter |
US11765069B2 (en) | 2014-09-23 | 2023-09-19 | Marvell Asia Pte, Ltd. | Hierarchical hardware linked list approach for multicast replication engine in a network ASIC |
US10855573B2 (en) | 2014-09-23 | 2020-12-01 | Marvell Asia Pte, Ltd. | Hierarchical hardware linked list approach for multicast replication engine in a network ASIC |
CN105745877A (zh) * | 2014-10-28 | 2016-07-06 | 华为技术有限公司 | 交换机处理方法、控制器、交换机及交换机处理系统 |
CN105745877B (zh) * | 2014-10-28 | 2019-04-12 | 华为技术有限公司 | 交换机处理方法、控制器、交换机及交换机处理系统 |
US10498637B2 (en) | 2014-10-28 | 2019-12-03 | Huawei Technologies Co., Ltd. | Switch processing method, controller, switch, and switch processing system |
WO2016065536A1 (zh) * | 2014-10-28 | 2016-05-06 | 华为技术有限公司 | 交换机处理方法、控制器、交换机及交换机处理系统 |
CN104486227B (zh) * | 2014-12-11 | 2017-10-13 | 武汉绿色网络信息服务有限责任公司 | 通过VxLAN技术实现IPv6灵活部署的系统及方法 |
CN104486227A (zh) * | 2014-12-11 | 2015-04-01 | 武汉绿色网络信息服务有限责任公司 | 通过VxLAN技术实现IPv6灵活部署的系统及方法 |
CN105812330A (zh) * | 2014-12-31 | 2016-07-27 | 中国电信股份有限公司 | 蜂窝网络系统、控制方法、装置和网元及集中控制器 |
CN105812330B (zh) * | 2014-12-31 | 2019-11-12 | 中国电信股份有限公司 | 蜂窝网络系统、控制方法、装置和网元及集中控制器 |
CN107409132B (zh) * | 2015-03-10 | 2020-06-02 | 华为技术有限公司 | 软件定义网络控制信令动态配置流分割的方法和网络节点 |
WO2016141884A1 (en) * | 2015-03-10 | 2016-09-15 | Huawei Technologies Co., Ltd. | Software defined network (sdn) control signaling for traffic engineering to enable multi-type transport in data plane |
CN107409132A (zh) * | 2015-03-10 | 2017-11-28 | 华为技术有限公司 | 在数据平面中启用多类型传输的用于流量工程的软件定义网络控制信令 |
US10491525B2 (en) | 2015-03-10 | 2019-11-26 | Huawei Technologies Co., Ltd. | Traffic engineering feeder for packet switched networks |
CN107529352A (zh) * | 2015-03-13 | 2017-12-29 | 凯为公司 | 用于软件定义的数据中心网络的协议独立的可编程交换机(pips) |
CN107529352B (zh) * | 2015-03-13 | 2020-11-20 | 马维尔亚洲私人有限公司 | 用于软件定义的数据中心网络的协议独立的可编程交换机(pips) |
CN104717683A (zh) * | 2015-03-26 | 2015-06-17 | 清华大学 | 一种基于软件定义网络南向接口协议的用户请求处理方法 |
CN104717683B (zh) * | 2015-03-26 | 2018-05-29 | 清华大学 | 一种基于软件定义网络南向接口协议的用户请求处理方法 |
US11652760B2 (en) | 2015-03-30 | 2023-05-16 | Marvell Asia Pte., Ltd. | Packet processing system, method and device having reduced static power consumption |
US11297012B2 (en) | 2015-03-30 | 2022-04-05 | Marvell Asia Pte, Ltd. | Packet processing system, method and device having reduced static power consumption |
US10291514B2 (en) | 2015-04-17 | 2019-05-14 | Huawei Technologies Co., Ltd. | Software defined network (SDN) control signaling for traffic engineering to enable multi-type transport in a data plane |
US9749225B2 (en) | 2015-04-17 | 2017-08-29 | Huawei Technologies Co., Ltd. | Software defined network (SDN) control signaling for traffic engineering to enable multi-type transport in a data plane |
CN107710685A (zh) * | 2015-07-20 | 2018-02-16 | 施瓦哲工程实验有限公司 | 通过自动生成的且物理上不同的通信路径在网络中进行流量路由 |
CN105245981A (zh) * | 2015-10-15 | 2016-01-13 | 上海斐讯数据通信技术有限公司 | 软件定义吉比特无源光网络流表控制协议封装方法及装置 |
CN105357117A (zh) * | 2015-10-21 | 2016-02-24 | 上海斐讯数据通信技术有限公司 | 一种流表下发方法、系统、sdn控制器及sdn交换机 |
CN105357117B (zh) * | 2015-10-21 | 2019-12-13 | 上海斐讯数据通信技术有限公司 | 一种流表下发方法、系统、sdn控制器及sdn交换机 |
CN105227378B (zh) * | 2015-10-28 | 2019-04-02 | 陈鸣 | 综合管理WiFi网络和有线网络的软件定义系统以及方法 |
CN105471633A (zh) * | 2015-11-18 | 2016-04-06 | 武汉烽火网络有限责任公司 | 一种应用于sdn的图形化编程方法 |
CN105471633B (zh) * | 2015-11-18 | 2019-04-26 | 武汉烽火网络有限责任公司 | 一种应用于sdn的图形化编程方法 |
CN105553710A (zh) * | 2015-12-14 | 2016-05-04 | 北京信息科技大学 | 在软件定义网络中的交换机中控制QoS的设备和方法 |
CN106888176B (zh) * | 2015-12-15 | 2019-11-29 | 瑞昱半导体股份有限公司 | 网路装置及其控制方法 |
CN106888176A (zh) * | 2015-12-15 | 2017-06-23 | 瑞昱半导体股份有限公司 | 网路装置及其控制方法 |
CN105959154A (zh) * | 2016-06-22 | 2016-09-21 | 中国科学技术大学 | 一种基于编程工具的协议无关网络的转发管理方法 |
CN105959154B (zh) * | 2016-06-22 | 2019-04-05 | 中国科学技术大学 | 一种基于编程工具的协议无关网络的转发管理方法 |
CN107547440A (zh) * | 2016-06-28 | 2018-01-05 | 上海宽带技术及应用工程研究中心 | 一种sdn控制器消息队列管理方法及系统 |
CN107547440B (zh) * | 2016-06-28 | 2020-12-08 | 上海宽带技术及应用工程研究中心 | 一种sdn控制器消息队列管理方法及系统 |
CN106230512A (zh) * | 2016-07-21 | 2016-12-14 | 国网信息通信产业集团有限公司 | 一种电力泛在光接入组网系统 |
CN106254271B (zh) * | 2016-08-08 | 2019-07-19 | 北京邮电大学 | 一种用于软件定义网络的可编程队列配置方法及装置 |
CN106254271A (zh) * | 2016-08-08 | 2016-12-21 | 北京邮电大学 | 一种用于软件定义网络的可编程队列配置方法及装置 |
CN106533943A (zh) * | 2016-12-06 | 2017-03-22 | 中国电子科技集团公司第三十二研究所 | 基于网络交换芯片的微码和流表的实现方法 |
CN107332707B (zh) * | 2017-07-25 | 2019-06-14 | 北京邮电大学 | 一种sdn网络测量数据的采集方法和装置 |
CN107332707A (zh) * | 2017-07-25 | 2017-11-07 | 北京邮电大学 | 一种sdn网络测量数据的采集方法和装置 |
CN107645450A (zh) * | 2017-10-11 | 2018-01-30 | 中国科学技术大学 | 基于协议无感知转发技术的流表虚拟化装置及方法 |
CN107645450B (zh) * | 2017-10-11 | 2019-10-25 | 中国科学技术大学 | 基于协议无感知转发技术的流表虚拟化装置及方法 |
CN109495295A (zh) * | 2018-10-31 | 2019-03-19 | 电子科技大学 | 一种接入智能管控方法 |
CN109831389A (zh) * | 2019-03-14 | 2019-05-31 | 山东浪潮云信息技术有限公司 | 一种基于OpenFlow流量统计的负载均衡调度方法 |
CN110247908A (zh) * | 2019-06-11 | 2019-09-17 | 优刻得科技股份有限公司 | 基于可编程网络交换技术的数据发送的方法、装置和系统 |
CN114374648A (zh) * | 2020-10-14 | 2022-04-19 | 芯启源(南京)半导体科技有限公司 | 一种np芯片结合tcam实现智能网卡的方法 |
CN114374648B (zh) * | 2020-10-14 | 2024-03-19 | 芯启源(南京)半导体科技有限公司 | 一种np芯片结合tcam实现智能网卡的方法 |
CN113076137A (zh) * | 2021-03-11 | 2021-07-06 | 中国电子科技集团公司第五十四研究所 | 一种基于指令集的可编程流处理装置及方法 |
CN113132156A (zh) * | 2021-03-31 | 2021-07-16 | 中国人民解放军战略支援部队信息工程大学 | 存储-计算-传输一体化的网络功能基础平台结构及方法 |
CN113132156B (zh) * | 2021-03-31 | 2022-08-12 | 中国人民解放军战略支援部队信息工程大学 | 存储-计算-传输一体化的网络功能基础平台结构及方法 |
CN113114494A (zh) * | 2021-04-02 | 2021-07-13 | 新疆大学 | 一种基于sdn的物联网异构网络通信设备及数据传递算法 |
CN113114494B (zh) * | 2021-04-02 | 2024-03-01 | 新疆大学 | 一种sdn的物联网异构网络通信设备及数据传递方法 |
CN113660120B (zh) * | 2021-08-13 | 2022-07-29 | 大连海事大学 | 一种数据平面动作可编程的软件定义网络系统 |
CN113660120A (zh) * | 2021-08-13 | 2021-11-16 | 大连海事大学 | 一种数据平面动作可编程的软件定义网络系统 |
WO2023138215A1 (zh) * | 2022-01-18 | 2023-07-27 | 清华大学 | 可编程数据平面在运行时的更新方法及装置 |
CN116974580A (zh) * | 2023-09-25 | 2023-10-31 | 之江实验室 | 多模态网络编译方法、系统和存储介质 |
CN116974580B (zh) * | 2023-09-25 | 2024-01-09 | 之江实验室 | 多模态网络编译方法、系统和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103347013B (zh) | 2016-02-10 |
WO2014202030A1 (zh) | 2014-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103347013B (zh) | 一种增强可编程能力的OpenFlow网络系统和方法 | |
CN104618244B (zh) | 一种sdn网络与传统ip网络互通的方法及系统 | |
US20160301603A1 (en) | Integrated routing method based on software-defined network and system thereof | |
US20160020946A1 (en) | Software defined networking for edge nodes | |
CN107204867A (zh) | 一种信息传输方法、装置和系统 | |
CN111565113B (zh) | 用于sdn控制器的灵活以太网网络拓扑抽象方法及系统 | |
CN110506411A (zh) | 基于逻辑端口标识符管理虚拟交换机中的网络流量 | |
WO2016107122A1 (zh) | RapidIO报文和以太网报文之间的转换方法和设备 | |
CN103391296A (zh) | 一种控制器、转发器及通道建立方法和系统 | |
CN104702479A (zh) | Sdn网络中建立隧道的方法和装置 | |
CN105812294A (zh) | 开流交换器、包交换方法、sdn控制器及数据流控制方法 | |
CN104243299A (zh) | 一种隧道处理方法及系统、控制面设备、转发面设备 | |
CN108289061B (zh) | 基于sdn的业务链拓扑系统 | |
CN105429882A (zh) | 基于传统交换芯片查找方式的报文编辑实现方法及装置 | |
CN107171852A (zh) | 基于OpenFlow的二层业务配置系统及其方法 | |
CN104092684A (zh) | 一种OpenFlow协议支持VPN的方法及设备 | |
KR20160122226A (ko) | 통신 시스템, 제어 장치, 통신 제어 방법 및 프로그램 | |
CN105516025A (zh) | 端到端的路径控制和数据传输方法、OpenFlow控制器和交换机 | |
CN101370009B (zh) | 基于Linux内核网络子系统的虚拟网络块框架的构建方法 | |
CN105790988A (zh) | 操作维护管理功能的实现方法及装置 | |
WO2018014742A1 (zh) | 一种接口扩展设备的端口配置方法及装置 | |
WO2021189821A1 (zh) | 一种网络分片控制方法及网络分片系统 | |
CN105516116A (zh) | 一种基于ForCES控制件控制OpenFlow交换机的系统及协议转换方法 | |
CN103905285A (zh) | 一种实现同一mac地址用户划分到多个不同vlan的方法 | |
CN104320322B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160210 Termination date: 20210621 |
|
CF01 | Termination of patent right due to non-payment of annual fee |