撥接導向 存取控制 ISDN DDR ACL 路由

需求導向的路由技術與設定(一)

2011-06-20
之前提到的路由傳遞,都是針對在「既有已經建立的網路上」所運行的路由,而事實上,有另外一種是當有須要透過網路傳遞資料的時候,才會建立連線並且執行路由的方式,稱為Dial-On Demand Routing,簡稱DDR,中文稱為「撥接導向路由」。
一般而言,撥接導向路由技術應用在ISDN網路或PSTN網路中,針對傳輸量少或是會定期做網路傳輸動作的網路連線而使用。撥接導向路由可以允許在一般的撥接設備環境中,讓兩個以上的Cisco路由器動態地做連線。

這裡要介紹的撥接導向路由和ISDN網路息息相關,雖然以前筆者已經介紹過ISDN網路的概念,由於考慮到並不是所有的讀者都看過之前針對ISDN網路的介紹文章,筆者會在需要的時候,簡單介紹一下ISDN網路,讓所有讀者都能輕易吸取所有的知識。

關於撥接導向路由,預計將會用三篇文章來介紹整個完整技術,這一期介紹撥接導向路由的技術簡介和設定步驟的第一個步驟,也就是設定靜態路由,此外還會簡單介紹ISDN和廣域網路的知識。

下一期則介紹撥接導向路由設定的第二步驟——定義要傳遞資料的規則,同時介紹在Cisco設備上複雜的ACL設定方式。

最後一期則介紹最後步驟,也就是如何設定撥號相關的資訊到所指定的網路介面上,並順便介紹網路的封裝協定。

何謂撥接導向路由

如同前面所提到的,撥接導向路由允許在一般的撥接設備環境中,讓兩個以上的Cisco路由器動態地做連線。

一般而言,撥接導向路由技術用在ISDN網路或PSTN網路中,針對傳輸量少或是會定期做網路傳輸動作的網路連線而使用。簡單地說,撥接導向路由在需要傳送資料的時候才會建立連線。

在了解撥接導向路由之前,先說明廣域網路的連線類型。基本上,廣域網路包括Leased Line(專線)、Circuit Switched和Packet Switched三種連線類型。

這裡著重在Circuit Switched這種連線類型。這種廣域網路使用時,在整個網路傳輸的過程中,整個網路連線都必須存活著,就像是撥接一般,如下圖所示。

事實上,這種就是「Dial On Demand」的網路類型,正是所介紹的。可以想像,其實ISDN與現在各位使用的電話都是這種網路。

以電話為例應該最容易體會,當在台灣想與外國某個地方聯絡,一開始必須先撥打對方的電話號碼,而當撥接成功後,通訊的過程中,連線都不能中斷,否則整個連線就會中斷,之後如果要繼續傳遞資料(講電話),就必須重新建立連線(撥打電話)。而且也是只有在需要交換資訊時,才會撥號,因此就是Dial On Demand。

電話這種網路,也稱為PSTN,PSTN就是Public Switched Telephone Network的縮寫。而現在要介紹的撥接導向路由就是被用於Circuit Switched的廣域網路的連線種類中。

藉由使用撥接導向路由,可讓廣域網路的使用成本大大地減低,如同剛剛的電話為例,就不必一直讓電話連線著,即使沒什麼話要講也不掛掉,而是當有話要說的時候,才會撥打對方的電話號碼並且對談。

對談結束,就把電話掛掉,同等於切斷網路連線,掛掉後就不會再繼續浪費電話網路的資源。

撥接導向路由運作過程

接下來看看一個撥接導向路由連線是如何產生的。就Cisco路由器而言,要產生一個連線讓雙方傳遞資料之前,當然必須知道雙方的傳遞網路路徑。

第一步驟:決定網路路徑與傳輸介面
當Cisco路由器設備收到封包,首先會去查看本地端的路由表格以便於了解目前路由表中是否擁有已知路徑前往要到達的目的地,若擁有已知的網路路徑,當然也會知道要從哪個介面把這個網路封包傳送出去,這也是第一個步驟的主要工作內容。

第二步驟:決定是否為感興趣的封包?
決定要傳出的介面之後,會先觀察如果傳出的介面被設定為使用撥接導向路由,則會從網路管理人員事先已經定義的感興趣(Interesting)封包的條件,來決定這個封包是否為感興趣的封包,所謂的感興趣的封包係指任何可以用來啟動(Trigger)一個撥號連線(Call)的封包。

第三步驟:決定下一個設備與撥號動作
路由器設備會決定下一個設備的位置在哪裡,然後決定要進行何種撥號動作。

第四步驟:建立連線與傳遞封包
從撥號清單中看看目前這個介面是否連接著遠端的目的地,如果目前這個介面連接著所要的遠端目的地,就會送出封包,而如果這個封包是感興趣的封包,則也會重置(Reset)閒置計時器(Idle Timer)。

一旦這個連線建立之後,基本上所有的網路封包都可以通行,不過在收到感興趣的網路封包之後,就會重置閒置計時器。

