本發明涉及通信信息轉發方法領域,尤其涉及一種適用于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%的延時。
盡管已經對本發明的技術方案做了較為詳細的闡述和列舉,應當理解,對于本領域技術人員來說,對上述實施例做出修改或者采用等同的替代方案,這對本領域的技術人員而言是顯而易見,在不偏離本發明精神的基礎上所做的這些修改或改進,均屬于本發明要求保護的范圍。