Linux系統(tǒng)IP路由基礎(chǔ)[第1部分]
也許你知道如何在Linux系統(tǒng)上用命令netstat或route來(lái)查找(甚至是增加/刪除)已經(jīng)存在的路由。但是在你做這些操作的時(shí)候你可能并不知道IP路由是如何工作的。本文將幫助你理解IP路由的原理,以及它是如何工作的。
本文引用地址:http://www.ex-cimer.com/article/154656.htmIP路由涉及到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ī)沒(méi)有直接相連,那么主機(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)行了配置,使它開(kāi)啟這種功能。
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)文就被丟棄。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論