CN107210975A - 软件定义网络的网元 - Google Patents

软件定义网络的网元 Download PDF

Info

Publication number
CN107210975A
CN107210975A CN201580069376.0A CN201580069376A CN107210975A CN 107210975 A CN107210975 A CN 107210975A CN 201580069376 A CN201580069376 A CN 201580069376A CN 107210975 A CN107210975 A CN 107210975A
Authority
CN
China
Prior art keywords
controller
data
network element
frame
frame information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201580069376.0A
Other languages
English (en)
Inventor
维莱·哈利沃里
茱哈马蒂·库西萨里
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.)
Cree Ante Ltd By Share Ltd
Infinera Oy
Original Assignee
Cree Ante Ltd By Share Ltd
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 Cree Ante Ltd By Share Ltd filed Critical Cree Ante Ltd By Share Ltd
Publication of CN107210975A publication Critical patent/CN107210975A/zh
Pending 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/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Landscapes

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

Abstract

一种软件定义网络的网元,其包括用于维护用于管理数据的控制系统(218)的处理系统(217)。根据从软件定义网络的控制器接收的配置数据来维护控制系统。在控制系统不具有对应于与在网元接收到的数据帧有关的帧信息的条目的情况下,处理系统检查状态信息是否指示帧信息对于控制器的可用性。如果状态信息不指示可用性,则处理系统将帧信息布置为对于控制器可用,并且更新状态信息以指示可用性。因此,借助上述状态信息,能够减少与数据驱动学习有关并且发生在网元和控制器之间的数据流量。

Description