如果目前這個介面並沒有連接到遠端的目的地,則使用BRI的路由器就會使用D channel來發送建立連線(Call Setup)的資訊,什麼是BRI和D channel?等一下會詳細介紹。

等到連線建立完成之後,所有的網路封包就都會被傳遞,當然就是包含感興趣的和不感興趣的(Uninteresting),那些所謂不感興趣的網路封包可能就是包含資料與路由更新等等。

第五步驟:中斷連線
剛才提到,一旦收到感興趣的網路封包,就會重置閒置計時器。因此,如果沒有收到感興趣的封包,則閒置計時器就會開始計時,當閒置計時器持續計時到達一定的時間,連線就會中斷。因此,連線的中斷動作是由閒置計時器所控制。

ISDN網路簡介

剛剛在介紹撥接導向路由運作的過程中,第四步驟有提到BRI與D channel,這裡就稍微介紹一下ISDN網路以及ISDN網路的BRI與D channel。

ISDN是廣域網路的技術之一,ISDN基本上包含許多標準,而這些標準都是為了在公開的交換式網路(Public Switched Network)中整合資料與語音等的網路封包,這些標準定義了傳輸介面的規格。

ISDN提供完整的數位方式來傳遞關於影像,語音和封包交換式(Packet-switched)等等資料,因此ISDN能夠完整地承載多種不同的資料。

此外,透過使用Out-of-band的訊號處理,ISDN的連線建立速度相當快,一般而言,ISDN的連線從建立連線到結束連線,可以在一秒鐘之內完成。因此整體來看,ISDN可用於跨多個國家、大量使用廣域網路傳輸各種不同資料的需求。

ISDN網路的D channel

首先,必須了解什麼是D channel。D channel主要用於路由器和ISDN交換機之間,是負責建立ISDN網路連線。ISDN網路所使用的channel包含B channel和D channel,最主要的差別在於速度和使用的環境。

ISDN網路的BRI存取方式

BRI是ISDN網路的其中一種存取方式,ISDN網路有兩種存取的模式,一種是BRI,另一種是PRI,而剛剛所提到的BRI正是其中一種。

BRI是由兩條64kbps的B channel以及一條16kbps的D channel所組成,很多Cisco的設備都是使用BRI,而因為BRI的組成因素,也會稱BRI為2B+D,以便直接代表BRI的channel組成成分,可以馬上了解其速度或channel相關考量因素。

因為B channel所能承載的速度比較快,所以通常被拿來傳遞資料。而D channel一般都是用來處理在B channel上所使用的撥號連線建立處理過程。

撥接導向路由的設定方式

基本上,可以做一套簡單的撥接導向路由的設定,裡面擁有單一套撥號參數設定,然後套用於一個介面上,這樣的基本撥接導向路由設定,稱為Legacy DDR。

關於Legacy DDR,在往後的文章中將會介紹到。如果讀者需要在同一個介面上套用多個不同的撥接導向路由設定值,那麼可以透過使用Profile來達到這個目的。

了解這些差異之後,就來說明該如何設定撥接導向路由。基本上,設定撥接導向路由分成三個主要的步驟:

第一步驟:建立靜態路由以便決定如何前往目的地。這裡會建議使用靜態路由,不然,若使用動態路由,可能交換路由表的時候就會觸發撥號的行為,這可能就不是所想要的情況。

第二步驟:定義何謂有興趣的網路封包,亦即怎樣的網路封包可用來啟動這個連線。

第三步驟:設定撥號相關的資訊,也就像是電話系統的電話號碼。

不過,交換機和路由器的一些基本設定值都必須在這些步驟之前就先設定完成。所以大致上來看,撥接導向路由的連線架構圖會像是下面這樣的網路圖。

一開始,由左邊的伺服器K發送有興趣的封包給路由器A,接著路由器A收到之後,發現是有興趣的封包,就會啟動撥號路由連線,然後經由DCE設備前往ISDN或其他類型的網路到達目的地端的DCE設備。最後,再透過目的地端的路由器設備B傳給目的地端。

第一步驟:設定靜態路由

路由器設備會根據Routing Table的資料來決定如何轉發資料封包,主要有兩種方式可以得知其他電腦與這台路由器設備介面的對應關係,第一種方式就是由管理人員手動輸入,這種方式也稱為靜態路由(Static Route)。

而另一種方式就是透過其他Router設備來學習,學習的方式就是透過路由協定(Routing Protocol)來交換資訊,也就是動態路由(Dynamic route)。這裡將著重於靜態路由的介紹。

靜態路由必須由管理人員手動輸入,好處是速度很快,不須要經過學習,但缺點是網路拓樸若有任何的改變,管理人員必須更新這些資料到Router設備中,比較麻煩,耗費人力,也必須有很好的維護能力才行。這種方式比較適合幾乎不會有變動的網路拓樸。

使用靜態路由的原因

動態路由之所以可以一直得到正確的訊息,是因為各個路由器設備之間不斷互相分享Routing Table的成果。因此,使用動態路由的做法是,當網路有任何改變的時候,並不須要更動Routing Table。

