[发明专利]一种TCP数据包的传输方法无效

专利信息
申请号: 200810055730.6 申请日: 2008-01-08
公开(公告)号: CN101217493A 公开(公告)日: 2008-07-09
发明(设计)人: 张建宇;姚嘉;刘晓舟;廖唯棨;邹维 申请(专利权)人: 北京大学
主分类号: H04L12/56 分类号: H04L12/56;H04L29/06
代理公司: 北京君尚知识产权代理事务所 代理人: 余长江
地址: 100871*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明的目的在于提供一种TCP数据包的传输方法,该方法通过将非本地TCP数据包直接重定向到本地网络协议栈进行处理(不依赖于网络地址转换技术)、流套接字负载均衡、减少内核层和用户层之间的数据拷贝传递、在内核层的流套接字之间直接传递TCP数据包以及减少网络协议栈中执行数据包构建等复杂操作的开销,提高了内核层内部各模块间传输和处理TCP数据包以及内核层与用户层业务程序之间传输数据的效率,实现了应用网关对TCP流量应用层数据的在线高速处理、TCP数据包的快速转发以及对大量并发TCP会话的支持,并保证了应用网关对于通信源端和目的端的透明性。
搜索关键词: 一种 tcp 数据包 传输 方法
【主权项】:
1.一种TCP数据包的传输方法,其步骤如下:1)将应用网关接收到的、目的IP地址为非本地IP地址的TCP数据包传输到内核层的数据包转发模块;2)数据包转发模块根据负载均衡算法从用户层业务程序创建的“监听”流套接字池中选出一个“监听”流套接字,将其本地监听端口保存到数据包的内核数据结构中;3)所述“监听”流套接字响应新建TCP连接握手请求,并创建“数据”流套接字,所述流套接字包含三个数据包缓冲队列:接收队列、发送队列和深度处理队列;“监听”流套接字还包含一个监听队列和一个新建TCP连接队列;4)数据包转发模块将TCP数据包重定向到内核层的本地网络协议栈;5)本地网络协议栈的TCP输入处理模块对TCP数据包的TCP包头进行解析处理,在“数据”流套接字散列表中查找是否存在与数据包对应的“数据”流套接字;6)若存在“数据”流套接字,则将数据包加入到“数据”流套接字的接收队列的队尾,并跳到步骤9;7)若不存在“数据”流套接字,则在“监听”流套接字散列表中找到数据包转发模块选出的“监听”流套接字,将数据包加入到“监听”流套接字的监听队列的队尾;8)TCP新建连接模块从监听队列队首取出TCP数据包,完成与客户机的新建TCP连接握手,创建与客户机进行通信的“数据”流套接字,将该流套接字加入到内核中的“数据”流套接字散列表以及“监听”流套接字的新建TCP连接队列队尾;9)用户层的业务程序调用套接字的系统调用函数accept(),从“监听”流套接字的新建TCP连接队列队首取出“数据”流套接字并返回其信息给业务程序;调用套接字的系统调用函数socket(),创建与服务器通信的“数据”流套接字;调用套接字的系统调用函数connect(),建立应用网关与服务器间的TCP连接;10)业务程序调用套接字的系统调用函数,触发TCP输入处理模块从“数据”流套接字的接收队列的队首取出TCP数据包,还原提取出应用层数据并拷贝到业务程序提供的用户层缓冲区中,如果所述函数的参数flags中包含标识MSG_PREINSPECTING,则将数据包加入到“数据”流套接字的深度处理队列队尾;11)业务程序解析处理用户层缓冲区中的数据,调用套接字的系统调用函数,并根据所述函数的参数flags中设置的不同标识,执行对“数据”流套接字深度处理队列中的原始TCP数据包的处理操作,包括:丢弃;对TCP数据包的内容不做任何修改原样发送出去;采用业务程序提供的数据替换TCP数据包的内容后发送出去;其中上述步骤中所有系统调用函数均兼容伯克利套接字。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/200810055730.6/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top