跳轉到內容

交換機、路由器、網橋和區域網/路由器/邊界路由器選擇

來自華夏公益教科書,開放的書籍,開放的世界

在邊界路由器上,通常有兩個邊界路由器以避免單點故障。外圍網路上的內部路由器和主機選擇一個邊界路由器來傳遞其網際網路流量。

邊界路由器選擇中的核心問題


現在,我們將瞭解如何在至少有一個正常執行且連線可靠的邊界路由器的情況下建立可靠的網際網路連線。可靠性、複雜性和硬體要求可以相互權衡以滿足需求。

邊界路由器選擇與出口選擇

[編輯 | 編輯原始碼]

出口選擇是 BGP 用於決定使用您 AS 中哪個出口的過程。邊界路由器選擇是您的內部路由器和主機用於選擇邊界路由器的過程。邊界路由器選擇首先發生,因為主機或內部路由器必須選擇一個邊界路由器。然後,所選的邊界路由器決定資料包是應該透過其連線之一退出,還是應該轉發到另一個邊界路由器以進行傳遞。

使用 IBGP 的邊界路由器選擇

[編輯 | 編輯原始碼]

如果外圍網路上的所有內部路由器和主機都與邊界路由器一起執行 IBGP,那麼邊界路由器選擇問題就可以得到很好地解決。使用 IBGP 選擇邊界路由器

每個邊界路由器的 BGP 路由表的副本透過 IBGP 複製到內部路由器和主機中。內部路由器和主機將始終為每個目標選擇最佳邊界路由器,因為它們透過 IBGP 瞭解了該路由。由於 BGP 的存在,大多數主機都會增加很多複雜性。內部路由器中 BGP 所需的額外記憶體和 CPU 能力可能會使它們比不執行 BGP 的路由器貴很多。因此,大多數網路設計只會在邊界路由器上執行 BGP,因此會面臨邊界路由器選擇問題。現在,我們將討論在不使用 BGP 的情況下選擇邊界路由器的網路策略。使用靜態路由的邊界路由器選擇 主機或內部路由器選擇邊界路由器的最簡單方法是使用靜態預設路由。靜態路由可能會導致選擇“錯誤”的邊界路由器。

主機選擇“錯誤”的邊界路由器

[編輯 | 編輯原始碼]

假設網路有一個指向邊界路由器 B 的靜態預設路由,主機想要將流量傳遞到 ISPA 的一個客戶。ISPA 正在傳送客戶路由,以便您的 AS 知道目標是 ISPA 的客戶。在這種情況下,邊界路由器 B 將透過 IBGP 從邊界路由器 A 瞭解 ISPA 的客戶路由。因此,邊界路由器 B 將接收流量並立即將其重定向或轉發到邊界路由器 A,透過外圍網路進行傳遞。流量將兩次穿過外圍網路,浪費頻寬。但是,如果邊界路由器 B 出現故障,那麼代價就更高了。邊界路由器故障時,主機無法從網際網路訪問

內部路由器可能會與邊界路由器共享 IGP,您的 IGP 應該配置為選擇至少有一個正常網際網路連線的正常執行邊界路由器。您的 IGP 將檢測邊界路由器 B 的故障,因此您的內部路由器將使用邊界路由器 A 作為其預設路由。它有一個指向現在已失效的邊界路由器 B 的靜態預設路由。因此,它丟失了所有網際網路連線。這是另一個例子,說明靜態路由和可靠網路通常不相容。

使用 HSRP 的邊界路由器選擇

[編輯 | 編輯原始碼]

藉助兩個或多個路由器,可以動態共享單個 IP 地址。具有指向此地址的靜態預設路由的主機將看到一個可靠的 AS 退出路徑,而無需監聽 BGP 或您的 IGP。HSRP 根本不是路由協議。它只是在同一多點訪問網路上的路由器之間呈現“不間斷”IP 地址的一種方式。HSRP 的優勢在於它使主機配置簡單——只需要一個常用的靜態預設路由即可。它還能在幾秒鐘內對故障做出反應。以下是一些 HSRP 在實際應用中的示例。兩個邊界路由器正常執行時的 HSRP

該站點有一個 T3 用於其主網際網路連線,並在另一個邊界路由器上有一個 T1 作為備份。邊界路由器 A 的外圍網路介面被配置為具有地址 10.0.0.253。邊界路由器 B 的外圍網路介面被配置為具有地址 10.0.0.254。由於邊界路由器 A 具有主網際網路連線,因此它上面執行的 HSRP 被配置為,它通常還會在其外圍網路介面上持有共享的虛擬介面地址 (10.0.0.1)。邊界路由器 B 上執行的 HSRP 被配置為監控邊界路由器 A 的執行狀況。來自主機的網際網路流量遵循指向 10.0.0.1 的靜態預設路由,到達邊界路由器 A,並在兩個邊界路由器都執行時透過 T3 退出。但是,假設邊界路由器 A 出現故障

