分组交换的负载平衡装置.pdf

上传人:大师****2 文档编号:1152886 上传时间:2018-04-02 格式:PDF 页数:18 大小:600.67KB
返回 下载 相关 举报
摘要
申请专利号:

CN02103177.0

申请日:

2002.02.05

公开号:

CN1366402A

公开日:

2002.08.28

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||公开|||实质审查的生效

IPC分类号:

H04L12/56; H04L12/24; H04L12/26

主分类号:

H04L12/56; H04L12/24; H04L12/26

申请人:

威盛电子股份有限公司;

发明人:

李金璋; 施作君

地址:

中国台湾

优先权:

专利代理机构:

北京纪凯知识产权代理有限公司

代理人:

戈泊;王刚

PDF下载: PDF下载
内容摘要

本发明所实施的分组交换的负载平衡装置,是在多重连接端口网络设备的传输环境中,通过标签的分配机制(Ticket Distribution Mechanism)与标签指定机制(Ticket Assignment Mechanism),促使数据包在分组交换的传输过程中,达到输出负载平衡。并在分组交换的过程中,进一步包含一种负载监视机制(Load Monitoring Mechanism),使驱动装置能动态调整标签分配机制而使输出负载平衡达到最佳化。

权利要求书

1.一种负载平衡装置,实施于一逻辑端口中,该逻辑端口包含多
个实体输出端口,其特征在于:该负载平衡装置包含:
一标签指定器,用以将该逻辑端口所接收的一数据包指定一标
签;
一标签分配器,根据所述标签,决定一传输路径,使得该数据
包由该实体输出端口之一传输;以及
一负载监视器,用以监视相应于所述标签的一负载量。
2.如权利要求1所述的负载平衡装置,其特征在于:所述标签指
定器取出所述数据包的来源地址与目的地址的部分位执行运算,以指
定为该数据包的标签。
3.如权利要求2所述的负载平衡装置,其特征在于:所述标签指
定器取出所述数据包的来源地址与目的地址的最后三个位。
4.如权利要求1、2或3所述的负载平衡装置,其特征在于:所述
标签指定器将取出的位执行异或运算,以作为该数据包的标签值。
5.如权利要求4所述的负载平衡装置,其特征在于:所述负载监
视器于一固定周期中累计相关于该标签值的一数据包总长度作为所述
负载量。
6.如权利要求5所述的负载平衡装置,其特征在于:所述负载监
视器根据所述负载量以决定所述路径,以使所述多个实体输出端口获
得负载平衡。
7.一种负载平衡装置,实施于一逻辑端口中,该逻辑端口包含多
个实体输出端口,其特征在于:该负载平衡装置包含:
一标签指定器,用以将该逻辑端口所接收的一数据包取出一来
源地址与一目的地址的部分位执行运算,据以指定一标签给该数据
包;以及
一标签分配器,根据所述标签的负载量,决定该标签所属数据
包是由所述多个实体输出端口之一而传输。
8.如权利要求7所述的负载平衡装置,其特征在于:所述标签指
定器取出所述数据包的来源地址与目的地址的最后三个位。
9.如权利要求7或8所述的负载平衡装置,其特征在于:
所述标签指定器将取出的位执行异或运算。
10.如权利要求9所述的负载平衡装置,其特征在于:所述
标签的负载量为相关于该标签的一累计数据包长度。

说明书

分组交换的负载平衡装置

技术领域

本发明涉及一种分组交换(Packet Switching)的负载平衡装置,
特别是指,本发明是一种应用于多重连接端口(Trunking Port)网络设
备传输的环境下,数据包(Packet)在经过交换系统的线路而传送至接
收端的数据分配过程中,配合标签分配机制(Ticket Distribution
Mechanism)与标签指定机制(Ticket Assignment Mechanism),来达
到输出负载平衡的装置。

背景技术

随着因特网的普及使得上网的用户人数与日俱增,当网络交通流
量增加时,为了增加频宽,会将两个或两个以上的传输端口连接起来
以增加网络的传输频宽,但只一昧地增加频宽而无一良好的机制来作
传输流量的控管,做好传输流量的平均分配,仍可能使大量传输流量
拥塞在同一传输端口而造成负载的不平衡。因此,为了使频宽有效的
被利用与发挥,实需要建立一个有效的管理机制。

