CN106817299B - 软件定义网络的表项生成方法和装置以及报文转发方法 - Google Patents

软件定义网络的表项生成方法和装置以及报文转发方法 Download PDF

Info

Publication number
CN106817299B
CN106817299B CN201510854463.9A CN201510854463A CN106817299B CN 106817299 B CN106817299 B CN 106817299B CN 201510854463 A CN201510854463 A CN 201510854463A CN 106817299 B CN106817299 B CN 106817299B
Authority
CN
China
Prior art keywords
flow rate
path
message
node
business stream
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.)
Active
Application number
CN201510854463.9A
Other languages
English (en)
Other versions
CN106817299A (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.)
New H3C Technologies Co Ltd
Original Assignee
New H3C 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 New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201510854463.9A priority Critical patent/CN106817299B/zh
Priority to US15/777,628 priority patent/US10833988B2/en
Priority to JP2018527106A priority patent/JP6589060B2/ja
Priority to EP16868003.1A priority patent/EP3364611B1/en
Priority to PCT/CN2016/107037 priority patent/WO2017088780A1/zh
Publication of CN106817299A publication Critical patent/CN106817299A/zh
Application granted granted Critical
Publication of CN106817299B publication Critical patent/CN106817299B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • 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
    • 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/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/645Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/80Ingress point selection by the source endpoint, e.g. selection of ISP or POP

Landscapes

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

Abstract

本申请提供了软件定义网络SDN的转发表项生成方法、装置以及报文转发方法。其中,SDN控制器基于业务流的报文特征信息、各个转发路径及其最大流量速率生成入口和中间流表项;基于业务流的报文特征信息以及转发出端口生成出口流表项。入口节点根据业务流的流量速率和报文特征信息匹配的入口流表项在选择的路径上发送携带流量速率标识的报文。所选路径上的中间节点根据报文的报文特征信息及流量速率标识匹配的中间流表项继续在所选路径上发送携带流量速率标识的报文。出口节点根据业务流的报文特征信息匹配的出口流表项发送移除流量速率标识的报文。由此,在SDN网络内根据业务流各转发路径流量速率生成流表项用以业务流的流量速率选路转发。

Description

