一种用于网络数据传输的中间交换设备及网络通信系统的制作方法_2

文档序号:9352796阅读:来源:国知局
本发明的实施例对其作出进一步的说明);随后,处理后的UDP数据包及其他数据包经广域网被传送至E2,并由E2解压经E i压缩及封装后的所述UDP数据包以还原所述TCP数据包(后面将通过本发明的实施例对其作出进一步的说明);最后,C2收到由E 2传出的TCP数据包及其他数据包。相对地,在由(:2向C1传输网络数据的过程中,由E2S缩来自(:2的TCP数据包并用UDP协议进行封装,由EJI压从广域网收到的经E 2压缩及封装后的所述UDP数据包以还原所述TCP数据包,并由数据包转发给C 10
[0036]图2示出了根据本发明的一个实施例的中间交换设备。如图2,所述中间交换设备,包括:流表53,其被用于储存用以转发属于特定用户和/或应用的TCP或UDP数据包的规则;交换模块52,其包含用于根据所述流表中的规则以转发符合及不符合所述规则的数据包的识别截获模块621,及用于转发经处理的符合所述流表中的规则的数据包的转发模块622 ;加速模块51,其包含用于将TCP数据包压缩并封装成UDP数据包,或解压UDP数据包以还原TCP数据包的处理模块612,用于储存包含特定源地址、目的地址、源端口中的一项或多项的地址端口表613,以及用于储存所述对TCP数据包进行加速的规则并将其下发至所述流表53的规则下发模块611。所述流表53与所述交换模块52被布置在所述中间交换设备的内核空间中;所述加速模块51被布置在所述中间交换设备的用户空间中。
[0037]根据本发明的一个实施例,图2中的中间交换设备可对经过该中间交换设备的数据包实施定向加速,其在部署于客户端与服务端时可分别开启主动模式与被动模式,以分别主动地加速属于特定用户和/或应用的数据包与被动地感知需加速的数据包。在发送数据包时,与客户端相连的中间交换设备可开启主动模式对包含有特定源地址、目的地址、源端口、及目的端口中的一项或多项的TCP数据包进行加速,以下将结合图3描述图2中的中间交换设备,其作为与客户端相连的中间交换设备主动地向与服务端相连的中间交换设备传输数据包的工作过程。
[0038]下面假设,在从客户端主机到服务端主机的通信过程中,与客户端相连的中间交换设备开启主动模式以加速来自特定用户的特定应用的数据流。例如,所述与客户端相连的中间交换设备需要对源地址、目的地址、源端口、目的端口分别为Client_ip、Server_ip、Client_port、Server_port的TCP数据包进行加速。相对应地,在由服务端主机返回至客户端主机的通信工程中,与客户端相连的中间交换设备可开启主动模式以加速返回至相同用户的相同应用的数据流。
[0039]下面参考图2和图3,对由与客户端相连的中间交换设备对传输至与服务端相连的数据包的定向加速的过程进行描述,该过程包括:
[0040]Sll:中间交换设备收到数据包。
[0041]例如,与客户端主机相连的中间交换设备可收到如图6所示的TCP数据包,该数据包由客户端主机发往服务端主机,其报文包括包含源地址Clientjp与目的地址SerVer_ip的IP头,和包含源端口 Client_port及目的端口 Server_port的TCP头,和有效载荷。
[0042]S12:在中间交换设备中,数据包被传送至交换模块52中的识别截获模块621。
[0043]S13:由识别截获模块621判断数据包的字段是否符合流表53中的压缩/解压规贝1J,当其判断为“否”时,继续步骤S14;当其判断为“是”时,继续步骤S15。其中,压缩规则为对特定用户和/或特定应用的数据流进行压缩的规则,解压规则为与所述压缩规则相对应的规则。
[0044]例如,客户端中间交换设备可下发由用户定义的压缩规则至流表53。根据流表53中的压缩规则,识别截获模块621可以对满足源地址、目的地址、源端口、目的端口分别为Client_ip、Server_ip、Client_port、Server_port 的 TCP 数据包做出将该 TCP 数据包交付给虚拟网卡TUN/TAP(未示出)的动作。
[0045]S14:识别截获模块621将无需加速的数据包转发出中间交换设备。
[0046]例如,识别截获模块621可将无需加速的数据包交于物理网卡以转发出中间交换设备。
[0047]S15:识别截获模块621将需要加速的数据包传送至加速模块51中的处理模块612。
[0048]例如,源地址、目的地址、源端口、目的端口分别为Client_ip、Server_ip、Client_port、Server_port的TCP数据包经由虚拟网卡TUN/TAP(未示出)被传送至处理模块612。
[0049]S16:处理模块612判断数据包是否使用UDP协议,当其判断为“是”时,继续步骤S17a ;当其判断为“否”时,继续步骤S17b。
[0050]例如,在由客户端向服务端通信的过程中,客户端中间交换设备的处理模块对TCP数据包进行加速,即在S16中判断为“否”,而继续步骤S17b。
[0051]S17b:处理模块612对收到的数据包进行压缩TCP报文、添加UDP头的特定端口、添加IP头的处理,以生成新的数据包;其中,添加特定的端口可有助于接收数据包的中间交换设备识别出经本中间交换设备压缩后的UDP数据包。在客户端中间交换设备中,可使用特定端口以标记UDP数据包的源端口与目的端口。
[0052]例如,图7示出了由处理模块612处理收到的TCP数据包后生成的新的UDP数据包。如图7所示,示于图6中的原数据包的TCP报文(即,包括TCP头与有效载荷的部分)经压缩后成为新数据包的负载;特定的源端口 PORT与目的端口 PORT被添加作新数据包的UDP头,其中PORT为由中间交换设备定义的端口标记;数据包的IP头被重新添加以封装数据包。
[0053]S18:处理模块612将UDP数据包传送给交换模块52中的转发模块622。
[0054]例如,所述数据包可经由虚拟网卡TUN/TAP (未示出)被传送至转发模块622。
[0055]S19:转发模块622根据流表53中的规则将该UDP数据包转发出中间交换设备。
[0056]在客户端主机向客户端中间交换设备传输数据包,并且该客户端中间交换设备对其中来自特定用户和/或特定应用的数据流进行加速后,服务端中间交换设备可开启被动模式以接收来自客户端中间交换设备的数据流。在接收数据包时,中间交换设备可开启被动模式以感知接收到的数据包类型并还原经发送端中间交换设备加速的TCP数据包。以下将结合图2和图4,对作为服务端中间交换设备被动地感知并且加速来自服务端中间交换设备的需加速的数据包的工作过程进行描述。
[0057]参考图4,由与服务端相连的中间交换设备接收并处理来自与客户端相连的数据包的定向加速的过程,包括:
[0058]S21:中间交换设备收到数据包。
[0059]例如,在经由广域网传输数据包的过程中,可存在发生网络地址转换(NetworkAddress Translat1n, NAT)与未发生网络地址转换(非NAT)的情况。数据包在经过NAT设备后,其源地址与源端口将发生改变。在前文所述的网络通信系统中,在发生NAT的情况下,与服务端主机相连的中间交换设备可收到来自上述与客户端主机相连的中间交换设备的数据包,如图8所示,该UDP数据包的报文中的源地址与源端口由Clientjp与Client—port改变为Gw_ip与Gw_port ;在非NAT的情况下,与服务端主机相连的中间交换设备可收到如图7所示的UDP数据包。
[0060]S22:
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1