一般而言,网络交通流量与客户使用的数据型态、尖峰流量、使
用者数目有关,而分组交换技术可以有效改善网络效率。在因特网
(Internet)互连上,在数据单元传送到目的地之前,都必须经由各
种中间装置来交换,如图1为多重连接端口网络设备传输的系统结构
图,亦是本发明装置与方法所应用的环境之一。

当上层使用者1欲传送数据时,数据会分解成若干数据包,即数
据在传送之前先切割,接收之后再加以组合。这些数据包经由交换系
统2(Switching System),根据指派的线路而订出路径,再经由多条
聚集的连接干线3(Aggregated Links)传输到因特网4。以系统结构
而言,主要是将多个端口连接起来,对OSI参考模型(Open System
Interconnect Reference Model,OSIRM)的七层网络结构中的实体层
(physical layer)而言,这些传输端口是各自独立的;但对上层的
使用者(user/application)而言,则只看到一个逻辑端口(logical
port),此逻辑端口为交换系统的一部分,对应两个或两个以上的实体
输出端口(Physical Output Port);而上层的使用者只管将数据包传
送给逻辑端口,但驱动装置(Driver)接收到上层使用者所传输的数
据流时,必须考虑数据分配的问题,才能将所接收的数据包从不同实
体输出端口传输出去;并达到负载平衡(Load Balancing)的效果。

图2显示一现有网络数据传输结构图。以现有技术而言,当上层使
用者1欲传送数据时,数据包会经过操作系统7(Operation System)
而下传给逻辑端口8,而逻辑端口8会决定数据包传输的实体输出端口
9。

依现有技术,上层使用者在传输数据包时,将每个数据包会依其
来源地址(Source Address)的最后一个位来决定数据包该由哪一个
实体(Physical)输出端口传输。然而,此现有方式极可能会造成系统
传输负载的不平衡,特别是指,当同一上层使用者欲传输大量的数据
时,在传输过程中会切割为多个数据包,因这些数据包都是来自同一
来源地址,将容易造成这些数据包都从同一实体输出端口传输出去,
而造成系统的负载不平衡的现象。

发明内容

因此,本发明主要目的在于提供一种分组交换的负载平衡装置,
其可在多重连接端口网络设备的传输环境中,通过标签分配机制与标
签指定机制,促使数据包在分组交换,传送至接收端的数据分配过程
中,达到输出分组交换的负载平衡。

本发明另一目的在于提供一种分组交换的负载平衡装置,其可在
多重连接端口网络设备传输的环境下,在分组交换的过程中,进一步
包含一种负载监视机制(Load Monitoring Mechanism),使驱动装置能
动态调整标签分配机制而使输出负载平衡达到最佳化。

有鉴于现有技术,在分组交换的过程中,很容易造成数据包都从
同一实体输出端口传输出去,而造成系统的负载不平衡。本发明提供
一种应用于多重连接端口网络设备传输的环境下的装置,实施于一交
换系统的逻辑端口,包含:一标签指定机制,将数据包的来源地址与
目的地址的部分位经逻辑运算后成为该数据包的标签;一标签分配机
制,依动态指示的标签分配方法,将具有标签的数据包分配至各实体
输出端口;以及一负载监视机制,定期计算各标签所承接数据包的负
载量,以评估适用的标签分配方法而动态指示标签分配机制,以使各
实体输出端口达到负载平衡的最佳化,以期有效利用既有的频宽资源。

根据本发明所实施的分组交换的负载平衡装置具有诸多优点与特
征,其中包含本发明装置可在多重连接端口网络设备的传输环境中,
通过标签分配机制与标签指定机制,促使数据包在分组交换过程中,
达到输出负载平衡。

本发明装置另一优点即在多重连接端口网络设备传输的环境下,
在分组交换的过程中,进一步包含一种负载监视机制(Load Monitoring
Mechanism),使驱动装置能动态调整标签分配机制而使输出负载平衡
达到最佳化。