软件定义网络的表项生成方法和装置以及报文转发方法
技术领域
本申请涉及流量转发技术领域,尤其涉及软件定义网络SDN(Software DefinedNetwork,软件定义网络)的表项生成方法和装置以及报文转发方法。
背景技术
报文从源站点穿越网络到达目的站点的过程,本质上就是报文寻路转发的过程,中间经历的转发节点,可以是路由器、交换机。非直连的网络拓扑内的源站点与目的站点之间理论上可以存在多条转发路径,但是只能在这多条转发路径选择其中一个作为源站点与目的站点之间的转发路径,用以传输报文。
以执行三层转发的IP(internet protocol)网络为例,两台路由器之间存在不同的转发路径,根据动态路由协议以路由器链路参数(如链路类型、带宽等)以一条开销(cost)最低的最短路径生成一条最优路由或者以几个开销相同的路径生成等价路由,用于两台路由器之间的寻址转发。但由于这些转发路径的生成过程中不考虑业务流量本身特征,即使业务优先级在转发中有相应处理的,但是转发路径上的路由器设备之间生成的路由表与业务流的流量速率无关。
同样的,其他三层转发网络或二层转发网络中,网络设备的转发表的生成与业务流的流量速率无关。
发明内容
本申请实施例的目的在于提供一种软件定义网络的表项生成方法和装置以及报文转发方法,在SDN网络内根据业务流各转发路径流量速率生成流表项,报文的入口和出口节点可根据报文所属业务流的流量速率变化在业务流的多个转发路径上选路转发。
为实现上述目的,本发明实施例提供了一种转发表项生成方法,应用于软件定义网络SDN控制器,该方法包括:根据SDN网络拓扑为业务流计算多个转发路径;确定每个转发路径的最大流量速率以及流量速率标识;根据业务流的报文特征信息,每个转发路径的流量速率标识以及入口节点在每个转发路径上的出端口,生成入口流表项;根据业务流的报文特征信息,每个转发路径的流量速率标识以及各中间节点在每个转发路径上的出端口,为每个中间节点生成中间流表项;根据业务流的报文特征信息以及出口节点发送业务流的出端口,生成一个出口流表项;向入口节点发送生成的入口流表项以及各转发路径的最大流量速率及流量速率标识,向每个转发路径上的中间节点发送对应的中间流表项,向出口节点发送出口流表项。
为实现上述目的,本发明实施例还提供了一种转发表项生成装置,应用于软件定义网络SDN控制器,该装置包括:转发路径计算单元,根据SDN网络拓扑为业务流计算多个转发路径;速率标识设定单元,确定每个转发路径的最大流量速率以及流量速率标识;流表项生成单元,根据业务流的报文特征信息,每个转发路径的流量速率标识以及每个转发路径上入口节点的出端口,生成入口流表项;根据业务流的报文特征信息,每个转发路径的流量速率标识以及每个转发路径上各中间节点的出端口,为每个中间节点生成中间流表项;根据业务流的报文特征信息以及出口节点发送业务流的出端口,生成一个出口流表项;发送单元,向入口节点发送生成的入口流表项以及各转发路径的最大流量速率及流量速率标识,向每个转发路径上的中间节点发送对应的中间流表项,向出口节点发送出口流表项。
本发明实施还提供了一种软件定义网络SDN模型下的流量转发方法,其中,入口节点,接收报文,从报文所属业务流的各转发路径的流量速率标识中选择一个需要携带的流量速率标识;根据报文的报文特征信息以及所选流量速率标识在本地流表中进行查找;根据匹配的入口流表项为报文添加所选流量速率标识并通过匹配的入口流表项中的出端口发送携带了所选流量速率标识的报文;
中间节点,接收携带所选流量速率标识的报文,根据报文的报文特征信息以及携带的所选流量速率标识在本地流表中进行查找;通过匹配的中间流表项中的出端口发送携带所选流量速率标识的报文;出口节点,接收携带所选流量速率标识的报文,根据报文的报文特征信息在本地流表中进行查找;通过匹配的出口流表项的出端口发送剥除所选流量速率标识的报文。
可见,本申请实施例不仅能根据业务流各转发路径流量速率生成流表项,还使得业务流的转发路径上的入口节点和中间节点在SDN网络内能够基于这些表项和业务流的流量执行选路转发,提高了SDN网络内链路带宽利用率和流量转发成功率。
附图说明
图1为本发明实施例提供的SDN控制器生成转发表项的流程图;
图2为本发明实施例提供的SDN网络示意图;
图3为图2中SDN网络内的SDN交换设备根据流表项为业务流选择不同转发路径的处理过程图;
图4为本发明实施例提供的SDN控制器的组成示意图;
图5为本发明实施例提供的SDN交换设备的组成示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明实施例提供的SDN控制器生成转发表项的流程如图1所示:
步骤101,根据SDN网络拓扑为业务流计算多个转发路径;
步骤102,确定每个转发路径的最大流量速率以及流量速率标识;
步骤103,根据业务流的报文特征信息,每个转发路径的流量速率标识以及入口节点在每个转发路径上的出端口,生成入口流表项;
步骤104,根据业务流的报文特征信息,每个转发路径的流量速率标识以及各中间节点在每个转发路径上的出端口,为每个中间节点生成中间流表项;
步骤105,根据业务流的报文特征信息以及出口节点发送业务流的出端口,生成一个出口流表项;
步骤106,向入口节点发送生成的入口流表项以及各转发路径的最大流量速率及流量速率标识,向每个转发路径上的中间节点发送对应的中间流表项,向出口节点发送出口流表项。
基于图1所示的方法,SDN控制器基于SDN网络内的业务流的各个转发路径以及各转发路径的流量速率为转发路径上的入口节点和中间节点生成流表项,以便于业务流的转发路径上的入口节点和中间节点可以基于这些流表项选路转发。
如图2所示,SDN网络由运行了open flow协议的SDN控制器201以及SDN交换设备211-216构成。SDN交换设备212以及SDN交换设备216分别连接了主机221和主机222。
SDN交换设备211收到主机221发往主机222的报文时,未匹配到流表项则将首报文发往SDN控制器201。SDN控制器201根据图2中SDN网络拓扑和链路状态,计算了三条转发路径:
第一转发路径:SDN交换设备212->SDN交换设备211->SDN交换设备213->SDN交换设备216;
第二转发路径:SDN交换设备212->SDN交换设备211->SDN交换设备214->SDN交换设备215->SDN交换设备213->SDN交换设备216;
第三转发路径:SDN交换设备212->SDN交换设备214->SDN交换设备215->SDN交换设备216。
其他SDN交换设备收到其他业务流的首报文时,如果在本地流表未匹配到对应的流表项,将首报文发往SDN控制器,SDN控制器根据首报文的业务特征信息,SDN网络拓扑和链路状态,根据这些业务流的首报文计算可用的多个转发路径。
SDN控制器201除了根据SDN交换设备211-216转发的业务流的首报文触发转发路径计算之外,SDN控制器201还可以根据预配置的流特征列表,SDN网络拓扑和链路状态,为流特征列表中每个业务流计算多个转发路径。
传统的三层转发网络中,通过路由计算的最短路径和等价路径转发报文,这些经由路由计算获得的转发路径不能动态调整,即使最短路径或等价路径上存在拥塞,也不能选择其他的转发路径。而本发明图2所示的SDN网络能通过最短路径、等价路径以及开销大于最短路径或等价路径的转发路径转发报文,且能够根据报文所属业务流的流量速率动态选择转发路径,可进一步避免路径拥塞。相比于传统的二层转发网络,本发明图2所示的SDN网络可以在多个转发路径上转发业务流的报文,并且能够根据报文所属业务流的流量速率动态选择转发路径,同样可进一步避免转发路径拥塞。
图2所示SDN网络内各交换设备除了运行了open flow等SDN网络协议以外,不限于运行IP协议,MPLS协议等三层转发协议或运行以太网协议或VPLS协议等二层转发协议。
SDN控制器201分别根据三个转发路径的每个转发路径的各链路最大带宽,计算三个转发路径的最大流量速率。假设,SDN控制器201计算的上述三个转发路径的最大流量速率依次是5M,10M,15M。
SDN控制器201为三个转发路径的最大流量速率分配对应的流量速率标识“00”,“01”以及“10”。SDN控制器201分配速率标识时可以按照最大流量速率按照从高到低或从低到高的方式按序分配,也可以直接为各转发路径的最大流量速率分配对应的流量速率标识,本发明在此不做限定。同样,本发明对于流量速率标识的格式也不做任何限定。
SDN控制器201可以根据第一转发路径上SDN交换设备212连接的SDN交换设备211的端口,确定SDN交换设备212在第一转发路径上的出端口,根据业务流的报文特征信息,第一转发路径上的流量速率标识00以及SDN交换设备211在第一转发路径上的出端口,生成第一个入口流表项;其中的匹配规则(match filed)包括业务流的报文特征信息和流量速率标识00,动作指令集(instruction)包括第一转发路径上的SDN交换设备212的出端口,添加流量速率标识00的动作以及将添加了流量速率标识00的报文通过第一转发路径上的SDN交换设备212的出端口转发的动作(action)。
SDN控制器201可以根据第一转发路径上SDN交换设备211连接的SDN交换设备213的端口确定为第一转发路径上SDN交换设备211的出端口,根据业务流的报文特征信息,第一转发路径上的流量速率标识00以及第一转发路径上SDN交换设备211的出端口,生成SDN交换设备211的第一个中间流表项;其中的匹配规则中记录的业务流的报文特征信息和流量速率标识00,动作指令集中包括第一转发路径上SDN交换设备211的出端口,添加流量速率标识00的动作以及将携带了流量速率标识00的报文通过第一转发路径上SDN交换设备211的出端口发送的动作。
SDN控制器201根据第一转发路径上SDN交换设备213连接的SDN交换设备216的端口,确定第一转发路径上SDN交换设备213的出端口,根据业务流的报文特征信息,第一转发路径上的流量速率标识00以及第一转发路径上SDN交换设备213的出端口,生成SDN交换设备213的中间流表项;其中的匹配规则中记录的业务流的报文特征信息和流量速率标识00,动作指令集中包括第一转发路径上SDN交换设备213的出端口,添加流量速率标识00的动作以及通过第一转发路径上SDN交换设备213的端口发送携带了流量速率标识00报文的动作。
SDN控制器201可以根据第二转发路径上SDN交换设备212连接的SDN交换设备211的端口确定第二转发路径上SDN交换设备212的出端口,根据业务流的报文特征信息,第二转发路径上的流量速率标识01以及第二转发路径上SDN交换设备212的出端口,生成入口流表项;其中匹配规则包括业务流的报文特征信息和流量速率标识01,动作指令集包括第二转发路径上SDN交换设备212的出端口,添加流量速率标识01的动作以及通过第二转发路径上SDN交换设备212的出端口发送携带流量速率标识01的报文的动作。
SDN控制器201为第二转发路径和第三转发路径上作为中间节点的其他SDN交换设备生成中间流表项的方式与SDN控制器201为第一转发路径上SDN交换设备211和213生成中间流表项的方式的相同。
SDN控制器201将SDN交换设备216向主机222发送报文端口确定为出端口,根据业务流的报文特征信息以及SDN交换设备216发送报文的出端口生成出口流表项;其中的匹配规则包括业务流的报文特征信息,动作指令集包括SDN交换设备216发送报文的出端口,剥除流量速率标识的动作以及通过出端口发送剥除了流量速率标识的报文的动作。
三个转发路径具有不同的最大流量速率,SDN控制器201需要以每个转发路径的流量速率标识作为匹配规则之一为入口节点生成入口流表项,以及为各转发路径上的中间节点生成中间流表项,从而入口节点和中间节点根据业务流变化的流量速率选择转发路径。出口节点向目的主机发送报文不再需要根据流量速率选择转发路径,SDN控制器201可以为出口节点生成一个出口流表项,以业务流的报文特征信息作为匹配规则,使三个转发路径上转发的业务流的报文都与出口流表项匹配,进一步节约SDN交换设备上转发芯片的表项存储资源。
SDN控制器201通过open flow协议报文的自定义字段携带各转发路径的最大流量速率和流量速率标识,发送至业务流的入口节点,即SDN交换设备212。
SDN控制器201将根据第一转发路径生成的入口流表项发往SDN交换设备212,将根据第一转发路径生成的中间流表项分别发往SDN交换设备211和213;将根据第二转发路径生成的入口流表项发往SDN交换设备212,将根据第二转发路径生成的中间流表项分别发往对应的SDN交换设备211、214、215和213;将根据第三转发路径生成的入口流表项发往SDN交换设备212,将根据第三转发路径的生成的中间流表项分别发往对应的SDN交换设备214和215;将生成的出口流表项发往SDN交换设备216。
图2中SDN网络内的SDN交换设备根据流表项为业务流选择不同转发路径的处理过程如图3所示。
在处理过程301部分,SDN交换设备212作为主机221发往主机222的业务流的入口设备,周期性的测量业务流的流量速率。
在处理过程302部分,当SDN交换设备212测量到业务流的流量速率是6M的时候,SDN交换设备将业务流的流量速率6M与三个转发路径的最大流量速率比较,选择最大流量速率是10M的第二条转发条路径的流量速率标识01。
在处理过程303部分,SDN交换设备212根据业务流的报文特征信息和流量速率标识01在本地的流表中进行查找,查找到根据第二转发路径生成的入口流表项。SDN交换设备212根据匹配的入口流表项的指令动作集,为报文添加流量速率标识01并通过第二转发路径上的端口发送携带了流量速率标识01的报文。这样,SDN交换设备212将携带了流量速率标识01的报文发往第二转发路径上的SDN交换设备211。
通过处理过程302和303,SDN交换设备212完成了转发路径的选择,并通过报文携带了流量速率标识向所选转发路径上的中间节点提供路径选择的流量速率信息。
在处理过程304部分,SDN交换设备211收到携带了流量速率标识01的报文,在本地流表中进行查找,查找到根据第二转发路径生成的中间流表项。SDN交换设备211根据匹配的中间流表项的指令动作集,通过第二转发路径上的端口发送携带了流量速率标识01的报文。这样,SDN交换设备211将携带了流量速率标识01的报文发往第二转发路径上的SDN交换设备214。之后,第二转发路径上的SDN交换设备215以及213以相同方式查找到各自本地流表中的匹配的中间流表项,根据匹配的中间流表项的动作指令集发送带了流量速率标识01的报文。以此方式,业务流的报文在第二转发路径上,由入口节点SDN交换设备212以及中间节点SDN交换设备211、214、213以及215发至出口节点SDN交换设备216。
通过处理过程304,作为中间节点的SDN交换设备基于报文携带了流量速率标识和报文特征信息匹配的中间流表项,完成转发,从而基于流量速率进行选路。
在处理过程305部分,SDN交换设备216收到携带了流量速率标识01的报文,根据报文的报文特征信息匹配到业务流的出口流表项,根据匹配的出口流表项的动作指令集发送剥除了流量速率标识01的报文至主机222。
当业务流的入口节点检测到业务流量速率变化时,入口节点、中间节点以及出口节点按照上述处理过程301-305重复执行即可。
当SDN交换设备212重新测量到业务流的流量速率是3M的时候,SDN交换设备将业务流的流量速率3M与三个转发路径的最大流量速率比较,选择最大流量速率是5M的第一条转发条路径的流量速率标识00。SDN交换设备212根据业务流的报文特征信息和流量速率标识00在本地的流表中进行查找,查找到根据第一转发路径生成的入口流表项。SDN交换设备212根据匹配的入口流表项的指令动作集,为报文添加流量速率标识00并通过第一转发路径上的端口发送携带了流量速率标识00的报文。这样,SDN交换设备212将携带了流量速率标识00的报文发往第一转发路径上的中间节点SDN交换设备211。按照相似的方式,第一转发路径上的中间节点SDN交换设备211和213根据流量速率标识00和报文特征信息匹配的中间流表项,在第一转发路径上转发业务流的报文至出口节点SDN交换设备216。由SDN交换设备216,根据匹配的出口流表项发送剥除了流量速率标识00的报文至主机222。
如果业务流的流量速率增大,SDN交换设备212测量到业务流的流量速率是12M的时候,SDN交换设备选择最大流量速率是15M的第三条转发条路径的流量速率标识10。SDN交换设备212根据业务流的报文特征信息和流量速率标识10在本地的流表中进行查找,查找到根据第三转发路径生成的入口流表项。SDN交换设备212根据匹配的入口流表项的指令动作集,为报文添加流量速率标识10并通过第三转发路径上的端口发送携带了流量速率标识10的报文。这样,SDN交换设备212将携带了流量速率标识10的报文发往第三转发路径上的SDN交换设备214。第三转发路径上的其他中间节点215和213根据中间流表项转发报文的方式相同,在此不再赘述。当携带了流量速率标识10的报文转发至SDN交换设备216时,SDN交换设备216根据匹配的出口流表项发送剥除了流量速率标识10的报文至主机222。
在SDN交换设备212在第一个测量周期完成之前,可以选择具有最大流量速率15M的第三转发路径转发业务流的报文,避免业务流的报文丢失。
SDN交换设备212在任一测量周期测量到业务流的流量速率超出了三个转发路径中最大流量速率时,SDN交换设备212选择第三转发路径,即最大流量速率是最高值的转发路径。
如图4所示,本发明实施例提供的SDN控制器包括:存储单元401、接收单元402,转发路径计算单元403,速率标识设定单元404,流表项生成单元405以及发送单元406。
转发路径计算单元403可根据存储单元401存储的预配置的流特征列表,以及收集的SDN网络拓扑和链路状态,为流特征列表中每个业务流计算多个转发路径。或者,接收单元402,接收业务流的首个报文;转发路径计算单元403根据接收单元402接收来自入口节点的业务流的首报文,根据收集的SDN网络拓扑和链路状态,确定该业务流在SDN网络拓扑内的出口节点;计算该业务流在入口节点与出口节点之间的多个转发路径。基于此类方式,转发路径计算单元403,根据SDN网络拓扑为各业务流计算多个转发路径。
速率标识设定单元404,确定每个转发路径的最大流量速率以及流量速率标识。譬如,速率标识设定单元404,根据各业务流的每个转发路径上的各链路的带宽,确定每个转发路径的最大流量速率;根据每个转发路径的最大流量速率排序,依序为每个转发路径设定一个流量速率标识。
流表项生成单元405,根据各业务流的报文特征信息以及各业务流的每个转发路径的流量速率标识以及每个转发路径上入口节点的出端口,生成入口流表项;根据业务流的报文特征信息,每个转发路径的流量速率标识以及每个转发路径上各中间节点的出端口,为每个中间节点生成中间流表项;根据各业务流的报文特征信息以及出口节点发送业务流的出端口,为各业务流的出口节点生成一个出口流表项。
发送单元406,向各业务流的入口节点发送生成的入口流表项以及各转发路径的最大流量速率及流量速率标识,向各业务流的每个转发路径上的中间节点发送对应的中间流表项,向各业务流的出口节点发送出口流表项。
流表项生成单元405生成的各业务流的每个入口流表项中,匹配规则至少包括报文特征信息和流量速率标识,动作指令集至少包括,转发路径上入口节点的出端口,添加流量速率标识的动作以及通过转发路径上入口节点的出端口发送携带流量速率标识的报文的动作。
流表项生成单元405生成的各业务流的每个中间流表项中匹配规则至少包括报文特征信息和流量速率标识,动作指令集至少包括,转发路径上中间节点的出端口,以及通过转发路径上中间节点的出端口发送携带流量速率标识的报文的动作;
流表项生成单元405生成的各业务流的出口流表项中,匹配规则至少包括报文特征信息和流量速率标识,动作指令集至少包括出口节点的出端口,剥除流量速率标识的动作以及通过出口节点的出端口发送剥除了流量速率标识的报文的动作。
如图5所示,本发明实施例提供的SDN交换设备包括:接收单元501、转发单元502,发送单元503,流表项处理单元504以及流量速率确定单元505。本发明实施例中,SDN交换设备的转发单元502根据其接收单元501收到的报文在流表中未查找到匹配表项时,SDN交换设备的转发单元502根据本地流表的默认流表项将收到的报文通过发送单元503发往SDN控制器,以请求SDN控制器为报文所属业务流计算多个转发路径并根据各转发路径生成对应的入口流表项、出口流表项以及中间流表项。本实施例中,SDN交换设备的接收单元501可接收SDN控制器通过open flow协议报文的自定义字段携带的各转发路径的最大流量速率和流量速率标识。SDN交换设备的接收单元501可接收SDN控制器通过open flow协议报文发送的入口流表项或中间流表项或出口流表项。SDN交换设备的流表项处理单元504可将收到的入口流表项或中间流表项或出口流表项配置在本地流表中。SDN交换设备的流量速率确定单元505周期性测量报文所属业务流的流量速率,比较所测的流量速率与每个转发路径的最大流量速率,选择大于所测流量速率的最大流量速率对应的转发路径的流量速率标识。SDN交换设备的转发单元502可以根据报文的报文特征信息以及所选流量速率标识在本地流表中进行查找;根据匹配的入口流表项为报文添加所选流量速率标识,并通过发送单元503将携带了流量速率标识的报文从匹配的入口流表项中的出端口发送出去。
除此之外,本实施例中的SDN交换设备的接收单元501收到携带所选流量速率标识的报文,转发单元502根据报文的报文特征信息以及携带的所选流量速率标识在本地流表中进行查找;通过发送单元503将携带所选流量速率标识的报文从匹配的中间流表项中的出端口发送出去。
或者,本实施例中的SDN交换设备的接收单元501接收携带所选流量速率标识的报文,转发单元502在本地流表中查找到携带了流量速率标识的报文的特征信息匹配的出口流表项;通过发送单元503将剥除了携带的流量速率标识的报文从匹配的出口流表项的出端口发送出去。
本申请实施例带来的有益技术效果在于,SDN控制器基于SDN网络内的业务流的各个转发路径以及各转发路径的流量速率为转发路径上的入口节点和中间节点生成流表项,以便于业务流的转发路径上的入口节点和中间节点可以基于这些流表项和业务流的流量速率动态选路转发,提高了SDN网络内链路带宽利用率和流量转发成功率。
以上仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (13)

