CN107210966A - 在软件定义组网(sdn)系统中使用l4‑l7报头转发没有重组的分组片段 - Google Patents

在软件定义组网(sdn)系统中使用l4‑l7报头转发没有重组的分组片段 Download PDF

Info

Publication number
CN107210966A
CN107210966A CN201580056312.7A CN201580056312A CN107210966A CN 107210966 A CN107210966 A CN 107210966A CN 201580056312 A CN201580056312 A CN 201580056312A CN 107210966 A CN107210966 A CN 107210966A
Authority
CN
China
Prior art keywords
fragment
packet
initial
entry
grouped
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
Application number
CN201580056312.7A
Other languages
English (en)
Inventor
B.金尼
M.赫拉迪
B.赫尔马耶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN107210966A publication Critical patent/CN107210966A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

公开了软件定义组网(SDN)系统的网络元件转发没有重组的IP分组片段。网络元件接收IP分组片段,并且确定该片段是否为原始IP分组的第一片段。如果该片段是第一片段,则检索在第一片段中的与开放系统互连(OSI)第4‑7层关联的字段,并且将其放置在片段信息表中的条目中,以便条目与原始IP分组关联。如果接收到的片段不是第一片段,则要识别在片段信息表中的匹配条目,并且检索关联的OSI第4‑7层信息以便处理该非第一片段。

Description

