CN101945037A - 一种流量控制的方法、系统及交换机和路由器 - Google Patents

一种流量控制的方法、系统及交换机和路由器 Download PDF

Info

Publication number
CN101945037A
CN101945037A CN2010101265336A CN201010126533A CN101945037A CN 101945037 A CN101945037 A CN 101945037A CN 2010101265336 A CN2010101265336 A CN 2010101265336A CN 201010126533 A CN201010126533 A CN 201010126533A CN 101945037 A CN101945037 A CN 101945037A
Authority
CN
China
Prior art keywords
destination address
frame
port
address
flow control
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
CN2010101265336A
Other languages
English (en)
Other versions
CN101945037B (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.)
TP Link Technologies Co Ltd
Original Assignee
SHENZHEN TP-LINK TECHNOLOGY 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 SHENZHEN TP-LINK TECHNOLOGY Co Ltd filed Critical SHENZHEN TP-LINK TECHNOLOGY Co Ltd
Priority to CN2010101265336A priority Critical patent/CN101945037B/zh
Publication of CN101945037A publication Critical patent/CN101945037A/zh
Application granted granted Critical
Publication of CN101945037B publication Critical patent/CN101945037B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明适用于流量控制技术领域,提供了一种流量控制的方法、系统及交换机。所述方法包括以下步骤:当数据帧存储在接收端口的缓冲区时,判断所述缓冲区中的数据帧数量是否达到或者超过了预设的高水位线;如果所述数据帧数量达到或者超过了预设的高水位线,则检查所述数据帧的目的地址;当检查出所述数据帧的目的地址包括广播和/或多播地址时,则不进行流量控制。本发明可以避免端口开启流量控制后的线端阻塞问题。

Description

