CN109379163A - 一种报文转发速率控制方法及装置 - Google Patents
一种报文转发速率控制方法及装置 Download PDFInfo
- Publication number
- CN109379163A CN109379163A CN201811033106.6A CN201811033106A CN109379163A CN 109379163 A CN109379163 A CN 109379163A CN 201811033106 A CN201811033106 A CN 201811033106A CN 109379163 A CN109379163 A CN 109379163A
- Authority
- CN
- China
- Prior art keywords
- rate
- current time
- time period
- flow table
- rate matched
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0002—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
Landscapes
- Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种报文转发速率控制方法及装置,所述方法应用于SDN控制器,所述方法包括:获取任一业务流的转发路径,转发路径用于实现对业务流的业务报文进行转发;在当前时间周期内,获取转发路径中源节点转发业务报文的第一匹配速率,以及转发路径中目的节点转发所述业务报文的第二匹配速率;当第二匹配速率小于第一匹配速率时,将第二匹配速率作为源节点在后一个时间周期内转发业务报文的最大转发速率。因此本发明可以通过比较转发路径中源、目的节点转发业务报文的速率,对当前之后时间周期内转发业务报文的最大转发速率进行调整,从而减少网络拥塞,提高网络利用率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种报文转发速率控制方法及装置。
背景技术
随着OpenFlow技术不断完善,OpenFlow的应用也越来越广泛。OpenFlow是从整网的角度将网络虚拟化,将整网的资源分割成多个虚拟网,分配给不同的科研机构同时进行控制和实验,各个机构可以独立自由的控制自己虚拟网的流量。OpenFlow的思想是通过分离控制平面和数据平面,使二者之间使用标准的协议通信交互;数据平面采用基于流的方式进行转发,非常灵活和通用;控制平面是虚拟网的控制中心,根据用户的配置或者动态运行的协议生成流表控制数据平面转发。
目前,在复杂的Internet分组交换环境下,链路拥塞极为常见,若当前供给资源无法满足正常业务转发需求,则会导致拥塞,从而可能会导致报文传输的延迟和抖动,引起报文重传,并且导致网络的有效吞吐率降低,造成网络资源的利用率降低,同时还会加剧会耗费大量的网络资源,甚至可能导致系统陷入资源死锁而崩溃。
发明内容
有鉴于此,本发明提供一种报文转发速率控制方法及装置,来避免网络拥塞的问题。
具体地,本发明是通过如下技术方案实现的:
本发明提供一种报文转发速率控制方法,所述方法应用于SDN(Software DefinedNetwork,软件定义网络)控制器,所述方法包括:
获取任一业务流的转发路径,所述转发路径用于实现对所述业务流的业务报文进行转发;
在当前时间周期内,获取所述转发路径中源节点转发业务报文的第一匹配速率,以及所述转发路径中目的节点转发所述业务报文的第二匹配速率;
当所述第二匹配速率小于所述第一匹配速率时,将所述第二匹配速率作为所述源节点在所述当前时间周期的后一个时间周期内转发所述业务报文的最大转发速率。
基于相同的构思,本发明还提供一种报文转发速率控制装置,所述装置应用于SDN控制器,所述装置包括:
路径获取单元,用于获取任一业务流的转发路径,所述转发路径用于实现对所述业务流的业务报文进行转发;
速率获取单元,用于在当前时间周期内,获取所述转发路径中源节点转发业务报文的第一匹配速率,以及所述转发路径中目的节点转发所述业务报文的第二匹配速率;
第一限速单元,用于当所述第二匹配速率小于所述第一匹配速率时,将所述第二匹配速率作为所述源节点在所述当前时间周期的后一个时间周期内转发所述业务报文的最大转发速率。
由此可见,本发明可以通SDN控制器在当前时间周期内,从任一业务流的转发路径中源节点获取第一匹配速率,从转发路径中目的节点转发获取第二匹配速率;如果第二匹配速率小于第一匹配速率,则认为当前的链路存在拥塞,因此将第二匹配速率作为源节点在后一个时间周期内转发业务报文的最大转发速率,从而缓解拥塞。因此本发明通过比较转发路径中源、目的节点转发业务报文的速率,对当前之后时间周期内转发业务报文的最大转发速率进行调整,从而减少网络拥塞,提高网络利用率。
附图说明
图1是本发明一种示例性实施方式中的一种报文转发速率控制方法的处理流程图;
图2是本发明一种示例性实施方式中的报文转发速率控制示意图;
图3是本发明一种示例性实施方式中的节点上的报文转发速率控制示意图;
图4本发明一种示例性实施方式中的一种报文转发速率控制装置的逻辑结构图;
图5本发明一种示例性实施方式中的一种网络设备的硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了解决现有技术存在的问题,本发明提供一种报文转发速率控制方法及装置,可以通SDN控制器在当前时间周期内,从任一业务流的转发路径中源节点获取第一匹配速率,从转发路径中目的节点转发获取第二匹配速率;如果第二匹配速率小于第一匹配速率,则认为当前的链路存在拥塞,因此将第二匹配速率作为源节点在后一个时间周期内转发业务报文的最大转发速率,从而缓解拥塞。因此本发明可以通过比较转发路径中源、目的节点转发业务报文的速率,对当前之后时间周期内转发业务报文的最大转发速率进行调整,从而减少网络拥塞,提高网络利用率。
请参考图1,是本发明一种示例性实施方式中的一种报文转发速率控制方法的处理流程图,所述方法应用于SDN控制器,所述方法包括:
步骤101、获取任一业务流的转发路径,所述转发路径用于实现对所述业务流的业务报文进行转发;
在本发明实施例中,SDN控制器(以下简称“控制器”),可以根据节点上送的首包报文得到某一业务流的转发路径。
具体来讲,当节点收到任一业务流的首包报文时,可以通过控制通道将该首包报文镜像复制给控制器,控制器获取到该业务流的首包报文后,通过查表获取该首包报文对应的转发路径。
可以理解的是,在执行步骤101之前,控制器可根据用户为某一类型业务流输入的源、目的节点,在先对转发路径进行探测,进而确定某一类型业务流的最优转发路径。同时,控制器为该转发路径上的每一节点下发转发流表,以使得各节点根据转发流表对某一类型业务流的业务报文进行转发,进而实现业务报文从源节点处顺利转发至目的节点。
可以理解的是,控制器还可建立转发路径(具体为组成该转发路径的各节点)与业务流之间的对应关系,以方便在接收到首包报文后快速获取转发路径。
步骤102、在当前时间周期内,获取所述转发路径中源节点转发业务报文的第一匹配速率,以及所述转发路径中目的节点转发所述业务报文的第二匹配速率;
作为一个实施例,控制器可以向转发路径中的源节点下发第一流表,以使业务报文命中所述第一流表时,源节点将初始速率作为该源节点在当前时间周期内转发该业务报文的最大转发速率,并将表示命中该第一流表的第一报文计数值加1,根据该第一报文计数值和当前时间周期的时长计算第一匹配速率。
需要说明的是,该初始速率是控制器在先下发给源节点的,初始速率可以是该转发路径上的可允许的最大转发速率;同时,控制器还可以向该转发路径中的目的节点下发第二流表,以使业务报文命中所述第二流表时,目的节点将表示命中所述第二流表的第二报文计数值加1,根据该第二报文计数值和当前时间周期的时长计算所述第二匹配速率。
因此,控制器通过为业务报文的源节点和目的节点分别下发第一流表和第二流表,可以获取源节点转发业务报文的第一匹配速率,以及目的节点转发所述业务报文的第二匹配速率,从而可以根据转发速率对业务报文进行流量控制。
可选地,作为一个实施例,控制器收到的节点镜像的业务流的首包报文时,可以进一步获取该首包报文的报文特征,并向该业务流的转发路径中的源节点和目的节点上分别下发第一流表和第二流表。
其中,第一流表的匹配项为该报文特征,动作项为将初始速率作为该源节点在当前时间周期内转发该业务报文的最大转发速率,并且第一报文计数值加1,也就是将源节点转发的命中该报文特征的业务报文数量加1,从而源节点在当前时间周期内,根据周期时长与第一报文计数值计算第一匹配速率,该第一匹配速率是源节点转发命中该报文特征的业务报文的速率。
同理,第二流表的匹配项为命中该报文特征,动作项为第二报文计数值加1,也就是将目的节点转发且命中该报文特征的业务报文数量加1,从而目的节点在当前时间周期内,根据周期时长与第二报文计数值计算第二匹配速率,该第二匹配速率是目的节点转发命中该报文特征的业务报文的速率。
需要说明的是,由于SDN网络中存在多个节点,控制器可能会收到不同节点发送的不同匹配速率,因此控制器在收到节点发送的匹配速率时,可以获取发送该匹配速率的源MAC地址(也就是节点的MAC地址),控制器根据该源MAC地址来区分发送匹配速率的节点。例如,当节点1通过控制报文1向控制器发送第一匹配速率时,节点2通过控制报文2向控制器发送第二匹配速率时,控制器可以获取控制报文1的源MAC地址,通过确定该源MAC地址与控制器本地记录的节点1的MAC地址相同,因此确定该第一匹配速率是节点1发送的;控制器还可以获取控制报文2的源MAC地址,通过确定该源MAC地址与控制器本地记录的节点2的MAC地址相同,因此确定该第二匹配速率是节点2发送的。
此外,在SDN网络中,同一个节点在不同业务流的转发路径中所处的角色也可能不相同,例如节点1可能是业务流a的源节点,也可以是业务流b的目的节点,还可以是业务流c的中间节点,因此对于同一节点,可能收到控制器下发的多个流表,并根据不同流表上送给控制器不同的匹配速率。为了区分同一节点上的不同业务流对应的不同匹配速率,可以使节点在向控制器发送匹配速率时携带该匹配速率对应的业务流的报文特征,该报文特征是区分不同业务流的依据,可选的,报文特征可以是七元组信息,即源IP地址、目的IP地址、源端口号、目的端口号、出端口、VPN索引和端口索引,通过七元组信息可以区分不同的业务流。因此,控制器在收到节点发送的携带报文特征的匹配速率时,可以根据该报文特征区分节点发送的匹配速率属于哪个业务流。
步骤103、当所述第二匹配速率小于所述第一匹配速率时,将所述第二匹配速率作为所述源节点在所述当前时间周期的后一个时间周期内转发所述业务报文的最大转发速率。
在本发明实施例中,当控制器确定第二匹配速率小于第一匹配速率时,可以理解为从源节点处进入转发路径的业务报文数量大,而从目的节点处转出的业务报文数量少,则说明当前转发路径存在链路拥塞的问题,因此可将所述第二匹配速率作为所述源节点在所述当前时间周期的后一个时间周期内转发所述业务报文的最大转发速率。
具体来讲,控制器可以在后一个时间周期内向源节点的第一流表中下发控制指令将所述第二匹配速率作为后一个时间周期的源节点的最大转发速率,通过限制后一个时间周期中源节点处转发业务报文的最大转发速率,从转发路径的源头减少进入转发路径的业务报文数量,缓解链路拥塞。
此外,若第二匹配速率等于所述第一匹配速率时,说明当前链路不拥塞,因此源节点在后一个时间周期的最大转发速率与当前时间周期的最大转发速率保持不变。需要说明的是,由于第一匹配速率为源节点转发业务报文的转发速率,第二匹配速率是目的节点转发业务报文的转发速率,因此不存在第二匹配速率大于第一匹配速率的情况。
可选地,作为一个实施例,若当前时间周期的第二匹配速率小于当前时间周期的前一个时间周期内获取的第二匹配速率相同时,说明当前链路拥塞,因此还是将当前时间周期的第二匹配速率作为源节点在后一个时间周期的最大转发速率。
需要说明的是,本发明实施例中不存在当前时间周期的第二匹配速率大于当前时间周期的前一个时间周期内获取的第二匹配速率的情况。
若当前时间周期的第二匹配速率与当前时间周期的前一个时间周期内获取的第二匹配速率相同,控制器进一步可以获取当前时间周期内目的节点发送的第三匹配速率,该第三匹配速率为目的节点转发未命中第二流表的业务报文时的速率。
可选地,作为一个实施例,在获取当前时间周期内目的节点发送的第三匹配速率之前,控制器可以通过向目的节点下发第三流表,以使业务报文命中第三流表时,目的节点将表示命中所述第三流表的第三报文计数值加1,根据第三报文计数值和当前时间周期的时长计算所述第三匹配速率;或者,控制器可以在向目的节点下发的所述第二流表中加入额外的配置,使业务报文未命第二流表时,目的节点将表示未命中第二流表的第三报文计数值加1,根据第三报文计数值和当前时间周期的时长计算第三匹配速率。
可选地,作为一个实施例,若当前时间周期的第三匹配速率小于当前时间周期的前一个时间周期内获取的第三匹配速率,也就是说当前时间周期内目的节点转出的除了该业务报文以外的其他业务报文的数量相比于前一个时间周期减少了,则说明当前时间周期内源节点转入的其他业务报文的数量相比于前一个时间周期减少了,因此需要增大后一个时间周期内源节点对该业务报文的最大转发限速。
具体增大方法为:可将当前时间周期内的第二匹配速率与速率变化量之和作为当前时间周期的后一个时间周期内的最大转发速率;其中速率变化量为当前时间周期的前一个时间周期内获取的第三匹配速率与当前时间周期内获取的第三匹配速率之差。通过增大后一个时间周期内源节点的业务报文的最大转发速率,可以在该业务报文的转发速率不变的情况下,提升其他业务报文的转发速率,从而避免其他业务报文造成的链路拥塞。
需要说明的是,其他业务报文为被目的节点转发但未匹配控制器下发的用于匹配某一业务流的转发流表(例如,控制器下发的用于匹配某一业务流的第二流表)的报文。
此外,若当前时间周期的第三匹配速率等于当前时间周期的前一个时间周期内获取的第三匹配速率,说明当前链路不拥塞,因此源节点在后一个时间周期的最大转发速率与当前时间周期的最大转发速率保持不变。
需要说明的是,本发明实施例不存在当前时间周期的第三匹配速率大于所述当前时间周期的前一个时间周期的第三匹配速率的情况。
可选地,作为一个实施例,在将当前时间周期内的第二匹配速率与速率变化量之和作为后一个时间周期内的最大转发速率之前,控制器还可以比较当前时间周期内的第二匹配速率与速率变化量之和同所述初始速率之间的大小,如果当前时间周期内的第二匹配速率与速率变化量之和大于等于上述初始速率,则将该初始速率作为当前时间周期的后一个时间周期内的最大转发速率;如果当前时间周期内的第二匹配速率与所述速率变化量之和小于该初始速率,则将当前时间周期内的第二匹配速率与速率变化量之和作为当前时间周期的后一个时间周期内的最大转发速率。
因此可以保证在提高业务报文的最大转发速率时,不会超过链路上允许的最大转发速率,避免了链路拥塞。
为使本发明的目的、技术方案及优点更加清楚明白,请结合图2和图3对本发明的方案作进一步地详细说明。
请参见图2,是本发明实施例中的报文转发速率控制示意图,其中该OpenFlow组网中包括SDN控制器,以及多个转发节点,例如节点1、节点2和节点3,当首包报文一次经过节点1、节点2、节点3进行转发时,节点1、节点2、节点3会将该报文镜像给控制器,以使控制器获知该业务报文的转发路径,即节点1→节点2→节点3。
控制器获取该业务报文的报文特征,例如该业务报文的七元组信息,然后根据报文特征生成流表F0、F1和F2,其中:
流表F0的匹配项为命中报文特征,动作项为F0对应的第一计数器加1;
流表F1的匹配项为命中报文特征,动作项为F1对应的第二计数器加1;
流表F2的匹配项为非命中报文特征,动作项为F2对应的第三计数器加1;
控制器将流表F0下发至该业务报文的源节点的出端口,即节点1的出端口,将流表F1和F2下发到该业务报文的目的节点的出端口,即节点3的出端口,以使各个节点根据自身的流表执行相应转发和计数操作,节点根据计数结果计算当前时间周期对应的转发速率,其中流表F0对应第一匹配速率B0,流表F1对应第二匹配速率B1,流表F2对应第三匹配速率B2。
节点上的报文转发速率控制方法如图3所示,以节点1的报文转发速率控制为例,当节点1转发业务报文时,节点1可以根据控制器下发的初始速率(例如20M/s)作为该业务报文的最大转发速率。
作为一个实施例,节点1可以通过令牌桶算法对该业务报文进行转发限速,具体来讲:当节点1收到业务报文时,确定是否可从令牌桶中获取可用于转发该业务报文的令牌,如果获取到足够的令牌,则得到令牌的业务报文可以进行转发;否则,该报文无法进行转发,并丢弃处理。当业务报文命中流表F0的匹配项时,可以根据动作项将第一计数器加1。
由于报文转发速率较高,每转发一个报文就要计数器加1会使计数器的工作量非常大,为了提高计数器的工作效率,在本发明实施例中,可以设置计数采集时间间隔,每个采集时间间隔采集计数器的计数结果,通过累计计数结果可以得到一个时间周期内的计数结果。例如设定限速的时间周期T=1s,计数器的采集时间间隔t=100ms,则每隔100ms采集一次计数结果,在一个时间周期T内需要采集计数的次数为1s/100ms=10次,分别c1、c2、c3、c4、c5…c10。从经过T时间后,10个计数池都被赋值过,则c10–c1就是当前时间周期的计数值,然后计算(c10–c1)/T得到当前时间周期的报文转发速率并通知给控制器。
其他节点上的转发方法与上述方法类似,此处不再赘述。
假设,当前时间周期内,在节点1上计算流表F0对应的第一匹配速率为B0=20M/s,在节点3计算流表F1对应的第二匹配速率为B1=10M/s,在节点3计算流表F2对应的第三匹配速率为B2=90M/s。
比较当前时间周期内的B1和B0,由于10M/s<20M/s,则控制器给流表F0下发控制指令,将流表F0中的最大转发速率设置为B1,即10M/s;若当前时间周期内B1和B0相等,都是20M/s,则将流表F0的最大转发速率设置为20M/s。
在后一个时间周期内:
如果B1’变为5M/s,B1’小于B1,则将流表F0的最大转发速率改为5M/s;
如果B1’=B1,仍为10M/s,而B2’变为85M/s,由于B2’小于B2,则计算B1+(B2-B2’)的值,由于B1+(B2-B2’)=10+(90-85)=15M/s;
如果B2变为70M/s,则由于B1+(B2-B2’)=10+(90-70)=30M/s,该30M/s大于等于初始速率(20M/s),因此控制器按照初始速率作为F0的最大转发速率。
其他业务报文的限速方法与上述方法类似,可以参考上述方法执行,此处不再赘述。
由于本发明实施例可以通过比较转发路径中源、目的节点转发业务报文的速率,对当前之后时间周期内转发业务报文的最大转发速率进行调整,从而减少网络拥塞,提高网络利用率。
基于相同的构思,本发明还提供一种报文转发速率控制装置,该装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,本发明的报文转发速率控制装置作为一个逻辑意义上的装置,是通过其所在装置的CPU将存储器中对应的计算机程序指令读取后运行而成。
请参考图4,是本发明一种示例性实施方式中的一种报文转发速率控制装置400,所述装置应用于SDN控制器,从逻辑层面上来看,该装置400包括:
路径获取单元401,用于获取任一业务流的转发路径,所述转发路径用于实现对所述业务流的业务报文进行转发;
速率获取单元402,用于在当前时间周期内,获取所述转发路径中源节点转发业务报文的第一匹配速率,以及所述转发路径中目的节点转发所述业务报文的第二匹配速率;
第一限速单元403,用于当所述第二匹配速率小于所述第一匹配速率时,将所述第二匹配速率作为所述源节点在所述当前时间周期的后一个时间周期内转发所述业务报文的最大转发速率。
作为一个实施例,所述装置还包括:
第一下发单元404,用于向所述源节点下发第一流表,以使业务报文命中所述第一流表时,源节点将初始速率作为所述源节点在当前时间周期内转发所述业务报文的最大转发速率,并将表示命中所述第一流表的第一报文计数值加1,根据所述第一报文计数值和当前时间周期的时长计算所述第一匹配速率;
第二下发单元405,用于向所述目的节点下发第二流表,以使业务报文命中所述第二流表时,目的节点将表示命中所述第二流表的第二报文计数值加1,根据所述第二报文计数值和当前时间周期的时长计算所述第二匹配速率。
作为一个实施例,所述装置还包括:
第二限速单元406,用于若所述第二匹配速率与所述当前时间周期的前一个时间周期内获取的第二匹配速率相同,则获取所述当前时间周期内所述目的节点发送的第三匹配速率,所述第三匹配速率为所述目的节点转发未命中所述第二流表的业务报文时的速率;若所述第三匹配速率小于所述当前时间周期的前一个时间周期内获取的第三匹配速率,则将当前时间周期内的第二匹配速率与速率变化量之和作为所述最大转发速率;所述速率变化量为所述当前时间周期的前一个时间周期内获取的第三匹配速率与所述当前时间周期内获取的第三匹配速率之差。
作为一个实施例,所述装置还包括:
第三限速单元407,用于若当前时间周期内的第二匹配速率与所述速率变化量之和大于等于所述初始速率,则将所述初始速率作为所述最大转发速率。
作为一个实施例,所述装置还包括:
第三下发单元408,用于在获取所述当前时间周期内所述目的节点发送的第三匹配速率之前,向所述目的节点下发第三流表,以使业务报文命中所述第三流表时,目的节点将表示命中所述第三流表的第三报文计数值加1,根据所述第三报文计数值和当前时间周期的时长计算所述第三匹配速率;
或者,所述第二下发单元505向所述目的节点下发第二流表还用于,当业务报文未命中所述第二流表时,目的节点将表示未命中所述第二流表的第三报文计数值加1,根据所述第三报文计数值和当前时间周期的时长计算所述第三匹配速率。
基于相同的构思,本发明还提供一种网络设备,如图5所示,所述网络设备包括存储器51、处理器52、通信接口53以及通信总线54;其中,所述存储器51、处理器52、通信接口53通过所述通信总线54进行相互间的通信;
所述存储器51,用于存放计算机程序;
所述处理器52,用于执行所述存储器51上所存放的计算机程序,所述处理器52执行所述计算机程序时实现本发明实施例提供的报文转发速率控制方法的任一步骤。
本发明还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例提供的报文转发速率控制方法的任一步骤。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于计算机设备和计算机可读存储介质的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。综上所述,本发明可以通SDN控制器在当前时间周期内,从任一业务流的转发路径中源节点获取第一匹配速率,从转发路径中目的节点转发获取第二匹配速率;如果第二匹配速率小于第一匹配速率,则认为当前的链路存在拥塞,因此将第二匹配速率作为源节点在后一个时间周期内转发业务报文的最大转发速率,从而缓解拥塞。因此本发明可以通过比较转发路径中源、目的节点转发业务报文的速率,对当前之后时间周期内转发业务报文的最大转发速率进行调整,从而减少网络拥塞,提高网络利用率。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种报文转发速率的控制方法,其特征在于,所述方法应用于软件定义网络SDN控制器,所述方法包括:
获取任一业务流的转发路径,所述转发路径用于实现对所述业务流的业务报文进行转发;
在当前时间周期内,获取所述转发路径中源节点转发业务报文的第一匹配速率,以及所述转发路径中目的节点转发所述业务报文的第二匹配速率;
当所述第二匹配速率小于所述第一匹配速率时,将所述第二匹配速率作为所述源节点在所述当前时间周期的后一个时间周期内转发所述业务报文的最大转发速率。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向所述源节点下发第一流表,以使业务报文命中所述第一流表时,源节点将初始速率作为所述源节点在当前时间周期内转发所述业务报文的最大转发速率,并将表示命中所述第一流表的第一报文计数值加1,根据所述第一报文计数值和当前时间周期的时长计算所述第一匹配速率;
向所述目的节点下发第二流表,以使业务报文命中所述第二流表时,目的节点将表示命中所述第二流表的第二报文计数值加1,根据所述第二报文计数值和当前时间周期的时长计算所述第二匹配速率。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述第二匹配速率与所述当前时间周期的前一个时间周期内获取的第二匹配速率相同,则获取所述当前时间周期内所述目的节点发送的第三匹配速率,所述第三匹配速率为所述目的节点转发未命中所述第二流表的业务报文时的速率;
若所述第三匹配速率小于所述当前时间周期的前一个时间周期内获取的第三匹配速率,则将当前时间周期内的第二匹配速率与速率变化量之和作为所述最大转发速率;
所述速率变化量为所述当前时间周期的前一个时间周期内获取的第三匹配速率与所述当前时间周期内获取的第三匹配速率之差。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若当前时间周期内的第二匹配速率与所述速率变化量之和大于等于所述初始速率,则将所述初始速率作为所述最大转发速率。
5.根据权利要求3或4所述的方法,其特征在于,所述获取所述当前时间周期内所述目的节点发送的第三匹配速率之前,所述方法还包括:
向所述目的节点下发第三流表,以使业务报文命中所述第三流表时,目的节点将表示命中所述第三流表的第三报文计数值加1,根据所述第三报文计数值和当前时间周期的时长计算所述第三匹配速率;
或者,所述第二流表还用于当业务报文未命中所述第二流表时,目的节点将表示未命中所述第二流表的第三报文计数值加1,根据所述第三报文计数值和当前时间周期的时长计算所述第三匹配速率。
6.一种报文转发速率的控制装置,其特征在于,所述装置应用于软件定义网络SDN控制器,所述装置包括:
路径获取单元,用于获取任一业务流的转发路径,所述转发路径用于实现对所述业务流的业务报文进行转发;
速率获取单元,用于在当前时间周期内,获取所述转发路径中源节点转发业务报文的第一匹配速率,以及所述转发路径中目的节点转发所述业务报文的第二匹配速率;
第一限速单元,用于当所述第二匹配速率小于所述第一匹配速率时,将所述第二匹配速率作为所述源节点在所述当前时间周期的后一个时间周期内转发所述业务报文的最大转发速率。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第一下发单元,用于向所述源节点下发第一流表,以使业务报文命中所述第一流表时,源节点将初始速率作为所述源节点在当前时间周期内转发所述业务报文的最大转发速率,并将表示命中所述第一流表的第一报文计数值加1,根据所述第一报文计数值和当前时间周期的时长计算所述第一匹配速率;
第二下发单元,用于向所述目的节点下发第二流表,以使业务报文命中所述第二流表时,目的节点将表示命中所述第二流表的第二报文计数值加1,根据所述第二报文计数值和当前时间周期的时长计算所述第二匹配速率。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第二限速单元,用于若所述第二匹配速率与所述当前时间周期的前一个时间周期内获取的第二匹配速率相同,则获取所述当前时间周期内所述目的节点发送的第三匹配速率,所述第三匹配速率为所述目的节点转发未命中所述第二流表的业务报文时的速率;
若所述第三匹配速率小于所述当前时间周期的前一个时间周期内获取的第三匹配速率,则将当前时间周期内的第二匹配速率与速率变化量之和作为所述最大转发速率;
所述速率变化量为所述当前时间周期的前一个时间周期内获取的第三匹配速率与所述当前时间周期内获取的第三匹配速率之差。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第三限速单元,用于若当前时间周期内的第二匹配速率与所述速率变化量之和大于等于所述初始速率,则将所述初始速率作为所述最大转发速率。
10.根据权利要求8或9所述的装置,其特征在于,所述装置还包括:
第三下发单元,用于在获取所述当前时间周期内所述目的节点发送的第三匹配速率之前,向所述目的节点下发第三流表,以使业务报文命中所述第三流表时,目的节点将表示命中所述第三流表的第三报文计数值加1,根据所述第三报文计数值和当前时间周期的时长计算所述第三匹配速率;
或者,所述第二下发单元向所述目的节点下发第二流表还用于,当业务报文未命中所述第二流表时,目的节点将表示未命中所述第二流表的第三报文计数值加1,根据所述第三报文计数值和当前时间周期的时长计算所述第三匹配速率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811033106.6A CN109379163B (zh) | 2018-09-05 | 2018-09-05 | 一种报文转发速率控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811033106.6A CN109379163B (zh) | 2018-09-05 | 2018-09-05 | 一种报文转发速率控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109379163A true CN109379163A (zh) | 2019-02-22 |
CN109379163B CN109379163B (zh) | 2021-11-23 |
Family
ID=65404931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811033106.6A Active CN109379163B (zh) | 2018-09-05 | 2018-09-05 | 一种报文转发速率控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109379163B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112511452A (zh) * | 2020-12-15 | 2021-03-16 | 安徽皖通邮电股份有限公司 | 一种l2vpn自动调节速率的方法和系统 |
CN112751765A (zh) * | 2019-10-30 | 2021-05-04 | 华为技术有限公司 | 一种用于调整传输速率的方法和装置 |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340358A (zh) * | 2007-07-04 | 2009-01-07 | 鼎桥通信技术有限公司 | 一种流量控制方法、系统及流量控制实体 |
CN101467393A (zh) * | 2006-06-14 | 2009-06-24 | 思科技术公司 | 利用单个计量和标记方案的无状态呼叫许可和呼叫先占 |
CN102075421A (zh) * | 2010-12-30 | 2011-05-25 | 杭州华三通信技术有限公司 | 服务质量处理方法及装置 |
US20110292830A1 (en) * | 2010-05-25 | 2011-12-01 | Telefonaktiebolaget L M Ericsson (Publ) | Method for enhancing table lookups with exact and wildcards matching for parallel environments |
WO2013107056A1 (zh) * | 2012-01-21 | 2013-07-25 | 华为技术有限公司 | 报文转发的方法及装置 |
CN103281252A (zh) * | 2013-05-14 | 2013-09-04 | 华为技术有限公司 | 一种基于多路径传输的报文流量控制方法和装置 |
CN104301230A (zh) * | 2014-10-10 | 2015-01-21 | 杭州华三通信技术有限公司 | 报文转发方法和装置 |
CN104378298A (zh) * | 2013-08-16 | 2015-02-25 | 中兴通讯股份有限公司 | 一种流表条目生成方法及相应设备 |
CN105027506A (zh) * | 2013-03-15 | 2015-11-04 | 国际商业机器公司 | 网络中的可扩展流和拥塞控制 |
CN105359462A (zh) * | 2014-05-13 | 2016-02-24 | 华为技术有限公司 | 测试sdn建新流速率的方法和装置 |
CN105721346A (zh) * | 2016-01-26 | 2016-06-29 | 上海斐讯数据通信技术有限公司 | 一种基于软件定义网络的应用带宽配置方法及控制器 |
CN105791141A (zh) * | 2014-12-23 | 2016-07-20 | 华为技术有限公司 | 一种流表置换方法及装置 |
CN105847072A (zh) * | 2015-01-15 | 2016-08-10 | 华为技术有限公司 | 软件定义网络中探测数据流传输路径的方法及其装置 |
CN106102093A (zh) * | 2016-06-02 | 2016-11-09 | 重庆邮电大学 | 一种无线自组织网络中多路径数据包分配调度方法 |
CN106817299A (zh) * | 2015-11-27 | 2017-06-09 | 新华三技术有限公司 | 软件定义网络的表项生成方法和装置以及报文转发方法 |
CN107332686A (zh) * | 2017-05-23 | 2017-11-07 | 烽火通信科技股份有限公司 | 一种在SPTN设备上实现QoS功能的方法及系统 |
CN107465628A (zh) * | 2017-08-31 | 2017-12-12 | 郑州云海信息技术有限公司 | 一种软件定义网络的控制方法和控制装置 |
CN107483354A (zh) * | 2017-08-30 | 2017-12-15 | 郑州云海信息技术有限公司 | 基于sdn的网络阻塞解决方法及系统 |
CN108418767A (zh) * | 2018-02-09 | 2018-08-17 | 华为技术有限公司 | 数据传输方法、设备及计算机存储介质 |
-
2018
- 2018-09-05 CN CN201811033106.6A patent/CN109379163B/zh active Active
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101467393A (zh) * | 2006-06-14 | 2009-06-24 | 思科技术公司 | 利用单个计量和标记方案的无状态呼叫许可和呼叫先占 |
CN101340358A (zh) * | 2007-07-04 | 2009-01-07 | 鼎桥通信技术有限公司 | 一种流量控制方法、系统及流量控制实体 |
US20110292830A1 (en) * | 2010-05-25 | 2011-12-01 | Telefonaktiebolaget L M Ericsson (Publ) | Method for enhancing table lookups with exact and wildcards matching for parallel environments |
CN102075421A (zh) * | 2010-12-30 | 2011-05-25 | 杭州华三通信技术有限公司 | 服务质量处理方法及装置 |
WO2013107056A1 (zh) * | 2012-01-21 | 2013-07-25 | 华为技术有限公司 | 报文转发的方法及装置 |
CN103534999A (zh) * | 2012-01-21 | 2014-01-22 | 华为技术有限公司 | 报文转发的方法及装置 |
CN105027506A (zh) * | 2013-03-15 | 2015-11-04 | 国际商业机器公司 | 网络中的可扩展流和拥塞控制 |
CN103281252A (zh) * | 2013-05-14 | 2013-09-04 | 华为技术有限公司 | 一种基于多路径传输的报文流量控制方法和装置 |
CN104378298A (zh) * | 2013-08-16 | 2015-02-25 | 中兴通讯股份有限公司 | 一种流表条目生成方法及相应设备 |
CN105359462A (zh) * | 2014-05-13 | 2016-02-24 | 华为技术有限公司 | 测试sdn建新流速率的方法和装置 |
CN104301230A (zh) * | 2014-10-10 | 2015-01-21 | 杭州华三通信技术有限公司 | 报文转发方法和装置 |
CN105791141A (zh) * | 2014-12-23 | 2016-07-20 | 华为技术有限公司 | 一种流表置换方法及装置 |
CN105847072A (zh) * | 2015-01-15 | 2016-08-10 | 华为技术有限公司 | 软件定义网络中探测数据流传输路径的方法及其装置 |
CN106817299A (zh) * | 2015-11-27 | 2017-06-09 | 新华三技术有限公司 | 软件定义网络的表项生成方法和装置以及报文转发方法 |
CN105721346A (zh) * | 2016-01-26 | 2016-06-29 | 上海斐讯数据通信技术有限公司 | 一种基于软件定义网络的应用带宽配置方法及控制器 |
CN106102093A (zh) * | 2016-06-02 | 2016-11-09 | 重庆邮电大学 | 一种无线自组织网络中多路径数据包分配调度方法 |
CN107332686A (zh) * | 2017-05-23 | 2017-11-07 | 烽火通信科技股份有限公司 | 一种在SPTN设备上实现QoS功能的方法及系统 |
CN107483354A (zh) * | 2017-08-30 | 2017-12-15 | 郑州云海信息技术有限公司 | 基于sdn的网络阻塞解决方法及系统 |
CN107465628A (zh) * | 2017-08-31 | 2017-12-12 | 郑州云海信息技术有限公司 | 一种软件定义网络的控制方法和控制装置 |
CN108418767A (zh) * | 2018-02-09 | 2018-08-17 | 华为技术有限公司 | 数据传输方法、设备及计算机存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112751765A (zh) * | 2019-10-30 | 2021-05-04 | 华为技术有限公司 | 一种用于调整传输速率的方法和装置 |
EP4037268A4 (en) * | 2019-10-30 | 2022-11-16 | Huawei Technologies Co., Ltd. | TRANSMISSION RATE ADJUSTMENT METHOD AND APPARATUS |
CN112511452A (zh) * | 2020-12-15 | 2021-03-16 | 安徽皖通邮电股份有限公司 | 一种l2vpn自动调节速率的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109379163B (zh) | 2021-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Noormohammadpour et al. | Datacenter traffic control: Understanding techniques and tradeoffs | |
US9231869B2 (en) | Ensuring predictable and quantifiable networking performance | |
US8693489B2 (en) | Hierarchical profiled scheduling and shaping | |
WO2019055101A1 (en) | LIMITATION OF NETWORK TRAFFIC FLOW IN COMPUTER SYSTEMS | |
US9360885B2 (en) | Fabric multipathing based on dynamic latency-based calculations | |
Boero et al. | BeaQoS: Load balancing and deadline management of queues in an OpenFlow SDN switch | |
US9893874B2 (en) | Fabric multipathing based on dynamic latency-based calculations | |
WO2018006653A1 (zh) | 确定转发路径的方法和控制设备 | |
CN108471629A (zh) | 传输网络中业务服务质量的控制方法、设备及系统 | |
EP3930259A1 (en) | Bandwidth adjustment per label-switched path | |
Hwang et al. | Deadline and incast aware TCP for cloud data center networks | |
CN105991456A (zh) | 一种OpenFlow交换机、网络系统及带宽共享方法 | |
US10536385B2 (en) | Output rates for virtual output queses | |
CN109379163A (zh) | 一种报文转发速率控制方法及装置 | |
Cattelan et al. | Iterative design space exploration for networks requiring performance guarantees | |
CN111970149B (zh) | 一种基于硬件防火墙qos的共享带宽实现方法 | |
Iqbal et al. | Instant queue occupancy used for automatic traffic scheduling in data center networks | |
US11818051B2 (en) | Distributed node processing of network traffic | |
US11750525B2 (en) | Congestion control for low latency datacenter networks | |
WO2023082815A1 (zh) | 确定性路由的构建方法、装置和存储介质 | |
WO2015039616A1 (zh) | 一种报文处理方法及设备 | |
CN109547352A (zh) | 报文缓存队列的动态分配方法和装置 | |
US11509593B2 (en) | Congestion control for low latency datacenter networks | |
Szymanski | Low latency energy efficient communications in global-scale cloud computing systems | |
Guo-Hong | Network resource scheduling mechanism of cloud computing based on sdn |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |