本发明涉及通信信息转发方法领域,尤其涉及一种适用于ip业务的自适应低延时转发的方法。
背景技术:
现代通信对业务传输延时的要求很高,特别在实时性敏感的传感器控制、音频、视频业务上,用户对延时指标有很低的量化要求。同时,现代通信网络都趋向ip化,通信终端设备的输入输出的接口的报文格式绝大部分都是ip。因此通信网络的转发设备需要尽可能减少业务转发的延时,特别是ip业务的转发时延。
通信转发设备转发ip业务报文时,有2个因素需要考虑:
1)业务输入端口和输出端口的速率可能不一致,比如高速率端口转发到低速率端口,或者低速率端口转发到高速率端口
2)在转发过程中,ip报文不能中断。
为了满足以上2个因素,现有通信设备都采用“存储-转发”方式进行转发处理,具体如下:
无论从低速率接口往高速率接口(包括同速率)转发,还是高速率往低速率接口转发,都必须等待一个报文从接收端口接收完成后,才能启动发送端口的发送。
如果不等待一个报文接收完成,就启动发送的话,可能会出现发送过程中出现由于接收速率跟不上发送速度,导致未完成一个报文的发送就出现了报文中断,最终报文被丢弃,而导致业务中断的问题。
因此,现有通信转发设备对ip报文转发的延时大致可以计算如下:延时=输入线路速率周期*报文长度。以一个500字节ip报文在1个1gbps的千兆以太网端口输入,转发到一个622mbpsstm-4的输出端口为例,转发延时为1ns*500*8=4000ns=4us。
为了减少转发延时,现有通信设备在输入和输出端口的速率相同的情况下,可以采用不存储立即转发的方式,但无法解决不同速率端口转发的问题,只有一些折中的改进方法,主要为如下2种方法:
1)提高线路速率,即减少线路速率的周期
2)减少报文长度
但这样的实现方法也存在很多问题:
1)提高线路速率,必须要升级现有的终端设备和转发设备的硬件,代价比较大,特别是数量巨大的终端设备是需要一个很漫长的升级过程。
2)每个报文都必须携带一定长度的报文头,也就是额外开销,比如一个ip报文至少要携带20字节的报文头。减少每个报文的长度,意味着要将一个业务分成更多的报文来传输,也就会带来更多的报文头的额外开销。从而会带来转发效率和带宽利用率的下降。同时带来了实现复杂度的提高。
技术实现要素:
为了克服现有技术中的缺陷,提供一种适用于ip业务的自适应低延时转发的方法。
本发明通过下述方案实现:
一种适用于ip业务的自适应低延时转发的方法,包括以下步骤:接收模块实现报文输入的接收,发送模块实现报文输出的发送,报文缓存模块实现报文的缓存,转发延时控制模块根据输入、输出端口的速率,自动计算转发的最小延时,控制发送模块启动发送的时间,以完成整个设备的转发。
所述转发延时控制模块以多任务同时处理的方式进行,每个任务处理一个报文的转发延时控制。
所述转发延时控制模块的单个任务的处理流程包括以下步骤:模块开始后,无条件跳转到第一步;
第一步:检查接收模块是否通知有报文被接收,如果是,保存报文的输入端口速率信息,跳转到第二步;
第二步:提取接收报文的长度信息,保存起来,跳转到第三步;
第三步:查找接收报文的出端口,保存输出端口的速率信息,跳转到第四步;
第四步:根据保存的报文长度、输入端口速率、输出端口速率,计算报文的最小转发延时,并转换成缓存的发送门限深度,跳转到第五步;
第五步:监控缓存的深度,判断是否已经到达发送门限,如果到达,跳转到第六步;
第六步:请求发送模块,从缓存中读出报文进行发送。
本发明的有益效果为:
本发明一种适用于ip业务的自适应低延时转发的方法在不改动现有设备硬件的情况下,能够自适应地匹配输入和输出端口的速率,以最小的延时转发ip报文。
附图说明
图1为本发明一种适用于ip业务的自适应低延时转发的方法的模块框图;
图2为本发明一种适用于ip业务的自适应低延时转发的方法中转发延时控制模块的单个任务的处理流程图。
具体实施方式
下面结合具体实施例对本发明进一步说明:
一种适用于ip业务的自适应低延时转发的方法,包括以下步骤:接收模块实现报文输入的接收,发送模块实现报文输出的发送,报文缓存模块实现报文的缓存,转发延时控制模块根据输入、输出端口的速率,自动计算转发的最小延时,控制发送模块启动发送的时间,以完成整个设备的转发。本发明的以上方法可以在设备的可编程器件,如fpga或者cpu上实现,不需要改动硬件。
所述转发延时控制模块以多任务同时处理的方式进行,每个任务处理一个报文的转发延时控制。
所述转发延时控制模块的单个任务的处理流程包括以下步骤:模块开始后,无条件跳转到第一步;
第一步:检查接收模块是否通知有报文被接收,如果是,保存报文的输入端口速率信息,跳转到第二步;
第二步:提取接收报文的长度信息,保存起来,跳转到第三步;
第三步:查找接收报文的出端口,保存输出端口的速率信息,跳转到第四步;
第四步:根据保存的报文长度、输入端口速率、输出端口速率,计算报文的最小转发延时,并转换成缓存的发送门限深度,跳转到第五步;
第五步:监控缓存的深度,判断是否已经到达发送门限,如果到达,跳转到第六步;
第六步:请求发送模块,从缓存中读出报文进行发送。
计算报文最小转发延时的方法如下:
1)报文长度(pl),单位为bit,这里指报文需要转发的部分;
2)输入端口线路速率(iv),单位为bit/s(比特每秒);
4)输出端口线路速率(ov),单位为bit/s(比特每秒);
计算得到所需转发延时(dly)的方法为:
1)如果iv>=ov,则计算得到的dly为0,对应的发送缓存深度门限为0;
2)如果iv<ov,则计算得到的dly为(pl/ov-pl/iv),单位为秒,折算的缓存门限为(pl/ov-pl/iv)*iv=(iv/ov-1)*pl。
本发明一种适用于ip业务的自适应低延时转发的方法在不改动现有设备硬件的情况下,能够自适应地匹配输入和输出端口的速率,以最小的延时转发ip报文。以一个500字节ip报文在1个1gbps的千兆以太网端口输入,转发到一个622mbpsstm-4的输出端口为例。未实现本方案前的转发延时为1ns*500*8=4000ns=4us,实现本发明技术后的转发时延为(1000/622.08-1)*500*8=2.43us,减少了1.57us,也就是减少约40%的延时。
尽管已经对本发明的技术方案做了较为详细的阐述和列举,应当理解,对于本领域技术人员来说,对上述实施例做出修改或者采用等同的替代方案,这对本领域的技术人员而言是显而易见,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。