一种流量控制的方法、系统及交换机和路由器
技术领域
本发明属于流量控制技术领域,尤其涉及一种流量控制的方法、系统及交换机和路由器。
背景技术
在现有技术中,典型的流量控制实现方案是:在交换机中防止缓冲区溢出。这种流量控制策略为:在缓冲区达到预先定义的“高水位标记”(high water mark)时,发送一个带有非零pause-time值的PAUSE帧,使交换机能够防止由于缓冲区不足而在输入端丢弃帧。当链路伙伴收到了PAUSE帧并阻塞时,交换机可以从这个输入队列中上载帧,并把它们转发到交换机的其他端口。当缓冲区中的帧少于预定义的“低水位标记”(low water mark)时,可通过发送带有0值pause-time的PAUSE帧取消流量控制,并恢复正常操作。这样交换机可以不丢弃任何帧并达到最大吞吐量。
然而,上述现有的流量控制技术无法解决HOLB(线端阻塞)问题,HOLB会严重影响交换机等网络设备在单端口对多端口通信模型中的性能表现。如图1所示,当端口1以各50%的速率向端口2和端口3发送数据的同时端口4向端口3以100%的速率发包。此时端口1和端口4的流量控制打开的话,则会导致端口1向没有发生拥塞的端口2发送的速率降低为33%。由于现有的流量控制技术为了保证端口1发往端口3的数据包不丢失,对端口1接收的数据的链路进行了流控。虽然整个系统并没有产生丢包,但是发往端口2的17%的带宽被浪费了。
发明内容
本发明的目的在于提供一种流量控制的方法,旨在解决现有技术中存在的流量控制无法解决线端阻塞的问题。
本发明是这样实现的,一种流量控制的方法,所述方法包括以下步骤:
当数据帧存储在接收端口的缓冲区时,判断所述缓冲区中的数据帧数量是否达到或者超过了预设的高水位线;
如果所述数据帧数量达到或者超过了预设的高水位线,则检查所述数据帧的目的地址;
当检查出所述数据帧的目的地址包括广播和/或多播地址时,则不进行流量控制。
本发明的另一目的在于提供一种流量控制的系统,所述系统包括:
高水位线判断模块,用于当数据帧存储在接收端口的缓冲区时,判断所述缓冲区中的数据帧数量是否达到或者超过了预设的高水位线;
目的地址检查模块,用于如果所述数据帧数量达到或者超过了预设的高水位线,则检查所述数据帧的目的地址;
控制模块,用于当检查出所述数据帧的目的地址包括广播和/或多播地址时,则不进行流量控制。
本发明的另一目的在于提供一种包括上面所述的流量控制的系统的交换机。
本发明的另一目的在于提供一种包括上面所述的流量控制的系统的路由器。
在本发明中,通过对缓冲区中的数据帧的目的地址进行判断,如果数据帧的目的地址包括广播和/或多播地址时,则不进行流量控制。本发明实施例可以避免端口开启流量控制后的线端阻塞问题。
附图说明
图1是现有技术提供的数据包发送速率的分配示意图。
图2是本发明实施例提供的流量控制的方法的实现流程示意图。
图3是本发明实施例提供的流量控制的系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图2,为本发明实施例提供的流量控制的方法的实现流程,其包括以下步骤:
在步骤S101中,当数据帧存储在接收端口的缓冲区时,判断所述缓冲区中的数据帧数量是否达到或者超过了预设的高水位线;
在步骤S102中,如果所述数据帧数量达到或者超过了预设的高水位线,则检查所述数据帧的目的地址;
在步骤S103中,当检查出所述数据帧的目的地址包括广播和/或多播地址时,则不进行流量控制。
在本发明实施例中,所述当检查出所述数据帧的目的地址包括广播和/或多播地址时,则不进行流量控制的步骤,具体为:
当检查出所述数据帧的目的地址包括广播和/或多播地址时,则接收端口不向链路上发送包括时间参数非0的pause帧。
在本发明实施例中,所述流量控制的方法还包括以下步骤:
在步骤S201中,当检查出所述数据帧的目的地址不包括广播和/或多播地址时,则判断所述数据帧的目的地址是否全部为同一个单播地址;
在步骤S202中,如果判断出所述数据帧的目的地址是全部为同一个单播地址,则接收端口向链路上发送包括时间参数非0的pause帧。
作为本发明一优选实施例,所述流量控制的方法还包括以下步骤:
在步骤S301中,如果判断出所述数据帧的目的地址不是全部为同一个单播地址,则判断发往不同端口的端口数量是否大于预设的数量;
在步骤S302中,如果判断出发往不同端口的端口数量大于预设的数量时,则接收端口不向链路上发送包括时间参数非0的pause帧;
在步骤S303中,如果判断出发往不同端口的端口数量小于等于预设的数量时,则接收端口向链路上发送包括时间参数非0的pause帧。
请参阅图3,为本发明实施例提供的流量控制的系统的结构,为了便于说明,仅示出了与本发明实施例相关的部分。所述流量控制的系统包括:高水位线判断模块102、目的地址检查模块104、以及控制模块106。所述流量控制的系统可以是内置于交换机或者是路由器中的软件单元、硬件单元或者是软硬件结合的单元。
当数据帧存储在接收端口的缓冲区时,高水位线判断模块102判断所述缓冲区中的数据帧数量是否达到或者超过了预设的高水位线;如果所述数据帧数量达到或者超过了预设的高水位线,则目的地址检查模块104检查所述数据帧的目的地址;当检查出所述数据帧的目的地址包括广播和/或多播地址时,则控制模块106不进行流量控制。
在本发明实施例中,所述流量控制的系统还包括:单播地址判断模块,以及第一发送控制模块。
当检查出所述数据帧的目的地址不包括广播和/或多播地址时,则单播地址判断模块判断所述数据帧的目的地址是否全部为同一个单播地址;如果判断出所述数据帧的目的地址是全部为同一个单播地址,则第一发送控制模块控制接收端口向链路上发送包括时间参数非0的pause帧。
作为本发明一优选实施例,所述流量控制的系统还包括:端口数量判断模块、以及第二发送控制模块。
如果判断出所述数据帧的目的地址不是全部为同一个单播地址,则所述端口数量判断模块判断发往不同端口的端口数量是否大于预设的数量;如果判断出发往不同端口的端口数量大于预设的数量时,则第二发送控制模块控制接收端口不向链路上发送包括时间参数非0的pause帧;如果判断出发往不同端口的端口数量小于等于预设的数量时,则第二发送控制模块控制接收端口向链路上发送包括时间参数非0的pause帧。
综上所述,本发明实施例通过对缓冲区中的数据帧的目的地址进行判断,如果数据帧的目的地址包括广播和/或多播地址时,则不进行流量控制。本发明实施例可以避免端口开启流量控制后的线端阻塞问题。
进一步的,本发明实施例当接收端口的数据帧是转发到多个端口时,如果这些端口中有部分端口产生拥塞,则应当转发到这些端口的数据帧会被缓存在接收端口的缓冲区域当中,这样如果采用本方案则可以不启用流量控制,保证其他发往非拥塞端口的数据帧可以正常转发。
本发明实施例提供的流量控制的方法,对于混合速率网络设备的级联端口来讲有比较大的实用意义。例如,交换机的级联端口为千兆,普通接入端口为百兆,从千兆级联端口向百兆接入端口的通信理论上来讲都将会产生拥塞,采用本发明实施例提到的流量控制的方法能够更好的适应这种情况的应用。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种流量控制的方法,其特征在于,所述方法包括以下步骤:
当数据帧存储在接收端口的缓冲区时,判断所述缓冲区中的数据帧数量是否达到或者超过了预设的高水位线;
如果所述数据帧数量达到或者超过了预设的高水位线,则检查所述数据帧的目的地址;
当检查出所述数据帧的目的地址包括广播和/或多播地址时,则不进行流量控制。
2.如权利要求1所述的方法,其特征在于,所述当检查出所述数据帧的目的地址包括广播和/或多播地址时,则不进行流量控制的步骤,具体为:
当检查出所述数据帧的目的地址包括广播和/或多播地址时,则接收端口不向链路上发送包括时间参数非0的pause暂停帧。
3.如权利要求1或2所述的方法,其特征在于,所述流量控制的方法还包括以下步骤:
当检查出所述数据帧的目的地址不包括广播和/或多播地址时,则判断所述数据帧的目的地址是否全部为同一个单播地址;
如果判断出所述数据帧的目的地址是全部为同一个单播地址,则接收端口向链路上发送包括时间参数非0的pause帧。
4.如权利要求3所述的方法,其特征在于,所述流量控制的方法还包括以下步骤:
如果判断出所述数据帧的目的地址不是全部为同一个单播地址,则判断发往不同端口的端口数量是否大于预设的数量;
如果判断出发往不同端口的端口数量大于预设的数量时,则接收端口不向链路上发送包括时间参数非0的pause帧;
如果判断出发往不同端口的端口数量小于等于预设的数量时,则接收端口向链路上发送包括时间参数非0的pause帧。
5.一种流量控制的系统,其特征在于,所述系统包括:
高水位线判断模块,用于当数据帧存储在接收端口的缓冲区时,判断所述缓冲区中的数据帧数量是否达到或者超过了预设的高水位线;
目的地址检查模块,用于如果所述数据帧数量达到或者超过了预设的高水位线,则检查所述数据帧的目的地址;
控制模块,用于当检查出所述数据帧的目的地址包括广播和/或多播地址时,则不进行流量控制。
6.如权利要求5所述的系统,其特征在于,所述当检查出所述数据帧的目的地址包括广播和/或多播地址时,则不进行流量控制的步骤,具体为:
当检查出所述数据帧的目的地址包括广播和/或多播地址时,则接收端口不向链路上发送包括时间参数非0的pause帧。
7.如权利要求5或6所述的系统,其特征在于,所述流量控制的系统还包括:单播地址判断模块,以及第一发送控制模块;
单播地址判断模块,用于当检查出所述数据帧的目的地址不包括广播和/或多播地址时,则判断所述数据帧的目的地址是否全部为同一个单播地址;
第一发送控制模块,用于如果判断出所述数据帧的目的地址是全部为同一个单播地址,则控制接收端口向链路上发送包括时间参数非0的pause帧。
8.如权利要求7所述的系统,其特征在于,所述流量控制的系统还包括:端口数量判断模块、以及第二发送控制模块;
所述端口数量判断模块,用于如果判断出所述数据帧的目的地址不是全部为同一个单播地址,则判断发往不同端口的端口数量是否大于预设的数量;
第二发送控制模块,用于如果判断出发往不同端口的端口数量大于预设的数量时,则控制接收端口不向链路上发送包括时间参数非0的pause帧;如果判断出发往不同端口的端口数量小于等于预设的数量时,则控制接收端口向链路上发送包括时间参数非0的pause帧。
9.一种包括权利要求5至8任一项所述的流量控制的系统的交换机。
10.一种包括权利要求5至8任一项所述的流量控制的系统的路由器。
CN2010101265336A 2010-03-16 2010-03-16 一种流量控制的方法、系统及交换机和路由器 Active CN101945037B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010101265336A CN101945037B (zh) 2010-03-16 2010-03-16 一种流量控制的方法、系统及交换机和路由器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010101265336A CN101945037B (zh) 2010-03-16 2010-03-16 一种流量控制的方法、系统及交换机和路由器

