[发明专利]一种无协议栈模式下针对TCP的中间人处理方法有效
申请号: | 201410601880.8 | 申请日: | 2014-10-30 |
公开(公告)号: | CN105635058B | 公开(公告)日: | 2019-05-17 |
发明(设计)人: | 郑艳伟;袁鼎;宋磊;叶晓舟;周渊斐 | 申请(专利权)人: | 中国科学院声学研究所;北京中科智网科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L1/00 |
代理公司: | 北京方安思达知识产权代理有限公司 11472 | 代理人: | 王宇杨;杨青 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种无协议栈模式下针对TCP的中间人处理方法,包括:截取发送端向接收端发送的TCP数据包后,对TCP数据包进行TCP/IP重组;然后修改该TCP数据包的载荷长度;修改TCP数据包的TCP首部信息,至少包括序列号、确认号;最后对TCP数据包进行缓存,并向接收端转发。 | ||
搜索关键词: | 一种 协议 模式 针对 tcp 中间人 处理 方法 | ||
【主权项】:
1.一种无协议栈模式下针对TCP的中间人处理方法,该方法不采用TCP/IP协议栈,直接在网络层中对传输层和应用层的数据报文进行处理,包括:截取发送端向接收端发送的TCP数据包后,对TCP数据包进行TCP/IP重组;然后修改该TCP数据包的载荷长度;修改TCP数据包的TCP首部信息,至少包括序列号、确认号;最后对TCP数据包进行缓存,并向接收端转发;该方法进一步包括:步骤S101、收到一个TCP数据包;步骤S102、对该TCP数据包进行TCP/IP重组;步骤S103、通过TCP重组的信息判断该TCP数据包是否为重传包,若是,则转到重传包处理流程S108,否则,转到正常包处理流程S104;步骤S104、按照需求修改该数据包的载荷长度,载荷长度变化值记为offset,转步骤S105;步骤S105、检查该TCP数据包是否捎带了确认号,若是,则转步骤S106,否则,转步骤S107;步骤S106、提取该TCP数据包的五元组,进行反向哈希查找,对反向的TCP流进行确认,在反向缓存队列中删除已经确认过的TCP数据包,并修改TCP首部的确认号,转步骤S107;反向缓存队列是指反向哈希查找所查找到的队列步骤S107、以TCP数据包的五元组进行正向哈希查找,修改TCP首部的序列号,将该包插入正向缓存队列的队尾,并向前转发,转步骤S111;正向缓存队列是指正向哈希查找所查找到的队列;步骤S108、确定该TCP数据包为重传包,判断该重传包是否已经被TCP中间人处理模块确认,若是,则转步骤S109,否则,转步骤S110;步骤S109、以该TCP数据包的五元组进行反向哈希查找,找到反向缓存队列中对应的TCP数据包,将缓存队列中对应的TCP数据包向后转发,丢弃原TCP数据包,转步骤S111;步骤S110、以该TCP数据包的五元组进行正向哈希查找,找到正向缓存队列中对应的TCP数据包,将缓存队列中对应的TCP数据包向前转发,丢弃原TCP数据包,转步骤S111;步骤S111、该TCP数据包处理结束;所述反向哈希查找将TCP数据包的目的地址、目的端口、源地址、源端口、协议类型作为value进行哈希匹配;所述正向哈希查找将TCP数据包的源地址、源端口、目的地址、目的端口、协议类型作为value进行哈希匹配;所述向前转发表示转发的方向与源TCP数据包发往的方向相同;所述向后转发表示转发的方向与源TCP数据包发往的方向相反。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院声学研究所;北京中科智网科技有限公司,未经中国科学院声学研究所;北京中科智网科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410601880.8/,转载请声明来源钻瓜专利网。