软件定义网络的网元
技术领域
本公开总体上涉及软件定义联网。更具体地,本公开涉及一种用于软件定义网络“SDN”的网元。此外,本公开涉及一种管理与数据驱动学习有关并且发生在软件定义网络中的网元与控制器之间的数据流量的方法。此外,本公开涉及一种用于管理与数据驱动学习有关并且发生在软件定义网络中的网元与控制器之间的数据流量的计算机程序。
背景技术
软件定义联网网络是一种用于数据传输网络的新兴架构。在软件定义网络“SDN”中,控制层控制平面从用户从用户平面分离,使得控制层控制平面在能够从网元分离的一个或多个控制器中实施,并且数据层在网元中实施。网元可以是例如互联网协议“IP”路由器、多协议标签交换“MPLS”节点、分组光交换机和/或以太网交换机。每个网元可以由单个装置或多个装置的组合组成。通常,网络定义联网的网络允许交换和/或路由策略的快速实验和交换的优化,和/或以及到之前被关闭的和专有的网元内部的路由策略以及外部访问。
软件定义网络“SDN”的一个或多个控制器适合于配置网元,使得网元能够作为软件定义网络的节点来操作。当配置网元时,控制器向网元发送配置数据,借助该配置数据,网元构建用于转发和以其它方式管理数据的系统。控制系统通常包括一个或多个查找表,借助该查找表,网元能够作为软件定义网络的一部分来操作。可以根据例如OpenFlow协议来构建并维护控制系统。关于OpenFlow的细节可以从由开放网络基金会“ONF”管理的OpenFlow交换规范中找到。
在数据驱动学习中,软件定义网络的网元,例如路由器需要在满足某些判据时向控制器提供与数据帧有关的信息。在此文件中,上述信息使得数据驱动学习在下文中能够被称为帧信息。例如,可以向控制器提供帧信息,使得数据帧的副本、数据帧的一部分、或数据帧其自身被传输到控制器。数据驱动学习的一个示例是媒体访问控制“MAC”学习,其中,关于在MAC转发表中没有对应条目或到达意外入口端口的数据帧的适当的帧信息被引导到控制器,并且控制器相应地配置网元的源MAC表和目的地MAC表。当从用于基于特定组“*,组”树型的多播的每个源过渡到基于源分布基于“源,组”树型的多播时,数据驱动学习还可以发生在互联网协议“IP”多播中。
然而,关于数据帧的帧信息被传递到控制器,并且控制器至少部分地基于上面提及的信息来配置网元的控制系统例如转发表的上述数据驱动学习,并不是没有挑战。挑战之一涉及网元和控制器之间的数据流量。在一些情况下,在网元的控制系统的有关条目被配置并且网元变得能够在无需控制器的帮助的情况下管理合适的数据帧之前,相同的帧信息可能从网元向控制器传送成百上千次。因此,在数据驱动学习期间,从整个软件定义网络的操作的角度来看,网元和控制器之间可能存在过多的数据流量,使得控制器和网元之间的数据传输容量可能构成严重的瓶颈。
发明内容
接下来给出简化的概述,以便提供各种发明实施例的某些方面的基本理解。概述不是对本发明的全面概述。其既不旨在识别本发明的关键或紧要元素,也不旨在描绘本发明的范围。以下概述仅以简化形式提供了本发明的一些概念,作为本发明的示例性实施例的更详细描述的前序。
根据本发明,提供一种用于软件定义网络“SDN”的新网元。网元可以是例如互联网协议“IP”路由器、多协议标签交换“MPLS”交换机,分组光交换机和/或以太网交换机。根据本发明的网元包括用于接收和发送数据的数据传输接口以及处理系统,适合于:
-根据从软件定义网络的控制器接收到的配置数据,维护用于管理数据的控制系统,
-响应于控制系统不具有对应于与接收到的数据帧有关的帧信息的条目的情形,检查状态信息是否包含帧信息对于控制器可用的指示,以及
-响应于状态信息缺乏指示的情形,更新状态信息以包含指示,并且将帧信息布置为对于控制器可用,使得控制器能够根据帧信息来产生更新的配置数据。
上述帧信息包括所接收的数据帧的源地址以及在网元处接收数据帧的入口接口的标识符。
因为借助上述状态信息可以避免从网元向控制器传输不必要的信息,或者至少可以减少传输的不必要的信息的量,所以与数据驱动学习有关并且发生在网元和控制器之间的数据流量可以减少。因此,本发明消除或者至少减轻了与数据流量负载有关的技术问题,该数据流量负载是当基于数据驱动学习配置网元时从例如路由器的网元到软件定义网络的控制器的数据流量负载。
根据本发明,还提供一种用于管理与数据驱动学习有关并且发生在软件定义网络中的网元和控制器之间的数据流量的新方法。根据本发明的方法包括:
-响应于网元的控制系统不具有对应于与接收到的数据帧有关的帧信息的条目的情形,检查状态信息是否包含帧信息对于控制器可用的指示,
-响应于状态信息缺乏指示的情形,更新状态信息以包含指示,并且将帧信息布置为对于控制器可用,使得控制器能够根据帧信息产生更新的配置数据。
根据本发明,还提供一种用于管理与数据驱动学习有关并且发生在软件定义网络中的网元和控制器之间的数据流量的新计算机程序。根据本发明的计算机程序包括计算机可执行指令,其用于控制网元的可编程处理系统以:
-响应于网元的控制系统不具有对应于与接收到的数据帧有关的帧信息的条目的情形,检查状态信息是否包含帧信息对控制器可用的指示,
-响应于状态信息缺乏指示的情形,更新状态信息以包含指示,并且将帧信息布置为对于控制器可用,使得控制器能够根据帧信息产生更新的配置数据。
根据本发明,还提供一种新计算机程序产品。计算机程序产品包括用根据本发明的计算机程序编码的非易失性计算机可读介质,例如,光盘“CD”。
在附带的从属权利要求中描述了本发明的许多示例性和非限制性实施例。
从结合附图阅读的具体示例性实施例的以下描述中,将最好地理解本发明的各种示例和非限制性实施例,关于结构和操作方法及其附加目的和优点。
在本文档中使用动词“包括(comprise)”和“包括(include)”作为开放的限制,既不排除也不需要存在未引用的特征。伴随的从属权利要求中记载的特征是相互可自由组合的,除非另有明确说明。此外,应当理解,在整个本文档中使用“一(a或an)”,即单数形式,并不排除复数。
附图说明
下面参照附图更详细地说明本发明的示例和非限制性实施例及其优点,附图中:
图1示出根据本发明的示例性和非限制性实施例的包括网元的软件定义网络的示意图,
图2示出根据本发明的示例性和非限制性实施例的网元的示意图,以及
图3示出根据本发明的示例性和非限制性实施例的方法的流程图,该方法用于管理与数据驱动学习有关并且发生在软件定义网络中的网元和控制器之间的数据流量。
具体实施方式
图1示出示例性软件定义网络“SDN”100的示意图。软件定义网络包括网元101、102、103和104以及控制器105。如图1所示,此示例性软件定义网络的网元101至104互相地用数据传输链路互连。此外,示例性软件定义网络“SDN”100可以包括未在图1中示出的其它网元。每个网元可以是例如互联网协议“IP”路由器、多协议标签交换“MPLS”节点、分组光交换机和/或以太网交换机。每个网元可以由单个装置或多个装置的组合构成。同样,控制器可以由单个装置或多个装置的组合构成。在如图1所示的示例性情况中,控制器105包括两个互连装置。用户界面设备107连接到控制器105,并且网元102充当到可以是例如全球互联网的外部网络106的网关。控制器105包括数据传输接口,其用于从终端设备107和/或从用数据传输链路连接到控制器的数据传输接口的一个或多个其它设备接收数据。应当注意,控制器105,或其一个或多个部分,也可以充当一个或多个网元,其可以是例如互联网协议“IP”路由器、多协议标签交换“MPLS”节点、分组光交换机和/或以太网交换机。
控制器105适合于将配置数据发送到网元101至104中的至少一个,以便使得所考虑的每个网元构建并维护使得网元能够以期望的方式来管理数据帧的控制系统。控制系统通常包括用于选择在不同操作情形中待执行的软件定义动作的互连查找表的系统。要管理的数据帧可以是例如互联网协议IP分组、MPLS标记的帧、以太网帧或根据一些其它数据传输协议的协议数据单元“PDU”。控制器105可以适合于考虑根据例如OpenFlow或适用于软件定义联网的一些其它协议来配置网元。
在使用OpenFlow的示例性情况中,根据OpenFlow规范,网元的控制系统包括一个或多个流表和一个或多个组表。每个流表包括流条目的集合,每个流条目可以由匹配字段、计数器以及待应用到匹配数据帧的软件定义动作的集合。匹配通常在第一流表开始,并且可以继续到另外的流表。流条目通常以优先级次序安排并且使用每个表中的第一匹配条目。如果找到匹配流条目,则执行与此特定流条目相关联的一个或多个软件定义动作。如果在流表中未找到流条目,则通过在所考虑的网元和控制器105之间的OpenFlow信道将考虑的数据帧转发到控制器105,数据帧可以被丢弃,或者数据帧可以继续到下一流表或下一组表。与每个流条目相关联的软件定义动作可以包括例如数据帧转发、数据帧修改、组表处理和流水线处理。
流水线处理动作允许数据帧被传送到后续流表以进一步处理,并且允许信息以元数据的形式在流表之间传送。结合OpenFlow,元数据通常为具有64位的位矢量。当与匹配流条目相关联的一个或多个软件定义动作未指定下一个表时,流水线处理停止。此时,所考虑的数据帧通常被修改和转发。组表处理动作允许将数据帧发送到组表以进一步处理,并以元数据的形式将信息传送到组表。组表包含组条目,其中每个组条目可以包含待结合被定义为属于特定组的数据帧执行的软件定义动作的列表。此外,发送到一个或多个网元101至104的配置数据可以包括一个或多个配置程序,每个配置程序包括一个或多个计算机可执行指令,其定义待结合管理所考虑的网元中的数据来执行的软件定义动作或软件定义动作链。由配置程序定义的软件定义动作或软件定义动作链可以包括例如:将数据记录到存储器中、修改数据、选择网络单元的一个或多个出口端口并将数据及其可能的副本转发到所选择的一个或多个出口端口、选择网元的配置系统的一个或多个查找表,并从所选择的查找表中执行一个或多个查找,执行算术运算,分支操作,执行逻辑操作,读取与被管理的数据相关联的元数据,写入与数据相关联的元数据,修改与数据相关联的元数据,丢弃数据和/或复制数据。
在图1所示出的示例性软件定义网络中,网元101至104中的至少一个至少部分地被配置有数据驱动学习。在不限制一般性并且仅用于说明的目的的情况下,可以假定网元101至少部分地配置有数据驱动学习。网元101包括用于接收和发送数据的数据传输接口。网元101包括用于根据从控制器105接收的配置数据来构建和维护控制系统的装置。控制系统使得网元101能够转发并且管理所接收的数据帧,使得网元能够作为软件定义网络100的一部分来操作。网元101包括用于维护状态信息的装置,在状态信息的帮助下网元能够管理与数据驱动学习有关并且发生在网元101和控制器105之间的数据流量。在网元101的控制系统不具有对应于与所接收的数据帧有关的例如媒体访问控制“MAC”源地址和入口端口标识符的帧信息的条目的情况下,网元101检查是否状态信息包含已经使得上述帧信息对于控制器105可用的指示。如果状态信息包含上述指示,则不需要再次使帧信息对于控制器105可用。如果状态信息不包含已经使上述帧信息对于控制器105可用的指示,则网元101更新状态信息以包含指示,并且将帧信息布置为对于控制器105可用,以便使得控制器能够根据帧信息产生更新的配置数据。
可以使上述帧信息对于控制器105可用,例如使得网元101向控制器105发送包含帧信息的数据帧。该数据帧可以是例如上述所接收的数据帧,或是其副本,被修改使得传递到控制器的数据帧被布置为包含未由所接收的数据帧包含的帧信息的部分,例如,在MAC学习的情况下,入口端口标识符。也可以使帧信息对于控制器105可用,例如使得网元101将帧信息写入由控制器可读的状态表,并且网元101向控制器105发送一个表示在状态表中存在新数据的通知。在此示例性情况中,状态表可以用作表示是否已经使某些帧信息对于控制器可用的上述状态信息。实际上,状态表可以由控制器105读取,使得控制器向网元发送请求消息,并且网元101通过向控制器发送一个或多个包含状态表的内容的数据帧来响应请求消息。
基于状态表的上述方法的优点在于,在控制器105尚未读取状态表的情况下可以修改状态表的内容。例如,可以存在下述情形:其中某些帧信息,例如源MAC地址和入口端口标识符在网元接收第一数据帧之后已经被写入状态表,并且此后网元在另一入口端口接收具有相同源MAC地址的数据帧。在这种情况下,如果控制器105尚未读取状态表,则可以修改帧信息,使得原始入口端口标识符被替换为其它入口端口的标识符。
图2示出根据本发明的示例性和非限制性实施例的网元201的示意图。网元可以是例如互联网协议“IP”路由器、多协议标签交换“MPLS”交换机、分组光交换机和/或以太网交换机。网元包括用于接收数据和发送数据的数据传输接口210。数据传输接口210包括入口端口和出口端口,用于经由数据传输链路连接到数据传输网络221。在图2中,三个入口端口用附图标记21 1i、212i和212i表示,并且三个出口端口用附图标记211e、212e和213e表示。
网元201包括用于构建和维护控制系统218的处理系统217,该控制系统218用于管理在网元201接收的数据。根据从控制器205接收的配置数据来构建和维护控制系统。控制系统218使得网元201能够转发并以其它方式管理所接收的数据帧,使得网元能够与数据传输网络221协作。处理系统217适合于维护状态信息,借助于该状态信息,网元201可以管理与数据驱动学习有关并且发生在网元201和控制器205之间的数据流量。在控制系统218不具有对应于与接收到的数据帧有关的帧信息的条目的情况下,处理系统217检查状态信息是否包含已经使上述帧信息对于控制器205可用的指示。如果状态信息包含上述指示,则不需要再次使帧信息对于控制器205可用。如果状态信息不包含已经使上述帧信息对于控制器205可用的指示,则处理系统217更新状态信息以包含指示,并且将帧信息布置为对于控制器205可用,以使得控制器能够根据帧信息产生更新的配置数据。
上述帧信息可以包括例如所接收的数据帧的源地址以及接收数据帧的入口接口的标识符。源地址可以是例如媒体访问控制“MAC”源地址,并且入口接口的标识符可以是接收数据帧的入口端口的标识符。对于另一示例,帧信息可以包括所接收的数据帧的互联网协议“IP”源地址,所接收的数据帧的IP多播组地址,以及接收数据帧的逻辑入口接口的标识符。
在根据本发明的示例性和非限制性实施例的网元中,处理系统217适合于:响应于网元201已经从控制器205接收到更新的配置数据并且处理系统217已经根据更新的配置数据更新了控制系统218的情形,从状态信息中擦除上述指示。
在根据本发明的示例性和非限制性实施例的网元中,处理系统217适合于:响应于在更新状态信息以包含所述指示之后经过预定时间的情形,从状态信息中擦除上述指示。在这种情况下,不能保证帧信息仅传递到控制器205一次,然而借助于上述状态信息,可以减少与数据驱动学习有关并发生在网元201与控制器205之间的数据流量。
在根据本发明的示例和非限制性实施例的网元中,处理系统217适合于:响应于在包括所考虑的指示之后预定数目的其它指示已经包括在状态信息中的情形,从状态信息擦除上述指示。同样在该情况中,不能保证帧信息仅传递到控制器205一次,然而可以减少与数据驱动学习有关的数据流量。
在根据本发明的示例性和非限制性实施例的网元中,处理系统217适合于:当需要将帧信息布置为对于控制器可用时,控制网元向控制器205发送上述帧信息。
在根据本发明的示例性和非限制性实施例的网元中,处理系统217适合于:当需要将帧信息布置为对于控制器可用时,将帧信息写入由控制器205可读的状态表。当新的帧信息被写入状态表时,处理系统217可适合于向控制器发送NEW DATA通知。更有利地,为了当帧信息的不同实例在短时间时段内被写入状态表时避免NEW DATA通知不必要的突发,处理系统217适合于:仅当将帧数据写入状态表使状态表从第一状态改变为第二状态时,才向控制器发送NEW DATA通知,其中,第一状态中,状态表没有未由控制器读取并且需要被控制器读取的数据,第二状态中,状态表包含未由控制器读取并且需要被控制器读取的数据。处理系统217还可能适合于:当在先前发送的NEW DATA通知之后已经向状态表写入预定量的数据,或者在最后向状态表写入之后已经经过了预定时间时,向控制器发送NEW DATA通知。处理系统217可以适合于:当控制器已经读取状态表的所有数据时,向控制器205发送ALLREAD通知。因此,控制器205可以适合于:只要控制器接收ALL READ通知,在控制器已经接收到上述NEW DATA通知之后,读取状态表。为了当帧信息的不同实例在短时间时段内被写入状态表时避免NEW DATA通知的不必要的突发,处理系统17适合于:仅当已经向控制器发送ALL READ通知之后帧信息第一次被写入状态表时,向控制器205发送NEW DATA通知。
图2图示了示意性情形,其中出口端口212e提供对具有MAC地址ADD1的实体220的访问,并且由实体220发送到网元201的数据帧到达入口端口212i。实体220可以是例如诸如IP路由器的网元。对应地,出口端口213e提供对具有MAC地址ADD2的实体219的访问,并且由实体219发送到网元201的数据帧到达入口端口213i。出口端口211e提供对控制器205的访问,并且由控制器205发送到网元201的数据帧到达入口端口211i。图2所述的源MAC表和目的地MAC表对应于下述情形:其中,在入口端口212i已经接收到具有源MAC地址ADD1的第一数据帧。此后,使包括源MAC地址ADD1入口端口212i的标识符的帧信息和对控制器205可用,控制器已经考虑上述帧信息产生配置数据,并且网元201已经接收配置数据并根据配置数据来更新源MAC表和目的地MAC表。为了说明,假定网元在入口端口213i接收具有源MAC地址ADD2的第二数据帧。在此示例性情形中,源MAC表不具有将对应于入口端口213i和源MAC地址ADD2的条目。对应地,目的地MAC表不具有将对应于出口端口213e和目的地MAC地址ADD2的条目。因此,在该情况下,使包括源MAC地址ADD2和入口端口213i的帧信息对控制器可用。在此示例性情况中,使帧信息对控制器205可用,使得帧信息被写入图2所示的状态表。
在根据本发明的示例性和非限制性实施例的网元中,处理系统217适合于响应于下述情形而改变写入状态表的帧信息的一部分:控制器205尚未从状态表读取帧信息,并且在将帧信息写入状态表之后在网元201所接收的第三数据帧指示要改变帧信息的该一部分。例如,数据传输网络221的路由配置可以改变,使得在入口端口212i而不是入口端口213i接收由实体219发送到网元201的数据帧。在这种情况下,如果控制器205尚未读取状态表,则可以将帧信息“S_ADD2:iport 213i”校正为“S_ADD2:iport 212i”。如果控制器205已经读取状态表,则帧信息“S_ADD2:iport 212i”被写入到状态表,并且当下一次控制器读取状态表时,控制器可以识别改变的状态。
在根据本发明的示例性和非限制性实施例的网元中,上述状态表被用作上述状态信息,其表示是否已经使帧信息对于控制器可用,并且处理系统217适合于响应于下述情况中的一个而从状态表中擦除帧信息:a)控制器已经从状态表中读取帧信息,b)在将帧信息写入状态表之后经过了预定时间,或者c)在向状态表写入帧信息之后预定量的数据已经被写入状态表中。在上述示例性情况下,不能保证帧信息仅传递到控制器205一次,但是可以减少与数据驱动学习有关的数据流量。为了保证帧信息仅传递到控制器205一次,只要网元的控制系统已被更新以包含对应于所考虑的帧信息的条目,则帧信息应该被维护在状态表中。然而,根据控制系统的更新从状态表中擦除帧信息使网元复杂化,因此上述不那么优化的擦除帧信息的方法通常是优选的。
处理系统217可以用一个或多个处理器电路实施,每个处理器电路可以是设有适当软件的可编程处理器电路、专用硬件处理器,诸如例如专用集成电路“ASIC”,或可配置的硬件处理器,诸如例如现场可编程门阵列“FPGA”。
图3示出根据本发明的示例性和非限制性实施例的方法的流程图,用于管理与数据驱动学习有关并且在软件定义网络“SDN”中的网元和控制器之间发生的数据流量。网元根据从控制器接收的配置数据来构建和维护用于管理在网元接收到的数据的控制系统。在控制系统不具有与能够进行数据驱动学习并与在网元接收到的数据帧有关的帧信息对应的条目的情况下,该方法包括:检查301状态信息是否包含帧信息对于控制器可用的指示。在状态信息不包含上述指示的情况下,该方法包括:更新302状态信息以包含该指示,并且将该帧信息安排303为对控制器可用,以使控制器能够根据帧信息来产生更新的配置数据。在状态信息包含指示的相反情况下,不需要使帧信息对于控制器可用。
根据本发明的示例性和非限制性实施例的方法包括:响应于网元已经从控制器接收到更新的配置数据并且网元已根据更新的配置数据更新了控制系统的情形,从状态信息中擦除上述指示。
根据本发明的示例性和非限制性实施例的方法包括:响应于在更新状态信息以包含指示之后经过预定时间的情形,从状态信息中擦除上述指示。
根据本发明的示例性和非限制性实施例的方法包括:响应于在包括所考虑的指示之后在状态信息中已经包括预定数量的其它指示的情况,从状态信息擦除上述指示。
根据本发明的示例性和非限制性实施例的方法包括:将帧信息从网元发送到控制器,以便将帧信息布置为对于控制器可用。
根据本发明的另一示例性和非限制性实施例的方法包括:将帧信息写入由控制器可读的状态表,以便将帧信息布置为对于控制器可用。
根据本发明的示例性和非限制性实施例的方法包括:响应于向状态表写入帧信息,将NEW DATA通知发送到控制器。更有利地,为了当帧信息的不同实例在短时间时段内被写入状态表时避免NEW DATA通知不必要的突发,该方法包括:仅当将帧数据写入状态表使状态表从第一状态改变为第二状态时,才向控制器发送NEW DATA通知,其中,第一状态中,状态表没有未由控制器读取并且需要被控制器读取的数据,第二状态中,状态表包含未由控制器读取并且需要被控制器读取的数据。
根据本发明的示例性和非限制性实施例的方法包括:响应于在先前发送的NEWDATA通知之后已经向状态表写入预定量的数据的情形,以及响应于在最后向状态表写入之后已经经过了预定时间的情形,向控制器发送NEW DATA通知。
根据本发明的示例性和非限制性实施例的方法包括:响应于下述情况中的一个而从状态表中擦除帧信息:a)控制器已经从状态表中读取帧信息,b)在将帧信息写入状态表之后经过了预定时间,或者c)在向状态表写入帧信息之后,预定量的数据已经被写入状态表中。
根据本发明的示例性和非限制性实施例的方法包括:响应于下述情形而改变写入状态表的帧信息的一部分:控制器205尚未从状态表读取帧信息,并且在网元所接收的另一数据帧指示要改变帧信息的该一部分。
在根据本发明的示例性和非限制性实施例的方法中,帧信息包括所接收的数据帧的源地址以及在网元处接收数据帧的入口接口的标识符。源地址可以是例如所接收的数据帧的媒体访问控制“MAC”源地址,并且入口接口的标识符可以是接收数据帧的入口端口的标识符。对于另一示例,所接收的数据帧的源地址可以是所接收的数据帧的互联网协议“IP”源地址,入口接口的标识符可以是接收数据帧的逻辑入口接口的标识符,并且帧信息还可以包括所接收的数据帧的IP多播组地址。
根据本发明的示例性和非限制性实施例的计算机程序包括计算机可执行指令,该计算机可执行指令用于控制可编程处理系统以执行与根据本发明的上述示例性和非限制性实施例中的任一个的方法相关的动作。
根据本发明的示例性和非限制性实施例的计算机程序包括软件模块,其用于管理与数据驱动学习有关并发生在软件定义网络的网元与软件定义网络的控制器之间的数据流量,该网元根据从控制器接收到的配置数据来维护用于管理在网元接收到的数据的控制系统。软件模块包括计算机可执行指令,该计算机可执行指令用于控制网元的可编程处理系统以:
-响应于控制系统不具有对应于与在网元处接收到的数据帧有关的帧信息的条目的情形,检查状态信息是否包含帧信息对于控制器可用的指示,
-响应于状态信息缺乏该指示的情形,更新状态信息以包含该指示,并且将帧信息布置为对于控制器可用,使得控制器能够根据帧信息产生更新的配置数据。
软件模块可以是例如用合适的编程语言实施的子例程或功能,并且具有适用于编程语言和所考虑的可编程处理系统的编译器。值得注意的是,与适合的编程语言相对应的源代码也表示计算机可执行软件模块,因为源代码包含控制可编程处理系统以执行上述动作所需的信息,并且编译仅仅改变信息的格式。此外,可编程处理系统可能还设有解释器,使得在运行之前不需要编译用适当的编程语言实施的源代码。
根据本发明的示例性和非限制性实施例的计算机程序产品包括用根据本发明的示例性实施例的计算机程序编码的计算机可读介质,例如,光盘“CD”。
根据本发明的示例性和非限制性实施例的信号被编码为携带定义根据本发明的示例性实施例的计算机程序的信息。
上面给出的描述中提供的具体示例不应被解释为限制所附权利要求的范围和/或适用性。除非另有明确说明,上述说明中提供的列表和组的示例并不穷尽。

