1 / 26

IP 封包的傳送 與路徑選擇

IP 封包的傳送 與路徑選擇. 靜宜大學資工系 蔡奇偉 副教授 2006. 大綱. 連接方式 傳送方式 路徑選擇的方法 靜態與動態路徑選擇 路徑表與路徑選擇模組. 連接方式. 預接式 (connection-oriented) 本地端網路層的協定必須先與遠端地點的網路層協定建立連線後才能送封包。當連線建立之後,同一來源的封包就可以一個接一個送到同一目的地。,這樣子,封包間彼此存在著關係,它們依相同路徑一個接一個送出。當屬於同一個訊息的所有封包都送完後,原先建立的連線即告終止。 非預接式 (connectionless)

Download Presentation

IP 封包的傳送 與路徑選擇

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IP 封包的傳送與路徑選擇 靜宜大學資工系 蔡奇偉 副教授 2006

  2. 大綱 • 連接方式 • 傳送方式 • 路徑選擇的方法 • 靜態與動態路徑選擇 • 路徑表與路徑選擇模組

  3. 連接方式 預接式 (connection-oriented) 本地端網路層的協定必須先與遠端地點的網路層協定建立連線後才能送封包。當連線建立之後,同一來源的封包就可以一個接一個送到同一目的地。,這樣子,封包間彼此存在著關係,它們依相同路徑一個接一個送出。當屬於同一個訊息的所有封包都送完後,原先建立的連線即告終止。 非預接式 (connectionless) 非預接式的網路層協定視每個封包為一獨立個體,彼此沒有關係,同一訊息的封包可能以不同路徑送到其目的地。

  4. IP 為非預接式的協定,這是因為 IP 本身是一種互連網路協定,封包可能經不同的網路傳送,如果 IP 是預接式的,那麼在網際網路上的所有網路都必須是預接好的,不過事實並非如此。

  5. 傳送方式 直接傳送 (direct delivery) 當傳送者與封包最終目的地連接在相同的實體網路上時為宜接傳送 (direct delivery) 方式,或者是目的地電腦與封包路徑上的最後一台路由器之間也是以直接傳送方式進行(如下圖所示)。

  6. Figure 6-1 送封包的電腦可以很容易就決定是否為直接傳送,送封包的電腦可將目的封包的網路位址摘取出來 (主機代碼部分全設為 0)。然後將此位址與所在的網路位址比較,如果是一樣那麼就是直接傳送。 直接傳送時,送出者以封包的目的 IP 位址來尋找該目的地的實體位址,然後 IP 軟體將這對位址送給資料連接層來做實際的傳送,我們把這個程序稱為「將 IP 位址對應到實體位址」。

  7. 間接傳送 (indirect delivery) 如果目的地電腦與傳送者不在同一條網路上,那麼封包傳送會以間接傳送 (indirect delivery) 方式來進行。 間接傳送時,封包由一台路由器送到另一台路由器,最後封包會到達一台與封包目的地主機位於相同網路上的路由器 (如右圖所示)。

  8. 路徑選擇方法 (Routing Methods) 路徑選擇需要一台電腦或路由器並使用一張路徑表。當一台電腦或路由器收到封包要傳送時,它在路徑表中尋找到達其最終目的地的路徑。但是,以今日網際網路而言,若儲存所有的路徑於一張路徑表中,其龐大的條目數 顯然會讓尋表過程變得極無效率。底下我們介紹一些實際的方法: • 次站路徑選擇法 • 特定網路路徑選擇法 • 特定主機路徑選擇法 • 預設路徑選擇

  9. 次站路徑選擇法 (Next-Hop Routing) 路徑表中只紀錄下一站的位址,而非記載整條路徑的資訊。因此路由器的路徑表彼此必須具有一致性。下圖展示使用這種技術的路徑表。

  10. Figure 6-4 特定網路路徑選擇法 (Network-specific Routing) 路徑表中只用一個條目定義網路的位址,而不是將此網路上所有的電腦都納入記載。換言之,我們把所有連接在相同網路上的電腦,視為一個主體。譬如有 1000 台電腦連接在一條相同的網路上,則在路徑表上只用一個條目而不是 1000 個。下圖展示此一觀念。

  11. Figure 6-5 特定主機路徑選擇法 (Host-specific Routing) 將目的主機的位址也放在路徑表中。我們可以藉此要求使用特定的路徑來傳送至目的主機。譬如:右圖主機 A 只能經由 R3 送達主機 B,而不能經由 R1 與 R2。

  12. Figure 6-6 預設路徑選擇 (Default routing) 右圖的主機 A 所處的網路對外有兩台路由器。路由器 R1 用來將封包繞到位於 N2 網路的主機。但是若是繞到網際網路的其他地方,要使用路由器 R2。主機 A 只建一個預設條目就好 (網路位址為 0.0.0.0),這樣做就不用將整個網際網路上的所有網路都列上來。

  13. 靜態與動態路徑選擇 靜態路徑表 (static routing table) 靜態路徑表內的資訊是以人工鍵入,由管理者針對每個目的地一一鍵入路徑。當路徑表建立好之後,有改變時它不能自動更新,必須藉管理者以人工方式加以更改。 靜態路徑表可以使用在小型不常改變的互連網路,或是用在除錯的實驗性互連網路上。它並不適合使用於一個像網際網路一般的大型互連網路。

  14. 動態路徑表 (dynamic routing table) 動態路徑表使用動態路徑選擇協定像是 RIP、OSPF、或BGP,可以週期性的更新路徑表的內容。當網際網路上有所改變時,如路由器關掉或是路徑壞掉,動態協定可以更新所有路由器內的路徑表,而最後也會更新到主機。 網際網路中的路由器需要週期性的更新,如此 IP 封包傳送才能有效率。 RIP: Routing Information Protocol OSPF: Open Shortest Path First BGP: Border Gateway Protocol

  15. 路徑表與路徑選擇模組 • 當路由器找路徑時, • 它先檢查是否為直接傳送, • 然後檢查是否為特定主機傳送, • 接著檢查是否為特定網路傳迭, • 最後檢查是否為預設傳送。 這種階層式的尋找方法可以實現在路由器器模組裡或是路徑表內。

  16. Figure 6-7 路徑選擇模組由 IP 處理模組收到網路封包,之後路徑選擇模組就檢索路徑表以找到最佳路徑。路徑找到後,就把封包與次站位址 (next hop address) 送到分段模組進行分段工作 (如下圖所示) :

  17. Figure 6-8 使用次數 封包個數 路徑表 路徑表以階層安排:先放直接傳送的網路的條目,然後是特定主機傳送的條目,再來是特定網路的條目,最後是預設傳送的條目。一般而言,路徑表的每個條目有如下表所示的七個欄位: Flags UThe router is up and running. GThe destination is in another network. HHost-specific address. DAdded by redirection. MModified by redirection.

  18. 路徑選擇的模組 • 從 IP 封包取得目的 IP 位址 • 從路徑表的第一個條目開始,逐條檢查: • D ← (Mask 欄) & (目的 IP 位址); • 若 D 和 (Destination address 欄) 相同,則 • 2a. 若 G 旗標存在,則以 (Next-hup address 欄) 為次站位址; • 2b. 否則,以目的 IP 位址為次站位址(直接傳送)。 • 2c. 用上述步驟所得的次站位址傳送封包到分段模組。 • 2d. 結束檢查 • 若找不到符合的條目,送出一個 ICMP 錯誤訊息,然後結束。

  19. 網路組態範例

  20. 路由器 Rl 的路徑表 MaskDest. Next Hop F I. 255.0.0.0 111.0.0.0 - U m0 255.255.255.224 193.14.5.160 - U m2 255.255.255.224 193.14.5.192 - U m1 ---------------------------------------------------------------------------------------------------- 255.255.255.255 194.17.21.16 111.20.18.14 UGH m0 ---------------------------------------------------------------------------------------------------- 255.255.255.0 192.16.7.0 111.15.17.32 UG m0 255.255.255.0 194.17.21.0 111.20.18.14 UG m0 ---------------------------------------------------------------------------------------------------- 0.0.0.0 0.0.0.0 111.30.31.18 UG m0

  21. 範例 路由器 R1 收到 500 個封包,目的地為 192.16.7.14。路徑選擇程序一列一列的將遮罩與目的位址做 bit-AND 運算直到找到相符條目為止。 Direct delivery 192.16.7.14 & 255.0.0.0  192.0.0.0 no match 192.16.7.14 & 255.255.255.224  192.16.7.0 no match 192.16.7.14 & 255.255.255.224  192.16.7. no match Host-specific 192.16.7.14 & 255.255.255.255 192.16.7.14 no match Network-specific 192.16.7.14 & 255.255.255.0  192.16.7.0 match 路由器將封包及其次站的 IP 位址 (110.15.17.32),經由介面 m0 送到分段模組做後續處理,路由器將封包個數欄位增加 500,而使用次數增加1。

  22. 範例 路由器 Rl 收到 100 個封包,目的地為 193.14.5.176。路徑選擇程序一列一列的將遮罩與目的位址做 bit-AND 運算直到找到相符條目為止。 Direct delivery 193.14.5.176 & 255.0.0.0  193.0.0.0 no match 193.14.5.176 & 255.255.255.224 193.14.5.160 match 路由器將封包及其次站的 IP 位址 (93.14.5.176)經 由介面 m2 送到分段模組做後續處理,路由器將封包個數欄位增加 100,而使用次數增加 1。

  23. 範例 路由器 Rl 收到 20 個封包,目的地為 200.34.12.34。路徑選擇程序一列一列的將遮罩與且的位址做位元及運算直到找到相符條目為止。 Direct delivery 200.34.12.34 & 255.0.0.0  200.0.0.0 no match 200.34.12.34 & 255.255.255.224  200.34.12.32 no match 200.34.12.34 & 255.255.255.224  200.34.12.32 no match Host-specific 200.34.12.34 & 255.255.255.255  200.34.12.34 no match Network-specific 200.34.12.34 & 255.255.255.0  200.34.12.0 no match 200.34.12.34 & 255.255.255.0  200.34.12.0 no match Default 200.34.12.34 & 0.0.0.0  0.0.0.0. match 路由器將封包及其次站的 IP 位址 (111.30.31.18) 經 由介面 m0 送到分段模組做後續處理,路由器將封包個數欄位增加 20,而使用次數增加 1。

  24. 範例 寫出在下圖路由器 Rl 的路徑表。 解答 MaskDestinationNext HopI. 255.255.0.0 134.18.0.0 -- m0 255.255.0.0 129.8.0.0 222.13.16.40 m1 255.255.255.0 220.3.6.0 222.13.16.40 m1 0.0.0.0 0.0.0.0 134.18.5.2 m0

  25. 範例 寫出在下圖路由器 Rl 的路徑表。 解答 MaskDestinationNext HopI. 255.255.255.0 200.8.4.0 ---- m2 ----------------------------------------------------------------------------- 255.255.255.0 80.4.5.0 201.4.10.3 m1 or m2 or 200.8.4.12 ------------------------------------------------------------------------------ 255.255.255.0 80.4.6.0 201.4.10.3 m1 or m2 or 200.4.8.12 ------------------------------------------------------------------------------- 0.0.0.0 0.0.0.0 ???????????? m0

  26. 範例 路由器 R1 的路徑表秀在下表,畫出它的網路連接圖。 MaskDestinationNext HopI. 255.255.0.0 110.70.0.0 - m0 255.255.0.0 180.14.0.0 - m2 255.255.0.0 190.17.0.0 - m1 255.255.0.0 130.4.0.0 190.17.6.5 m1 255.255.0.0 140.6.0.0 180.14.2.5 m2 0.0.0.0 0.0.0.0 110.70.4.6 m0

More Related