CN104380667A - 一种数据报文的路由方法和设备 - Google Patents

一种数据报文的路由方法和设备 Download PDF

Info

Publication number
CN104380667A
CN104380667A CN201380000643.XA CN201380000643A CN104380667A CN 104380667 A CN104380667 A CN 104380667A CN 201380000643 A CN201380000643 A CN 201380000643A CN 104380667 A CN104380667 A CN 104380667A
Authority
CN
China
Prior art keywords
business
information
data message
switch
business chain
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
Application number
CN201380000643.XA
Other languages
English (en)
Other versions
CN104380667B (zh
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN104380667A publication Critical patent/CN104380667A/zh
Application granted granted Critical
Publication of CN104380667B publication Critical patent/CN104380667B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/04Registration at HLR or HSS [Home Subscriber Server]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements

Landscapes

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

Abstract

本发明提供一种数据报文的路由方法和设备,当Switch从SE接收到经过业务处理的业务流时,Switch可根据从SE接收到的所述业务流确定对应业务链的转发规则,并按照该转发规则对接收到的来自SE的数据报文进行路由。相比现有技术中SPC需针对每个业务流向Switch下发转发规则的情况,采用本发明实施例的技术方案,SPC只需针对每个业务链向Switch下发转发规则,减少了SPC和Switch之间的信令交互,节约了网络开销。

Description

一种数据报文的路由方法和设备 技术领域
本发明涉及通信技术领域, 尤其涉及一种数据报文的路由方法和设备。 背景技术
为了对 GGSN/PGW (网关 GPRS支持节点 /演进的分组核心网络设备)的 Gi口的数据进行增值业务处理(如:对数据进行内容优化、加速的增值业务), 可以在 GGSN/PGW的 Gi口串联增值业务服务器, 如图 1所示, 为在 Gi口串 联 4个增值业务服务器的系统架构示意图。 所述增值业务服务器也可以称之 为 SE ( Service Enabler, 业务使能器), 如视频优化器、 业务流压缩器、 数据 緩存器、 深度报文探测器、 HTTP头增强器等。
在图 1所示的系统架构下, Gi口与各 SE之间串联, 业务流要流经每个 SE, 但是, 在实际路由过程中, 不是所有的业务流都需要经过每个 SE, 有鉴 于此, 可以对业务流的传输路径进行优化, 使不同类别的业务流按照各自的 路由规则进行路由。 如: 某些类别的业务流需流经所有的 SE, 某些类别的业 务流需流经部分 SE, 甚至某些类别的业务流可以不流经 SE。
为了优化业务流流经 SE的路径,使不同类别的业务流可按照各自的路由 规则进行路由, 目前业界提出了图 2所示的基于业务的路由控制系统, 所述 路由控制系统包括: STC ( Service Traffic Classifier, 业务流分类器)、 SPC ( Service Path Controller, 业务路径控制器)、 Switch (可编程交换机)和 SE, 其中:
所述路由控制系统中包括的 Switch和 SE的数量可以为至少一个, STC 和 SE直接连接到 Switch上, 每个 Switch上可以连接至少一个 SE, Switch之 间可直接互联或通过标准的交换机网络互联。 这里的 Switch是指: 流表项可 以由外部控制器通过外部开放接口进行编程控制的交换机, 例如: Openflow 交换机。 所述 STC用于识别业务流的应用类别, 如视频应用、 P2P应用、 FTP下 载应用、 Web浏览应用等, 并通过 Sts接口向 SPC上报该业务流的信息与对 应的业务路由规则。 另外, 不同的业务流可能具有相同的业务路由规则, 可 以将具有相同业务路由规则的业务流视为对应同一业务链的业务流, 因此, STC也可以向 SPC上报业务链的信息与对应的业务路由规则。若 SPC接收到 的是业务流的信息与对应的业务路由规则, 则可以直接确定所述业务流的信 息对应的业务流的业务路由规则; 若 SPC接收到的是业务链的信息与对应的 业务路由规则, 则可以确定根据该业务链的信息确定对应的业务链, 进而确 定对应该业务链的各条业务流的业务路由规则。
所述业务流的信息是用于标识该业务流的信息, 例如: 业务流五元组信 息 (源 IP地址、 目的 IP地址、 协议类型、 源端口号、 目的端口号)。
所述业务链的信息是用于标识具有相同业务路由规则的业务流所共同对 应的业务链的信息, 例如, 具有相同业务路由规则的各业务流中的数据报文 进行隧道封装时使用相同的隧道标识, 则可将所述隧道标识作为业务链的信 息。
所述业务路由规则中包括业务流在多个节点间的路由路径, 所述业务路 由规则可以包括至少一条路由路径, 其中, 每条路由路径表示业务流从一个 节点流向另一个节点的路由过程。 以所述节点是 SE为例, 所述业务路由规则 中的各条路由路径集合在一起可以是: 按照业务流的路由顺序依次排列的 SE 信息, 其中, 所述 SE信息可以是 SE的名称、 标识、 IP地址、 MAC地址等 能够唯一标识该 SE的信息。
SPC接收到 STC发送的业务流的信息与对应的业务路由规则或业务链的 信息与对应的业务路由规则后, 可根据资源拓朴信息(即 Switch, SE和 STC 之间的拓朴信息 )确定该业务流按照依次排列的 SE路由时所经过的路径(即 路由时所经过的 Switch端口和 SE ), 并为该路径上的每个 Switch生成与业务 路由规则适配的至少一条转发规则, 所述转发规则中包括业务流从一个节点 到相邻的另一个节点的路由路径。 SPC 将生成的所述转发规则下发至业务流 路由时所经过的 Switch, 具体地, SPC可通过流表项等形式将所述转发规则 下发至 Switch。 Switch在接收到业务流时, 可根据业务流的信息 (如业务流 五元组信息)或业务链的信息确定对应的至少一条转发规则, 并按照该转发 规则对业务流中的数据报文进行路由处理。
当对应不同业务链的业务流需要通过与 Switch的不同端口相连的多个 SE 进行业务处理时, 在目前的处理方式下, 网络开销较大。 发明内容
本发明实施例描述了一种数据报文的路由方法和设备, 用以解决现有技 术中网络开销较大的问题。
第一方面, 提供一种数据报文的路由方法, 包括:
Swtich接收业务使能器 SE发送的数据报文;
所述 Switch根据从所述 SE接收到的数据报文所属的业务流, 获取所述 业务流对应的业务链的转发规则;
所述 Switch根据所述转发规则对从所述 SE接收到的数据报文进行路由。 结合第一方面, 在第一种可能的实现方式下, 所述 Switch根据从所述 SE 接收到的数据报文所属的业务流, 获取所述业务流对应的业务链的转发规则, 包括:
所述 Switch根据从所述 SE接收到的数据报文所属的业务流, 以及所述 业务流和所述业务链的对应关系, 获取所述业务链的转发规则。
结合第一方面的第一种可能实现方式, 在第二种可能的实现方式下, 还 包括:
所述 Switch根据所述转发规则生成流表项, 所述流表项的匹配域包括所 述业务链的信息, 所述流表项的指令域包括所述转发规则;
所述 Switch根据从所述 SE接收到的数据报文所属的业务流, 以及所述 业务流和所述业务链的对应关系, 获取所述业务链的转发规则, 包括:
所述 Switch根据从所述 SE接收到的数据报文所属的业务流, 以及所述 业务流和所述业务链的对应关系, 封装从所述 SE接收到的数据报文, 以使封 装后的所述的数据报文包括所述业务链的信息; 的信息; 或者,
所述 Switch根据从所述 SE接收到的数据报文所属的业务流, 以及所述 业务流和所述业务链的对应关系, 获得所述业务链的信息;
所述 Switch根据所述获得的业务链的信息获取对应的所述流表项的指令 域的信息。
结合第一方面的第一种可能的实现方式或第一方面的第二种可能的实现 方式, 在第三种可能的实现方式下, 所述业务流和所述业务链的对应关系是 所述 Switch根据接收到的数据报文中包括的所述业务流的信息和所述业务链 的信息建立的。
结合第一方面的第三种可能实现方式, 在第四种可能的实现方式下, 还 包括:
所述 Switch接收网络设备发送的数据报文, 其中所述网络设备发送的数 据报文包括所述业务流的信息和所述业务链的信息;
所述 Switch根据所述业务流的信息和所述业务链的信息建立所述业务流 和所述业务链的对应关系。
结合第一方面, 在第五种可能的实现方式下, 所述 Switch根据从所述 SE 接收到的数据报文所属的业务流, 获取所述业务流对应的业务链的转发规则, 包括:
所述 Switch根据从所述 SE接收到的数据报文所属的业务流, 以及所述 业务流和所述业务链的转发规则的对应关系, 获取所述业务链的转发规则。
结合第一方面的第五种可能实现方式, 在第六种可能的实现方式下, 所 述业务流和所述业务链的转发规则的对应关系是所述 Switch根据接收到数据 报文中包括的所述业务流的信息和所述业务链的信息建立的。
结合第一方面的第六种可能实现方式, 在第七种可能的实现方式下, 还 包括:
所述 Switch接收网络设备发送的数据报文, 其中所述网络设备发送的数 据报文包括所述业务流的信息和所述业务链的信息;
所述 Switch根据所述业务流的信息和所述业务链的信息, 以及所述业务 链与所述业务链的转发规则的对应关系, 建立所述业务流和所述业务链的转 发规则的对应关系。
结合第一方面的第七种可能实现方式, 在第八种可能的实现方式下, 所 述 Switch根据所述业务流的信息和所述业务链的信息, 以及所述业务链与所 述业务链的转发规则的对应关系, 建立所述业务流和所述业务链的转发规则 的对应关系, 包括:
所述 Switch根据所述业务流的信息和所述业务链的信息, 以及所述业务 链与所述业务链的转发规则的对应关系, 生成流表项, 其中所述流表项的匹 配域包括所述业务流的信息, 所述指令域包括所述转发规则。
结合第一方面的第八种可能实现方式, 在第九种可能的实现方式下, 所 述 Switch根据从所述 SE接收到的数据报文所属的业务流, 以及所述业务流 和所述业务链的转发规则的对应关系, 获取所述业务链的转发规则, 包括: 所述 Switch根据从所述 SE接收到的数据报文所属的业务流, 获取对应 的所述流表项的指令域的信息。
结合第一方面的第一至第九种任一可能的实现方式, 在第十种可能的实 现方式下, 还包括:
所述 Switch接收业务路径控制器 SPC下发的所述业务链的转发规则。 结合第一方面的第四种可能实现方式或第七种可能实现方式, 在第十一 种可能的实现方式下, 还包括:
所述 Switch接收所述 SPC下发的指示信息, 所述指示信息用于指示所述 Switch建立所述对应关系; 或者,
所述 Swtich ^艮据配置信息确定建立所述对应关系。
结合第一方面的第十一种可能实现方式, 在第十二种可能的实现方式下, 还包括:
所述 Switch向 SPC上报所述 Switch具有建立所述对应关系的能力; 或 者,
所述 Switch才艮据配置信息确定所述 Swtich具有建立所述对应关系的能 力。
第二方面, 提供一种数据报文的路由设备, 包括:
报文接收单元, 用于接收业务使能器 SE发送的数据报文;
转发规则获取单元, 用于根据从所述 SE接收到的数据报文所属的业务 流, 获取所述业务流对应的业务链的转发规则;
路由单元,用于根据所述转发规则对从所述 SE接收到的数据报文进行路 由。
结合第二方面, 在第一种可能的实现方式下, 所述转发规则获取单元, 具体用于根据从所述 SE接收到的数据报文所属的业务流,以及所述业务流和 所述业务链的对应关系, 获取所述业务链的转发规则。
结合第二方面或第二方面的第一种可能的实现方式, 在第二种可能的实 现方式下, 还包括:
流表项生成单元, 用于根据所述转发规则生成流表项, 所述流表项的匹 配域包括所述业务链的信息, 所述流表项的指令域包括所述转发规则;
所述转发规则获取单元,具体用于根据从所述 SE接收到的数据报文所属 的业务流, 以及所述业务流和所述业务链的对应关系, 封装从所述 SE接收到 的数据报文, 以使封装后的所述的数据报文包括所述业务链的信息, 并根据 封装后的所述数据报文获取对应的所述流表项生成单元生成的所述流表项的 指令域的信息; 或者, 根据从所述 SE接收到的数据报文所属的业务流, 以及 所述业务流和所述业务链的对应关系, 获得所述业务链的信息, 并根据所述 获得的业务链的信息获取对应的所述流表项生成单元生成的所述流表项的指 令域的信息。
结合第二方面或第二方面的第一种可能的实现方式, 在第三种可能的实 现方式下, 还包括:
对应关系建立单元, 用于根据接收到的数据报文中包括的所述业务流的 信息和所述业务链的信息建立所述业务流和所述业务链的对应关系。
结合第二方面的第三种可能的实现方式, 在第四种可能的实现方式下, 所述报文接收单元, 还用于接收网络设备发送的数据报文, 其中所述网 络设备发送的数据报文包括所述业务流的信息和所述业务链的信息;
所述对应关系建立单元, 具体用于根据所述报文接收单元接收到的数据 报文中包括的所述业务流的信息和所述业务链的信息建立所述业务流和所述 业务链的对应关系。
结合第二方面, 在第五种可能的实现方式下, 所述转发规则获取单元, 具体用于根据从所述 SE接收到的数据报文所属的业务流,以及所述业务流和 所述业务链的转发规则的对应关系, 获取所述业务链的转发规则。
结合第二方面的第五种可能的实现方式, 在第六种可能的实现方式下, 还包括:
对应关系建立单元, 用于根据接收到数据报文中包括的所述业务流的信 息和所述业务链的信息建立所述业务流和所述业务链的转发规则的对应关 系。
结合第二方面的第六种可能的实现方式, 在第七种可能的实现方式下, 所述报文接收单元, 还用于接收网络设备发送的数据报文, 其中所述网络设 备发送的数据报文包括所述业务流的信息和所述业务链的信息;
所述对应关系建立单元, 具体用于根据所述报文接收单元接收到的数据 报文中的所述业务流的信息和所述业务链的信息, 以及所述业务链与所述业 务链的转发规则的对应关系, 建立所述业务流和所述业务链的转发规则的对 应关系。
结合第二方面的第七种可能的实现方式, 在第八种可能的实现方式下, 所述对应关系建立单元, 具体用于根据所述报文接收单元接收到的数据 报文中的业务流的信息和所述业务链的信息, 以及所述业务链与所述业务链 的转发规则的对应关系, 生成流表项, 其中所述流表项的匹配域包括所述业 务流的信息, 所述指令域包括所述转发规则。
结合第二方面的第八种可能的实现方式, 在第九种可能的实现方式下, 所述转发规则获取单元,具体用于根据从所述 SE接收到的数据报文所属的业 务流, 获取对应的所述流表项的指令域的信息。
结合第二方面或第二方面的第一至第九种任一可能的实现方式, 在第十 种可能的实现方式下, 还包括:
转发规则接收单元, 用于接收业务路径控制器 SPC下发的所述业务链的 转发规则。
结合第二方面的第四种可能的实现方式或第七种可能的实现方式, 在第 十一种可能的实现方式下, 还包括:
触发单元, 用于在接收所述 SPC下发的指示信息时, 所述指示信息用于 指示所述 Switch建立所述对应关系, 或者, 4艮据配置信息确定建立所述对应 关系时, 触发所述对应关系建立单元。
结合第二方面的第十一种可能的实现方式, 在第十二种可能的实现方式 下, 还包括:
上报单元, 用于向 SPC上报自身具有建立所述对应关系的能力。
第三方面, 提供一种数据报文的路由设备, 包括:
通信接口, 用于与外部网络设备进行交互;
处理器, 用于通过所述通信接口接收 SE发送的数据报文, 并根据从所述 SE接收到的数据报文所属的业务流, 获取所述业务流对应的业务链的转发规 则, 以及根据所述转发规则对从所述 SE接收到的数据报文进行路由。
结合第三方面, 在第一种可能的实现方式下, 所述处理器用于根据从所 述 SE接收到的数据报文所属的业务流,获取所述业务流对应的业务链的转发 规则,包括:所述处理器用于根据从所述 SE接收到的数据报文所属的业务流, 以及所述业务流和所述业务链的对应关系, 获取所述业务链的转发规则。
结合第三方面或第三方面的第一种可能的实现方式, 在第二种可能的实 现方式下, 所述处理器, 还用于根据所述转发规则生成流表项, 所述流表项 的匹配域包括所述业务链的信息, 所述流表项的指令域包括所述转发规则, 所述处理器具体用于根据从所述 SE接收到的数据报文所属的业务流, 以及所 述业务流和所述业务链的对应关系, 获取所述业务链的转发规则, 包括: 所 述处理器用于根据从所述 SE接收到的数据报文所属的业务流, 以及所述业务 流和所述业务链的对应关系, 封装从所述 SE接收到的数据报文, 以使封装后 的所述的数据报文包括所述业务链的信息, 并根据封装后的所述数据报文获 取对应的所述流表项的指令域的信息; 或者, 根据从所述 SE接收到的数据报 文所属的业务流, 以及所述业务流和所述业务链的对应关系, 获得所述业务 链的信息, 并根据所述获得的业务链的信息获取对应的所述流表项的指令域 的信息。
结合第三方面或第三方面的第一种可能的实现方式, 在第三种可能的实 现方式下, 所述业务流和所述业务链的对应关系是所述 Switch根据接收到的 数据报文中包括的所述业务流的信息和所述业务链的信息建立的。。
结合第三方面的第三种可能的实现方式, 在第四种可能的实现方式下, 所述处理器, 还用于通过所述通信接口接收网络设备发送的数据报文, 其中所述网络设备发送的数据报文包括所述业务流的信息和所述业务链的信 息;
所述处理器, 还用于根据通过所述通信接口接收到的数据报文中包括的 所述业务流的信息和所述业务链的信息建立所述业务流和所述业务链的对应 关系。
结合第三方面, 在第五种可能的实现方式下, 所述处理器具体根据从所 述 SE接收到的数据报文所属的业务流,获取所述业务流对应的业务链的转发 规则,包括:所述处理器用于根据从所述 SE接收到的数据报文所属的业务流, 以及所述业务流和所述业务链的转发规则的对应关系, 获取所述业务链的转 发规则。
结合第三方面的第五种可能的实现方式, 在第六种可能的实现方式下, 所述业务流和所述业务链的转发规则的对应关系是所述 Switch根据接收到数 据报文中包括的所述业务流的信息和所述业务链的信息建立的。
结合第三方面的第六种可能的实现方式, 在第七种可能的实现方式下, 所述处理器还用于通过通信接口接收网络设备发送的数据报文, 其中所述网 络设备发送的数据报文包括所述业务流的信息和所述业务链的信息;
所述处理器, 还用于根据通过所述通信接口接收到的数据报文中的所述 业务流的信息和所述业务链的信息, 以及所述业务链与所述业务链的转发规 则的对应关系, 建立所述业务流和所述业务链的转发规则的对应关系。
结合第三方面的第七种可能的实现方式, 在第八种可能的实现方式下, 所述处理器根据所述业务流的信息和所述业务链的信息, 以及所述业务 链与所述业务链的转发规则的对应关系, 建立所述业务流和所述业务链的转 发规则的对应关系, 包括: 所述处理器用于根据通过所述通信接口接收到的 数据报文中的业务流的信息和所述业务链的信息, 以及所述业务链与所述业 务链的转发规则的对应关系, 生成流表项, 其中所述流表项的匹配域包括所 述业务流的信息, 所述指令域包括所述转发规则。
结合第三方面的第八种可能的实现方式, 在第九种可能的实现方式下, 所述处理器用于根据从所述 SE接收到的数据报文所属的业务流,以及所述业 务流和所述业务链的转发规则的对应关系, 获取所述业务链的转发规则, 包 括: 所述处理器用于根据从所述 SE接收到的数据报文所属的业务流, 获取对 应的所述流表项的指令域的信息。
结合第三方面或第三方面的第一至第九种任一可能的实现方式, 在第十 种可能的实现方式下, 所述处理器还用于通过所述通信接口接收 SPC下发的 所述业务链的转发规则。
结合第三方面的第四种可能的实现方式或第七种可能的实现方式, 在第 十一种可能的实现方式下, 所述处理器, 还用于在接收所述 SPC下发的指示 信息时, 所述指示信息用于指示所述 Switch建立所述对应关系, 或者, 才艮据 配置信息确定建立所述对应关系时, 建立业务流与业务链的对应关系或业务 流与业务链的转发规则之间的对应关系。
结合第三方面的第十一种可能的实现方式, 在第十二种可能的实现方式 下, 所述处理器还用于通过所述通信接口向 SPC上报自身具有建立所述对应 关系的能力。
通过本发明实施例的方案, 当 Switch从 SE接收到经过业务处理的业务流 时, Switch可根据从 SE接收到的所述业务流确定对应业务链的转发规则, 并 按照该转发规则对接收到的来自 SE的数据报文进行路由。 相比现有技术中 SPC需针对每个业务流向 Switch下发转发规则的情况, 釆用本发明实施例的技 术方案, SPC只需针对每个业务链向 Switch下发转发规则,减少了 SPC和 Switch 之间的信令交互, 节约了网络开销。 附图说明
图 1为背景技术中在 Gi口串联 4个增值业务服务器的系统架构示意图; 图 2为背景技术中基于业务的路由控制系统示意图;
图 3为在数据报文中封装有业务链的信息的结构示意图;
图 4为本发明实施例一中数据报文的路由方法步骤示意图;
图 5为本发明实施例二中数据报文的路由方法步骤示意图;
图 6为本发明实施例三中两对应不同业务链的业务流的路由示意图; 图 7为本发明实施例三中流入 Switch的数据报文的格式示意图; 图 8为本发明实施例三中对流入 Switch的数据报文按照业务链 a的转发 规则一处理后的格式示意图;
图 9为本发明实施例六中 Switch内部署逻辑模块的示意图;
图 10 ( a )和图 10 ( b )为本发明实施例七中数据报文的路由设备结构示 意图;
图 11为本发明实施例八中数据报文的路由设备结构示意图。 具体实施方式 为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本发 明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。 基于 本发明中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获 得的所有其他实施例, 都属于本发明保护的范围。
在实际网络部署时, 可能出现多个业务流(即各自的五元组内容不同的 业务流)按照同一转发规则进行路由的情况, 例如: FTP 下载应用的业务流 的转发规则为: 业务流经过 SE1处理后, 再经由 Switch发送至 Internet; Web 浏览应用的业务流的转发规则也为: 业务流经过 SE1处理后, 再经由 Switch 发送至 Internet, 此时, 两种不同应用类别的业务流在图 2所示的路由控制系 统中的路由路径是一样的, 因此, STC可以向 SPC发送业务链的信息和对应 的业务路由规则。
例如: STC对上述 FTP下载应用的业务流和 Web浏览应用的业务流识别 后, 确定这两种业务流的业务路由规则相同, STC可以向 SPC发送业务链的 信息 (如所述两种业务流中的数据报文进行隧道封装时所使用的相同的隧道 标识)与对应的业务路由规则。 SPC根据接收到的业务链的信息和对应的业 务路由规则, 生成与该业务路由规则适配的且与该业务链的信息关联的转发 规则, 并下发至 Switch。
在业务流开始路由时, STC对 FTP下载应用的业务流和 Web浏览应用的 业务流中的各数据报文进行隧道封装, 将相同的隧道标识封装在各数据报文 的外层。 以隧道标识为 VxLAN ID为例, 经过封装后的业务流中数据报文结 构如图 3所示, 其中 VxLAN Header字段中存储的是 VxLAN ID。 当封装有所 述隧道标识的数据报文到达 Switch后, Switch根据 SPC预先下发的与该隧道 标识关联的转发规则对 FTP下载应用的业务流和 Web浏览应用的业务流进行 路由。
相较于 SPC根据 STC发送的业务流的信息和对应的业务路由规则的做 法, SPC接收 STC发送的业务链的信息和对应的业务路由规则的优点是: 对 于转发规则相同的多个业务流而言, SPC可向 Switch下发多个转发规则相同 的业务流对应业务链的转发规则, Switch可根据该转发规则对对应相同业务 链的各条业务流进行处理, 相较于 SPC为每个业务流分别向 Switch下发对应 的转发规则的情况, 可减少 SPC和 Switch之间的信令交互, 同时, Switch上 存储的规则也减少了, 节约 Switch上的存储空间。
具体地到本发明实施例的方案,当封装有隧道标识的数据报文到达 Switch 时, Switch将所述数据报文解封装并去掉所述隧道标识后, 根据对应的转发 规则将解封装后的数据报文发送给 SE, SE对所述数据报文处理后再发回给 Switch, 由于 SE是第三方的业务使能器, 不具有感知数据报文所属业务流对 应的业务链的能力, 因此, Switch接收到的 SE发回的数据报文中不包含隧道 标识,为了实现对 SE发回的数据报文的正确路由,在本发明实施例的方案中, Switch根据 SE发回的数据报文所属的业务流,获取所述业务流对应业务链的 转发规则,进而利用该转发规则对 SE发回的数据报文进行路由,实现了 Switch 根据 SPC下发的业务链的信息和对应的转发规则, 对 SE发回的不包含业务 链的信息的数据报文的正确路由,除了减少了 STC和 SPC之间、 SPC和 Switch 之间的信令交互外, 本发明实施例的方案更具有通用性和灵活性。
下面结合附图对本发明优选的实施方式进行详细说明。
实施例一:
如图 4所示, 为本发明实施例一中数据报文的路由方法步骤示意图, 所述 方法主要包括以下步骤:
步骤 101 : Switch接收 SE发送的数据报文。
在本发明实施例一的方案中, Switch可以接收 SE或是其他网络设备发送 的数据报文, 当 Switch接收到 SE发送的数据报文时, 由于 SE是第三方的业务 使能器, 不具有感知数据报文所属业务流对应的业务链的能力, 因此, Switch 接收到的 SE发送的数据报文中不包含业务链的信息。
步骤 102: Switch根据从所述 SE接收到的数据报文所属的业务流, 获取所 述业务流对应的业务链的转发规则。 在本步骤 102的方案中, Switch可以根据预先保存的业务流和业务链的对 应关系, 确定从所述 SE接收到的数据报文所属的业务流对应的业务链, 进而 确定该业务链的转发规则; 或者, Switch可以个根据预先保存的业务流和业务 链的转发规则的对应关系, 确定从所述 SE接收到的数据报文所属的业务流对 应的业务链的转发规则。
步骤 103: Switch根据获取的所述转发规则对从所述 SE接收到的数据报文 进行路由。
通过本发明实施例一的方案, Switch从 SE接收到的不包含业务链的信息 的数据报文时, 仍可以根据所述数据报文所属的业务流获取对应的业务链的 转发规则对接收到的数据报文进行路由, 实现了 Switch根据 SPC下发的业务链 的信息和对应的转发规则, 对 SE发送的不包含业务链的信息的数据报文的正 确路由, 除了减少了 STC和 SPC之间、 SPC和 Switch之间的信令交互外, 还更 具有通用性和灵活性。
下面通过具体实施例对本发明实施例一的方案进行详细描述。
如图 5所示, 为本发明实施例二中数据报文的路由方法步骤示意图, 所述 方法主要包括以下步骤:
步骤 201 : Switch接收 SPC下发的业务链的至少一条转发规则, 所述业务 链的转发规则用于指示对应该业务链的至少两条业务流共同使用的路由路 径。
本步骤 201可以是实现本发明实施例的优选步骤, Switch获得业务链的转 发规则的方式不限于本步骤 201描述的方式。
一条转发规则中定义的路由路径举例为: 业务流 a从某一端口到达 Switch 后, Switch能够根据转发规则中定义的路由路径将业务流路由至一个 SE中或 是路由至其他网络设备中。
所述 SPC可以通过可编程接口(如 OpenFlow协议接口)向所述 Switch下发 所述转发规则。
所述 SPC向 Switch下发的转发规则可以以流表项或其他形式描述, 本发明 实施例并不对转发规则的描述形式做限定。
所述转发规则中还可以包含业务链的信息, 在本实施例的方案中, 业务 链的信息包括但不限于隧道标识(如 VLAN ID、 VxLAN ID、 GRE Key等)、 业务标识 (如 Service ID )或其他表示至少两条转发规则相同的业务流对应的 业务链的信息, 本发明实施例并不对业务链的信息做限定。 可以由其他网络设备(如 STC )生成后发送给 SPC, 再由 SPC将所述业务链的 信息包含在转发规则中发送给 Switch,本发明实施例并不对生成业务链的信息 的设备做限定。
当 Switch接收到 SPC下发的转发规则后, Switch将在本地保存所述转发规 则, 一种可选的保存方式为:
当 Switch接收 SPC针对一业务链下发的至少一条转发规则后, 可针对每 条转发规则分别生成流表项, 以流表项的形式来保存接收到的转发规则。
所述流表项中定义了匹配域和指令域, 其中:
所述匹配域中包括业务链的信息, 所述指令域中包括: 所针对的转发规 则。
当 Switch接收网络设备发送的数据报文时, 所述数据报文中包括业务流 的信息和业务链的信息, Switch可将接收到的所述数据报文中包括的业务链 的信息与流表项中的匹配域的信息进行比较, 查询出匹配域中的业务链的信 息与接收到的所述数据报文中的业务链的信息相同的流表项, 进而获取该流 表项中的指令域, 确定其中的转发规则。
步骤 202: Switch接收网络设备发送的包括有业务链的信息和业务流的信 息的数据报文时, 建立业务流和业务链的对应关系, 或是建立业务流和业务 链的转发规则的对应关系。
本步骤 202是本发明实施例的优选步骤, Switch可以根据网络设备发送 的包括有业务链的信息和业务流的信息的数据报文来建立上述两种对应关系 中的至少一种对应关系, 但本实施例的方案也不限于 Switch通过其他方式确 定所述对应关系,例如,上述两种对应关系中的至少一种对应关系可以由 SPC 向 Switch下发。
以 Switch根据本步骤 202接收到的数据报文中的业务流的信息和业务链 的信息来分别建立上述两种对应关系为例, 对本步骤 202 的实现方式进行详 细说明。
Switch在本步骤 202中接收到的数据报文中的业务流的信息可以是任何 能够标识该业务流的信息, 如: 业务流的五元组(包括经编排后的五元组)、 五元组中一部分内容(如: 源 IP地址和目的 IP地址 )、 经编排后的五元组中 一部分内容或业务流中数据报文所使用的 VLAN标签等, 本发明实施例并不 对业务流的信息的表现形式做限定。
以业务流的信息为业务流的五元组、 业务链的信息为隧道标识为例, Switch在本步骤 202中建立上述两种对应关系分别描述如下:
一、 Switch建立业务流和业务链的对应关系。
具体地, Switch针对业务流的五元组与业务链的隧道标识生成流表项形 式的对应关系。
或者, Switch生成一个设定表, 如链表或 Hash表, Switch将所述业务流 的五元组与业务链的隧道标识作为元素插入所述设定表中, 来表示业务流的 五元组和业务链的隧道标识之间的对应关系。
二、 Switch建立业务流和业务链的转发规则的对应关系。
具体地, Switch将本步骤 202接收到的数据报文中的业务链的信息作为 查询条件, 对步骤 201 中的流表项中的匹配域进行查询, 进而获取查询出的 流表项中的指令域的信息, 即获取所述业务链的信息对应业务链的转发规则。
Switch针对业务流的五元组与该业务流对应业务链的转发规则生成流表 项, 其中: 匹配域中包含所述业务流的五元组, 指令域中包含获取的所述业 务链的转发规则。
本发明实施例并不对 Switch建立的所述对应关系的表现形式做限定。 可选的, 在本步骤 202中, Switch可通过以下方式确定是否要建立业上 述两种对应关系中的至少一种对应关系:
方式一:
由 SPC下发给 Switch的转发规则中包含的指示消息来确定 Switch是否需要 执行建立上述至少一种对应关系的操作, 一种可行的实现手段为:
SPC在下发给 Switch的转发规则中包含建立上述至少一种对应关系的指 示信息, 如 SPC在 flow modification消息中的 Instruction字段中包含所述指示信 息, 指示 Switch在本步骤 202接收到包含业务流的信息和业务链的信息的数据 "^艮文时, 建立上述至少一种对应关系。
方式二:由 Switch根据本地存储的配置信息确定是否需要执行建立上述至 少一种对应关系的操作, 一种可行的实现手段为:
Switch在本地存储配置信息, 所述配置信息中记录业务流的信息, 如 VLAN标签、 VxLAN ID、 源 MAC地址、 目的 MAC地址、 源 IP地址、 目的 IP 地址、 端口号。
当 Switch接收到包含业务流的信息和业务链的信息的数据报文时, Switch 根据配置信息中记录的信息,获取所述数据报文的业务流的信息,例如, VLAN 标签、 VxLAN ID、 源 MAC地址、 目的 MAC地址、 源 IP地址、 目的 IP地址、 端口号中的至少一个信息, 并将获取的业务流的信息与配置信息中的内容进 行比较, 若匹配(包括获取的业务流的信息与配置信息中的内容相同、 获取 的业务流的信息属于配置信息中的内容表示的范围等 ), 则 Switch确定需要执 行建立上述至少一种对应关系的操作。
例如, Switch内存储的配置信息中记录了 VLAN标签集合,当在本步骤 202 接收到包含有业务流的信息和业务链的信息的数据报文时, Switch获取所述数 据报文的 VLAN标签, 若获取的所述数据报文的 VLAN标签包含在配置信息中 的 VLAN标签集合中, 则确定需要执行建立上述至少一种对应关系的操作。
可选的, SPC需要获知 Switch是否具有建立上述至少一种对应关系的能 力,在确定 Switch具有建立上述至少一种对应关系的能力时,执行本发明实施 例的方案。 一种可选的实现方式为:
SPC和 Switch之间具有能力协商机制, 使 SPC能够获知 Switch是否具有建 立上述至少一种对应关系的能力。例如: Switch可以通过能力上>¾的方式告知 SPC自身是否具有建立上述至少一种对应关系的能力, 以 SPC和 Switch之间使 用 Openflow协议为例, Switch可将自身是否具有建立上述至少一种对应关系的 能力信息携带在 Feature list信元上通知给 SPC。
另一种可选的实现方式为:
在 SPC的配置信息中记录具有建立上述至少一种对应关系能力的 Switch 信息,如在配置信息中记录具有建立上述至少一种对应关系能力的 Switch地址 信息, SPC根据配置信息中记录的内容可获知 Switch是否具有建立上述至少一 种对应关系的能力。
步骤 203: Switch根据网络设备发送的所述数据报文中的业务链的信息确 定业务链的转发规则, 并根据该转发规则对接收到的数据报文进行路由。
以步骤 201中 Switch以流表项的形式来保存 SPC下发的转发规则为例, 在本步骤 203 中, Switch从接收到的数据报文中提取出业务链的信息, 并将 提取出的业务链的信息与步骤 201 中的流表项的匹配域进行比较, 查询出匹 配域中的内容与本步骤的数据报文中的业务链的信息相同的流表项, 并从查 询出的所述流表项中获取指令域中的转发规则。
Switch可对接收到的数据报文进行解封装、 去掉数据包头中的业务链的 信息, 再按照查询出的流表项中指令域中的转发规则, 对接收到的所述数据 报文进行路由。
步骤 204: Switch在接收到 SE发送的数据报文时, 根据已建立的所述对应 关系, 获取从 SE接收到的数据报文中的业务流的信息对应的业务链的转发规 则, 并根据确定的所述转发规则对从 SE接收到的数据报文进行路由。
需要说明的是, 在步骤 202中 Switch建立所述对应关系的过程以及本步 骤 204中 Switch利用所述对应关系对来自 SE的数据报文的处理过程可以是 独立的两个过程, Switch在创建对应关系后, 可将所述对应关系应用在所属 业务流为所述对应关系中的业务流的数据报文的处理过程中。
在步骤 203中, Switch对接收到的数据报文进行解封装、 去掉业务链的信 息后, 可将解封装后的数据报文路由至 SE, 当 SE对接收到的数据报文处理完 毕后, 又将该数据报文发回至 Switch, 此时, Switch接收到的数据报文内没有 包含业务链的信息。
在本实施例中, 步骤 202至步骤 204处理的数据报文是属于同一业务流的 数据报文, 即: 步骤 202处理的数据报文与步骤 204中处理的数据报文中包含 相同的业务流标识, 其所属业务流对应的业务链也相同。
如果在步骤 202中建立的是业务流的信息与业务链的信息的对应关系, 则 本步骤 204中可根据从 SE接收到的数据报文中的业务流的信息确定对应的业 务链的信息, 再以确定出的业务链的信息为查找条件, 从步骤 201中生成的流 表项查询出匹配域的内容与确定出的业务链的信息相同的流表项, 进而按照 查询出的流表项中的指令域中的转发规则对从 SE接收到的数据报文进行路 由。
如果在步骤 202中建立的是业务流的信息与业务流对应的业务链的转发 规则的对应关系,则本步骤 204中可根据从 SE接收到的数据报文中的业务流的 信息直接确定出对应的业务链的转发规则后, 对从 SE接收到的数据报文进行 路由。
通过本发明实施例二的方案, 利用业务流和业务链的对应关系或业务流 与业务链的转发规则的对应关系, 可使 Switch接收到 SE发回的数据报文内没 有包含业务链的信息时, 也可根据所述对应关系确定出对 SE发回的数据报文 进行路由的转发规则, 以减少在 STC和 SPC之间、 SPC和 Switch之间的信令交 互, 解决网元信令负荷较重的问题。
在本实施例二的方案中, SPC 向 Switch 下发的业务链的转发规则以及 Switch建立的对应关系可以有多种表现形式, 下面分别通过实施例三、 实施 例四、 实施例五和实施例六来分别加以描述。
实施例三: 在本发明实施例三的方案中, Switch根据从所述 SE接收到的数据报文所 属的业务流, 以及所述业务流和所述业务链的对应关系, 封装从所述 SE接收 到的数据报文, 以使封装后的所述的数据报文包括所述业务链的信息, 进而 Switch可以根据封装后的所述数据报文获取对应的所述流表项的指令域的信 息来对数据报文进行路由; 或者, Switch根据从所述 SE接收到的数据报文所 属的业务流, 以及所述业务流和所述业务链的对应关系, 获得所述业务链的 信息, 并根据所述获得的业务链的信息获取对应的所述流表项的指令域的信 息, 来对数据报文进行路由。 下面以 Switch处理两条对应不同业务链的业务 流为例来进行说明, 在本实施例三中, Switch建立的对应关系是根据业务流 的信息和业务链的信息建立的业务流和业务链之间的对应关系。
如图 6所示, 为 Switch对两条对应不同业务链的业务流的数据报文进行 路由处理的示意图。 作如下 4叚设:
1 )、 业务流 a对应业务链 a, 业务链 a的转发规则为: 业务流 a在 Switch 上流经 SE1和 SE2后, 再由 Switch发送至外部网络设备(如 Internet中的网 元)。
2 )、 业务流 b对应业务链 b, 业务链 b的转发规则为: 业务流 b在 Switch 上流经 SE1后, 再由 Switch发送至外部网络设备。
3 )、业务链的信息是隧道标识,其中,业务链 a的隧道标识为 Tunnel ID A, 业务链 b的隧道标识为 Tunnel ID B。
4 )、 端口 1、 端口 2和端口 3是 Switch上的 3个输入端口; 端口 4、 端口 5和端 口 6是 Switch上的 3个输出端口。
基于图 6的内容以及上述假设, 本发明实施例三中 Switch对数据报文进行 路由处理的过程描述如下:
第一步: SPC通过可编程接口向 Switch下发业务链 a的转发规则 a和业务链 b的转发规则 b。
一条业务链可有至少一条转发规则, 在本实施例三中, 业务链 a的转发规 则共有三条, 分别为业务流 a从端口 1、 端口 2和端口 3输入至 Switch时所使用的 转发规则; 业务链 b的转发规则共有两条, 分别为业务流 b从端口 1和端口 2输 入至 Switch时所使用的转发规则。
Switch接收到转发规则后可以以流表项的形式保存(本实施例三以流表项 的形式举例), 若流入 Switch的业务流中数据报文格式如图 7所示, 则 Switch中 保存的流表项形式的转发规则描述如下:
业务链 a的转发规则一(业务链 a的流表项 1 ):
匹配域( Match Field ): 业务链 a标识( Tunnel ID A )和端口号 1 ( Ingress Portl );
指令域( Instruction ): 对业务流中的数据报文解封装、 去掉 Tunnel ID A, 并将解封装后的数据报文通过端口 4发送给 SE1。
Instruction举例为:
Decap Tunnel ID A (去掉数据报文的外层隧道封装);
Inner MAC DA— >SE1 MAC (把数据报文的内层目的 MAC地址修改为 SE1的 MAC地址 );
Output — > port4 (输出端口为端口 4 )。
若 Switch按照业务链 a的转发规则一对业务流 a进行处理后,业务流中数据 报文的格式将会如图 8所示。
业务链 a的转发规则二(业务链 a的流表项 2 ):
Match Field: Tunnel ID A和 Ingress Port2;
Instruction: 对业务流中的数据 4艮文解封装、 去掉 Tunnel ID A, 并将解封 装后的数据报文通过端口 5发送给 SE2。
Instruction举例为:
Decap Tunnel ID A (去掉数据报文的外层隧道封装);
Inner MAC DA— >SE2 MAC (把数据报文的内层目的 MAC地址修改为 SE2的 MAC地址);
Output — > port5 (输出端口为端口 5 )。
若 Switch按照业务链 a的转发规则二对业务流 a进行处理后,业务流中数据 报文的格式也会如图 8所示, 与业务流 a经过转发规则一处理后的区别在于: Inner MAC DA中的 MAC地址不同。
业务链 a的转发规则三(业务链 a的流表项 3 ):
Match Field: Tunnel ID A和 Ingress Port3;
Instruction: 对业务流中的数据 4艮文解封装、 去掉 Tunnel ID A, 并将解封 装后的数据报文通过端口 6发送给外部网络设备。 所述外部网络设备可以是与 本 Switch之间能够进行层二(以下以 MAC层为例)通信的网络设备(如业务 服务器), 也可以是与本 Switch之间无法进行层二通信的网络设备, 针对这两 种情况, Instruction举例为:
外部网络设备可以与本 Switch之间进行 MAC层通信的情况:
Decap Tunnel ID A; (去掉数据报文的外层隧道封装 )
Inner MAC DA— > 外部网络设备 MAC (把数据才艮文的内层目的 MAC地 址修改为外部网络设备的 MAC地址);
Output — > port6 (输出端口为端口 6 )。
在外部网络设备可以与本 Switch间进行 MAC层通信的情况下, 若 Switch 按照业务链 a的转发规则三对业务流 a进行处理后,业务流中数据报文的格式也 会如图 8所示, 与业务流 a经过转发规则一、 转发规则二处理后的区别在于: Inner MAC DA中的 MAC地址不同。
外部网络设备无法与本 Switch之间进行 MAC层通信的情况:
Outer MAC SA —> 本 Switch隧道端点的 MAC地址;
Outer MAC DA— > 外部网络设备隧道端点的 MAC地址;
Outer IP SA —> 本 Switch隧道端点的 IP地址;
Outer IP DA —> 外部网络设备隧道端点的 IP地址;
Encap Tunnel ID A (封装, 隧道标识为 Tunnel ID A );
Output — > port6 (输出端口为端口 6 )。
在外部网络设备无法与本 Switch之间进行 MAC层通信的情况下,若 Switch 按照业务链 a的转发规则三对业务流 a进行处理后,业务流中数据报文的格式如 图 7所示。
业务链 b的转发规则一(业务链 b的流表项 1 ):
Match Field: Tunnel ID B和 Ingress Portl;
Instruction: 对业务流中的数据 文解封装、 去掉 Tunnel ID B , 并将解封 装后的数据报文通过端口 4发送给 SE1。
Instruction举例为:
Decap Tunnel ID B (去掉数据报文的外层隧道封装);
Inner MAC DA— >SE1 MAC (把数据报文的内层目的 MAC地址修改为 SE1的 MAC地址 );
Output — > port4 (输出端口为端口 4 )。
业务链 b的转发规则二(业务链 b的流表项 2 ):
Match Field: Tunnel ID B和 Ingress Port2;
Instruction: 对业务流中的数据 文解封装、 去掉 Tunnel ID B , 并将解封 装后的数据报文通过端口 6发送给外部网络设备。
Instruction举例为:
外部网络设备可以与本 Switch之间进行 MAC层通信的情况:
Decap Tunnel ID B; (去掉数据报文的外层隧道封装 )
Inner MAC DA— > 外部网络设备 MAC (把数据才艮文的内层目的 MAC地 址修改为外部网络设备的 MAC地址);
Output — > port6 (输出端口为端口 6 )。
外部网络设备无法与本 Switch之间进行 MAC层通信的情况:
Outer MAC SA —> 本 Switch隧道端点的 MAC地址;
Outer MAC DA— > 外部网络设备隧道端点的 MAC地址;
Outer IP SA —> 本 Switch隧道端点的 IP地址;
Outer IP DA —> 外部网络设备隧道端点的 IP地址;
Encap Tunnel ID B (封装, 隧道标识为 Tunnel ID B );
Output — > port6 (输出端口为端口 6 )。 需要说明的是, 在以上针对业务链 a的三条转发规则和针对业务链 b的两 条转发规则中, 匹配域中的 Ingress Port n ( n为 1、 2或 3 )是用于标识业务流从 何处进入 Switch的, 其中, Ingress Port2和 Ingress Port3表示业务流从 SEl和 SE2 流入 Switch, 本发明实施例方案中也不限于其他用于标识业务流所来自的 SE 信息, 如 SE的 MAC地址、 业务流的源 MAC地址或业务流的 VLAN标签等。
针对业务链 a的三条转发规则, Switch保存了三个流表项; 针对业务链 b 的两条转发规则, Switch保存了两个流表项。
第二步: 当到达的数据报文内有隧道标识时, Switch将所述数据报文内 的隧道标识和输入端口号作为查询条件, 查询第一步中 Switch保存的业务链 的流表项, 并在建立业务流的信息和隧道标识之间的对应关系后, 将解封装、 去掉隧道标识后的数据报文按照查询出的流表项中的指令域(Instruction ) 中 的内容进行路由。
例如:业务流 a到达 Switch后, Switch根据业务流 a的数据报文内的 Tunnel ID A和 Ingress Portl查询各流表项中的匹配域, 查询出业务链 a的流表项 1。 需要说明的是, Switch可将数据报文的 Ingress port作为描述数据报文的附属 信息存储下来, 可在需要时直接获取数据报文的 Ingress port信息。
根据业务链 a的流表项 1中 Instruction的描述, Switch对业务流 a中的数据才艮 文解封装、去掉 Tunnel ID A, 在将解封装后的业务流 a发送给 SEl之前, Switch 生成并保存业务流 a的信息和 Tunnel ID A之间的对应关系,之后,再将解封装、 去掉 Tunnel ID A后的业务流 a发送给 SE1。 需要说明的是, 在本发明实施例的 方案中, Switch可以先对业务流 a进行解封装、 去掉 Tunnel ID A的操作, 再进 行建立所述对应关系的操作; 也可以先建立所述对应关系, 再对业务流 a进行 解封装、 去掉 Tunnel ID A的操作。
殳设本实施例方案中业务流 a标识为五元组, Switch建立所述对应关系的 具体做法包括但不限以下两种方式:
方式一:
针对业务流 a的五元组生成新的流表项, 其中: Match Field: 业务流 a的五元组;
Instruction:对业务流 a中的数据报文进行隧道封装, 隧道标识为 Tunnel ID
A。
Match Field举例为:
Ingress port = port n ( n可以是 2或 3 )
Inner IP DA = 192.168.0.1 (这里所涉及的 IP地址和 UDP信息都是举例示 意)
Inner IP SA = 192.168. 1.1
Inner UDP DA = 8080
Inner UDP SA = 8088
Protocol type = TCP
Instruction举例为:
Encap Tunnel ID A (封装, 隧道标识为 Tunnel ID A );
go to Table n (调用业务链 a的流表项 n, n为 2或 3 )。
所述 Table n为第一步中 Switch生成的流表项的索引。
方式二:
Switch生成一个设定表, 如链表或 Hash表, Switch将业务流 a的五元组和 Tunnel ID A作为元素插入所述设定表中。 由于在设定表中已经记录了业务流 a 的五元组和 Tunnel ID A之间的对应关系, 因此, Switch只需要生成用于处理从 SE发回的业务流的流表项即可。
例如: Switch生成流表项, 其中:
Match field:
Ingress port = port 2 , 或者
Ingress port = port 2 ,
Inner MAC SA = 00:11 :22:33:44:55
说明: 这里匹配域中的内容是标识业务流来自 SE的信息, 如业务流进入 Switch的端口号、 数据报文的源 MAC地址、 或者数据报文中的 VLAN标签等; Instruction:
Encap Tunnel ID A (根据业务流 a的五元组查询所述设定表, 获得对应 的 Tunnel ID A, 封装业务流 a中的数据报文, 隧道标识为 Tunnel ID A ); 或者, 将 Tunnel ID A以数据报文的附属信息 (例如, 在 Openflow协议中, 以 metadata的形式保存所述 Tunnel ID A )保存下来, 将所述 Tunnel ID A在附属信 息中在下一步传递给 Table n
go to Table n (调用业务链 a的流表项 n, n为 2或 3 )。
在本步骤中, Instruction指示的是将从 SE发送到 Switch上的业务流 a和业务 流 b再进行隧道封装。这种 Instruction只是标识业务流的信息和业务链的信息的 对应关系的一种表达形式, 还有其他的方式可以用来记录业务流的信息和业 务链的信息的对应关系, 例如, Instruction为将业务流对应的业务链的信息作 为业务流的数据报文的附属信息存储, 例如, 在 Openflow协议中, switch将业 务流对应的业务链的信息存储在 metadata (元数据 ) 中。 在本实施例中, 对 Instruction中以何种方式记录业务流的信息和业务链的信息的对应关系不作限 制。
以上是对业务流 a的处理, 针对业务流 b的处理过程相同, 此处不再赘述。 第三步: 当到达的业务流中数据报文内没有封装隧道标识时 (即接收来 自 SE的数据报文), Switch提取出该数据报文中的业务流的信息, 根据已建 立的所述对应关系, 确定对应的隧道标识, 并 居该隧道标识查询出流表项 后, 按照该流表项中的指令域(Instruction )进行路由。
以业务流 a的路由过程为例, 在第二步中, Switch按照业务链 a的流表 项 1对业务流 a进行处理, 即: Switch保存业务流 a的五元组和 Tunnel ID A 的对应关系后, 将解封装、 去掉 Tunnel ID A的业务流 a发往 SE1。 当 SE1对 业务流 a处理完毕后, 再将业务流 a发回给 Switch。 Switch根据接收到的业 务流 a的五元组查找出对应的 Tunnel ID A后, 再对业务流 a进行处理。
若 Switch按照第二步中方式一建立业务流 a的五元组和 Tunnel ID A的对 应关系, 则本步骤的具体实现方式为: Switch将业务流 a的五元组作为查询条件, 对第二步方式一中生成的流 表项进行查询, 查询出匹配域中的内容为业务流 a的五元组的流表项。
Switch按照查询出的流表项中的 Instruction对业务流 a进行操作, 即: 对 业务流 a中的数据报文进行封装, 隧道标识为 Tunnel ID A。
Switch对业务流 a进行封装后, 将 Tunnel ID A和数据 4艮文中的 Ingress port2作为查询条件, 对第一步中业务链 a的流表项进行查询, 此时, 查询出 业务链 a的流表项 2。
Switch调用业务链 a的流表项 2 ,按照业务链 a的流表项 2中的 Instruction 对业务流 a进行操作, 即: 业务流 a解封装、 去掉 Tunnel lD A, 发送给 SE2。
若 Switch按照第二步中方式二建立业务流 a的五元组和 Tunnel ID A的对 应关系, 则本步骤的具体实现方式为:
Switch将业务流 a的输入端口号作为查询条件, 查询出 Switch在方式二 中生成的流表项后, 根据其中的 Instruction, 再将业务流 a的五元组作为查询 条件, 对第二步方式二中的设定表进行查询, 查询出对应的 Tunnel ID A。
Switch将查询出的 Tunnel ID A和数据报文中的 Ingress port2作为查询条 件, 对第一步中业务链 a的流表项进行查询, 此时, 查询出业务链 a的流表项 2。
Switch调用业务链 a的流表项 2 ,按照业务链 a的流表项 2中的 Instruction 对业务流 a进行操作, 即: 业务流 a发送给 SE2。
类似地, 对于从 SE2发回到 Switch的业务流 a, Switch釆用相同的方式 对其进行路由, 此处不再赘述。
类似地, 对于业务流 b, Switch釆用相同的方式对其进行路由, 此处不再 赘述。
如果在第二步中, Instruction记录业务流的信息和业务链的信息的对应关 系不是釆用将业务流的数据报文封装隧道标识的方式, 而是釆用将业务流对 应的业务链的信息 (例如, 隧道标识)作为业务流的数据报文的附属信息存 储, 则在第三步中, Switch无须对业务流的数据报文作隧道封装的处理, 而直 接根据所述业务流的数据报文的附属信息中存储的业务链的信息 (例如, 隧 道标识)作为匹配域进行流表项查询, 然后根据获得的流表项的指令域中的 转发规则对数据报文进行转发。
实施例四:
本发明实施例四的方案与实施例三基本一致,区别在于 Switch建立的对应 关系是业务流的信息和业务链的转发规则之间的对应关系。 仍以图 6所示的两 条对应不同业务链的业务流进行路由为例, 本实施例四的方案描述如下: 第一步: SPC通过可编程接口向 Switch下发业务链 a的转发规则 a和业务链 b的转发规则 b。
以 SPC向 Switch下发的针对业务链 a的转发规则为例, Switch以流表项的形 式保存业务链 a的转发规则。
业务链 a的转发规则一(业务链 a的流表项 1 ):
Match Field: Tunnel ID A和 Ingress Portl;
Instruction: 获得业务流的五元组,针对所述五元组生成以下转发规则后, 调用流表项 2。
Instruction举例为:
1 )生成转发规则:
Match field:
Ingress port = port 2
Inner IP DA = 192.168.0.1
Inner IP SA = 192.168. 1.1
Inner UDP DA = 8080
Inner UDP SA = 8088
Protocol type = TCP
Instruction:
Inner Dst MAC —> Enabler2 Dst MAC (把数据报文的内层目的 MAC地 址修改为 SE2的 MAC地址); Output — > port5 (端口 5输出);
2 )调用流表项 2
Go to Table2。
业务链 a的转发规则二(业务链 a的流表项 2 ):
Match Field: Tunnel ID A;
Instruction: 获得业务流的五元组,针对所述五元组生成以下转发规则后, 调用流表项 3。
Instruction举例为:
1 )生成转发规则:
Match field:
Ingress port = port 3
Inner IP DA = 192.168.0.1
Inner IP SA = 192.168. 1.1
Inner UDP DA = 8080
Inner UDP SA = 8088
Protocol type = TCP
Instruction:
将业务流发送给外部网络设备,所述外部网络设备可以是与本 Switch之间 进行 MAC层传输的外部网络设备, 或者是与本 Switch之间无法进行 MAC层传 输的外部网络设备。 按照上述两种情况, 具体的 Instruction举例:
在外部网络设备可以与本 Switch之间进行 MAC层传输的情况:
Decap Tunnel ID A (解封装、 去掉 Tunnel ID A );
Inner Dst MAC —> 外部网络设备 Dst MAC (把数据报文的内层目的 MAC地址修改为外部网络设备的 MAC地址);
Output — > port6 (端口 6输出);
在外部网络设备无法与本 Switch之间进行 MAC层传输的情况:
Outer Src MAC —> 本 Switch隧道端点的 MAC地址 Outer Dst MAC —> 外部网络设备隧道端点的 MAC地址
Outer Src IP —> 本 Switch隧道端点的 IP地址
Outer Dst IP —> 外部网络设备隧道端点的 IP地址
Encap Tunnel ID A (封装, 隧道标识为 Tunnel ID A );
Output — > port6 (端口 6输出);
2 )调用流表项 3
Go to Table3。
业务链 a的转发规则三(业务链 a的流表项 3 ):
Match Field: Tunnel ID A;
Instruction: 将所述业务流解封装、 去掉 Tunnel ID A后发送给 SE1。
Instruction举例为:
Decap Tunnel ID A (解封装、 去掉 Tunnel ID A );
Inner Dst MAC —> Enablerl Dst MAC (把数据报文的内层目的 MAC地 址修改为 Enablerl的 MAC地址);
Output — > port4 (端口 4输出)。
以 SPC向 Switch下发的针对业务链 b的转发规则为例, Switch以流表项的形 式保存业务链 b的转发规则。
业务链 b的转发规则一(业务链 b的流表项 1 ):
Match Field: Tunnel ID B和 Ingress Portl;
Instruction: 获得业务流的五元组,针对所述五元组生成以下转发规则后, 调用流表项 2。 Instruction举例为:
1 )生成转发规则:
Match field:
Ingress port = port 2
Inner IP DA = 192.168.0.1
Inner IP SA = 192.168. 1.1
Inner UDP DA = 8080 Inner UDP SA = 8088
Protocol type = TCP
Instruction:
将业务流发送给外部网络设备,所述外部网络设备可以是与本 Switch之间 进行 MAC层传输的外部网络设备, 或者是与本 Switch之间无法进行 MAC层传 输的外部网络设备。 按照上述两种情况, 具体的 Instruction举例:
在外部网络设备可以与本 Switch之间进行 MAC层传输的情况:
Decap Tunnel ID B (解封装、 去掉 Tunnel ID B );
Inner Dst MAC —> 外部网络设备 Dst MAC (把数据报文的内层目的 MAC地址修改为外部网络设备的 MAC地址);
Output — > port6 (端口 6输出);
在外部网络设备无法与本 Switch之间进行 MAC层传输的情况:
Outer Src MAC —> 本 Switch隧道端点的 MAC地址
Outer Dst MAC —> 外部网络设备隧道端点的 MAC地址
Outer Src IP —> 本 Switch隧道端点的 IP地址
Outer Dst IP —> 外部网络设备隧道端点的 IP地址
Encap Tunnel ID B (封装, 隧道标识为 Tunnel ID B );
Output — > port6 (端口 6输出);
2 )调用流表项 2
Go to Table2„
业务链 b的转发规则二(业务链 a的流表项 2 ):
Match Field: Tunnel ID B;
Instruction: 将所述业务流解封装、 去掉 Tunnel ID B后发送给 SE1。
Instruction举例为:
Decap Tunnel ID B (解封装、 去掉 Tunnel ID B );
Inner Dst MAC —> Enablerl Dst MAC (把数据报文的内层目的 MAC地 址修改为 Enablerl的 MAC地址); Output — > port4 (端口 4输出)。
第二步: 当到达的数据报文内有隧道标识时, Switch将业务流中数据报文 内的隧道标识和输入端口号作为查询条件, 查询第一步中 Switch保存的流表 项, 并在建立业务流的信息和业务链的转发规则之间的对应关系后, 将解封 装、去掉隧道标识后的数据报文按照查询出的流表项中的 Instruction进行路由。
例如:业务流 a到达 Switch后, Switch将业务流 a的数据 文内的 Tunnel ID A和 Ingress Portl作为查询条件, 查询 Switch在第一步保存的各流表项中 的匹配域 , 此处查询出业务链 a的流表项 1。
根据业务链 a的流表项 1中 Instruction的描述, Switch对业务流 a中的数据才艮 文解封装、去掉 Tunnel ID A, 在将解封装后的业务流 a发送给 SEl之前, Switch 生成并保存业务流 a标识和业务链 a的转发规则之间的对应关系,之后,再将解 封装、 去掉 Tunnel ID A后的业务流 a发送给 SE1。
殳设本实施例方案中业务流 a的信息为五元组, Switch建立所述对应关系 的具体做法包括但不限以下方式:
Switch针对业务流 a的五元组和业务链 a的转发规则生成流表项, 其中:
Match filed: 业务流 a的五元组; Instruction: 把业务流 a的数据报文发送给
SE2。
Match filed举例:
Ingress port = port2
Inner IP DA = 192.168.0.1
Inner IP SA = 192.168. 1.1
Inner UDP DA = 8080
Inner UDP SA = 8088
Protocol type = TCP
Instruction举例:
Inner Dst MAC —> Enabler2 Dst MAC (把数据报文的内层目的 MAC地 址修改为 SE2的 MAC地址); Output — > port5 (端口 5输出)。
以上是针对 SE1发回给 Switch的业务流 a的流表项, 对于 SE2发回给 Switch 的业务流 a的流表项内容相似, 区别在于将业务流 a的数据报文通过端口 6发送 给外部网络设备。
第三步: 当到达的数据报文内没有隧道标识时(即 SE发回的数据报文), Switch提取出该数据报文中的业务流的信息, 根据已建立的所述对应关系, 确定对应的业务链的转发规则, 并根据该转发规则对数据报文进行路由。
以业务流 a的路由过程为例, Switch在第二步保存业务流 a的五元组和 业务链 a的转发规则之间的对应关系后, 将解封装、 去掉 Tunnel ID A的业务 流 a发往 SE1。 当 SE1对业务流 a处理完毕后, 再将业务流 a发回给 Switch。 Switch根据接收到的业务流 a的五元组查找出的对应的业务链 a的转发规则 为: 将业务流 a的数据报文发送给 SE2 , 则将业务流 a的数据报文通过端口 5 发送给 SE2。
对于 SE2发回给 Switch的业务流 a的路由方式与上述方式类似,且针对业务 流 b的处理方式与针对业务流 a的处理方式相同, 此处不再赘述。
实施例五:
本发明实施例五的方案是 Switch根据 SPC下发的业务流的信息和业务链 的转发规则之间对应关系的模板来创建业务流的信息和业务链的转发规则的 对应关系的, 仍以图 6所示的业务流 a和业务流 b的路由过程为例, 本实施例五 的方案具体描述如下:
第一步: SPC通过可编程接口向 Switch下发业务链 a的转发规则 a和业务链 b的转发规则 b。
对于业务链 a, 其路由规则描述了业务流 a从端口 1、 端口 2和端口 3输入时 的处理方式; 对于业务链 b, 其路由规则描述了业务流 b从端口 2、 和端口 2输 入时的处理方式, 具体内容描述如下:
业务链 a的转发规则 (业务链 a的流表项 ):
Match Field: Tunnel ID A和 Ingress Portl; Instruction:
1 )、 生成流表项 1 (即建立对应关系的模板 ):
Match Field: 业务 i 的五元组和 Ingress Port2。
Instruction: 将业务流的数据报文发送给 SE2。
2 )、 生成流表项 2:
Match Field: 业务流五元组和 Ingress Port3。
Instruction: 将业务流的数据报文发送给外部网络设备。
3 )、 对业务流进行隧道解封装、 去掉 Tunnel ID A, 并将解封装后的业务 流 a的数据报文发送给 SE1。
业务链 b的转发规则 (业务链 b的流表项):
Match Field: Tunnel ID B和 Ingress Portl;
Instruction:
1 )、 生成流表项 1 :
Match Field: 业务流五元组和 Ingress Port2。
Instruction: 将业务流的数据报文发送给外部网络设备。
2 )、 对业务流进行隧道解封装、 去掉 Tunnel ID B, 并且将解封装后的业 务流 b的数据报文发送给 SE1。
第二步: 当到达的数据报文内有隧道标识时, Switch将数据报文内的隧 道标识和输入端口号作为查询条件, 查询第一步中 Switch保存的业务链的流 表项,并按照查询出的流表项中 Instruction描述的模板建立业务流的信息和业 务链的转发规则之间的对应关系后, 将解封装、 去掉隧道标识后的数据报文 按照查询出的流表项中的 Instruction进行路由。
例如:业务流 a到达 Switch后, Switch根据业务流 a的数据报文内的 Tunnel ID A和 Ingress Portl查询出业务链 a的流表项。 再根据业务链 a的流表项中 Instruction描述的模板生成两个流表项, 流表项 1和流表项 2的定义如下: 流表项 1 :
Match Field: 业务 i a的五元组和 Ingress Port2„ Instruction: 将业务流 a的数据 ^艮文发送给 SE2。
流表项 2:
Match Field: 业务 i a的五元组和 Ingress Port3。
Instruction: 将业务流 a的数据 4艮文发送给外部网络设备。
Switch生成上述两个流表项后,按照业务链 a的流表项中 Instruction的描 述, 将解封装、 去掉 Tunnel ID A的业务流 a发送到 SE1。
同样, 对于业务流 b, 釆用与业务流 a相同的方法, Switch生成业务流 b 的一个流表项后, 将解封装、 去掉1 1111½1 10 8的业务流1)发送到 8£1。
第三步: 当到达的数据报文内没有隧道标识时(即来自 SE的数据报文),
Switch提取出该数据报文中的业务流的信息, 并以该业务流的信息为查询条 件, 查询出匹配的流表项, 并根据该流表项中 Instruction的描述对数据报文进 行路由。
以业务流 a的路由过程为例, Switch在第二步中生成了针对业务流 a的 五元组的流表项 1和流表项 2, 将解封装、 去掉 Tunnel ID A的业务流 a发往 SE1。 当 SE1对业务流 a处理完毕后, 再将业务流 a发回给 Switch。 Switch根 据接收到的业务流 a的五元组和 Ingress Port2查找出流表项 1 , 再按照流表项 1中 Instruction的描述, 将业务流 a的数据报文通过发送给 SE2。
对于 SE2发回给 Switch的业务流 a的路由方式与上述方式类似,且针对业务 流 b的处理方式与针对业务流 a的处理方式相同, 此处不再赘述。
通过本发明实施例五的方案, 针对每一路由过程都生成了相应的流表项 , Switch根据流表项中的内容对业务流进行路由时, 可缩短路由路径查找时长, 提高路由效率。
实施例六:
本实施例五还描述了另外一种 Switch建立并保存所述对应关系的方式, 在 Switch中部署一个逻辑模块, 由所述逻辑模块来建立并保存所述业务流的 信息和业务链的信息之间的对应关系或业务流的信息与业务链的转发规则之 间的对应关系, 以下称之为对应关系。 所述逻辑模块具有逻辑端口, 所述逻 辑端口分别用于接收从经过 Switch内保存的流表项处理后的数据报文, 以及 将数据报文交由 Switch中保存的流表项进行处理。
如图 9所示,为 Switch内部署逻辑模块的示意图,其中: 端口 1、端口 2、 端口 3和端口 4是 Switch上的输入 /输出端口, 端口 5、 端口 6、 端口 7和端 口 8是逻辑模块上的逻辑端口。 本实施例中并不对逻辑模块的逻辑端口数量 做限定。
第一步: Switch接收 SPC下发的业务链的转发规则。
以图 9所示的情况为例, Switch接收到的转发规则包括:
业务链 b在 Switch内的转发规则一(业务链 b的流表项 1 ):
Match Field: Tunnel ID B和 Ingress Portl;
Instruction: 对业务流进行隧道解封装、 去掉 Tunnel ID B , 并且将解封装 后的业务流的数据报文通过逻辑端口 5发送给逻辑模块。
Instruction举例:
Decap Tunnel ID B (解封装, 去掉业务流的 Tunnel ID B );
(可选)Inner MAC DA— > Enablerl MAC (把数据报文的内层目的 MAC 地址修改为 SE1的 MAC地址);
Output — > port5 (输出端口为逻辑端口 5 )。
业务链 b在 Switch内的转发规则二(业务链 b的流表项 2 ):
Match Field: Ingress Port3;
Instruction: 将业务流的数据报文通过逻辑端口 8发送给逻辑模块。
Instruction举例:
Output — > port8;
业务链 b在 Switch内的转发规则三(业务链 b的流表项 3 ):
Match Field: Tunnel ID B和 Ingress Port6;
Instruction: 将业务流数据报文通过端口 4发送给外部网络设备。
Instruction举例:
外部网络设备可以与本 Switch进行 MAC层通信的情况: Inner Dst MAC —> 外部网络设备 Dst MAC (把数据报文的内层目的 MAC地址修改为外部网络设备的 MAC地址);
Output — > port4;
外部网络设备无法与本 Switch进行 MAC层通信的情况:
Outer Src MAC —> 本 Switch隧道端点的 MAC地址
Outer Dst MAC —> 外部网络设备隧道端点的 MAC地址
Outer Src IP —> 本 Switch隧道端点的 IP地址
Outer Dst IP —> 外部网络设备隧道端点的 IP地址
Encap Tunnel ID B (封装, 隧道标识为 Tunnel ID B );
Output — > port4;
第二步: 当到达的数据报文内有隧道标识时, Switch将数据报文内的隧 道标识和输入端口号作为查询条件, 查询第一步中 Switch保存的业务链的流 表项, 并按照该业务流表中 Instruction的描述将业务流发送给逻辑模块, 由逻 辑模块建立对应关系之后, 根据逻辑模块内存储的配置信息中的路由路径, 将解封装、 去掉隧道标识后的数据报文进行路由。
例如:业务流 b到达 Switch后, Switch根据业务流 b的数据报文内的 Tunnel ID B和 Ingress Portl查询出业务链 b的流表项 1。 再根据业务链 b的流表项 1 中 Instruction描述, 将业务流 b发送给逻辑模块。
逻辑模块接收到业务流 b后, 建立并保存业务流 b的信息和业务链 b的 转发规则之间的对应关系 (或建立并保存业务流 b的信息和业务链 b的信息 之间的对应关系), 在本实施例的方案中, 逻辑模块可按照实施例三至实施例 五中描述的任一方式来建立对应关系。
当逻辑模块保存所述对应关系后, 可根据本地存储的配置信息中记录的 业务链 b的路由路径, 对业务流 b进行路由。 在本实施例的方案中, 可通过 配置信息的方式, 在逻辑模块内部配置业务链的转发规则, 以便于逻辑模块 在可将解封装、 去掉 Tunnel ID B后的业务流 b进行路由。
例如, 配置信息中记录的业务链 b (可以以业务链 b的隧道标识或业务标 识作为查询索引) 的路由路径为:
1、接收业务流 b的数据报文 (此时该数据报文或数据报文的附属信息(例 如, metadata ) 中有业务链 b的隧道标识或业务标识);
2、 通过端口 2将业务流 b发送给 SE1 ;
3、 从端口 3接收 SE1处理完毕的业务流 b;
4、 将业务流 b发送给外部网络设备。
逻辑模块可根据本地配置的路由路径, 将解封装、 去掉 Tunnel ID B后的 业务流 b发送给 SEl。
可选的, 可由 Switch对业务流 b进行解封装、 去掉业务流 b的 Tunnel ID B、 将数据报文的内层目的 MAC地址修改为 SEl的 MAC地址的操作, 若逻 辑模块中配置了 SE1的信息, 也可由逻辑模块执行上述操作。
第三步: 当到达的数据报文内没有隧道标识时, Switch 以输入端口号为 查询条件, 从业务链的流表项中查询出匹配的流表项, 并按照该流表项的 Instruction, 将业务流发送至逻辑模块, 由逻辑模块提取出业务流的信息, 根 据本地存储的所述对应关系, 确定对应的业务链的信息或对应的业务链的转 发规则, 并通知 Switch, 由 Switch根据逻辑模块的通知对数据报文进行路由。
假设在第二步中逻辑模块保存的是业务流 b的五元组和 Tunnel ID B之间 的对应关系, 则在第三步中, 逻辑模块根据业务流 b的五元组确定出对应的 Tunnel ID B后, 可将 Tunnel ID B作为业务流 b的数据报文的附属信息保存下 来, 并且将所述附属信息保存至业务链 b的流表项 3中, 以达到通知 Switch的目 的。 例如, 在 Openflow协议中, 逻辑模块可以将所述 Tunnel ID B置于 metadata 中, 将所述 metadata传递至业务链 b的流表项 3。
Switch将逻辑模块传递的 Tunnel ID B和输入端口作为查询条件,从第一步 生成的业务链 b的流表项中查询出业务链 b的流表项 3 , 再按照业务链 b的流表 项 3中 Instruction的描述, 将业务流 b发送至外部网络设备。
实施例七:
本发明实施例七还描述了一种与实施例一至实施例六属于同一发明构思 下的数据报文的路由设备, 如图 10 ( a )和图 10 ( b ) 所示, 包括: 报文接收 单元 11、 转发规则获取单元 12和路由单元 13 , 其中:
报文接收单元 11用于接收 SE发送的数据报文;
转发规则获取单元 12用于根据从所述 SE接收到的数据报文所属的业务 流, 获取所述业务流对应的业务链的转发规则;
路由单元 13用于根据所述转发规则对从所述 SE接收到的数据报文进行 路由。 的转发规则, 下面分别加以说明:
方式一如图 10 ( a )所示、
所述转发规则获取单元 12具体用于根据从所述 SE接收到的数据报文所 属的业务流, 以及所述业务流和所述业务链的对应关系, 获取所述业务链的 转发规则。
所述数据报文的路由设备还包括:
流表项生成单元 14用于根据所述转发规则生成流表项, 所述流表项的匹 配域包括所述业务链的信息, 所述流表项的指令域包括所述转发规则;
所述转发规则获取单元 12具体用于根据从所述 SE接收到的数据报文所 属的业务流, 以及所述业务流和所述业务链的对应关系, 封装从所述 SE接收 到的数据报文, 以使封装后的所述的数据报文包括所述业务链的信息, 并根 据封装后的所述数据报文获取对应的所述流表项生成单元 14生成的所述流表 项的指令域的信息; 或者, 根据从所述 SE接收到的数据报文所属的业务流, 以及所述业务流和所述业务链的对应关系, 获得所述业务链的信息, 并根据 所述获得的业务链的信息获取对应的所述流表项生成单元 14生成的所述流表 项的指令域的信息。
所述数据报文的路由设备还包括第一对应关系建立单元 15 , 用于根据接 收到的数据报文中包括的所述业务流的信息和所述业务链的信息建立所述业 务流和所述业务链的对应关系。 所述报文接收单元 11还用于接收网络设备发送的数据报文, 其中所述网 络设备发送的数据报文包括所述业务流的信息和所述业务链的信息;
所述第一对应关系建立单元 15具体用于根据所述报文接收单元接收到的 数据报文中包括的所述业务流的信息和所述业务链的信息建立所述业务流和 所述业务链的对应关系。
方式二如图 10 ( b ) 所示,:
所述转发规则获取单元 12具体用于根据从所述 SE接收到的数据报文所 属的业务流, 以及所述业务流和所述业务链的转发规则的对应关系, 获取所 述业务链的转发规则。
所述数据报文的路由设备还包括第二对应关系建立单元 16 , 用于根据接 收到数据报文中包括的所述业务流的信息和所述业务链的信息建立所述业务 流和所述业务链的转发规则的对应关系。
所述报文接收单元 11还用于接收网络设备发送的数据报文, 其中所述网 络设备发送的数据报文包括所述业务流的信息和所述业务链的信息;
所述第二对应关系建立单元 16具体用于根据所述报文接收单元 11接收 到的数据报文中的所述业务流的信息和所述业务链的信息, 以及所述业务链 与所述业务链的转发规则的对应关系, 建立所述业务流和所述业务链的转发 规则的对应关系。
所述第二对应关系建立单元 16具体用于根据所述报文接收单元 11接收 到的数据报文中的业务流的信息和所述业务链的信息, 以及所述业务链与所 述业务链的转发规则的对应关系, 生成流表项, 其中所述流表项的匹配域包 括所述业务流的信息, 所述指令域包括所述转发规则。
所述转发规则获取单元 12具体用于根据从所述 SE接收到的数据报文所 属的业务流, 获取对应的所述流表项的指令域的信息。
另外, 所述数据报文的路由设备还包括转发规则接收单元 17 , 用于接收 SPC下发的所述业务链的转发规则。
所述数据报文的路由设备还包括触发单元 18, 用于在接收所述 SPC下发 的指示信息时, 所述指示信息用于指示所述 Switch建立所述对应关系, 或者, 根据配置信息确定建立所述对应关系时, 触发所述第一对应关系建立单元 15 或第二对应关系建立单元 16。
所述数据报文的路由设备还包括上报单元 19, 用于向 SPC上报自身具有 建立所述对应关系的能力。 当然, 所述 SPC可以才艮据本地的配置信息, 确定 所述数据报文的路由设备是否具有建立对应关系的能力。
实施例八:
本发明实施例八还描述了一种与实施例一至实施例六属于同一发明构思 下的数据报文的路由设备, 如图 11所示, 包括通信接口 21和处理器 22, 其中: 所述通信接口 21用于与外部网络设备进行交互;
所述处理器 22用于通过所述通信接口 21接收 SE发送的数据报文,并根 据从所述 SE接收到的数据报文所属的业务流,获取所述业务流对应的业务链 的转发规则, 以及根据所述转发规则对从所述 SE接收到的数据报文进行路 由。
具体地, 所述处理器 22包括但不限于以下两种方式获取业务链的转发规 则, 下面分别加以说明:
方式一、
所述处理器 22可以根据从所述 SE接收到的数据报文所属的业务流, 以 及所述业务流和所述业务链的对应关系, 获取所述业务链的转发规则。
作为一种可选的实施方式, 所述处理器 22用于根据所述转发规则生成流 表项, 所述流表项的匹配域包括所述业务链的信息, 所述流表项的指令域包 括所述转发规则; 此时, 处理器 22用于根据从所述 SE接收到的数据报文所 属的业务流, 以及所述业务流和所述业务链的对应关系, 获取所述业务链的 转发规则, 包括: 处理器 22用于根据通过所述通信接口 21从所述 SE接收到 的数据报文所属的业务流, 以及所述业务流和所述业务链的对应关系, 封装 从所述 SE接收到的数据报文,以使封装后的所述的数据报文包括所述业务链 的信息, 并根据封装后的所述数据报文获取对应的所述流表项的指令域的信 息; 或者, 根据通过所述通信接口 21从所述 SE接收到的数据报文所属的业 务流, 以及所述业务流和所述业务链的对应关系, 获得所述业务链的信息, 并根据所述获得的业务链的信息获取对应的所述流表项的指令域的信息。
所述处理器 22还可以根据接收到的数据报文中包括的所述业务流的信息 和所述业务链的信息建立所述业务流和所述业务链的对应关系。
具体地, 所述处理器 22还用于通过所述通信接口 21接收网络设备发送 的数据报文, 其中所述网络设备发送的数据报文包括所述业务流的信息和所 述业务链的信息; 根据通过所述通信接口 21接收到的数据报文中包括的所述 业务流的信息和所述业务链的信息建立所述业务流和所述业务链的对应关 系。
方式二:
所述处理器 22可以根据从所述 SE接收到的数据报文所属的业务流, 以 及所述业务流和所述业务链的转发规则的对应关系, 获取所述业务链的转发 规则。
示例性的, 所述处理器 22用于根据接收到数据报文中包括的所述业务流 的信息和所述业务链的信息建立所述业务流和所述业务链的转发规则的对应 关系。
具体地, 所述处理器 22通过通信接口 21接收网络设备发送的数据报文, 其中所述网络设备发送的数据报文包括所述业务流的信息和所述业务链的信 息; 根据通过所述通信接口 21接收到的数据报文中的所述业务流的信息和所 述业务链的信息, 以及所述业务链与所述业务链的转发规则的对应关系, 建 立所述业务流和所述业务链的转发规则的对应关系。
作为一种可选的实施方式,所述处理器 22用于根据通过所述通信接口 21 接收到的数据报文中的所述业务流的信息和所述业务链的信息, 以及所述业 务链与所述业务链的转发规则的对应关系, 建立所述业务流和所述业务链的 转发规则的对应关系, 包括: 所述处理器 22 用于根据通过所述通信接口 21 接收到的数据报文中的业务流的信息和所述业务链的信息, 以及所述业务链 与所述业务链的转发规则的对应关系, 生成流表项, 其中所述流表项的匹配 域包括所述业务流的信息, 所述指令域包括所述转发规则。
对应的, 所述处理器 22用于根据从所述 SE接收到的数据报文所属的业 务流, 以及所述业务流和所述业务链的转发规则的对应关系, 获取所述业务 链的转发规则, 包括: 处理器 22用于根据从所述 SE接收到的数据报文所属 的业务流, 获取对应的所述流表项的指令域的信息。
另外, 所述处理器 22还用于通过所述通信接口 21接收 SPC下发的所述 业务链的转发规则。
所述处理器 22还用于在所述通信接口 21接收所述 SPC下发的指示信息 时, 所述指示信息用于指示所述 Switch建立所述对应关系, 或者, 根据配置 信息确定需要建立所述对应关系时, 建立业务流与业务链的对应关系或业务 流与业务链的转发规则之间的对应关系。
所述处理器 22还用于通过所述通信接口 21向 SPC上报自身具有建立所 述对应关系的能力。 当然, 所述 SPC可以才艮据本地的配置信息, 确定所述数 据报文的路由设备是否具有建立对应关系的能力。
本发明实施例七和实施例八所述的数据报文的路由设备可以是本发明实 施例一至实施例六中涉及的 Switch, 或其他具有相同功能的网络设备。
通过本发明实施例所描述的方法和设备, SPC向 Switch下发针对业务链的 转发规则后, Switch可根据该转发规则对对应相同业务链的业务流进行处理, 避免了 SPC为每个业务流向 Switch下发转发规则, 减少了 SPC和 Switch之间的 信令交互, 同时, Switch上存储的规则减少了, 节约 Switch上的存储空间。 即 使到达 Switch的数据报文内没有业务链的信息, Switch也可根据已保存的业务 流的信息与业务链的信息之间的对应关系或业务流的信息与业务链的转发规 则之间的对应关系, 确定对该数据报文进行路由时的转发规则, 使本发明实 施例的方案更具有通用性和灵活性。
本领域内的技术人员应明白, 本发明的实施例可提供为方法、 系统、 或 计算机程序产品。 因此, 本发明可釆用完全硬件实施例、 完全软件实施例、 或结合软件和硬件方面的实施例的形式。 而且, 本发明可釆用在一个或多个 其中包含有计算机可用程序代码的计算机可用存储介质 (包含但不限于磁盘 存储器、 CD-ROM、 光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、 设备(系统)、 和计算机程序产 品的流程图和 /或方框图来描述的。 应理解可由计算机程序指令实现流程图 和 /或方框图中的每一流程和 /或方框、 以及流程图和 /或方框图中的流程 和 /或方框的结合。 可提供这些计算机程序指令到通用计算机、 专用计算机、 嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器, 使得通 过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流 程图一个流程或多个流程和 /或方框图一个方框或多个方框中指定的功能的 装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设 备以特定方式工作的计算机可读存储器中, 使得存储在该计算机可读存储器 中的指令产生包含指令装置的制造品, 该指令装置实现在流程图一个流程或 多个流程和 /或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上, 使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的 处理, 从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图 一个流程或多个流程和 /或方框图一个方框或多个方框中指定的功能的步 骤。
尽管已描述了本发明的优选实施例, 但本领域内的技术人员一旦得知了 基本创造性概念, 则可对这些实施例做出另外的变更和修改。 所以, 所附权 利要求意欲解释为包含优选实施例以及落入本发明范围的所有变更和修改。 脱离本发明实施例的精神和范围。 这样, 倘若本发明实施例的这些修改和变 型属于本发明权利要求及其等同技术的范围之内, 则本发明也意图包含这些 改动和变型在内。

Claims (25)

  1. 权 利 要 求
    1、 一种数据报文的路由方法, 其特征在于, 包括:
    交换机 Swtich接收业务使能器 SE发送的数据报文;
    所述 Switch根据从所述 SE接收到的数据报文所属的业务流, 获取所述 业务流对应的业务链的转发规则;
    所述 Switch根据所述转发规则对从所述 SE接收到的数据报文进行路由。
  2. 2、 如权利要求 1所述的路由方法, 其特征在于, 所述 Switch根据从所述 SE接收到的数据报文所属的业务流, 获取所述业务流对应的业务链的转发规 则, 包括:
    所述 Switch根据从所述 SE接收到的数据报文所属的业务流, 以及所述 业务流和所述业务链的对应关系, 获取所述业务链的转发规则。
  3. 3、 如权利要求 2所述的路由方法, 其特征在于, 还包括:
    所述 Switch根据所述转发规则生成流表项, 所述流表项的匹配域包括所 述业务链的信息, 所述流表项的指令域包括所述转发规则;
    所述 Switch根据从所述 SE接收到的数据报文所属的业务流, 以及所述 业务流和所述业务链的对应关系, 获取所述业务链的转发规则, 包括:
    所述 Switch根据从所述 SE接收到的数据报文所属的业务流, 以及所述 业务流和所述业务链的对应关系, 封装从所述 SE接收到的数据报文, 以使封 装后的数据报文包括所述业务链的信息; 所述 Switch根据所述封装后的数据 报文获取对应的所述流表项的指令域的信息; 或者,
    所述 Switch根据从所述 SE接收到的数据报文所属的业务流, 以及所述 业务流和所述业务链的对应关系, 获得所述业务链的信息; 所述 Switch根据 所述获得的业务链的信息获取对应的所述流表项的指令域的信息。
  4. 4、 如权利要求 2或 3所述的路由方法, 其特征在于,
    所述业务流和所述业务链的对应关系是所述 Switch根据接收到的数据报 文中包括的所述业务流的信息和所述业务链的信息建立的。 5、 如权利要求 4所述的路由方法, 其特征在于, 还包括:
    所述 Switch接收网络设备发送的数据报文, 其中所述网络设备发送的数 据报文包括所述业务流的信息和所述业务链的信息;
    所述 Switch根据所述业务流的信息和所述业务链的信息建立所述业务流 和所述业务链的对应关系。
  5. 6、 如权利要求 1所述的路由方法, 其特征在于, 所述 Switch根据从所述 SE接收到的数据报文所属的业务流, 获取所述业务流对应的业务链的转发规 则, 包括:
    所述 Switch根据从所述 SE接收到的数据报文所属的业务流, 以及所述 业务流和所述业务链的转发规则的对应关系, 获取所述业务链的转发规则。
  6. 7、 如权利要求 6所述的路由方法, 其特征在于, 所述业务流和所述业务 链的转发规则的对应关系是所述 Switch根据接收到数据报文中包括的所述业 务流的信息和所述业务链的信息建立的。
  7. 8、 如权利要求 7所述的路由方法, 其特征在于, 还包括:
    所述 Switch接收网络设备发送的数据报文, 其中所述网络设备发送的数 据报文包括所述业务流的信息和所述业务链的信息;
    所述 Switch根据所述业务流的信息和所述业务链的信息, 以及所述业务 链与所述业务链的转发规则的对应关系, 建立所述业务流和所述业务链的转 发规则的对应关系。
  8. 9、 如权利要求 8所述的路由方法, 其特征在于, 所述 Switch根据所述业 务流的信息和所述业务链的信息, 以及所述业务链与所述业务链的转发规则 的对应关系, 建立所述业务流和所述业务链的转发规则的对应关系, 包括: 所述 Switch根据所述业务流的信息和所述业务链的信息, 以及所述业务 链与所述业务链的转发规则的对应关系, 生成流表项, 其中所述流表项的匹 配域包括所述业务流的信息, 所述指令域包括所述转发规则。
  9. 10、 如权利要求 9所述的路由方法, 其特征在于, 所述 Switch根据从所 述 SE接收到的数据报文所属的业务流, 以及所述业务流和所述业务链的转发 规则的对应关系, 获取所述业务链的转发规则, 包括:
    所述 Switch根据从所述 SE接收到的数据报文所属的业务流, 获取对应 的所述流表项的指令域的信息。
  10. 11、 如权利要求 1-10任一所述的路由方法, 其特征在于, 还包括: 所述 Switch接收业务路径控制器 SPC下发的所述业务链的转发规则。
  11. 12、 如权利要求 5或 8所述的路由方法, 其特征在于, 还包括: 所述 Switch接收 SPC 下发的指示信息, 所述指示信息用于指示所述 Switch建立所述对应关系; 或者,
    所述 Swtich ^艮据配置信息确定建立所述对应关系。
  12. 13、 如权利要求 12所述的数据报文的路由方法, 其特征在于, 还包括: 所述 Switch向所述 SPC上报所述 Switch 具有建立所述对应关系的能力; 或者,
    所述 Switch才艮据配置信息确定所述 Swtich具有建立所述对应关系的能 力。
  13. 14、 一种数据报文的路由设备, 其特征在于, 包括:
    报文接收单元, 用于接收业务使能器 SE发送的数据报文;
    转发规则获取单元, 用于根据从所述 SE接收到的数据报文所属的业务 流, 获取所述业务流对应的业务链的转发规则;
    路由单元,用于根据所述转发规则对从所述 SE接收到的数据报文进行路 由。
  14. 15、 如权利要求 14所述的路由设备, 其特征在于,
    所述转发规则获取单元,具体用于根据从所述 SE接收到的数据报文所属 的业务流, 以及所述业务流和所述业务链的对应关系, 获取所述业务链的转 发规则。
  15. 16、 如权利要求 14或 15所述的路由设备, 其特征在于, 还包括: 流表项生成单元, 用于根据所述转发规则生成流表项, 所述流表项的匹 配域包括所述业务链的信息, 所述流表项的指令域包括所述转发规则; 所述转发规则获取单元,具体用于根据从所述 SE接收到的数据报文所属 的业务流, 以及所述业务流和所述业务链的对应关系, 封装从所述 SE接收到 的数据报文, 以使封装后的所述的数据报文包括所述业务链的信息, 并根据 封装后的所述数据报文获取对应的所述流表项生成单元生成的所述流表项的 指令域的信息; 或者, 根据从所述 SE接收到的数据报文所属的业务流, 以及 所述业务流和所述业务链的对应关系, 获得所述业务链的信息, 并根据所述 获得的业务链的信息获取对应的所述流表项生成单元生成的所述流表项的指 令域的信息。
  16. 17、 如权利要求 14或 15所述的路由设备, 其特征在于, 还包括: 对应关系建立单元, 用于根据接收到的数据报文中包括的所述业务流的 信息和所述业务链的信息建立所述业务流和所述业务链的对应关系。
  17. 18、 如权利要求 17所述的路由设备, 其特征在于,
    所述报文接收单元, 还用于接收网络设备发送的数据报文, 其中所述网 络设备发送的数据报文包括所述业务流的信息和所述业务链的信息;
    所述对应关系建立单元, 具体用于根据所述报文接收单元接收到的数据 报文中包括的所述业务流的信息和所述业务链的信息建立所述业务流和所述 业务链的对应关系。
  18. 19、 如权利要求 14所述的路由设备, 其特征在于,
    所述转发规则获取单元,具体用于根据从所述 SE接收到的数据报文所属 的业务流, 以及所述业务流和所述业务链的转发规则的对应关系, 获取所述 业务链的转发规则。
  19. 20、 如权利要求 19所述的路由设备, 其特征在于, 还包括:
    对应关系建立单元, 用于根据接收到数据报文中包括的所述业务流的信 息和所述业务链的信息建立所述业务流和所述业务链的转发规则的对应关 系。
  20. 21、 如权利要求 20所述的路由设备, 其特征在于,
    所述报文接收单元, 还用于接收网络设备发送的数据报文, 其中所述网 络设备发送的数据报文包括所述业务流的信息和所述业务链的信息; 所述对应关系建立单元, 具体用于根据所述报文接收单元接收到的数据 报文中的所述业务流的信息和所述业务链的信息, 以及所述业务链与所述业 务链的转发规则的对应关系, 建立所述业务流和所述业务链的转发规则的对 应关系。
  21. 22、 如权利要求 21所述的路由设备, 其特征在于,
    所述对应关系建立单元, 具体用于根据所述报文接收单元接收到的数据 报文中的业务流的信息和所述业务链的信息, 以及所述业务链与所述业务链 的转发规则的对应关系, 生成流表项, 其中所述流表项的匹配域包括所述业 务流的信息, 所述指令域包括所述转发规则。
  22. 23、 如权利要求 22所述的路由设备, 其特征在于,
    所述转发规则获取单元,具体用于根据从所述 SE接收到的数据报文所属 的业务流, 获取对应的所述流表项的指令域的信息。
  23. 24、 如权利要求 14-23任一所述的路由设备, 其特征在于, 还包括: 转发规则接收单元, 用于接收业务路径控制器 SPC下发的所述业务链的 转发规则。
  24. 25、 如权利要求 18或 21所述的路由设备, 其特征在于, 还包括: 触发单元, 用于在接收 SPC下发的指示信息时, 所述指示信息用于指示 所述 Switch建立所述对应关系, 或者, 根据配置信息确定建立所述对应关系 时, 触发所述对应关系建立单元。
  25. 26、 如权利要求 25所述的路由设备, 其特征在于, 还包括:
    上报单元, 用于向所述 SPC上报自身具有建立所述对应关系的能力。
CN201380000643.XA 2013-06-14 2013-06-14 一种数据报文的路由方法和设备 Active CN104380667B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/077247 WO2014198060A1 (zh) 2013-06-14 2013-06-14 一种数据报文的路由方法和设备

Publications (2)

Publication Number Publication Date
CN104380667A true CN104380667A (zh) 2015-02-25
CN104380667B CN104380667B (zh) 2017-09-12

Family

ID=52021585

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380000643.XA Active CN104380667B (zh) 2013-06-14 2013-06-14 一种数据报文的路由方法和设备

Country Status (4)

Country Link
US (1) US9832130B2 (zh)
EP (1) EP2993836B1 (zh)
CN (1) CN104380667B (zh)
WO (1) WO2014198060A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108259350A (zh) * 2017-10-24 2018-07-06 新华三技术有限公司 一种报文传输方法、装置及机器可读存储介质
CN110391982A (zh) * 2018-04-20 2019-10-29 伊姆西Ip控股有限责任公司 传输数据的方法、设备和计算机程序产品
CN111813772A (zh) * 2019-04-12 2020-10-23 阿里巴巴集团控股有限公司 数据处理方法以及装置
CN111813772B (zh) * 2019-04-12 2024-05-07 阿里巴巴集团控股有限公司 数据处理方法以及装置

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104009918B (zh) 2013-02-22 2018-03-27 华为技术有限公司 一种业务报文处理方法、装置及系统
US10069649B2 (en) * 2013-11-06 2018-09-04 Citrix Systems, Inc. Systems and methods for performing service tag switching in an application delivery controller
CN104639451B (zh) * 2013-11-14 2019-03-22 中兴通讯股份有限公司 数据流分流方法及控制器
US10367725B2 (en) * 2013-12-21 2019-07-30 Hewlett Packard Enterprise Development Lp Network programming
CN104980348A (zh) * 2014-04-04 2015-10-14 中兴通讯股份有限公司 业务链路由方法及系统、及系统中的设备
CN105099960B (zh) * 2014-04-30 2018-03-16 国际商业机器公司 用于实现服务链的方法和装置
EP3249863B1 (en) * 2015-02-13 2019-06-19 Huawei Technologies Co., Ltd. Access control apparatus, system and method
EP3308508B1 (en) * 2015-06-15 2020-07-29 Telefonaktiebolaget LM Ericsson (publ) Methods and network nodes for scalable mapping of tags to service function chain encapsulation headers
CN106936939B (zh) * 2015-12-31 2020-06-02 华为技术有限公司 一种报文处理方法、相关装置及nvo3网络系统
US11044203B2 (en) * 2016-01-19 2021-06-22 Cisco Technology, Inc. System and method for hosting mobile packet core and value-added services using a software defined network and service chains
CN107332812B (zh) * 2016-04-29 2020-07-07 新华三技术有限公司 网络访问控制的实现方法及装置
US10305798B2 (en) 2016-06-21 2019-05-28 Telefonaktiebolaget Lm Ericsson (Publ) Dynamic lookup optimization for packet classification
US10404788B2 (en) * 2016-06-30 2019-09-03 Alibaba Group Holding Limited Express route transmissions between virtual machines and cloud service computing devices
US10419330B2 (en) 2016-07-21 2019-09-17 Alibaba Group Holding Limited Express route transmissions between virtual machines and cloud service computing devices
CN106230640B (zh) * 2016-08-30 2019-12-13 浙江宇视科技有限公司 一种安全规则端口配置方法和设备
US10230632B2 (en) 2017-04-05 2019-03-12 At&T Intellectual Property I, L.P. Systems and methods for tunnel free connectionless packet routing to a service edge
CN112448887B (zh) * 2019-09-04 2024-04-16 华为技术有限公司 分段路由方法及装置
CN114978610A (zh) * 2022-04-29 2022-08-30 北京火山引擎科技有限公司 一种流量传输控制方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090063688A1 (en) * 2007-08-28 2009-03-05 Rohati Systems, Inc. Centralized tcp termination with multi-service chaining
CN101400083A (zh) * 2007-09-29 2009-04-01 华为技术有限公司 对报文进行头压缩和业务流分类发送的方法、系统及装置
CN102624616A (zh) * 2012-03-02 2012-08-01 中兴通讯股份有限公司 一种实现标签交换路径间拼接的方法及系统
US20130064243A1 (en) * 2010-11-22 2013-03-14 Nec Corporation Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3994614B2 (ja) * 2000-03-13 2007-10-24 株式会社日立製作所 パケット交換機、ネットワーク監視システム及びネットワーク監視方法
CN100563256C (zh) * 2006-06-09 2009-11-25 华为技术有限公司 业务流分类处理方法及其设备
CN101175033B (zh) * 2007-11-27 2010-06-16 中兴通讯股份有限公司 报文保序方法及其装置
WO2011043379A1 (ja) * 2009-10-06 2011-04-14 日本電気株式会社 ネットワークシステムとコントローラと方法とプログラム
JP5742834B2 (ja) * 2010-03-05 2015-07-01 日本電気株式会社 通信システム、経路制御装置、パケット転送装置および経路制御方法
WO2012126423A2 (zh) * 2012-05-15 2012-09-27 华为技术有限公司 控制业务传输的方法和装置
US9258243B2 (en) * 2013-05-10 2016-02-09 Cisco Technology, Inc. Symmetric service chain binding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090063688A1 (en) * 2007-08-28 2009-03-05 Rohati Systems, Inc. Centralized tcp termination with multi-service chaining
CN101400083A (zh) * 2007-09-29 2009-04-01 华为技术有限公司 对报文进行头压缩和业务流分类发送的方法、系统及装置
US20130064243A1 (en) * 2010-11-22 2013-03-14 Nec Corporation Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
CN102624616A (zh) * 2012-03-02 2012-08-01 中兴通讯股份有限公司 一种实现标签交换路径间拼接的方法及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108259350A (zh) * 2017-10-24 2018-07-06 新华三技术有限公司 一种报文传输方法、装置及机器可读存储介质
CN108259350B (zh) * 2017-10-24 2021-02-26 新华三技术有限公司 一种报文传输方法、装置及机器可读存储介质
CN110391982A (zh) * 2018-04-20 2019-10-29 伊姆西Ip控股有限责任公司 传输数据的方法、设备和计算机程序产品
US11336580B2 (en) 2018-04-20 2022-05-17 EMC IP Holding Company LLC Methods, apparatuses and computer program products for transmitting data
CN111813772A (zh) * 2019-04-12 2020-10-23 阿里巴巴集团控股有限公司 数据处理方法以及装置
CN111813772B (zh) * 2019-04-12 2024-05-07 阿里巴巴集团控股有限公司 数据处理方法以及装置

Also Published As

Publication number Publication date
US20160099874A1 (en) 2016-04-07
EP2993836A1 (en) 2016-03-09
CN104380667B (zh) 2017-09-12
EP2993836B1 (en) 2020-02-19
EP2993836A4 (en) 2016-06-01
US9832130B2 (en) 2017-11-28
WO2014198060A1 (zh) 2014-12-18

Similar Documents

Publication Publication Date Title
CN104380667A (zh) 一种数据报文的路由方法和设备
CN104243270B (zh) 一种建立隧道的方法和装置
CN111953604B (zh) 一种为业务流提供业务服务的方法和装置
CN107566440A (zh) 软件定义的网络环境中服务的自动发现和自动扩缩
CN109873760A (zh) 处理路由的方法和装置、以及数据传输的方法和装置
CN105634942B (zh) 转发报文的方法和交换机
CN107181663A (zh) 一种报文处理方法、相关设备及计算机可读存储介质
CN107204867A (zh) 一种信息传输方法、装置和系统
CN102136989B (zh) 报文传输的方法、系统和设备
CN104813618A (zh) 软件定义的网络覆盖
CN102377640B (zh) 一种报文处理装置和报文处理方法、及预处理器
CN105429870A (zh) Sdn环境下的vxlan安全网关装置及其应用方法
CN111801911B (zh) 业务功能链拥塞跟踪
CN109120492B (zh) 一种存储单元、源交换机、报文转发方法及镜像系统
CN109302354A (zh) 一种udp封装gre报文的芯片实现方法及装置
CN104811382A (zh) 数据包的处理方法与装置
CN105009529A (zh) 一种处理报文的方法和转发器
CN103200068A (zh) 一种基于用户业务多隧道传输装置
CN102299862B (zh) 二层隧道快速转发设备和方法
CN104488237A (zh) 一种报文处理的方法、报文设备和系统
CN108650178A (zh) 一种业务报文处理方法、装置及系统
CN105515995B (zh) 报文处理方法及装置
CN106209554B (zh) 跨虚拟可扩展局域网的报文转发方法和设备
EP3166273B1 (en) Method and system for processing service node ability
CN110932968B (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
GR01 Patent grant
GR01 Patent grant