Networking

通過 MPLS TE 進行不等成本負載平衡

  • December 15, 2011

給定以下網路,所有站點的網路路由表都通過 OSPF 建構:

  Site_A
     |
Site_A_router
 |           \
 |      Intermediate_site_C_router -- Other_sites
 |                       |
 |      Intermediate_site_D_router
 |                       |
Site_B_router_1     Site_B_router_2
            \       /
           Site_B_LAN
                |
             Site_B
                |
         Site_B_router_3
                |
            Internet

目前,站點 A 和站點 C 之間沒有連結。我正在考慮添加它並在站點 A 和站點 B 之間設置不等成本負載平衡,以提供一些冗餘並在站點 A 和站點之間獲得更有效的頻寬Internet 和站點 B 上的主機。從大量的Google搜尋來看,我想在站點 A 路由器和站點 B 路由器之一之間建立 MPLS TE 隧道,以將兩個站點之間的所有流量引導到其中一個兩條路線。

我一直在試圖圍繞 MPLS 隧道如何適應路由網路的方案。根據我的閱讀,MPLS TE 位於 OSPF 之上的層派生路由,並簡單地定義了兩個路由器之間的路徑。

我是否需要通過 OSPF 宣傳它們的存在?我不這麼認為,因為我懷疑這最終會路由來自網路上任何地方的所有流量,通過站點 B 到站點 A,然後再通過兩條路徑之一返回站點 A。

或者,我是否只是在站點 B 路由器上設置隧道,但不宣傳它們的存在,只允許它們對到達兩條隧道路徑之一的任何流量進行分類?如果以這種方式工作,我希望站點 D、站點 C 和通過站點 C 連接的其他站點中的主機僅通過最短的 OSPF 路由路由流量,而忽略隧道。

更複雜的是,站點 B 中的許多主機都通過 OSPF 建構它們的路由表,因此主機不使用單個網關路由器來確定下一跳。我應該在三個路由器中的哪一個上設置 MPLS TE 隧道的站點 B -> 站點 A 方向,以獲得適當的負載平衡?

如果我在路由器 3 上設置它,我懷疑只有來自 Internet 的流量會被負載平衡,因為站點 B 中的主機將直接將站點 A 的數據包發送到路由器 1 或 2。或者,我可以在路由器 1 上設置它,因為這幾乎肯定是 OSPF 最短路由。但是,由於流量採用備用隧道,因此流量將在某種程度上不必要地從路由器 1 路由到路由器 2。我懷疑這有點過度思考,可能是過早的優化。

鑑於這種情況,做我想做的事情的最佳實踐方式是什麼?

是的,您可以在路由器之間創建 MPLS 隧道以在它們(隧道)之間進行 OSPF 負載平衡,因為 OSPF 本身不支持 UCLB。

您確實需要在 ospf 配置中添加一些 mpls 命令。請參閱此處

您應該能夠在站點 A 路由器和站點 B 的“主”路由器(​​可能是路由器 1)之間創建兩條隧道,一條隧道直接位於 A-1 和 B-1 之間,另一條隧道通過路由器 B -2。路由器 A-1 和 B-1 將執行流量的負載平衡

在這種情況下,需要將主機配置為使用路由器 B-1 作為站點 B 中的預設網關。

*編輯正確的路由器名稱。

引用自:https://serverfault.com/questions/340140