WO2015103869A1 - 一种软件定义网络中OpenFlow消息跟踪和过滤的方法 - Google Patents

一种软件定义网络中OpenFlow消息跟踪和过滤的方法 Download PDF

Info

Publication number
WO2015103869A1
WO2015103869A1 PCT/CN2014/083089 CN2014083089W WO2015103869A1 WO 2015103869 A1 WO2015103869 A1 WO 2015103869A1 CN 2014083089 W CN2014083089 W CN 2014083089W WO 2015103869 A1 WO2015103869 A1 WO 2015103869A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
traceld
controller
switch
openflow
Prior art date
Application number
PCT/CN2014/083089
Other languages
English (en)
French (fr)
Inventor
孔民
汪军
胡永生
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2015103869A1 publication Critical patent/WO2015103869A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV

Abstract

本发明实施例公开了一种软件定义网络SDN中OpenFlow跟踪和过滤的方法,在控制器和交换机之间进行交互时,控制器或交换机在发起的OpenFlow消息中携带TraceID;控制器或交换机当收到携带TraceID的OpenFlow消息后,在该OpenFlow消息的响应消息中、或该OpenFlow消息触发的其他消息中也携带同样的TraceID。

Description

一种软件定义网络中 OpenFlow消息跟踪和过滤的方法 技术领域
本发明涉及通信网络领域, 尤其是涉及一种软件定义网络中开放流 ( OpenFlow ) 消息跟踪和过滤的使用方法。 背景技术
OpenFlow协议是美国斯坦福大学于 2008年提出一种转发 /控制分离的协 议, 外置控制面实体釆用 OpenFlow协议控制转发面设备实现各种转发逻辑, 而转发面设备主要功能就是根据 OpenFlow控制器下发的流表执行受控转发。 OpenFlow协议进一步演进, 成为软件定义网络 ( Software Defined Network, SDN )技术, 即可以在控制面釆用软件编程实现各种复杂的网络应用。
OpenFlow协议支持三种信息类型: Controller-to- Switch (控制器到交换 机) , Asynchronous (异步消息)和 Symmetric (同步消息) , 每一个类型都 有多个子类型。 Controller-to-Switch信息由控制器发起, 并且直接用于检测转 发面的状态, 具体有 Feature (特征消息) 、 Configuration (配置消息) 、 Modify-State '爹改流表消息) 、 Read-State (读统计消息) 、 Packet-out (包 输出消息) 、 Barrier (标识消息) 、 Role-Request (角色请求消息) 、 Asychronous-Configuration (异步配置消息) 。 Asynchronous信息由转发面发 起,并通常用于更新控制器的网络事件和改变交换机的状态,具体有 Packet-In (包输入消息) 、 Flow-Removed (流表删除消息) 、 Port-status (端口状态消 息) 、 Error消息 (错误消息) 。 Symmetric信息可以在没有请求的情况下由 控制器或转发面发起,具体有 Hello(招呼消息)、Echo(回声消息)、 Experimenter (实现消息) 。
以下描述中以交换机节点来实例化转发面的概念。 当控制器交换机建立 了 OpenFlow链路以后, 两者之间的消息交互分为和转发相关以及和协议相 关。协议相关的消息(比如 hello、 Echo等)在控制器和单个交换机之间交互。 和转发相关的消息, 可能在控制器和多个交换机之间进行, 例如包转发的过 程中, 控制器会在转发路径上给多个交换机下流表, 这样才能保证包的源地 址和目的地址之间的通路。 单个交换机通过 Asynchronous消息上报的消息, 可能涉及到转发, 例如 Packet-In消息。 即便单个交换机上报的状态消息, 例 如 Port-status或 Error消息, 也可以看成是和转发相关, 影响包转发的路径的 生成和更新。
为了业务分析或故障定位, 可能需要获取控制器和交换机之间所有的消 息交互 (例如一条转发路径所涉及的所有交换机的流表信息) , 可能需要针 对交换机的每一个上报消息做跟踪和统计。 目前根据 OpenFlow协议,对于控 制器和交换机之间的消息, 无法定义特征字, 无法实现对于有相关性的 OpenFlow信息进行艮踪或过滤。
发明内容
本发明实施例针对 SDN, 提出一种 OpenFlow消息跟踪和过滤的方法, 实现了在控制器和交换机之间进行消息过滤和消息跟踪。
一种 SDN中 OpenFlow消息的跟踪和过滤方法, 该方法包括:
在控制器和交换机之间进行交互时,控制器或交换机在发起的 OpenFlow 消息中携带 TracelD;
所述控制器或交换机当收到携带所述 TracelD的 OpenFlow消息后,在该 OpenFlow消息的响应消息中、 或该 OpenFlow消息触发的其他消息中也携带 同样的所述 TracelD。
较佳地, 所述方法还可具有以下特点:
所述 TracelD放置在所述 OpenFlow消息头和消息尾之间或放置在所述 OpenFlow消息尾;
所述 TracelD是 64位或 128位;
当所述 TracelD是 64位时, 由一 64位的标识 ID所生成的 32位的 Hash 值和 32位的随机值组成;
当所述 TracelD是 128位时, 由一 64位的 ID和 64位的随机值组成。 较佳地, 所述方法还可具有以下特点: 控制器或交换机在发起的 OpenFlow消息中携带 TracelD的步骤包括: 当交换机发起时, 交换机向控制器发送携带 TracelD的包输入 Packet-In 消息;
所述控制器或交换机当收到携带所述 TracelD的 OpenFlow消息后,在该 OpenFlow消息的响应消息中、 或该 OpenFlow消息触发的其他消息中也携带 同样的所述 TracelD的步骤包括:
所述控制器收到携带 TracelD的 Packet-In消息后, 所述控制器给所有交 换机发送携带同样 TracelD的修改流表 Modify-State消息,所述控制器向发送 携带所述 TracelD的 Packet-In消息的交换机发送携带同样 TracelD的包输出 Packet-Out消息。
较佳地, 所述方法还可具有以下特点:
控制器或交换机在发起的 OpenFlow消息中携带 TracelD的步骤包括: 当控制器发起消息时, 控制器向交换机发送携带 TracelD的读统计请求 Read-State Req消息;
所述控制器或交换机当收到携带所述 TracelD的 OpenFlow消息后,在该
OpenFlow消息的响应消息中、 或该 OpenFlow消息触发的其他消息中也携带 同样的所述 TracelD的步骤包括:
所述交换机收到携带 TracelD的 Read-State Req消息后,所述交换机向所 述控制器发送携带同样 TracelD的读统计应答 Read-State Res 消息;
所述控制器收到携带 TracelD的 Read-State Res 消息后, 向所有交换机 周期性发送携带同样 TracelD的 Read-State Req消息。
较佳地, 所述方法还可具有以下特点:
当交换机在发起的 OpenFlow消息中携带 TracelD时, 生成所述 TracelD 所用的 ID是交换机的 DPID;
当控制器在发起的 OpenFlow消息中携带 TracelD时, 生成所述 TracelD 所用的 ID是控制器的 ID。
一种软件定义网络 SDN中 OpenFlow消息跟踪和过滤的装置, 应用于所 述 SDN的控制器和交换机中, 该装置包括:
添加模块, 其设置为: 当控制器和交换机之间进行交互时, 在所在的控 制器或交换机发起的 OpenFlow消息中携带 TracelD; 以及
反馈模块, 其设置为: 当所在的控制器或交换机收到携带所述 TracelD 的 OpenFlow消息后, 在该 OpenFlow消息的响应消息中、 或该 OpenFlow消 息触发的其他信息中也携带同样的所述 TraceID。
较佳地, 所述装置还具有以下特点:
所述添加模块及所述反馈模块是设置为分别将所述 TracelD放置在所述 OpenFlow消息头和消息尾之间或放置在所述 OpenFlow消息尾;
所述装置还包括: 生成模块;
所述 TracelD是 64位或 128位;
所述生成模块设置为:
当所述 TracelD是 64位时 , 将 ID生成的 Hash值和 32位的随机值组成 所述 TracelD;
当所述 TracelD是 128位, 将 ID和 64位的随机值组成所述 TraceID。 较佳地, 所述装置还具有以下特点:
所述添加模块是设置为: 当交换机发起 OpenFlow消息时,在所在的交换 机向控制器发送的包输入 Packet-In消息中携带 TracelD;
所述反馈模块是设置为: 当所在的控制器收到携带 TracelD的 Packet-In 消息后, 在所在的控制器给所有交换机发送的修改流表 Modify-State 消息中 携带同样的 TracelD,在所在控制器向发送携带所述 TracelD的 Packet-In消息 的交换机发送的包输出 Packet-Out消息中携带同样 TracelD。
较佳地, 所述装置还具有以下特点:
所述添加模块是设置为: 当所在的控制器发起 OpenFlow消息时,在所在 控制器向交换机发送的读统计请求 Read-State Req消息中携带 TracelD;
所述反馈模块是设置为: 当所在的交换机收到携带 TracelD的 Read-State Req消息后, 在所在的交换机向控制器发送的读统计应答 Read-State Res 消 息中携带同样 TracelD; 当所在的控制器收到携带 TracelD的 Read-State Resp 消息后, 在所在所述控制器向所有交换机周期性发送的 Read-State Req消息 中携带同样 TracelD。
较佳地, 所述装置还具有以下特点:
所述生成模块是设置为:当所在的交换机在发起的 OpenFlow消息中携带
TracelD时, 使用所述交换机的数据通路标识 DPID生成所述 TracelD; 当所 在的控制器在发起的 OpenFlow消息中携带 TracelD时,使用所述控制器的 ID 生成所述 TracelD。
本发明实施例还提供一种计算机程序, 包括程序指令, 当该程序指令被 交换机或控制器执行时, 使得该交换机或控制器可执行上述的方法。
本发明实施例还提供一种载有上述计算机程序的载体。
本发明实施例的软件定义网络中 OpenFlow 消息跟踪和过滤的方法及装 置, 突破了现有 OpenFlow协议中的局限,通过在控制器和交换机之间的消息 中定义特征字, 实现了对于有关性的 OpenFlow信息进行跟踪或过滤,给用户 带来方便有效、 实用的附加值及良好的用户体验。 附图说明
图 1所示为相关技术的 SDN的示意图;
图 2所示为 SDN控制器和交换机 OpenFlow建链的示意图;
图 3所示为本发明实施例 SDN包转发交换机 OpenFlow消息交互流程示 意图;
图 4所示为本发明实施例 SDN包转发控制面和交换机交互示意图; 图 5所示为本发明实施例 SDN控制器查询交换机统计 OpenFlow消息示 意图;
图 6所示为本发明实施例 SDN控制器查询交换机统计示意图; 图 7所示为相关技术的 OpenFlow消息结构图; 图 8所示为本发明实施例增加了 TracelD后的 OpenFlow消息结构图; 图 9所示为本发明实施方式中软件定义网络中 OpenFlow消息跟踪和过滤 的方法的流程图;
图 10所示为本发明实施方式中软件定义网络中 OpenFlow消息跟踪和过 滤的装置的架构图。 本发明的较佳实施方式
下文中将结合附图对本发明的实施例进行详细说明。 需要说明的是, 在 不冲突的情况下, 本申请中的实施例及实施例中的特征可以相互任意组合。
图 1中显示了相关技术 SDN解决方案中的基本网络架构图,由控制器和 交换机组成, 主机挂在交换机下面。
图 2是软件定义网络中控制器和交换机之间建立链路的消息交互过程, 消息交互是请求和应答的过程。
如图 9所示,本发明实施例提供了一种软件定义网络中 OpenFlow消息跟 踪和过滤的方法, 该方法包括:
步骤 101 : 在控制器和交换机之间进行交互时,控制器或交换机在发起的 OpenFlow消息中携带 TracelD;
在控制器或交换机独立发起的消息中,增加一个 TraceID。 除了控制器和 交换机之间建立链路的消息外, 其他由控制器或交换机主动发起的消息都可 以带上 TracelD。
当控制器和交换机建立链接的时候, 控制器和交换机可以协商是否支持 TraceID。 任一方不支持 TracelD, 不影响对该消息的处理。 控制器和交换机 都可以主动发起带 TracelD的 OpenFlow消息。
TracelD的放置位置, 可以但不限于放置在 OpenFlow消息头和消息尾之 间或放置在 OpenFlow消息尾。
TracelD的位数可以是 64位或 128位; 当 TracelD是 64位, 由 ID生成的 Hash值和 32位的随机值组成; 当 TracelD是 128位, 由 ID和 64位的随机值组成。
TracelD和 OpenFlow协议里消息头 Header里的事物号 xid既有相似之处, 也有不同的地方。 xid使用在请求和相应之间, 而对于没有事物相关性的消息 之间 xid, xid—般不同。 而 TracelD对于即使没有协议相关性的, 但是存在 业务相关性的消息,可以保持 TracelD—样,这样可以根据 TracelD作为过滤 和跟踪的条件。 同时 xid是 32位的, 不一定需要全网唯一, 但是 TracelD需 要全网唯一。 TracelD的位数选择 64位还是 128位, 主要是系统的开销和唯 一性之间的权衡。
TracelD的生成方式 ^下:
当交换机发起消息时, 交换机向控制器发送携带 TracelD 的包输入 Packet-In消息;生成 TracelD所用的 ID是交换机的数据通路标识( datapath ID, DPID ); 如果由交换机发起的消息携带 TracelD, 可以由交换机的 DPID (唯 一)计算生成。
当控制器发起消息时, 控制器向交换机发送携带 TracelD的读统计请求
Read-State Req消息; 生成 TracelD所用的 ID是控制器的 ID。 如果由控制面 发起的消息携带 TracelD, 可以由控制面配置计算生成。
步骤 102: 控制器或交换机当收到携带 TracelD的 OpenFlow消息后, 在 该 OpenFlow消息的响应消息中、 或该 OpenFlow消息触发的其他消息中也携 带同样的 TracelD。
通过上述步骤在控制器或交换机独立发起的消息中, 增加一个 TraceID。 本步骤在控制器或交换机的响应消息中或触发的其他相关消息中, 可以带上 这个 TracelD„
当交换机发起消息时, 控制器收到携带 TracelD的 Packet-In消息后, 控 制器给所有交换机发送携带同样 TracelD的修改流表 Modify-State消息,控制 器向发送携带 TracelD的 OpenFlow消息的交换机发送携带同样 TracelD的包 输出 Packet-Out消息。
当控制器发起消息时,交换机收到携带 TracelD的 Read-State Req消息后, 交换机向控制器发送携带同样 TracelD的读统计应答 Read-State Res 消息; 控制器收到携带 TracelD的 Read-State Resp消息后, 向所有交换机周期性发 送携带同样 TracelD的 Read-State Req消息。
上述方法中, 通过在控制器和交换机之间的消息中定义特征字, 实现了 对于有关联性的 OpenFlow 信息进行跟踪或过滤。 实现了对于有关性的 OpenFlow信息进行跟踪或过滤, 给用户带来方便有效、 实用的附加值及良好 的用户体验。 同时增加 TracelD的方式不必作为系统的必备功能, 可以作为系统的辅 助功能。 平时可以不使用, 在需要使用的时候, 可以通过命令方式打开, 不 影响系统的正常功能。 打开 TracelD功能后, 在控制器或交换机处做消息跟 踪或做消息过滤, 可以用 TracelD作为特征字或过滤条件。
为实现以上方法,本发明实施例还提供了一种软件定义网络中 OpenFlow 消息跟踪和过滤的装置, 如图 10所示, 该装置包括添加模块、 反馈模块及生 成模块, 其中, 添加模块, 设置为: 当控制器和交换机之间进行交互时, 在所在的控制 器或交换机发起的 OpenFlow消息中携带 TracelD;
添加模块及反馈模块分别将 TracelD放置在 OpenFlow消息头和消息尾之 间或放置在 OpenFlow消息尾;
添加模块, 设置为: 当交换机发起时, 在所在的交换机向控制器发送的 包输入 Packet-In消息中携带 TracelD; 添加模块, 设置为: 当所在的控制器发起消息时, 在所在控制器向交换 机发送的读统计请求 Read-State Req消息中携带 TraceID。 装置还包括: 生成模块;
TracelD是 64位或 128位;
生成模块设置为: 当 TracelD是 64位时, 将 ID生成的 Hash值和 32位 的随机值组成 TracelD; 当 TracelD是 128位, 将 ID和 64位的随机值组成 TracsID。 生成模块当所在的交换机在发起的 OpenFlow消息中携带, 生成 TracelD 所用的 ID是交换机的 DPID; 当所在的控制器在发起的 OpenFlow消息中携 带 TracelD时, 生成 TracelD所用的 ID是控制器的 ID。
反馈模块, 设置为: 当所在的控制器或交换机收到携带 TracelD 的 OpenFlow消息后, 在该 OpenFlow消息的响应消息中、 或该 OpenFlow消息 触发的其他信息中也携带同样的 TraceID。
反馈模块, 还设置为: 当所在的控制器收到携带 TracelD的 Packet-In消 息后, 在所在的控制器给所有交换机发送的修改流表 Modify-State 消息中携 带同样的 TracelD, 在所在控制器向发送携带 TracelD的 OpenFlow消息的交 换机发送的包输出 Packet-Out消息中携带同样 TracelD。
反馈模块,还设置为:当所在的交换机收到携带 TracelD的 Read-State Req 消息后, 在所在的交换机向控制器发送的读统计应答 Read-State Res 消息中 携带同样 TracelD; 当所在的控制器收到携带 TracelD的 Read-State Res 消息 后, 在所在控制器向所有交换机周期性发送的 Read-State Req消息中携带同 样 TracelD。
该装置的其他功能请参考方法内容的描述。
本发明实施例还提供一种计算机程序, 包括程序指令, 当该程序指令被 交换机或控制器执行时 , 使得该交换机或控制器可执行上述的方法。
本发明实施例还提供一种载有上述计算机程序的载体。
实施例一, 图 3、 图 4 为交换机进行转发的消息交互过程。 在这个过程 中, 可以增加 TracelD作为业务交互的特征字。
操作步骤如下所述:
S301 : 当交换机收到一个包的时候, 会查本地有没有对应的转发表。 如 果有, 就按照转发表转发。 如果没有, 交换机通过 Packet-In消息将需要转发 的包(或部分包内容)发给控制器。 此时如果 TracelD功能打开, 交换机会 生成一个唯一的 TracelD , 并封装在 Packet-In 消息里送给控制器。 传统的 OpenFlow协议的消息格式如图 7所示: 由消息头和消息体组成, 消息头包含 版本号、 消息类型和事物号。 增加了 TracelD的 OpenFlow消息如图 8所示, 其中 TracelD放置在消息头和消息体之间。 当然放置位置不一定要在消息体 和消息体之间,也可以放置在消息尾。如果配置成是 64位的 TracelD, TracelD 以该转发面的 DPID ( 64位)生成的 32位的 Hash值 +32位的随机值生成, 这 个随机值可以是系统上电后生成, 以递增方式变化。 如果是配置成 128位的 TracelD, TracelD以该转发面的 DPID +64位的随机值生成, 这个随机值可以 是系统上电后生成, 以递增方式变化。
S302: 控制器收到 Packet-In消息后, 根据本地保存的网络拓朴信息生成 包转发路径(包括路径中的每一个节点的转发流表)。 控制器通过 Modify消 息把流表下给路径中的每一个交换机。 以后交换机就会根据流表项来转发这 条流。 因为每一个交换机节点的转发都是和这一条流转发相关, 因此控制器 在给每一个交换机节点下发的 Modify消息中都可以带上同样的 TracelD, 即 S301流程中的第一个 Packet-In所带的 TraceID。 各个交换机节点收到流表项 以后, 当收到前一个交换机节点转发的包以后, 也会根据转发规则转发继续 转发这条流, 直到这条流的包到达目的地。
S303: 控制器收到首个交换机的上送的 Packet-In消息, 也会主动给这个 交换机的这个 Packet下发 Packet-Out消息, 这主要是控制器通告交换机如何 进行这个包的转发。控制器可以在 Packet-Out消息中带上同样的 TracelD, 即 S301流程中的第一个 Packet-In所带的 TraceID。
以上三个过程通过同样的 TracelD, 实现了用 TracelD表征同一条流的转 发过程。 如果用 TracelD过滤或跟踪, 可以过滤出具有相关性的 OpenFlow消 息。
实施例二, 图 5、 图 6为控制面对交换机进行统计的过程。 在这个过程 中, 可以增加 TracelD作为业务交互的特征字。
操作步骤如下所述:
S501 : 控制器会对交换机节点进行统计。 统计消息是针对不同交换机进 行的, 可以手动触发, 也可以自动触发。 触发时间点可以在同一时间点, 也 可以在不同时间点发起。 控制器如果需要关联针对不同交换机的统计结果, 可以向交换机发送的 Read-State消息中携带同样的 TracelD。传统的 OpenFlow 协议的消息格式如图 7所示: 由消息头和消息体组成, 消息头包含版本号、 消息类型和事物号。增加了 TracelD的 OpenFlow消息如图 7所示 ,其中 TracelD 放置在消息头和消息体之间。当然放置位置不一定要在消息体和消息体之间, 也可以防止在消息尾。 TracelD可以由 ID+随机值组成。 ID可以在控制器上 配置为 64位。 如果 TracelD是 128位, 可以由 ID+64位的随机数组成; 如果 TracelD是 64的, 可以由 ID的 Hash值( 32位) +32位的随机值组成。 保证 TracelD是唯一的。
S502: 每个交换机收到控制器的统计请求后, 会向控制器发送统计应答 消息。 如果控制器的请求消息中携带了 TracelD, 交换机又支持 TracelD, 会 在应答消息中携带控制器发送统计请求里所带的同样的 TraceID。这样在交换 机所应答的统计消息中的 TracelD都是一样的。
如果控制器需要对交换机进行统计, 可以在周期性发送的 Read-State消 息中携带同样的 TraceID。
以上过程通过同样的 TracelD,实现了控制器对一组交换机节点进行统计 消息的关联。如果用 TracelD过滤,可以过滤出具有相关性的 OpenFlow消息。
以上方案中的 Controller功能可以在任何有计算能力的服务器或控制器 等一切网络设备上实现, 比如 X86服务器; 转发面的功能可以在任何有路由 功能的服务器或路由器或交换机等一切网络设备上实现, 比如 X86服务器, 增强的普通交换机等。
当然, 本发明还可有其他多种实施例, 在不背离本发明精神及其实质的 但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。 本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序 来指令相关硬件完成, 所述程序可以存储于计算机可读存储介质中, 如只读 存储器、 磁盘或光盘等。 可选地, 上述实施例的全部或部分步骤也可以使用 一个或多个集成电路来实现。 相应地, 上述实施例中的各模块 /单元可以釆用 硬件的形式实现, 也可以釆用软件功能模块的形式实现。 本发明不限制于任 何特定形式的硬件和软件的结合。
工业实用性
本发明实施例突破了现有 OpenFlow协议中的局限,通过在控制器和交换 机之间的消息中定义特征字,实现了对于有关性的 OpenFlow信息进行跟踪或 过滤, 给用户带来方便有效、 实用的附加值及良好的用户体验。

