Thursday, April 26, 2012

了解交換器如何傳遞封包-1

了解交換器如何傳遞封包

胡凱捷
交換器是網路中一個相當重要的設備,肩負著將網路封包送到正確目的地的任務。本文將講述交換器的主要功能、各種傳送Frame的運作模式以及如何學習來源端MAC位址等等,並且說明交換器在虛擬區域網路內的運作原理。
網路交換器(Switch)設備在網路中負責傳遞網路封包。在傳遞網路封包之前,交換器必須先知道目的地在哪裡、網路封包應該要從哪一個埠傳送出去。為了達到這樣的功能,交換器必須學習並且記錄哪個埠可以到達哪些網路位置,而這個學習過程牽扯到傳遞網路封包的方式。 

接著,還會介紹更複雜的環境:虛擬區域網路(VLAN)。交換器若處於多個VLAN的情況時,如何傳遞資料呢?畢竟有VLAN的環境和沒有VLAN的環境還是不一樣,而VLAN剛好又是交換器一個很重要的功能。因此,本文會詳細說明交換器網路設備在不同的網路環境中如何傳遞網路封包。 

交換器的主要功能 

用於乙太網路中的交換器能夠增加網路的可用頻寬,同時也能根據發送過來的網路封包,分析其中的來源端與目的端的MAC位址,製作出MAC位址表,並藉由這樣的MAC位址表正確地轉發網路封包。 

交換器雖然都是運作在網路七層架構當中的第二層,但是由於交換器擁有較高速的內部結構以及擁有比較多的埠介面,所以與傳統的閘道器(Bridge)比較起來,交換器能夠提供更多的網路流量。 

關於MAC位址的學習,交換器會從它們的埠上監聽所傳進來的Frame(經過交換器的網路封包稱之為Frame),檢測這些資料的來源端MAC位址,並且把MAC位址與埠號的對應關係記錄下來,儲存在本地端的MAC資料庫內,而這份MAC資料庫通常稱之為MAC Address Table或是Content-addressable Memory (CAM) Table。 

當交換器再次收到Frame時,會先到MAC資料庫中查看從哪個埠出去可以到達這個目的地MAC位址所指定的機器,如果目的端的MAC位址能夠在MAC資料庫內被找到,則這個Frame就只會從學習到的埠號轉發出去。 

倘若在MAC資料庫中找不到這樣的對應關係,這個Frame就會從所有其他的埠轉發出去(來源埠除外)。這裡所指的Frame,有人用中文稱它為「幀」,但是筆者建議還是使用原有英文來指稱會比較好。 

交換器網路設備傳送Frame的模式 

交換器在傳送Frame時,有「Store and Forward」、「Cut Through」、「Fragment-Free」三種可用的運作模式,以下分別加以介紹。 

Store and Forward模式 

在Store and Forward模式下,交換器會先把Frame完整地接收下來,然後才進行轉發的動作。因為在這個模式下,整個Frame都會被讀取,所以來源端及目的端的MAC位址都能夠被讀取。 

另外,CRC(Cyclic Redundancy Check)的錯誤檢查動作也會被執行,並採用相關的篩選動作,之後才會進行轉發。如果CRC的檢查失敗,這個Frame就會被遺棄。這種轉送模式雖然能夠確保Frame中資料的正確性,但是也比較費時,其所需要的延遲時間與Frame的資料長度有關。 

Cut-Though模式 

在Cut-Through轉送模式中,就不會像Store and Forward模式這樣的麻煩,一旦接收到Header之後,看到目的端的MAC位址,就會馬上執行Frame的轉送動作。 

因此,Cut-Though模式比Store and Forward模式快上許多,而且Cut-Though模式所需要的時間,並不會因為Frame的長度變長就跟著變多,因為閘道器及交換器只想取得目的端的MAC位址,而目的端的MAC位址都一定會存放在Frame資料內最前面的Header之內。 

不過,雖然有些交換器在這種模式下只想讀取MAC位址,但還是有某些交換器會讀取CRC值並記錄下錯誤數目,不過一旦有錯誤發生,在這種模式下,是不會將這個Frame遺棄,而是針對設定值自動或手動切換成Store and Forward模式。 

這種可以允許切換的Cut-Though又稱為Adaptive Cut-Though模式,此種模式結合了Cut-Though模式與Store and Forward模式的優點。 

Fragment-Free模式 

在Fragment-Free模式中,交換器只會讀取Frame的前64個bytes(這也是乙太網路中Frame最小的資料單位),而最主要原因是,在乙太網路中碰撞幾乎都是發生在前64個bytes之中,因此一旦發生碰撞,就會產生小於64個bytes的Frame資料。所以,交換器經由讀取前64個bytes資料,就可以初步篩選經由碰撞所產生的Frame資料。 

Fragment-Free模式的速度比Cut-Though更快,而且一旦發現有錯誤的Frame,將會把這樣的Frame丟棄,這是與Cut-Though模式不同的地方。這個模式也稱為Modified Cut-Though模式。 

了解交換器如何傳遞封包-2

了解交換器如何傳遞封包

胡凱捷
交換器是網路中一個相當重要的設備,肩負著將網路封包送到正確目的地的任務。本文將講述交換器的主要功能、各種傳送Frame的運作模式以及如何學習來源端MAC位址等等,並且說明交換器在虛擬區域網路內的運作原理。


交換器如何學習來源端MAC位址 

剛剛提到交換器會把Frame內來源端的MAC位址與埠的對應表記錄到MAC資料庫中,而這資料庫所能記錄的筆數和設備的型號有關,例如Cisco Catalyst Switch 2950系列就能記錄8,192筆。 

假設現在有一台Cisco交換器,其中四個埠分別接到不同的電腦,其各個電腦的MAC位址如下圖所示: 




當交換器第一次開機後,MAC位址資料庫是空的。也因此,當交換器收到Frame之後,一定會從所有其他的埠轉發出去,除了來源埠之外。這種轉發到除來源埠以外的其他埠的動作,稱為「Flooding」。用這種Flooding的動作來轉送Frame很沒有效率,因為會浪費很多網路頻寬。 

假設現在A發送一個Frame要送給D,如下圖所示,則這個Frame會經由E0介面傳送給中間這個Cisco交換器,假設這台Cisco交換器是使用Store and Forward模式,則這個Frame到了Cisco交換器之後會先存放在暫時緩衝區中。 




接著,因為這台交換器還沒有學到這個MAC位址應該要送往哪個埠,所以預設上就會採用Flooding的作法,透過其他的埠把這個Frame轉送出去,而在收到這個Frame的同時,這台交換器同時也學到一件事情:從E0這個埠出去可以到達A這台機器(因為交換器能夠經由E0介面收到由A這台機器的MAC位址所發送的Frame)。 

因此,這個新學習到的資訊就成為MAC資料庫的第一筆資料。此時MAC資料庫中可能就有以下這樣的資料: 




在MAC資料庫中的每一筆資料並非永遠存在,一旦某筆資訊在MAC位址資料庫中經過300秒沒有更新,就會被強制移除,除非這筆資料的MAC位址所對應的電腦在300秒內繼續發送Frame到交換器上,這筆資訊的計時器才會重新開始計算。 

假設接著C想發送Frame給A,如下圖所示。這個Frame會經由E4這個埠傳送到中間這個交換器。緊接著,Cisco交換器會去查看MAC位址資料庫中是否可以找到A這台機器的MAC位址資訊。 




因為剛才這台交換器已經學到可以透過E0這個埠找到A,所以這個Frame就只會經由E0這個埠傳送出去,這是因為C送給A而學習到C的MAC位址與E2的關係。 

此時,MAC資料庫中的資料就會存放以下的對應關係: 




這樣的學習模式會一直進行,等到所連接之網段上的所有MAC位址都被學習過,這台交換器就能夠完完全全做到智慧型的轉發動作(Intelligent Forwarding)。 

不僅如此,這樣的學習也有助於Frame的篩選動作,因為Frame只會發送到真正需要送往的埠而已,這樣就可以節省整體的網路頻寬,這種篩選動作稱為「Frame Filtering」。 

經由集線器的Frame篩選過程 

假設目前在Cisco交換器和一般PC端之間架設集線器(Hub)設備,而這台Cisco交換器已經學到A和B兩台電腦的MAC位址和埠的對應關係,如下圖所示。 




若A想送Frame給B,一開始,A會把Frame送給集線器,而集線器因為沒有辦法像交換器一樣可以學習MAC位址,所以為了能夠送達目的地,集線器就會把這個Frame做Flooding,送往所有的埠,用亂槍打鳥的心態傳送Frame。 

