關(guān)于環(huán)回地址
盡管在網(wǎng)上查了不少資料,但依然未找到全面的解釋,最近給縣局作崗位認證培時,忽然間想通了些問題,很多疑問迎刃而解。以下是我對環(huán)回地址及環(huán)回接口的一些認識,供大家參考交流:
一、環(huán)回接口
為了標識和管理網(wǎng)絡(luò)設(shè)備(如路由器、pc),我們通常會利用到這些設(shè)備的接口(包括物理接口和邏輯接口:如vlan)上設(shè)置的IP地址。但很多情況下,盡管該設(shè)備未脫離網(wǎng)絡(luò),由于其管理地址所處的接口狀態(tài)處于down,該設(shè)備便無法管理(因為物理連接斷開,接口協(xié)議起不來)。為了解決這一問題,于是便出現(xiàn)了loopback接口,該接口為設(shè)備上一個邏輯接口,接口狀態(tài)不受物理端口up/down的影響,只要設(shè)備的系統(tǒng)協(xié)議不出問題,該接口就不會down掉。順便補充一下,盡管3層vlan亦是邏輯接口,但通常我們使用的vlan都是居于端口的,而且核心層交換機vlan一般只關(guān)聯(lián)一個端口,當端口狀態(tài)處于down時vlan接口是無法up起來的。
由此可見loopback接口的地址無疑是標示物理設(shè)備本身的最佳選擇,因為只要設(shè)備運行正常,它將永處于up狀態(tài)。
二、環(huán)回地址及環(huán)回路由
loopback地址即是loopback接口上設(shè)置的地址,該地址用于標示設(shè)備本身。A類地址段127.0.0.0被用作本地環(huán)回地址,一般設(shè)備都默認采用127.0.0.1,當然也可在loopback接口上設(shè)置公網(wǎng)IP,作為全網(wǎng)的設(shè)備標識。
當設(shè)備給其自身發(fā)數(shù)據(jù)包時,是把該數(shù)據(jù)包送往其loopback接口(其實是直接送給cpu處理)。但如果目的IP不是其loopback地址,它如何得知數(shù)據(jù)包的目的地址就是它自己的IP地址呢呢?此時就需要環(huán)回路由來識別了。一般pc網(wǎng)卡上的IP及一些低端網(wǎng)絡(luò)設(shè)備的管理IP都默認指向其環(huán)回接口,但很多高端設(shè)備都需要手動設(shè)置環(huán)回路由。例如一臺路由器的其中一個接口地址為61.175.201.54,則環(huán)回路由應(yīng)該設(shè)置為61.175.201.54/32 127.0.0.1,以表示該地址就在自身接口上。
三、應(yīng)用舉例
就拿pc來說,pc的網(wǎng)卡就相當于路由器的一個接口。如一臺pc網(wǎng)卡上設(shè)置的地址為220.172.115.50,網(wǎng)卡連接正常時,協(xié)議狀態(tài)up,在dos命令行狀態(tài)下輸入ipconfig
便可看到該網(wǎng)卡上的IP地址。此時在主機上ping其網(wǎng)卡地址的過程如下:主機發(fā)送一個icmp包,目的地址為220.172.115.50,請求對方回答;主機根據(jù)默認環(huán)回主機路由發(fā)現(xiàn)數(shù)據(jù)包目的地址的下一跳指向其loopback接口(主機事先并不知道該地址就在其網(wǎng)卡上),于是將數(shù)據(jù)包發(fā)往其loopback接口(即直接發(fā)往cpu);之后主機收到源IP為220.172.114.50的ping包,于是對該數(shù)據(jù)包進行回答,回應(yīng)包亦根據(jù)環(huán)回路由原路返回。從該過程可看出,該數(shù)據(jù)包的始發(fā)點和被接收點都在同一個接口(即主機本身的loopback接口),尋址過程為一個環(huán)回過程,因此該接口稱之為“環(huán)回接口”。當網(wǎng)卡連接斷開時,協(xié)議down下,用ipconfig便發(fā)現(xiàn)“media disconnected”等提示,無IP地址顯示。ping 220.172.115.50便出現(xiàn)“destination unreachable”等提示(由于網(wǎng)卡協(xié)議沒起來,主機沒能發(fā)現(xiàn)相應(yīng)路由,無法做出轉(zhuǎn)發(fā)決定,從而提示路由不可達)。但此時ping 127.0.0.0/8網(wǎng)段的IP均能ping通,因為一般pc默認把127.0.0.0/8網(wǎng)段IP作為loopback地址,當主機發(fā)現(xiàn)該數(shù)據(jù)包的目的地址為其自身的環(huán)回地址時,便將該數(shù)據(jù)包直接送往其cpu。由此可看出ping通環(huán)回地址并不表示就能ping通網(wǎng)卡地址,因此不要拿ping 127.0.0.1來檢測網(wǎng)卡的好壞,這樣做是行不通的。
下面我們來看看關(guān)于路由器的例子。如routerA的接口s0/1與routerB的接口s0/2直接相連,routerA s0/1的地址為202.56.112.11而routerB s0/2的地址為202.56.112.12
,兩臺路由器都沒有做接口環(huán)回路由。此時在routerA上ping其接口s0/1的IP地址能ping通,但tracert 202.56.112.11便發(fā)現(xiàn)該數(shù)據(jù)包并未直接送給routerA本身,而是通過routerB后再回到routerA的。第一次遇到這種情況時我也很詫異,但理解環(huán)回的概念以后,這個疑惑也就自然解開。下面我們也來看看該數(shù)據(jù)包的尋址過程:首先路由器(cisco2600以上)沒有默認接口地址的loopback路由,并且這兩臺router也沒有做相關(guān)手工設(shè)置。因此當routerA發(fā)送目的地址為其s0/1的icmp ping包時,routerA查找路由表沒發(fā)現(xiàn)指向環(huán)回接口的主機路由(主機路由優(yōu)先級高于網(wǎng)絡(luò)路由),于是根據(jù)直連路由將該數(shù)據(jù)包轉(zhuǎn)發(fā)到routerB;routerB接收到該數(shù)據(jù)包后也根據(jù)直連路由將其轉(zhuǎn)發(fā)給routerA;routerA收到該ping包后,作出回應(yīng),回應(yīng)包原路返回。因而便出現(xiàn)一個有趣的現(xiàn)象,routerA ping自己的延遲比其ping routerB的延遲還要大。為此很多設(shè)備都手工設(shè)置了本地環(huán)回路由,從而減少不必要的麻煩。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。