Claims (25)

1.一种用于软件定义网络的网元(101、102),所述网元包括:
-数据传输接口(210),所述数据传输接口(210)用于接收数据并且用于发送数据,以及
-处理系统(217),所述处理系统(217)用于根据从所述软件定义网络的控制器接收的配置数据来维护用于管理数据的控制系统,
其特征在于,处理系统被适配为:
-响应于所述控制系统不具有对应于与在所述网元处接收的数据帧有关的帧信息的条目的情形,检查状态信息是否包含所述帧信息对于所述控制器可用的指示,以及
-响应于所述状态信息缺乏所述指示的情形,更新所述状态信息以包含所述指示,并且将所述帧信息布置为对于所述控制器可用,以使得所述控制器能够根据所述帧信息来产生更新的配置数据,
其中,所述帧信息包括所接收的数据帧的源地址以及在所述网元处接收到所述数据帧的入口接口的标识符。
2.根据权利要求1所述的网元,其中,所述处理系统被适配为,响应于所述网元已经从所述控制器接收到所更新的配置数据并且所述处理系统已经根据所更新的配置数据更新了所述控制系统的情形,从所述状态信息中擦除所述指示。
3.根据权利要求1所述的网元,其中,所述处理系统被适配为,响应于在更新所述状态信息以包含所述指示之后已经经过预定时间的情形,从所述状态信息中擦除所述指示。
4.根据权利要求1-3中的任一项所述的网元,其中,所述处理系统被适配为,将所述帧信息写入由所述控制器可读的状态表,以将所述帧信息布置为对于所述控制器可用。
5.根据权利要求4所述的网元,其中,所述处理系统被适配为,响应于将所述帧信息写入所述状态表而将所述状态表从第一状态改变为第二状态的情形,控制所述网元向所述控制器发送通知,在所述第一状态中,所述状态表没有所述控制器未读取并且需要由所述控制器读取的数据,在所述第二状态中,所述状态表包含所述控制器未读取并且需要由所述控制器读取的数据。
6.根据权利要求4所述的网元,其中,所述处理系统被适配为,响应于在先前发送的通知之后已经向所述状态表写入预定量的数据的情形,并且响应于在最后向所述状态表写入之后已经经过了预定时间的情形,控制所述网元向所述控制器发送通知。
7.根据权利要求4-6中的任一项所述的网元,其中,所述处理系统被适配为,响应于下述情形中的一个而从所述状态表中擦除所述帧信息:a)所述控制器已经从所述状态表中读取所述帧信息,b)在将所述帧信息写入所述状态表之后已经经过了预定时间,c)在将所述帧信息写入所述状态表之后已经将预定量的数据写入所述状态表中。
8.根据权利要求4-7中的任一项所述的网元,其中,所述处理系统被适配为,响应于下述情形而改变写入所述状态表的所述帧信息的一部分:所述控制器尚未从所述状态表读取所述帧信息,并且在将所述帧信息写入所述状态表之后在所述网元处接收的另一数据帧指示要改变所述帧信息的一部分。
9.根据权利要求1-3中的任一项所述的网元,其中,所述处理系统被适配为,控制所述网元向所述控制器发送所述帧信息,以便将所述帧信息布置为对于所述控制器可用。
10.根据权利要求1-9中的任一项所述的网元,其中,所述处理系统被适配为,将所述帧信息设置为包括所接收的数据帧的媒体访问控制源地址以及接收到所述数据帧的入口端口的标识符。
11.根据权利要求1-9中的任一项所述的网元,其中,所述处理系统被适配为,将所述帧信息设置为包括所接收的数据帧的互联网协议源地址、所接收的数据帧的互联网协议多播组地址、以及接收到所述数据帧的逻辑入口接口的标识符。
12.根据权利要求1-11中的任一项所述的网元,其中,所述网元是下述中的至少一个:互联网协议IP路由器、多协议标签交换MPLS交换机、分组光交换机、以太网交换机。
13.一种用于管理与数据驱动学习有关并且在软件定义网络的网元与所述软件定义网络的控制器之间发生的数据流量的方法,所述网元根据从所述控制器接收的配置数据来维护用于管理在所述网元处接收的数据的控制系统,其特征在于,所述方法包括:
-响应于所述控制系统不具有对应于与在所述网元处接收的数据帧有关的帧信息的条目的情形,检查(301)状态信息是否包含所述帧信息对于所述控制器可用的指示,以及
-响应于所述状态信息缺乏所述指示的情形,更新(302)所述状态信息以包含所述指示,并且将所述帧信息布置为(303)对于所述控制器可用,以使得所述控制器能够根据所述帧信息来产生更新的配置数据,
其中,所述帧信息包括所接收的数据帧的源地址以及在所述网元处接收到所述数据帧的入口接口的标识符。
14.根据权利要求13所述的方法,其中,所述方法包括:响应于所述网元已经从所述控制器接收到所更新的配置数据并且所述网元已经根据所更新的配置数据更新了所述控制系统的情形,从所述状态信息中擦除所述指示。
15.根据权利要求13所述的方法,其中,所述方法包括:响应于在更新所述状态信息以包含所述指示之后已经经过预定时间的情形,从所述状态信息中擦除所述指示。
16.根据权利要求13-15中的任一项所述的方法,其中,所述方法包括:将所述帧信息写入由所述控制器可读的状态表,以将所述帧信息布置为对于所述控制器可用。
17.根据权利要求16所述的方法,其中,所述方法包括:响应于将所述帧信息写入所述状态表而将所述状态表从第一状态改变为第二状态的情形,向所述控制器发送通知,在所述第一状态中,所述状态表没有所述控制器未读取并且需要由所述控制器读取的数据,在所述第二状态中,所述状态表包含所述控制器未读取并且需要由所述控制器读取的数据。
18.根据权利要求16所述的方法,其中,所述方法包括:响应于在先前发送的通知之后已经向所述状态表写入预定量的数据的情形,并且响应于在最后向所述状态表写入之后已经经过了预定时间的情形,向所述控制器发送通知。
19.根据权利要求16-18中的任一项所述的方法,其中,所述方法包括:响应于下述情形中的一个而从所述状态表中擦除所述帧信息:a)所述控制器已经从所述状态表中读取所述帧信息,b)在将所述帧信息写入所述状态表之后已经经过了预定时间,c)在将所述帧信息写入所述状态表之后已经将预定量的数据写入所述状态表中。
20.根据权利要求16-19中的任一项所述的方法,其中,所述方法包括:响应于下述情形而改变写入所述状态表的所述帧信息的一部分:所述控制器尚未从所述状态表读取所述帧信息,并且在将所述帧信息写入所述状态表之后在所述网元处接收的另一数据帧指示要改变所述帧信息的一部分。
21.根据权利要求13-15中的任一项所述的方法,其中,所述方法包括:从所述网元向所述控制器发送所述帧信息,以便将所述帧信息布置为对于所述控制器可用。
22.根据权利要求13-21中的任一项所述的方法,其中,所接收的数据帧的所述源地址是所接收的数据帧的媒体访问控制源地址,并且所述入口接口的所述标识符是接收到所述数据帧的入口端口的标识符。
23.根据权利要求13至21中的任一项所述的方法,所接收的数据帧的所述源地址是所接收的数据帧的互联网协议源地址,所述入口接口的所述标识符是接收到所述数据帧的逻辑入口接口的标识符,并且所述帧信息进一步包括所接收的数据帧的互联网协议多播组地址。
24.一种用于管理与数据驱动学习有关并且在软件定义网络的网元和所述软件定义网络的控制器之间发生的数据流量的计算机程序,所述网元根据从所述控制器接收到的配置数据来维护用于管理在所述网元处接收的数据的控制系统,其特征在于,所述计算机程序包括计算机可执行指令,所述计算机可执行指令用于控制所述网元的可编程处理系统以:
-响应于所述控制系统不具有对应于与在所述网元处接收的数据帧有关的帧信息的条目的情形,检查状态信息是否包含所述帧信息对于所述控制器可用的指示,以及
-响应于所述状态信息缺乏所述指示的情形,更新所述状态信息以包含所述指示,并且将所述帧信息布置为对于所述控制器可用,以使得所述控制器能够根据所述帧信息来产生更新的配置数据,
其中,所述帧信息包括所接收的数据帧的源地址以及在所述网元处接收到所述数据帧的入口接口的标识符。
25.一种计算机程序产品,所述计算机程序产品包括用根据权利要求24所述的计算机程序编码的非瞬时性计算机可读介质。
CN201580069376.0A 2014-12-19 2015-12-15 软件定义网络的网元 Pending CN107210975A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FI20146123 2014-12-19
FI20146123 2014-12-19
PCT/FI2015/050882 WO2016097480A1 (en) 2014-12-19 2015-12-15 A network element of a software-defined network