這樣一來,B在不需要Cisco交換器轉送Frame的情況下就可以收到由A發送過來的Frame,此時,Cisco交換器收到這個Frame後,將不會再經由原來的埠送回給集線器。 

廣播與群播的轉送過程 

即使交換器已經學習完整個網路中各個電腦的MAC位址與交換器的埠的對應關係,對於廣播與群播的封包而言,也都會用Flooding的方式來轉送,算是比較特別的案例。 

不過也是因為廣播與群播所代表的MAC位址,根本不可能存在於真正的網路中,例如廣播的MAC位址是FFFF.FFFF.FFFF,所以在找不到這個MAC位址的情況下,MAC資料庫內根本不知道廣播與群播的MAC位址要送往哪裡,因為無從學習起,所以就會用Flooding的方式來解決。

了解交換器如何傳遞封包-3

了解交換器如何傳遞封包

胡凱捷
交換器是網路中一個相當重要的設備,肩負著將網路封包送到正確目的地的任務。本文將講述交換器的主要功能、各種傳送Frame的運作模式以及如何學習來源端MAC位址等等,並且說明交換器在虛擬區域網路內的運作原理。


交換器在VLAN之中的傳輸封包方式 

一般來說,若在眾多的交換器之間架設VLAN,則只有在同一個VLAN中的電腦才可以互相傳遞資料。在交換器內部,事實上是透過限制資料的轉送來達到這種VLAN的資料傳遞過程。 

剛提到當交換器收到資料之後,會根據學習過的MAC位址對應表來決定資料要送往哪個埠,如果沒有學習過的話,則預設會Flooding到所有的埠,這是因為預設上所有的埠都是屬於預設的VLAN中,換句話說,所有的埠都屬於同一個VLAN,因此這樣的Flooding動作不會有什麼問題。 

但如果有分割VLAN的話,就不能這樣做,因為這樣做就會把某個VLAN的資料送往其他的VLAN,因此在這種情況下,交換器會了解哪些埠是屬於哪個VLAN,而會限制Flooding的時候只能送往同一個VLAN之中。 

而當VLAN的資料要跨越多個交換器傳遞到其他交換器所連接的同一個VLAN時,就必須使用Trunk技術。因為交換器之間只會用一條網路線連接起來,而這條網路線必須要能傳遞承載所有VLAN的資料。為了達到這種需求,在設定這種交換器之間的連線時,就必須設定成Trunk類型。 

Trunk的分類 

Trunk主要分成兩種協定:802.1Q協定和ISL協定。簡單來說,Trunk會在資料中增加一個標籤,也就是Tag,用來表示目前這份資料是屬於哪一個VLAN。 

貼上標籤之後,再把這份資料傳到另一台設備,另一台設備收到之後,再根據這個標籤得知這份資料是屬於哪個VLAN,然後把這份資料送往所屬的VLAN。這就是Trunk主要的工作。 

所以,這個Trunk必須要能夠傳送所有VLAN的資料,反正也不會搞混,因為都會在資料上貼上標籤。接著,就分別針對這兩種Trunk協定探討它們之間的不同之處。 

802.1Q協定 IEEE 802.1Q協定通常在VLAN中用來連接多個交換器與路由器(Router)設備,而Cisco的設備在Fast Ethernet和Gigabit Ethernet的介面上都支援IEEE 802.1Q協定。 

基本上,每一個套用802.1Q協定的埠都會被指定成Trunk類型,而所有在Trunk上的埠都隸屬於native VLAN當中,預設上,是這樣沒錯,但是管理者還是可以指定到不同的VLAN中。 

而native VLAN是設備上預設的VLAN,一開始拿到Cisco交換器時,所有的埠都會被指派到native VLAN中,所以全部的埠都可以互相通訊,因為都是屬於同一個VLAN。 

native VLAN有一個作用,就是所有沒有被貼上標籤的資料都會被送往這個native VLAN。每個VLAN都會有一個ID,用來區分各個VLAN,而native VLAN的預設ID就是VLAN 1。 

還有一點值得注意的是,只有802.1Q協定才有native VLAN,ISL並沒有native VLAN。也因為沒有貼上標籤的資料都會在native VLAN上遊走,所以交換器設備也不會在native VLAN內所傳遞的資料中貼上標籤了。 

接著來看看下面這個範例,就可以參透native VLAN的所有觀念。 

假設現在要架設三個VLAN,其VLAN ID分別是VLAN 1、VLAN 2及VLAN 3,其中,VLAN 1是native VLAN,之間用兩台Cisco交換器連接著,在Cisco交換器中間有一台集線器,如下圖所示: 




其中IP為10.1.*.*是處於VLAN 1中,而IP為10.2.*.*則是處於VLAN 2中,IP為10.3.*.*則被分派於VLAN 3內。因為10.1.1.1和10.1.1.3都屬於native VLAN,所以由10.1.1.1和10.1.1.3互相傳遞的資料都不會被貼上標籤,因此這樣的資料也可以被10.1.1.2收到。 

至於資料封包的標籤位置,則是置放在封包中間。一個標準的IP封包依序包含以下各個欄位: 

1. 目的端位址資訊,占封包的6個位元組。
2. 來源端位址資訊,占封包的6個位元組。
3. 用來指明資料長度或乙太網路種類的資訊,占封包的2個位元組。
4. 資料本身,占封包的46∼1,500個位元組。
5. FCS,占封包的4個位元組。 

貼上標籤後,整個資料封包會變成: 

1. 目的端位址資訊,占封包的6個位元組。
2. 來源端位址資訊,占封包的6個位元組。
3. 802.1Q協定專用標籤,占封包的4個位元組。
4. 用來指明資料長度或是乙太網路種類的資訊,占封包的2個位元組。
5. 資料本身,占封包的46∼1,500個位元組。
6. FCS,占封包的4個位元組。 

由上面可以看出,802.1Q協定會把標籤插在資料封包的中間位置,並增加4個位元組的空間,因此,整個資料長度最長會是1,522個位元組。而標籤中的內容包含乙太網路類型、PRI值、Token Ring專屬封裝用的Flag以及VLAN ID。 

ISL協定 
另外一種協定就是ISL,ISL是Inter-Switch Link的縮寫。ISL協定是Cisco設備專用的,但也不是每一款Cisco設備都有支援,只有某幾款Cisco設備才支援ISL協定。 

ISL協定運作於OSI網路七層架構的第二層,作法就是在前面增加一段表頭,並在最後面新增一段CRC。由於ISL協定與任何協定無關,因此ISL協定能夠封裝任何種類的上層協定資料。 

ISL協定所新增的表頭大小為26個位元組,而最後面新增的CRC大小為4個位元組。在前面的表頭中包含VLAN ID和BPDU資訊,當然還有包含很多其他的資訊,例如埠的ID、SA的前三個位元組等等,由於過於繁雜,這裡就不一個個詳細介紹。 

若要使用ISL協定,網路中每一台設備都必須做好正確的ISL設定才行,因為ISL協定所使用的資料封包長度超過乙太網路所能接受的長度,所以一旦不支援ISL協定的設備收到這樣的封包,會認為是錯誤的封包而直接遺棄。乙太網路的正確封包大小是64到1,518個位元組。

了解交換器如何傳遞封包-4

了解交換器如何傳遞封包

胡凱捷
交換器是網路中一個相當重要的設備,肩負著將網路封包送到正確目的地的任務。本文將講述交換器的主要功能、各種傳送Frame的運作模式以及如何學習來源端MAC位址等等,並且說明交換器在虛擬區域網路內的運作原理。


802.1Q與ISL協定的比較 

ISL協定是用硬體來實作,因此所能支援的VLAN個數依照硬體的好壞而定,速度也是依照硬體的等級而定,與802.1Q協定不同。802.1Q協定是在軟體上處理的,所以速度想必一定比較慢。 

另外,當決定要使用哪一種的協定時,也要考慮到整個網路的設備廠牌,若使用ISL協定,則代表所有的設備都一定要採用Cisco的設備,因為這是Cisco專屬的協定。兩者各有好壞,端由網路管理人員來決定。 

802.1Q和ISL協定最大的不同,在於它們的標籤置放方式不同,這點請讀者注意,尤其是要準備CCNA認證的讀者,Trunk一向都是考試的重點之一。 

交換器可能造成的問題 

大多數複雜的網路架構都會使用相同重複的設備來避免某一設備運作失常的情況,交換器也是如此。要了解交換器的技術,免不了一定要知道這些問題,如此一來,當發生類似的問題時,才能了解背後真正的造成原因為何。 

同一個網路中使用多個交換器 

許多大型的網路拓樸中,網路管理人員通常會使用一個以上的交換器,這樣一來,當某些交換器運作失常,其他交換器也能繼續維持整個網路的運作,例如下圖所顯示的網路拓樸: 




在這個網路中使用兩個交換器,若Switch A或Switch B其中一個運作失常,則另外一台可以馬上取而代之,維持網路運作。這樣的作法當然是不錯,不過也因此造成其他的問題。可能造成的網路問題有三個: 

1. 廣播風暴(Broadcast Storm)
2. 發送多個重複資料(Multiple Frame Copies)
3. MAC位址資料庫不一致(MAC Address Table Instability) 

以下就分別針對這三個問題予以介紹。 

廣播風暴 

如同上一張圖例所示,假設伺服器(Server)發送一個廣播封包出來,例如當伺服器想發送ARP(Address Resolution Protocol) Request來根據IP查找MAC位址時,這種ARP request就是屬於廣播封包。另外,DHCP也是屬於廣播封包的一種。 

接著,當Switch A收到這個廣播之後,如同剛才所說的,會把這個廣播封包Flooding出去,假設Switch A是從Segment 1收到廣播封包,則Switch A會把這個封包從兩個方向再送給Switch B,而Switch B收到這個廣播後,也會做相同的動作,並把這個廣播封包再送給Switch A。 

此時,Switch B也會從另一個方向收到另一次的廣播,因此又會再一次地發送更多的廣播封包,如此一來,即使目的地已經收到廣播封包,但是這樣的無窮迴圈所造成的廣播風暴會繼續,並占據著網路頻寬,而且網路上的廣播封包會越來越多,直到整個網路被這樣的廣播封包占滿為止。 

這樣的廣播風暴不只會造成網路癱瘓,也會耗盡網路上各個設備的資源,因為這種廣播封包的處理過程需要CPU來處理。解決這個問題的方法就是避免迴圈的產生(Loop Avoidance)。 

發送多個重複資料 

和上面的問題一樣,可透過上一張圖例來解釋這個可能造成的問題。假設左上角的伺服器要發送一個封包給路由器,而此時路由器的MAC位址還沒有被下面這兩台交換器學習到,這個封包中的目的地MAC位址當然指定著路由器的MAC位址,而當伺服器送出這個封包後,路由器因為和伺服器處於同一個網路區段,所以路由器會從Segment 1直接收到這個封包。 

另外,這個伺服器也會把這個封包傳送給Switch A,而Switch A收到之後,因為在MAC位址資料庫內找不到相對應的資料,所以會採用Flooding的作法,把這個封包傳送出去。 

接著,當Switch B經由Segment 2網段收到由Switch A送過來的封包之後,也因為在MAC位址資料庫中找不到相對應的資料,又會再次把這個封包Flooding出去。 

最後,路由器又會收到一次由Switch B送出的相同封包。這個問題的解決之道和上面的一樣,只要避免迴圈產生即可。 

MAC位址資料庫內容不一致 

這個問題主要是因為上一個問題而產生的。如同上一個問題所談到的範例,假設左上角的伺服器要發送一個封包給路由器,而此時路由器的MAC位址還沒有被下面這兩台交換器學習到。這裡假設圖片中,兩台交換器上面的埠為E0,下面的埠為E1,以方便解釋。這裡取部分圖例來講解: 



了解交換器如何傳遞封包-5

了解交換器如何傳遞封包

胡凱捷
交換器是網路中一個相當重要的設備,肩負著將網路封包送到正確目的地的任務。本文將講述交換器的主要功能、各種傳送Frame的運作模式以及如何學習來源端MAC位址等等,並且說明交換器在虛擬區域網路內的運作原理。
當伺服器送出要給路由器的封包之後,這兩台交換器都是從E0介面收到這個封包,但由於在MAC位址資料庫中找不到相對應的資料,所以都會從E1的介面Flooding出去。但是,因為同時也學到伺服器的MAC位址,所以兩個交換器的MAC位址資料庫的內容類似於下面這樣的表格(假設伺服器的MAC位址為0260.8C01.0001): 




接著,Switch A會從Segment 2的E1介面收到封包,E1介面就會以為伺服器在Segment 2這裡,於是又會更改MAC位址資料庫中的內容,而Switch B也會從Segment 2的E1介面收到封包,它的E1介面也會以為伺服器在Segment 2這邊,於是又會更改MAC位址資料庫中的內容。此時,這兩個交換器的MAC位址資料庫的內容會被改成: 




但事實上,伺服器的實體位置根本就沒有變動過,卻因為收到不應該收到的重複封包而影響MAC位址資料庫的內容,造成不一致的情況。

同樣地,解決這個問題的方法也是透過迴圈的避免(Loop Avoidance),而STP(Spanning Tree Protocol)就是用來避免網路迴圈的問題發生。 

結語 

讀完這篇文章之前,也許很多讀者原本就大略耳聞交換器在網路中所扮演的角色,但是可能對於運作的細節並不清楚。 

這一篇文章針對交換器如何在網路之中傳遞網路封包做了完整的介紹,並且針對有無VLAN來分別介紹。最後也介紹了交換器是否可能因為在學習網路封包目的地的過程中而造成的問題和解決方案,希望這些對讀者們有所幫助。

細說Link-State路由演算法

內部路由協定大觀園
細說Link-State路由演算法

胡凱捷
路由協定可以分成內部路由協定和外部路由協定兩大類型,而對於內部路由協定而言,所採用的路由演算法有三種類型:Distance Vector、Link State以及混合前面兩種的方法。而本文要介紹的是其中的Link-State路由演算法。


從運作方式來看,Link-State路由演算法比較複雜,不像Distance Vector路由演算法那樣簡單,雖然各種的路由協定可能大都是使用Distance Vector路由演算法如RIP、IGRP等等,但還是有部分路由協定採用Link-State路由演算法,因此對於專業的網路管理人員來說,這依然是必備的專業知識之一。在這篇文章中,除了會解釋Link-State路由演算法如何維護路由相關的資訊,還會提及Link-State路由演算法的優點和缺點,以及使用Link-State路由演算法所必須注意的地方。

路由協定在自治系統的分類 

路由協定有很多分類的方式,其中一種分類方式是根據自治系統的運作範圍來做分類。自治系統,就是指Autonomous System,簡稱為AS。一個自治系統是所有處於相同管理網域(Administrative Domain)下所有網路的集合,而一個管理網域指的是主機、路由器與內部連接網路的集合,而這個集合是歸屬於相同管理下運作的。

有些路由協定是運作在同一個自治系統中,而某些路由協定則運作在不同的自治系統之間。若以運作於自治系統的內部與外部來區分路由協定,則可以分成內部路由協定(Interior Gateway Protocol)與外部路由協定(Exterior Gateway Protocol)。內部路由協定簡稱為IGP,外部路由協定則簡稱為EGP。屬於內部路由協定的路由協定包含RIPv1、RIPv2、IGRP、EIGRP和OSPF。而屬於外部路由協定的路由協定則有BGP。而本文將著重在內部路由協定的部分。

路由演算法的分類 

對於內部路由協定而言,其所採用的路由演算法大致分為以下三種: 1. Distance Vector 2. Link State 3. Balanced Hybrid

簡單來說,Distance Vector是用方向與所必須經過的設備數目(Hops)來決定路徑,並會在鄰近的路由器設備之間互相分享這些路徑資料,而Link State則是使用最短路徑演算法(Shortest Path First)。 Distance Vector路由演算法與Link State路由演算法最大的不同就是,Link State演算法只會傳遞少部分更新的路由資料,而且會把這樣的更新資料傳遞到各個路由器設備中,而Distance Vector路由演算法則會傳遞整份的資料,而且只會傳遞給鄰近的路由器設備。

不過,即使路由資料沒有任何的改變,Distance Vector也會將整份路由資料發送出來,而這裡所謂的整份路由資料指的是發送端路由器設備中Routing Table的完整資料。當鄰近的路由器設備收到這整份路由資料之後,會開始比較已知的路由路徑,並把有更新過的資料同步的本地端路由器設備中。由於這種方式都會假設接收到的資料一定是比自己還要新的資料,所以通常也被稱為「謠言路由方式」(Routing by rumor)。就是因為這樣類似「以訛傳訛」的運作方式,所以會產生一些問題,但幸好這些問題都已經有了對應的解決方案。 

Link-State路由演算法簡介 

所謂路由演算法,就是如何選擇網路路徑以便於發送網路封包。而Link-State路由演算法,其實就是使用所謂的最短路徑優先演算法(Shortest Path First,SPF)來決定網路路徑,顧名思義,就是以最短的網路路徑為最佳網路路經的優先考量,Link-State路由演算法就是用這種方式來維護其存放網路路徑的資料庫內容。 

Link-State路由演算法的儲存資料 

Link-State路由演算法會使用以下五種資訊來維護整個路由資訊:

1. LSA(Link-State Advertisements) 2. 網路拓樸資料庫(Topological Database) 3. 最短路徑優先演算法(SPF) 4. 最短路經優先(SPF)樹狀結構 5. 存放網路路徑的Routing Table

其中,網路拓樸資料庫也被稱為Neighbor-ship Database,而最短路徑優先(SPF)樹狀結構也稱為Link-State Database,而最後用來存放網路路徑的Routing Table就相當於存放「最佳路徑」的地方。 經典的Link-State路由演算法有OSPF路由協定和IS-IS路由協定,其中OSPF的概念與相關詳細運作內容被定義在RFC 2328文件中,有興趣的讀者可以前往閱讀,其RFC 2328的網址是「http://www.ietf.org/rfc/rfc2328.txt」。

基本上,Link-State路由演算法會從其他路由器中收集有關於整個網路的路徑資訊,也就是說,整個網路中所有的路由器會互相交換並傳遞所知的網路路徑資訊。到最後,每一台網路中的路由器設備都會對整個網路有一定的了解,因此整個網路上的每一台路由器設備都會有整個網路的路徑表,等到收集完整個網路的路徑資訊之後,每一台路由器設備自行計算屬於自己的「最佳網路路徑」,而這樣的資訊在各個路由器設備之間是不完全相同的。

事實上,Link-State路由演算法這樣的設計主要是用來彌補Distance Vector路由演算法的缺點。Link-State路由演算法能夠針對網路的變化做出比較快速的回應動作。當網路有所變化的時候,Link-State路由演算法會發送更新過的網路路徑資訊,而平常的時候,Link-State路由演算法也會固定發送路徑更新資訊,預設是每隔30秒做一次。根據這樣的概念,整個網路上所有的路由器設備在一段時間之後,彼此之間的網路拓樸資料庫內容就越能一致,因為資料會互相做同步的動作。

為何稱為Link-State路由演算法 

為什麼要稱為Link-State路由演算法?其實這裡所指的Link是代表路由器設備的連接埠介面,而State所代表的是由某個介面連接到鄰近路由器設備的連線關係資訊,這連線關係的資訊包含:連接埠介面上的IP位址、子網路遮罩、所連接的網路種類以及所連接的鄰近路由器設備的資訊等等。

而這些Link和State所累積起來的資料就是這裡所指的Link-State的意思,也是代表網路拓樸資料庫的內容。而網路拓樸資料庫是用來計算網路中的最佳網路路徑,計算方式是使用著名的Dijkstra SPF演算法,並會建立SPF的樹狀結構。而最佳網路路徑會從SPF樹狀結構中選出,然後放到Routing Table之中。 

透過LSA封包來同步路由資料 

當網路發生問題時,Link-State路由演算法就會開始發送LSA網路封包,其發送的方法是透過群播(Multicast)的方式來對整個所在網路做發送的動作。當網路上所有套用Link-State路由演算法的路由器設備收到這樣的LSA封包之後,會複製一份LSA給自己用,而這份LSA會拿來更新自己的網路拓樸資料庫的內容,然後再把原本的LSA轉發給其他鄰近的路由器設備。

一旦有任何的路由器設備發送LSA封包出來,就會讓所有的路由器設備重新計算自己的網路路徑,更新它們的Routing Table,也因為這樣,所以單一個網路中,使用Link-State路由演算法的路由器設備最好不要太多,不然網路一旦發生變化,就會迫使整個網路的所有路由器設備全都重新計算Routing Table和最佳網路路徑等資料。

這樣設計的結果是,所有使用Link-State路由演算法的路由器都會持有一份完整的網路拓樸資訊,當然包含這些網路之間是如何連接等種種資料。另外,LSA的觸發是當網路變化時就會馬上送出,所以網路資料「收斂」速度比較快。 

Link-State的雙層網路架構 Link-State路由演算法提供兩層式的網路架構環境,而在這兩層的網路架構中,有Area和Autonomous System這兩個主要的構成元素。

其中,Autonomous System又稱為自治系統,有時候也稱為Domain,一個自治系統包含一堆使用相同路由設定的網路,而一個自治系統可以分成多個Area。一個Area指的是一群連續的網路,多個Area可組合成一個自治系統。而整個雙層式網路架構如下圖所示: 

▲兩層式網路架構環境


上圖中,中間的網路區段與下面兩個網路區段所形成的網路就是自治系統。在每一個自治系統中,必須有一個稱為Backbone Area的網路,這個Backbone Area是與外部路由網路互相連接的區段,也負責外部路由網路與自治系統內部其他網路的溝通,所以也就是Transition Area。除了Backbone Area之外,自治系統中其他的網路區段就是Non-Backbone Area。 

這裡必須注意的是,自治系統中所有的Non-Backbone Area都必須連接到Backbone Area上,而在OSPF路由協定中,Non-Backbone Area可以被設定成為Stub Area或設定為Stubby Area,也可以設定成所謂的NSSA(Not-So-Stubby Area)網路,以便於降低Link-State路由演算法所需的資料庫大小,也可以減少Routing Table的資料筆數,而提升網路整體的效能。

各個路由器扮演的角色 

在這種雙層式網路架構中,各個路由器都扮演著許多不同的角色,而每種角色在OSPF路由協定和IS-IS路由協定中的名稱又不相同,以下就分別列出在這種網路架構中的各種路由器角色:

1. 在Backbone Area中,路由器C在OSPF路由協定中稱為Backbone Router,而在IS-IS路由協定中又稱為L2 Router。這種角色的路由器的工作就是提供不同Area之間的連接性。 
2. 在Backbone Area中,Router B被稱為Autonomous System Boundary Router(ASBR),亦即自治系統邊界路由器,用來連接外部路由網域和自治系統。 
3. 在Non-Backbone Area中,路由器D和路由器E在OSPF路由協定中稱為Area Border Routers(ABRs),而在IS-IS路由協定中則被稱為L1/L2 Routers。這種路由器用於連接不同的Area,並維護所連接Area的Link-State路由資料庫,當然也負責轉送封包到其他的Area中。 
4. 在Non-Backbone Area中,除了ABR(也就是L1/L2 Routers)之外的其他路由器,在OSPF路由協定中都稱為Non-Backbone Internal Router,而在IS-IS路由協定中則稱為L1 Routers。因為這種路由器是接在Non-Backbone Area的內部,所以所接觸的網路只限於Non-Backbone Area內部,也因此,這些路由器只須要維護所屬Area相對應的路由資料庫即可。

而路由器A當然是屬於其他的自治系統。另外,ABR會向內部Area中其他路由器發送預設路由設定,讓所有其他路由器的預設路由都指向ABR,如此一來,當Non-Backbone Internal Router要發送網路封包到其他Area時,就會送到ABR的手上。

Link-State路由演算法的優點 

Link-State路由演算法採用雙層式網路架構,此種網路架構最大的優點就是,因為分成多個獨立的Area,所以可以減少Routing Table中的資料筆數,提升網路效能。另一個優點就是,每一個Area中的網路異常都不會影響其他Area網路的正常運作。如果拿Link-State路由演算法與一般傳統式的Distance Vector路由演算法比較,Link-State路由演算法所具備的優點如下(這裡所取用的Distance Vector路由演算法的範例為RIPv1或RIPv2):

Link-State路由演算法根據實際的網路路徑成本來考量並選擇出最佳網路路徑,而這樣的成本計算更能反映出網路路徑的好壞。另外,Link-State路由演算法的路由資料更新頻率比較不高。 由於Link-State路由演算法將網路區分成雙層式網路架構,而在這種架構中,也分成多個Area,因為在同一個Area中所發生的網路變動,是不會影響到其他Area,所以路由資料的更新範圍比較小,網路改變所造成的影響也比較少,並不需要牽動到整個網路所有的路由器。

另外,最重要的當然就是Link-State路由演算法可以用最快的速度達到網路路由收斂,因為一旦網路發生變化,Link-State路由演算法可以馬上送出更新過後的網路狀況給同質性網路中的所有路由器,所以收斂速度自然比Distance Vector路由演算法還快。也因為每個路由器都有完整的網路路徑資料,所以很難發生類似Distance Vector那樣的路由迴圈(Routing Loop)的狀況。