1.一种转发表项生成方法,应用于软件定义网络SDN控制器,其特征在于,该方法包括:
根据SDN网络拓扑为业务流计算多个转发路径;
确定每个所述转发路径的最大流量速率以及流量速率标识;
根据所述业务流的报文特征信息,每个转发路径的所述流量速率标识以及入口节点在每个所述转发路径上的出端口,生成入口流表项;
根据所述业务流的报文特征信息,每个所述转发路径的流量速率标识以及各中间节点在每个所述转发路径上的出端口,为每个所述中间节点生成中间流表项;
根据所述业务流的报文特征信息以及出口节点发送所述业务流的出端口,生成一个出口流表项;
向所述入口节点发送生成的入口流表项以及各转发路径的最大流量速率及流量速率标识,向每个转发路径上的所述中间节点发送对应的所述中间流表项,向所述出口节点发送所述出口流表项;
所述确定每个所述转发路径的最大流量速率以及流量速率标识包括:
根据每个所述转发路径的最大流量速率排序,依序为每个所述转发路径设定一个流量速率标识。
2.根据权利要求1所述的方法,其特征在于,
每个所述入口流表项中,匹配规则至少包括报文特征信息和流量速率标识,动作指令集至少包括,转发路径上入口节点的出端口,添加流量速率标识的动作以及通过转发路径上入口节点的出端口发送携带流量速率标识的报文的动作;
在每个所述中间流表项中,匹配规则至少包括报文特征信息和流量速率标识,动作指令集至少包括,转发路径上中间节点的出端口,以及通过转发路径上中间节点的出端口发送携带流量速率标识的报文的动作;
在所述出口流表项中,匹配规则至少包括报文特征信息,动作指令集至少包括出口节点的出端口,剥除流量速率标识的动作以及通过出口节点的出端口发送剥除了流量速率标识的报文的动作。
3.根据权利要求1所述的方法,其特征在于,根据SDN网络拓扑为业务流计算多个转发路径包括:
接收所述入口节点发来的所述业务流的首个报文;
确定所述业务流在SDN网络拓扑内的出口节点;
根据所述SDN网络拓扑计算所述业务流在所述入口节点与所述出口节点之间的多个转发路径。
4.根据权利要求1所述的方法,其特征在于,根据SDN网络拓扑为业务流计算多个转发路径包括:
根据预设的业务流特征列表确定所述业务流的入口节点和出口节点,根据自身维护的SDN转发域的网络拓扑和链路状态,计算所述业务流在所述入口节点与所述出口节点之间的多个转发路径。
5.根据权利要求3或4所述的方法,其特征在于,所述根据每个所述转发路径的最大流量速率排序,依序为每个所述转发路径设定一个流量速率标识之前进一步包括:
根据每个所述转发路径上的各链路的带宽,确定每个所述转发路径的最大流量速率。
6.一种转发表项生成装置,应用于软件定义网络SDN控制器,其特征在于,该装置包括:
转发路径计算单元,根据SDN网络拓扑为业务流计算多个转发路径;
速率标识设定单元,确定每个所述转发路径的最大流量速率以及流量速率标识;
流表项生成单元,根据所述业务流的报文特征信息,每个转发路径的所述流量速率标识以及每个所述转发路径上入口节点的出端口,生成入口流表项;根据所述业务流的报文特征信息,每个所述转发路径的流量速率标识以及每个所述转发路径上各中间节点的出端口,为每个所述中间节点生成中间流表项;根据所述业务流的报文特征信息以及出口节点发送所述业务流的出端口,生成一个出口流表项;
发送单元,向所述入口节点发送生成的入口流表项以及各转发路径的最大流量速率及流量速率标识,向每个转发路径上的所述中间节点发送对应的所述中间流表项,向所述出口节点发送所述出口流表项;
所述速率标识设定单元具体用于,根据每个所述转发路径的最大流量速率排序,依序为每个所述转发路径设定一个流量速率标识。
7.根据权利要求6所述的装置,其特征在于,
每个所述入口流表项中,匹配规则至少包括报文特征信息和流量速率标识,动作指令集至少包括,转发路径上入口节点的出端口,添加流量速率标识的动作以及通过转发路径上入口节点的出端口发送携带流量速率标识的报文的动作;
在每个所述中间流表项中,匹配规则至少包括报文特征信息和流量速率标识,动作指令集至少包括,转发路径上中间节点的出端口,以及通过转发路径上中间节点的出端口发送携带流量速率标识的报文的动作;
在所述出口流表项中,匹配规则至少包括报文特征信息,动作指令集至少包括出口节点的出端口,剥除流量速率标识的动作以及通过出口节点的出端口发送剥除了流量速率标识的报文的动作。
8.根据权利要求6所述的装置,其特征在于,还包括接收单元,
所述接收单元,接收所述入口节点发来的所述业务流的首个报文;
所述转发路径计算单元,确定所述业务流在SDN网络拓扑内的出口节点;根据所述SDN网络拓扑计算所述业务流在所述入口节点与所述出口节点的多个转发路径。
9.根据权利要求6所述的装置,其特征在于,所述转发路径计算单元,根据预设的业务流特征列表确定所述业务流的入口节点和出口节点,根据自身维护的SDN转发域的网络拓扑和链路状态,计算所述业务流在所述入口节点与所述出口节点之间的多个转发路径。
10.根据权利要求8或9所述的装置,其特征在于,
所述速率标识设定单元进一步用于,根据每个所述转发路径上的各链路的带宽,确定每个所述转发路径的最大流量速率。
11.一种软件定义网络SDN模型下的流量转发方法,其特征在于,该方法包括:
入口节点,接收报文,从报文所属业务流的各转发路径的流量速率标识中选择一个需要携带的流量速率标识;根据所述报文的报文特征信息以及所选流量速率标识在本地流表中进行查找;根据匹配的入口流表项为所述报文添加所选流量速率标识并通过匹配的入口流表项中的出端口发送携带了所选流量速率标识的报文;所述流量速率标识通过如下方式设定:根据每个所述转发路径的最大流量速率排序,依序为每个所述转发路径设定一个流量速率标识;
中间节点,接收携带所选流量速率标识的报文,根据所述报文的报文特征信息以及携带的所选流量速率标识在本地流表中进行查找;通过匹配的中间流表项中的出端口发送携带所选流量速率标识的报文;
出口节点,接收携带所选流量速率标识的报文,根据所述报文的报文特征信息在本地流表中进行查找;通过匹配的出口流表项的出端口发送剥除所选流量速率标识的报文。
12.根据权利要求11所述的方法,其特征在于,
所述入口节点周期性测量报文所属业务流的流量速率;
所述入口节点比较所测的流量速率与每个转发路径的最大流量速率,选择大于所测流量速率的最大流量速率对应的转发路径的流量速率标识。
13.根据权利要求11所述的方法,其特征在于,
所述入口节点的本地流表中的每个所述入口流表项中,匹配规则至少包括报文特征信息和流量速率标识,动作指令集至少包括转发路径上入口节点的出端口,添加流量速率标识的动作以及通过转发路径上入口节点的出端口发送携带流量速率标识的报文的动作;
每个中间节点的各所述中间流表项中,匹配规则至少包括报文特征信息和流量速率标识,动作指令集至少包括,转发路径上中间节点的出端口,以及通过转发路径上中间节点的出端口发送携带流量速率标识的报文的动作;
在所述出口流表项中,匹配规则至少包括报文特征信息和流量速率标识,动作指令集至少包括出口节点的出端口,剥除流量速率标识的动作以及通过出口节点的出端口发送剥除了流量速率标识的报文的动作。
CN201510854463.9A 2015-11-27 2015-11-27 软件定义网络的表项生成方法和装置以及报文转发方法 Active CN106817299B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201510854463.9A CN106817299B (zh) 2015-11-27 2015-11-27 软件定义网络的表项生成方法和装置以及报文转发方法
US15/777,628 US10833988B2 (en) 2015-11-27 2016-11-24 Generating table entry and forwarding packet in software defined network
JP2018527106A JP6589060B2 (ja) 2015-11-27 2016-11-24 ソフトウェア定義ネットワークのエントリ生成およびパケット転送
EP16868003.1A EP3364611B1 (en) 2015-11-27 2016-11-24 Software-defined-networking table-entry generation and packet forwarding
PCT/CN2016/107037 WO2017088780A1 (zh) 2015-11-27 2016-11-24 软件定义网络的表项生成以及报文转发

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510854463.9A CN106817299B (zh) 2015-11-27 2015-11-27 软件定义网络的表项生成方法和装置以及报文转发方法

