一种软硬件结合实现TCP连接数据缓存的方法技术

技术编号:5508230 阅读:406 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种软硬件结合实现TCP连接数据缓存的方法。硬件网卡接收报文,进行TCP连接管和排序,接口库为新建连接构造TCP节点结构,在每个包TCP数据的内存之前,预留出一块缓存区域,用来缓存上一个包中的末尾数据,同时记录缓存数据的长度,并使用一个指针,表示当前要处理的数据的起始位置。接口库收到tcp数据包后,从数据报文中提取TCP数据,更新TCP节点结构,如果应用需要缓存报文,接口库通过数据拷贝和移动指针在TCP节点中缓存数据,当下一个tcp数据包达到后,接口库使用缓存数据拼接前后两个报文。本发明专利技术不需要在TCP卸载系统的网卡硬件中缓存数据,降低网卡硬件成本。

【技术实现步骤摘要】

【技术保护点】
一种软硬件结合实现TCP连接数据缓存的方法,其特征在于:步骤如下:A、网卡接收报文,启动TCP卸载功能,对TCP连接状态管理,对发生乱序的TCP数据进行重排序,并以报文为单位上传至主机软件;B、接口库为每个新建的TCP连接构造TCP节点结构,包括该TCP连接的当前数据缓存和指向数据开始位置的指针;C、接口库收到一个TCP连接的数据包时,根据该报文查找对应的TCP节点结构,然后提取出报文中包含的TCP数据,放入节点结构中当前报文的数据缓存区域;D、应用软件需要缓存当前TCP报文中的数据时,则调用接口库提供的API,传入缓存数据的长度,接口库响应调用,在TCP节点中记录缓存数据长度,把当前TCP数据末尾的指定长度内容拷贝到TCP节点结构的数据缓存的预留空间中;E、当该TCP节点的下一个报文到来时,接口库把报文中的TCP数据放入TCP节点结构中当前报文的数据缓存区域,并根据TCP节点中记录的上次缓存的上一个报文的数据长度,向前偏移当前TCP数据的指针,使指针指向上一个包的末尾数据,提交应用处理。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘朝辉窦晓光纪奎张磊白宗元刘灿李锋伟
申请(专利权)人:曙光信息产业北京有限公司
类型:发明
国别省市:11[]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1