附图说明

下面结合附图及实施例对本发明进行详细说明:

图1为现有多重连接端口网络设备传输的系统结构图;

图2为现有交换系统结构图;

图3为本发明负载平衡装置实施于一交换系统逻辑端口的内部结
构图;

图4为本发明分组交换负载平衡的实施流程图。

图中符号说明:

1---  上层使用者

2---  交换系统

3---  连接干线

4---  因特网

5---  数据包

7---  操作系统

8---  逻辑端口

9---  实体输出端口

10--- 标签指定器

11---  负载监视器

12---  标签分配器

具体实施方式

虽然本发明将参阅含有本发明较佳实施例的附图予以充份描述,
但在此描述之前应了解本领域技术人员可修改在本文中所描述的发
明,同时获致本发明的功效。因此,须了解以下的描述对本领域技术
人员而言为一广泛的揭示,且其内容不在于限制本发明。

请参考图3,显示本发明负载平衡装置实施于一交换系统逻辑端口
的内部结构图,其中逻辑端口是以连接两个实体输出端口9为例,但
不以此为限。本发明负载平衡装置包含:一标签指定机制,由一标签
指定器10实施,举例来说,取出上层使用者欲传送的数据数据包5的
来源地址与目的地址的部分位,执行异或(XOR)的逻辑运算以作为该数
据包5的标签值;一标签分配机制,由一标签分配器12实施,依动态
指示的标签分配方法,将具有标签值的数据包5分配至各实体输出端
口9传输;以及一负载监视机制,由一负载监视器11实施,在一固定
周期内计算各标签所承接数据包5的累积负载量,以评估多个标签分
配方法,择其适用的标签分配方法,而动态指示标签分配器12执行该
适用的标签分配方法分配数据包5至相应实体输出端口9的路径。

请配合图2所示,当上层使用者1传送数据时,网络上传送的数
据会分解成多个数据包5,即数据在传送之前先切割,接收之后再加以
组合,并会经操作系统7再将数据包5传送给逻辑端口8。当数据包5
传送到逻辑端口8时,标签指定器10将欲传送的数据包5逐一做贴标
签的动作,并将该数据包5传送给标签分配器12。标签分配器12会根
据负载监视器11所指定的标签分配方法将该数据包5动态地分配给各
实体输出端口9。其间,负载监视器11会在预设固定周期时间后对标
签指定器10计算相关于各标签的数据包负载量,并以此负载计算结果
决定一相应的标签分配方法,以使实体输出端口9获得较佳的负载平
衡传输。以下将进一步对这三种机制作详细叙述。

标签指定机制

当数据包5在交换系统中被传送至逻辑端口8时,本发明装置的
标签指定器10取出数据包5的来源地址与目的地址的最后三个位,举
例而言,执行异或(XOR)的逻辑运算以作为该数据包5的标签。标签指
定器10会依序对每一数据包5贴标签,而经逻辑运算后,标签的标签
值为0到7的其中之一。通过此标签指定机制,可使进入逻辑端口8
的数据包5能依序的被贴上标签,而取用数据包的来源地址(SMAC)
与目的地址(DMAC)作为运算标签的依据,为避免动态负载平衡装置
因而使属于相同数据流的数据包发生错序(misorder),反而降低网络
效能。

标签分配机制

当数据包5经由标签指定器10被依序贴上标签后,由标签分配器
12根据负载监视器11指示的标签分配方法来决定下一固定周期时间,
贴上标签的数据包5该相应地由哪一实体输出端口9传输,以达到动
态平衡负载的目的。在本发明的较佳实施例中,负载监视器11所指示
的标签分配方式,会将标签值0到7的标签因应其上一固定周期期间
各个标签的数据包累计负载量,相应地分配到各实体输出端口9,以动
态调整实体输出端口9的负载平衡。

标签监视机制

当数据包5经由标签指定机制被依序贴上标签后,在一预设的固
定周期时段内,此周期可依照系统设计效能而调整长短,系统的效能
可能相关于端口数、CPU速度、SRAM大小......等,负载监视器11则
会对各标签的负载流量做累计,即累计相关于(associated)该标签的
数据包总长度作为负载流量,并定期评估不同标签分配方式中何者使
实体输出端口9的负载平衡最佳化,以选择适用的分配方法指定标签
分配器12执行分配。

