虛接口的應用

在路由器中執行show running命令查看配置時,會發現配置中存在各種類型的接口,例如ethernet、ATM、Serial、POS等等,這些接口都是與實際的物理接 口是一一對應的(如果存在子接口,則可能會使多個接口名稱對應同一個物理接口)。但在路由器中還存在着另外一類完全不同的接口類型,例 如:loopback、null、tunnel、virtual-template 等等,這一類接口有如下幾個共同點:

1)不存在與該接口對應的真實物理接口;雖然有時會存在一定的“映射”關 系。
2)由於第一條的原因,此類接口不會依據物理接口自動生成,必須根據實際需要手工創建。
3)接口的狀態永遠是UP的(包括物理狀態 UP和協議狀態UP),不會DOWN掉,其中Tunnel 接口除外,該接口的物理狀態永遠UP,但協議狀態視實際運行狀況而定。

1. loopback接口的用法

此類接口是應用最爲廣泛的一種虛接口,幾乎在每臺路由器上都會使用。常見於 如下用途。
 
1)作爲一臺路由器的管理地址
 
系統管理員完成網絡規劃之後,爲了方便管理,會爲每一臺路由器創建一個 loopback 接口,並在該接口上單獨指定一個IP 地址作爲管理地址,管理員會使用該地址對路由器遠程登錄(telnet),該地址實際上起到了類似設備名稱一類的功能。
 
但是通常每臺路由器上存在衆多接口和地址,爲何不從當中隨便挑選一個呢?原因如下: 由於telnet命令使用TCP報文,會存在如下情況:路由器的某一個接口由於故障down 掉了,但是其他的接口卻仍舊可以telnet,也就是說,到達這臺路由器的TCP連接依舊存在。所以選擇的telnet地址必須是永遠也不會down掉 的,而虛接口恰好滿足此類要求。由於此類接口沒有與對端互聯互通的需求,所以爲了節約地址資源,loopback 接口的地址通常指定爲32 位掩碼。
 
2)使用該接口地址作爲動態路由協議OSPF、BGP的router id。
 
動態路由協議OSPF、BGP在運行過程中需要爲該協議指定一個Router id,作爲此路由器的唯一標識,並要求在整個自治系統內唯一。由於router id是一個32位的無符號整數,這一點與IP地址十分相像。而且IP地址是不會出現重複現象的,所以通常將路由器的router id指定爲與該設備上的某個接口的地址相同。由於loopback接口的IP地址通常被視爲路由器的標識,所以也就成了router id的最佳選擇。

2. Null接口的用法

通常任何接口都會分配一個IP地址,但是NULL接口卻是一個例外,你無法 在NULL接口上配置IP地址,路由器會提示配置非法。一個沒有IP地址的接口能夠做什麼用呢?此類接口單獨使用沒有意義,但是如果將配置的靜態路由下一 跳指向NULL接口,則會有很大的用處。

1)用來配合BGP

BGP路由協議向外發佈路由的一種方法是使用命令:network ip-address [mask mask]

但是此命令正確生效有一個前提:在路由表中必須存在一條與ip- address mask 完全相同的路由。由於BGP發佈路由時都是經過聚合之後的,這樣的路由路由表中並沒有,所以要使用命令:ip route ip-address mask null0
 
由於這樣的路由只用來配合BGP,而不會指導真正的報文發送,也就不需要一個IP地 址作爲路由的下一跳(這樣可以節省一個IP地址),所以此處使用NULL0接口。

2)用來防止黑洞路由

舉個例子,RTD下面連接了很多臺小路由器,由於這些小路由器的路由很有規 律,恰好可以聚合成一條10.1.0.0/16的路由,於是RTD將此聚合後的路由發送到上一級路由器RTE,同理,RTE上必定存在一條相同的路由 10.1.0.0/16指回到路由器RTD。由於RTD的路由表有限,且網絡出口唯一,所以RTD上同時還存在一條缺省路由指向RTE。

上述組網在正常情況下可以很好的運行,但如果出現如下情況時:

RTC到RTD之間的鏈路由於故障中斷了,所以在RTD上將不存在去 10.1.3.0/24的指向RTC的路由。此時,如果RTA下的一個用戶發送報文,目的地址爲10.1.3.1,則,RTA將此報文發送到RTD,由於 RTD上已不存在去10.1.3.0/24的路由,所以選擇缺省路由,將報文發送給RTE,RTE查詢路由表後發現該條路由匹配10.1.0.0/16, 於是又將該報文發送給RTD。同理,RTD會再次將報文發給RTE,此時,在RTD和RTE上就會產生路由自環。

解決上述問題的最佳方案就是,在RTD上配置一條黑洞路由:ip route 10.1.0.0 255.255.0.0 null 0,這樣,如果再發生上述情況時,RTD就會查找路由表,並將報文發送到NULL0接口(實際上就是丟棄此報文),從而避免環路的產生。

3. Tunnel接口的用法

Tunnel接口的用法比較單一,此類型的接口實際上是GRE協議專用的接 口。GRE (Generic Routing Encapsulation)是一種三層隧道協議,最常用的方式爲使用IP報文承載GRE報文,而GRE報文的載荷仍舊是IP報文。

 interface Tunnel 0  
ip address 10.33.255.2 255.255.255.252   
tunnel source 211.138.94.199 
 tunnel destination 211.138.94.197   

對於tunnel source、tunnel destination 兩個地址,通常選用本端loopback接口和對端的loopback接口地址,這樣也是出於冗餘鏈路的考慮。
 
4. Virtual-template接口的用法
 
同Tunnel 接口很類似,virtual-template接口專用於MP協議,MP協議是將多個使用PPP協議的物理接口捆綁在一起,對外以一個接口的面目出現,以 達到增加帶寬和節省IP地址的目的。
 
 user hh service-type ppp password 0 hh  (配置PAP驗證的用戶名和密碼)
 multilink-user hh bind Virtual-Template3 (指定綁定的Virtual-Template接口名)
(下面的兩個接口捆綁到一起)
 interface Serial5/1/4:0
 encapsulation ppp
 ppp authentication pap
 ppp multilink
 ppp pap sent-username hh password 0 hh (使用MP,用戶名是hh)
 !
 interface Serial5/1/5:0
 encapsulation ppp
 ppp authentication pap
 ppp multilink
 ppp pap sent-username hh password 0 hh (使用MP,用戶名是hh)
 interface Virtual-Template3 (創建 Virtual-Template接口)
 ip address 61.236.88.134 255.255.255.252 (IP 地址統一在Virtual-Template接口上配)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章