電腦網路與連結技術第十三章 TCP/IP 與 Internet 連結技術 上一頁    下一頁

13-11 自治系統之間 繞路選擇

內容:

13-11-1 自治系統之間網路架構

若傳送封包的目標網路位址不在自治系統(Autonomous System, AS)內,則必須被傳送到自治系統外部,由『外部閘門』(Exterior Gateway)之間尋找適合的路徑傳送,如圖 13-45 所示。外部閘門之間必須按照某個共通的協定來互相傳送路徑訊息及尋找路徑,此協定稱之為『外部閘門協定』(Exterior Gateway Protocol, EGP)。外部閘門和自治系統之間宛如國家邊界,因此又稱為『邊界閘門』(Border Gateway)。邊界閘門所扮演的角色非常的重要,它就像國家的邊界之出入境管理局一樣,負責審核各種封包是否可以進出自治系統。一般自治系統的封包進出都有依其政策型態(Policy dependent)規定,好比如研究機構、或國防單位的管理就更加嚴謹;然而一般環境也必須預防破壞份子的入侵(至於如何防患並不是本書探討的範圍),一般外部閘門之間的都採用『距離向量路徑選擇法』(Distance Vector Routing),目前在 Internet 網路上較常用的是『邊界閘門協定』(Border Gateway Protocol, BGP),我們就以 BGP 協定協定介紹外部閘們之間路徑選擇之功能。(注意 BGP EGP 協定中的一個,兩者名稱不要混擾)

13-45 自治系統之間網路架構

Internet 網路上的外部閘門的路由器又被分為『核心閘門』(Core Gateway)和『非核心閘門』(Non-core Gateway)(即是一般外部閘門)兩種。非核心閘門必須紀錄自己管轄內,自治系統的網路拓樸之路徑選擇資料,以及與核心閘門之間的路徑選擇資料,核心閘門只負責核心閘門之間的路由資料。一般核心閘門是由『網際網路操作中心』(Internet Network Operation Center, INOC)所管理,各自治系統之外部閘門(非核心閘門)都要連接到 INOC,由 INOC 管理整個核心骨幹。

13-11-2 BGP 繞路協定

邊界閘門協定』(Border Gateway Protocol, BGP)有三種路徑選擇型態:

(1) 自治系統之間路徑選擇(Inter-autonomous System Routing。用於若干個外部閘門之間的路徑選擇。外部閘門必須使用 BGP 去紀錄及管理整個網路間拓樸關係,相鄰之間的外部閘門必須負責傳遞網路訊息。

(2) 自治系統內路徑選擇(Intra-autonomous System Routing。用於在同一個自治系統內一個或多個外部閘門之間的路徑選擇。因此,在每一個路由器上必須可觀察到整個自治系統內所有網路的拓樸資料。對於路由器自行管理的區域內(網域內)必須負責管理及建立網路拓樸圖。也因此 BPG 可提供自治系統內或自治系統之間的路由管理。

(3) 貫穿自治系統路徑選擇(Pass-through Autonomous System Routing。如果封包目的位址不在自治系統內,而能直接丟往外部閘門上那就比較單純。但如果邊界網路或外部閘門貫穿自治系統內,那對於路徑選擇就較複雜,如圖 13-46 所示。如圖中,主機 A 欲傳送封包給主機 B,首先必須經過 BGP 找到自治系統的前端路由器,再由自治系統內路徑選擇功能(也許是 RIP OSPF)尋找出另一個前端路由器,再經過 BGP 尋出主機 B 的位址。

13-46 貫穿自治系統之路徑選擇

BGP 協定下外部閘門之間有四個訊息:(1) Open Message:建立兩個閘門之間的交談連線,它是連線後第一個訊息,如欲傳送其他訊息之前,必須使用Open Message 建立雙方對談連線;(2) Update Message:被用來更新外部閘們之間的網路訊息,使各個路由器都能建立一個可觀察整個網路的拓樸圖。Update Message 是由 TCP 連線完成已確定訊息的可靠度。當網路上有任何路徑被抽離,該相連之外部閘門便利用 Update Message 告知相鄰之閘門;(3) Notification Message:當外部閘門發現任何異常狀態,便使用該訊息告知相鄰閘門,或被使用於中斷連線;(4) Keep-alive Message:用來測試前端外部閘門是否還存在,當路由器發現前端閘門不再週期性的發送訊訊息時,便發送該訊息以做測試。

為了能發送以上四種訊息,BGP 有四種封包格式。首先我們來介紹這四種格式的共通封包標頭,這封包標頭如圖 13-47 所示,其中各欄位功能如下:

    • Marker內容為一個認證值,讓訊息接收者可以預定該值。

    • Length表示整個封包的長度。

    • Type表示為 OpenUpdateNotification、或 Keep-alive 的訊息封包。

    • Date內容為上層之資料(OpenUpdateNotification、或 Keep-alive 訊息)。

13-47 GRP 之封包標頭

13-48 Open Message 之封包格式,其中各欄位功能如下:

    • VersionVer):表示該封包的 BGP 版本。

    • Autonomous SystemAS):表示該發送封包者所在的自治系統編號。

    • Hold-TimeHT):表示扣留時間,在這時間內沒有回應的路由器,都被假設已失去功能。

    • BGP IdentifierBGP):傳送該封包的外部閘門號碼(IP 位址)。

    • Optional Parameter LengthO-Len):表示緊接在後的 Optional 欄位的長度。

    • Optional Parameter任意參數。目前僅使用於認證(Authentication)訊息,有兩個部份:Authentication code Authentication data