以下将进一步说明本发明负载监视机制中,举例评估标签分配的机
制。标签分配的方法一的算法如下所示:

1. LoadPerTicket[]={λ1,λ2,...,λt}

2. UnAssignTicket[]={T1,T2,...,Tt}


4. foreach p in group{

5. While(Bp<δ//UnAssignTicket[]){

6.    set Ticket=Tmin(LoadPerTicket[])

7.    Bp=BpTicket

8.    add Ticket to port p

9.    del Ticket from UnAssignTicket[]

10.    }

11.  }

12.  foreach p in group{

13.    foreach ticket{

14.    if(ticket∈p){

15.       LoadPerPortM1[p]=      LoadPerPortM1[p]+
LoadPerTicket[ticket]

16.        }

17.     }

18.     DiffPerPortM1[p]=ABS(δ-LoadPerPortM1[p])

19.     DiffTotalM1=DiffTotalM1+DiffPerPortM1[p]

20.   }

在上述的方法一算法陈述中,行1的阵列LoadPerTicket[]记录相
关于每一标签值的数据包长度的负载流量;行2的阵列
UnAssignTicket[]记录尚未指定给实体输出端口的标签Ticket;而行
3的δ计算出理想输出端口的平均负载量,其中为Pg输出端口的数量;
行4的foreach-loop界定每一个实体输出端口执行行5至10所述的
工作,将标签Ticket指定给实体输出端口;其中,行5的While-loop
界定实体输出端口p累加UnAssignTicket[]的累加负载量Bp在未达平
均负载量δ之前执行行6至9所述的工作;其中,行6是从阵列
LoadPerTicket[]中取出具有最小负载量λ的标签Ticket;行7将该标
签Ticket的负载量累加至累加负载量Bp;行8将该标签Ticket指定
给实体输出端口p;行9则将已指定的标签Ticket从阵列
UnAssignTicket[]移除。

接着,行12的foreach-loop界定每一个实体输出端口执行行13
至19所述的工作,计算每一个实体输出端口的负载量与平均差异量;
其中,行13的foreach-loop界定每一标签Ticket执行行14至16所
述的工作,以计算每一个实体输出端口的累加负载量;行14与行15
是根据行4的foreach-loop将标签Ticket指定给实体输出端口的结
果,将属于同一实体输出端口p的标签Ticket负载量累加起来,记录
于阵列LoadPerPortM1[];行18的阵列DiffPerPortM1[]记录每一个
实体输出端口p根据此方法一的标签分配方式,其累加负载量与理想
平均负载量δ的绝对差异值;最后,行19计算了根据此方法一的累加
差异量,而记录于DiffTotalM1。

紧接着,以下描述标签的分配方法二的算法:

1. LoadPerTicket[]={λ1,λ2,...,λt}

2. UnAssignTicket[]={T1,T2,...,Tt}

3. While(UnAssignTicket[])  {

4.  set Ticket=Tmin(LoadPerTicket[])

5.  add Ticket to port p

6.  del Ticket from UnAssignTicket[]

7.  p=next port in group

8.}

9.foreach p in group{

10.    foreach ticket {

11.      if(ticket∈p){

12.      LoadPerPortM2[p]=        LoadPerPortM2[p]+
LoadPerTicket[ticket]

13.         }

14.      }

15.      DiffPerPortM2[p]=ABS(δ-LoadPerPortM2[p])

16.      DiffTotalM2=DiffTotalM2+DiffPerPortM2[p]

17.   }

在上述的方法二算法陈述中,行1的阵列LoadPerTicket[]记录相
关于每一标签值的数据包长度的负载流量;行2的阵列
UnAssignTicket[]记录尚未指定给实体输出端口的标签Ticket;而行
3的While-loop界定阵列UnAssignTicket[]中未指定给实体输出端口
的标签Ticket执行行4至7所述的工作;其中,行4是从阵列
LoadPerTicket[]中取出具有最小负载量λ的标签Ticket;行5将该标
签Ticket指定给实体输出端口p;行6则将已指定的标签Ticket从阵
列UnAssignTicket[]移除;行7将p指定到下一个实体输出端口。

