當(dāng)前位置:首頁(yè) > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]也許你知道如何在Linux系統(tǒng)上用命令netstat或route來(lái)查找(甚至是增加/刪除)已經(jīng)存在的路由。但是在你做這些操作的時(shí)候你可能并不知道IP路由是如何工作的。本文將幫助你理解IP路由的原理,以及它是如何工作的?! ?

也許你知道如何在Linux系統(tǒng)上用命令netstat或route來(lái)查找(甚至是增加/刪除)已經(jīng)存在的路由。但是在你做這些操作的時(shí)候你可能并不知道IP路由是如何工作的。本文將幫助你理解IP路由的原理,以及它是如何工作的。

  IP路由涉及到IP數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)。如果主機(jī)與目的主機(jī)直接相連,那么主機(jī)可以直接發(fā)送IP報(bào)文到目的主機(jī),這個(gè)過(guò)程比較簡(jiǎn)單。例如,通過(guò)點(diǎn)對(duì)點(diǎn)的鏈接或通過(guò)網(wǎng)絡(luò)共享。如果主機(jī)與目的主機(jī)沒有直接相連,那么主機(jī)會(huì)將IP報(bào)文發(fā)送給默認(rèn)的路由器,然后由路由器來(lái)決定往哪發(fā)送IP報(bào)文。

  路由原理

  一個(gè)普通的主機(jī)與路由器之間的根本區(qū)別在于,主機(jī)不會(huì)將一個(gè)報(bào)文從一個(gè)接口轉(zhuǎn)發(fā)到另一個(gè)接口,而路由器可以轉(zhuǎn)發(fā)報(bào)文。

  如今,大多數(shù)的多用戶系統(tǒng)都可以被配置,從而被當(dāng)作路由器來(lái)用。因此,一個(gè)普通路由算法可以被用在路由器上,同樣也可以用在一臺(tái)普通主機(jī)上。當(dāng)一臺(tái)主機(jī)可以用作路由器時(shí),我們通常說(shuō)這臺(tái)主機(jī)嵌入了路由器的功能。這種具備嵌入路由器功能的主機(jī)平常不會(huì)轉(zhuǎn)發(fā)報(bào)文,除非我們對(duì)它進(jìn)行了配置,使它開啟這種功能。

  

  IP層維護(hù)著一張路由表,當(dāng)收到數(shù)據(jù)報(bào)文時(shí),它用此表來(lái)決策接下來(lái)應(yīng)該做什么操作。當(dāng)從網(wǎng)絡(luò)側(cè)接收到數(shù)據(jù)報(bào)文時(shí),IP層首先會(huì)檢查報(bào)文的IP地址是否是主機(jī)自身的地址相同。

  如果數(shù)據(jù)報(bào)文中的IP地址是主機(jī)自身的地址,那么報(bào)文將被發(fā)送到傳輸層相應(yīng)的協(xié)議中去。如果報(bào)文中的IP地址不是主機(jī)自身的地址,并且主機(jī)配置了具備路由的功能,那么報(bào)文將被轉(zhuǎn)發(fā);否則,報(bào)文就被丟棄。

  路由表中的數(shù)據(jù)一般是以條目形式存在。一個(gè)典型的路由表?xiàng)l目包含以下主要的條目項(xiàng):

  ● 目的IP地址:此字段表示目標(biāo)的IP地址。這個(gè)IP地址可以是某一臺(tái)主機(jī)的地址,也可以是一個(gè)網(wǎng)絡(luò)地址。如果這個(gè)條目包含的是一個(gè)主機(jī)地址,那么它的主機(jī)ID標(biāo)記為非零;如果這個(gè)條目包含的是一個(gè)網(wǎng)絡(luò)地址,那么它的主機(jī)ID被標(biāo)記為零。

  ● 下一個(gè)路由器的IP地址:為什么我們使用“下一個(gè)”的說(shuō)法,是因?yàn)橄乱粋€(gè)路由器并不總是最后的目的路由器,但它很可能是一個(gè)中間路由器。條目給出下一個(gè)路由器的地址是用來(lái)轉(zhuǎn)發(fā)從相應(yīng)接口收到的IP數(shù)據(jù)報(bào)文。

  ● 標(biāo)志:這個(gè)字段提供了另一組重要信息,如目的IP地址(之前提到的)是一個(gè)主機(jī)地址還是一個(gè)網(wǎng)絡(luò)地址。此外,從標(biāo)志中可以得知下一個(gè)路由器(之前提到的)真的是一個(gè)路由器還是一個(gè)直接相連的接口。

  ● 網(wǎng)絡(luò)接口規(guī)范:一些數(shù)據(jù)報(bào)文的網(wǎng)絡(luò)接口規(guī)范,這個(gè)規(guī)范跟隨報(bào)文一起傳播。

  基本的路由是如何工作的?

  因此,如果我們現(xiàn)在想簡(jiǎn)單而形象地描述路由過(guò)程,我們將會(huì)看到:一旦主機(jī)(被配置成具備路由功能)的IP層接收到從網(wǎng)絡(luò)側(cè)來(lái)的數(shù)據(jù)報(bào)文,它將核實(shí)數(shù)據(jù)包中的目的IP地址,如果此IP不是主機(jī)的IP地址,那么包將通過(guò)路由表轉(zhuǎn)發(fā)。

  如果任何條目的第一個(gè)字段完全匹配目的IP地址(主機(jī))或部分匹配目的IP地址(網(wǎng)絡(luò)),那么它將指示下一個(gè)路由器的IP地址。這是一個(gè)重要的信息,因?yàn)檫@些信息直接告訴主機(jī)(具備路由功能的)數(shù)據(jù)包應(yīng)該轉(zhuǎn)發(fā)到哪一個(gè)“下一個(gè)路由器”去。而條目中所有其它的字段將提供更多輔助的信息來(lái)為路由轉(zhuǎn)發(fā)做決定。

  在上一段中我們對(duì)路由轉(zhuǎn)發(fā)過(guò)程建立了基本的了解,但如果我們?cè)噲D深入了解更多的東西,就必須看看以下關(guān)于路由表算法的一些詳細(xì)信息。

  ● 首先,路由表會(huì)去搜索一個(gè)“目的IP地址”字段與數(shù)據(jù)報(bào)文中目的IP地址完全相同的條目。這就意味著IP地址的主機(jī)ID與網(wǎng)絡(luò)ID完全的匹配。如果找到,則數(shù)據(jù)包被發(fā)送到相應(yīng)接口或中間路由器。

  ● 如果沒有找到一個(gè)完全的匹配IP,那么就接著搜索相匹配的網(wǎng)絡(luò)ID。如果找到,那么該數(shù)據(jù)報(bào)文會(huì)被轉(zhuǎn)發(fā)到指定的路由器。所以我們看到,這個(gè)網(wǎng)絡(luò)上的所有主機(jī)都通過(guò)這個(gè)路由表中的單個(gè)(這個(gè))條目來(lái)管理。

  ● 如果上述兩個(gè)條件都不匹配,那么該數(shù)據(jù)報(bào)文將轉(zhuǎn)發(fā)到一個(gè)“默認(rèn)路由器”。

  ● 如果上述步驟失敗,即沒有默認(rèn)路由器,那么該數(shù)據(jù)報(bào)文最終無(wú)法被轉(zhuǎn)發(fā)。任何無(wú)法投遞的數(shù)據(jù)報(bào)文都將產(chǎn)生一個(gè)ICMP主機(jī)不可達(dá)或ICMP網(wǎng)絡(luò)不可達(dá)的錯(cuò)誤,并將此錯(cuò)誤返回給生成此數(shù)據(jù)報(bào)文的應(yīng)用程序。

  有時(shí)人們會(huì)問(wèn),為什么路由表中會(huì)有兩種類型的條目?有了更精確的主機(jī)條目為什么還需要網(wǎng)絡(luò)相關(guān)的條目?嗯…在路由表中包含與網(wǎng)絡(luò)相關(guān)的路由條目是一個(gè)很大的優(yōu)點(diǎn)。其優(yōu)點(diǎn)在于,擁有一個(gè)與完整網(wǎng)絡(luò)相關(guān)的條目,能夠避免包含此網(wǎng)絡(luò)中所有單獨(dú)的主機(jī)條目(這個(gè)數(shù)據(jù)量非常巨大)。這使得路由表的大小降到一個(gè)可收受的數(shù)量級(jí),這樣就非常好。

  查看路由表信息的命令

  你可以使用netstat命令查看路由表信息,如下所示:

  $ netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth0 其輸出提供目的IP地址和網(wǎng)關(guān)相關(guān)的詳細(xì)信息。標(biāo)志“U”表明該路由器可達(dá);“G”表明該路由器與一個(gè)網(wǎng)關(guān)(路由器)相連。如果這個(gè)標(biāo)志沒有被設(shè)置,那么我們可以認(rèn)為主機(jī)與目標(biāo)是直接相連的。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