主邊界路由器故障時的 HSRP

[編輯 | 編輯原始碼]

在邊界路由器 A 出現故障後的幾秒鐘內,邊界路由器 B 的外圍網路介面接管了共享的虛擬介面地址 (10.0.0.1)。主機中的靜態預設路由現在指向邊界路由器 B,無需主機進行任何操作。它的網際網路流量現在透過邊界路由器 B 的 T1 退出。現在假設 T3 出現故障,但邊界路由器 A 繼續執行。我們希望邊界路由器 B 接管共享的虛擬地址,即使邊界路由器 A 仍在執行。這種情況可以透過配置邊界路由器 A 在其 T3 上丟失載波檢測時“放棄”該地址來處理。

主網際網路連線故障時的 HSRP

[編輯 | 編輯原始碼]

此行為是透過優先順序系統實現的。邊界路由器 A 被配置為在其 T3 上丟失載波檢測時降低其優先順序。邊界路由器 B 在發現其優先順序現在是共享該地址的路由器組中最高時,會搶佔對共享的虛擬介面地址的控制。(是的,兩個以上的路由器可以共享一個虛擬介面地址。)

HSRP 的侷限性

[編輯 | 編輯原始碼]
  • 如果介面無法傳遞資料,但載波檢測沒有丟失,那麼 HSRP 就幫不上忙。如果您與中心局之間的線路正常,但中心局的 DAX 出現故障,就會發生這種型別的故障。BGP 最終會注意到這種型別的故障並重新路由您的流量——只是不會像 HSRP 那樣快。
  • HSRP 不會幫助您的主機選擇“最佳”邊界路由器。請注意,HSRP 可在所有思科路由器上使用,但低端路由器(例如,截至本文撰寫之時,1600、2500、2600 和 3600 系列路由器)只能有一個 IP 地址。
  • 如果您沒有從至少一個 ISP 那裡獲取客戶路由,那麼 HSRP 可能會干擾出站負載均衡。
  • HSRP 僅憑自身不足以實現可靠的網際網路連線。您還需要在邊界路由器以及所有 ISP 上正確配置 BGP,才能線上路和/或路由器出現故障時保持連線。

監聽 IGP 的主機邊界路由器選擇

[編輯 | 編輯原始碼]

HSRP 通常是主機選擇邊界路由器的最佳方式,因為它能夠快速從故障中恢復並保持主機的配置簡單。如果您無法使用 HSRP,那麼選擇邊界路由器的次佳選擇是讓主機監聽 IGP。主機最常監聽 RIP,但 RIP 緩慢的收斂時間(幾分鐘)使其成為關注可靠性的使用者不佳的 IGP。OSPF 是更好的 IGP,但比 RIP 複雜得多。

邊界路由器選擇和負載分擔

[編輯 | 編輯原始碼]

HSRP 在可靠性方面做了很多工作,但在某些情況下它可能會阻礙出站負載分擔。(不幸的是,這種情況經常發生在具有 2 條 T1 線路以及超過 1 條 T1 線路輸出頻寬的站點上。)使用 BGP 但不使用 HSRP 的負載分擔由於兩個 ISP 都只發送預設路由,因此每個邊界路由器將使用其網際網路連線來處理接收到的所有出口流量。如果每個主機生成大約相同的出站流量,則可以實現相當好的出站負載分擔。(如果兩個主機一起生成的流量超過任何一條網際網路連線的單獨承載能力,這將特別有用。)儘管這種配置的出站負載分擔可能很好,但您的出站流量可能會透過一些非常迂迴的路徑到達目的地。作為快速提醒,想想 HostB 傳送給 ISPA 客戶的流量會發生什麼。它必須至少透過 ISPB(以及可能的其他幾個 AS)才能到達 ISPA。如果任何一條網際網路連接出現故障,BGP 將丟失它透過該連線收到的預設路由。傳送到任何路由器的出口流量最終將透過剩餘的(工作)網際網路連接出口。

使用 BGP 和 HSRP 的負載分擔

[編輯 | 編輯原始碼]

可以進行兩個更改來實現可靠性和良好的出站負載分擔:•執行 HSRP 的邊界路由器可以從一個 ISP 接收至少客戶路由。但這可能需要為您的邊界路由器新增更多記憶體。•可以使用多個 HSRP 虛擬介面地址。更高階的思科路由器可以在同一個物理介面上配置兩個虛擬介面地址。其中一個地址可以在正常情況下配置為偏向邊界路由器 A,而另一個地址可以在正常情況下配置為偏向邊界路由器 B。兩者都配置為在出現故障時使用剩餘的工作連線。然後將 HostA 和 HostB 配置為使用指向不同 HSRP 虛擬介面地址的靜態預設路由。但低端思科路由器每個物理介面只支援一個 HSRP 虛擬介面地址。這裡可以選擇升級到高階路由器或使用具有 2 個介面的低端路由器來分割外圍網路。

華夏公益教科書