[发明专利]一种基于Socket对接TOE驱动的TCP加速方法有效
| 申请号: | 202110891464.6 | 申请日: | 2021-08-04 |
| 公开(公告)号: | CN113810370B | 公开(公告)日: | 2023-06-16 |
| 发明(设计)人: | 张向前 | 申请(专利权)人: | 方一信息科技(上海)有限公司 |
| 主分类号: | H04L69/16 | 分类号: | H04L69/16;H04L67/14 |
| 代理公司: | 上海海钧知识产权代理事务所(特殊普通合伙) 31330 | 代理人: | 姜波 |
| 地址: | 200090 上海市杨浦*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 socket 对接 toe 驱动 tcp 加速 方法 | ||
本发明提供了一种基于Socket对接TOE驱动的TCP加速方法,所述方法应用于基于Socket对接TOE驱动的TCP加速网卡;所述方法通过动态替换Socket模块使Socket跳过linux内核协议栈直接对接TOE驱动,通过FGPA实现运输层,网络层以及数据链路层的封装,校验,解包等操作。本发明采用动态替换Socket模块方法不需要修改内核源码,使用方便,工作量相对较小。
技术领域
本发明涉及一种互联网技术领域 ,尤其涉及一种基于Socket对接TOE驱动的TCP加速方法。
背景技术
随着网络信息的高速发展,在网络数据的传输量呈现指数增长的趋势,传统的TCP通信计算量过大,导致网络吞吐量受限于CPU性能,于是市场上出现了一种TCP加速技术TCP/IP Offload Engine,该技术将TCP/IP通信模块直接移植到FGPA,通过硬件做计算加速。该技术的引发了一个问题,在linux内核中,由于Socket模块直接对接TCP/IP模块(网络协议栈),为了保证用户习惯的一致性,需要修改Socket模块使其直接对接TOE网卡驱动。
linux内核网络协议栈中包含TCP、 UDP、IP、ICMP、IGMP等多种协议。
应用层:负责处理特定的应用层细节,应用与应用之间通过解析应用层协议来进行传输和控制。
运输层:TCP协议负责提供端到端的高可靠的数据通信。
网络层:处理分组在互联网中的活动,例如分组的选路。
数据链路层:处理与电缆或其它任何传输媒介的物理接口细节,负责实现物理链路的通信协议。
无论是运输层还是网络层甚至是数据链路层, 主机处理器都需要耗费大量资源进行数据包封装和校验工作。这将导致在高速以太网环境中网络带宽受限于CPU性能。
修改Socket模块使其跳过内核协议栈直接对接TOE驱动。
方案一:直接修改linux内核源码中Socket模块。缺点:工作量大,难度高,时间周期长,需要重新编译内核源码,使用不方便。
方案二:动态替换Socket模块。优点:不需要修改内核源码,使用方便,工作量相对较小。
发明内容
本发明的目的在于提供一种基于Socket对接TOE驱动的TCP加速方法,以解决上述技术背景中提出的问题。
为实现上述目的,本发明采用以下技术方案:
本发明提供一种基于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结构体。
优选地,所述linux内核协议包括TCP协议和IP协议。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于方一信息科技(上海)有限公司,未经方一信息科技(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110891464.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种龟苓膏固体饮料及其制备方法
- 下一篇:一种偏硅酸锂/镍复合材料的制备方法