Publications (1)

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

Family

ID=55069891

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580069376.0A Pending CN107210975A (zh) 2014-12-19 2015-12-15 软件定义网络的网元

Country Status (4)

Country Link
US (1) US10432517B2 (zh)
EP (1) EP3235175A1 (zh)
CN (1) CN107210975A (zh)
WO (1) WO2016097480A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190104075A1 (en) 2017-09-29 2019-04-04 Futurewei Technologies, Inc. Self-Driving Packets with Conditional Commands
TWI677219B (zh) * 2018-12-12 2019-11-11 中華電信股份有限公司 基於異質軟體定義網路的監控系統

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11082287B2 (en) 2019-03-11 2021-08-03 At&T Intellectual Property I, L.P. Data driven systems and methods to isolate network faults

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140177634A1 (en) * 2012-12-24 2014-06-26 Huawei Technologies Co., Ltd. Software defined network-based data processing method, node, and system
US20140241349A1 (en) * 2013-02-26 2014-08-28 Electronics And Telecommunications Research Institute Openflow switch and packet processing method thereof
WO2014166551A1 (en) * 2013-04-12 2014-10-16 Nec Europe Ltd. Method and system for providing an information centric network

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013133227A1 (ja) 2012-03-05 2013-09-12 日本電気株式会社 ネットワークシステム、スイッチ、及びネットワーク構築方法
US9197568B2 (en) 2012-10-22 2015-11-24 Electronics And Telecommunications Research Institute Method for providing quality of service in software-defined networking based network and apparatus using the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140177634A1 (en) * 2012-12-24 2014-06-26 Huawei Technologies Co., Ltd. Software defined network-based data processing method, node, and system
US20140241349A1 (en) * 2013-02-26 2014-08-28 Electronics And Telecommunications Research Institute Openflow switch and packet processing method thereof
WO2014166551A1 (en) * 2013-04-12 2014-10-16 Nec Europe Ltd. Method and system for providing an information centric network

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190104075A1 (en) 2017-09-29 2019-04-04 Futurewei Technologies, Inc. Self-Driving Packets with Conditional Commands
CN111149333A (zh) * 2017-09-29 2020-05-12 华为技术有限公司 具有条件命令的自运行数据包
US10972397B2 (en) 2017-09-29 2021-04-06 Futurewei Technologies, Inc. Self-driving packets with conditional commands
US11722424B2 (en) 2017-09-29 2023-08-08 Futurewei Technologies, Inc. Execution of a command within a conditional command received in a data packet
TWI677219B (zh) * 2018-12-12 2019-11-11 中華電信股份有限公司 基於異質軟體定義網路的監控系統

