用户端设备及其转发封包的方法转让专利

申请号 : CN201110152567.7

文献号 : CN102821027B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨凯宇张耀文

申请人 : 鸿富锦精密工业(深圳)有限公司鸿海精密工业股份有限公司

摘要 :

一种用户端设备,包括路由模块、侦测模块、负载平衡模块、分类模块及质量服务模块。路由模块依据预设条件值通过第一广域网端口发送符合预设条件值的封包,并通过第二广域网端口发送不符合预设条件值的封包。侦测模块持续侦测第一广域网端口与第二广域网端口的封包丢失状况。负载平衡模块根据侦测结果将不符合预设条件值的新连线的封包分配至第一广域网端口。分类模块为分配至第一广域网端口的封包设置优先级。质量服务模块根据所设置的优先级控制第一广域网端口发送封包。本发明还提供了一种用户端设备转发封包的方法。本发明可以有效地平衡不同广域网端口的负载,并保证优先处理符合条件的网络封包。

权利要求 :

1.一种用户端设备,包括多个局域网端口、第一广域网端口和第二广域网端口,其特征在于,所述用户端设备还包括:路由模块,用于通过所述多个局域网端口接收多个待转发的封包,依据预先存储的预设条件值判断每一封包是否符合预设条件值,并通过所述第一广域网端口发送符合预设条件值的封包,通过所述第二广域网端口发送不符合预设条件值的封包;

侦测模块,用于持续侦测所述第一广域网端口与所述第二广域网端口的封包丢失状况;

判断模块,用于判断通过所述第二广域网端口发送的封包是否存在封包丢失现象,并在所述第二广域网端口存在封包丢失现象时,判断通过所述第一广域网端口发送的封包是否存在封包丢失现象;

负载平衡模块,用于在通过所述第一广域网端口发送的封包不存在封包丢失现象时,将不符合所述预设条件值的新连线的封包分配至所述第一广域网端口;

分类模块,用于启动质量服务,从而为所述负载平衡模块分配至所述第一广域网端口的封包设置优先级;及质量服务模块,用于根据所述分类模块所设置的优先级控制所述第一广域网端口发送所分配的所述符合预设条件的封包以及不符合预设条件的封包。

2.如权利要求1所述的用户端设备,其特征在于,所述分类模块将分配至所述第一广域网端口的不符合预设条件值的封包的优先级设置为低于符合预设条件值的封包的优先级,以使得所述质量服务模块在发送完符合预设条件值的封包后,才发送较低优先级的不符合预设条件值的封包。

3.如权利要求1所述的用户端设备,其特征在于,所述预设条件值包括封包源地址、封包大小或封包的协议类型。

4.如权利要求1所述的用户端设备,其特征在于,所述负载平衡模块在所述判断模块判断通过所述第二广域网端口发送的封包不存在封包丢失现象时,停止将不符合所述预设条件值的封包分配至所述第一广域网端口。

5.如权利要求1所述的用户端设备,其特征在于,所述负载平衡模块在所述判断模块判断通过所述第一广域网端口发送的封包亦存在封包丢失现象时,停止将不符合所述预设条件值的封包分配至所述第一广域网端口。

6.一种用户端设备转发封包的方法,所述用户端设备包括多个局域网端口、第一广域网端口和第二广域网端口,其特征在于,所述用户端设备转发封包的方法包括:通过所述多个局域网端口接收多个待转发的封包;

依据一个预先存储的预设条件值判断每一封包是否符合预设条件值;

通过所述第一广域网端口发送符合预设条件值的封包,并通过所述第二广域网端口发送不符合预设条件值的封包;

持续侦测所述第一广域网端口与所述第二广域网端口的封包丢失状况;

判断通过所述第二广域网端口发送的封包是否存在封包丢失现象;

若所述第二广域网端口存在封包丢失现象,则判断通过所述第一广域网端口发送的封包是否存在封包丢失现象;

若通过所述第一广域网端口发送的封包不存在封包丢失现象,则将不符合所述预设条件值的新连线的封包分配至所述第一广域网端口;

为分配至所述第一广域网端口的封包设置优先级;及

根据所设置的优先级控制所述第一广域网端口发送所分配的所述符合预设条件的封包以及不符合预设条件的封包。

7.如权利要求6所述的用户端设备转发封包的方法,其特征在于,所述为分配至所述第一广域网端口的封包设置优先级包括:将分配至所述第一广域网端口的不符合预设条件值的封包的优先级设置为低于符合预设条件值的封包的优先级;

其中,所述第一广域网端口根据所设置的优先级先发送符合预设条件值的封包,再发送较低优先级的不符合预设条件值的封包。