Publications (2)

Publication Number Publication Date
CN101945037A true CN101945037A (zh) 2011-01-12
CN101945037B CN101945037B (zh) 2012-08-29

Family

ID=43436820

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101265336A Active CN101945037B (zh) 2010-03-16 2010-03-16 一种流量控制的方法、系统及交换机和路由器

Country Status (1)

Country Link
CN (1) CN101945037B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104219714A (zh) * 2014-08-22 2014-12-17 小米科技有限责任公司 移动路由器的流量控制方法及装置
CN104780077A (zh) * 2015-03-24 2015-07-15 杭州华三通信技术有限公司 一种流量控制的方法和设备
CN104852865A (zh) * 2015-06-16 2015-08-19 上海斐讯数据通信技术有限公司 一种基于sdn架构的流量控制方法及系统
CN105337895A (zh) * 2014-07-14 2016-02-17 杭州华三通信技术有限公司 一种网络设备主机单元、网络设备子卡以及网络设备
CN105704097A (zh) * 2014-11-26 2016-06-22 华为数字技术(苏州)有限公司 一种防御攻击的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08125690A (ja) * 1994-10-21 1996-05-17 Meidensha Corp 中継装置のフロー制御方式
US6212582B1 (en) * 1996-04-19 2001-04-03 Lucent Technologies Inc. Method for multi-priority, multicast flow control in a packet switch
CN1427582A (zh) * 2001-12-19 2003-07-02 华为技术有限公司 一种同步数字系列传输网上控制以太网数据流量的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08125690A (ja) * 1994-10-21 1996-05-17 Meidensha Corp 中継装置のフロー制御方式
US6212582B1 (en) * 1996-04-19 2001-04-03 Lucent Technologies Inc. Method for multi-priority, multicast flow control in a packet switch
CN1427582A (zh) * 2001-12-19 2003-07-02 华为技术有限公司 一种同步数字系列传输网上控制以太网数据流量的方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105337895A (zh) * 2014-07-14 2016-02-17 杭州华三通信技术有限公司 一种网络设备主机单元、网络设备子卡以及网络设备
CN105337895B (zh) * 2014-07-14 2019-02-19 新华三技术有限公司 一种网络设备主机单元、网络设备子卡以及网络设备
CN104219714A (zh) * 2014-08-22 2014-12-17 小米科技有限责任公司 移动路由器的流量控制方法及装置
CN104219714B (zh) * 2014-08-22 2019-01-04 小米科技有限责任公司 移动路由器的流量控制方法及装置
CN105704097A (zh) * 2014-11-26 2016-06-22 华为数字技术(苏州)有限公司 一种防御攻击的方法及装置
CN104780077A (zh) * 2015-03-24 2015-07-15 杭州华三通信技术有限公司 一种流量控制的方法和设备
CN104780077B (zh) * 2015-03-24 2019-12-06 新华三技术有限公司 一种流量控制的方法和设备
CN104852865A (zh) * 2015-06-16 2015-08-19 上海斐讯数据通信技术有限公司 一种基于sdn架构的流量控制方法及系统
CN104852865B (zh) * 2015-06-16 2018-07-13 上海斐讯数据通信技术有限公司 一种基于sdn 架构的流量控制方法及系统

