摘要:因為業(yè)務(wù)的復雜性和接口的多樣性要求,低端路由器一直采用CPU作為轉(zhuǎn)發(fā)引擎和業(yè)務(wù)處理引擎,這一體系結(jié)構(gòu)一直延續(xù)至今。但目前網(wǎng)絡(luò)寬帶化已經(jīng)成為主流,路由器的組網(wǎng)環(huán)境也發(fā)生了很大變化。從最初的低速廣域網(wǎng)鏈路,發(fā)展到2MbpsE1、N×2Mbps、甚至155Mbps,同時寬帶城域網(wǎng)的發(fā)展,也使以太網(wǎng)的上連接口快速普及,對路由器的性能要求日益
因為業(yè)務(wù)的復雜性和接口的多樣性要求,低端路由器一直采用CPU作為轉(zhuǎn)發(fā)引擎和業(yè)務(wù)處理引擎,這一體系結(jié)構(gòu)一直延續(xù)至今。但目前網(wǎng)絡(luò)寬帶化已經(jīng)成為主流,路由器的組網(wǎng)環(huán)境也發(fā)生了很大變化。從最初的低速廣域網(wǎng)鏈路,發(fā)展到2Mbps E1、N×2Mbps、甚至155Mbps,同時寬帶城域網(wǎng)的發(fā)展,也使以太網(wǎng)的上連接口快速普及,對路由器的性能要求日益增高。另一方面,低端路由器的業(yè)務(wù)功能也有了很大發(fā)展,從最初的基本異種網(wǎng)絡(luò)互連和IP報文轉(zhuǎn)發(fā),發(fā)展到對NAT/ACL濾、策略路由、QoS、VoIP、VPN、DLSW、啞終端等業(yè)務(wù)的支持。低端路由器上業(yè)務(wù)功能的豐富性和處理性能的高速化之間的矛盾日益突出。
其中,低端路由器的性能難題已經(jīng)成為各網(wǎng)絡(luò)廠家攻關(guān)的重點之一。在低端路由器領(lǐng)域,各主流廠家采用的硬件方案都大同小異。產(chǎn)品開發(fā)完成后,硬件結(jié)構(gòu)就基本趨于穩(wěn)定。此時,從軟件優(yōu)化方面來提升路由器的轉(zhuǎn)發(fā)和業(yè)務(wù)處理性能,成為最主要的途徑。通過研究路由器轉(zhuǎn)發(fā)算法,分析其轉(zhuǎn)發(fā)流程中的瓶頸所在,可以在相同的硬件平臺上,大幅度提升低端路由器的處理性能。
低端路由器的軟件總體架構(gòu),基本上都參考了Unix平臺的IP協(xié)議棧來實現(xiàn)。其底層的收發(fā)過程在硬件中斷中處理的,性能比較快。但任務(wù)切換消耗資源大,報文處理過程中的任務(wù)切換消耗CPU的資源。在內(nèi)存分配算法方面,路由器的轉(zhuǎn)發(fā)原理是緩存轉(zhuǎn)發(fā),報文入任務(wù)隊列時,需要將底層收發(fā)上來的報文信息拷貝到內(nèi)存中,這一過程中,不同的內(nèi)存分配算法,對硬件資源的消耗有一定區(qū)別。在路由查找、NAT、ACL、QoS等業(yè)務(wù)的處理過程中,各個業(yè)務(wù)模塊的軟件設(shè)計,對總體性能均有影響。
在通過系統(tǒng)仿真分析了路由器通常轉(zhuǎn)發(fā)流程的性能瓶頸點所在之后,針對中低端路由器產(chǎn)品設(shè)計開發(fā)的新技術(shù)“快速流交換”(Fast Flow Switch,FFS)算法對轉(zhuǎn)發(fā)流程和業(yè)務(wù)處理流程進行了優(yōu)化,使得路由器處理性能大幅度提升。FFS技術(shù)的核心在于,它把關(guān)鍵處理過程下移,在硬件中斷里實現(xiàn)流分類、流交換,結(jié)合普通的快速轉(zhuǎn)發(fā)算法,減少了系統(tǒng)內(nèi)部任務(wù)間切換和內(nèi)存、緩存管理引起的資源消耗,從而提升了整個系統(tǒng)的處理性能。FFS對原有轉(zhuǎn)發(fā)流程進行了優(yōu)化:保持底層數(shù)據(jù)收發(fā)在硬件中斷處理中的高效性;在硬件中斷中實現(xiàn)報文快速交換,避免報文轉(zhuǎn)發(fā)處理過程中的軟件任務(wù)切換,提升報文轉(zhuǎn)發(fā)的效率;對內(nèi)存分配算法進行優(yōu)化,針對IP報文的特點,在內(nèi)存中開辟獨立的快速緩存區(qū),實現(xiàn)IP報文的快速緩存;在快速轉(zhuǎn)發(fā)處理引擎中,采用流交換的方式對報文進行處理,F(xiàn)FS設(shè)計快速交換流表,在統(tǒng)一的業(yè)務(wù)處理引擎中,同時實現(xiàn)轉(zhuǎn)發(fā)、NAT、ACL等業(yè)務(wù)的處理。
通信工程師備考資料免費領(lǐng)取
去領(lǐng)取