8.如权利要求6所述的用户端设备转发封包的方法,其特征在于,所述预设条件值包括封包源地址、封包大小或封包的协议类型。

9.如权利要求6所述的用户端设备转发封包的方法,其特征在于,还包括:若通过所述第二广域网端口发送的封包不存在封包丢失现象,则停止将不符合所述预设条件值的封包分配至所述第一广域网端口。

10.如权利要求6所述的用户端设备转发封包的方法,其特征在于,还包括:若通过所述第一广域网端口发送的封包亦存在封包丢失现象,则停止将不符合所述预设条件值的封包分配至所述第一广域网端口。

说明书 :

用户端设备及其转发封包的方法

技术领域

[0001] 本发明涉及网络接入技术,尤其涉及一种用户端设备及其转发封包的方法。

背景技术

[0002] 在现有的用户端设备中,其可以通过各种条件的设定(例如封包源IP地址、封包大小、协议类型等),将符合条件的某一类型的网络封包通过指定的广域网(Wide Area Network,WAN)端口发送至因特网(Internet),而将不符合条件的网络封包通过另一WAN端口进行发送,但是这种方式可能导致用户端设备中的某个WAN端口的流量特别大,而另一个WAN端口的流量又特别小,这样将使用户端设备中不同WAN端口的负载严重失衡,从而严重影响用户端设备的处理效率。而如果不进行封包分类,则又不能保证符合条件的网络封包可以得到优先处理。因此,如何平衡用户端设备中不同WAN端口的负载并保证优先处理符合条件的网络封包以提高用户端设备处理网络封包的效率是业界的一大挑战。

发明内容

[0003] 有鉴于此,需提供一种用户端设备,能平衡不同广域网端口转发封包的负载并保证优先处理符合条件的网络封包,从而有效提高用户端设备的运行效率。
[0004] 另外,还需提供一种用户端设备转发封包的方法,能平衡不同广域网端口转发封包的负载并保证优先处理符合条件的网络封包,从而有效提高用户端设备的运行效率。
[0005] 本发明实施方式中的用户端设备,包括多个局域网端口、第一广域网端口、第二广域网端口、路由模块、侦测模块、判断模块、负载平衡模块、分类模块及质量服务模块。路由模块用于通过多个局域网端口接收多个待转发的封包,然后依据一个预先存储的预设条件值判断每一封包是否符合预设条件值,并通过第一广域网端口发送符合预设条件值的封包,同时通过第二广域网端口发送不符合预设条件值的封包。侦测模块用于持续侦测第一广域网端口与第二广域网端口的封包丢失状况。判断模块用于判断通过第二广域网端口发送的封包是否存在封包丢失现象,并在第二广域网端口存在封包丢失现象时,判断通过第一广域网端口发送的封包是否存在封包丢失现象。负载平衡模块用于在通过第一广域网端口发送的封包不存在封包丢失现象时,将不符合预设条件值的新连线的封包分配至第一广域网端口。分类模块用于启动质量服务,从而为负载平衡模块分配至第一广域网端口的封包设置优先级。质量服务模块用于根据分类模块所设置的优先级控制第一广域网端口发送所分配的符合预设条件的封包以及不符合预设条件的封包。
[0006] 优选的,分类模块将分配至第一广域网端口的不符合预设条件值的封包的优先级设置为低于符合预设条件值的封包的优先级,以使得质量服务模块在发送完符合预设条件值的封包后,才发送较低优先级的不符合预设条件值的封包。
[0007] 优选的,预设条件值包括封包源地址、封包大小或封包的协议类型。
[0008] 优选的,负载平衡模块在判断模块判断通过第二广域网端口发送的封包不存在封包丢失现象时,停止将不符合预设条件值的封包分配至第一广域网端口。
[0009] 优选的,负载平衡模块在判断模块判断通过第一广域网端口发送的封包亦存在封包丢失现象时,停止将不符合预设条件值的封包分配至第一广域网端口。
[0010] 本发明实施方式中的转发封包的方法,用于包括多个局域网端口、第一广域网端口和第二广域网端口的用户端设备中,用户端设备转发封包的方法包括:通过多个局域网端口接收多个待转发的封包;依据一个预先存储的预设条件值判断每一封包是否符合预设条件值;通过第一广域网端口发送符合预设条件值的封包,并通过第二广域网端口发送不符合预设条件值的封包;持续侦测第一广域网端口与第二广域网端口的封包丢失状况;判断通过第二广域网端口发送的封包是否存在封包丢失现象;若第二广域网端口存在封包丢失现象,则判断通过第一广域网端口发送的封包是否存在封包丢失现象;若通过第一广域网端口发送的封包不存在封包丢失现象,则将不符合预设条件值的新连线的封包分配至第一广域网端口;为分配至第一广域网端口的封包设置优先级;及根据所设置的优先级控制第一广域网端口发送所分配的符合预设条件的封包以及不符合预设条件的封包。
[0011] 优选的,为分配至第一广域网端口的封包设置优先级包括:将分配至第一广域网端口的不符合预设条件值的封包的优先级设置为低于符合预设条件值的封包的优先级;其中,第一广域网端口根据所设置的优先级先发送符合预设条件值的封包,再发送较低优先级的不符合预设条件值的封包。
[0012] 优选的,预设条件值包括封包源地址、封包大小或封包的协议类型。
[0013] 优选的,所述用户端设备转发封包的方法还包括:若通过第二广域网端口发送的封包不存在封包丢失现象,则停止将不符合预设条件值的封包分配至第一广域网端口。
[0014] 优选的,所述用户端设备转发封包的方法还包括:若通过第一广域网端口发送的封包亦存在封包丢失现象,则停止将不符合预设条件值的封包分配至第一广域网端口。
[0015] 本发明实施方式所提供的用户端设备及其转发封包的方法,通过侦测第一广域网端口与第二广域网端口封包丢失的状况,来根据丢包状况将不符合预设条件值的新连线的封包分配至第一广域网端口进行发送以平衡负载,并启动质量服务,为每一封包设置优先级,从而既提高了用户端设备的运行效率,又保证了优先发送符合预设条件值的封包。