接着,行9的foreach-loop界定每一个实体输出端口执行行10
至16所述的工作,计算每一个实体输出端口的负载量与平均差异量;
其中,行10的foreach-loop界定每一标签Ticket执行行11至12所
述的工作,以计算每一个实体输出端口的累加负载量;行11与行12
系根据行3的While-loop将标签Ticket指定给实体输出端口的结果,
将属于同一实体输出端口p的标签Ticket负载量累加起来,记录于阵
列LoadPerPortM2[];行15的阵列DiffPerPortM2[]记录每一个实体
输出端口p根据此方法二的标签分配方式,其累加负载量与理想平均
负载量δ的绝对差异值;最后,行16计算了根据此方法二的累加差异
量,而记录于DiffTotalM2。

因此,在本发明的负载监视机制中,将评估上述方法一与方法二所
实施的标签分配机制,以获得将各标签分配给实体输出端口后的累加
差异量DiffTotalM1与DiffTotalM2,而累加差异量较小者表示该方法
所实施的标签分配机制,使得各实体输出端口的负载流量获得较佳的
负载平衡,以使负载监视机制将指示标签分配机制在下一时段中,将
具有累加差异量较小的标签分配方法实施于交换系统的分组交换技术
中。以下进一步利用两个实施范例说明,如何根据各标签的负载流量
选择方法一与方法二所实施的标签分配机制。

范例一

在交换系统的一逻辑端口8中,假设其可指定给数据包5的标签数
量为8个,即T1,T2,…,T8,而实体输出端口有2个。当经过一预设的
时段,例如:5分钟,负载监视机制所累计出每一标签Ticket分配到
的数据包总长度的负载流量为:

LoadPerTicket[8]={0,10,0,10,0,10,0,30}

从LoadPerTicket[8]所统计出的负载流量,可获得理想输出端口
的平均负载量δ=30。根据方法一实施的标签分配,具有最小负载量的
标签Ticket依序取出分配给其一实体输出端口Port 1,直到实体输出
端口Port 1累加的负载流量大于平均负载量δ之后,再分配给另一实
体输出端口Port 2,可得到以下的分配结果:

Port 1:T1,T3,T5,T7,T2,T4,T6

Port 2:T8

所以,各实体输出端口Port 1,Port 2将获得的累加负载流量分
别为30(=0+0+0+0+10+10+10)与30(=标签T8的负载流量),而方法一
将各标签分配给实体输出端口后的各实体输出端口累加差异量为:

DiffTotalM1=0+0=0

而根据方法二实施的标签分配,具有最小负载量的标签Ticket依
序取出而逐一分配给各实体输出端口Port 1与Port 2,直到标签分配
完毕,可得到以下的分配结果:

Port 1:T1,T5,T2,T6

Port 2:T3,T7,T4,T8

所以,各实体输出端口Port 1,Port 2将获得的累加负载流量分
别为20(=0+0+10+10)与40(=0+0+10+30),而方法二将各标签分配给
实体输出端口后的各实体输出端口累加差异量为:

DiffTotalM2=10+10=20

因此,负载监视机制选择具有累加差异量较小的方法一实施于标签
分配机制中,以使交换系统的分组交换技术可在各实体输出端口获得
负载平衡。

范例二

在交换系统的一逻辑端口8中,假设其可指定给数据包5的标签数
量为8个T1,T2,…,T8,而实体输出端口有2个。当经过一预设的时段,
例如:5分钟,负载监视机制所累计出每一标签Ticket分配到的数据
包长度的负载流量为:

LoadPerTicket[8]={10,10,20,20,30,30,40,40}

从LoadPerTicket[8]所统计出的负载流量,可获得平均负载量
δ=100。根据方法一实施的标签分配,具有最小负载量的标签Ticket
依序取出分配给其一实体输出端口Port 1,直到实体输出端口Port 1
累加的负载流量大于平均负载量δ之后,再分配给另一实体输出端口
Port 2,可得到以下的分配结果:

