【技术实现步骤摘要】
一种面向以太网控制器接收链路的TCP报文拼接系统和方法
本专利技术属于计算机网络及集成电路领域,涉及一种面向以太网控制器接收链路的TCP报文拼接系统和方法。
技术介绍
为了缓解高带宽网络给计算机CPU带来的计算压力,减轻CPU对网络数据处理的负担,目前的高性能以太网控制器中都集成了多种硬件加速技术和单元来缓解网络的大流量给系统带来的压力。每种硬件加速技术通常都只针对网络数据收发处理流程中的一种具体情况,因此在实际应用中需要根据具体的应用场合和期望效果,选择合适的方法进行加速。TSO(TCPSegmentOffload)技术可以使以太网控制器在数据发送过程中更加高效、低耗,不仅加速了数据的传输,而且缓解了CPU的负担。与其他加速技术相比,TSO最大的特点就是对数据进行了修改。虽然TSO只是对TCP报文进行了分割和重新封装,完成了TCP分段操作,但切实减少了CPU的工作量。更重要的是,TSO对数据的修改并不影响其对TCP/IP协议的兼容性,且驱动程序在协议栈和TSO硬件之间构建了一座畅通的桥梁,保证了TSO的操作都受到协议栈的控制。除了TSO外,目前绝大多数加速技术都不会对数据本身进行修改,而是面向一个具体的应用场合来进行优化。例如接收包分类RPI技术,其应用场合集中在用户对关键TCP报文的接收处理中;面向虚拟机优化的IOV技术主要解决多虚拟机之间一个物理以太网控制器的共享问题;面向多核处理器优化的RSS技术主要侧重于多核之间对网络数据处理的平衡问题。TSO技术在某种程度上更贴近于TOE(TCP/IPOffloadEngine,TCP/IP卸载引擎)的 ...
【技术保护点】
1.一种面向以太网控制器接收链路的TCP报文拼接方法,其特征在于,包括以下步骤:步骤1,拼接准备工作;在以太网控制器的信息表中设定所有能够拼接的TCP/IP连接,当以太网控制器产生中断处理时,建立TCP报文连接路径,记录接收到的TCP报文,判断接收到的TCP报文是否为信息表中设定的某一个TCP/IP连接的第一个报文;如果是第一个报文,剥离该TCP报文的头部和尾部信息,存储该TCP报文剩余的负载作为该类型的第一个TCP报文,如果否,进行步骤2;步骤2,拼接过程;步骤2.1,判断接收到的TCP报文属于的TCP报文类型,以及该TCP报文是否可以进行拼接;如果是,执行步骤2.2;如果否,舍弃接收到的TCP报文,或者停止拼接;步骤2.2,剥离接收到的TCP报文的头部和尾部信息,被剥离后的负载拼接在对应的前一个TCP报文负载的尾端,合并成为一个负载;依次类推,直至TCP报文拼接结束;步骤3,拼接结束;步骤3.1,当TCP报文乱序到达、TCP传输完成或重置、拼接后的帧达到最大拼接长度、接收BD的使用量超过拼接阈值或拼接定时器超时时,拼接结束;步骤3.2,拼接结束后,重新设置已完成拼接的TCP报文的T ...
【技术特征摘要】
1.一种面向以太网控制器接收链路的TCP报文拼接方法,其特征在于,包括以下步骤:步骤1,拼接准备工作;在以太网控制器的信息表中设定所有能够拼接的TCP/IP连接,当以太网控制器产生中断处理时,建立TCP报文连接路径,记录接收到的TCP报文,判断接收到的TCP报文是否为信息表中设定的某一个TCP/IP连接的第一个报文;如果是第一个报文,剥离该TCP报文的头部和尾部信息,存储该TCP报文剩余的负载作为该类型的第一个TCP报文,如果否,进行步骤2;步骤2,拼接过程;步骤2.1,判断接收到的TCP报文属于的TCP报文类型,以及该TCP报文是否可以进行拼接;如果是,执行步骤2.2;如果否,舍弃接收到的TCP报文,或者停止拼接;步骤2.2,剥离接收到的TCP报文的头部和尾部信息,被剥离后的负载拼接在对应的前一个TCP报文负载的尾端,合并成为一个负载;依次类推,直至TCP报文拼接结束;步骤3,拼接结束;步骤3.1,当TCP报文乱序到达、TCP传输完成或重置、拼接后的帧达到最大拼接长度、接收BD的使用量超过拼接阈值或拼接定时器超时时,拼接结束;步骤3.2,拼接结束后,重新设置已完成拼接的TCP报文的TCP/IP头,完成一个链路TCP报文的拼接,将所有链路的TCP报文存储到主机中。2.根据权利要求1所述的一种面向以太网控制器接收链路的TCP报文拼接方法,其特征在于,步骤1.2中,当接收到的TCP报文的TCP/IP头部控制标志域中URG、RST、SYN以及FIN位均不为1,该报文为拼接过程中的第一个TCP报文。3.根据权利要求1所述的一种面向以太网控制器接收链路的TCP报文拼接方法,其特征在于,步骤2.1中,判断接收到的报文是否可以进行拼接的方法为:当接收到的TCP报文序号大于计算出的应接收的TCP报文序号时,停止拼接;当接收到的TCP报文序号小于计算出的应接收的TCP报文序号时,舍弃接收到的TCP报文,重新接收;当接收到的TCP报文序号等于计算出的应接收的TCP报文序号时,执行步骤2.2。4.根据权利要求3所述的一种面向以太网控制器接收链路的TCP报文拼接方法,其特征在于,所述应接收的TCP报文序号,由TCP报文链路中的上一个TCP报文的序号和上一个TCP报文的负载长度相加得到。5.根据权...
【专利技术属性】
技术研发人员:李龙飞,贺占庄,王剑峰,史阳春,
申请(专利权)人:西安微电子技术研究所,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。