附图说明

[0016] 图1为本发明一实施方式中用户端设备的应用环境示意图。
[0017] 图2为本发明一实施方式中用户端设备的内部结构示意图。
[0018] 图3为本发明一实施方式中用户端设备转发封包的一般性示意图。
[0019] 图4为本发明一实施方式中用户端设备转发封包的改进示意图。
[0020] 图5为本发明一实施方式中用户端设备转发封包的方法流程图。
[0021] 主要元件符号说明
[0022] 用户终端设备 101、103、105
[0023] 用户端设备 20
[0024] 处理器 202
[0025] 存储媒介 204
[0026] 路由模块 206
[0027] 侦测模块 208
[0028] 判断模块 210
[0029] 负载平衡模块 212
[0030] 分类模块 211
[0031] 质量服务模块 213
[0032] 第一广域网端口 214
[0033] 第二广域网端口 216
[0034] 第一局域网端口 218
[0035] 第二局域网端口 220
[0036] 第三局域网端口 222
[0037] 因特网 30

具体实施方式

[0038] 请参阅图1,所示为本发明一实施方式中用户端设备20的应用环境示意图。用户端设备20通过多个局域网(Local Area Network,LAN)端口分别为多个用户终端设备101、103、105提供网络接入或路由功能,其能同时将多个用户终端设备101、103、105接入因特网30。在本实施方式中,用户终端设备101、103、105可为个人电脑(Personal Computer,PC)、平板电脑、智能手机等。用户端设备20可以是路由器、网关或者调制解调器等通信设备。
[0039] 在本实施方式中,用户端设备20包括至少两个广域网(Wide Area Network,WAN)端口和多个局域网端口,以通过多个局域网端口连接到多个用户终端设备,并通过至少两个广域网端口连接到因特网30,从而将来自多个用户终端设备101、103、105的封包转发至因特网30。以下详细说明中以第一广域网端口214、第二广域网端口216、第一局域网端口218、第二局域网端口220及第三局域网端口222为例进行说明。
[0040] 请参阅图2,所示为本发明一实施方式中用户端设备20的内部结构示意图。在本实施方式中,用户端设备20包括处理器202、存储媒介204、第一广域网端口214、第二广域网端口216、第一局域网端口218、第二局域网端口220及第三局域网端口222、路由模块206、侦测模块208、判断模块210、负载平衡模块212、分类模块211及质量服务模块213。需要说明的是,为了图示简单明了,在图2中仅示出了广域网端口214与局域网端口218。
[0041] 在本实施方式中,用户端设备20通过第一局域网端口218、第二局域网端口220及第三局域网端口222从用户终端设备101、103、105接收多个待转发的封包,路由模块206、侦测模块208、判断模块210、负载平衡模块212、分类模块211及质量服务模块213对这些封包进行处理,然后通过第一广域网端口214和第二广域网端口216发送待转发的封包至因特网30。
[0042] 处理器202执行路由模块206、侦测模块208、判断模块210、负载平衡模块212、分类模块211及质量服务模块213以实现这些模块的功能。
[0043] 存储媒介204存储有预设条件值,在网络不阻塞时,符合预设条件的封包将通过第一广域网端口214进行发送,不符合预设条件的封包将通过第二广域网端口216进行发送。在本实施方式中,预设条件值包括封包源地址(Source IP address)、封包大小(Packet size)、封包的协议类型(Protocol type)等。例如,若将预设条件值的协议类型设置为传输控制协议(Transmission Control Protocol,TCP),则表明通过第一广域网端口214只能发送TCP封包,而其它不是TCP类型的封包则通过第二广域网端口216进行发送。
[0044] 路由模块206通过多个局域网端口218、220、222接收多个待转发的封包,并依据预设条件值判断每一封包是否符合预设条件值。然后,路由模块206通过第一广域网端口214发送符合预设条件值的封包,通过第二广域网端口216发送不符合预设条件值的封包。
[0045] 侦测模块208持续侦测第一广域网端口214与第二广域网端口216的封包丢失状况。判断模块210判断通过第二广域网端口216发送的封包是否存在封包丢失现象。在本实施方式中,若用户端设备20在预设的时间内没有接收到因特网30中的响应封包时,则判断模块210断定从第二广域网端口216发送出去的封包存在封包丢失现象,反之,则断定从第二广域网端口216发送出去的封包不存在封包丢失现象。
[0046] 如果从第二广域网端口216发送出去的封包不存在封包丢失现象,则表明此时第二广域网端口216的负载处于正常水平,此时,路由模块206继续通过第二广域网端口216发送不符合预设条件值的封包。
[0047] 如果从第二广域网端口216发送出去的封包存在封包丢失现象,则表明第二广域网端口216的负载较重,此时,判断模块210再判断通过第一广域网端口214发送的封包是否存在封包丢失现象。
[0048] 若通过第一广域网端口214发送的封包不存在封包丢失现象,则表明此时第一广域网端口214的负载较轻,而第二广域网端口216的负载较重。在这种情况下,负载平衡模块212启动负载平衡机制,以将不符合预设条件值的新连线(New Session)的封包分配至第一广域网端口214。其中,为了保持连线不中断,原有的已经建立连线的封包仍然按照之前的规定来传送。举例而言,如果某一连线的封包之前已经分配至第二广域网端口216,后续属于这个连线的封包仍然分配给第二广域网端口216。
[0049] 然后,分类模块211启动质量服务,从而为分配至第一广域网端口214的封包设置优先级。在本实施方式中,为了保证符合预设条件值的封包的传送,分类模块211将分配至第一广域网端口214的不符合预设条件值的封包的优先级设置为低于符合预设条件值的封包的优先级。
[0050] 质量服务模块213根据分类模块211所设置的优先级控制第一广域网端口214发送所分配的符合预设条件的封包以及不符合预设条件的封包。这样,第一广域网端口214就会在发送完高优先级的符合预设条件值的封包后,才发送低优先级的不符合预设条件值的封包,从而优先保证了符合预设条件值的封包的发送。
[0051] 若通过第一广域网端口214发送的封包存在封包丢失现象,则表明第一广域网端口214和第二广域网端口216的负载均较重,此时,负载平衡模块212停止负载平衡机制,分类模块211与质量服务模块213停止质量服务,继续由路由模块206通过第一广域网端口214发送符合预设条件值的封包,通过第二广域网端口216发送不符合预设条件值的封包。
[0052] 请参阅图3,所示为本发明一实施方式中用户端设备20转发封包的一般性示意图。此时,负载平衡模块212停止负载平衡机制,分类模块211与质量服务模块213停止质量服务。如图3所示,用户端设备20通过第一局域网端口218、第二局域网端口220及第三局域网端口222分别接收用户终端设备101、用户终端设备103及用户终端设备105的封包,然后通过设置不同的路由方式从不同的广域网端口转发。
[0053] 在本实施方式中,在用户端设备20上设置将从多个局域网端口所接收到的A封包指定以第一广域网端口214发送出去,将所接收到的其余封包(B封包或者C封包)从第二广域网端口216发送出去。这样一来,若符合预设条件的A封包比较少,而不符合预设条件的B封包与C封包比较多,就将导致第一广域网端口214的负载较轻,而第二广域网端口216的负载较重,甚至发生封包丢失现象,进而影响用户端设备20转发封包的效率。
[0054] 请参阅图4,所示为本发明一实施方式中用户端设备20转发封包的改进示意图。如图4所示,比如,第一广域网端口214与第二广域网端口216最多只可每秒钟发送5个封包,当第二广域网端口216每秒钟需要发送6个不符合预设条件的封包时,此时若还将第六个不符合预设条件的封包从第二广域网端口216发送将会发生封包丢失现象。而第一广域网端口214此时的流量为每秒钟发送3个符合预设条件的封包,负载较轻。
[0055] 在这种情况下,负载平衡模块212启动负载平衡机制,以将不符合预设条件的新连线的封包D分配至第一广域网端口214,而为了保持不中断原有连线,属于原有连线的封包B、C仍然分配至第二广域网端口216。分类模块211启动质量服务,以将新连线的封包D的优先级设置为低于3个符合预设条件值的封包A的优先级。质量服务模块213根据分类模块211所设置的优先级控制第一广域网端口214发送封包。这样,第一广域网端口214就会在发送完3个符合预设条件值的封包A后,才发送不符合预设条件的新连线的封包D。
[0056] 请参阅图5,所示为本发明一实施方式中用户端设备20转发封包的方法流程图。在本实施方式中,该方法通过图2所示的各个模块来实现。
[0057] 在步骤S500中,路由模块206通过多个局域网端口218、220、222接收多个待转发的封包,并依据预设条件值判断每一封包是否符合预设条件值。
[0058] 在步骤S502中,路由模块206通过第一广域网端口214发送符合预设条件值的封包以及通过第二广域网端口216发送不符合预设条件值的封包。
[0059] 在步骤S504中,侦测模块208持续侦测第二广域网端口216的封包丢失状况。
[0060] 在步骤S506中,判断模块210判断通过第二广域网端口216发送的封包是否存在封包丢失现象。在本实施方式中,若用户端设备20在预设的时间内没有接收到因特网30中的响应封包时,则判断从第二广域网端口216发送出去的封包存在封包丢失现象,反之,则判断从第二广域网端口216发送出去的封包不存在封包丢失现象。
[0061] 若从第二广域网端口216发送的封包不存在封包丢失现象,则表明此时第二广域网端口216的负载处于正常水平,在步骤S509中,判断此时负载平衡机制是否启动,若没有启动,则在步骤S502中,路由模块206继续通过第二广域网端口216发送不符合预设条件值的封包,并通过第一广域网端口214发送符合预设条件值的封包。
[0062] 若从第二广域网端口216发送的封包存在封包丢失现象,则在步骤S508中,判断模块210判断通过第一广域网端口214发送的封包是否存在封包丢失现象。
[0063] 若通过第一广域网端口214发送的封包不存在封包丢失现象,则表明此时第一广域网端口214的负载较轻,而第二广域网端口216的负载较重,因此,在步骤S510中,负载平衡模块212启动负载平衡机制,以将不符合预设条件值的新连线的封包分配至第一广域网端口214。在步骤S511,分类模块211启动质量服务,从而为分配至第一广域网端口214的封包设置优先级。在本实施方式中,为了保证符合预设条件值的封包的传送,分类模块211将分配至第一广域网端口214的不符合预设条件值的封包的优先级设置为低于符合预设条件值的封包的优先级。
[0064] 然后,在步骤S513,质量服务模块213根据分类模块211所设置的优先级控制第一广域网端口214发送所分配的符合预设条件的封包以及不符合预设条件的封包。这样,第一广域网端口214就会在发送完高优先级的符合预设条件值的封包后,才发送低优先级的不符合预设条件值的封包,从而优先保证了符合预设条件值的封包的发送。
[0065] 若通过第一广域网端口214发送的封包存在封包丢失现象,则表明第一广域网端口214和第二广域网端口216的负载均较重,此时,在步骤S509中,判断此时负载平衡机制是否启动,若此时负载平衡机制尚没有启动,则在步骤S502中,路由模块206继续通过第二广域网端口216发送不符合预设条件值的封包,并通过第一广域网端口214发送符合预设条件值的封包。
[0066] 若负载平衡机制已经启动,则在步骤S512中,负载平衡模块212停止将不符合预设条件值的封包分配至第一广域网端口,之后继续在步骤S502由路由模块206通过第一广域网端口214发送符合预设条件值的封包,通过第二广域网端口216发送不符合预设条件值的封包。
[0067] 本发明实施方式所提供的用户端设备20及其转发封包的方法,通过侦测第一广域网端口214与第二广域网端口216封包丢失的状况,在第二广域网端口216发送的封包发生丢失现象且第一广域网端口214轻载时启动负载负载平衡,以将不符合预设条件值的新连线的封包分配至第一广域网端口214进行发送以负载平衡负载,并启动质量服务,将分配至第一广域网端口214的不符合预设条件值的封包优先级设置为低于符合预设条件值的封包,从而既提高了用户端设备20的运行效率,又保证了第一广域网端口214优先发送符合预设条件值的封包。