Port 1:T1,T2,T3,T4,T5,T6

Port 2:T7,T8

所以,各实体输出端口Port 1,Port 2将获得的累加负载流量分
别为120(=10+10+20+20+30+30)与80(=40+40),而方法一将各标签分
配给实体输出端口后的各实体输出端口累加差异量为:

DiffTotalM1=20+20=40

而根据方法二实施的标签分配,具有最小负载量的标签Ticket依
序取出而逐一分配给各实体输出端口Port 1与Port 2,直到标签分配
完毕,可得到以下的分配结果:

Port 1:T1,T3,T5,T7

Port 2:T2,T4,T6,T8

所以,各实体输出端口Port 1,Port 2将获得的累加负载流量分
别为100(=10+20+30+40)与100(=10+20+30+40),而方法二将各标签
分配给实体输出端口后的各实体输出端口累加差异量为:

DiffTotalM2=0+0=0

因此,负载监视机制选择具有累加差异量较小的方法二实施于标签
分配机制中,以使交换系统的分组交换技术可在各实体输出端口获得
更佳的负载平衡。

由上述两个范例分析得知,方法一实施的标签分配机制对于各标签
的负载流量中有较大差异时,可使各实体输出端口获得较佳的负载平
衡,而方法二实施的标签分配机制对于各标签的负载流量差异性较小
时,可使各实体输出端口获得较佳的负载平衡。是故,本发明实施于
交换系统的分组交换技术的负载平衡装置与方法,将可动态因应标签
负载流量的特性,而选择较佳的标签分配方法,使各实体输出端口获
得较佳的负载平衡,有效提升网络频宽的利用性。

请参考图4,为本发明负载平衡方法的实施流程图,并配合参阅图
1、图2及图3。根据本发明负载平衡方法所实施的交换系统,其逻辑
端口8包含标签指定机制、标签分配机制与标签监视机制,据以实施
本发明的负载平衡方法,此方法包含:

程序101:标签数据包

在交换系统2中,当数据包5传送至逻辑端口8时,举例而言,取
出数据包5的来源地址与目的地址的最后三个位,执行异或(XOR)的逻
辑运算,其运算结果为0到7的其中之一值以作为该数据包5的标签。

程序102:负载分析

在一预设的固定周期时段后,取得各标签(例如标签值0到7)在
程序101中,指定给数据包5的负载量作为负载分析。

程序103:方法评估

根据程序102所获得各标签的负载量计算结果,以评估不同的标
签分配方法所达到的负载分配情形,以动态选择下一周期的标签分配
方法调整各实体输出端口9的负载量。在本发明的较佳实施例中揭露
了两种负载分配方法。

程序104:分配指定

在经程序103评估出标签分配最佳化的方法后,依该方法分配各标
签给实体输出端口9,遂使各数据包5依据程序101所指定的标签依该
方法分配的路径由对应的实体输出端口9传输。

程序105:经过预设时段

在一预设的固定周期时段内,持续累计各标签(例如标签值0到7)
的传输数据包负载量。

当交换系统经程序101到程序104,可在实体输出端口9达到最佳
负载平衡分配,并在程序105的预设时段后再返回到程序102对下一
周期的数据包5进行最佳负载平衡分配。

分组交换的负载平衡装置.pdf_第1页
第1页 / 共18页
分组交换的负载平衡装置.pdf_第2页
第2页 / 共18页
分组交换的负载平衡装置.pdf_第3页
第3页 / 共18页
点击查看更多>>
资源描述

《分组交换的负载平衡装置.pdf》由会员分享,可在线阅读,更多相关《分组交换的负载平衡装置.pdf(18页珍藏版)》请在专利查询网上搜索。

本发明所实施的分组交换的负载平衡装置,是在多重连接端口网络设备的传输环境中,通过标签的分配机制(Ticket Distribution Mechanism)与标签指定机制(Ticket Assignment Mechanism),促使数据包在分组交换的传输过程中,达到输出负载平衡。并在分组交换的过程中,进一步包含一种负载监视机制(Load Monitoring Mechanism),使驱动装置能动。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1