Claims

权 利 要 求 书
1、一种软件定义网络 SDN中开放流 OpenFlow消息的跟踪和过滤的方法, 该方法包括:
在控制器和交换机之间进行交互时, 所述控制器或所述交换机在发起的 OpenFlow消息中携带跟踪标识 TracelD; 以及
所述控制器或所述交换机收到携带所述 TracelD的 OpenFlow消息后,在 该 OpenFlow消息的响应消息中、 或该 OpenFlow消息触发的其他消息中也携 带同样的所述 TracelD。
2、 如权利要求 1所述的方法, 其中,
所述 TracelD放置在所述 OpenFlow消息头和消息尾之间或放置在所述
OpenFlow消息尾;
所述 TracelD是 64位或 128位;
当所述 TracelD是 64位时, 由一 64位的标识 ID所生成的 32位的 Hash 值和 32位的随机值组成;
当所述 TracelD是 128位时, 由一 64位的 ID和 64位的随机值组成。
3、 如权利要求 1或 2所述的方法, 其中,
所述控制器或所述交换机在发起的 OpenFlow消息中携带 TracelD的步骤 包括:
当所述交换机发起所述 OpenFlow消息时,所述交换机向所述控制器发送 携带 TracelD的包输入 Packet-In消息;
所述控制器或所述交换机收到携带所述 TracelD的 OpenFlow消息后,在 该 OpenFlow消息的响应消息中、 或该 OpenFlow消息触发的其他消息中也携 带同样的所述 TracelD的步骤包括:
所述控制器收到携带 TracelD的 Packet-In消息后, 所述控制器给所有交 换机发送携带同样 TracelD的修改流表 Modify-State消息,所述控制器向发送 携带所述 TracelD的 Packet-In消息的交换机发送携带同样 TracelD的包输出 Packet-Out消息。
4、 如权利要求 1或 2所述的方法, 其中,
所述控制器或所述交换机在发起的 OpenFlow消息中携带 TracelD的步骤 包括:
当所述控制器发起 OpenFlow消息时,所述控制器向所述交换机发送携带 TracelD的读统计请求 Read-State Req消息;
所述控制器或所述交换机当收到携带所述 TracelD的 OpenFlow消息后, 在该 OpenFlow消息的响应消息中、 或该 OpenFlow消息触发的其他消息中也 携带同样的所述 TracelD的步骤包括:
所述交换机收到携带 TracelD的 Read-State Req消息后,所述交换机向所 述控制器发送携带同样 TracelD的读统计应答 Read-State Res 消息;
所述控制器收到携带 TracelD的 Read-State Res 消息后, 向所有交换机 周期性发送携带同样 TracelD的 Read-State Req消息。
5、 如权利要求 2所述的方法, 其中,
当交换机在发起的 OpenFlow消息中携带 TracelD时, 生成所述 TracelD 所用的 ID是交换机的数据通路标识 DPID;
当控制器在发起的 OpenFlow消息中携带 TracelD时, 生成所述 TracelD 所用的 ID是控制器的 ID。
6、一种软件定义网络 SDN中开放流 OpenFlow消息的跟踪和过滤的装置, 应用于所述 SDN的控制器和交换机中, 该装置包括:
添加模块, 其设置为: 当控制器和交换机之间进行交互时, 在所在的控 制器或交换机发起的 OpenFlow消息中携带跟踪标识 TracelD; 以及
反馈模块, 其设置为: 当所在的控制器或交换机收到携带所述 TracelD 的 OpenFlow消息后, 在该 OpenFlow消息的响应消息中、 或该 OpenFlow消 息触发的其他信息中也携带同样的所述 TraceID。
7、 如权利要求 6所述的装置, 其中,
所述添加模块及所述反馈模块是设置为分别将所述 TracelD放置在所述 OpenFlow消息头和消息尾之间或放置在所述 OpenFlow消息尾; 所述装置还包括: 生成模块;
所述 TracelD是 64位或 128位;
所述生成模块设置为:
当所述 TracelD是 64位时, 将 ID生成的 Hash值和 32位的随机值组成 所述 TracelD;
当所述 TracelD是 128位时 , 将 ID和 64位的随机值组成所述 TraceID。
8、 如权利要求 6或 7所述的装置, 其中,
所述添加模块是设置为: 当交换机发起 OpenFlow消息时,在所在的交换 机向控制器发送的包输入 Packet-In消息中携带 TracelD;
所述反馈模块,是设置为: 当所在的控制器收到携带 TracelD的 Packet-In 消息后, 在所在的控制器给所有交换机发送的修改流表 Modify-State 消息中 携带同样的 TracelD,在所在控制器向发送携带所述 TracelD的 Packet-In消息 的交换机发送的包输出 Packet-Out消息中携带同样 TracelD。
9、 如权利要求 6或 7所述的装置, 其中,
所述添加模块, 是设置为: 当所在的控制器发起 OpenFlow消息时, 在所 在控制器向交换机发送的读统计请求 Read-State Req消息中携带 TracelD; 所述反馈模块,是设置为:当所在的交换机收到携带 TracelD的 Read-State Req消息后, 在所在的交换机向控制器发送的读统计应答 Read-State Res 消 息中携带同样 TracelD; 当所在的控制器收到携带 TracelD的 Read-State Resp 消息后, 在所在所述控制器向所有交换机周期性发送的 Read-State Req消息 中携带同样 TracelD。
10、 如权利要求 7所述的装置, 其中,
所述生成模块是设置为:当所在的交换机在发起的 OpenFlow消息中携带 TracelD时, 使用所述交换机的数据通路标识 DPID生成所述 TracelD; 当所 在的控制器在发起的 OpenFlow消息中携带 TracelD时,使用所述控制器的 ID 生成所述 TracelD。
11、 一种计算机程序, 包括程序指令, 当该程序指令被交换机或控制 执行时, 使得该交换机或控制器可执行权利要求 1-5任一项所述的方法。
12、 一种载有权利要求 11所述计算机程序的载体。
PCT/CN2014/083089 2014-01-08 2014-07-25 一种软件定义网络中OpenFlow消息跟踪和过滤的方法 WO2015103869A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410007439.7 2014-01-08
CN201410007439.7A CN104767720A (zh) 2014-01-08 2014-01-08 一种软件定义网络中OpenFlow消息跟踪和过滤的方法