之前所提到的LSA網路封包,其實裡面會有序號,其所具備的資料也是有時限性的,就因為如此,所以套用Link-State路由演算法的路由器會選擇最新的LSA封包,並參考其裡面的內容。

除此之外,若有優良的網路設計,就可以減少Link-State路由演算法中網路拓樸資料庫的資料筆數,這樣一來,就可以減少SPF演算法的計算次數,也可以降低演算法所需的時間。 Link-State路由演算法的網路設定一般而言還算蠻簡單的,但也不會因此而失去原有能力。如果套用到比較複雜的網路環境時,可以調整Link-State路由演算法設定參數值,也可以讓設定比較複雜且具有彈性,也就是說,Link-State路由演算法適用於簡單及複雜的網路環境。

而在疑難排解方面,Link-State路由演算法也比Distance Vector路由演算法來得容易許多,這裡指的是當網路管理人員要做疑難排解時,毋須牽動到太多路由器設備,因為每一台路由器設備都擁有整個網路的路由資料。

Link-State路由演算法的缺點 

雖然上面列出不少Link-State路由演算法的優點,但其實Link-State路由演算法還是有許多的缺點,以下就分別列出關於Link-State路由演算法的缺點。

Link-State路由演算法要維護的資料比較多,也比較複雜,與Distance Vector路由演算法比較起來,Link-State路由演算法除了Routing Table之外,還要維護網路拓樸資料庫(Topology Database)、鄰近設備資料庫(Adjacency Database)和封包轉發資料庫(Forwarding Database)。一旦網路環境比較複雜的時候,這些資料所占用的記憶體就會很多。所以,硬體設備的需求就會比較大。

因為Link-State路由演算法是使用Dijkstra的最短路徑演算法來計算網路中的最短路徑,而這種演算法需要大量的CPU運算時間,所以如果網路架構很大或是擁有很複雜的網路架構時,Link-State路由演算法就會占用許多CPU運算。此外,如果網路中常常發生設備不穩定或是網路連線不穩定的情況,就會造成Dijkstra演算法計算頻率升高,如此一來,也會讓CPU使用率飆高。



前面提到因為Link-State路由演算法可能會讓CPU使用率飆漲,也會占用大量記憶體,所以可能的解決方案就會是盡可能地善用雙層式網路架構,並且切割成多個Area,這樣每個Area中的網路就會比較簡單,同一個Area中的Link-State路由演算法計算次數也會比較少,而且Routing Table和各種資料庫中的資料筆數也會比較少,但前提是這樣的網路設計會有很多很多限制,例如切割好的各個Area網路必須是連續性的,而且每個Area中的每一台路由器設備必須永遠都能接收並且發送LSA網路封包到同一個Area中的其他路由器設備。

此外,每個Area中的Area Border Router都必須能夠連接到Backbone Area上,不然的話,這個Area就沒有辦法和其他的Area作資料傳輸的動作。

而在複雜的網路架構中,雖然可以把Link-State路由演算法的設定調整成可以適用於複雜的網路,但是設定的方式相當麻煩,將會是一項相當大的挑戰。

前面關於Link-State路由演算法的優點中提到,疑難排解會比較簡單,其理由不外乎是因為Link-State路由演算法會將整個網路的資訊全部儲存起來,所以對某一台路由器設備做疑難排解,還不至於需要動用其他路由器設備,但由於資料又多又複雜,所以必須對Link-State路由演算法有相當的了解才能進行比較順利的疑難排解。 此外,在套用Link-State路由演算法的一開始,由於對於每一台路由器設備而言,都需要完整的網路資訊,但是在套用初期,每一台路由器設備都沒有這樣的資訊,因此所有設備會在一開始瘋狂傳遞LSA網路封包,以便互相分享網路的所有資訊,但是這個時候,整個網路可能就沒有辦法傳遞其他正常的網路封包。雖然這種情況只會發生在套用Link-State路由演算法最開始的時期,但是這種影響卻非常容易被觀察出來。

混合式路由協定截長補短 

以前文章所提到的Distance Vector路由演算法以及這一篇文章所提到的Link-State路由演算法,從中不難看出,這兩種路由演算法似乎各有好壞。簡單的路由演算法,雖然好用,但是卻容易發生問題,而複雜的路由演算法雖然問題比較少,但卻需要花費比較多的資源(如CPU運算、記憶體空間、初期網路頻寬)。

為此,出現了採用Distance Vector路由演算法和Link-State路由演算法的混合式路由協定。而Cisco專屬的EIGRP路由協定正是使用這種混合式的作法。

大致而言,這種混合式的路由協定會採用Distance Vector路由演算法,將之套用在比較精確的資料上,以便於決定網路上的最佳路徑。何謂比較精確的資料?因為這種混合式的路由協定雖然在這方面是採用Distance Vector路由演算法的方式,但卻和一般的Distance Vector路由演算法不同,這種混合式的路由協定並不會定期發送網路的狀態與資訊的更新。

這裡所採用的方式是當網路發生變化時,馬上發送相關的網路資訊給每個路由器,去觸發這種路由更新的動作,在這方面算是學習到Link-State路由演算法的優點,去除了Distance Vector路由演算法的缺點。

也因為這樣,這種混合式的路由協定,其網路路由收斂速度比原本的Distance Vector路由演算法還要快上許多。不僅如此,這種混合式的路由方式也不會像Link-State路由演算法一樣會耗費大量的CPU資源、記憶體資源和網路資源。在這方面,混合式路由協定所強調的是更經濟的作法。

如何選擇適用的路由演算法 

那麼到底怎樣的情況下要採用Link-State路由演算法呢?當然這就是網路管理人員所需要思考的問題。這裡筆者提出一些可以思考的地方讓讀者做參考。首先,要看看讀者所負責的網路架構,如果每個網路區段的路由器設備相當多的話,基本上不太建議使用Link-State路由演算法,因為LSA封包的更新在路由器設備數目很高的情況之下,很可能造成一定的負擔。

如果路由器設備的硬體規格(CPU和記憶體等等)還算不錯的話,可以考慮使用Link-State路由演算法。讀者看完這篇文章的介紹,應該也能體會到Link-State路由演算法需要比較好的硬體設備來處理路由資料,無論是儲存或運算都是如此。否則,還是使用Distance Vector路由演算法會比較適合。

結語 

本文講述了Link-State路由演算法的詳細運作流程、儲存資料的方式、所使用的雙層式網路架構,還有在這樣的雙層式網路架構中,各個路由器所扮演的角色。當然,最重要的莫過於最後拿Link-State路由演算法與Distance Vector路由演算法來比較的優缺點,各位讀者也可以自行比較Link-State路由演算法與Distance Vector路由演算法的差異,這將有助於了解這兩種演算法的不同。最後也提到混合式路由協定的產生,就結合了這兩種路由演算法的優點,也就是著名的Cisco EIGRP路由協定。

路由協定設定疑難排解

四種類型一次說清楚
路由協定設定疑難排解

胡凱捷
從這篇文章開始,筆者將整理出各種常見路由協定的疑難排解技巧,包含如何檢視路由協定的設定值,以及如何做到即時的偵錯技巧。而為了讓讀者快速容易地了解偵錯的過程與指令的用法,都會透過範例來解說,這樣讀者就更能真正明白指令輸出結果的含意,而範例中也會大略介紹設定路由協定環境的指令。這裡將介紹RIP路由協定、IGRP路由協定、EIGRP路由協定和OSPF路由協定等相當知名且常用的路由協定。
若要做路由協定相關的疑難排解,當然不一定只有以下所介紹的這些方法,而是要看當時遇到的情況而定。有時候不一定是路由協定的問題,且偵錯方法也很多,通常可以查看Routing Table,或是透過「show running-config」指令來查看目前正在使用的路由器設定值,或是執行「show ip protocols」指令來查看協定的設定情況。

  偵錯的方法其實千變萬化,唯有深入明白每一個環節,清楚所有運作的關鍵以及原理,才能夠真正靈活地運用偵錯的技巧。

RIP路由協定 

先從RIP路由協定開始介紹,直接來看一個簡單的範例。假設網路架構圖如下所示,現在要在每一台路由器設備上都套用RIP路由協定並加以啟動。



上圖中有X,Y與Z三台路由器設備,其中路由器X接到172.16.1.0和10.1.1.0兩個網段,其兩邊介面的IP分別為172.16.1.1與10.1.1.2,因此路由器X的RIP路由協定設定指令如下:

RouterX(config)#router rip RouterX(config-router)#network 172.16.0.0 RouterX(config-router)#network 10.0.0.0

其中,172.16.0.0和10.0.0.0分別代表路由器所接的兩個網路區段的Major Network Number。同理,因為路由器Z接到192.168.2.0和10.1.2.0兩個網段,假設路由器Z針對這兩個網段的IP分別為192.168.2.1與10.1.2.3,則在路由器Z上設定RIP路由協定的指令如下:

RouterZ(config)#router rip RouterZ(config-router)#network 192.168.2.0 RouterZ(config-router)#network 10.0.0.0

在設定IP網路區段的Major Network Number時,哪一個網段先設定,哪一個網段後設定,並沒有差別,只要「都設定」就可以。接著剩下的就是路由器Y,路由器Y連接到10.1.1.0和10.1.2.0兩個網段。假設路由器Y在這兩個網段的IP位址為10.1.1.5和10.1.2.7,則要在路由器Y上設定RIP路由協定的指令如下:

RouterY(config)#router rip RouterY(config-router)#network 10.0.0.0

因為10.1.1.0網段和10.1.2.0網段的Major Network Number相同,所以只要設定一次即可。

檢視RIP路由協定設定的方法 
檢視RIP路由協定的指令是「show ip protocols」。這裡以上面的範例來說明,假設要檢視路由器Z的RIP路由協定設定值,則執行結果如下:

RouterZ#show ip protocols 
Routing Protocol is “rip” 
Sending updates every 30 seconds, next due in 15 seconds Invalid after 180 seconds, hold down 180, flushed after 240 
Outgoing update filter list for all interfaces is 
Incoming update filter list for all interfaces is 
Redistributing: rip 
Default version control: send version 1, receive any version Interface Send Recv Triggered RIP Key-chain Ethernet0 1 1 2 Serial2 1 1 2 Routing for Networks: 10.0.0.0 192.168.2.0 Routing Information Sources: Gateway Distance Last Update (this router) 120 01:12:34 10.1.2.7 120 01:01:56 Distance: (default is 120)

由上面的執行結果可以看出路由器Z設定成使用RIP路由協定,這可以從執行結果的第一行看出。接著,由第二行可以發現這個路由資料會每隔30秒互相傳遞一次,而且能夠看出下一次傳送路由資訊的時間為15秒之後。而這每隔30秒傳送一次路由資訊的設定是可以改變的。

接著,觀察輸出結果的第三行「Invalid after 180 seconds, hold down 180, flushed after 240」。第一個180秒代表如果這台路由器Z經過180秒都沒有收到由其他路由器所傳過來的路由更新資訊,則路由器Z會將相關的路由路徑標示為可能無法到達,即Possibly Down。而「hold down 180」中所指的180則是Hold-Down Timer的時間,所以當路由器Z發現有Possibly Down的路由資訊時,就會馬上啟動Hold-Down Timer。

如果經過180秒後,都沒有再收到這筆路由資訊的更新,路由器Z就會把這筆路由資訊視為無法到達。至於最後的「flushed after 240」所指的是,若經過240秒後都沒有再收到任何關於這筆路由資訊的更新,則路由器Z會把這筆資料從Routing Table中移除。

在顯示結果的後半部,有一行顯示「Routing for Networks:」。而在此行後面接了兩個網段,這代表目前這台路由器將會處理這兩個網段的路由資訊。至於接在「Routing Information Sources:」後面的IP位址,則代表這些位址會傳送路由的更新資訊給目前這台路由器。讀者應該可以聯想到,後面所接的120指的就是RIP路由協定的AD值。如果覺得這樣的檢視資訊過於複雜,也可以執行以下的指令以便顯示比較簡短的設定值:

RouterZ#show ip interface brief

RIP路由協定即時偵錯 
如果想即時查看目前這台路由器更新路由資訊的情況,可以執行「debug ip rip」指令。一旦執行這個指令,往後如果這台路由器收到或是發送任何路由資訊的更新時,就會馬上把相關的資料列印在螢幕以便即時偵錯。以上述的例子來講解,假設在路由器Z上執行「debug ip rip」指令,則執行結果如下列所示:

RouterZ#debug ip rip 
RIP protocol debugging is on 
RouterZ# 
00:04:06: RIP: received v1 update from 10.1.2.7 on Serial2 00:04:06: 10.1.1.0 in 1 hops 00:04:06: 172.16.1.0 in 2 hops 00:04:11: RIP: sending v1 update to 255.255.255.255 via Ethernet0(192.168.2.1) 
00:04:11: network 10.0.0.0, metric 1 00:04:11: network 172.16.1.0, metric 3 00:04:11: RIP: sending v1 update to 255.255.255.255 via Serial2(10.1.2.3) 
00:04:11: network 192.168.2.0, metric 1

透過這個指令,可以在第一時間得知目前這台路由器如何更新自己的Routing Table以及如何影響其他路由器的Routing Table。上面的資訊看起來似乎很亂,接著就來一一解釋。一開始執行「debug ip rip」指令之後,第一行看到的是:

RIP protocol debugging is on

這代表目前已經開啟偵錯模式。接著,路由器就會等待下一次要接收或發送路由更新的資訊。而接下來三行代表收到由其他路由器送過來的路由更新:

00:04:06: RIP: received v1 update from 10.1.2.7 on Serial2 00:04:06: 10.1.1.0 in 1 hops 00:04:06: 172.16.1.0 in 2 hops

10.1.2.7是路由器Y在10.1.2.0網段的IP位址,因此這邊第一行代表的就是「從本地端的Serial 2介面收到由10.1.2.7路由器所發送的RIPv1的路由更新資訊」,而下面兩行則顯示出所得到的路由更新有哪些。其中,第二行代表「從路由器Z開始算,經過一個路由器設備後,可以到達10.1.1.0網段」。同樣地,第三行代表的是「從路由器Z開始算,經過兩個路由器設備之後,可以到達172.16.1.0網段」。

而接下來如下的這三行,第一行代表正在目前這台路由器Z的Ethernet0介面傳送路由更新資訊到其他設備中。假設Ethernet0是路由器Z接往192.168.2.0網段的介面,由這一行中也可以看出所傳送的正是RIP路由協定,而且是v1版本。

另外,255.255.255.255是Broadcast位址,所以此路由資訊是藉由Broadcast方式送出。而後面兩行顯示所送出的路由更新資料有哪些。

00:04:11: RIP: sending v1 update to 255.255.255.255 via Ethernet0(192.168.2.1) 00:04:11: network 10.0.0.0, metric 1 00:04:11: network 172.16.1.0, metric 3

從這裡的第二行可以看出路由器Z想傳送的資料就是「透過我這台路由器,經過一台設備可到達10.0.0.0網段」,同樣地,下一行代表「透過我這台路由器,一共經過三台設備可到達172.16.1.0網段」。至於執行結果的最後兩行,讀者也就可以清楚明白其含意了。(更多精采文章詳見網管人第54期)

活用LSA的OSPF路由協定

活用LSA的OSPF路由協定

胡凱捷
前面幾篇文章,筆者已經介紹包含RIP、IGRP和EIGRP等許多路由演算法給各位讀者,接下來本文要介紹的是另一個也非常重要的OSPF路由協定。
本文將介紹的OSPF路由協定屬於IGP(Interior Gateway Protocol)協定,而OSPF路由協定也屬於Classless的Link State路由協定。之前介紹的RIP路由協定、IGRP路由協定和EIGRP路由協定全部都屬於Distance Vec tor路由協定,這和本篇要介紹的OSPF路由協定截然不同。為什麼在介紹過這麼多種路由協定之後,還要再介紹OSPF路由協定呢?因為OSPF路由協定也經常被使用,因此身為一個專業的網管人員,也必須要了解。

OSPF路由協定介紹 

首先介紹OSPF路由協定的由來。OSPF路由協定是由IETF(Internet Engineering Task Force)機構的IGP工作部門所開發被用於IP網路層的路由協定。在1980年代,RIP路由協定雖然被廣泛地使用,但由於RIP路由協定的單一路徑最多只能支援15個網路設備,所以開始無法適用於大型的網路環境,因此當時才會研發出IGRP路由協定,且同時開發OSPF路由協定。

OSPF路由協定專有特色 
也因為OSPF路由協定的產生是為了解決RIP路由協定的設備數量的問題,所以OSPF路由協定當然就沒有設備數量(Hop Count)的限制,除此之外,OSPF路由協定有一點比較特別的是,其第二版是開放性標準(Open Standard),並且被定義在RFC 2328文件內,而且由於OSPF路由協定屬於IGP協定,所以這也代表OSPF路由協定必須被使用在同一個自治系統中。