Also Published As

Publication number Publication date
CN101945037B (zh) 2012-08-29

Similar Documents

Publication Publication Date Title
CN101945037B (zh) 一种流量控制的方法、系统及交换机和路由器
CN100574310C (zh) 一种信誉流量控制方法
US8391144B1 (en) Inter-device flow control
US8819265B2 (en) Managing flow control buffer
CN103476062B (zh) 一种数据流调度的方法、设备和系统
US7573821B2 (en) Data packet rate control
TWI244285B (en) Ethernet switch controller and its congestion control method
US10069701B2 (en) Flexible allocation of packet buffers
CN101291194B (zh) 报文保序的方法和系统
US20110149801A1 (en) Arrangement for an enhanced communication network tap port aggregator and methods thereof
EP2442498B1 (en) Method and device for controlling switching network traffic
Siemon Queueing in the Linux network stack
US10728156B2 (en) Scalable, low latency, deep buffered switch architecture
JP2000050373A (ja) 可変速度ディジタル交換方式
CN102420776A (zh) 动态调整入口资源分配阈值的方法及系统
CN103314552B (zh) 使用非统一接收器的基于组的组播方法
WO2016008399A1 (en) Flow control
CN103379038A (zh) 一种流量调度的装置及方法
US20080192633A1 (en) Apparatus and method for controlling data flow in communication system
CN107135164A (zh) 拥塞控制方法及装置
CN102521159A (zh) 一种片内、片外存储器按流量动态调度分包数据的方法
CN101478486B (zh) 一种交换网数据调度方法、设备和系统
CN101184048B (zh) 一种数据帧传输的合路控制方法和设备
US7342881B2 (en) Backpressure history mechanism in flow control
CN1444358A (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
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: TP-LINK TECHNOLOGIES CO., LTD.

Free format text: FORMER NAME: SHENZHEN TP-LINK TECHNOLOGY CO., LTD.

CP03 Change of name, title or address

Address after: 518000 Guangdong city of Shenzhen province Nanshan District Shennalu Industrial Science and Technology Park building 24, South 1 layer, 3-5 layer, 1-4 layer 28 North Building

Patentee after: TP-LINK Technologies Co., Ltd.

Address before: 2, 1-6 floor, South District, Pingshan Industrial Zone, Taoyuan street, Nanshan District, Guangdong, Shenzhen 518055, China

Patentee before: Shenzhen TP-Link Technology Co., Ltd.