Publications (1)

Publication Number Publication Date
WO2015103869A1 true WO2015103869A1 (zh) 2015-07-16

Family

ID=53523515

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/083089 WO2015103869A1 (zh) 2014-01-08 2014-07-25 一种软件定义网络中OpenFlow消息跟踪和过滤的方法

Country Status (2)

Country Link
CN (1) CN104767720A (zh)
WO (1) WO2015103869A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109644158B (zh) 2016-06-01 2020-12-25 华为技术有限公司 区分报文进入消息的软件定义网络系统
CN106357450B (zh) * 2016-09-29 2021-09-03 全球能源互联网研究院 一种OpenFlow协议异步消息映射方法
CN107968754B (zh) * 2016-10-19 2021-08-06 中兴通讯股份有限公司 流表下发方法、接收方法、控制器、交换机及转发系统
CN112262553B (zh) * 2018-06-13 2022-09-16 瑞典爱立信有限公司 在软件定义网络交换机的分组处理流水线中跟踪分组的装置和方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010103909A1 (ja) * 2009-03-09 2010-09-16 日本電気株式会社 OpenFlow通信システムおよびOpenFlow通信方法
CN102594697A (zh) * 2012-02-21 2012-07-18 华为技术有限公司 负载均衡方法及负载均衡装置
CN103209121A (zh) * 2013-03-15 2013-07-17 中兴通讯股份有限公司 基于开放流协议的控制面设备的发现处理方法及装置
CN103250392A (zh) * 2010-12-09 2013-08-14 日本电气株式会社 计算机系统、控制器和网络监视方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103379039B (zh) * 2012-04-23 2016-12-14 华为技术有限公司 一种用于流统计的方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010103909A1 (ja) * 2009-03-09 2010-09-16 日本電気株式会社 OpenFlow通信システムおよびOpenFlow通信方法
CN103250392A (zh) * 2010-12-09 2013-08-14 日本电气株式会社 计算机系统、控制器和网络监视方法
CN102594697A (zh) * 2012-02-21 2012-07-18 华为技术有限公司 负载均衡方法及负载均衡装置
CN103209121A (zh) * 2013-03-15 2013-07-17 中兴通讯股份有限公司 基于开放流协议的控制面设备的发现处理方法及装置