不過,由於現在要介紹的撥接導向路由是只有當需要的時候才傳遞資料,所以不適合使用動態路由,否則就會因為動態路由須要隨時得到最正確的Routing Table而一直傳遞資料,觸發撥接導向路由的可能性。

靜態路由設定指令

設定靜態路由的指令如下所示:

底下用簡單的例子來解釋如何設定靜態路由。以下面這個網路架構圖為例:

在這個網路架構圖中,要在路由器A上設定讓路由器A知道可以透過其本身的S0介面到達172.16.1.0的子網路,這裡準備設定的是靜態路由的方式。

另外,也打算用靜態路由的方式,在路由器B上設定要讓路由器B知道,若從172.16.1.0這個Stub Network連到外面的網路,可以透過路由器A來達成。

根據這樣的需求,在路由器A設備上所必須執行的指令如下:

在以上的指令中,靜態路由指令的關鍵字是「ip route」,後面的172.16.1.0代表這筆靜態路由的目的地的網路IP位址,接著的255.255.255.0就是這個目的地子網路的網路遮罩,而最後的172.16.2.1則代表為了到達目的地而要經過的下一台路由器設備的IP位址。

因為路由器A和路由器B位於同一個網路區段內,所以對於路由器A而言,路由器B的IP位址是172.16.2.1,對於路由器A前往172.16.1.0網路區段而言,路由器B就是下一台路由器設備。因此,這裡要設定路由器B的IP位址。

這樣一來,當路由器A拿到一個要送往172.16.1.0子網路的封包時,路由器A就會知道要把這個封包送給哪一個路由器設備來轉送。

雖然對於路由器A而言,要到達172.16.1.0子網路可能要經過很多很多台路由器設備,但是當然不須要記錄每一台位於路途中的路由器設備,因為路由器A事實上只要知道「下一台」是誰就好,至於接下來要再轉送給誰,那就是下一台路由器設備的責任了。

設定靜態路由的注意事項

要注意一下,設定靜態路由是在Global Configuration模式下執行,因為這個靜態路由資訊是針對整台路由器設備而言的,所以並非在其他模式中設定。若要把這筆靜態路由設定成為「永久存在」,即使介面都關掉了,也要讓這筆靜態路由存在的話,可以在指令的最後面加上permanent關鍵字,如下所示:

靜態路由通常會用來做類似上面這樣的用途,簡單來說,就是要針對那些並非直接連接到這台路由器設備的網路,手動增加這樣的路由資訊。但必須注意的是,針對這種單一連線(Uni-directional)的靜態路由,其設定必須是連線的兩端都要設定才行。

不過,為撥接導向路由設定靜態路由時,必須要注意以下這些事項:

1. 所有相關的路由器設備一定要設定靜態路由,這樣才能保證所有的路由器設備都能正確地轉發網路封包到正確的位置。不過,使用靜態路由時,本來就要把這件事情加入考量。

2. 最好盡量減少靜態路由的資料筆數,這樣的效能會比較好。可以透過匯總(Summarized)路由或預設靜態路由。

預設路由設定方式

事實上,像是預設閘道也是可以透過靜態路由來設定。所謂的預設路由,就是當不知道要將這個封包送往哪裡的時候,就會採用這個預設路由所指定的路徑。採用上面的範例來說明,若要在路由器B上設定,要讓那些不知道要送往哪裡的封包都送到路由器A,其設定方式如下:

這個指令的不同之處就在於把將目的地的網路IP設定為0.0.0.0,並將網路遮罩也設定為0.0.0.0。

檢視靜態路由設定

若要檢視靜態路由的設定值,可以透過「show ip route」指令來查看,這個指令用來檢視所有路由表中的路由資料,其指令與執行結果如下所示:

執行這個指令後,一開始會列出結果中所會用到的種類說明,這個指令在後面的文章中會常常出現,目前讀者只須注意S關鍵字是代表靜態路由,由執行結果的最後一行可以看到這最後一筆的路由前面標示著「S*」,其中S讓人明白這筆的確是靜態路由,而「*」則表示這筆路由是最近一次被使用的路由資訊。

而從這行的剩餘文字可以看出,這筆路由代表的路由方式是「透過Serial 0介面可到達0.0.0.0/0的網路」,而0.0.0.0是用來表示預設路由,因此可以看出這筆路由是指預設的路由。

結語

看完這一期文章,想必各位讀者已經明白DDR這種路由方式,可以做到需求導向的路由,當有需要的時候,才會去建立連線並且執行路由的動作。同時也介紹了ISDN網路中與撥接導向路由相關的知識。

由於撥接導向路由的牽涉範圍比較廣,筆者沒有辦法在一期的文章中全部介紹完畢,因此,打算在後面兩期文章中詳細介紹完整個設定撥接導向路由的設定步驟,看完這些文章之後,讀者就明白如何在Cisco的網路設備中啟用撥接導向路由。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!