這裡將說明原本IS-IS協定設計的緣由,它是因為無連接網路服務(CLNS)而設計出來的,並介紹後來發展出來整合於IP網路環境的IS-IS協定,並且與同為內部閘道協定(IGP)的OSPF協定做比較,清楚分辨兩者之間有那些同與不同之處。
這篇文章所要介紹的是針對無連接網路服務(CLNS)而設計出來的IS-IS協定。CLNS是OSI網路層服務,但是在傳輸資料之前,是不需要有實體線路連接起來的。也因為這個特性,CLNS強調的並不是真正可傳送到目的地的可靠性,它追求的真實是高效率。
標準的IS-IS路由協定是針對CLNS這樣的理念而設計的,不過,標準的IS-IS並不可以直接套用在IP網路,所以後來開發出了一套整合性的IS-IS協定。除了介紹CLNS和IS-IS之外,也會拿IS-IS與OSPF路由協定比較,並說明相關的背景知識。
何謂CLNS與CLNP
所謂的「無連接網路服務」,英文全名為Connectionless Network Service,簡稱CLNS。CLNS在傳輸資料之前,不需要有實體線路連接起來。而在CLNS中所提供的協定或服務稱為CLNP(Connectionless Network Protocol)。
CLNP協定主要被廣泛地使用在電信網路中,而IS-IS協定就是基於這樣的環境被設計出來的,當時是用來管理同步光纖網路(Synchronous Digital Hierarchy,SDH)。除了IS-IS協定之外,ES-IS協定、Q.711的SCCP也都提供CLNS所能運行的服務。
IS-IS路由協定簡介
在CLNS之中,最著名的莫過於IS-IS,IS-IS的全名是Intermediate System to Intermediate System。IS-IS是一種路由協定,相關的標準協議都被定義在ISO 10589:2002標準內,原本是ISO標準,後來則由IETF組織重新發布成RFC 1142文件。
IS-IS是一種內部閘道協定(Interior Gateway Protocol,IGP),所謂的IGP是指用於同一個Administrative Domain或是Administrative Network之中。內部閘道協定(IGP)和外部閘道協定(Exterior Gateway Protocol,EGP)剛好相反。一般來說,最主要的EGP就是邊界閘道協定(Border Gateway Protocol,BGP),BGP是用於在不同的自治系統(Autonomous System,AS)之間溝通的網路協定。這一段可能提到太多用詞與技術,接下來就慢慢地加以解說。
了解自治系統與IGP、EGP
首先,了解一下什麼是自治系統(AS),一個自治系統指的是所有處於相同之管理網域(Administrative Domain)下所有網路的集合,而一個管理網域指的是主機、路由器與內部連接網路的集合,而這個集合是歸屬於同樣的管理下運作的。有些路由協定是運作在同一個自治系統中,而有些路由協定則是運作在不同的自治系統之間,若以運作於自治系統的內部與外部來區分路由協定,則可以分成IGP與EGP。
EGP最開始是在RFC 827文件中被提到,但到了1984年,EGP才正式被定義在RFC 904文件內。之前早期的時候,EGP v3版本被用於自治系統之間的通訊。現在EGP v4版本提供更多的功能,也被廣泛使用於網路路由的通訊。
IGP協定路由演算法種類
了解什麼是IGP、什麼是EGP之後,接著針對IGP做更多的了解。為什麼呢?因為IS-IS協定是屬於IGP協定的一種。
對於IGP而言,其所採用的路由演算法大致分為以下三種:
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)。就是因為這樣類似「以訛傳訛」的運作方式,所以會產生一些問題,但是當然,這些問題都已經有了對應的解決方案。