包转送控制系统及方法

文档序号:7643862阅读:307来源:国知局
专利名称:包转送控制系统及方法
技术领域
本发明是有关于网络传输,且特别有关于一种包转送控制系统及方法。
背景技术
在网络传输中,一交换器(Switch)具有多个端口(Port)来连接至多个包交换式网段(Network Segment),且依据介质存取控制(MAC)定址的方式来转送数据包(Packet)。当由一个端口接收一包时,交换器可以选择性地依据包中记录的目的地介质存取控制地址来将包由特定端口传送。如果目的地介质存取控制地址是未知,举例来说,一个广播(Broadcast)地址,交换器会将包传送至除了收到此包的端口之外的所有的端口。如果目的地端口与原始来源端口相同,则不转送包,而将包过滤掉。如果接收到包括多个目的地介质存取控制地址的一组播(Multicast)包时,包将会转送至介质存取控制表中所记录的相应的端口。
在数据网络与排列处理(Data Networking and Queueing)理论中,当提供的负载增加时将会发生拥塞的情形,其不是使得网络产出率小幅增加,就是使得网络产出率实质上减少。这样的情形将会对于网络效能产生严重的负面影响。图1A显示包的组播。在图1A中,在一交换器中端口0传送包至端口5、7与9。其中,端口7与9连接至在100MHz操作的主机,而端口5连接至在10MHz操作的主机。注意的是,B1、B2与B3分别表示端口5、7与9的输出伫存,且直线TH表示输出伫存的一临界值(Threshold),其指示相应端口上的拥塞状态。由于端口5是以10MHz操作,因此,端口5累积许多包在输出伫存B1中,且导致输出伫存B1中的包接近拥塞状态临界值TH,结果导致端口5发生拥塞。在已知包转送控制中,端口5传送一标记至导致端口5拥塞的介质存取控制(端口0)。在接收到标记之后,端口0传送一暂停帧(Frame)至其连接的主机,且停止主机再次传送包,如图1B所示。换言之,已知包转送控制将会停止这些端口的所有包传送。然而,由于拥塞是因为端口5的速度所造成,交换器中端口0传送包给其他端口的效能也因此而下降。另外,对于一些应用来说,一些端口可以是监听端口(SniffPort),其监控在特定端口间的包内容传输。监听端口很有可能会发生拥塞的情形。在拥塞之后,传送包给监听端口的端口将会接收到暂停帧,且无法再传送包至所有的端口。

发明内容
有鉴于此,本发明提供包转送控制系统及方法。
本发明提供一种包转送控制系统,包括多个端口与一处理模块,用以接收一包。处理模块包括一资源管理模块与一转送控制模块。资源管理模块侦测这些端口中是否有至少一特定端口发生了拥塞。转送控制模块判断此特定端口是否包括这些端口中的一既定端口。若是,将包转送给除了此既定端口之外的至少一端口。
本发明另提供一种包转送控制方法。首先,接收一包。判断多个端口中是否有至少一特定端口发生了拥塞。判断此特定端口是否包括这些端口中的一既定端口。若是,将包转送给除了此既定端口之外的至少一端口。
本发明另提供一种包转送控制方法,该包转送控制方法包括下列步骤当相应多个端口的至少一输出伫存累积的包数量达到一临界值且发生拥塞时,产生一拥塞端口窗口;依据该拥塞端口窗口与一禁止端口掩码辨识至少一既定禁止端口;以及依据至少一目的地地址与该禁止端口掩码传送一接收包。
本发明上述方法可以透过程序码方式收录于实体介质中。当程序码被机器载入且执行时,机器变成用以实行本发明的装置。
本发明所述的包转送控制系统及方法,于网络传输中提供的负载增加且发生拥塞的情形时,大大改善了网络产出率。


