標籤:路由器 封包交換 儲存轉寄 路由選擇協議
路由器是實現封包交換(packet switching)的關鍵構件,其任務是轉寄收到的分組,這是網路核心部分最重要的功能。
封包交換是用儲存轉寄技術實現的。通常我們把要發送的整塊資料稱為一個報文(message),發送報文之前,先把較長的報文劃分為一個個更小的等長資料區段,在每一個資料區段前面加上一些必要的控制資訊組成的首部(header)後,就構成了一個分組(packet),分組又稱為包,而分組的首部也成為包頭。包是在網際網路中傳送的資料單元。
網際網路的核心部分是由許多網路和把它們互連起來的路由器組成,而主機處在網際網路的邊緣部分。主機和路由器都是電腦,但它們的作用很不一樣。主機是為使用者進行資訊處理的,並且可以和其它主機通過網路交換資訊。路由器則是用來轉寄分組的,即進行封包交換的。
路由器收到一個分組,先暫時儲存下來,再檢查其首部,尋找轉寄表,按照首部中的目的地址,找到合適的介面轉寄出去,把分組交給下一個路由器。這樣一步一步地以儲存轉寄的方式,把分組交付到最終的目的主機。
中,假如主機H1向主機H5發送資料,主機H1先將分組逐個地發往與它直接相連的路由器A,路由器A把主機H1發送的分組放入緩衝,假定從路由器A的轉寄表中查出應把分組轉寄到鏈路A-C,於是分組就傳送到路由器C,路由器繼續按照上述方式尋找轉寄表,假定查出應轉寄到路由器E,當分組到達路由器E後,路由器E就把分組直接交給主機H5。
假定在某一個分組的傳送過程中,鏈路A-C的通訊量太大,那麼路由器A可以把分組沿另一個路由轉寄到路由器B,再轉寄到路由器E,最後把分組送到主機H5。
需要注意的是,路由器暫時儲存的是一個個短分組,而不是整個的長報文,短分組是暫存在路由器的記憶體中而不是硬碟中,這就保證了較高的交換速率。
網際網路採用了專門的措施,保證了資料的傳送具有非常高的可靠性,當網路中的某些網站或鏈路突然發生故障時,在各路由器中啟動並執行路由選擇協議能夠自動找到其他路徑轉寄分組。
從上述可知,採用儲存轉寄的封包交換,實質上是採用了在資料通訊的過程中斷續分配傳輸頻寬的策略,這對於傳送突髮式的電腦資料非常合適,使得通訊線路的利用率大大提高了。
中有四個A類網路通過三個路由器串連在一起。每一個網路上都可能有成千上萬個主機。可以想象,若按目的主機號來製作路由表,則所得出的路由表就會過於龐大(如果每個網路有一萬台主機,路由表就有4萬個記錄)。但若按照主機所在的網路地址來製作路由表,那麼每一個路由器中的路由表只包含4條記錄就夠了,每一條記錄對應一個網路。
以路由器R2為例,由於R2同時串連在網路2和網路3上,因此只要目的站在這兩個網路上,都可通過介面0或1有路由器R2直接交付。若目的主機在網路1中,則下一跳路由器應為R1,若目的主機在網路4中,則下一跳路由器應為R3。
再次重申,路由器是按照IP地址的網路號來轉寄分組的,就是說按照目的主機所在的網路轉寄分組。但是大多情況下都允許有這樣的特例:對特定的目的主機指明一個路由,這種路由叫做特定主機路由。
採用特定主機路由可使網路管理員能更方便地控制網路和測試網路,同時也可在需要考慮某種安全問題時採用這種特定主機路由。
分組轉寄演算法如下:
(1) 從資料報的首部提取目的主機的 IP 位址 D, 得出目的網路地址為 N。
(2) 若網路 N 與此路由器直接相連,則把資料報直接交付目的主機 D;否則是間接交付,執行(3)。
(3) 若路由表中有目的地址為 D 的特定主機路由,則把資料報傳送給路由表中所指明的下一跳路由器;否則,執行(4)。
(4) 若路由表中有到達網路 N 的路由,則把資料報傳送給路由表指明的下一跳路由器;否則,執行(5)。
(5) 若路由表中有一個預設路由,則把資料報傳送給路由表中所指明的預設路由器;否則,執行(6)。
(6) 報告轉寄分組出錯。
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
電腦網路之路由器與封包交換