A. 環回介面的創建環回介面的原因
用來建立路由鄰居
我們知道路由協議要想正常運行,大多需要先建立鄰居關系,鄰居關系的穩定是路由計算正確的基石。實際運用中,常常使用環回介面來建立兩個路由器之間的鄰居關系,例如BGP協議。比起使用物理介面建立連接,使用環回介面可以使鄰居關系更加牢固,因為就算某個物理鏈路和介面發生了故障,只要能從其他途徑訪問到該設備,那麼鄰居關系就不會中斷。 用來作為Router-ID
在常用的OSPF、BGP等路由協議中,都有Router-ID的概念,這相當於一台路由器的身份證號,在一個指定的范圍(如一個自治系統)內唯一標識一台設備,不能有重復。因為環回介面的穩定性,我們常使用一個環回介面地址來作為Router-ID,使整個設備的標識穩定可靠。
使用環回介面作為Router-ID還有一個好處就是可以節省地址,因為環回介面的地址一般和業務地址沒有關系,是獨立規劃的。 用於虛擬隧道連接
在建立IPSec或GRE之類的虛擬隧道時,使用loopback介面可以保證整個隧道的穩定性。 用於網路連通性測試
創建並配置好環回介面之後,它的地址是能被ping或telnet的,這就可以被用來測試網路的連通性。 在Cisco路由器中可以使用interface loopback命令來創建它。
注意:啟動OSPF路由選擇進程時會選擇OSPF的路由器ID。這發生在手動執行了router ospf命令或者在啟動過程中載入路由器配置時。因此,如果在啟用了OSPF之後再創建環回介面,那麼該環回介面將不會被用作路由器ID;然而,如果重新啟動路由器,默認將使用環回介面。因此,建議優先創建環回介面並先給它分配IP地址,然後再啟用OSPF,這樣可以消除關於路由器ID的困惑。
以下為配置環回介面的指令:
Router(config)#interface loopbacknumber
B. 路由器 環回介面 原理
一、路由器Loopback介面簡介(環回介面)
Loopback介面是虛擬介面,是一種純軟體性質的虛擬介面。任何送到該介面的網路數據報文都會被認為是送往設備自身的。大多數平台都支持使用這種介面來模擬真正的介面。這樣做的好處是虛擬介面不會像物理介面那樣因為各種因素的影響而導致介面被關閉。事實上,將Loopback介面和其他物理介面相比較,可以發現Loopback介面有以下幾條優點:
1.Loopback介面狀態永遠是up的,即使沒有配置地址。這是它的一個非常重要的特性。
2.Loopback介面可以配置地址,而且可以配置全1的掩碼,可以節省寶貴的地址空間。
3.Loopback介面不能封裝任何鏈路層協議。
對於目的地址不是loopback口,下一跳介面是loopback口的報文,路由器會將其丟棄。對於CISCO路由器來說,可以配置[no] ip unreachable命令,來設置是[否]發送icmp不可達報文,對於VRP來說,沒有這條命令,預設不發送icmp不可達報文 。
二、環回介面作用:
用來建立路由鄰居;
用來作為Router-ID;
用於虛擬隧道連接;
用於網路連通性測試;
用來作為Router-ID:
因為環回介面的穩定性,我們常使用一個環回介面地址來作為Router-ID,使整個設備的標識穩定可靠。
用於虛擬隧道連接:
在建立IPSec或GRE之類的虛擬隧道時,使用loopback介面可以保證整個隧道的穩定性。
用於網路連通性測試:
創建並配置好環回介面之後,它的地址是能被ping或telnet的,這就可以被用來測試網路的連通性。
環回功能:基於埠、MAC、VLAN、IP環回。
埠環路檢測:
一種簡單的檢測環路的方式,私有協議 ;設備通過發送環路監測報文、並監測其是否返回本設備(不要求收、發埠為同一埠)以確認是否存在環路,若某埠收到了由本設備發出的環路監測報文,就認定該埠存在環路。
埠環路檢測適用於簡單的拓撲。
C. 環回介面做什麼用的
環回介面 即loopback
環回介面是路由器上的一個邏輯、虛擬介面。路由器默認沒有任何環回介面,但是它們很容易創建。所有cisco的IOS平台都支持環回介面,可以根據需要創建任何數目的環回介面。這些介面在路由器上與物理介面一樣對待:可以給它們分配定址信息,包括它們在路由器選擇更新中的網路號,甚至在它們上可以終止IP連接,如telnet。環回介面由於獨佔一個IP地址,子網掩碼一般建議設為255.255.255.255,以節省資源。創建環回介面的原因:1.向OSPF路由器分配路由器ID。2.用於測試目的,因為該介面總是開啟的。3.終止特殊連接,例如GRE隧道或IPSec連接,因為該介面總是啟用的。再Cisco路由器中可以使用interface loopback命令來創建它。注意:啟動OSPF路由選擇進程時會選擇OSPF的路由器ID。這發生在手動執行了router ospf命令或者在啟動過程中載入路由器配置時。因此,如果在啟用了OSPF之後再創建環回介面,那麼該環回介面將不會被用作路由器ID;然而,如果重新啟動路由器,默認將使用環回介面。因此,建議優先創建環回介面並先給它分配IP地址,然後再啟用OSPF,這樣可以消除關於路由器ID的困惑。
以下為配置環回介面的指令:
Router(config)#interface loopback number
D. 【網路工程師路由篇】BGP 入門實驗
R1、R2、R3屬於AS 123;R4屬於AS 400;
R1、R2、R3運行OSPF,運行OSPF的目的是為了打通AS 123內的路由;
R3-R4之間建立EBGP鄰居關系,R2不運行BGP;
R1-R3之間建立IBGP鄰居關系;
在R4上,將路由4.4.4.0/24發布到BGP。
R1的配置如下(省略介面IP地址的配置):
R2的配置比較簡單,就是運行OSPF而已,這部分配置不再贅述。
R3的配置如下:
R4的配置如下:
完成上述配置後,在R3上查看BGP路由表:
我們看到R3已經學習到了R4通告過來的BGP路由4.4.4.0/24。並且該條BGP路由的NextHop屬性值為10.1.34.4,這個下一跳地址是路由可達的。該條路由在R3的BGP路由表裡有「* >」 標記,其中「*」表示這條路由是可用的(valid),只有當BGP路由的NextHop為路由可達時,該BGP路由才會被視為可用;而「>」則表示這條路由是被優選的路由,或者說是到達該目的網路的最優路由。
BGP路由的NextHop屬性是一個非常重要的屬性,它是所有BGP路由都會攜帶的路徑屬性,它指示了到達目的網路的下一跳地址。
在R3上查看路由表:
R3已經將到達4.4.4.0/24的BGP路由載入到了全局路由表中。
對於R3而言,到達4.4.4.0/24的路由已經被優選,接下來,它會將該路由通告給IBGP鄰居R1。
在R1上查看BGP路由表:
我們看到,R1的BGP路由表中已經出現了4.4.4.0/24路由,而這條路由的NextHop屬性值是10.1.34.4,但是R1在本地路由表中沒有到達10.1.34.4的路由,因此10.1.34.4不可達,如此一來,該BGP路由也就不可用了(在BGP路由表中沒有*號標記),既然不可用,自然就不能裝載進路由表中使用。
那麼怎麼解決這個問題呢?一個最簡單的方法是,為R1配置一條靜態路由:ip route-static 10.1.34.0 24 10.1.23.3,這樣一來R1的路由表裡就有了到達10.1.34.4的路由,那麼BGP路由4.4.4.0/24的下一跳地址就可達了,對應的BGP路由自然也就可用了。但是這種方法太「笨拙」。另一種方法是,在R3的OSPF進程中將10.1.34.0/24網段也注入進去,使得R1能夠通過OSPF學習到10.1.34.0/24路由,這種方法也是可行的。但是由於R3-R4之間的互聯鏈路被視為AS外部鏈路,因此10.1.34.0/24作為外部網段往往不會被宣告進AS內的IGP。那麼還有什麼其他辦法能解決這個問題么?
BGP路由器在向EBGP對等體發布某條路由時,會把該路由信息的下一跳屬性設置為本地與對端建立BGP鄰居關系的介面地址。如下圖所示,R4將4.4.4.0/24通告給R3時,下一跳為10.1.34.4,也就是R4的GE0/0/0介面地址。
BGP路由器將本地始發路由發布給IBGP對等體時,會把該路由信息的下一跳屬性設置為本地與對端建立BGP鄰居關系的介面地址。
BGP路由器在向IBGP對等體發布從EBGP對等體學來的路由時,並不改變該路由信息的下一跳屬性。
例如下圖所示,R3收到R4通告的EBGP路由,該路由的下一跳屬性值為10.1.34.4,它將該條路由通告給IBGP對等體R1的時候,路由的下一跳屬性值不會發生改變,仍然為10.1.34.4。
這就造成了我們上面所述的問題,由於R1沒有到達10.1.34.0/24的路由,因此下一跳地址10.1.34.4不可達,從而導致BGP路由4.4.4.0/24不可用。
還有一個方法可以解決這個問題:在R3上使用next-hop-local命令,可修改BGP路由的下一跳屬性值為自身。在下圖中,我們在R3上增加了peer 10.1.12.1 next-hop-local命令,那麼這樣一來,當R3再將EBGP路由通告給R1的時候,會將這些路由的下一跳屬性值修改為自己的更新源地址(10.1.23.3),而R1已經通過OSPF獲知到達10.1.23.0/24的路由,因此10.1.23.3是可達的。
完成配置後,我們在R1上查看BGP路由表:
可以手工指定用於建立BGP連接的源介面及源IP地址。命令如下:[Router-bgp] peer x.x.x.x connect-interface intf [ ipv4-src-address ]預設情況下,BGP使用報文的出介面作為BGP報文的源介面。當用戶完成peer命令的配置後,設備會在自己的路由表中查詢到達該對等體地址的路由,並從該路由得到出介面信息。如果peer命令中沒有指定介面(connect-interface)和IP地址(ipv4-src-address),那麼設備將會使用前述出介面和該介面的IP地址作為BGP報文的源介面和源地址。
為了使物理介面在出現問題時,設備仍能發送BGP報文,可將發送BGP報文的源介面配置成Loopback介面。在使用Loopback介面作為BGP報文的源介面時,必須確認BGP對等體的Loopback介面的地址是可達的。由於一個AS內往往會運行IGP協議,因此AS內的設備能夠通過該IGP協議獲知到達其他設備的Loopback介面的路由。在AS內部,IBGP鄰居關系通常基於Loopback介面建立。
EBGP鄰居之間通常使用直連介面的IP地址作為BGP報文源地址,如若使用環回介面建立EBGP鄰居關系,要配置peer ebgp-max-hop命令,允許EBGP通過非直連方式建立鄰居關系。
同樣是上面的環境,我們稍作變更,在R1及R3上創建loopback0,地址分別為1.1.1.1/32及3.3.3.3/32,然後設備各自將loopback0宣告進OSPF,使得彼此都能通過OSPF學習到對方的Loopback0路由。
我們修改BGP的配置,使得R1-R3之間的IBGP鄰居關系基於Loopback0來建立。
R1的關鍵配置如下:
R3的關鍵性配置如下:
注意,務必要將R1及R3的Loopback0介面激活OSPF。
經過前面的講解,我們的環境現在是這樣的:R1-R3之間建立了基於Loopback介面的IBGP鄰居關系;R3對R1配置了next-hop-local;R3與R4之間仍然維持基於直連介面的EBGP鄰居關系;R4在BGP中發布路由4.4.4.0/24。
現在R1是能夠學習到BGP路由4.4.4.0/24的,並且該路由也是被優選的,此時這條路由會被R1裝載進全局路由表使用,但是,這是不是意味著R1就能夠ping通4.4.4.4了呢?經過測試你可能會發現:無法ping通?因為數據包在R2這里就被丟棄了,R2並沒有運行BGP,因此它無法學習到BGP路由4.4.4.0/24。
怎麼才能讓R1 ping通4.4.4.4呢?方法之一是在R3上將BGP路由重發布進OSPF,使得R2能夠通過OSPF學習到BGP路由4.4.4.0/24,但是這種方法存在一定的風險,因為我們知道BGP承載的前綴數量往往是非常龐大的;另一種方法是,讓R2也運行BGP,並與R1、R3建立IBGP鄰居關系,這樣一來問題就解決了。那麼BGP鄰居關系就變成了如下圖所示。具體配置此處不再贅述。
通常情況下,EBGP鄰居之間必須具有直連的物理鏈路,EBGP鄰居關系也將基於直連介面來建立,如果不滿足這一要求,則必須使用peer ebgp-max-hop命令允許它們之間經過多跳建立TCP連接。
peer ebgp-max-hop命令用來配置允許BGP同非直連網路上的對等體建立EBGP連接,並同時可以指定允許的最大跳數。命令格式如下:[Router-bgp] peer ipv4-address ebgp-max-hop [ hop-count ]
如上圖所示,R1及R2要基於Loopback口建立EBGP鄰居關系。這種情況也屬於EBGP鄰居之間不基於直連介面建立鄰居關系的場景,必須配置peer ebgp-max-hop命令。圖中R1與R2之間的兩條物理鏈路是為了冗餘性考慮。R1的關鍵配置如下:
R2的關鍵配置如下:
BGP鄰居表
BGP表
查看BGP條目的詳細信息:
路由表,display ip routing-table
E. 路由器中什麼是loopback0地址,作用是什麼,怎樣配置
路由器上配置loopback0地址作用是用於幫助調試物理連接問題,無需設置。
執行測試在一個數據機或收發器通過將其輸出連接到自己的輸入。電路兩點之間在不同的位置可以通過應用測試信號檢測電路在一個位置,和網路設備可以返回信號通過電路在另一個位置。
本地環路介面是應用最廣泛的虛擬介面幾乎所有路由器。20aWindows系統,用作本地環回地址127.0.0.1。
(5)用環回介面做源介面的wlan案例擴展閱讀:
環回地址0的物理連接接收通道發送通道。工作端子連接器,如x。這通常通過簡單地將連接器連接到引腳來完成。媒體與一個單獨的收發連接器、光纖或同軸電纜,等等,可以簡單地使用一個合適的包的媒體。
IP數據報的源或目標地址設置為一個環回地址不能出現在計算系統或由任何路由路由設備。數據包接收一個介面和一個回調目標地址必須被刪除。
易於管理,為每個路由器創建環回介面,並在介面上指定單獨的IP地址作為管理員遠程登錄到路由器(Telnet)的管理地址,Telnet實際上用作設備名。