数据包流分配方法

文档序号:7846615阅读:219来源:国知局
专利名称:数据包流分配方法
技术领域
本发明涉及一种数据包流分配方法,尤指应用在具有M个数据信道的网络节点上的数据包流分配方法。
为能解决上述问题,如图2所示的局域网络架构图便被发展出来,由图中可清楚看出,为能充分利用网络交换器20的带宽,一网络节点21(例如作为服务器的个人计算机)上插置有数张网络卡,本图中的例子表示出有三张网络卡211、212与213,如此一来,此网络节点21便可通过三个输出端口201、202与203与三张网络卡所共同组成的数据信道来进行数据传输,使该网络节点21′在理论上获得三倍的带宽。
但由于常用网络节点21的网络卡驱动程序把所收到的数据包先进行分类后,再以固定方式来选择输出的路径,举例来说,驱动程序分别把第一类、第四类、第七类等的数据包指派给网络卡211而输出至输出端口201,而把第二类、第五类、第八类等的数据包指派给网络卡212并输出至输出端口202,至于第三类、第六类、第九类等的数据包则指派给网络卡213并输出至输出端口203,如此一来,从表面上看来似乎已达成平均分配,但实际上,因为每一类数据包的数据量不尽相同,例如,当第一类、第四类、第七类数据包的数据量都较大时,便将使得于网络卡211与输出端口201上进行传输的数据量特别大而需花相当长时间消化,但是此时其它网络卡与输出端口却可能已闲置,造成负载产生不平衡的现象。而如何让整体的传输速率达成最佳化,进而改善上述常用手段中传输负载不平衡的缺点,是发展本发明的主要目的。
根据上述构想,本发明所述的数据包流分配方法,其特征在于将该等数据包分类成N个数据包流的方法包含下列步骤将每个数据包中的特定卷标值取出进行一运算而得到一特征值;以及将特征值相同的数据包组成一数据包流。
根据上述构想,本发明所述的数据包流分配方法,其特征在于由每个数据包中所取出的特定卷标值包含有目的地媒体存取地址(DMAC)、网际网络地址(IP)以及传输控制协议地址(TCP)。
根据上述构想,本发明所述的数据包流分配方法,其特征在于将每个数据包中的特定卷标值取出所进行的该运算为一互斥或运算。
根据上述构想,本发明所述的数据包流分配方法,其特征在于M个输出数据信道中各信道的输出负载量为计算已存放于该信道的数据队列中的包数据量。
根据上述构想,本发明所述的数据包流分配方法,其特征在于该信道的输出负载量与其相对应数据包流的数据量的总和大于该预设门槛值时,将其相对应的数据包流改交由另一信道进行传送,而另一信道的输出负载量与其相对应数据包流的数据量再加上转移来的该数据包流的数据量总和小于该预设门槛值。
根据上述构想,本发明所述的数据包流分配方法,其特征在于更包含下列步骤当相对应一信道的数据包流改交由另一信道进行传送时,于该信道的数据队列置入一广播数据包,该广播数据包内包含有该数据包流的辨识码;以及当M个数据信道中任一数据信道收到该广播数据包时,使另一信道开始传送该经过转移的数据包流。
根据上述构想,本发明所述的数据包流分配方法,其特征在于更包含下列步骤当相对应一信道的数据包流改交由另一信道进行传送后开始计时;以及当计时值大于一默认值时,使另一信道开始传送该经过转移的数据包流。
根据上述构想,本发明所述的数据包流分配方法,其应用的该具有M个数据信道的网络节点为一具有M张网络卡的个人计算机。
图2为第二种常用局域网络架构图。
图3为本发明对于常用手段缺点所发展出来的数据包流分配法所应用其上的系统方块示意图。
图4为本发明较佳实施例方法的相关步骤流程图。
杂凑值=DMACIPTCP如此一来,该等数据包将被分类成32个数据包流(data packet flow)3400、3401、…、3431,然后再将32个数据包流分别交由三张网络卡31、32、33中的一相对应网络卡进行传送。于传送工作开始时,驱动程序仍以固定方式来进行分配,但为能动态地进行负载平衡的调整,经过一段时间后,驱动程序便每隔一段预定时间(例如0.1秒)进行数据包流(data packet flow)的排序动作,用以根据数据量来将32个数据包流由小排到大。然后由最小数据量的数据包流开始进行试算与判断是否转移之动作。举例来说,三张网络卡31、32、33的数据带宽都为相同,而此时三张网络卡31、32、33中各数据队列中等待传送的包数据量为700(kb)、600(kb)、500(kb),而最小数据量的数据包流的数据量为200(kb)且原本通过网络卡31进行传输,但于此时,由于网络卡31的数据队列中等待传送的包数据量(700kb)与此数据包流数据量(200kb)的总和(900kb),已经大于门槛值(本例设为800kb),因此驱动程序将进行下列的数据包流转移动作。
首先,将此数据包流转移到对应队列中等待传送的包数据量最小的网络卡33上,同样试算网络卡33的数据队列中等待传送的包数据量与此数据包流数据量的总和与门槛值的大小关系。于此例中,网络卡33的数据队列中等待传送的包数据量(500kb)与此数据包流数据量(200kb)的总和(700kb)小于门槛值(800kb),因此驱动程序便判断可将该数据包流转移到网络卡33进行传送。而根据此方法,我们可继续进行后续的试算、比较与转移的动作,但是当没有网络卡的数据队列中等待传送的包数据量与欲转移数据包流数据量的总和小于门槛值时,便可结束此次的转移动作而再等待该预定时间(例如0.1秒)后再进行下一次的重新分配动作。
因为每条传输路径的传送速度不一,因此,为确保数据包传送顺序的正确性,当转移动作要进行时,驱动程序较佳地在原网络卡(本例为网络卡31)的数据队列中额外置入一广播数据包,且该广播数据包内包含有代表需要转移的该数据包流的辨识码。而当原网络卡(本例为网络卡31)将其数据队列内的所有包(包含该广播数据包)送出后,并且于三张网络卡31、32、33中任何一张收到该广播数据包时,驱动程序便可根据包中的辨识码,进一步使得转移后的网络卡(本例为网络卡33)开始传送该需要转移的数据包流。如此一来,将可确保该需要转移的数据包流的顺序正确性。但是,为了能避免该广播数据包可能被废弃的情况发生,我们另设有一计时机制,即当转移动作要进行时(例如驱动程序在原网络卡的数据队列中额外置入一广播数据包时),驱动程序便开始计时,而当计时值大于一默认值时,便强迫使转移后的网络卡开始传送该经过转移的数据包流。如此一来,即使该广播数据包被废弃而未被三张网络卡31、32、33中任何一张收到,经过一段默认值时间后,该需要转移的数据包流仍然会开始传送。相关方法步骤的流程图如图4所示。
综上所述,本发明所公开的技术手段将可有效改善常用手段中负载不平衡的缺点,通过提供一动态改变传输路径且可确保数据包的顺序正确性的包流分配方法,进而达到发展本发明的主要目的,其作法可广泛地运用于个人计算机或其它等效的网络节点(例如网络打印机、网络磁盘驱动器)上,本领域技术人员应当知道,在不脱离由附加的权利要求阐明的本发明的精神和范围的情况下,可以进行各种变化和替换。
权利要求
1.一种数据包流分配方法,应用在一具有M个数据信道的网络节点上,该分配方法包含下列步骤产生数个数据包;将该等数据包分类成N个数据包流,并将N个数据包流分别交由M个数据信道中的一相对应信道进行传送;以及在一预定时间后,当M个输出数据信道中一信道的输出负载量与相对应数据包流的数据量的总和大于一预设门槛值时,将其相对应的数据包流改交由另一信道进行传送。
2.如权利要求1所述的数据包流分配方法,其特征在于将该等数据包分类成N个数据包流的方法包含下列步骤将每个数据包中的特定卷标值取出进行一运算而得到一特征值;以及将特征值相同的数据包组成一数据包流。
3.如权利要求2所述的数据包流分配方法,其特征在于由每个数据包中所取出的特定卷标值包含有目的地媒体存取地址(DMAC)、网际网络地址(IP)以及传输控制协议地址(TCP)。
4.如权利要求2所述的数据包流分配方法,其特征在于将每个数据包中的特定卷标值取出所进行的该运算为一互斥或运算。
5.如权利要求1所述的数据包流分配方法,其特征在于M个输出数据信道中各信道的输出负载量为计算已存放于该信道的数据队列中的包数据量。
6.如权利要求1所述的数据包流分配方法,其特征在于该信道的输出负载量与其相对应数据包流的数据量的总和大于该预设门槛值时,将其相对应的数据包流改交由另一信道进行传送,而另一信道的输出负载量与其相对应数据包流的数据量再加上转移来的该数据包流的数据量总和小于该预设门槛值。
7.如权利要求1所述的数据包流分配方法,其特征在于更包含下列步骤当相对应一信道的数据包流改交由另一信道进行传送时,在该相对应信道的数据队列置入一广播数据包,该广播数据包内包含有该数据包流的辨识码;以及当M个数据信道中任一数据信道收到该广播数据包时,使另一信道开始传送该经过转移的数据包流。
8.如权利要求1所述的数据包流分配方法,其特征在于更包含下列步骤当相对应一信道的数据包流改交由另一信道进行传送后开始计时;以及当计时值大于一默认值时,使另一信道开始传送该经过转移的数据包流。
9.如权利要求1所述的数据包流分配方法,其应用的该具有M个数据信道的网络节点为一具有M张网络卡的个人计算机。
全文摘要
本发明为一种数据包流分配方法,应用在一具有M个数据信道的网络节点上,该分配方法包含下列步骤产生数个数据包;将该等数据包分类成N个数据包流,并将N个数据包流分别交由M个数据信道中的一相对应信道进行传送;以及于一预定时间后,当M个输出数据信道中一信道的输出负载量与其相对应数据包流的数据量的总和大于一预设门槛值时,将其相对应的数据包流改交由另一信道进行传送。
文档编号H04Q3/64GK1431807SQ0310303
公开日2003年7月23日 申请日期2003年1月28日 优先权日2003年1月28日
发明者庄良兴 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1