[发明专利]一种基于Socket对接TOE驱动的TCP加速方法有效
| 申请号: | 202110891464.6 | 申请日: | 2021-08-04 |
| 公开(公告)号: | CN113810370B | 公开(公告)日: | 2023-06-16 |
| 发明(设计)人: | 张向前 | 申请(专利权)人: | 方一信息科技(上海)有限公司 |
| 主分类号: | H04L69/16 | 分类号: | H04L69/16;H04L67/14 |
| 代理公司: | 上海海钧知识产权代理事务所(特殊普通合伙) 31330 | 代理人: | 姜波 |
| 地址: | 200090 上海市杨浦*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 socket 对接 toe 驱动 tcp 加速 方法 | ||
1.一种基于Socket对接TOE驱动的TCP加速方法,其特征在于,动态替换Socket模块使Socket跳过linux内核协议栈直接对接TOE驱动;所述方法包括如下步骤:
S1:增加add_port接口,将toe port保存到toe list port中;
S2:在init的过程中通过钩子函数动态替换tcp_port为fitoe_tcp_port,替换inet_stream_ops结构体为fitoe_inet_stream_ops;
S3:在fitoe_tcp_port和fitoe_inet_stream_ops中对当前port与toe port list对比,判断当前port是否属于toe port,若属于转S4;否则调用原tcp_port和inet_stream_ops;
S4: 通过Driver将数据传递给FPGA,由FPGA进行多层网络协议的数据包处理工作;
S5:在exit的过程中恢复被替换的tcp_port和inet_stream_ops结构体。
2.根据权利要求1所述的一种基于Socket对接TOE驱动的TCP加速方法,其特征在于,所述linux内核协议包括TCP协议和IP协议。
3.根据权利要求1所述的一种基于Socket对接TOE驱动的TCP加速方法,其特征在于,所述Socket上层为操作系统API,所述Socket下层直接对着运输层。
4.根据权利要求1所述的一种基于Socket对接TOE驱动的TCP加速方法,其特征在于,所述TCP发送的数据流如下:
A1:应用层,将用户数据添加用户首部生成应用数据,并通过Socket 层tcp_sndmsg发送到运输层;
A2:运输层,在应用数据中增加20byte的TCP首部生成TCP段,并将一个16bit的端口号即应用程序的标识符存入TCP首部,然后将数据交给网络层;
A3:网络层,在TCP段中增加IP首部生成IP数据报,IP首部长度为20byte,其中包含了一个8bit的协议域用来标识数据属于哪一层,网络层将数据传递到数据链路层;
A4:数据链路层,在IP数据报中增加14byte的以太网首部和4byte的以太网尾部生成以太网帧,最后以太网帧被FPGA通过网卡设备发送到网络中。
5.根据权利要求1所述的一种基于Socket对接TOE驱动的TCP加速方法,其特征在于,所述TCP接收的数据流如下:
B1:数据链路层,将以太网帧解包得到IP数据报,将IP数据报交给网络层;
B2:网络层,解包IP数据报,通过IP首部中的协议域将数据报文传递到运输层;
B3:运输层,解包TCP段,通过TCP首部中的端口号将数据报文上报应用层;
B4:应用层,解包用户首部,完成数据的控制传输。
6.根据权利要求1所述的一种基于Socket对接TOE驱动的TCP加速方法,其特征在于,所述TCP的Socket处理过程如下:
C1:创建socket;
C2:绑定ip;
C3:监听port;
C4:等到客户端连接;
C5:客户端创建socket;
C6:客户端与服务端建立链接;
C7:客户端发送数据;
C8:数据传输到服务端并被服务端接收;
C9:服务端对接收的数据进行处理;
C10:服务端发送数据到客户端;
C11:客户端断链;
C12:断链信息传输到服务端;
C13:服务端断链。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于方一信息科技(上海)有限公司,未经方一信息科技(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110891464.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种龟苓膏固体饮料及其制备方法
- 下一篇:一种偏硅酸锂/镍复合材料的制备方法





