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

文档序号:9352796阅读:来源:国知局
端的E2到客户端的El的网络数据通信。
[0090]在上述实施例中,示出了根据本发明的中间交换设备可串行处理经过该中间交换设备的数据流,即处理模块612可依序对数据流中需要被解压或被压缩的数据包进行处理。这是因为,在一些数据传输过程中,中间交换设备的硬件无法支持或不必使用并行加速的方法,由此以节省系统资源、保证系统的稳定运行。
[0091]图5示出了根据本发明的另一个实施例的中间交换设备。区别于图2所述中间交换设备,如图5所示的实施例中的中间交换设备将用于加速处理的处理模块分成了用于压缩TCP数据包并将其封装为UDP数据包的压缩处理模块512b,以及用于解压UDP数据包以还原TCP数据包的解压处理模块512a。此种结构使得该实施例的中间交换设备可并行处理需要发送的数据包及接收到的数据包,由此可同时对数据流中分别需要被解压和被压缩的不同数据包进行处理。这是因为,在一些数据传输过程中,中间交换设备需要同时接收及发送数据包。在中间交换设备中,相较于接收数据包所花费的时间,加速进程(压缩处理或解压处理)会花费更长的处理时间。为加快处理过程,本发明的中间交换设备通过采用并行加速的方法,可以减少已接收的数据包的等待处理的时间。
[0092]示于图3与图4中的主动模式与被动模式的方法,其同样适用于图5的中间交换设备,即所述中间交换设备可同时开启主动模式与被动模式以同时压缩与解压属于特定用户和/或应用的TCP数据包与UDP数据包,并因此加快所述中间交换设备处理数据包的速度。例如,图5的中间交换设备的主动模式,其区别于图3可将步骤S13分成S13a与S13b以分别根据流表判断数据包的字段是否符合解压规则与压缩规则。当在S13a中判断为“是”时,继续S15、S17a及随后的步骤;当判断为“否”时,继续S13b。当在S13b中判断为“是”时,继续S15、S17b及随后的步骤;当判断为“否”时,继续S14。又例如,图5的中间交换设备的被动模式,其区别于图4可将步骤S23分成S23a与S23b以分别根据流表判断数据包的字段是否符合解压规则与压缩规则。当在S23a中判断为“是”时,继续S25、S27al及随后的步骤;当判断为“否”时,继续S23b。当在S23b中判断为“是”时,继续S25、S27b及随后的步骤;当判断为“否”时,继续S24。
[0093]由此,可并行地完成如图1所示的在服务端的E2与客户端的E i之间进行的网络数据通信,并通过中间交换设备EJP /或E 2并行地处理需要发送的数据包及接收到的数据包以节省处理时间。
[0094]最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。例如,本发明并非将交换模块与加速模块分别限制于内核空间与用户空间中,其还可以是将交换模块与加速模块同时设置于内核空间中。又例如,本发明的处理模块,其并非仅限于对数据流的首个数据包进行相应的处理(诸如,确定对TCP数据包进行加速的规则,或者生成流编号),其还可以对其他数据包(例如,数据流的每个数据包)进行所述处理,并因此无需设置规则下发模块;例如,根据每个数据包确定相应的规则,不储存所述规则而直接将其转发至流表。因此,尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
【主权项】
1.一种用于网络数据传输的中间交换设备,包括: 流表,其用于储存用以转发属于特定用户和/或应用的TCP和/或UDP数据包的规则;处理模块,其用于压缩TCP数据包的报文以封装成UDP数据包,和/或解压UDP数据包以还原TCP数据包; 识别截获模块,其用于根据所述流表将需要加速的TCP数据包或UDP数据包传送给所述处理模块;以及 转发模块,其用于将所述处理模块处理后的数据包转发出去; 其中,所述流表、所述识别截获模块与所述转发模块位于所述中间交换设备的内核空间。2.根据权利要求1所述的中间交换设备,其中,所述流表储存有用于对包含特定源地址、目的地址、源端口、目的端口中的一项或多项的TCP数据包进行加速的规则,以及用于对目的端口为所述端口标记的UDP数据包以进行加速的规则。3.根据权利要求2所述的中间交换设备,其中,所述处理模块还用于根据UDP数据流中的数据包的源地址、UDP头的源端口、TCP头的源端口以生成流编号,并且用流编号标记生成的TCP数据包的源端口。4.根据权利要求3所述的中间交换设备,其中,所述处理模块还用于根据所述数据包确定对目的端口为所述流编号及包含特定源地址、目的地址、源端口中的一项或多项的TCP数据包进行加速的规则。5.根据权利要求4所述的中间交换设备,还包括: 地址端口表,其用于储存所述流编号及包含特定源地址、目的地址、源端口中的一项或多项。6.根据权利要求5所述的中间交换设备,其中,所述处理模块还用于根据所述流编号从所述地址端口表中查找出作为目的地址、UDP头的目的端口、TCP头的目的端口的字段以将所述TCP数据包封装成UDP数据包。7.根据权利要求6所述的中间交换设备,还包括: 规则下发模块,其用于储存所述对TCP数据包进行加速的规则并将其下发至所述流表。8.根据权利要求1-7中任意一项所述的中间交换设备,所述处理模块包括用于压缩TCP数据包并将其封装为UDP数据包的压缩处理模块,以及用于解压UDP数据包以还原TCP数据包的解压处理模块,所述压缩处理模块和解压处理模块并行工作。9.一种基于权利要求1-8之一的中间交换设备的网络数据传输的方法,包括: 1)接收数据包; 2)所述识别截获模块根据所述流表的规则,将需要处理的TCP数据包或者UDP数据包转发至所述处理模块; 3)所述处理模块对所述数据包中的TCP数据包进行压缩封装成UDP数据包,和/或对所述数据包中的UDP数据包进行解压以还原TCP数据包; 4)转发模块转发经所述处理模块加速的符合所述规则的数据包。10.根据权利要求9的方法,其中,步骤3)还可以包括如下步骤: 31)根据UDP数据流中的数据包的源地址、UDP头的源端口、TCP头的源端口以生成流编号; 32)根据所述UDP数据包确定对目的端口为所述流编号及包含特定源地址、目的地址、源端口中的一项或多项的TCP数据包进行加速的规则,并将所述规则下发至所述流表; 33)用流编号标记生成的TCP数据包的源端口。11.一种网络通信系统,包括: 一个或多个客户端主机; 一个或多个服务端主机,其中所述一个或多个客户端主机通过互联网与所述一个或多个服务端主机通信;以及 一个或多个根据权利要求1-8之一的中间交换设备,其被部署在所述一个或多个客户端主机与所述一个或多个服务端主机之间的任意位置。
【专利摘要】本发明提供了一种用于网络数据传输的中间交换设备,其特征在于包括:内核空间中,用于储存用以转发属于特定用户和/或应用的TCP和/或UDP数据包的规则的流表;以及内核空间中,包括用于转发符合所述规则的数据包以进行加速并且将不符合所述规则的数据包转发出所述中间交换设备的识别截获模块,及用于转发经加速的符合所述规则的数据包的转发模块;以及用于压缩TCP数据包的报文并添加端口标记以封装成UDP数据包,和/或解压UDP数据包以还原TCP数据包的处理模块。
【IPC分类】H04L12/951, H04L12/931
【公开号】CN105072057
【申请号】CN201510400138
【发明人】宋磊, 张骏, 张广兴, 谢高岗
【申请人】中国科学院计算技术研究所
【公开日】2015年11月18日
【申请日】2015年7月9日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1