Publications (2)

Publication Number Publication Date
CN106817299A CN106817299A (zh) 2017-06-09
CN106817299B true CN106817299B (zh) 2019-11-29

Family

ID=58762998

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510854463.9A Active CN106817299B (zh) 2015-11-27 2015-11-27 软件定义网络的表项生成方法和装置以及报文转发方法

Country Status (5)

Country Link
US (1) US10833988B2 (zh)
EP (1) EP3364611B1 (zh)
JP (1) JP6589060B2 (zh)
CN (1) CN106817299B (zh)
WO (1) WO2017088780A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110351199A (zh) * 2018-04-04 2019-10-18 中兴通讯股份有限公司 流量平滑方法、服务器及转发设备
US10938724B2 (en) * 2018-07-23 2021-03-02 Cisco Technology, Inc. Flow rate based network load balancing
CN109379163B (zh) * 2018-09-05 2021-11-23 新华三技术有限公司 一种报文转发速率控制方法及装置
CN112583729B (zh) * 2019-09-27 2023-11-28 华为技术有限公司 一种路径的流量分配方法、网络设备及网络系统
US11991075B2 (en) * 2020-06-04 2024-05-21 Telefonaktiebolaget Lm Ericsson (Publ) Methods, apparatus and machine-readable media related to routing in a communication network
CN114268584A (zh) * 2020-09-16 2022-04-01 华为技术有限公司 转发报文的方法和相关装置
CN112311687B (zh) * 2020-10-26 2022-04-01 新华三大数据技术有限公司 一种流量调度方法及装置
CN112511452A (zh) * 2020-12-15 2021-03-16 安徽皖通邮电股份有限公司 一种l2vpn自动调节速率的方法和系统
CN116545909B (zh) * 2023-07-03 2023-09-26 成都数维通信技术有限公司 一种报文转发方法、流量牵引方法、介质、设备及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103414650A (zh) * 2013-07-29 2013-11-27 上海华为技术有限公司 一种避免拥塞的路由方法和装置
CN104580000A (zh) * 2014-12-10 2015-04-29 上海斐讯数据通信技术有限公司 一种基于流表技术的RapidIO交换方法
WO2015151442A1 (ja) * 2014-03-31 2015-10-08 日本電気株式会社 通信システム、通信方法および制御装置
WO2015161409A1 (zh) * 2014-04-21 2015-10-29 华为技术有限公司 一种负载均衡的实现方法及设备、系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148000A (en) * 1996-10-02 2000-11-14 International Business Machines Corporation Merging of data cells at network nodes
JP3601393B2 (ja) * 2000-01-11 2004-12-15 日本電気株式会社 データグラム中継装置及びその方法
US6977932B1 (en) * 2002-01-16 2005-12-20 Caspian Networks, Inc. System and method for network tunneling utilizing micro-flow state information
US20070153683A1 (en) * 2005-12-30 2007-07-05 Mcalpine Gary L Traffic rate control in a network
KR101350333B1 (ko) * 2009-11-03 2014-01-10 한국전자통신연구원 대규모 트래픽을 처리하는 온라인 서버 테스트를 위한 네트워크 에뮬레이션 시스템 및 방법
EP2537294B1 (en) * 2010-02-16 2020-04-08 Huawei Technologies Co. Ltd. Rate-varying multicast transmission for clock distribution in packet networks
US20110225312A1 (en) * 2010-03-10 2011-09-15 Thomson Licensing Unified cache and peer-to-peer method and apparatus for streaming media in wireless mesh networks
CN102271079B (zh) * 2010-06-04 2014-11-05 华为技术有限公司 报文转发的方法、节点和系统
US8942256B1 (en) * 2012-01-06 2015-01-27 Juniper Networks, Inc. Advertising with a layer three routing protocol constituent link attributes of a layer two bundle
WO2013105551A1 (ja) 2012-01-11 2013-07-18 日本電気株式会社 コンピュータシステム、コントローラ、スイッチ、通信方法、及びネットワーク管理プログラムが格納された記録媒体
US9049233B2 (en) * 2012-10-05 2015-06-02 Cisco Technology, Inc. MPLS segment-routing
US9215093B2 (en) * 2012-10-30 2015-12-15 Futurewei Technologies, Inc. Encoding packets for transport over SDN networks
CN103841015A (zh) 2012-11-20 2014-06-04 英业达科技有限公司 网络系统及路由方法
US8964752B2 (en) * 2013-02-25 2015-02-24 Telefonaktiebolaget L M Ericsson (Publ) Method and system for flow table lookup parallelization in a software defined networking (SDN) system
US9537718B2 (en) * 2013-03-15 2017-01-03 Cisco Technology, Inc. Segment routing over label distribution protocol
US9407560B2 (en) * 2013-03-15 2016-08-02 International Business Machines Corporation Software defined network-based load balancing for physical and virtual networks
US9407561B2 (en) * 2013-06-19 2016-08-02 Huawei Technologies Co., Ld. Systems and methods for traffic engineering in software defined networks
CN104378298A (zh) * 2013-08-16 2015-02-25 中兴通讯股份有限公司 一种流表条目生成方法及相应设备
JP6228822B2 (ja) 2013-11-21 2017-11-08 株式会社日立製作所 ネットワーク管理制御装置、ネットワーク管理制御システム、及びネットワーク管理制御方法
US9172651B2 (en) * 2014-02-14 2015-10-27 Telefonaktiebolaget L M Ericsson (Publ) Denial of service prevention in a software defined network
US20180287932A1 (en) * 2015-09-30 2018-10-04 Hewlett-Packard Enterprise Development L.P. Identification of an sdn action path based on a measured flow rate
US10027530B2 (en) * 2015-10-30 2018-07-17 Telefonaktiebolaget Lm Ericsson (Publ) System and method for troubleshooting SDN networks using flow statistics

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103414650A (zh) * 2013-07-29 2013-11-27 上海华为技术有限公司 一种避免拥塞的路由方法和装置
WO2015151442A1 (ja) * 2014-03-31 2015-10-08 日本電気株式会社 通信システム、通信方法および制御装置
WO2015161409A1 (zh) * 2014-04-21 2015-10-29 华为技术有限公司 一种负载均衡的实现方法及设备、系统
CN104580000A (zh) * 2014-12-10 2015-04-29 上海斐讯数据通信技术有限公司 一种基于流表技术的RapidIO交换方法