另外,比較重要的特色就是OSPF路由協定採用的是最短路徑優先演算法(Shortest Path First Algorithm)。以下整理出一些OSPF路由協定的特色:

1. OSPF路由協定屬於開放性標準。 
2. OSPF路由協定第二版的定義在RFC 2328文件內。 
3. 沒有設備數量(Hop Count)的限制。 
4. 採用最短路徑優先演算法(Shortest Path First Algorithm,SPF)。 
5. 必須運作於同一個自治系統中,屬於IGP協定。

若掌握到這些特色,就不難區分OSPF路由協定與其他路由協定的差異之處了。

OSPF與Distance Vector路由協定的差異 
OSPF路由協定是屬於Link State路由協定,與RIP、EIGRP和IGRP路由協定都不同,EIGRP、RIP、IGRP屬於Distance Vec tor路由協定,這些Distance Vec tor路由協定會發送全部或是部分Routing Table中的資料給鄰近的設備。而OSPF路由協定則會使用LSA的方式與其他路由器設備交換資訊,而不只是Routing Table的更新資訊而已。

Link State路由協定簡介 
Link-State路由演算法會使用以下五種資訊來維護整個網路的路由資訊:

1. LSA(Link-State Advertisements) 
2. 網路拓樸資料庫(Topological Database) 
3. 最短路徑優先(SPF)演算法 
4. 最短路徑優先樹狀結構 
5. 存放網路路徑的Routing Table

其中,網路拓樸資料庫也被稱為Neighbor-ship Database,而最短路徑優先樹狀結構也被稱為Link-State Database,而最後用來存放網路路徑的Routing Table就相當於存放「最佳路徑」的地方。

經典的Link-State路由演算法有OSPF路由協定和IS-IS路由協定,其中OSPF的概念與相關詳細運作內容被定義在RFC 2328文件內,有興趣的讀者可以前往閱讀, RFC 2328的網址是「http://www.ietf.org/rfc/rfc2328.txt」。

基本上,Link-State路由演算法會從其他路由器中收集整個網路的路徑資訊,也就是說,整個網路中所有的路由器會互相交換,並傳遞所知的網路路徑資訊。最後,每一台網路中的路由器設備都會對整個網路有一定的了解,因此整個網路上的每一台路由器設備都會有整個網路的路徑表。等到收集完整個網路的路徑資訊後,每一台路由器設備自行計算屬於自己的「最佳網路路徑」,而這樣的資訊在各個路由器設備之間是不完全相同的。