图1A为一示意图是显示包的组播。
图1B为一示意图是显示端口的拥塞。
图2为一示意图是显示依据本发明实施例的包转送控制系统。
图3为一流程图是显示依据本发明实施例的包转送控制方法。
图4A为一示意图是显示一转送端口掩码例子。
图4B为一示意图是显示一拥塞端口窗口例子。
图4C为一示意图是显示另一拥塞端口窗口例子。
图4D为一示意图是显示一禁止端口掩码例子。
图4E为一示意图是显示一转送端口窗口例子。
图5为一示意图是显示依据本发明实施例的具有端口拥塞的包转送控制。
具体实施例方式
为使本发明的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附图示,详细说明如下。
本发明提供包转送控制系统及方法。
图2显示依据本发明实施例的包转送控制系统200(以下简称系统200)。
系统200可以是一个网络交换器。系统200包括多个端口(220、221、222、223、224、225、226与227)与一处理模块210。每一端口连接至各式的接口与装置,且由这些接口与装置接收包。这些接收的包被传送至处理模块210,以进行后续处理,如将包转送或丢弃。另外,每一端口具有一输出伫存,用以缓冲储存由处理模块210转送的包。注意的是,任何端口可以被设为一既定的禁止(Suppression)端口。其中,当此端口拥塞时,转送至禁止端口的包将会被丢弃。因此,系统中可以设定与提供一禁止端口掩码(Mask)。禁止端口掩码中包括多个位,每一位分别表示相应的端口是否为一禁止端口。图4D显示一禁止端口掩码440例子。其中,一交换器中有7个端口,且位0~6分别表示端口0~6。在此例子中,由于位1是1,且其他位是0,因此,端口1是一禁止端口。
处理模块210包括一资源管理模块211与一转送控制模块212。资源管理模块211可以通过判断每一端口所相应的输出伫存中的包数目是否接近一既定的临界值来侦测任何一端口是否发生拥塞。在一些实施例中,当拥塞发生时,资源管理模块211产生一拥塞端口窗口。拥塞端口窗口中包括多个位,每一位分别表示相应的端口是否拥塞。图4B显示一拥塞端口窗口420例子。其中,一交换器中有7个端口,且位0~6分别表示端口0~6。在此例子中,由于位1是1,且其他位是0,因此,端口1发生拥塞。转送控制模块212包括一介质存取控制地址表与一转送表(未绘示),用以在端口之间转送包。在一些实施例中,当接收到一包时,转送控制模块212产生一转送端口掩码。转送端口掩码包括多个位,每一位分别表示相应的端口是否需要转送包。转送端口掩码是依据包中所记录的目的地地址所产生。图4A显示一转送端口掩码410例子。其中,一交换器中有7个端口,且位0~6分别表示端口0~6。在此例子中,由于位1、3与5是1,且其他位是0,因此,包会被转送至端口1、3与5。处理模块210的细节将于后进行说明。
图3显示依据本发明实施例的包转送控制方法。
如步骤S310,处理模块210接收一包,且依据包中记录的目的地地址产生一转送端口掩码。包可以是一组播包或广播包。如步骤S320,判断各个端口上是否发生拥塞。值得注意的是,资源管理模块211判断相应各个端口的输出伫存中所累积的包是否达到一临界值,且当拥塞发生时,产生一拥塞端口窗口。如果没有拥塞发生(步骤S320的否),如步骤S330,依据转送端口掩码将包转送到至少一个端口。换言之,依据包中记录的目的地地址来转送包。值得注意的是,交换操作与转送的方法对于本领域技术人员为已知的技术,故在此省略。如果发生拥塞(步骤S320的是),如步骤S340,依据拥塞端口窗口与禁止端口掩码判断发生拥塞的端口是否包括既定的禁止端口。若是(步骤S340的是),如步骤S350,依据包中记录的目的地地址将包转送至既定禁止端口之外的至少一个端口。在一些实施例中,步骤S350可以透过在禁止端口掩码中搜寻有效位(“1”),且在转送端口掩码中忽略相应此有效位的位来完成。若否(步骤S340的否),如步骤S360,产生一暂停帧,且将暂停帧传送至传送此包的进入端口。在接收到暂停帧之后,连接至此进入端口的主机停止再次透过此进入端口传送包。值得注意的是,步骤S360的操作类似于已知的方式,相关的操作细节在此省略。
接下来,请参考图4A至图4E,举一例子进行说明。在此例子中,交换器的端口1被设为一禁止端口,其相应的禁止端口掩码440如图4D所示。处理模块210接收一指示要传送至端口1、3与5的包,其中,相应的转送端口掩码410如图4A所示。如果端口1上被侦测到发生拥塞,则产生如图4B所示的拥塞端口窗口420,且依据转送端口掩码410与拥塞端口窗口420产生如图4E所示的转送端口窗口450,且包将会转送至端口3与5。如果端口1与5上被侦测到发生拥塞,则产生如图4C所示的拥塞端口窗口430。一个暂停帧将会被产生且传送至传送此包的进入端口,从而停止此进入端口再次传送包。
图5显示依据本发明实施例的具有端口拥塞的包转送控制。类似于图1A,一交换器中端口0传送包至端口5、7与9。其中,端口7与9连接至在100MHz操作的主机,而端口5连接至在10MHz操作的主机。在此实施例中,端口5被设为一禁止端口。由于端口5是以10MHz操作,因此,端口5累积许多包在输出伫存B1中,且导致输出伫存B1中的包接近拥塞状态临界值TH,结果导致端口5发生拥塞。在此实施例中将不会产生暂停帧。包仍然传送至端口7与9,而转送至端口5的包将会被丢弃。
本发明的方法,或特定型态或其部分,可以以程序码的型态包含于实体介质,如软盘、光盘片、硬盘或是任何其他机器可读取(如计算机可读取)储存介质,其中,当程序码被机器,如计算机载入且执行时,此机器变成用以参与本发明的装置。本发明的方法与装置也可以以程序码型态透过一些传送介质,如电线或电缆、光纤或是任何传输型态进行传送,其中,当程序码被机器,如计算机接收、载入且执行时,此机器变成用以参与本发明的装置。当在一般用途处理器操作时,程序码结合处理器提供一操作类似于专用逻辑电路的独特装置。
虽然本发明已通过较佳实施例说明如上,但该较佳实施例并非用以限定本发明。本领域的技术人员,在不脱离本发明的精神和范围内,应有能力对该较佳实施例做出各种更改和补充,因此本发明的保护范围以权利要求书的范围为准。
附图中符号的简单说明如下B1、B2、B3输出伫存TH临界值200包转送控制系统210处理模块
211资源管理模块212转送控制模块220、221、222、223、224、225、226、227端口S310、S320、…、S360步骤410转送端口掩码440禁止端口掩码420、430拥塞端口窗口450转送端口窗口
权利要求
1.一种包转送控制系统,其特征在于,该包转送控制系统包括多个端口;以及一处理模块,用以接收一包,该处理模块包括一资源管理模块,用以侦测所述端口中是否有至少一特定端口发生拥塞;以及一转送控制模块,用以判断该特定端口是否包括所述端口中的一既定端口,若是,将该包转送给该既定端口之外的所述端口中的至少其中之一。
2.根据权利要求1所述的包转送控制系统,其特征在于,该转送控制模块更当所述端口上没有发生拥塞时,依据该包中记录的至少一目的地地址将该包转送至所述端口中的至少其中之一。
3.根据权利要求1所述的包转送控制系统,其特征在于,该转送控制模块更当该特定端口不包括该既定端口时,产生一暂停帧给传送该包的一进入端口,且该进入端口停止再次传送包。
4.根据权利要求1至3中任意一项所述的包转送控制系统,其特征在于,该资源管理模块更通过判断该特定端口的一输出伫存中的包数目是否接近一临界值来侦测该特定端口是否发生拥塞。
5.一种包转送控制方法,用于包括多个端口的一装置中,其特征在于,该包转送控制方法包括下列步骤接收一包;侦测所述端口中是否有至少一特定端口发生拥塞;判断该特定端口是否包括所述端口中的一既定端口;以及若是,将该包转送给该既定端口之外的所述端口中的至少其中之一。
6.根据权利要求5所述的包转送控制方法,其特征在于,更包括当所述端口上没有发生拥塞时,依据该包中记录的至少一目的地地址将该包转送至所述端口中的至少其中之一。
7.根据权利要求5所述的包转送控制方法,其特征在于,更包括下列步骤当该特定端口不包括该既定端口时,产生一暂停帧给传送该包的一进入端口;以及停止该进入端口再次传送包。
8.根据权利要求5至7中任意一项所述的包转送控制方法,其特征在于,更包括通过判断该特定端口的一输出伫存中的包数目是否接近一临界值来侦测该特定端口是否发生拥塞。
9.一种包转送控制方法,其特征在于,该包转送控制方法包括下列步骤当相应多个端口的至少一输出伫存累积的包数量达到一临界值且发生拥塞时,产生一拥塞端口窗口;依据该拥塞端口窗口与一禁止端口掩码辨识至少一既定禁止端口;以及依据至少一目的地地址与该禁止端口掩码传送一接收包。
10.根据权利要求9所述的包转送控制方法,其特征在于,更包括下列步骤产生一暂停帧给输入该接收包的一进入端口;以及接收该暂停帧之后,该进入端口停止传送该接收包。
11.根据权利要求9或10所述的包转送控制方法,其特征在于,更包括依据该接收包中记录的至少一目的地地址产生一转送端口掩码。
12.根据权利要求11所述的包转送控制方法,其特征在于,更包括当没有发生拥塞时,依据该接收包中记录的该至少一目的地地址与该转送端口掩码传送该接收包。
13.根据权利要求11所述的包转送控制方法,其特征在于,更包括下列步骤在该禁止端口掩码中搜寻多个有效位;以及在该转送端口掩码中忽略所述有效位相应的位。
全文摘要
本发明提供一种包转送控制系统及方法。所述包转送控制系统包括多个端口与一处理模块,用以接收一包。处理模块包括一资源管理模块与一转送控制模块。资源管理模块侦测这些端口中是否有至少一特定端口发生了拥塞。转送控制模块判断此特定端口是否包括这些端口中的一既定端口。若是,将包转送给除了此既定端口之外的至少一端口。本发明所述的包转送控制系统及方法,于网络传输中提供的负载增加且发生拥塞的情形时,大大改善了网络产出率。
文档编号H04L12/56GK101014009SQ20071000503
公开日2007年8月8日 申请日期2007年2月12日 优先权日2006年9月7日
发明者陈维彬, 黄宏吉, 钟名超, 王俊程 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1