Also Published As

Publication number Publication date
EP3364611B1 (en) 2021-09-22
US10833988B2 (en) 2020-11-10
JP6589060B2 (ja) 2019-10-09
EP3364611A1 (en) 2018-08-22
CN106817299A (zh) 2017-06-09
US20180375767A1 (en) 2018-12-27
JP2018535616A (ja) 2018-11-29
EP3364611A4 (en) 2018-11-07
WO2017088780A1 (zh) 2017-06-01

Similar Documents

Publication Publication Date Title
CN106817299B (zh) 软件定义网络的表项生成方法和装置以及报文转发方法
CN104335537B (zh) 用于层2多播多路径传送的系统和方法
CN107135159B (zh) 一种sdn网络中最优路径确定的方法和系统
CN105594167B (zh) 转发报文的方法、控制器、转发设备和网络系统
CN104283791B (zh) 一种sdn网络中的三层拓扑确定方法和设备
Trestian et al. OFLoad: An OpenFlow-based dynamic load balancing strategy for datacenter networks
CN105991430A (zh) 跨多个自治网络系统的数据路由
US10506037B2 (en) Discovery of ingress provider edge devices in egress peering networks
CN107925624A (zh) 基于业务功能链sfc的报文转发方法、装置和系统
CN107306222A (zh) 标签交换路径上的流量工程隧道建立的方法和设备
CN105264844B (zh) 软件定义网络的路由方法、装置和设备
CN109450793B (zh) 一种业务流量调度的方法和装置
CN110011915A (zh) Sdn网络架构、基于sdn的流量转发控制方法及装置
CN106982157A (zh) 流量工程隧道建立方法和装置
US11477100B2 (en) Residence time measurement for traffic engineered network
CN101631089A (zh) 基于私网vpn的流量统计方法、设备和系统
CN104283807B (zh) 一种te隧道建立方法和装置
CN104283782B (zh) 多协议标签交换网络中确定报文转发路径的方法和装置
KR20160122226A (ko) 통신 시스템, 제어 장치, 통신 제어 방법 및 프로그램
CN107888490A (zh) 一种报文转发方法、路由时延计算与调度装置及系统
CN105450447A (zh) 一种网络系统及网络运行方法
CN112995036B (zh) 网络流量的调度方法及装置
CN105024934B (zh) 一种实时流量调度方法和系统
CN102123089B (zh) 隧道建立方法及装置
CN104038419B (zh) 用于在由多个网络节点组成的数据网络中传输数据分组的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant