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

技术编号:26693922 阅读:18 留言:0更新日期:2020-12-12 02:50
本发明专利技术涉及一种降低TOE中发送通道传输延迟量的方法,该方法在TOE发送通道将来自应用层的应用层数据字段下传至链路层输出接口的过程中,所述IP协议功能模块、TCP协议功能模块无需等待应用层数据字段传输完毕及TCP报文段校验和计算完成,就执行IP数据报、TCP报文段的组装和下传,在下传数据流中的TCP报文段校验和所处的位置赋以任意值;所述以太网协议功能模块在完成组装以太网帧之前就启动以太网帧的发送,在一边组装一边发送的过程中,在组装到TCP报文段校验和所处位置的时刻,能够从TCP协议功能模块收到TCP报文段校验和。本发明专利技术最大限度地实现了链路层、网络层和运输层各功能模块的并行执行,从而降低了TOE发送通道的传输延迟量。

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

技术介绍
TCP/IP协议是互联网系统的主流通信协议,在众多应用场景中得到采用。实现TCP/IP协议是很多联网运行的设备必须做的工作。实现TCP/IP协议的传统做法是用CPU运行软件,但是运行软件需要占用大量的系统资源,而实现TCP/IP协议的软件通常与处理协议承载的应用数据的软件并行运行,所以,很多情况下,特别是在近年来网络速度越来越高、数据处理任务日渐繁重的情况下,两者之间的资源竞争导致了系统性能受限。与此同时,CPU运行软件具有串行执行指令、时分复用硬件资源、受中断等系统机制制约的特征,这就导致基于软件的TCP/IP协议实现的实时性较差,具体表现为端到端的延迟量较大、延迟量的可预测性低。与此相对应,通信系统的高实时性,却是很多高性能应用场景的关键需求之一。TOE把TCP/IP协议“卸载”到硬件中,即实现所谓TCP/IPOffloadEngine(简称TOE,即“TCP/IP卸载引擎”),以腾出更多系统资源给应用层软件,同时提高TCP/IP协议实现的实时性,成为业界关注的重要研究方向。TOE对TCP/IP协议栈进行扩展,使部分TCP/IP协议从CPU转移到TOE硬件(通常包括位于链路层的以太网协议功能模块、位于网络层的IP协议功能模块和位于运输层的TCP协议功能模块,以及ARP协议、ICMP协议等功能模块),以减轻CPU的负担。TOE发送通道的常规实现方案如图1所示(其中未示出ARP协议、ICMP协议等功能模块),TCP协议功能模块接收应用算法功能模块下传的一段数据,将其存储在缓冲存储区中,在接收应用层数据字段的同时,计算其中可在首个TCP报文段中发送的部分字段的校验和,然后引用这个检验和、依据TCP报文段格式组装TCP报文段首部,连同从缓冲存储区中读出来的应用层数据字段一起,形成完整的TCP报文段、以字节流的形式发往IP协议功能模块,同时将TCP报文段的长度发往IP协议功能模块;IP协议功能模块结合TCP报文段的长度值计算IP数据报首部校验和、依据IP数据报报文格式组装形成完整的IP数据报首部,连同TCP报文段一起,发往以太网协议功能模块。以太网协议功能模块按照以太网帧格式组装包含了完整的IP数据报的以太网帧,计算CRC校验值,以字节流的形式发往以太网协议功能模块的数据输出端口。TCP连接建立成功之后,携带有IP数据报、TCP报文段以及应用层数据的以太网帧在TOE发送通道中存在传输延迟。业界一般将这个传输延迟量定义为:对于某段待发送应用层数据字段,从它的末尾字节进入TOE模块下行通道数据输入接口的时刻到包含此段应用层数据以及相关TCP报文段、IP数据报的以太网帧的首字节(不包括前导字段)离开TOE模块下行通道数据输出接口的时刻之间的时间间隔。如何减少应用层数据字段在TOE发送通道中的传输延迟量,成为亟待解决的问题。
技术实现思路
本专利技术要解决的技术问题是:提供一种可以大幅度降低应用层数据字段在TOE发送通道中的传输延迟量的方法。为了解决上述技术问题,本专利技术提出的技术方案是:一种降低TOE中发送通道传输延迟量的方法,所述TOE包括位于链路层的以太网协议功能模块、位于网络层的IP协议功能模块和位于运输层的TCP协议功能模块,所述TOE在发送以太网帧流的过程中,所述TCP协议功能模块、IP协议功能模块、以太网协议功能模块获知TCP连接两侧设备的端口号、IP地址和MAC地址,分别写入待发送的TCP报文段、IP数据报和以太网帧;在TOE发送通道将来自应用层的应用层数据字段下传至链路层输出接口的过程中,所述IP协议功能模块、TCP协议功能模块无需等待应用层数据字段传输完毕及TCP报文段校验和计算完成,就执行IP数据报、TCP报文段的组装和下传,在下传数据流中的TCP报文段校验和所处的位置赋以任意值;所述以太网协议功能模块在完成组装以太网帧之前就启动以太网帧的发送,在一边组装一边发送的过程中,在组装到TCP报文段校验和的时刻之前,能够从TCP协议功能模块收到TCP报文段校验和,从而确保了不会因为在完成各级协议报文段的组装工作完成之前启动了以太网帧的发送而导致组装、发送过程中出现等待数据、进而导致报文不连续的情况。现有技术中,TOE下行通道的各层报文段的组装工作要在下行应用层数据字段传输完成的时刻之后才能启动,致使链路层启动以太网帧发送的时刻晚于用层数据字段传输完成的时刻。本专利技术通过先传输数据(同时计算校验和),后传输校验和的方法,最大限度地实现了链路层、网络层和运输层各功能模块的并行执行,使得在应用层数据字段传输尚末完成时,链路层便启动以太网帧的发送工作,从而降低了TOE发送通道的传输延迟量。需要说明的是:严格来说,物理层与链路层之间交换的是比特流。然而,在具体的实现中,包含物理层功能的专用硬件功能模块通常已经实现了8*N比特与N字节(N是自然数)之间的双向变换功能,它与链路层之间交换的是N字节。所以,本专利技术为简化表述,将各层之间交换的数据流称为N字节流,即宽度为N字节的数据流,其中,N可以是任何一个自然数,并且本专利技术中各处出现的“N字节流”中的N值未必是同一个值。附图说明下面结合附图对本专利技术作进一步说明。图1是TOE发送通道的常规实现方案。具体实施方式实施例FPGA具备高速、并行、定时精确、功能灵活的特性,特别适合用于实现TOE。本实施例的方法能够充分发挥FPGA技术的这些特性,将链路层视为TOE的组成部分予以统一考虑,以降低发送通道应用层数据的传输延迟量。因此,本实施例优选采用FPGA实现TOE。本实施例中,如图1所示,TOE包括位于链路层的以太网协议功能模块、位于网络层的IP协议功能模块和位于运输层的TCP协议功能模块(TOE中还包括ARP协议、ICMP协议等辅助功能模块,但因辅助功能模块不影响本专利技术的创新点,故在图1中并未示出)。所述TOE在发送以太网帧流的过程中,TCP连接建立成功之后,所述TCP协议功能模块、IP协议功能模块、以太网协议功能模块获知TCP连接两侧设备的端口号、IP地址和MAC地址,分别写入待发送的TCP报文段、IP数据报和以太网帧,此为现有技术,可参考相关文献,不再赘述。本实施例中,在TOE发送通道将来自应用层的应用层数据字段下传至链路层输出接口的过程中,所述IP协议功能模块、TCP协议功能模块无需等待应用层数据字段传输完毕及TCP报文段校验和计算完成,就执行IP数据报、TCP报文段的组装和下传,在下传数据流中的TCP报文段校验和所处的位置赋以任意值;所述以太网协议功能模块在完成组装以太网帧之前就启动以太网帧的发送,在一边组装一边发送的过程中,在组装到TCP报文段校验和的位置之前,能够从TCP协议功能模块收到TCP报文段校验和,从而确保了不会因为在完成各级协议报文段的组装工作完成之前启动了以太网帧的发送而导致组装、发送过程中出现等待数据本文档来自技高网
...

【技术保护点】
1.一种降低TOE中发送通道传输延迟量的方法,所述TOE包括位于链路层的以太网协议功能模块、位于网络层的IP协议功能模块和位于运输层的TCP协议功能模块,所述TOE在发送以太网帧流的过程中,所述TCP协议功能模块、IP协议功能模块、以太网协议功能模块获知TCP连接两侧设备的端口号、IP地址和MAC地址,分别写入待发送的TCP报文段、IP数据报和以太网帧;其特征在于:/n在TOE发送通道将来自应用层的应用层数据字段下传至链路层输出接口的过程中,所述IP协议功能模块、TCP协议功能模块无需等待应用层数据字段传输完毕及TCP报文段校验和计算完成,就执行IP数据报、TCP报文段的组装和下传,在下传数据流中的TCP报文段校验和所处的位置赋以任意值;所述以太网协议功能模块在完成组装以太网帧之前就启动以太网帧的发送,在一边组装一边发送的过程中,在组装到TCP报文段校验和所处位置之前,能够从TCP协议功能模块收到TCP报文段校验和。/n

【技术特征摘要】
1.一种降低TOE中发送通道传输延迟量的方法,所述TOE包括位于链路层的以太网协议功能模块、位于网络层的IP协议功能模块和位于运输层的TCP协议功能模块,所述TOE在发送以太网帧流的过程中,所述TCP协议功能模块、IP协议功能模块、以太网协议功能模块获知TCP连接两侧设备的端口号、IP地址和MAC地址,分别写入待发送的TCP报文段、IP数据报和以太网帧;其特征在于:
在TOE发送通道将来自应用层的应用层数据字段下传至链路层输出接口的过程中,所述IP协议功能模块、TCP协议功能模块无需等待应用层数据字段传输完毕及TCP报文段校验和计算完成,就执行IP数据报、TCP报文段的组装和下传,在下传数据流中的TCP报文段校验和所处的位置赋以任意值;所述以太网协议功能模块在完成组装以太网帧之前就启动以太网帧的发送,在一边组装一边发送的过程中,在组装到TCP报文段校验和所处位置之前,能够从TCP协议功能模块收到TCP报文段校验和。


2.根据权利要求1所述的降低TOE中发送通道传输延迟量的方法,其特征在于:
令L1为TCP报文段中携带的应用层数据字段的长度,
S为TOE各层之间传输数据的速率,
Sd为TCP协议功能模块接收应用层数据字段的速率,
D1为自不包括前导字段的以太网帧首字节至TCP报文段中位于校验和之前的最末字节的数据长度,
T0为TCP协议功能模块接收完长度为L1的应用层数据字段的时刻,
T1为...

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

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

1