一种降低TOE中接收通道传输延迟量的方法技术

技术编号:26693923 阅读:13 留言:0更新日期:2020-12-12 02:50
本发明专利技术涉及一种降低TOE中接收通道传输延迟量的方法,该方法在TOE的接收通道接收及解析原始N字节流、执行各级校验的过程中,在尚未完成校验的情况下,一边接收来自字节解析模块的原始N字节流,一边对其中的IP数据报、TCP报文段实施定位、解析,将定位得到的IP报文段直通转发给IP协议功能模块以接受处理、将定位得到的TCP报文段直通转发给TCP协议功能模块以接受处理,从而实现链路层、网络层、运输层的并行工作,此后,一旦各层的功能字段处理、校验算法执行完毕,就可以开始把TCP报文段携带的应用层数据字段发往应用层。本发明专利技术可以在确保对应用层数据字段的解析、校验无误的前提下大幅度降低应用层数据字段在TOE接收通道中的传输延迟量。

【技术实现步骤摘要】
一种降低TOE中接收通道传输延迟量的方法
本专利技术涉及一种降低TOE中接收通道传输延迟量的方法,属于数据传输

技术介绍
TCP/IP协议是互联网系统的主流通信协议,在众多应用场景中得到采用。实现TCP/IP协议是很多联网运行的设备必须做的工作。实现TCP/IP协议的传统做法是用CPU运行软件,但是运行软件需要占用大量的系统资源,而实现TCP/IP协议的软件通常与处理协议承载的应用数据的软件并行运行,所以,很多情况下,特别是在近年来网络速度越来越高、数据处理任务日渐繁重的情况下,两者之间的资源竞争导致了系统性能受限。与此同时,CPU运行软件具有串行执行指令、时分复用硬件资源、受中断等系统机制制约的特征,这就导致基于软件的TCP/IP协议实现的实时性较差,具体表现为端到端的延迟量较大、延迟量的可预测性低。与此相对应,通信系统的高实时性,却是很多高性能应用场景的关键需求之一。TOE把TCP/IP协议“卸载”到硬件中,其中直接用于传输应用层数据的通道上,通常包括位于链路层的以太网协议功能模块、位于网络层的IP协议功能模块和位于运输层的TCP协议功能模块,再辅之以ARP协议、ICMP协议等功能模块,即实现所谓TCP/IPOffloadEngine(简称TOE,即“TCP/IP卸载引擎”),以腾出更多系统资源给应用层软件、减轻CPU的负担,同时提高TCP/IP协议实现的实时性,成为业界关注的重要研究方向。TOE接收通道的常规实现方案如图1所示(其中未示出ARP协议、ICMP协议等功能模块),以太网协议功能模块在接收以太网帧的过程中将其中携带的IP报文段缓存,当以太网帧CRC校验字段末尾字节接收完毕(这是传输延迟量定义中的起始时刻),以太网协议功能模块执行CRC校验运算的最后步骤,在确认缓存的IP数据报能通过CRC校验之后,开始向IP协议层上传这个IP数据报;在接收IP数据报的过程中,IP协议功能模块对其首部字段计算校验和,若校验通过,则开始向TCP协议层上传这个IP数据报携带的TCP报文段;在TCP协议功能模块接收TCP报文段的过程中,对其全部数据计算校验和并将解析得到的应用层数据字段存入缓冲区,若校验通过则读取缓冲区、向应用层上传这个TCP报文段携带的应用层数据。TCP连接建立成功之后,TCP报文段携带的应用层数据字段在TOE接收通道中存在传输延迟。业界一般将这个传输延迟量定义为:从携带IP数据报、TCP报文段、应用层数据字段的以太网帧的CRC校验字段末尾字节(亦即以太网帧的最末字节)进入TOE接收通道输入接口的时刻(即图2中的时刻T9)到应用层数据字段首字节离开TOE接收通道输出接口、被发往应用层的时刻之间的时间间隔。由此可见,TOE接收通道的常规实现方案中,传输延迟量为以下几段时间之和:以太网协议功能模块执行CRC校验最后步骤所需的时间,IP协议功能模块接收、解析IP数据报首部及执行校验算法和所需的时间,TCP协议功能模块接收、解析整个TCP报文段及执行校验和算法所需的时间,TCP协议功能模块读取应用层数据字段缓冲区首字节所需的时间。如何减少应用层数据字段在TOE接收通道中的传输延迟量,成为亟待解决的问题。
技术实现思路
本专利技术要解决的技术问题是:提供一种可以在确保对应用层数据字段的解析、校验无误的前提下大幅度降低应用层数据字段在TOE接收通道中的传输延迟量的方法。为了解决上述技术问题,本专利技术提出的技术方案是:一种降低TOE中接收通道传输延迟量的方法,所述TOE包括位于链路层的以太网协议功能模块、位于网络层的IP协议功能模块和位于运输层的TCP协议功能模块,所述TOE在接收以太网帧流的过程中,对每一以太网帧进行解析并验证TCP/IP协议的各级校验和;所述以太网协议功能模块对以太网帧进行解析和处理,得到该以太网帧携带的IP数据报的长度,同时对接收到的以太网帧进行CRC校验和验证;当所述以太网协议功能模块判断即将接收IP数据报时,根据IP数据报的长度将后续接收到的N字节流作为IP数据报发往IP协议功能模块;所述IP协议功能模块对IP数据报首部进行解析和处理,并对IP数据报首部进行校验和验证;当判断即将接收TCP报文段时,将后续接收到的N字节流作为TCP报文段发往TCP协议功能模块;所述TCP协议功能模块对TCP报文段首部进行解析和处理,并对TCP报文段进行校验和验证;当判断即将接收应用层数据字段时,将后续接收到的N字节流作为应用层数据字段发往缓冲存储区;当该太网帧的TCP/IP协议任一级校验和验证失败时,放弃已经接收的以太网帧以及对该以太网帧的各级解析结果;当TCP/IP协议各级的功能字段处理、校验算法执行完毕,并且未发现错误,TCP协议功能模块就可以开始向应用层发送其从TCP报文段中解析出来的、位于缓冲存储区中的应用层数据字段。需要说明的是:严格来说,物理层与链路层之间交换的是比特流。然而,在具体的实现中,包含物理层功能的专用硬件功能模块通常已经实现了8*N比特与N字节(N是自然数)之间的双向变换功能,它与链路层之间交换的是N字节。所以,本专利技术为简化表述,将各层之间交换的数据流称为N字节流,即宽度为N字节的数据流,其中,N可以是任何一个自然数,并且本专利技术中各处出现的“N字节流”中的N值未必是同一个值。本专利技术对TCP/IP协议的数据传输机制进行了改进,在TOE功能模块的接收通道接收输入的原始N字节流、解析以太网帧、执行各级校验的过程中,在尚未完成校验的情况下,一边接收原始N字节流,一边对其中的IP数据报、TCP报文段实施定位、解析,将定位得到的IP报文段直通转发给IP协议功能模块以接受处理,将定位得到的TCP报文段直通转发给TCP协议功能模块以接受处理,从而实现链路层、网络层、运输层的并行工作,此后,一旦各层的功能字段处理、校验算法执行完毕,并且未发现错误,TCP协议功能模块就可以开始向应用层发送其从TCP报文段中解析出来的、暂时予以缓存的上行应用层数据。本专利技术提出的方法使得在以太网帧输入TOE的过程中,TOE接收通道中的各模块依次启动、协同合作、并行运行,等到以太网帧CRC校验字段末尾字节输入TOE模块之时,绝大多数的解析、判断、处理、存储工作已经做完,此时仅仅需要完成剩余的CRC校验运算以及可能剩余的TCP报文段校验和运算(通常仅需两、三个时钟周期),就可以开始读取缓冲存储区中存储的应用层数据字段、将其发往应用层的输入数据接口,这段时间也就是本方法实现的传输延迟量,与
技术介绍
所述现有技术中的传输延迟量相比,本专利技术提出的方法实现了TOE接收通道传输延迟量的大幅度降低。附图说明下面结合附图对本专利技术作进一步说明。图1是TOE接收通道的常规实现方案。图2是本专利技术实施例中以太网帧的解析过程示意图。具体实施方式实施例FPGA具备高速、并行、定时精确、功能灵活的特性,特别适合用于实现TOE。本实施例的方法能够充分发挥FPGA技术的这些特性,将链路层视为本文档来自技高网
...

【技术保护点】
1.一种降低TOE中接收通道传输延迟量的方法,所述TOE包括位于链路层的以太网协议功能模块、位于网络层的IP协议功能模块和位于运输层的TCP协议功能模块,所述TOE在接收以太网帧流的过程中,对每个以太网帧进行解析并验证TCP/IP协议的各级校验和;其特征在于:/n所述以太网协议功能模块对以太网帧进行解析和处理,得到该以太网帧携带的IP数据报的长度,同时对接收到的以太网帧进行CRC校验和验证;当所述以太网协议功能模块判断即将接收IP数据报时,根据IP数据报的长度将后续接收到的N字节流作为IP数据报发往IP协议功能模块;/n所述IP协议功能模块对IP数据报首部进行解析和处理,并对IP数据报首部进行校验和验证;当判断即将接收TCP报文段时,将后续接收到的N字节流作为TCP报文段发往TCP协议功能模块;/n所述TCP协议功能模块对TCP报文段首部进行解析和处理,并对TCP报文段进行校验和验证;当判断即将接收应用层数据字段时,将后续接收到的N字节流作为应用层数据字段发往缓冲存储区;/n当该太网帧的TCP/IP协议任一级校验和验证失败时,放弃已经接收的以太网帧以及对该以太网帧的各级解析结果;/n当TCP/IP协议各级的功能字段处理、校验算法执行完毕,并且未发现错误,TCP协议功能模块就可以开始向应用层发送其从TCP报文段中解析出来的、位于缓冲存储区中的应用层数据字段。/n...

【技术特征摘要】
1.一种降低TOE中接收通道传输延迟量的方法,所述TOE包括位于链路层的以太网协议功能模块、位于网络层的IP协议功能模块和位于运输层的TCP协议功能模块,所述TOE在接收以太网帧流的过程中,对每个以太网帧进行解析并验证TCP/IP协议的各级校验和;其特征在于:
所述以太网协议功能模块对以太网帧进行解析和处理,得到该以太网帧携带的IP数据报的长度,同时对接收到的以太网帧进行CRC校验和验证;当所述以太网协议功能模块判断即将接收IP数据报时,根据IP数据报的长度将后续接收到的N字节流作为IP数据报发往IP协议功能模块;
所述IP协议功能模块对IP数据报首部进行解析和处理,并对IP数据报首部进行校验和验证;当判断即将接收TCP报文段时,将后续接收到的N字节流作为TCP报文段发往TCP协议功能模块;
...

【专利技术属性】
技术研发人员:林伟温士魁王彬滕达曹山刘晓峰
申请(专利权)人:山东产研集成电路产业研究院有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1