基本簡介
內部網關路由協定(IGRP)是一種在自治系統(AS:autonomoussystem)中提供路由選擇功能的思科專有路由協定。在上世紀80年代中期,最常用的內部路由協定是路由信息協定(RIP)。儘管RIP對於實現小型或中型同機種網際網路的路由選擇是非常有用的,但是隨著網路的不斷發展,其受到的限制也越加明顯。思科路由器的實用性和IGRP的強大功能性,使得眾多小型網際網路組織採用IGRP取代了RIP。早在上世紀90年代,思科就推出了增強的IGRP,進一步提高了IGRP的操作效率。
IGRP是一種距離向量(DistanceVector)內部網關協定(IGP)。距離向量路由選擇協定採用數學上的距離標準計算路徑大小,該標準就是距離向量。距離向量路由選擇協定通常與鏈路狀態路由選擇協定(Link-StateRoutingProtocols)相對,這主要在於:距離向量路由選擇協定是對網際網路中的所有節點傳送本地連線信息。
為具有更大的靈活性,IGRP支持多路徑路由選擇服務。在循環(RoundRobin)方式下,兩條同等頻寬線路能運行單通信流,如果其中一根線路傳輸失敗,系統會自動切換到另一根線路上。多路徑可以是具有不同標準但仍然奏效的多路徑線路。例如,一條線路比另一條線路優先3倍(即標準低3級),那么意味著這條路徑可以使用3次。只有符合某特定最佳路徑範圍或在差量範圍之內的路徑才可以用作多路徑。差量(Variance)是網路管理員可以設定的另一個值。
IGRP度量標準的計算公式如下:度量標準=[K1*頻寬+(K2*頻寬)/(256-負載)+K3*延遲]*[K5/(可靠性+K4)],默認的常數值是K1=K3=1,K2=K4=K5=0。因此,IGRP的度量標準計算簡化為:度量標準=頻寬+延遲。
IGRP使用複合度量值,在選擇到目的地的路徑方面,這種度量值比RIP單一度量值“跳數”更精確,度量值最小的路由為最佳路由。
IGRP度量值中包含以下分量:
頻寬:路徑中的最低頻寬;
延遲:路徑上的累積接口延遲;
可靠性:信源和目的地之間的鏈路上的負載,單位為bit/s(比特每秒);
MTU:路徑上的最大傳輸單元。
指定使用IGRP協定routerigrpautonomous-system1
指定與該路由器相連的網路networknetwork
指定與該路由器相鄰的節點地址neighborip-address
IGRP的路由度量包括多宗因素,但一般情況下可以簡化為頻寬。
1、autonomous-system可以隨意建立,並非實際意義上的autonomous-system,但運行IGRP的路由器要想交換路由更新信息其autonomous-system需相同。
cisco最新產品及IOS停止了對IGRP的支持僅支持新的增強型內部網關路由協定(EIGRP)
EIGRP和IGRP為cisco專有協定但部分華為設備也支持此兩種協定
發布路由更新信息的周期是90秒
協定特性
IGRP是一種距離向量型的內部網關協定(IGP)。 距離向量路由協定要求每個路由器以規則的時間間隔向其相鄰的路由器傳送其路由表的全部或部分。隨著路由信息在網路上擴散, 路由器就可以計算到所有節點的距離。IGRP使用一組metric的組合(向量),網路延遲、頻寬、可靠性和負載都被用於路由選擇,網管可以為每種metric設定權值, IGRP可以用管理員設定的或預設的權值來自動計算最佳路由。 IGRP為其metric提供了較寬的值域。例如, 可靠性和負載可在1和255之間取值; 頻寬值域為1200bps到10吉(千兆)bps;延遲可取值1到24。寬的值域可以提供滿意的metric設定,更重要的是, metric各組件以用戶定義的算法結合,因此,網管可以以直觀的方式影響路由選擇。
為了提供更多的靈活性,IGRP允許多路徑路由。兩條等頻寬線路可以以循環(round-robin)方式支持一條通信流, 當一條線路斷掉時自動切換到第二條線路。此外,即使各條路的metric不同也可以使用多路徑路由。 例如,如果一條路徑比另一條好三倍, 它將以三倍使用率運行。只有具有一定範圍內的最佳路徑metric值的路由才用作多路徑路由。
穩定性
IGRP提供許多特性以增強其穩定性,包括hold-down、split horizon和poison-reverse。
Hold-down用於阻止定期更新信息不適當地發布一條可能失效的路由信息。當一個路由器失效時, 相鄰的路由器通過未收到定期的更新訊息檢測到該情況, 這些路由器就計算新的路由並傳送路由更新信息把路由改變通知給它們相鄰的路由器。 這一舉動激發一系列觸發的更新,這些觸發的更新並不能立刻到達每一個網路設備,所以可能發生這樣的情況: 一個還未收到網路失效信息的設備給一個剛被通知網路失效的設備傳送定期更新信息,說那條已斷掉的路由還是好的,這樣, 後者就會含有(還可能發布)錯誤的路由信息。Hold-down告訴路由器把可能影響路由的改變保持一段時間。 Hold-down時期通常只比整個網路更新某一路由改變所需時間多一點。
Split horizon來源於下列承諾:把路由信息發回到其來源是無意義的。下圖示意為split-horizon規則。 路由器1(R1)首先發布到網路A的路由,路由器2(R2)沒有必要在給R1的更新信息中含有該路由,因為R1離網路A更近。 split-horizon規則要求R2在給R1的更新信息中去掉該路由。 split-horizon規則可以幫助避免路由環。例如,假設R1到網路A的接口失效了,R2繼續通知R1說它可以到達網絡A(通過R1), 如果R1不夠聰明,就可能用R2的路由取代已失效的直接連線,於是就產生了路由環。雖然Hold-down應該防止這類情況, IGRP也實現了split-horizon,因為它可提供更好的算法穩定性。
Split-horizon應該防止相鄰路由器間的路由環,而poison-reverse對於防止較大的路由環是必要的。 路由metric的持續增長通常意味著存在路由環,poison-reverse更新就被傳送以刪除該路由並置於hold-down狀態。 在Cisco的IGRP實現中,如果路由metric以1.1或更大的比例增長就傳送poison-reverse更新信息。
計時器
GRP維護一組計時器和含有時間間隔的變數。包括更新計時器、失效計時器、保持計時器和清空計時器。 更新計時器規定路由更新訊息應該以什麼頻度傳送,IGRP中此值預設為90秒。失效計時器規定在沒有特定路由的路由更新訊息時, 在聲明該路由失效前路由器應等待多久,IGRP中此值預設為更新周期的三倍。保持時間變數規定hold-down周期, IGRP中此值預設為更新周期加10秒。最後,清空計時器規定路由器清空路由表之前等待的時間,IGRP的預設值為路由更新周期的七倍。
基本配置
任務命令
指定使用RIP協定router igrp autonomous-system 1
指定與該路由器相連的網路
network network
指定與該路由器相鄰的節點地址
neighbor ip-address
註:1、autonomous-system可以隨意建立,並非實際意義上的autonomous-system,但運行IGRP的路由器要想交換路由更新信息其autonomous-system需相同。
具體步驟
router igrp 自治域號
同一自治域內的路由器才能交換路由信息。
2.本路由器參加動態路由的子網;
net work 子網號
IGRP只是將由net work指定的子網在各連線埠中進行傳送以交換路由信息,如果不指定子網,則路由器不會將該子網廣播給其它路由器。
3.指定某路由器所知的IGRP路由信息廣播給那些與其相鄰接的路由器;
neighbor 鄰接路由器的相鄰連線埠IP位址。
IGRP是一個廣播型協定,為了使IGRP路由信息能在非廣播型網路中傳輸,必須使用該設定,以允許路由器間在非廣播型網路中交換路由信息,廣播型網路如乙太網無須設定此項。以上為IGRP的基本設定,通過該設定,路由器已能完全通過IGRP進行路由信息交換其他設定。
4.不允許某個連線埠傳送IGRP路由信息
passive-interface 連線埠號
一般地,在乙太網上只有一台路由器時,IGRP廣播沒有任何意義,且浪費頻寬,完全可以將其過濾掉。
5.負載平衡設定
IGRP可以在兩個進行IP通信的設備間同時啟用四條線路,且任何一條路徑斷掉都不會影響其它路徑的傳輸。
當兩條路徑或多條路徑的metric相同或在一定的範圍內,就可以啟動平衡功能。
配置示例
水平分割示例
IGRP可行的後續者關係示例指定的尺度符合合格路由所需的條件,因此,例子中的路徑可包含於路由表中,並用於負載均衡。
路由合格與否,將按以下方式進行測試:
假定路由器C1已經有到網路A的一條路由,尺度為m,且已從C2接收到有關網路A的更新信息,C2的最佳尺度為p,C1通過C2的尺度為n。
如果下列兩個條件滿足,通過C2到網路A的路由將包含在C1的路由表中:
如果m大於p。
如果可變係數(由variance路由器配置命令指定的值)乘以m大於或等於n。
對路由器C1的配置如下:
router igrp 109
variance 10
水平分割示例
下面是在串列鏈上使水平分割失效的簡單例子。在此例子中,串列鏈連線到X.25網路上。
interface serial 0
Encapsulation x25
no ip split-horizon
對於路由器A、B和C(與IP網路12.13.50.0,10.20.40.0和20.155.120.0相連線)的乙太網接口全部預設為水平分割有效,而與網路128.125.1.0和131.108.1.0相連線的串列接口全部預設為水平分割無效。依照路由器接口配置的部分規範,下面的圖示說明在正常情況下並沒有為任何接口明確地配置ipsplit-horizon命令。
在這個例子中,為使網路128.125.0.0通告到網路131.108.0.0,必須使水平分割無效,反之也一樣。這些子網在路由器C的接口SO相交疊。如果在串列接口SO上水平分割有效,則不能為其中任何一個網路傳迴路由到幀中繼網路。
配置路由器A
interface ethernet 1
ip address 12.13.50.1
!
interface serial 1
ip address 128.125.1.2
encapsulation frame-relay
配置路由器B
interface ethernet 2
ip address 20.155.120.1
!
interface serial 2
ip address 131.108.1.2
encapsulation frame-relay
配置路由器C
interface ethernet 0
ip address 10.20.40.1
!
interface serial 0
ip address 128.124.1.1
ip address 128.108.1.1 secondary
encapsulation frame-relay
其他擴展
Cisco IGRP的實現IGRP使用組合用戶配置尺度,包括延遲、頻寬、可靠性和負載。
IGRP也通告三種類型路由:內部、系統和外部。 內部路由是連線到路由器接口的網路中的子網之間的路由。如果連線到路由器的網路沒有子網,則IGRP不通告內部路由。
系統路由是自治系統內的路由。從直接連線,網路接口和其他採用IGRP的路由器或訪問伺服器所提供的系統路由信息中,Cisco IOS軟體獲取系統路由。系統路由不包括子網信息。
外部路由是確認最近常訪問網關(gateway of last resort)時,到自治系統外部網路的路由。Cisco IOS從IGRP提供的外部路由表中選擇最近常訪問網關。如果包沒有更優路由且目的地不在所連線的網路上,軟體使用最近常訪問的網關(路由器)。如果自治系統連線了不止一個外部網路,不同路由器可以選擇不同的外部路由器作為最近常訪問網關。 更新機制預設情況下,運行IGRP的路由器每90秒傳送一次更新廣播,如果在3個更新周期內 (即270秒),沒有從路由中的第一個路由器接收到更新,則宣布路由不可訪問。在7個更新周期(即630秒)後,Cisco IOS軟體從路由表中清除路由。
IGRP使用快速更新(flash update)和抑制可逆更新(poison reverseupdate),加速路由算法的收斂。當通知其他路由器尺度改變時,在標準周期性更新時間段之前就會產生快速更新。
發出抑制可逆更新以清除路由,並把此路由設定為阻塞(holddown),這使新的路由信息與某一時間周期相分離。抑制可逆更新避免了由路由距離增大而引起的大量環路。
網路協定
網路上的計算機之間又是如何交換信息的呢?就像我們說話用某種語言一樣,在網路上的各台計算機之間也有一種語言,這就是網路協定,不同的計算機之間必須使用相同的網路協定才能進行通信。 |