路由器技術綜述
路由器軟件一般實現(xiàn)路由協(xié)議功能、查表轉發(fā)功能和管理維護等其他功能。由于互聯(lián)網(wǎng)規(guī)模龐大,運行在互聯(lián)網(wǎng)上路由器中的路由表非常巨大,可能包含幾十萬條路由。查表轉發(fā)工作可想而知非常繁重。在高端路由器中上述功能通常由ASIC芯片硬件實現(xiàn)。
路由軟件的高復雜性另一方面體現(xiàn)在高可靠性、高可用性以及魯棒性。實現(xiàn)路由軟件的功能并不復雜,在免費共享軟件中我們甚至可以得到路由協(xié)議和數(shù)據(jù)轉發(fā)的實現(xiàn)源碼。但是難點在于需要該軟件每年365天,每天24小時高效可靠地運行。
在路由器研制過程中,可以通過購買商用源碼等形式迅速實現(xiàn)路由器。但是通常認為路由器軟件需要一年甚至兩年的時間來穩(wěn)定。
可編程ASIC
ASIC芯片是專用集成電路,是當前路由器實現(xiàn)線速轉發(fā)數(shù)據(jù)的的核心技術。可編程ASIC將多項功能集中到一個芯片上,具有設計簡單、可靠性高、電源消耗少等優(yōu)點,能使設備得到更高的性能和更低的成本。
通過ASIC芯片的使用,還可以增加設備端口密度。使用ASIC芯片的端口密度是使用通用芯片時端口密度的數(shù)倍。
可編程ASIC芯片的設計是當前高性能路由器實現(xiàn)的硬件保證。
路由器接口
路由器接口用作將路由器連接到網(wǎng)絡,可以分為局域網(wǎng)接口及廣域網(wǎng)接口兩種。局域網(wǎng)接口主要包括以太網(wǎng)(10M、100M和1000M以太網(wǎng))、令牌環(huán)、令牌總線、FDDI等網(wǎng)絡接口。廣域網(wǎng)主要包括E1/T1、E3/T3、DS3、通用串行口(可轉換成X.21 DTE/DCE、V.35 DTE/DCE、RS?232 DTE/DCE、RS?449 DTE/DCE、EIA530 DTE)ATM接口、POS接口等網(wǎng)絡接口。
當前路由器接口技術較成熟,難點在于高密度接口板的設計與制作和高速接口(大于/等于2.5Gbps)的實現(xiàn)。
路由協(xié)議
路由器路由協(xié)議的實現(xiàn)是路由器軟件中重要組成部分。路由協(xié)議用作建立以及維護路由表。路由表用于為每個IP包選擇輸出端口或下一跳地址。開放的路由協(xié)議主要包含RIP/RIPv2、OSPF、IS-IS和BGP4。
RIP/RIPv2、OSPF和IS-IS作為域內路由協(xié)議,一般用在AS(自治系統(tǒng))內部,用于在AS內部計算以及交換網(wǎng)絡可達性消息。RIP/RIPv2是距離向量路由協(xié)議,一般用于企業(yè)內部小規(guī)模網(wǎng)絡。OSPF和IS-IS協(xié)議原理和實現(xiàn)都類似,是鏈路狀態(tài)協(xié)議,一般用于大規(guī)模企業(yè)網(wǎng)或運營商網(wǎng)絡。
BGP4協(xié)議基于距離向量,是當前AS間路由協(xié)議的唯一選擇。通常BGP交換大量網(wǎng)絡可達性消息,是IP網(wǎng)上重要協(xié)議。
路由協(xié)議的實現(xiàn)與路由器軟件要求相似,需要實現(xiàn)高可靠、高穩(wěn)定、魯棒性以及安全性。路由器性能
路由器性能通常主要包含如下內容:
背板能力:通常指路由器背板容量或者總線能力。
吞吐量:指路由器包轉發(fā)能力。
丟包率:指路由器在穩(wěn)定的持續(xù)負荷下由于資源缺少在應該轉發(fā)的數(shù)據(jù)包中不能轉發(fā)的數(shù)據(jù)包所占比例。
轉發(fā)時延:指需轉發(fā)的數(shù)據(jù)包最后一比特進入路由器端口到該數(shù)據(jù)包第一比特出現(xiàn)在端口鏈路上的時間間隔。
路由表容量:指路由器運行中可以容納的路由數(shù)量。
可靠性:指路由器可用性、無故障工作時間和故障恢復時間等指標。
路由器隊列管理機制
由于路由器是基于分組交換的設備,在每個端口上帶寬統(tǒng)計復用,所以路由器必須在端口上維護一個或多個隊列,否則路由器無法處理多個數(shù)據(jù)包同時向同一端口轉發(fā)以及端口上QoS能力等問題。隊列管理算法的好壞直接影響路由器性能、QoS能力以及擁塞管理能力。通常隊列管理算法分為基于時標算法、基于輪轉算法以及基于優(yōu)先級隊列等。
基于時標的分組調度算法都有相同的形式,它們?yōu)槊總€分組維持兩個時標,一個命名為起始時標(start time-stamp),一個命名為完成時標(finish time-stamp)。路由器根據(jù)上述時標來決定下一轉發(fā)數(shù)據(jù)包?;跁r標的算法最常見的有WFQ、WF2Q等。
另一類調度算法是基于輪轉調度機制的,它們的工作原理與操作系統(tǒng)里的多任務輪轉調度有類似之處?;谳嗈D的調度算法通常有WRR、DRR等。
基于優(yōu)先級的隊列管理能根據(jù)預先規(guī)定或用戶指定的優(yōu)先級,調度不同隊列的數(shù)據(jù)包轉發(fā)。
路由器通常還在隊列中使用RED(隨即早期偵測)、WRED(加權隨即早期偵測)等機制來避免擁塞。
MPLS技術
評論