應(yīng)用

技術(shù)

物聯(lián)網(wǎng)世界 >> 物聯(lián)網(wǎng)新聞 >> 物聯(lián)網(wǎng)熱點(diǎn)新聞
企業(yè)注冊(cè)個(gè)人注冊(cè)登錄

路由器,你究竟把數(shù)據(jù)怎么了?

2019-11-01 09:42 中興文檔

導(dǎo)讀:路由器是連接兩個(gè)或多個(gè)網(wǎng)絡(luò)的硬件設(shè)備,工作在TCP/IP協(xié)議的網(wǎng)絡(luò)層,在網(wǎng)絡(luò)間扮演網(wǎng)關(guān)的角色。路由器的一個(gè)作用是連通Internet中各局域網(wǎng)、廣域網(wǎng),另一個(gè)作用是選擇數(shù)據(jù)包的最佳傳送線路。

一年一度的雙11網(wǎng)購(gòu)盛典就要到了,不少商家推出了保價(jià)雙11的活動(dòng)。作為剁手黨的我立刻開啟了買買買模式,一小波包裹已在途中。我每天都懷著迫切的心情刷幾遍物流信息,盼望著各快遞站點(diǎn)加速收發(fā),盡早將包裹送到我手中。其實(shí),在支撐我們網(wǎng)購(gòu)的Internet網(wǎng)絡(luò)中,也有收發(fā)數(shù)據(jù)包的快遞站點(diǎn)——路由器。

什么是路由器

路由器是連接兩個(gè)或多個(gè)網(wǎng)絡(luò)的硬件設(shè)備,工作在TCP/IP協(xié)議的網(wǎng)絡(luò)層,在網(wǎng)絡(luò)間扮演網(wǎng)關(guān)的角色。路由器的一個(gè)作用是連通Internet中各局域網(wǎng)、廣域網(wǎng),另一個(gè)作用是選擇數(shù)據(jù)包的最佳傳送線路。

想要深入了解路由器,要從路由器的內(nèi)部結(jié)構(gòu)講起了。

路由器由輸入接口、輸出接口、交換結(jié)構(gòu)、路由選擇處理器四個(gè)部分組成。執(zhí)行兩個(gè)最重要的基本功能:路由功能和交換(轉(zhuǎn)發(fā))功能。相應(yīng)的路由器內(nèi)部整體也分為路由選擇和分組轉(zhuǎn)發(fā)兩個(gè)部分。

路由選擇部分工作在控制層面,主要由軟件實(shí)現(xiàn)。核心組件是路由選擇處理器,通過運(yùn)行路由協(xié)議維護(hù)路由表以及連接的鏈路狀態(tài)信息,并生成轉(zhuǎn)發(fā)表。

分組轉(zhuǎn)發(fā)部分工作在數(shù)據(jù)層面,主要由硬件實(shí)現(xiàn)。核心組件是處理芯片和交換結(jié)構(gòu),交換結(jié)構(gòu)是一個(gè)路由器中的網(wǎng)絡(luò),將路由器的輸入接口和輸出接口相連接。依據(jù)轉(zhuǎn)發(fā)表來轉(zhuǎn)發(fā)分組數(shù)據(jù)包,將輸入接口的數(shù)據(jù)包移送至適當(dāng)?shù)妮敵鼋涌?在路由器內(nèi)部進(jìn)行)。

路由表:可以是管理員手工配置的,也可以通過動(dòng)態(tài)路由協(xié)議自動(dòng)學(xué)習(xí)形成,通常由路由協(xié)議和路由管理模塊維護(hù),包括IP地址/IP子網(wǎng)、下一跳、路由優(yōu)先級(jí)、度量值等信息。

轉(zhuǎn)發(fā)表:是基于路由表生成的,路由?實(shí)際轉(zhuǎn)發(fā)時(shí)使用轉(zhuǎn)發(fā)表,包括IP地址/IP子網(wǎng)和下一跳/出接口信息。

路由器根據(jù)IP數(shù)據(jù)包的目的網(wǎng)段地址查找路由表決定轉(zhuǎn)發(fā)路徑,路由表記載著路由器所知的所有網(wǎng)段的路由信息。路由信息中包含要到達(dá)此目的網(wǎng)段需要將IP數(shù)據(jù)包轉(zhuǎn)發(fā)至哪一個(gè)下一跳相鄰設(shè)備地址。而轉(zhuǎn)發(fā)表記載著由哪個(gè)接口發(fā)出。