事實上,Link-State路由演算法這樣的設計主要是用來彌補Distance Vec tor路由演算法的缺點。Link-State路由演算法能針對網路變化做出比較快速的回應。當網路有所變化的時候,Link-State路由演算法會發送更新過的網路路徑資訊,平常的時候,Link-State路由演算法也會固定發送路徑更新資訊,預設是每隔30秒做一次。根據這樣的概念,時間久了之後,整個網路上所有的路由器設備間的網路拓樸資料庫內容就越能一致,因為會互相同步。(更多精彩文章請參閱網管人第60期﹚

Sunday, April 22, 2012

FrameRelay Vs ATM

The physical layer (OSI Layer 1) protocols describe how to provide electrical, mechanical, operational, and functional connections to the services of a communications service provider.

The data link layer (OSI Layer 2) protocols define how data is encapsulated for transmission toward a remote location and the mechanisms for transferring the resulting frames. A variety of different technologies are used, such as Frame Relay and ATM. Some of these protocols use the same basic framing mechanism, High-Level Data Link Control (HDLC), an ISO standard, or one of its subsets or variants.

Many WAN users do not make efficient use of the fixed bandwidth that is available with dedicated, switched, or permanent circuits because the data flow fluctuates. Communications providers have data networks available to more appropriately service these users. In packet-switched networks, the data is transmitted in labeled frames, cells, or packets. Packet-switched communication links include Frame Relay, ATM, X.25, and Metro Ethernet.

Common Packet Switching WAN Technologies

The most common packet-switching technologies used in today's enterprise WAN networks include Frame Relay, ATM, and legacy X.25.

X.25 is a legacy network-layer protocol that provides subscribers with a network address. Virtual circuits can be established through the network with call request packets to the target address. The resulting SVC is identified by a channel number. Data packets labeled with the channel number are delivered to the corresponding address. Multiple channels can be active on a single connection.

Typical X.25 applications are point-of-sale card readers. These readers use X.25 in dialup mode to validate transactions on a central computer. For these applications, the low bandwidth and high latency are not a concern, and the low cost makes X.25 affordable.

X.25 link speeds vary from 2400 b/s up to 2 Mb/s. However, public networks are usually low capacity with speeds rarely exceeding above 64 kb/s. 

X.25 networks are now in dramatic decline being replaced by newer layer 2 technologies such as Frame Relay, ATM, and ADSL. However, they are still in use in many portions of the developing world, where there is limited access to newer technologies.

Frame Relay

Although the network layout appears similar to X.25, Frame Relay differs from X.25 in several ways. Most importantly, it is a much simpler protocol that works at the data link layer rather than the network layer. Frame Relay implements no error or flow control. The simplified handling of frames leads to reduced latency, and measures taken to avoid frame build-up at intermediate switches help reduce jitter. Frame Relay offers data rates up to 4 Mb/s, with some providers offering even higher rates.

Frame Relay VCs are uniquely identified by a DLCI, which ensures bidirectional communication from one DTE device to another. Most Frame Relay connections are PVCs rather than SVCs. 

Frame Relay provides permanent, shared, medium-bandwidth connectivity that carries both voice and data traffic. Frame Relay is ideal for connecting enterprise LANs. The router on the LAN needs only a single interface, even when multiple VCs are used. The short-leased line to the Frame Relay network edge allows cost-effective connections between widely scattered LANs.

ATM

Asynchronous Transfer Mode (ATM) technology is capable of transferring voice, video, and data through private and public networks. It is built on a cell-based architecture rather than on a frame-based architecture. ATM cells are always a fixed length of 53 bytes. The ATM cell contains a 5 byte ATM header followed by 48 bytes of ATM payload. Small, fixed-length cells are well suited for carrying voice and video traffic because this traffic is intolerant of delay. Video and voice traffic do not have to wait for a larger data packet to be transmitted.

The 53 byte ATM cell is less efficient than the bigger frames and packets of Frame Relay and X.25. Furthermore, the ATM cell has at least 5 bytes of overhead for each 48-byte payload. When the cell is carrying segmented network layer packets, the overhead is higher because the ATM switch must be able to reassemble the packets at the destination. A typical ATM line needs almost 20 percent greater bandwidth than Frame Relay to carry the same volume of network layer data.

ATM was designed to be extremely scalable and can support link speeds of T1/E1 to OC-12 (622 Mb/s) and higher. 

ATM offers both PVCs and SVCs, although PVCs are more common with WANs. And as with other shared technologies, ATM allows multiple VCs on a single leased-line connection to the network edge.

MPLS Comparisons

Comparisons

[edit]With frame relay

Frame relay aimed to make more efficient use of existing physical resources, which allow for the underprovisioning of data services by telecommunications companies (telcos) to their customers, as clients were unlikely to be utilizing a data service 100 percent of the time. In more recent years, frame relay has acquired a bad reputation in some markets because of excessive bandwidth overbookingby these telcos.
Telcos often sell frame relay to businesses looking for a cheaper alternative to dedicated lines; its use in different geographic areas depended greatly on governmental and telecommunication companies' policies.
AT&T is currently (as of June 2007) the largest frame relay service provider in the United States, with local networks in 22 states, plus national and international networks. This number is expected to change between 2007 and 2009 when most of these frame relay contracts expire. Many customers are likely to migrate from frame relay to MPLS over IP or Ethernet within the next two years, which in many cases will reduce costs and improve manageability and performance of their wide area networks.[19]

[edit]With ATM

While the underlying protocols and technologies are different, both MPLS and ATM provide a connection-oriented service for transporting data across computer networks. In both technologies, connections are signaled between endpoints, connection state is maintained at each node in the path, and encapsulation techniques are used to carry data across the connection. Excluding differences in the signaling protocols (RSVP/LDP for MPLS and PNNI:Private Network-to-Network Interface for ATM) there still remain significant differences in the behavior of the technologies.
The most significant difference is in the transport and encapsulation methods. MPLS is able to work with variable length packets while ATM transports fixed-length (53 byte) cells. Packets must be segmented, transported and re-assembled over an ATM network using an adaptation layer, which adds significant complexity and overhead to the data stream. MPLS, on the other hand, simply adds a label to the head of each packet and transmits it on the network.
Differences exist, as well, in the nature of the connections. An MPLS connection (LSP) is unidirectional—allowing data to flow in only one direction between two endpoints. Establishing two-way communications between endpoints requires a pair of LSPs to be established. Because 2 LSPs are required for connectivity, data flowing in the forward direction may use a different path from data flowing in the reverse direction. ATM point-to-point connections (virtual circuits), on the other hand, are bidirectional, allowing data to flow in both directions over the same path (Both SVC and PVC ATM connections are bidirectional. Check ITU-T I.150 3.1.3.1).
Both ATM and MPLS support tunneling of connections inside connections. MPLS uses label stacking to accomplish this while ATM uses virtual paths. MPLS can stack multiple labels to form tunnels within tunnels. The ATM virtual path indicator (VPI) and virtual circuit indicator (VCI) are both carried together in the cell header, limiting ATM to a single level of tunnelling.
The biggest advantage that MPLS has over ATM is that it was designed from the start to be complementary to IP. Modern routers are able to support both MPLS and IP natively across a common interface allowing network operators great flexibility in network design and operation. ATM's incompatibilities with IP require complex adaptation, making it comparatively less suitable for today's predominantly IP networks.

WAN Protocols

WAN Protocols

The Internet or Wide Area Network gained prominence in the recent past due to its ubiquitous nature of facilitating information sharing and business management across the globe. As any kind of activity is governed by a set of rules and standards, so is the functioning of this intricate WAN structure. WAN protocols are those protocols or technologies, which determine the efficient performance of WANs. These have a profound impact on business continuity, a key factor for Enterprises.
Technological appliances can function efficiently based on the features they support and the protocols governing the same. WANs (Wide Area Networks) use diverse networking equipment and technology. They differ from what is used by Local Area Networks (LANs). Most WAN protocols and technologies are layer 2 protocols (data link layer). The key WAN protocols that are in use are Asynchronous Transfer Mode (ATM), Broadband Access, Frame Relay, Point-to-Point Protocol (PPP), Synchronous Optical Network (SONET), Synchronous Digital Hierarchy (SDH), X.25, and a few other WAN protocols. It is important to have a deeper understanding about these concepts as they are the links to enhancing applications over the Internet, and thereby power businesses in the competitive marketplace. The following is a brief outline of some of the more important protocols

Asynchronous Transfer Mode

ATM is a packet switching protocol that enables encoding of data traffic into small predetermined sized cells. This protocol is based on connection-oriented technology. It operates by establishing between two end points, a virtual circuit even before exchange of data commences. The protocol suite of ATM sets up a mechanism to route traffic on a data stream that has fixed 53-byte packets. Switching and multiplexing are alleviated through using the fixed-sized cells. In order for communication to be established, two systems on the network are required to notify every intermediate switch regarding service demands and traffic parameters. As a cell relay protocol, ATM renders data link layer services, which run over layer 1 links. Comprising inherent properties of circuit switched as well as packet switched networks, ATM is well suited for WAN data networking and real-time media transport.
ATM supports diverse services through ATM Adaptation Layers (AALs). The AAL transmits the ATM cells between the ATM layer and a higher layer. It performs an operation called Segmentation and Reassembly (SAR), an important task. Data is segmented into ATM cells while information received from the higher layers is relayed. During the process, the AAL reassembles payloads in a format that can be understood by higher layers. ATM, as an essential WAN protocol, also plays its major role, that is, one of informing the network about the type of traffic to be transmitted and the traffic’s performance requirements. This concept is also interlinked to Quality of Service (Qos), a crucial service for uninterrupted and ‘always up’ connectivity in businesses.

Broadband Access

Broadband or Broadband Internet Access refers to high speed Internet access, and is one of the most popular of WAN protocols due to its high data transmission rate. Broadband can yield speeds of 256 kbit/s or more. Digital Subscriber Line (DSL) and cable modems are the standard broadband technologies used in a majority of areas. Newer technologies that have evolved include Very High Bitrate DSL (VDSL or VHDSL) and fiber-optic cables. DSL is based on modem technology for Internet access over copper telephone lines. Multiple DSL users are connected to the high-speed network using a Digital Subscriber Line Access Multiplexer (DSLAM). The telephone company employs the DSLAM to effectuate aggregation of data transmission from available DSL lines and then interconnecting them to the ATM network. At the transmission end point, a DSLAM forwards data to a DSL connection after demultiplexing the signals.
The different types of DSL connections (ADSL, HDSL, SDSL, IDSL and VDSL), collectively referred to as xDSL, establish connectivity between the telephone company and office. Digital Subscriber Lines use several modulation technologies: Discrete Multitone Technology (DMT), Simple Line Code (SLC), Carrierless Amplitude Modulation (CAP), Multiple Virtual Line (MVL), and Discrete Wavelet Multitone (DWMT).
Integrated Services Digital Network (ISDN), the basic network system of early WAN protocols, provides digitized phone connectivity and enables high speed transmission of voice, data, video and graphics across standard communication lines at the same time through bearer channels. ISDN can be transmitted through packet switched networks, and other types of networks besides telephone networks. ISDN service comprises two basic types, namely basic Rate Interface (BRI) and Primary Rate Interface (PRI). While BRI contains a total 160 kb/s for use of individual users, PRI offers a total of 1536 kb/s and is designed for users who require more capacity, such as large Enterprises.

Frame Relay

Frame Relay, a WAN protocol based on packet switching technology, is exclusively for internetworking Local Area Networks (LANs), that is, transmission of data between LANs and WAN end points. A cost-efficient method, frame relay is widely used by network providers as an encapsulation method for voice and data, and used between LANs across a Wide Area Network. The user will have a private or leased line to a frame relay node. Frame relay works on the physical and data link layer, and facilitates information transfer from one user device to another over multiple switches and routers.
Advancements in other technology have resulted in a steady decline in usage level of frame relay technology. However, rural areas that are yet to experience technology such as DSL and cable modem, continue to use this cost-effective WAN protocol with continuous connectivity at 64 kb/s.

Point-to-Point Protocol

PPP is a data link protocol that is used to directly connect two nodes across serial cables, telephone line, trunk line, cellular phone, exclusive radio links, or fiber optic links. Point-to-point protocol is a WAN protocol widely used by customers for dial-up access to the Internet. This protocol helps to establish connection over synchronous and asynchronous circuits. Encapsulation is an important function of PPP wherein PPP frames, in order to provide framing and other routines such as detection of transmission errors, are encapsulated in a lower layer protocol. Point-to-Point Protocol over Ethernet (PPPoE) and Point-to-Point Protocol over ATM (PPPoA) are the two standard encapsulated PPP forms. They are employed to perform functions such as those executed by DSL services.

SONET/SDH

Synchronous Optical Networking (SONET) and Synchronous Digital Hierarchy (SDH) are multiplexing WAN protocols, which enable transport of multi digital bit streams across the same optical fiber by using Light Emitting Diodes (LEDs) or lasers. SONET and SDH are closely related protocols that are based on circuit mode communication. SDH ascertains compatibility between optical-fiber based digital telephone links instead of copper cables. Deployed in a broad way, SONET/SDH enables various ISPs to share the same optical fiber simultaneously without interrupting each other’s traffic load. They are physical layer protocols, which offer continuous connections without involving packet mode communication, and are distinguished as time division multiplexing (TDM) protocols.

X.25

X.25 is packet-switched network based WAN protocol for WAN communications. It delineates data exchange and control of information within a user appliance, Data Terminal Equipment (DTE) and a network node, Data Circuit Terminating Equipment (DCE). X.25 comprises physical links such as packet-switching exchange (PSE) nodes for networking hardware, leased lines, and telephone or ISDN connections. Its unique functionality is its capacity to work effectively on any type of system that is connected to the network. X.25, although replaced by superior technology, continues to be in use. It utilizes a connection-oriented service that enables data packets to be transmitted in an orderly manner.

WAN solutions to address specific needs

Every business requires enhanced technology solutions to maintain its WAN infrastructure, which is the kernel of communication. Innovators in the technology business, offer a comprehensive suite of WAN solutions, which are custom made to strengthen the WAN infrastructure for enterprises. These technology products provide advanced features including dynamic load balancing of inbound and outbound data traffic, optimization, reliability, security and WAN acceleration, Quality of Service (QoS), data compression, VPN security, VPN encryption capabilities. The competitive business world finds these solutions indispensable for the stability of Wide Area Networks decide the achievement of their business continuity goals.
Related Posts Plugin for WordPress, Blogger...