在软件定义组网(SDN)系统中使用L4-L7报头转发没有重组的 分组片段
技术领域
本发明的实施例涉及软件定义组网(SDN)应用领域,并且更具体地说,涉及在SDN系统中交换IP分组片段。
背景技术
软件定义组网(SDN)系统的固有特性是控制和数据平面实体的物理分离。在此模型中,在网络控制器顶部上运行的应用(或网络服务)管理全网络的策略,并且指令网络控制器在网络元件中主动或反应性(reactively)安装转发实体。所有网络元件中转发实体的集合形成网络的转发状态。网络控制器充当控制和管理这些可编程网络元件并且提供程序接口到更高级网络管理和控制应用的网络操作系统。
例如服务链解决方案等SDN应用基于针对由SDN应用定义的流条目匹配分配报头信息来转发分组。OpenFlow 1.3规范(通用SDN网络配置协议),支持来自第2层、第3层和第4层(也称为L2-L4或第2-4层)的开放系统互连(OSI)报头的大多数字段的匹配。
在识别到链路(分组需要在其上传送)的最大传送单元(MTU)小于分组大小时,网络元件可将IP分组分段。通常,仅数据报(数据报经常称为“原始”分组)的第一片段携带所有报头信息,包括L4-L7报头,其中剩余片段仅包括L2和IP (L3)报头。由于不是所有片段携带此信息,因此,诸如TCP端口号等取决于L4-L7报头信息的任何转发或服务机制将未能处理或不正确处理分段的分组。因此,IP分组片段造成了SDN应用的问题。
OpenFlow描述用于处理片段的过程,但这些解决方案不是理想的,并且在许多情况下,甚至不是用于现实网络设计的有效解决方案。一个方案是在处理任何一个片段前重组整个IP分组。那要求在处理第一片段前等待所有片段到达。这可降级网络元件的性能,并且引入分组延时。另一方案是使用OpenFlow 1.3的非重组选项。然而,非重组选项可引起第一片段和非第一片段被给予不同的转发行为,可能导致业务丢失。
发明内容
公开了转发没有重组的因特网协议(IP)分组片段的软件定义组网(SDN)系统的网络元件。由一个或更多个网络装置实现的网络元件接收分组,并且确定分组是否包含原始IP分组的片段,其中原始IP分组可被分段成至少两个有序片段,其中仅第一片段包含与开放系统互连(OSI)第4-7层关联的一个或更多个字段。在确定分组包含原始IP分组的片段时,网络元件确定分组是否包含原始IP分组的第一片段。在确定分组包含原始IP分组的第一片段时,网络元件将条目添加到SDN系统的片段信息表。片段信息表条目与原始IP分组关联,并且包括在与OSI第4-7层关联的一个或更多个字段中在第一片段中包含的数据。条目由网络元件用于处理原始IP分组的非第一片段。在接收原始IP分组的所有片段前,网络元件基于在与OSI第4-7层关联的一个或更多个字段中包含的数据,处理原始IP分组的第一片段。
公开了用于在SDN系统中处理分组的设备。设备包括处理器和存储分组处理软件的非暂时性机器可读存储媒体,软件在由处理器执行时,使处理器转发没有重组的IP分组片段。处理器接收分组,并且确定分组是否包含原始IP分组的片段。原始IP分组可被分段成至少两个有序片段,其中仅第一片段包含与OSI第4-7层关联的一个或更多个字段。在确定分组包含原始IP分组的片段时,处理器确定分组是否包含原始IP分组的第一片段。在确定分组包含原始IP分组的第一片段时,处理器将条目添加到片段信息表中。片段信息表条目与原始IP分组关联,并且包括在与OSI第4-7层关联的一个或更多个字段中在第一片段中包含的数据,并且用于处理原始IP分组的非第一片段。在确定分组不是原始IP分组的第一片段(即,非第一片段)时,处理器在片段信息表中搜索与原始IP分组关联的匹配条目,并且检索在与匹配条目的OSI第4-7层关联的一个或更多个字段中的在第一片段中包含的数据。
处理器随后基于在从片段信息表的匹配条目中检索的数据和基于在识别的转发表条目中的属性,识别转发表中的条目。处理器执行在识别的转发表条目中指定的一个或更多个动作。
公开了存储用于在网络元件中处理分组的指令的非暂时性机器可读存储介质。非暂时性机器可读存储介质在由处理器执行时,使处理器执行在SDN系统的网络装置中实现的操作。处理器接收分组,并且确定分组是否包含原始IP分组的片段,其中原始IP分组可被分段成至少两个有序片段,其中仅第一片段包含与OSI第4-7层关联的一个或更多个字段。在确定分组包含原始IP分组的片段时,处理器确定分组是否包含原始IP分组的第一片段。在确定分组包含原始IP分组的第一片段时,处理器将条目添加到片段信息表。片段信息表条目与原始IP分组关联,并且包括在与OSI第4-7层关联的一个或更多个字段中包含的数据。条目由处理器用于处理原始IP分组的非第一片段。在接收原始IP分组的所有片段前,处理器基于在与OSI第 4-7层关联的一个或更多个字段中包含的数据,处理原始IP分组的第一片段。
本发明的实施例使网络元件能够正确地转发原始IP分组的片段,其中仅原始IP分组的第一片段包含与OSI第4-7层关联的一个或更多个字段。
附图说明
通过参照下面的描述和用于示出本发明实施例的附图,可最好地理解本发明。在图中:
图1是示出根据本发明的实施例的实现转发分组片段的方法的网络的框图。
图2是示出根据本发明的实施例的在片段信息表中的条目的框图。
图3是示出根据本发明的实施例的在转发表143中的条目的框图。
图4是示出根据本发明的一个实施例的用于在SDN系统中的网络元件处理IP分组片段的方法的流程图。
图5是示出根据本发明的一个实施例的用于在SDN系统中的网络元件处理IP分组片段的另一方法的流程图。
图6是示出根据本发明的实施例的用于使用在第一IP片段中的IP分组报头信息处理随后IP分组片段的方法的流程图。
图7是示出根据本发明的实施例的分成片段的IP分组的图形。
图8A示出根据本发明的一些实施例的在示范网络内的网络装置(ND)之间的连接性及ND的三个示范实现。
图8B示出根据本发明的一些实施例的实现专用网络装置802的示范方式。
图8C示出根据本发明的一些实施例的各种示范方式(在其中VNE可被耦合)。
图8D示出根据本发明的一些实施例的在图8A的每个ND上带有单个网络元件的网络和用于保持可达性和转发信息(也称为网络控制)的集中方案。
图8E示出根据本发明的一些实施例的每个ND 800A-H实现单个NE 870A-H(参见图8D)的简单情况,但集中控制平面876已提取不同ND中的多个NE(NE 870A-C和G-H)到(以表示)图8D的一个或更多个虚拟网络892之一中的单个NE 870I。
图8F示出根据本发明的一些实施例的情况,其中多个VNE(VNE 870A.1和VNE870H.1)在不同ND(ND 800A和ND 800H)上实现并且相互耦合,并且其中集中控制平面876已提取这些多个VNE,使得它们在图8D的虚拟网络892之一内显得像单个VNE 870T。
具体实施方式
以下描述描述了用于使用与开放系统互连(OSI)第4-7层报头信息关联的IP分组的信息字段转发没有重组的IP分组片段的方法和设备。在实施例中,IP分组的字段可以是报头字段。
在下面的描述中,陈述了许多特定的细节(如系统组件的类型和相互关系,资源分区/共享/重复实现,逻辑实现、及逻辑分区/集成选择)以便提供本发明更详尽的理解。然而,本领域的技术人员将意识到,可无需此类特定细节而实践本发明。其它实例中,控制结构、门级电路和全软件指令序列未详细示出以免模糊本发明。通过包括的描述,本领域技术人员将能够在不进行过度实验的情况下实现适当的功能性。
说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用指示所描述的实施例可包括特定特征、结构或特性,但每个实施例可不一定包括特定特征、结构或特性。另外,此类短语不一定指同一实施例。此外,在结合实施例描述特定特征、结构或特性时,认为结合无论是否明确描述的其它实施例影响此类特征、结构或特性是在本领域技术人员的认知之内。
在下面的描述和权利要求中,可使用术语“耦合”和“连接”连同其衍生词。应理解,这些术语无意做为彼此的同义词。“耦合”用于指示可以或可以不相互直接物理或电接触的两个或更多个元件相互协作或交互。“连接”用于指示在相互耦合的两个或更多个元件之间通信的建立。
电子装置使用机器可读媒体(也称为计算机可读媒体)存储和传送(在内部和/或通过网络与其它电子装置)代码(由软件指令组成,并且有时称为计算机程序代码或计算机程序)和/或数据,机器可读媒体理如为机器可读存储媒体(例如,磁盘、光盘、只读存储器(ROM)、闪速存储器装置、相变存储器)和机器可读传送媒体(也称为载体)(例如,电、光、无线电、声或其它形式传播信号 - 如载波、红外信号)。因此,电子装置(例如,计算机)包括硬件和软件,如一个或更多个处理器集,其耦合到一个或更多个机器可读存储媒体以存储代码以便在处理器集上执行和/或存储数据。例如,电子装置可包括包含代码的非易失性存储器,因为即使在电子装置关闭时(在电源消除时),非易失性存储器能够存留代码/数据,并且在电子装置开启时,要由该电子装置的一个或更多个处理器执行的该部分代码通常从该电子装置的更慢非易失性存储器复制到易失性存储器(例如,动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM))。典型的电子装置也包括与其它电子装置建立网络连接(以使用传播信号来传送和/或接收代码和/或数据)的一个或更多个物理网络接口或其集合。本发明的实施例的一个或更多个部分可使用软件、固件和/或硬件的不同组合来实现。
利用本发明的实施例的网络环境
图1是示出根据本发明的实施例的实现转发分组片段的方法的网络的框图。网络100包含网络元件(NE)集合,并且由与应用集合对接的网络控制器管理。
网络元件执行在一个或更多个网络装置上实现的分组转发。如果原始IP分组在到达网络元件前被分段,则在网络元件接收到的分组可只包括原始IP分组的片段。网络元件单独转发业务流的每个传入分组而不在网络元件中将片段重组成完整的IP分组。网络100示出包含来自源终端站(ES) 102,并且输送到目的地终端站154以及通过NE 122、124和126转发的IP分组的业务流。注意,取决于实现,IP分组可以是IPv4或IPv6分组。
终端站可以是用户装置或服务器终端站。用户装置(有时称为终端用户装置或订户装置)可包括工作站、膝上型计算机、上网本、平板、掌上型计算机、移动电话、智能电话、多媒体电话、因特网协议上的语音(VOIP)电话、终端、便携式媒体播放器、GPS单元、可佩戴装置、游戏系统、机顶盒、游戏系统、因特网使能的家用电器。服务器终端站可包括提供内容和/或服务,参与对等服务的装置,并且例如可包括公共网页(例如,免费内容、店面、搜索服务)、私人网页(例如,提供电子邮件服务的用户名/密码访问网页)和/或通过VPN的企业网络。
每个网络元件可与管理网络元件122-126的网络管理器120进行通信。本文中下面讨论了与图8A-F有关,在应用、网络控制器和网络元件之间交互的细节。图中示出根据本发明的一个实施例的NE 124的功能框。参照图1,网络控制器120提供信息到NE 124,其将信息放置在驻留在网络元件内并且由其保持的转发表143中的条目中。在实施例中,控制器可基于从应用142和144接收到的应用特定要求的全局网络知识,确定要在转发表条目中放置的信息。在网络控制器120与网络元件124之间的交互一般是在协调网络元件124的分组转发的控制路径上,并且它们通过虚线表示。在网络元件124内的交互一般是在直接对接收到的分组操作的数据路径上,并且它们通过实线表示。
分组160由网络元件接收,并且在分组处理模块130中处理。分组160指在网络元件作为单个数据包中的单元接收到的数据,并且可包含具有如从源ES 102发送的标识信息的完整原始IP分组,或者分组160可只包含来自源ES 102的原始IP分组的片段。在处理结束时,分组160被转发到终端站、另一网络元件、网络控制器120或被丢弃。
分组处理模块130的组件形成管道。在一个实施例中,分组处理模块130包含四个组件:分组接收器131、分组报头数据存储/检索132、转发表条目匹配134及转发表条目动作执行136。四个组件每个执行不同的功能,但在一些实施例中,它们可在一个或更多个集成实体中实现。
分组接收器131接收诸如IP分组的传入分组。分组接收器131确定传入分组160是否包含原始IP分组还是其片段。原始IP分组是由源ES 102发送并且尚未分段的分组。如果分组是完整(即,未分段的)的原始IP分组,则网络元件将完整的IP分组转发到转发表条目匹配134。然而,如果分组160只是原始IP分组的片段,则可在分组报头数据存储/检索132中执行另外的处理。在实施例中,分组接收器131也可接收来自包含延迟的分组集合的分组缓冲器133的分组。延迟的分组是先前接收的但尚未完全处理的分组。也就是说,如下面更全面描述的一样,其处理已被延迟。在备选实施例中,可检索延迟的分组以便在分组报头数据存储/检索132中处理。
分组报头数据存储/检索132确定原始IP分组的片段是原始IP分组的第一片段还是非第一片段。如果在分组160中包含的片段是第一片段,则从片段中提取/检索第一片段的字段中的数据,如OSI模型的L4-L7报头信息。此数据可只在原始IP分组的第一片段中存在。随后的片段可不包含此数据。检索的数据可放置在片段信息表138的条目中,从中能够检索它以便处理包含非第一片段的随后分组。
图2是示出根据本发明的实施例的在片段信息表中的条目的框图。片段信息表138包括用于由网络元件接收到的原始IP分组的每个不同片段的条目210。每个条目210包括用于与传入片段中的数据进行比较以选择此条目作为匹配条目的关键字信息220。在一个实施例中,关键字220包括诸如原始IP分组标识241的信息和诸如源IP地址242(即,源ES 102的IP地址)、目的地IP地址243(即,目的地ES 154的IP地址)的流标识信息和/或协议类型244(例如,TCP,UDP)。在一个实施例中,关键字220包括原始IP分组标识241、源IP地址242、目的地IP地址243及协议类型244全部。虽然关键字220只包括L3字段,但在一些实施例中,关键字可包括诸如MAC地址和VLAN ID的L2字段或L2/L3字段的组合。片段信息表条目210也可包括由OSI第4至7层用于在一个或更多个上层中处理的信息230。例如,片段信息表条目210包括一个或更多个端口号245,其可包括源端口和/或目的地端口,并且其可被利用于传送分组。在片段信息表138中的条目中包含的数据也可用于确定如何处理第一片段(从其中检索的数据)。注意,片段信息表138的条目可周期性地更新。例如,条目如果在某个时间期内未使用,则可被删除。
如果传入分组是除了第一片段外的任何片段(本文中称为非第一片段),则非第一片段可不包含与OSI第4-7层关联的字段。在该情况下,在非第一片段的L2和/或L3字段中的信息(例如,报头信息)可用于找到在片段信息表138中存储的对应OSI第4-7层报头信息的匹配条目。在本发明的实施例中,通过匹配非第一片段中的目的地IP地址和可选地匹配识别流的源IP地址,以及匹配非第一片段中识别原始IP分组(被从其中片段被分段)的分组标识号,可识别片段信息表138中的对应条目。在流和分组标识信息匹配片段信息表138中条目中的关键字信息220时,检索条目210中的OSI L4-L7报头信息230。分组处理在转发表条目匹配134中继续,在其中分组
原始IP分组的分组片段可无序到达,并且具体而言,非第一片段可在第一片段之前被接收到。在原始IP分组的第一片段前接收到非第一片段时,在片段信息表138中可能尚未存在与非第一片段的原始IP分组关联的匹配条目。在等待接收第一片段的同时,可延迟非第一片段的处理。
分组缓冲器133是用于延迟的分组片段的保留区域。在片段信息表138中有关联条目前,可延迟片段。分组缓冲器可与计时器关联,在超过计时器的延迟阈值情况下,分组片段被丢弃。在实施例中,延迟阈值可以是最大经过时间(elapsed time)量(在其期间可延迟片段)。延迟阈值可配置成时间量(在其期间预期将添加关联的片段信息表条目)。在实施例中,计时器可跟踪每个片段等待被处理的时间量,并且计时器可周期性地与延迟阈值进行比较以确定延迟时间是否超过配置的延迟阈值。在实施例中,可将计时器初始化成倒数到零的延迟阈值的值,并且在计时器截止时发送通知。在备选实施例中,延迟阈值可以是找到所需片段信息表条目的尝试的最大次数。延迟阈值可配置成是可为了匹配条目搜索片段信息表的最大次数。每次为了用于处理特定延迟的片段所需的条目而搜索表时,可递增计数器值。在实施例中,在计数器值超过尝试的配置的最大次数时,延迟阈值被超过。
在超过延迟阈值前所需表条目变得可用时,可重新处理(即,继续处理)已延迟且在等待该条目的片段。
如果分组160是原始IP分组或其第一片段,则转发表条目匹配134可只使用来自分组160的数据来匹配转发表143中的条目。但如果分组是非第一片段,则转发表条目匹配134另外使用从片段信息表138检索的OSI L4-L7信息230来匹配转发表143中的条目。
图3是示出根据本发明的实施例的在转发表143中的条目的框图。转发表143中的每个条目包括匹配属性集合和动作集合。条目310-314分别包括匹配属性320-324和动作330-334。在OSI L4-L7数据匹配表条目的匹配属性320字段中的数据时,选择转发表条目310。在选择转发表条目时,动作数据用于确定如何处理分组160。在实施例中,动作数据可引导网络元件将分组转发到朝向目的地IP地址的静态配置的下一网络元件。例如,转发表条目310可指示在分组包含目的地ES 154的目的地地址时,分组将被转发到已知更靠近目的地ES 154的网络元件126。在转发表条目中可指定的其它动作包括:将分组发送到网络控制器120以便进行另外的处理(条目314),放弃/丢弃分组或者在多个传出接口上复制分组。如果无转发表条目具有匹配分组160中数据的匹配属性320,则可采取默认动作,如丢弃分组。在找到匹配转发表条目时,处理在转发表条目动作执行136中继续。
转发表条目动作执行136执行在转发表条目中指定的动作。例如,如果动作要将分组发送到控制器,则转发表条目动作执行136将发送分组到网络控制器120。网络控制器可确定要将分组转发到的下一网络元件或在决定要求高成本计算或在网络元件中不可用的网络的全局知识时的其它动作。例如,下一网络元件(分组应向其转发)可由网络控制器120基于全局网络信息动态确定(例如,通过考虑当前网络业务而执行负载平衡)。网络控制器120可通过有关转发分组到何处的指令,将分组返回到网络元件。转发表条目动作执行136也可基于对网络元件已知的实时环境,确定动态转发地址。例如,网络元件可知晓哪些网络接口可用于转发业务,并且实时选择可用接口。如果动作要将分组发送到下一网络元件,则转发表条目动作执行136将发送分组到指定的网络元件。也可在网络元件丢弃分组。
过程流
图4-6是示出处理分组片段的方法的流程图。虽然图中的流程图示出本发明的某些实施例执行的操作的特定顺序,但应理解,此类顺序是示范的(例如,备选实施例可以以不同的顺序执行操作,组合某些操作,重叠某些操作等)。此外,将参照诸如图1和8的其它图形的示范实施例,描述流程图的操作。然而,应理解的是,流程图的操作能够通过与参照这些其它图形所讨论的那些实施例不同的本发明的实施例执行,并且参照图这些其它图形所讨论的本发明的实施例能够执行与参照流程图所述的那些实施例不同的操作。
图4是示出根据本发明的一个实施例的用于在SDN系统中的网络元件处理IP分组片段的方法的流程图。方法400可由SDN系统的网络元件执行,更具体地说,由诸如图1的分组处理模块130等网络元件的分组处理模块执行。在一个实施例中,网络元件是OpenFlow交换机。在该情况下,OpenFlow交换机的操作符合OpenFlow规范。
在标号410,网络元件接收分组。网络元件由如本文中下面讨论的一个或更多个网络装置实现。在标号420,网络元件确定分组是否包含原始因特网协议(IP)分组的片段。在识别到链路(分组需要在其上传送)的MTU小于分组大小时,将原始IP分组分段成多个有序片段。在分组片段中,仅多个有序片段的第一片段包含与开放系统互连第4-7层关联的一个或更多个字段,其中一个或更多个字段可用于转发第一片段。
在标号430,在确定分组包含原始IP分组的片段时,网络元件确定分组是否包含原始IP分组的第一片段。如果分组包含第一片段,则在标号440,网络元件将条目添加到SDN系统的片段信息表。如果片段信息表尚未设定,则网络元件先设定片段信息表,并且随后用条目填充片段信息表。该条目与原始IP分组关联,并且包括在与开放系统互连第4-7层关联的一个或更多个字段中在第一片段中包含的数据,并且该条目由网络元件用于处理原始IP分组的非第一片段。片段信息表的一个实施例在图2中示出。
返回参照图4,在标号450,在接收原始IP分组的所有片段前,网络元件基于在与开放系统互连第4-7层关联的一个或更多个字段中的在第一片段中包含的数据来处理原始IP分组的第一片段。在一个实施例中,处理包括基于在与开放系统互连第4-7层关联的一个或更多个字段中的在第一片段中包含的数据,将第一片段转发到特定网络元件。
方法400包括处理原始IP分组的第一片段的操作。在一个实施例中,方法400之后是方法500,其处理原始IP分组的非第一片段。
图5是示出根据本发明的一个实施例的用于在SDN系统中的网络元件处理IP分组片段的另一方法的流程图。方法500包括处理原始分组的非第一片段的操作。方法500可由SDN系统的网络元件执行,更具体地说,由诸如图1的分组处理模块130等网络元件的分组处理模块执行。方法500以假设片段信息表已经在网络元件设定开始。
在标号510,在确定接收到的分组包含原始IP分组的非第一片段时,网络元件为了与原始IP分组关联的匹配条目而检查片段信息表。在标号520,在未找到匹配条目时,网络元件将原始IP分组的非第一片段的处理延迟一时间期。
随后,可选地在标号530,网络元件监视用于非第一片段的延迟阈值。延迟阈值可以是设置成在预确定而没有找到匹配条目时截止的计时器,或设置成在网络元件为了匹配条目而检查片段信息表预确定的次数时重置的计数器。延迟阈值可对不同原始IP分组或原始IP分组的不同片段是不同的。在标号540,在延迟阈值超过时,网络元件丢弃分组。
在标号550,在该时间期后,网络元件继续为了用于非第一片段的匹配条目而检查片段信息表。如果未找到匹配条目,则流程可回到标号520。如果未找到匹配条目,并且延迟阈值未超过,则循环继续进行。在延迟原始IP分组的非第一片段的处理该时间期的同时,在标号560,网络元件接收包含原始分组的第一片段的随后分组。网络元件可根据方法400将条目添加到片段信息表。之后,网络元件会能够找到用于非第一片段的匹配条目。
在标号570,响应在片段信息表中找到与用于非第一片段的原始IP分组关联的匹配条目,其中匹配条目包含来自原始IP分组的第一片段的数据,网络元件基于匹配条目中的数据来处理原始IP分组的非第一片段。
图6是示出根据本发明的实施例的用于使用在第一IP片段中的IP分组报头信息处理随后IP分组片段的方法的流程图。方法600可由SDN系统的网络元件执行,更具体地说,由诸如图1的分组处理模块130等网络元件的分组处理模块执行。
在标号680,网络元件接收分段的分组,其是原始IP分组的片段。在标号610,网络元件确定接收到的片段是否为原始IP分组的第一片段。如果确定接收到的片段是第一片段,则在标号670,网络元件从第一片段的L4-L7报头中提取数据,并且提取的数据存储在为关联的原始IP分组创建的片段信息表条目内。随后,转发接收到的第一片段。
如果在标号610,网络元件确定接收到的片段不是第一片段(因此为非第一片段),则处理继续到操作620,其中网络元件确定在片段信息表中是否有匹配接收到的非第一片段的条目(即,与原始IP分组(该片段起源于其)关联的条目)。如果匹配表条目存在,则流程转到标号660,其中网络元件检索在匹配片段信息表条目中存储的数据,并且使用该数据转发接收到的非第一片段。
如果在标号620,网络元件确定不存在匹配片段信息表条目,则处理继续到标号630,其中网络元件确定延迟阈值是否已超过。在非第一片段已等待被处理太久时,延迟阈值已超过。如果用于接收到的非第一片段的延迟阈值已超过,则在标号650,网络元件丢弃该片段。在一个实施例中,除丢弃片段外,网络元件也丢弃等待被处理的相同原始IP分组的其它非第一片段。
如果在标号630,网络元件确定延迟阈值尚未超过,则在标号640,网络元件延迟该片段的处理。例如,该片段可被置于图1的分组缓冲器133中。在等待一时间期后,可在期望在等待时间期间第一片段可能已到达,并且需要的片段信息表条目已创建的情况下,通过在标号680的操作再次处理延迟的片段。
分组片段报头
图7是示出根据本发明的实施例的分成片段的IP分组的图形。分组700是完整的IP分组,如原始IP分组。分组700包含诸如TCP报头720或UDP报头(第4层)和IP报头730(第3层)等几个报头。在实施例中,IP报头可以是IPv4报头。在备选实施例中,IP报头可以是IPv6报头。用于第5-7层的报头也可与分组关联,但未在图7中明确示出。以下示例描述在图7中示出的报头中的可对SDN应用有用的数据。此数据和数据的位置提供的信息基于示例中显示的特定报头。通常,可使用任何报头的任何字段中的任何数据。在IP分组被分段时,片段1 (710)是第一片段,并且包含用于IP分组的所有报头。诸如片段2 (740)到片段n等其它段可只包含第2层(未示出)和第3层报头,如(IPv4或IPv6)。使用分段1 (710)中的TCP报头720作为示例,可检索并且存储在片段信息表中的报头中的字段可以是源端口(比特0-15)和目的地端口(比特16-31)及序列号(比特32-63)。
可在片段信息表中存储的在第4层报头中字段中的数据可包括源端口、目的地端口、序列号和/或确认号。可在片段信息表条目中存储的在第3层报头中字段中的数据可包括标识(比特32-47)、源IP地址(比特96-127)和目的地IP地址(比特128-159)。片段偏移(比特51到63)指定在原始IP分组(片段在其中开始)内的偏移,并且可用于确定在处理的片段是第一还是非第一片段。零的片段偏移指示片段是第一片段,并且任何非零偏移指示非第一片段。
实现本发明的实施例的系统和网络装置
网络装置(ND)是以通信方式将网络上的其它电子装置(例如,其它网络装置、最终用户装置)互连的电子装置。一些网络装置是“多服务网络装置”,其为多个联网功能(例如,路由选择、桥接、交换、第2层聚合、会话边界控制、服务质量和/或订户管理)提供支持和/或为多个应用服务(例如,数据、语音和视频)提供支持。
图8A示出根据本发明的一些实施例的在示范网络内的网络装置(ND)之间的连接性及ND的三个示范实现。图8A显示ND 800A-H和通过在A-B、B-C、C-D、D-E、E-F、F-G和A-G之间及在H与A、C、D和G每个之间的线路的其连接性。这些ND是物理装置,并且在这些ND之间的连接性能够是无线的或有线的(经常称为链路)。从ND 800A、E和F延伸的另外线路示出这些ND充当用于网络的入口和出口点(并且因此这些ND有时称为边缘ND;而其它ND可称为核心ND)。
在图8A中的两个示范ND实现是:1)使用定制专用集成电路(ASIC)和专有操作系统(OS)的专用网络装置802;和2)使用通用现货(COTS)处理器和标准OS的通用网络装置804。
专用网络装置802包括组网硬件810,其包括一个或更多个计算资源812(其通常包括一个或更多个处理器的集合)、一个或更多个转发资源814(其通常包括一个或更多个ASIC和/或网络处理器)和物理网络接口(NI) 816(有时称为物理端口)及非暂时性机器可读存储媒体(具有存储在其中的包括分组处理模块(PPM) 130的组网软件820)818,本文中上面公开了模块的操作。物理NI是ND中的硬件,通过它进行网络连接(例如,以无线方式通过无线网络接口控制器(WINIC)或者通过将电缆插入连接到网络接口控制器(NIC)的端口),如通过由在ND 800A-H之间的连接性显示的那些连接。在操作期间,组网软件820可由组网硬件810执行,以例示一个或更多个组网软件实例822的集合,包括分组处理模块的实例(称为分组处理实例或PPI)811A。一个或更多个组网软件实例822的每个和执行该网络软件实例的组网硬件810的该部分(无论是专用于该组网软件实例的硬件和/或该组网软件实例与一个或更多个组网软件实例822中的其它组网软件实例暂时共享的硬件的时间片)形成单独的虚拟网络元件830A-R。一个或更多个虚拟网络元件(VNE) 830A-R的每个包括控制通信和配置模块832A-R(有时称为本地控制模块或控制通信模块)、分组处理实例811A-R和一个或更多个转发表834A-R,使得给定虚拟网络元件(例如,830A)包括控制通信和配置模块(例如,832A)、分组处理实例(例如,811A-R)和一个或更多个转发表(例如,834A)的集合及执行虚拟网络元件(例如,830A)的组网硬件810的该部分。
专用网络装置802经常在物理上和/或在逻辑上被视为包括:1) ND控制平面824(有时称为控制平面),其包括执行控制通信和一个或更多个配置模块832A-R的一个或更多个计算资源812;和2) ND转发平面826(有时称为转发平面、数据平面或媒体平面),其包括利用一个或更多个转发表834A-R的一个或更多个转发资源814和物理NI 816。通过示例,在ND是路由器(或在实现路由选择功能性)的情况下,ND控制平面 824(执行一个或更多个控制通信和配置模块832A-R的一个或更多个计算资源812)通常负责参与控制如何路由数据(例如,分组)(例如,用于数据的下一跳和用于该数据的传出物理NI)和在一个或更多个转发表834A-R中存储该路由选择信息,并且ND转发平面826负责在物理NI 816上接收该数据和基于一个或更多个转发表834A-R,将该数据转发出物理NI 816的适当一些。
图8B示出根据本发明的一些实施例的实现专用网络装置802的示范方式。图8B显示包括卡838(通常可热插拔)的专用网络装置。虽然在一些实施例中,卡838具有两种类型[作为ND转发平面826操作的一个或更多个卡(有时称为线路卡)和操作以实现ND控制平面824的一个或更多个卡(有时称为控制卡)],但备选实施例可组合功能性到单个卡上和/或包括另外的卡类型(例如,一个另外类型的卡称为服务卡、资源卡或多应用卡)。服务卡能够提供专业化处理[例如,第4层到第7层服务(例如,防火墙、因特网协议安全性(IPsec)(RFC4301和4309)、安全套接层(SSL)/传输层安全性(TLS)、入侵检测系统(IDS)、对等(P2P))、IP上的语音(VoIP)会话边界控制器、移动无线网关(网关通用分组无线电服务(GPRS)支持节点(GGSN)、演进分组核心(EPC)网关)]。通过示例,服务卡可用于终接IPsec隧道,并且执行参与者验证(attendant authentication)和加密算法。这些卡通过示为背板836的一个或更多个互连机制耦合在一起(例如,耦合线路卡的第一全网状和耦合所有卡的第二全网状)。
返回图8A,通用网络装置804包括硬件840,其包括一个或更多个处理器842(经常是COTS处理器)的集合、一个或更多个网络接口控制器844(NIC;也称为网络接口卡)(其包括物理NI 846)及非暂时性机器可读存储媒体848(具有存储在其上的包括分组处理模块(PPM) 130的软件850)。在操作期间,一个或更多个处理器842执行软件850以例示管理程序854(有时称为虚拟机监视器(VMM))和由管理程序854运行的一个或更多个虚拟机862A-R,其总称为一个或更多个软件实例852。虚拟机是物理机器的软件实现,其运行程序,就好像它们在物理的非虚拟化机器上执行一样;并且与在“裸机”主机电子装置上运行相对,应用一般不知道它们在虚拟机上运行,尽管一些系统提供准虚拟化(para-virtualization),其允许操作系统或应用知晓用于优化目的的虚拟化的存在。每个虚拟机862A-R和执行该虚拟机的硬件840的该部分(无论是专用于虚拟机的硬件和/或该虚拟机与一个或更多个虚拟机862A-R的其它虚拟机暂时共享的硬件的时间片)形成单独的一个或更多个虚拟网络元件860A-R。
一个或更多个虚拟网络元件860A-R执行与一个或更多个虚拟网络元件830A-R类似的功能性。例如,管理程序854可呈现虚拟操作平台,该平台对虚拟机862A显得像组网硬件810一样,并且虚拟机862A可用于实现与一个或更多个控制通信和配置模块832A、分组处理实例811A-R和一个或更多个转发表834A-R类似的功能性(硬件840的此虚拟化有时称为网络功能虚拟化(NFV))。因此,NFV可用于合并许多网络设备类型到能够位于数据中心、ND和客户驻地设备(CPE)中的工业标准高容量服务器硬件、物理交换机和物理存储装置上。然而,本发明的不同实施例可以以不同方式实现一个或更多个虚拟机862A-R。例如,虽然本发明的实施例示出具有对应于一个VNE 860A-R的每个虚拟机862A-R,但备选实施例可在更精细级别粒度实现此对应关系(例如,线路卡虚拟机虚拟化线路卡,控制卡虚拟机虚拟化控制卡等);应理解的是,本文中参照虚拟机与VNE的对应关系描述的技术也适用于使用此类更精细级别的粒度的实施例。
在某些实施例中,管理程序854包括与物理以太网交换机提供类似转发服务的虚拟交换机。具体而言,此虚拟交换机在虚拟机与一个或更多个NIC 844之间及可选地在虚拟机862A-R之间转发业务;另外,此虚拟交换机可在根据策略不允许相互进行通信的VNE860A-R之间实行网络隔离(例如,通过执行(honoring)虚拟局域网(VLAN))。
在图8A中的第三示范ND实现是混合网络装置806,其包括在单个ND中或在ND内的单个卡中的定制ASIC/专有OS和COTS处理器/标准OS。在此类混合网络装置的某些实施例中,平台VM(即,实现专用网络装置802的功能性的VM)能够提供半虚拟化到在混合网络装置806中存在的组网硬件。
无论ND的上面示范实现如何,在考虑由ND实现的多个VNE的单个VNE(例如,仅VNE其中之一是给定虚拟网络的一部分)时,或者在仅单个VNE当前由ND实现的情况下,缩略术语网络元件(NE)有时用于指该VNE。此外,在所有上面示范实现中,每个VNE(例如,一个或更多个VNE 830A-R、VNE 860A-R和在混合网络装置806中的那些VNE)接收在物理NI(例如,816、846)上的数据,并且将该数据转发出物理NI(例如,816、846)的适当一些。例如,实现IP路由器功能性的VNE基于IP分组中的一些IP报头信息转发IP分组;其中,IP报头信息包括源IP地址、目的地IP地址、源端口、目的地端口(其中,“源端口”和“目的地端口”在本文中指协议端口,与ND的物理端口相对)、传输协议[例如,用户数据报协议(UDP)(RFC 768、2460、2675、4113和5405)]、传送控制协议(TCP)(RFC 793和1180)及差分服务(DSCP)值(RFC2474、2475、2597、2983、3086、3140、3246、3247、3260、4594、5865、3289、3290和3317)。
图8C示出根据本发明的一些实施例的各种示范方式,在其中可耦合VNE。图8C显示在ND 800A中实现的VNE 870A.1-870A.P(并且可选地为VNE 870A.Q-870A.R)和在ND 800H中的VNE 870H.1。在图8C中,VNE 870A.1-P彼此分隔,表现在它们能够接收来自外部ND800A的分组,并且将分组转发到ND 800A外;VNE 870A.1与VNE 870H.1耦合,并且因此,它们在其相应ND之间传递分组;VNE 870A.2-870A.3可以可选地在它们之间转发分组而不将它们转发到ND 800A外;并且VNE 870A.P可以可选地为在VNE链中的第一VNE,VNE链包括VNE870A.Q,其之后为VNE 870A.R(这有时称为动态服务链,其中VNE系列中的每个VNE提供不同服务 - 例如,一个或更多个第4-7层网络服务)。虽然图8C示出在VNE之间的各种示范关系,但备选实施例可支持其它关系(例如,更多/更少VNE、更多/更少动态服务链、带有一些通用VNE和一些不同VNE的多个不同动态服务链)。
图8A的ND例如可形成因特网或专用网络的一部分;并且其它电子装置(未显示;如终端用户装置,包括工作站、膝上型计算机、上网本、平板、掌上型计算机、移动电话、智能电话、多媒体电话、因特网协议上的语音(VOIP)电话、终端、便携式媒体播放器、GPS单元、可佩戴装置、游戏系统、机顶盒、游戏系统、因特网使能家用电器)可耦合到网络(直接或通过诸如接入网等其它网络),以通过网络[例如,因特网或在因特网上覆盖(例如,遂穿通过)的虚拟专用网(VPN)](直接或通过服务器)相互进行通信,和/或访问内容和/或服务。此类内容和/或服务通常由属于参与对等(P2P)服务的一个或更多个终端用户站(未显示)或服务/内容提供商提供,并且可例如包括公共网页(例如,免费内容、店面、搜索服务)、私人网页(例如,提供电子邮件服务的用户名/密码访问网页)和/或通过VPN的企业网络。例如,终端用户装置可耦合[例如,通过耦合到接入网(以有线或无线方式)的客户驻地设备]到边缘ND,边缘ND耦合(例如通过一个或更多个核心ND)到其它边缘ND,其它边缘ND耦合到充当服务器的电子装置。然而,通过计算和存储虚拟化,作为图8A中ND操作的一个或更多个电子装置也可托管一个或更多个此类服务器(例如,在通用网络装置804的情况下,一个或更多个虚拟机862A-R可作为服务器操作;相同内容会对混合网络装置806是成立的;在专用网络装置802的情况下,一个或更多个此类服务器也能够在由一个或更多个计算资源812执行的管理程序上运行);在此情况下,服务器可说成是与该ND的VNE位于一起。
虚拟网络是提供网络服务(例如,L2和/或L3服务)的物理网络的逻辑抽象(如在图8A中的物理网络)。虚拟网络能够实现为覆盖网络(有时称为网络虚拟化覆盖),其通过底层网络[例如,L3网络,如使用隧道(例如,常规路由选择封装(GRE)、第2层隧穿协议(L2TP)、IPSec)形成覆盖网络的因特网协议(IP)网络]提供网络服务[例如,第2层(L2,数据链路层)和/或第3层(L3,网络层)服务]。
网络虚拟化边缘(NVE)位于底层网络的边缘,并且参与实现网络虚拟化;NVE的面向网络侧使用底层网络向和从其它NVE隧穿帧;NVE的向外侧向在网络外的系统发送数据和从在网络外的系统接收数据。虚拟网络实例(VNI)是在NVE上虚拟网络的特定实例(例如,在ND上的NE/VNE、在ND上的NE/VNE的一部分,其中该NE/VNE通过仿真被分割成多个VNE);一个或更多个VNI能够在NVE上例示(例如,作为在ND上的不同VNE)。虚拟接入点(VAP)是在NVE上用于连接外部系统到虚拟网络的逻辑连接点;VAP能够是通过逻辑接口标识符(例如,VLANID)识别的物理或虚拟端口。
网络服务的示例包括:1)以太网LAN仿真服务(类似于因特网工程任务组(IETF)多协议标签交换(MPLS)或以太网VPN (EVPN)服务的基于以太网的多点服务),其中外部系统通过底层网络跨网络由LAN环境互连[例如,NVE为不同的此类虚拟网络提供单独的L2 VNI(虚拟交换实例)和跨底层网络的L3(例如,IP/MPLS)隧穿封装];和2)虚拟化IP转发服务[从服务定义角度而言,类似于IETF IP VPN(例如,边界网关协议(BGP)/MPLS IPVPN RFC4364)],其中外部系统通过底层网络跨网络由L3环境互连[例如,NVE为不同的此类虚拟网络提供单独的L3 VNI(转发和路由选择实例)和跨底层网络的L3(例如,IP/MPLS)隧穿封装]。网络服务也可包括服务质量能力(例如,业务分类标记,业务调节和调度)、安全性能力(例如,保护客户驻地以防止网络起源的攻击,避免畸形路由通知的滤波器)和管理能力(例如,完全检测和处理)。
图8D示出根据本发明的一些实施例的在图8A的每个ND上的带有单个网络元件的网络和用于保持可达性和转发信息(也称为网络控制)的集中方案。具体而言,图8D示出带有与图8A的ND 800A-H相同连接性的网络元件(NE) 870A-H。
图8D示出使做出有关业务从将业务转发到选择的目的地的底层系统发送到何处的判定的系统去耦的集中方案874(也称为软件定义组网(SDN))。示出的集中方案874具有在集中控制平面876(有时称为SDN控制模块、控制器、网络控制器、OpenFlow控制器、SDN控制器、控制平面节点、网络虚拟化机构或管理控制实体)中生成可达性和转发信息的责任,并且因此邻居发现和拓扑发现的过程被集中。集中控制平面876具有南向接口882,其带有包括NE 870A-H(有时称为交换机、转发元件、数据平面元件或节点)的数据平面880 [有时称为基础设施层、网络转发平面或转发平面(其不应与ND转发平面混淆)]。集中控制平面876包括网络控制器878,其包括确定网络内的可达性并且通过南向接口882(可使用OpenFlow协议)将转发信息分布到数据平面880的NE 870A-H的集中可达性和转发信息模块879。
网络智能集中在通常与ND分离的电子装置上执行的集中控制平面876中。例如,在专用网络装置802在数据平面880中使用的情况下,ND控制平面824的一个或更多个控制通信和配置模块832A-R中的每个通常包括提供南向接口882的VNE侧的控制代理。在此情况下,ND控制平面824(执行一个或更多个控制通信和配置模块832A-R的一个或更多个计算资源812)执行其责任以便参与控制如何通过与集中控制平面876进行通信的控制代理路由数据(例如,分组)(例如,用于数据的下一跳和用于该数据的传出物理NI),以接收来自集中可达性和转发信息模块879的转发信息(和在一些情况下的可达性信息)(应理解的是,在本发明的一些实施例中,除与集中控制平面876进行通信外,一个或更多个控制通信和配置模块832A-R也可在确定可达性和/或计算转发信息中起到一定的作用 - 尽管比在分布式方案的情况下更少;此类实施例一般被视为落在集中方案874下,但也可被视为混合方案)。
虽然上面示例使用专用网络装置802,但相同的集中方案874能够通过通用网络装置804 [例如,每个VNE 860A-R执行其责任以便通过与集中控制平面876进行通信,以接收来自集中可达性和转发信息模块879的转发信息(和在一些情况下的可达性信息)而控制如何路由数据(例如,分组)(例如,用于数据的下一跳和用于该数据的传出物理NI);应理解的是,在本发明的一些实施例中,除与集中控制平面876进行通信外,VNE 860A-R也可在确定可达性和/或计算转发信息中起到一定的作用 - 尽管比在分布式方案的情况下更少]和混合网络装置806来实现。实际上,SDN技术的使用能够增强通常在通用网络装置804或混合网络装置806实现中使用的NFV技术,因为NFV能够通过提供基础设施(SDN软件能够在其上运行)来支持SDN,并且NFV和SDN均旨在利用普通(commodity)服务器硬件和物理交换机。
图8D也显示集中控制平面876具有到应用层886(其中驻留有一个或更多个应用888)的北向接口884,应用888包括图1的应用142-144。集中控制平面876具有形成用于一个或更多个应用888的虚拟网络892 [有时称为逻辑转发平面、网络服务或覆盖网络(其中数据平面880的NE 870A-H是底层网络)]的能力。因此,集中控制平面876保持所有ND和配置的NE/VNE的全局视图,并且它有效地映射虚拟网络到底层ND [包括在物理网络通过硬件(ND,链路或ND组件)故障、添加或移除而更改时保持这些映射]。
虽然图8D示出每个ND 800A-H实现单个NE 870A-H的简单情况,但应理解的是,参照图8D描述的网络控制方案也对网络起作用,在所述网络中一个或更多个ND 800A-H实现多个VNE(例如,VNE 830A-R、VNE 860A-R、在混合网络装置806中的那些VNE)。备选地或另外,网络控制器878也可在单个ND中仿真多个VNE的实现。具体而言,网络控制器878可将在单个ND中VNE/NE的实现呈现为在虚拟网络892中的多个VNE(全部在一个或更多个虚拟网络892的相同的一个中,每个在一个或更多个虚拟网络892的不同一些中或某一组合)而不是在单个ND中实现多个VNE(或除此之外)。例如,网络控制器878可使ND在底层网络中实现单个VNE (NE),并且随后在逻辑上在集中控制平面876内划分该NE的资源,以在一个或更多个虚拟网络892中呈现不同的VNE(其中,覆盖网络中的这些不同VNE共享在底层网络中在ND上单个VNE/NE实现的资源)。
另一方面,图8E和8F分别示出网络控制器878可展示为虚拟网络892的不同一些的部分的NE和VNE的示范抽象。图8E示出根据本发明的一些实施例的的简单情况,其中每个ND800A-H实现单个NE 870A-H(参见图8D)但集中控制平面876已提取不同ND中的多个NE(NE870A-C和G-H)到(以表示)图8D的一个或更多个虚拟网络892之一中的单个NE 870I。图8E显示在此虚拟网络中,NE 807I耦合到均仍耦合到NE 870E的NE 870D和870F。
图8F示出根据本发明的一些实施例的情况,其中多个VNE (VNE 870A.1和VNE870H.1)在不同ND(ND 800A和ND 800H)上实现并且相互耦合,并且其中集中控制平面876已提取这些多个VNE,使得它们在图8D的虚拟网络892之一内显得像单个VNE 870T一样。因此,NE或VNE的抽象能够跨多个ND。
虽然本发明的一些实施例将集中控制平面876实现为单个实体(例如,在单个电子装置上运行的软件的单个实例),但备选实施例可跨多个实体扩展功能性,以实现冗余和/或可缩放性目的(例如,在不同电子装置上运行的软件的多个实例)。
包括集中可达性和转发信息模块879的网络控制器878可以以多种方式实现[例如,专用装置、通用(例如,COTS)装置或混合装置]。这些一个或更多个电子装置会类似地包括一个或更多个计算资源、一个或更多个物理NIC或其集合和非暂时性机器可读存储介质(具有存储在其上的集中控制平面软件)。
流可被定义为分组(其报头匹配比特的给定模式)集合;在此意义上,传统的IP转发也是基于流的转发,其中,流由例如目的地IP地址定义;然而,在其它实现中,用于流定义的比特的给定模式可包括在分组报头中的更多字段(例如,10个或更多个)。数据平面880的不同ND/NE/VNE可接收不同消息,并且因此接收不同转发信息。数据平面880处理这些消息,并且在适当NE/VNE的转发表(有时称为流表)中编程适当的流信息和对应动作,并且随后NE/VNE将传入分组映射到转发表中表示的流,并且基于在转发表中的匹配转发分组。
诸如OpenFlow等标准定义用于消息的协议及用于处理分组的模型。用于处理分组的模型包括报头解析、分组分类和进行转发判定。报头解析描述如何基于公知的协议集合来解释分组。一些协议字段用于构建将在分组分类中使用的匹配结构(或关键字)(例如,第一关键字字段能够是源媒体接入控制(MAC)地址,并且第二关键字字段能够是目的地MAC地址)。
分组分类涉及在存储器中执行查找,以通过基于转发表条目的匹配结构或关键字来确定转发表中哪个条目(也称为转发表条目或流条目)最佳匹配分组来将分组分类。可能在转发表条目中表示的许多流能够对应/匹配分组;在此情况下,系统通常配置成根据定义的方案(例如,选择匹配的第一转发表条目)从许多条目中确定一个转发表条目。转发表条目包括匹配准则的特定集合(值或通配符集合,或者应比较分组的哪些部分和如由匹配能力定义的用于分组报头中的特定字段或用于某一其它分组内容的特定值/多个值/通配符的指示)和由数据平面在接收匹配分组时采取的一个或更多个动作的集合。例如,动作可以是将报头推送到分组上,用于使用特定端口的分组,满溢分组,或者只是丢弃分组。因此,用于带有特定传送控制协议(TCP)目的地端口的IPv4/IPv6分组的转发表条目能够包含指定应丢弃这些分组的动作。
进行转发判定并且执行动作基于在分组分类期间识别的转发表条目,通过在分组上执行在匹配的转发表条目中识别的该动作集合而发生。
然而,在未知分组(例如,“缺失的分组”或如在OpenFlow术语中使用的“匹配缺失”)到达数据平面880时,通常将分组(或分组报头和内容的子集)转发到集中控制平面876。集中控制平面876随后将转发表条目编程到数据平面880中以便容纳(accommodate)属于未知分组的流的分组。一旦特定转发表条目已由集中控制平面876编程到数据平面880中,带有匹配凭据的下一分组便将匹配该转发表条目,并且采取与该匹配的条目关联的动作集合。
网络接口(NI)可以是物理或虚拟的;并且在IP的上下文中,接口地址是指派到NI的IP地址,而无论它是物理NI还是虚拟NI。虚拟NI可与物理NI,与另一虚拟接口关联,或者自己独立成立(例如,环回接口、点对点协议接口)。NI(物理或虚拟)可以被编号(带有IP地址的NI)或未被编号(无IP地址的NI)。环回接口(及其环回地址)是经常用于管理目的的NE/VNE(物理或虚拟)的特定类型的虚拟NI(和IP地址);其中,此类IP地址称为节点环回地址。指派到ND的一个或更多个NI的一个或更多个IP地址被称为该ND的IP地址;在更高粒度级别,指派到一个或更多个NI(其指派到在ND上实现的NE/NVE)的一个或更多个IP地址能够被称为该NE/VNE的IP地址。
每个VNE(例如,虚拟路由器、虚拟桥[其可充当在虚拟专用LAN服务(VPLS)中的虚拟交换机实例(RFC 4761和4762)]通常是独立可管理的。例如,在多个虚拟路由器的情况下,每个虚拟路由器可共系统资源,但与关于其管理域、AAA(验证、授权和计费)名称空间、IP地址及一个或更多个路由选择数据库的其它虚拟路由器分开。在边缘ND中可采用多个VNE以便为服务的订户和/或内容提供商提供直接网络接入和/或不同类的服务。
在某些ND内,独立于物理NI的“接口”可配置为VNE的一部分以提供更高层协议和服务信息(例如,第3层寻址)。AAA服务器中的订户记录识别(除其它订户配置要求外)对应订户应在ND内绑定到哪个上下文(例如,哪个VNE/NE)。如本文中使用的,绑定形成了在物理实体(例如,物理NI、信道)或逻辑实体[例如,诸如订户电路、逻辑电路(一个或更多个订户电路的集合)等电路]与上下文的接口[通过该接口为该上下文配置网络协议(例如,路由选择协议、桥接协议)]之间的关联。在某一更高层协议接口已配置并与该物理实体关联时,订户数据在物理实体上流动。
本发明的不同实施例可使用软件、固件和/或硬件的不同组合实现。因此,图中显示的技术能够使用一个或更多个电子装置(例如,终端系统、网络装置)上存储和执行的代码和/或数据来实现。此类电子装置使用计算机可读媒体存储和传递(在内部和/或通过网络与其它电子装置)代码和数据,如非暂时性计算机可读存储媒体(例如,磁盘、光盘、随机存取存储器、只读存储器、闪存装置、相变存储器)和暂时性计算机可读传送媒体(例如,电、光、声或其它形式传播信号 - 如载波、红外信号、数字信号)。另外,此类电子装置通常包括耦合到诸如一个或更多个存储装置(非暂时性机器可读存储媒体)、用户输入/输出装置(例如,键盘、触摸屏和/或显示器)和网络连接等一个或更多个其它组件的一个或更多个处理器的集合。该处理器集合与其它组件的耦合通常是通过一个或更多个总线和桥接器(也称为总线控制器)。因此,给定电子装置的存储装置通常存储代码和/或数据以便在该电子装置的一个或更多个处理器的集合上执行。
虽然本发明已根据几个实施例描述,但本领域的技术人员将认识到本发明不限于所描述的实施例,通过在随附权利要求的精神和范围内的修改和变化而能够被实践。描述因此要视为是说明性的而不是限制。

Claims (20)

1.一种在软件定义组网(SDN)系统的网络元件中实现的方法,所述方法包括:
在一个或更多个网络装置实现的所述网络元件接收(410)分组;
确定(420)所述分组是否包含原始因特网协议(IP)分组的片段,其中所述原始IP分组被分段成多个有序片段,并且其中仅所述多个有序片段的第一片段包含与开放系统互连第4-7层关联的一个或更多个字段;
在确定所述分组包含所述原始IP分组的片段时,确定(430)所述分组是否包含所述原始IP分组的所述第一片段;
在确定所述分组包含所述原始IP分组的所述第一片段时,添加(440)条目到所述SDN系统的片段信息表,所述条目与所述原始IP分组关联,并且包括在与开放系统互连第4-7层关联的所述一个或更多个字段中在所述第一片段中包含的数据,其中所述条目由所述网络元件用于处理所述原始IP分组的非第一片段;以及
在接收所述原始IP分组的所有片段前,基于在与开放系统互连第4-7层关联的所述一个或更多个字段中在所述第一片段中包含的所述数据来处理(450)所述原始IP分组的所述第一片段。
2. 如权利要求1所述的方法,还包括:
在确定所述分组包含所述原始IP分组的非第一片段时,为了与所述原始IP分组关联的匹配条目而检查(510)所述片段信息表;以及
在找到匹配条目时,基于所述匹配条目中包括的所述数据来处理(570)所述分组。
3.如权利要求2所述的方法,还包括:
在未找到匹配条目时,将所述原始IP分组的所述非第一片段的处理延迟(520)一时间期;
继续(550)为了匹配条目而检查所述片段信息表;
在延迟所述原始IP分组的所述非第一片段的所述处理所述时间期的同时,接收(560)包含所述原始IP分组的所述第一片段的随后分组;以及
响应在所述片段信息表中找到与所述原始IP分组关联的匹配条目,所述匹配条目包含来自所述原始IP分组的所述第一片段的数据,基于所述匹配条目中的所述数据来处理(570)所述原始IP分组的所述非第一片段。
4. 如权利要求3所述的方法,还包括:
在继续为了匹配条目而检查所述片段信息表前,监视(530)延迟阈值;以及
当超过所述延迟阈值时,丢弃(540)所述分组。
5.如权利要求1所述的方法,其中所述处理所述原始分组的所述第一片段包括基于在与开放系统互连第4-7层关联的所述一个或更多个字段中在所述第一片段中包含的所述数据,将所述第一片段转发到特定网络元件。
6.如权利要求1所述的方法,其中所述片段信息表条目包括包含至少以下之一的数据:
源IP地址;
目的地IP地址;
协议类型;
目的地端口号;以及
原始IP分组标识。
7.如权利要求1所述的方法,其中所述网络元件是OpenFlow交换机。
8.如权利要求1所述的方法,其中与开放系统互连第4-7层关联的所述原始IP分组的所述一个或更多个字段是所述原始IP分组的报头字段。
9. 一种用于在软件定义组网(SDN)系统中处理分组的设备,包括:
处理器(812) (842);以及
非暂时性机器可读存储媒体(818) (848),耦合到所述处理器并且存储分组处理软件,所述软件在由所述处理器执行时,使所述处理器:
接收分组;
确定所述分组是否包含原始因特网协议(IP)分组的片段,其中所述原始IP分组被分段成多个有序片段,并且其中仅所述多个有序片段的第一片段包含与开放系统互连第4-7层关联的一个或更多个字段,
在确定所述分组包含所述原始IP分组的片段时,确定所述分组是否包含所述原始IP分组的所述第一片段,
在确定所述分组包含所述原始IP分组的所述第一片段时,添加条目到片段信息表中,所述条目与所述原始IP分组关联,并且包括在与开放系统互连第4-7层关联的所述一个或更多个字段中在所述第一片段中包含的数据,其中所述条目用于处理所述原始IP分组的非第一片段,以及
基于在与开放系统互连第4-7层关联的所述一个或更多个字段中在所述第一片段中包含的所述数据来处理所述原始IP分组的所述第一片段。
10. 如权利要求9所述的设备,其中所述处理器还:
在确定所述分组包含所述原始IP分组的非第一片段时,为了与所述原始IP分组关联的匹配条目而检查所述片段信息表,以及
在找到匹配条目时,基于所述匹配条目中包括的所述数据来处理所述分组。
11.如权利要求10所述的设备,其中从所述片段信息表检查匹配条目要:
在未能找到匹配条目时,将所述原始IP分组的所述非第一片段的处理延迟一时间期;
继续为了匹配条目而检查所述片段信息表,以及
在接收包含所述原始IP分组的所述第一片段的随后分组后,在所述片段信息表中找到与所述原始IP分组关联的匹配条目,所述匹配条目包含来自所述原始IP分组的所述第一片段的数据,基于所述匹配条目中的所述数据来处理所述原始IP分组的所述非第一片段。
12. 如权利要求11所述的设备,其中从所述片段信息表检查匹配条目的还要:
在继续为了匹配条目而检查所述片段信息表前,监视延迟阈值,以及
在确定超过所述延迟阈值时,丢弃所述分组。
13.如权利要求12所述的设备,其中所述延迟阈值配置有尝试的最大次数,并且所述分组处理软件还使所述处理器:
在未能从所述片段信息表找到匹配条目时:
递增计数器值,以及
在所述计数器值超过尝试的配置的最大次数时,确定所述延迟阈值被超过。
14.如权利要求9所述的设备,其中所述设备是所述软件定义组网(SDN)系统的OpenFlow交换机。
15.一种存储指令的非暂时性计算机可读存储介质,所述指令在由处理器执行时,使所述处理器在软件定义组网(SDN)系统的网络元件中执行操作,所述操作包括:
在一个或更多个网络装置实现的所述网络元件接收(410)分组;
确定(420)所述分组是否包含原始因特网协议(IP)分组的片段,其中所述原始IP分组被分段成多个有序片段,并且其中仅所述多个有序片段的第一片段包含与开放系统互连第4-7层关联的一个或更多个字段;
在确定所述分组包含所述原始IP分组的片段时,确定(430)所述分组是否包含所述原始IP分组的所述第一片段;
在确定所述分组包含所述原始IP分组的所述第一片段时,添加(440)条目到所述SDN系统的片段信息表,所述条目与所述原始IP分组关联,并且包括在与开放系统互连第4-7层关联的所述一个或更多个字段中在所述第一片段中包含的数据,其中所述条目由所述网络元件用于处理所述原始IP分组的非第一片段;以及
在接收所述原始IP分组的所有片段前,基于在与开放系统互连第4-7层关联的所述一个或更多个字段中在所述第一片段中包含的所述数据来处理(450)所述原始IP分组的所述第一片段。
16. 如权利要求15所述的非暂时性计算机可读存储介质,所述操作还包括:
在确定所述分组包含所述原始IP分组的非第一片段时,为了与所述原始IP分组关联的匹配条目而检查(510)所述片段信息表;以及
在找到匹配条目时,基于所述匹配条目中包括的所述数据来处理(570)所述分组。
17.如权利要求16所述的非暂时性计算机可读存储介质,所述操作还包括:
在未找到匹配条目时,将所述原始IP分组的所述非第一片段的处理延迟(520)一时间期;
继续(550)为了匹配条目而检查所述片段信息表;
在延迟所述原始IP分组的所述非第一片段的所述处理一时间期的同时,接收(560)包含所述原始IP分组的所述第一片段的随后分组;以及
响应在所述片段信息表中找到与所述原始IP分组关联的匹配条目,所述匹配条目包含来自所述原始IP分组的所述第一片段的数据,基于所述匹配条目中的所述数据来处理(570)所述原始IP分组的所述非第一片段。
18. 如权利要求17所述的非暂时性计算机可读存储介质,所述操作还包括:
在继续为了匹配条目而检查所述片段信息表前,监视(530)延迟阈值;以及
在超过所述延迟阈值时,丢弃(540)所述分组。
19.如权利要求15所述的非暂时性计算机可读存储介质,所述处理所述原始分组的所述第一片段包括基于在与开放系统互连第4-7层关联的所述一个或更多个字段,将所述第一片段转发到特定网络元件。
20.如权利要求18所述的非暂时性计算机可读存储介质,其中所述片段信息表条目包括包含至少以下之一的数据:
源IP地址;
目的地IP地址;
协议类型;
目的地端口号;以及
原始IP分组标识。
CN201580056312.7A 2014-08-18 2015-08-18 在软件定义组网(sdn)系统中使用l4‑l7报头转发没有重组的分组片段 Withdrawn CN107210966A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/462,442 US9736057B2 (en) 2014-08-18 2014-08-18 Forwarding packet fragments using L4-L7 headers without reassembly in a software-defined networking (SDN) system
US14/462442 2014-08-18
PCT/IB2015/056258 WO2016027220A1 (en) 2014-08-18 2015-08-18 Forwarding packet fragments using l4-l7 headers without reassembly in a software-defined networking (sdn) system

Publications (1)

Publication Number Publication Date
CN107210966A true CN107210966A (zh) 2017-09-26

Family

ID=54150479

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580056312.7A Withdrawn CN107210966A (zh) 2014-08-18 2015-08-18 在软件定义组网(sdn)系统中使用l4‑l7报头转发没有重组的分组片段

Country Status (4)

Country Link
US (1) US9736057B2 (zh)
EP (1) EP3183849A1 (zh)
CN (1) CN107210966A (zh)
WO (1) WO2016027220A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019154011A1 (zh) * 2018-02-08 2019-08-15 电信科学技术研究院有限公司 寻呼策略确定方法、装置、ran网元及核心网网元
CN111903098A (zh) * 2018-03-22 2020-11-06 华为技术有限公司 处理报文分片的方法、装置和系统
CN112585915A (zh) * 2019-07-30 2021-03-30 阿里巴巴集团控股有限公司 控制网络系统中数据传输的装置和方法

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9736057B2 (en) * 2014-08-18 2017-08-15 Telefonaktiebolaget Lm Ericsson (Publ) Forwarding packet fragments using L4-L7 headers without reassembly in a software-defined networking (SDN) system
GB2525701B (en) * 2015-01-08 2016-11-30 Openwave Mobility Inc A software defined network and a communication network comprising the same
US9912613B2 (en) 2015-03-30 2018-03-06 International Business Machines Corporation Dynamic service orchestration within PaaS platforms
WO2018009468A1 (en) 2016-07-05 2018-01-11 Idac Holdings, Inc. Latency reduction by fast forward in multi-hop communication systems
US10425419B2 (en) 2016-07-21 2019-09-24 At&T Intellectual Property I, L.P. Systems and methods for providing software defined network based dynamic access control in a cloud
US20180054641A1 (en) * 2016-08-18 2018-02-22 Raymond L. Hall Method of Livestreaming an Audiovisual Audition
US10511523B1 (en) 2017-05-15 2019-12-17 Barefoot Networks, Inc. Network forwarding element with data plane packet snapshotting capabilities
US10887231B2 (en) * 2018-05-18 2021-01-05 Juniper Networks, Inc. Packet fragment forwarding without reassembly
US11303576B2 (en) * 2019-10-17 2022-04-12 Cisco Technology, Inc. Accurate analytics, quality of service and load balancing for internet protocol fragmented packets in data center fabrics
US11451585B2 (en) * 2019-11-13 2022-09-20 Juniper Networks, Inc. Anti-spoof check of IPv4-in-IPv6 fragments without reassembly
US11165701B1 (en) 2020-03-31 2021-11-02 Juniper Networks, Inc. IPV6 flow label for stateless handling of IPV4-fragments-in-IPV6
US11570283B1 (en) 2020-07-20 2023-01-31 Juniper Networks, Inc. IPv6 extension header for stateless handling of fragments in IPv6
US11595502B2 (en) * 2020-10-15 2023-02-28 Pensando Systems Inc. Methods and systems for layer 7 hardware assist and CPU task offloads
CN112770312A (zh) * 2021-01-04 2021-05-07 腾讯科技(深圳)有限公司 数据传输方法、装置、计算机可读介质及电子设备
US11456954B1 (en) * 2021-12-20 2022-09-27 Versa Networks, Inc. Data packet fragmentation for replicated packet traffic through a software-defined wide area network
US20230336480A1 (en) * 2022-04-19 2023-10-19 Cisco Technology, Inc. Efficient Handling of Fragmented Packets in Multi-Node All-Active Clusters
WO2023204984A1 (en) * 2022-04-19 2023-10-26 Cisco Technology, Inc. Efficient handling of fragmented packets in multi-node all-active clusters
CN115225593B (zh) * 2022-06-30 2023-11-28 中科驭数(北京)科技有限公司 分片报文重组方法、装置、设备和介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7342936B2 (en) * 2002-06-17 2008-03-11 Integrated Device Technology, Inc. Method of performing deficit round-robin scheduling and structure for implementing same
WO2004112326A1 (ja) * 2003-06-10 2004-12-23 Fujitsu Limited パケット転送方法及び装置
US8325717B2 (en) * 2003-07-30 2012-12-04 Foundry Networks, Llc Method and system for IP fragmentation handling
US7715362B1 (en) * 2007-11-23 2010-05-11 Juniper Networks, Inc. Identification fragment handling
US7826458B2 (en) 2009-03-05 2010-11-02 Juniper Networks, Inc. Tracking fragmented data flows
US8532107B1 (en) * 2009-08-20 2013-09-10 Juniper Networks, Inc. Accepting packets with incomplete tunnel-header information on a tunnel interface
US9071529B2 (en) * 2012-10-08 2015-06-30 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for accelerating forwarding in software-defined networks
US20140269299A1 (en) * 2013-03-14 2014-09-18 Hewlett-Packard Development Company, L.P. Network controller normalization of network traffic
CN103532672B (zh) 2013-10-22 2017-06-16 芮雄丽 一种sdn网络中分片报文乱序的处理方法及应用
US9736057B2 (en) * 2014-08-18 2017-08-15 Telefonaktiebolaget Lm Ericsson (Publ) Forwarding packet fragments using L4-L7 headers without reassembly in a software-defined networking (SDN) system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019154011A1 (zh) * 2018-02-08 2019-08-15 电信科学技术研究院有限公司 寻呼策略确定方法、装置、ran网元及核心网网元
CN110139360A (zh) * 2018-02-08 2019-08-16 电信科学技术研究院有限公司 一种寻呼策略确定方法、装置、ran网元及核心网网元
US11147039B2 (en) 2018-02-08 2021-10-12 Datang Mobile Communications Equipment Co., Ltd. Paging strategy determination method, device, RAN network element and core network element
CN111903098A (zh) * 2018-03-22 2020-11-06 华为技术有限公司 处理报文分片的方法、装置和系统
CN111903098B (zh) * 2018-03-22 2022-01-28 华为技术有限公司 处理报文分片的方法、装置和系统
US11411892B2 (en) 2018-03-22 2022-08-09 Huawei Technologies Co., Ltd. Packet fragment processing method and apparatus and system
CN112585915A (zh) * 2019-07-30 2021-03-30 阿里巴巴集团控股有限公司 控制网络系统中数据传输的装置和方法

Also Published As

Publication number Publication date
US9736057B2 (en) 2017-08-15
EP3183849A1 (en) 2017-06-28
US20160050140A1 (en) 2016-02-18
WO2016027220A1 (en) 2016-02-25

Similar Documents

Publication Publication Date Title
CN107210966A (zh) 在软件定义组网(sdn)系统中使用l4‑l7报头转发没有重组的分组片段
US9596173B2 (en) Method and system for traffic pattern generation in a software-defined networking (SDN) system
US9432205B2 (en) Explicit block encoding of multicast group membership information with bit index explicit replication (BIER)
CN105706398B (zh) 重叠网络中的虚拟端口信道弹回的方法和系统
CN108702326B (zh) 检测sdn控制平面循环的方法、设备和非暂时性机器可读介质
EP3222012B1 (en) Method and system for virtualizing flow tables in a software-defined networking (sdn) system
CN110651451B (zh) 基于策略的路由系统中的路由表选择方法及网络设备
CN108055878A (zh) 使用边界网关协议来向外部应用揭示最大分段标识符深度
CN109863725A (zh) 基于最大分段标识符深度的分段路由
CN109076018A (zh) 利用is-is暴露最大节点和/或链路分段标识符深度的技术
CN107566440A (zh) 软件定义的网络环境中服务的自动发现和自动扩缩
CN108353024A (zh) 选路系统中经由隧穿的多播状态减少
CN108702328A (zh) 用于穿越分段路由和mpls网络的业务的灵活路径拼接和选择的is-is扩展
CN107005481A (zh) 对于双向转发检测返回路径的控制
US20160285753A1 (en) Lock free flow learning in a network device
US9712649B2 (en) CCN fragmentation gateway
WO2016071844A1 (en) Explicit list encoding of sparse multicast group membership information with bit index explicit replication (bier)
CN106464522A (zh) 用于网络功能布局的方法和系统
KR102066978B1 (ko) 차별화된 서비스 코드 포인트(dscp) 및 명시적 혼잡 통지(ecn)를 모니터링하기 위한 데이터 플레인을 위한 방법 및 장치
CN106464583A (zh) 实现具有开放流数据和控制平面的云计算机中的3g分组核心
US20160301632A1 (en) Method and system for burst based packet processing
WO2016193865A1 (en) Layered naming scheme with autonomous system name in content centric networks (ccn)
CN109691026A (zh) 用于更新多个多协议标签切换(mpls)双向转发检测(bfd)会话的方法和装置
CN108604997A (zh) 用于对差异化服务编码点(dscp)和显式拥塞通知(ecn)的监视进行配置的控制平面的方法和设备
WO2018150223A1 (en) A method and system for identification of traffic flows causing network congestion in centralized control plane networks

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
WW01 Invention patent application withdrawn after publication

Application publication date: 20170926

WW01 Invention patent application withdrawn after publication