Also Published As

Publication number Publication date
US20180013667A1 (en) 2018-01-11
US10432517B2 (en) 2019-10-01
WO2016097480A1 (en) 2016-06-23
EP3235175A1 (en) 2017-10-25

Similar Documents

Publication Publication Date Title
CN105976031B (zh) 多个语义推理引擎对数据的并行处理
US9491083B2 (en) Systems and methods of test packet handling
CN104980349B (zh) 中继系统以及交换机装置
CN106464531B (zh) 用于故障处理的方法、系统和设备
CN102769565B (zh) 基于流持续时间的用于网络中路径选择的方法和装置
EP2822255B1 (en) System and method of a hardware shadow for a network element
CN103004158A (zh) 具有可编程内核的网络设备
CN104660457A (zh) 网络元件及用于管理该网络元件的控制器
CN106464600B (zh) 用于在第3层网络中提供拥塞通知的系统和方法
US9813357B2 (en) Filtration of network traffic using virtually-extended ternary content-addressable memory (TCAM)
CN105099916B (zh) 开放流路由交换设备及其对数据报文的处理方法
CN107210975A (zh) 软件定义网络的网元
CN104704772A (zh) 通信系统、虚拟网络管理装置、虚拟网络管理方法和程序
CN104917760A (zh) 一种基于sdn的全局流表生成方法及装置
US9882772B2 (en) Network element and a controller for managing the network element
US20160344612A1 (en) Method and device for forwarding a packet
CN105763468B (zh) 一种bgp更新报文的传输方法和装置
US9742660B2 (en) Validating a routing function
CN102811151B (zh) 用于识别基金会现场总线链接装置的系统和方法
Feng et al. A reo model of software defined networks
Mirzaei et al. Using Alloy to formally model and reason about an OpenFlow network switch
An et al. Optimal configuration of virtual links for avionics network systems
US9306802B2 (en) Displaying FTE cable status as UCN cable status
CN104429026A (zh) 通信系统、控制装置、通信方法及程序
WO2015080092A1 (ja) ネットワーク制御装置、ネットワークシステム、ネットワーク制御方法、および、プログラム

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

Application publication date: 20170926

WD01 Invention patent application deemed withdrawn after publication