轉(zhuǎn)發(fā)表中每條轉(zhuǎn)發(fā)項(xiàng)都指明分組到某個(gè)網(wǎng)段或者某個(gè)主機(jī)應(yīng)該通過路由器的哪個(gè)物理接口發(fā)送,然后就可以到達(dá)該路徑的下一個(gè)路由器,或者不再經(jīng)過別的路由器而傳送到直接相連的網(wǎng)絡(luò)中的目的主機(jī)。

有了路由表和轉(zhuǎn)發(fā)表,就好比快遞站點(diǎn)根據(jù)包裹目的地查到了下一步要將包裹送到哪一個(gè)站點(diǎn),由誰來負(fù)責(zé)發(fā)出。這樣本站點(diǎn)的工作就可以順利完成了。


值得一提的是,路由表被存放在路由器的RAM上,這就意味著路由器如果要維護(hù)的路由信息較多時(shí),必須有足夠的RAM,并且路由器重新啟動(dòng)后原來的路由信息都會(huì)消失。

路由器如何傳送數(shù)據(jù)呢

數(shù)據(jù)包在網(wǎng)絡(luò)上的傳送就好像是快遞公司運(yùn)送包裹一樣,通過多個(gè)快遞站點(diǎn)的收發(fā)最終將包裹送到客戶手中。類似的,每一個(gè)路由器只負(fù)責(zé)本站數(shù)據(jù)包通過最佳路徑轉(zhuǎn)發(fā),通過多個(gè)路由器一站一站的收發(fā)將數(shù)據(jù)包通過最佳路徑轉(zhuǎn)發(fā)到目的地。

(如果實(shí)施路由策略,數(shù)據(jù)包不一定選擇最佳路徑)

每個(gè)路由器都有多個(gè)輸入接口和多個(gè)輸出接口,它的輸入接口收到數(shù)據(jù)包后去除數(shù)據(jù)鏈路層封裝,交給網(wǎng)絡(luò)層處理。網(wǎng)絡(luò)層首先檢查報(bào)文是否是送給本機(jī)的,如果是,去掉網(wǎng)絡(luò)層封裝,送給上層協(xié)議處理。如果不是,則根據(jù)報(bào)文的目的地址將報(bào)文交給相應(yīng)輸出接口的數(shù)據(jù)鏈路層,封裝接口對(duì)應(yīng)的鏈路層協(xié)議后,將報(bào)文發(fā)送給下一個(gè)路由器。下一個(gè)路由器也重復(fù)此動(dòng)作,直至傳給路徑上最后的路由器,再由其將數(shù)據(jù)包送交目的主機(jī)。

怎樣實(shí)現(xiàn)數(shù)據(jù)包的最佳傳送呢

講到這里我們發(fā)現(xiàn),怎樣實(shí)現(xiàn)“最佳路徑”是個(gè)關(guān)鍵,別急,路由器是有自己的選路原則的??靵硪黄鹆私庀掳伞?/p>

我們先從了解IP數(shù)據(jù)包開始。IP數(shù)據(jù)包結(jié)構(gòu)如下:

IP數(shù)據(jù)包中的目的IP地址是IP數(shù)據(jù)包的重要字段,路由器會(huì)根據(jù)數(shù)據(jù)包中的目的IP地址查找路由表,決定數(shù)據(jù)包的轉(zhuǎn)發(fā)方向。

路由器在決定數(shù)據(jù)包轉(zhuǎn)發(fā)路徑的時(shí)候會(huì)依次按照三大規(guī)則來選擇路由,以確保實(shí)現(xiàn)“最佳路徑”。

01

最長(zhǎng)匹配原則

最長(zhǎng)匹配原則就是在路由查找時(shí),使用路由表中到達(dá)同一目的地的子網(wǎng)掩碼最長(zhǎng)的路由。如下所示,去往20.1.1.1的數(shù)據(jù)包在路由表中同時(shí)有3條路由可以為此數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā),分別是20.0.0.0、20.1.0.0和20.1.1.0。由于它們依次匹配到了網(wǎng)段的前8位、16位、24位,根據(jù)最長(zhǎng)匹配原則,去往20.1.1.1的數(shù)據(jù)包會(huì)用20.1.1.0的路由條目進(jìn)行轉(zhuǎn)發(fā),也就是從接口gei_0/1/0/3進(jìn)行轉(zhuǎn)發(fā)。