Also Published As

Publication number Publication date
CN104767720A (zh) 2015-07-08

Similar Documents

Publication Publication Date Title
US10659344B2 (en) Information transmission method, apparatus and system
CN104541482B (zh) 为具有平滑重启能力的邻居使用rvsp hello抑制的系统和方法
EP3213489B1 (en) Content classification and content marking for information centric networks
EP3026861B1 (en) Method and apparatus for processing time synchronization
WO2019184752A1 (zh) 网络设备的管理方法、装置及系统
WO2016146077A1 (zh) 一种动态路由配置方法、装置及系统
WO2012090996A1 (ja) 情報システム、制御装置、仮想ネットワークの提供方法およびプログラム
CN106936715A (zh) 虚拟机报文控制方法及装置
CN105847185B (zh) 分布式设备的报文处理方法、装置及分布式设备
WO2015074182A1 (zh) 一种基于流表的表项寻址方法、交换机及控制器
WO2016150057A1 (zh) 访问控制列表acl的发送方法及装置
WO2016115853A1 (zh) 用户设备ue处理方法及装置
EP2899927B1 (en) Method, device and system for implementing packet routing in network
CN103825826B (zh) 一种动态路由的实现方法和装置
WO2015103869A1 (zh) 一种软件定义网络中OpenFlow消息跟踪和过滤的方法
CN105723664A (zh) 一种通信方法、装置、控制器和转发面设备
WO2015123853A1 (zh) 一种数据流处理方法及装置
WO2015081735A1 (zh) 流量卸载的方法、装置及系统
WO2009089761A1 (fr) Procédé, système pour la mise en oeuvre d'une commutation de suivi de routage de multidiffusion dans des deuxième et troisième couches, et routeur
WO2015003420A1 (zh) 一种云计算环境的资源部署方法
WO2013152496A1 (zh) 接收信息的方法、发送信息的方法及装置
WO2019041944A1 (zh) 一种处理报文的方法和装置
WO2015135312A1 (zh) 一种实现sdn网络通信管理的方法及装置
WO2015074258A1 (zh) 一种控制业务数据在虚拟网络中转发的方法、装置及系统
WO2011124183A2 (zh) 路由器集群转发信息库的获得方法及路由器

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14877872

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14877872

Country of ref document: EP

Kind code of ref document: A1