本發(fā)明涉及通信信息轉(zhuǎn)發(fā)方法領(lǐng)域,尤其涉及一種適用于ip業(yè)務(wù)的自適應(yīng)低延時(shí)轉(zhuǎn)發(fā)的方法。
背景技術(shù):
現(xiàn)代通信對(duì)業(yè)務(wù)傳輸延時(shí)的要求很高,特別在實(shí)時(shí)性敏感的傳感器控制、音頻、視頻業(yè)務(wù)上,用戶對(duì)延時(shí)指標(biāo)有很低的量化要求。同時(shí),現(xiàn)代通信網(wǎng)絡(luò)都趨向ip化,通信終端設(shè)備的輸入輸出的接口的報(bào)文格式絕大部分都是ip。因此通信網(wǎng)絡(luò)的轉(zhuǎn)發(fā)設(shè)備需要盡可能減少業(yè)務(wù)轉(zhuǎn)發(fā)的延時(shí),特別是ip業(yè)務(wù)的轉(zhuǎn)發(fā)時(shí)延。
通信轉(zhuǎn)發(fā)設(shè)備轉(zhuǎn)發(fā)ip業(yè)務(wù)報(bào)文時(shí),有2個(gè)因素需要考慮:
1)業(yè)務(wù)輸入端口和輸出端口的速率可能不一致,比如高速率端口轉(zhuǎn)發(fā)到低速率端口,或者低速率端口轉(zhuǎn)發(fā)到高速率端口
2)在轉(zhuǎn)發(fā)過(guò)程中,ip報(bào)文不能中斷。
為了滿足以上2個(gè)因素,現(xiàn)有通信設(shè)備都采用“存儲(chǔ)-轉(zhuǎn)發(fā)”方式進(jìn)行轉(zhuǎn)發(fā)處理,具體如下:
無(wú)論從低速率接口往高速率接口(包括同速率)轉(zhuǎn)發(fā),還是高速率往低速率接口轉(zhuǎn)發(fā),都必須等待一個(gè)報(bào)文從接收端口接收完成后,才能啟動(dòng)發(fā)送端口的發(fā)送。
如果不等待一個(gè)報(bào)文接收完成,就啟動(dòng)發(fā)送的話,可能會(huì)出現(xiàn)發(fā)送過(guò)程中出現(xiàn)由于接收速率跟不上發(fā)送速度,導(dǎo)致未完成一個(gè)報(bào)文的發(fā)送就出現(xiàn)了報(bào)文中斷,最終報(bào)文被丟棄,而導(dǎo)致業(yè)務(wù)中斷的問(wèn)題。
因此,現(xiàn)有通信轉(zhuǎn)發(fā)設(shè)備對(duì)ip報(bào)文轉(zhuǎn)發(fā)的延時(shí)大致可以計(jì)算如下:延時(shí)=輸入線路速率周期*報(bào)文長(zhǎng)度。以一個(gè)500字節(jié)ip報(bào)文在1個(gè)1gbps的千兆以太網(wǎng)端口輸入,轉(zhuǎn)發(fā)到一個(gè)622mbpsstm-4的輸出端口為例,轉(zhuǎn)發(fā)延時(shí)為1ns*500*8=4000ns=4us。
為了減少轉(zhuǎn)發(fā)延時(shí),現(xiàn)有通信設(shè)備在輸入和輸出端口的速率相同的情況下,可以采用不存儲(chǔ)立即轉(zhuǎn)發(fā)的方式,但無(wú)法解決不同速率端口轉(zhuǎn)發(fā)的問(wèn)題,只有一些折中的改進(jìn)方法,主要為如下2種方法:
1)提高線路速率,即減少線路速率的周期
2)減少報(bào)文長(zhǎng)度
但這樣的實(shí)現(xiàn)方法也存在很多問(wèn)題:
1)提高線路速率,必須要升級(jí)現(xiàn)有的終端設(shè)備和轉(zhuǎn)發(fā)設(shè)備的硬件,代價(jià)比較大,特別是數(shù)量巨大的終端設(shè)備是需要一個(gè)很漫長(zhǎng)的升級(jí)過(guò)程。
2)每個(gè)報(bào)文都必須攜帶一定長(zhǎng)度的報(bào)文頭,也就是額外開銷,比如一個(gè)ip報(bào)文至少要攜帶20字節(jié)的報(bào)文頭。減少每個(gè)報(bào)文的長(zhǎng)度,意味著要將一個(gè)業(yè)務(wù)分成更多的報(bào)文來(lái)傳輸,也就會(huì)帶來(lái)更多的報(bào)文頭的額外開銷。從而會(huì)帶來(lái)轉(zhuǎn)發(fā)效率和帶寬利用率的下降。同時(shí)帶來(lái)了實(shí)現(xiàn)復(fù)雜度的提高。
技術(shù)實(shí)現(xiàn)要素:
為了克服現(xiàn)有技術(shù)中的缺陷,提供一種適用于ip業(yè)務(wù)的自適應(yīng)低延時(shí)轉(zhuǎn)發(fā)的方法。
本發(fā)明通過(guò)下述方案實(shí)現(xiàn):
一種適用于ip業(yè)務(wù)的自適應(yīng)低延時(shí)轉(zhuǎn)發(fā)的方法,包括以下步驟:接收模塊實(shí)現(xiàn)報(bào)文輸入的接收,發(fā)送模塊實(shí)現(xiàn)報(bào)文輸出的發(fā)送,報(bào)文緩存模塊實(shí)現(xiàn)報(bào)文的緩存,轉(zhuǎn)發(fā)延時(shí)控制模塊根據(jù)輸入、輸出端口的速率,自動(dòng)計(jì)算轉(zhuǎn)發(fā)的最小延時(shí),控制發(fā)送模塊啟動(dòng)發(fā)送的時(shí)間,以完成整個(gè)設(shè)備的轉(zhuǎn)發(fā)。
所述轉(zhuǎn)發(fā)延時(shí)控制模塊以多任務(wù)同時(shí)處理的方式進(jìn)行,每個(gè)任務(wù)處理一個(gè)報(bào)文的轉(zhuǎn)發(fā)延時(shí)控制。
所述轉(zhuǎn)發(fā)延時(shí)控制模塊的單個(gè)任務(wù)的處理流程包括以下步驟:模塊開始后,無(wú)條件跳轉(zhuǎn)到第一步;
第一步:檢查接收模塊是否通知有報(bào)文被接收,如果是,保存報(bào)文的輸入端口速率信息,跳轉(zhuǎn)到第二步;
第二步:提取接收?qǐng)?bào)文的長(zhǎng)度信息,保存起來(lái),跳轉(zhuǎn)到第三步;
第三步:查找接收?qǐng)?bào)文的出端口,保存輸出端口的速率信息,跳轉(zhuǎn)到第四步;
第四步:根據(jù)保存的報(bào)文長(zhǎng)度、輸入端口速率、輸出端口速率,計(jì)算報(bào)文的最小轉(zhuǎn)發(fā)延時(shí),并轉(zhuǎn)換成緩存的發(fā)送門限深度,跳轉(zhuǎn)到第五步;
第五步:監(jiān)控緩存的深度,判斷是否已經(jīng)到達(dá)發(fā)送門限,如果到達(dá),跳轉(zhuǎn)到第六步;
第六步:請(qǐng)求發(fā)送模塊,從緩存中讀出報(bào)文進(jìn)行發(fā)送。
本發(fā)明的有益效果為:
本發(fā)明一種適用于ip業(yè)務(wù)的自適應(yīng)低延時(shí)轉(zhuǎn)發(fā)的方法在不改動(dòng)現(xiàn)有設(shè)備硬件的情況下,能夠自適應(yīng)地匹配輸入和輸出端口的速率,以最小的延時(shí)轉(zhuǎn)發(fā)ip報(bào)文。
附圖說(shuō)明
圖1為本發(fā)明一種適用于ip業(yè)務(wù)的自適應(yīng)低延時(shí)轉(zhuǎn)發(fā)的方法的模塊框圖;
圖2為本發(fā)明一種適用于ip業(yè)務(wù)的自適應(yīng)低延時(shí)轉(zhuǎn)發(fā)的方法中轉(zhuǎn)發(fā)延時(shí)控制模塊的單個(gè)任務(wù)的處理流程圖。
具體實(shí)施方式
下面結(jié)合具體實(shí)施例對(duì)本發(fā)明進(jìn)一步說(shuō)明:
一種適用于ip業(yè)務(wù)的自適應(yīng)低延時(shí)轉(zhuǎn)發(fā)的方法,包括以下步驟:接收模塊實(shí)現(xiàn)報(bào)文輸入的接收,發(fā)送模塊實(shí)現(xiàn)報(bào)文輸出的發(fā)送,報(bào)文緩存模塊實(shí)現(xiàn)報(bào)文的緩存,轉(zhuǎn)發(fā)延時(shí)控制模塊根據(jù)輸入、輸出端口的速率,自動(dòng)計(jì)算轉(zhuǎn)發(fā)的最小延時(shí),控制發(fā)送模塊啟動(dòng)發(fā)送的時(shí)間,以完成整個(gè)設(shè)備的轉(zhuǎn)發(fā)。本發(fā)明的以上方法可以在設(shè)備的可編程器件,如fpga或者cpu上實(shí)現(xiàn),不需要改動(dòng)硬件。
所述轉(zhuǎn)發(fā)延時(shí)控制模塊以多任務(wù)同時(shí)處理的方式進(jìn)行,每個(gè)任務(wù)處理一個(gè)報(bào)文的轉(zhuǎn)發(fā)延時(shí)控制。
所述轉(zhuǎn)發(fā)延時(shí)控制模塊的單個(gè)任務(wù)的處理流程包括以下步驟:模塊開始后,無(wú)條件跳轉(zhuǎn)到第一步;
第一步:檢查接收模塊是否通知有報(bào)文被接收,如果是,保存報(bào)文的輸入端口速率信息,跳轉(zhuǎn)到第二步;
第二步:提取接收?qǐng)?bào)文的長(zhǎng)度信息,保存起來(lái),跳轉(zhuǎn)到第三步;
第三步:查找接收?qǐng)?bào)文的出端口,保存輸出端口的速率信息,跳轉(zhuǎn)到第四步;
第四步:根據(jù)保存的報(bào)文長(zhǎng)度、輸入端口速率、輸出端口速率,計(jì)算報(bào)文的最小轉(zhuǎn)發(fā)延時(shí),并轉(zhuǎn)換成緩存的發(fā)送門限深度,跳轉(zhuǎn)到第五步;
第五步:監(jiān)控緩存的深度,判斷是否已經(jīng)到達(dá)發(fā)送門限,如果到達(dá),跳轉(zhuǎn)到第六步;
第六步:請(qǐng)求發(fā)送模塊,從緩存中讀出報(bào)文進(jìn)行發(fā)送。
計(jì)算報(bào)文最小轉(zhuǎn)發(fā)延時(shí)的方法如下:
1)報(bào)文長(zhǎng)度(pl),單位為bit,這里指報(bào)文需要轉(zhuǎn)發(fā)的部分;
2)輸入端口線路速率(iv),單位為bit/s(比特每秒);
4)輸出端口線路速率(ov),單位為bit/s(比特每秒);
計(jì)算得到所需轉(zhuǎn)發(fā)延時(shí)(dly)的方法為:
1)如果iv>=ov,則計(jì)算得到的dly為0,對(duì)應(yīng)的發(fā)送緩存深度門限為0;
2)如果iv<ov,則計(jì)算得到的dly為(pl/ov-pl/iv),單位為秒,折算的緩存門限為(pl/ov-pl/iv)*iv=(iv/ov-1)*pl。
本發(fā)明一種適用于ip業(yè)務(wù)的自適應(yīng)低延時(shí)轉(zhuǎn)發(fā)的方法在不改動(dòng)現(xiàn)有設(shè)備硬件的情況下,能夠自適應(yīng)地匹配輸入和輸出端口的速率,以最小的延時(shí)轉(zhuǎn)發(fā)ip報(bào)文。以一個(gè)500字節(jié)ip報(bào)文在1個(gè)1gbps的千兆以太網(wǎng)端口輸入,轉(zhuǎn)發(fā)到一個(gè)622mbpsstm-4的輸出端口為例。未實(shí)現(xiàn)本方案前的轉(zhuǎn)發(fā)延時(shí)為1ns*500*8=4000ns=4us,實(shí)現(xiàn)本發(fā)明技術(shù)后的轉(zhuǎn)發(fā)時(shí)延為(1000/622.08-1)*500*8=2.43us,減少了1.57us,也就是減少約40%的延時(shí)。
盡管已經(jīng)對(duì)本發(fā)明的技術(shù)方案做了較為詳細(xì)的闡述和列舉,應(yīng)當(dāng)理解,對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),對(duì)上述實(shí)施例做出修改或者采用等同的替代方案,這對(duì)本領(lǐng)域的技術(shù)人員而言是顯而易見,在不偏離本發(fā)明精神的基礎(chǔ)上所做的這些修改或改進(jìn),均屬于本發(fā)明要求保護(hù)的范圍。