02

路由優(yōu)先級(jí)

一臺(tái)路由器上可以同時(shí)運(yùn)行多個(gè)路由協(xié)議。不同的路由協(xié)議都根據(jù)自己的標(biāo)準(zhǔn)來選擇路由,有的采用下一跳次數(shù)、有的采用帶寬,并且每個(gè)路由協(xié)議都把自己認(rèn)為是最好的路由送到路由表中。

這樣到達(dá)一個(gè)同樣的目的地址,可能由多條分別由不同路由協(xié)議學(xué)習(xí)來的路由,路由器必須選擇其中的一條路由加入到路由表中。由于這些路由的子網(wǎng)掩碼相同,最長(zhǎng)匹配原則已無法用來挑選路由,路由器應(yīng)該如何做呢?這時(shí)該路由優(yōu)先級(jí)上場(chǎng)了。

路由器上的不同的路由協(xié)議默認(rèn)有自己的路由優(yōu)先級(jí),數(shù)值小的優(yōu)先級(jí)高。當(dāng)我們有到達(dá)同一個(gè)目的地址的多條路由時(shí),可以根據(jù)優(yōu)先級(jí)的大小,選擇優(yōu)先級(jí)數(shù)值最小的作為最優(yōu)路由,同時(shí)將這條路由寫進(jìn)路由表中。

在上圖中,一臺(tái)路由器上同時(shí)運(yùn)行兩個(gè)路由協(xié)議:RIP(優(yōu)先級(jí)120)和OSPF(優(yōu)先級(jí)110)。RIP與OSPF協(xié)議都發(fā)現(xiàn)并計(jì)算出了到達(dá)同一條網(wǎng)絡(luò)20.0.0.0/16的最佳路徑,但由于選路算法不同選擇了不同的路徑。由于OSPF具有比RIP高的路由優(yōu)先級(jí)(數(shù)值較小),所以路由器將OSPF學(xué)到的這條路由加入到路由表中。

03

Metric值

在路由器中,路由協(xié)議會(huì)學(xué)習(xí)到所有可能的路由,當(dāng)同一個(gè)路由協(xié)議學(xué)習(xí)到的路由不止一條時(shí),路由優(yōu)先級(jí)就不管用了,路由器該如何處理呢?這時(shí)輪到Metric值出場(chǎng)了。路由協(xié)議根據(jù)選路算法賦予每一跳一個(gè)metric值,每條路由的metric值等于路徑上每一跳metric值的和。比較各條路由的metric值,選擇metric值最小的路由為最佳路由。

例如,R1到R4有三條路由:R1-R2-R4、R1-R4和R1-R3-R4,R1-R2-R4路由的metric值為20(10+10),其他兩條路由的metric值為30,路由器會(huì)優(yōu)先選擇R1-R2-R4作為最佳路由。

講完路由,我們?cè)賮碚務(wù)勣D(zhuǎn)發(fā)。傳統(tǒng)的IP轉(zhuǎn)發(fā)表已不能滿足電信骨干網(wǎng)的高速轉(zhuǎn)發(fā)需求,為了提升轉(zhuǎn)發(fā)效率,路由器采用MPLS技術(shù),在路由表的基礎(chǔ)上生成MPLS標(biāo)簽轉(zhuǎn)發(fā)表,MPLS為每個(gè)IP數(shù)據(jù)包提供一個(gè)標(biāo)簽,與IP數(shù)據(jù)包一起封裝到新的MPLS數(shù)據(jù)包,標(biāo)簽決定IP數(shù)據(jù)包的傳輸路徑以及優(yōu)先順序。通過MPLS標(biāo)簽轉(zhuǎn)發(fā)數(shù)據(jù),路由器只需讀取數(shù)據(jù)包中的MPLS標(biāo)簽,無需讀取每個(gè)IP數(shù)據(jù)包中的IP地址信息,因此數(shù)據(jù)包的轉(zhuǎn)發(fā)速度大大提升。

5G網(wǎng)絡(luò)正在如火如荼地建設(shè),網(wǎng)絡(luò)中的數(shù)據(jù)量也會(huì)越來越大。路由器將會(huì)與SR、SDN等技術(shù)結(jié)合,提供更為簡(jiǎn)捷、高效的數(shù)據(jù)傳送。