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