【技术实现步骤摘要】
基于硬件的包编辑器
本专利技术大致涉及数据通信,更具体的,涉及服务网关。
技术介绍
如防火墙、服务加载均衡器之类的服务网关已由服务提供商和企业配置。在过去,服务网关用于安全之类的特殊目的。但是,现在服务网关应用被扩展。许多服务提供商配置服务网关以完成多种服务网关应用,从而检查和分析在主机设备和服务器计算机之间的通信会话的数据包。许多网关应用修改包来帮助对数据包和通信会话的分析。包修改是计算加强且存储接入加强的任务。修改任务通常由服务网关的处理器模块完成。通常,处理器或者处理器模块分析数据包,确定必要的修改数据块,产生包存储缓冲区,从数据包复制一些数据到数据包存储缓冲区中并复制所述修改数据块到包存储缓冲区中。当数据复制完成时,处理器已经从原始的数据包产生了新的数据包。然后服务网关将产生的数据包发送到网络上。数据包修改处理对处理器模块来说代价很高,其消耗CPU周期和存储接入带宽。如果数据包修改处理可以由服务网关的基于硬件的高执行模块卸载和处理,则处理器模块可以分配其资源来处理附加的数据包或者附加的通信会话。因此,需要引入基于硬件的高执行包编辑模块来处理数据包修改。
技术实现思路
根据本专利技术的一个实施例,一种由基于硬件的包编辑器修改数据包的方法包括:(a)由包编辑器接收包编辑脚本,所述脚本包括一个或多个指示应用于数据包和包括用于修改包的数据的数据块的修改的脚本入口;(b)对于包编辑脚本中每一个给定的脚本入口,包编辑器将处于在该给定脚本入口中识别的位置且为在该给定脚本入口中识别的大小的数据块中的数据复制到包缓冲区中;以及(c)包编辑器用包缓冲区中的数据生成修改数据 ...
【技术保护点】
一种通过基于硬件的包编辑器修改数据包的方法,包括:(a)由所述包编辑器接收包编辑脚本,所述包编辑脚本包括一个或多个指示应用于所述数据包和包括用于修改包的数据的数据块的修改的脚本入口;(b)对于所述包编辑脚本中的每一个给定脚本入口,由所述包编辑器将处于在所述给定脚本入口中识别的位置和在所述给定脚本入口中识别的大小的数据块中的数据复制到包缓冲区中;以及(c)由所述包编辑器用所述包缓冲区中的数据生成修改数据包。
【技术特征摘要】
2012.03.29 US 13/433,2901.一种通过基于硬件的包编辑器修改数据包的方法,包括:(a)由所述包编辑器接收包编辑脚本,所述包编辑脚本包括一个或多个指示应用于所述数据包和包括用于修改包的数据的数据块的修改的脚本入口;(b)对于所述包编辑脚本中的每一个给定脚本入口,由所述包编辑器将处于在所述给定脚本入口中识别的位置和在所述给定脚本入口中识别的大小的数据块中的数据复制到包缓冲区中;以及(c)由所述包编辑器用所述包缓冲区中的数据生成修改数据包,其中,所述复制(b)包括:(b1)检索所述包编辑脚本的所述给定脚本入口;(b2)确定所述给定脚本入口是否是用于所述修改数据包的第一脚本入口;(b3)响应于确定所述给定脚本入口是用于所述修改数据包的第一脚本入口,保留用于所述修改数据包的包缓冲区;(b4)将处于在所述给定脚本入口中识别的块位置且具有在所述给定脚本入口中识别的块长度的数据块中的数据复制到所述数据缓冲区中;(b5)确定所述给定脚本入口是否是用于所述修改数据包的最后一个脚本入口;(b6)响应于确定所述给定脚本入口不是用于所述修改数据包的最后一个脚本入口,为所述包编辑脚本的下一个给定脚本入口执行所述复制(b4)和所述确定(b5)。2.如权利要求1所述的方法,其特征在于,所述确定(b2)包括:(b2i)确定所述给定脚本入口中的包开始(SOP)指示符是否指示所述给定脚本入口是用于所述修改数据包的第一脚本入口。3.如权利要求1所述的方法,其特征在于,所述确定(b5)包括:(b5i)确定所述给定脚本入口中的包结束(EOP)指示符是否指示所述给定脚本入口是用于所述修改数据包的最后一个脚本入口。4.如权利要求1所述的方法,其特征在于,所述保留(b3)和所述复制(b4)包括:(b3i)在所述包缓冲区开始的地方设置包缓冲区标记;(b4i)将处于在所述给定编辑脚本中识别的块位置且具有在所述给定编辑脚本中识别的块长度的数据块中的数据的副本添加到所述包缓冲区的包缓冲区标记处;以及(b4ii)用在所述给定编辑脚本中识别的所述块长度修改所述包缓冲区标记。5.如权利要求1所述的方法,其特征在于,所述生成(c)包括:(c1)响应于确定所述给定脚本入口是用于所述修改数据包的最后一个脚本入口,用所述包缓冲区中的数据生成所述修改数据包。6.如权利要求5所述的方法,其特征在于,所述生成(c)进一步包括:(c2)确定所述给定脚本入口是否是所述包编辑脚本中的最后一个脚本入口;以及(c3)响应于确定所述给定脚本入口不是所述包编辑脚本中的最后一个脚本入口,为所述包编辑脚本中的下一个给定脚本入口重复所述检索(b1)、所述确定(b2)、所述保留(b3)、所述复制(b4)、所述确定(b5)、所述执行(b6)以及所述生成(c1)。7.如权利要求6所述的方法,其特征在于,所述确定(c2)包括:(c2i)确定所述给定脚本入口中的表结束(EOT)指示符是否指示所述给定脚本入口是所述包编辑脚本中的最后一个脚本入口。8.一种通过基于硬件的包编辑器修改数据包的系统,包括:包缓冲区;以及包括控制存储器和控制模块的基于硬件的包编辑器,其中所述包编辑器:(a)接收包编辑脚本,所述包编辑脚本包括一个或多个指示应用于数据包和包括用于修改包的数据的数据块的修改的脚本入口,以及(b)将所述包编辑脚本存储到所述控制存储器中,其中所述控制模块:(c)检索存储在所述控制存储器中的每个给定脚本入口,(d...
【专利技术属性】
技术研发人员:I·E·戴维斯,
申请(专利权)人:A一零网络股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。