摘要:通信工程師交換技術(shù)考試路由器的基本結(jié)構(gòu):路由器是一種具有多個(gè)輸人端口和多個(gè)輸出端口的分組交換設(shè)備,其基本任務(wù)是實(shí)現(xiàn)IP分組的存儲(chǔ)轉(zhuǎn)發(fā)。這就是說(shuō),路由器要從各個(gè)輸入端口接收IP分組,分析每個(gè)分組的首部,按照分組的目的地址的網(wǎng)絡(luò)前綴(即目的網(wǎng)絡(luò)地址),查找路由表,獲得分組的下一節(jié)點(diǎn)地址,將分組從某個(gè)合適的輸出端口轉(zhuǎn)發(fā)給下一跳路由器。
7.5.2 路由器的基本結(jié)構(gòu)
路由器是一種具有多個(gè)輸人端口和多個(gè)輸出端口的分組交換設(shè)備,其基本任務(wù)是實(shí)現(xiàn)IP分組的存儲(chǔ)轉(zhuǎn)發(fā)。這就是說(shuō),路由器要從各個(gè)輸入端口接收IP分組,分析每個(gè)分組的首部,按照分組的目的地址的網(wǎng)絡(luò)前綴(即目的網(wǎng)絡(luò)地址),查找路由表,獲得分組的下一節(jié)點(diǎn)地址,將分組從某個(gè)合適的輸出端口轉(zhuǎn)發(fā)給下一跳路由器。下一跳路由器也按照同樣的方法處理分組,直到該分組到達(dá)目的網(wǎng)絡(luò)。圖7-35所示為一種典型的路由器結(jié)構(gòu)框圖。
從圖7-35可以看出,整個(gè)路由器可以劃分為兩大部分:路由選擇部分和分組轉(zhuǎn)發(fā)部分。路由選擇部分也叫做控制部分,其核心構(gòu)件是路由選擇處理器。路由選擇處理器的任務(wù)是根據(jù)所選定的路由協(xié)議建立路由表,經(jīng)常或定期地與相鄰路由器交換路由信息,而不斷地更新和維護(hù)路由表。關(guān)于怎樣根據(jù)路由協(xié)議建立和更新路由表的問(wèn)題,在7.3節(jié)已經(jīng)討論過(guò)了。
分組轉(zhuǎn)發(fā)部分是本節(jié)討論的主題,它由三部分組成:交換網(wǎng)絡(luò)、一組輸人端口和一組輸出端口。下面分別討論之。
交換網(wǎng)絡(luò)(Switching Fabric)的作用就是根據(jù)轉(zhuǎn)發(fā)表(Forwarding Table)對(duì)分組進(jìn)行處理,將從某個(gè)輸人端口接收的分組轉(zhuǎn)發(fā)到一個(gè)合適的輸出端口。需要指出,這里所說(shuō)的“交換網(wǎng)絡(luò)”,是指包含在路由器內(nèi)部的用于連接各輸人端U和輸出端口的網(wǎng)絡(luò),因此交換網(wǎng)絡(luò)是“路由器的內(nèi)連網(wǎng)絡(luò)”。
這里需要說(shuō)明轉(zhuǎn)發(fā)表與路由表的區(qū)別。路由表是根據(jù)路由協(xié)議得出的。路由表一般僅包含目的網(wǎng)絡(luò)地址與下一跳節(jié)點(diǎn)地址的映射關(guān)系。而轉(zhuǎn)發(fā)表是從路由表得出來(lái)的。轉(zhuǎn)發(fā)表必須包含完成轉(zhuǎn)發(fā)功能所必須的信息。這就是說(shuō),在轉(zhuǎn)發(fā)表的每一行必須包含要到達(dá)的目的網(wǎng)絡(luò)地址、相應(yīng)的輸出端口號(hào)和某些MAC幀的地址信息(如下一跳的以太網(wǎng)地址)。MAC地址需要通過(guò)ARP才能得到。將轉(zhuǎn)發(fā)表和路由表用不同的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)會(huì)帶來(lái)一些好處,這是因?yàn)樵谵D(zhuǎn)發(fā)分組時(shí),轉(zhuǎn)發(fā)表的結(jié)構(gòu)應(yīng)當(dāng)使查找過(guò)程最優(yōu)化,但路由表的結(jié)構(gòu)則需要針對(duì)網(wǎng)絡(luò)拓?fù)渥兓挠?jì)算最優(yōu)化。路由表總是用軟件實(shí)現(xiàn)的。但轉(zhuǎn)發(fā)表為了保證髙速轉(zhuǎn)發(fā),需要采用特殊的硬件來(lái)實(shí)現(xiàn)。請(qǐng)讀者注意,在討論路由選擇原理時(shí),往往不去區(qū)分轉(zhuǎn)發(fā)表和路由表,而是籠統(tǒng)地使用路由表這一名詞。
在路由器的輸人和輸出端口里面都各有3個(gè)方框,用方框中的1,2和3分別代表物理層、數(shù)據(jù)鏈路層和網(wǎng)絡(luò)層的處理模塊。在輸人端口,物理層實(shí)現(xiàn)比特流的接收;數(shù)據(jù)鏈路層則按照鏈路層協(xié)議接收裝有分組的幀;在將接收幀的首部和尾部剝?nèi)ズ?,分組就被送人網(wǎng)絡(luò)層的處理模塊。若接收到的分組是路由器之間交換路由信息的分組(如OSPF或BGP分組),則將這種分組送交路由器的路由選擇部分。若接收到的是數(shù)據(jù)分組,則按照分組首部中的目的地址査找轉(zhuǎn)發(fā)表,根據(jù)得出的結(jié)果,讓數(shù)據(jù)分組經(jīng)過(guò)交換網(wǎng)絡(luò)到達(dá)合適的輸出端口。在輸出端口,再將分組裝人幀,通過(guò)物理層變成比特流發(fā)送到輸出鏈路上。上述路由器的輸人端口和輸出端口的功能主要在路由器的線路接口卡中實(shí)現(xiàn)。
轉(zhuǎn)發(fā)表的査找及緊接著的轉(zhuǎn)發(fā)操作是路由器實(shí)現(xiàn)分組交換功能中最重要的操作。為了使交換功能分散化,往往將復(fù)制的轉(zhuǎn)發(fā)表放在每一個(gè)輸人端口中(如圖7-35中的虛線箭頭所示)。路由選擇處理器負(fù)責(zé)對(duì)各轉(zhuǎn)發(fā)表的副本進(jìn)行更新。分散化交換可以避免在路由器中的某一點(diǎn)上出現(xiàn)瓶頸。
以上介紹的查找轉(zhuǎn)發(fā)表和轉(zhuǎn)發(fā)分組的概念雖然并不復(fù)雜,但在具體的賣(mài)現(xiàn)中還是會(huì)遇到不少困難。問(wèn)題就在于路由器必須以很高的速率轉(zhuǎn)發(fā)分組。最理想的情況是路由器轉(zhuǎn)發(fā)分組的速率能夠跟上分組到達(dá)路由器的線路速率,稱(chēng)這種速率為“線速”(linespeed或wirespeed)。可以粗略地估算一下。設(shè)傳輸鏈路是STM-16的光纖線路,即傳輸速率為2.5Gbit/8。若分組長(zhǎng)度為256宇節(jié),那么線速就相當(dāng)于每秒要處理100萬(wàn)個(gè)以上的分組。現(xiàn)在常用Mpps(百萬(wàn)分組每秒)為單位來(lái)衡童一個(gè)路由器對(duì)收到的分組的處理速率。在路由器的設(shè)計(jì)中,怎樣提髙查找轉(zhuǎn)發(fā)表的速率已經(jīng)成為一個(gè)十分重要的研究課題。本章所說(shuō)的非連接型快速分組交換主要是指以線速轉(zhuǎn)發(fā)IP分組的分組交換。由于分組到達(dá)輸人端口的隨機(jī)性,當(dāng)一個(gè)分組正在查找轉(zhuǎn)發(fā)表時(shí),很可能后面又緊跟著到達(dá)另一個(gè)分組。這個(gè)后到的分組就必須在隊(duì)列中排隊(duì)等待,因而產(chǎn)生了一定的時(shí)延。圖7-36所示為在輸人端口的隊(duì)列中排隊(duì)等待的分組。
下面再來(lái)觀察在輸出端口會(huì)出現(xiàn)什么情況(如圖7-37所示)。輸出端口從交換網(wǎng)絡(luò)接收分組。在網(wǎng)絡(luò)層的處理模塊中設(shè)有一個(gè)緩存器。當(dāng)交換網(wǎng)絡(luò)轉(zhuǎn)發(fā)過(guò)來(lái)的分組的速率超過(guò)輸出鏈路的傳輸速率時(shí),來(lái)不及輸出的分組就必須暫時(shí)存放在這個(gè)隊(duì)列中。數(shù)據(jù)鏈路層處理模塊將分組加上鏈路層幀的首部和尾部,交給物理層后發(fā)送到外部線路。
從以上的討論可以看出,分組在路由器的輸人端口和輸出端口都可能會(huì)在隊(duì)列中排隊(duì)等候處理。若分組處理的速率趕不上分組進(jìn)人隊(duì)列的速率,則隊(duì)列的存儲(chǔ)空間最終必定減小到零,這就使后面再進(jìn)入隊(duì)列的分組由于沒(méi)有存儲(chǔ)空間而只能被丟棄。前面提到過(guò)的分組丟失就是由于路由器中的輸人或輸出隊(duì)列發(fā)生溢出造成的。當(dāng)然,設(shè)備或線路出故障也可能使分組丟失。
返回目錄:
編輯推薦
通信專(zhuān)業(yè)實(shí)務(wù)考試終端與業(yè)務(wù)教程匯總
通信工程師備考資料免費(fèi)領(lǐng)取
去領(lǐng)取
共收錄117.93萬(wàn)道題
已有25.02萬(wàn)小伙伴參與做題