13-48 Open Message 之封包格式

13-49 Update Message 之訊息封包格式,各欄位功能如下:

    • Unfeasible Router LengthURL):表示緊接著後面Withdrawn Router 欄位的長度。

    • Withdrawn RouterWR):表示有那些已被抽離的路由器(IP 位址表示),可變長度表示之。

    • Total Path Attribute LengthTPAL):表示後面緊接著兩個有關屬性欄位的長度。

    • Path AttributePA):路徑屬性。描述該路徑之特性有能是下列屬性:

      • Origin指派屬性(Mandatory attribute)。為原系統指定之路徑。

      • AS Path經系統指定之經由多個自治系統片段所構成的路徑。

      • Next Hop指派屬性。指定經由邊界網路的下一路徑可到達目的位址。

      • Mult Exit Disc選擇屬性(Option attribute)。在多點路徑之中辨別可到達鄰近自治系統之路徑。

      • Local Pref任意屬性(Discretionary attribute)。 描述任意路由的級數。

      • Atomic Aggregate任意屬性。被使用在表現有關路徑選擇的訊息。

      • Aggregator選擇屬性。包含有關路徑聚集的訊息。

    • Network Layer Reachability InformationNLRI):包含一串列的 IP 位址的網路位址,表示路徑區段

13-49 Update Message 之封包格式

Notification Message 是被用通知路徑狀況的封包,封包格式如圖 13-50 所示,各欄位功能如下:

    • Error CodeEC):該封包表示錯誤的種類,如下列:

        • Message Header Error所傳送的封包標頭發生錯誤。

        • Open Message Error所傳送的 Open Message 錯誤,如版本、自治系統或 IP 號碼、或認證錯誤。

        • Update Message Error所傳送的 Update Message 錯誤,如屬性不合等。

        • Hold Time Expired表示 Hold Time 溢時,將該區段之BGP 被視為沒有功能。

        • Finite State Machine Error協定流程錯誤。

        • Cease結束 BGP 連線,

    • Error Subcode錯誤型態的附加描述碼。

    • Error Data內容為有關錯誤型態的資料。

13-50 Notification Message 之封包格式

由上述幾節的介紹,我們大略可以了解 Internet 網路的架設和基本理論。但隨著 Internet 應用的普及,所使用的層次也漸漸提高,我們不僅要架設一個穩定性好、傳輸率高的網路外,也必須加強網路的保密性,另外要做好網路頻寬管理,除了必須有良好的網路觀念外,實務方面的經驗也非常重要。

 

翻轉工作室:粘添壽

 

電腦網路與連結技術:

 

 

翻轉電子書系列: