IP路由基礎(chǔ)知識全解
IP路由基礎(chǔ)知識全解
歡迎大家來到學(xué)習(xí)啦,本文為大家?guī)?,歡迎大家閱讀借鑒。
理解IP路由,是理解IP網(wǎng)絡(luò)的關(guān)鍵,不了解路由,就無法了解IP網(wǎng)絡(luò)的本質(zhì)。這里我們使用類比的方法為初學(xué)者介紹一些關(guān)于IP路由的基本概念,希望能幫助初學(xué)者更好的理解IP網(wǎng)絡(luò)。我個人認(rèn)為現(xiàn)實生活中的郵政系統(tǒng)與由IP構(gòu)建的網(wǎng)絡(luò)系統(tǒng)最為類似,因此如果你了解郵政系統(tǒng),那么理解IP的原理也不會太難。
首先,請問大家:我們寫完信以后接下來需要做什么事情呢?對,是把信裝進(jìn)信封,然后在信封上面填寫收件人的郵政編碼和地址,當(dāng)然還有寄信人的郵政編碼和地址(但這不是必須的)。IP 的情況也是一樣的,在IP數(shù)據(jù)包的頭部,會由操作系統(tǒng)填寫目的IP地址(收件人)和源IP地址(發(fā)件人)。因此IP包頭就是我們的信封,IP包內(nèi)部的數(shù)據(jù)就是我們寫在信上面的內(nèi)容或者叫信息。
信封填寫好以后,接下來就是找一個距離發(fā)件人最近的郵筒投遞我們的信件,那么這個郵筒就相當(dāng)于我們平時經(jīng)常提到的網(wǎng)關(guān)。你可以把它理解成每家每戶上網(wǎng)用到的那個小路由器。當(dāng)然也有一些用戶使用光纖寬帶上網(wǎng),那么可以理解成他直接把信件投遞給本地郵局了。
隨后,郵筒會把信件投遞到管理它的那個郵局(實際上是由郵遞員完成的)。然后郵政系統(tǒng)會盡最大努力將信件送給信封上指定的收件人。注意,我們這里說的是盡最大努力,因為郵政系統(tǒng)在默認(rèn)情況下是不會保證普通信件能保證送達(dá)。因為很多時候我們的信件會丟失。比如:投遞過程中,郵件丟失了、被人誤領(lǐng)了…等等。IP也是一樣,數(shù)據(jù)包發(fā)出去以后,網(wǎng)絡(luò)系統(tǒng)是無法保證這個數(shù)據(jù)包一定能安全送達(dá),系統(tǒng)只是盡力在做。
下面我們假設(shè)有一封從廣州的路人乙寄送給北京路人甲的信件,然后我們來看看這個系統(tǒng)具體是如何進(jìn)行信件的投遞的。
1、廣州郵局先將郵件分類,即按照信封上收件人的郵政編碼將信件分類;
2、廣州郵局會按時將北京方向(注意:北京方向包括了去長沙、武漢的信件)的信件取走,交給一輛開往長沙(假設(shè)跨省信件只在省會間傳遞)的郵政汽車;
3、信件到達(dá)長沙后,長沙郵政局將把這些信件中省內(nèi)的信件留下,剩下的信件則交給一輛開往武漢的郵政汽車;
4、如此繼續(xù)下去,汽車載著北京的郵件經(jīng)過武漢、鄭州,最后才到達(dá)北京的郵政局;
5、北京郵政收到這批信件后,將留下目的地為北京的郵件,并根據(jù)信封上的收件人信息,安排郵遞員將信件最終送達(dá)收件人。
IP的情況也類似,讓我們按照上面的步驟走一遍。
1、廣州路由器在接收到IP數(shù)據(jù)包以后,先是查詢路由表;
2、廣州路由器將所有北京方向的數(shù)據(jù)包發(fā)送給長沙的路由器;
3、長沙路由器收到數(shù)據(jù)包以后,繼續(xù)查詢路由表,本省的從去往地市的線路上發(fā)走,北京方向的從去往武漢的線路上發(fā)走;
4、如此繼續(xù)下去,武漢發(fā)給鄭州,鄭州發(fā)給北京;
5、最后北京的路由器收到了這個IP數(shù)據(jù)包,在查詢過路由表后,發(fā)現(xiàn)這是發(fā)送給本地網(wǎng)絡(luò)的數(shù)據(jù)包,于是繼續(xù)查詢MAC地址表,并通過MAC地址將數(shù)據(jù)包發(fā)送給最終的收件人。
當(dāng)然收件人可能會有回信,也就是回包。這很好辦,無非就是上述過程的重復(fù),而僅僅只是將收件人與發(fā)件人的信息對調(diào)了一下。至此,郵件的投遞結(jié)束,IP包的投遞也結(jié)束,兩者是多么的相似呀。也許大家已經(jīng)發(fā)現(xiàn),以上IP轉(zhuǎn)發(fā)的過程中有一個核心的操作就是“查路由表”。路由表是什么?在設(shè)備中啟什么作用?請繼續(xù)往下看…
路由這個詞是英文 Route 的音譯,做名詞的時候表示“路線”“航線”等意思…做動詞的時候表示“確定路線、選路”等含義。簡單來說可以把路由理解成指示路徑的指示牌,而路由表則是指示牌的集合,通過查詢路由表來決定數(shù)據(jù)包的走向。
以陸路交通系統(tǒng)為例,從湖南出發(fā),往東則是江西、往南則是廣東、往西則是貴州,往北則是湖北。也就是說,若要從湖南去北京,則必須先從北站出發(fā)到達(dá)湖北,去上海則必須先從東站出發(fā)到達(dá)江西…而路由表則是用來描述這些信息的一個集合,我們根據(jù)以上信息構(gòu)建的湖南省路由表如下:
目的地 下一站 車站
北京 湖北南站 北站
上海 江西西站 東站
香港 廣東北站 南站
云南 貴州東站 西站
相應(yīng)的其他所有的省都會有一張類似的,但僅屬于自己的路由表,也就是說湖南的表只能在湖南用,湖北的表的只能在湖北用。比如:從湖南去北京,下一站是湖北,而從湖北去北京,下一站則是河南了…
現(xiàn)在讓我們來類比一下:每個省代表網(wǎng)絡(luò)中的一臺路由器,每個省的車站則是路由器上的接口,連接各省之間的高速公路或者鐵路就是路由器之間的網(wǎng)線…一個龐大的網(wǎng)絡(luò)是不是就這樣誕生了…然后每臺路由器都維護(hù)著自己的一張路由表,當(dāng)數(shù)據(jù)進(jìn)入路由器后,只需簡單的查表操作便能指導(dǎo)數(shù)據(jù)的轉(zhuǎn)發(fā)了。
實戰(zhàn)練習(xí)1:完成廣東、湖南、湖北三省的路由表,要求數(shù)據(jù)能從廣東發(fā)送到湖北,而且能從湖北返回廣東。
實戰(zhàn)練習(xí)2:完成各省路由器的路由表,要求數(shù)據(jù)能從廣東發(fā)送到湖北,而且能從湖北返回廣東。