2. 網絡規劃
採用全三層網絡架構設計的出發點是:
- 使用盡量少的交換機高級功能,可以儘可能減少由於功能bug故障造成的問題;
- 使用盡量少的網絡協議,以兼容不通廠商的網絡設備
- 實現簡單,易於維護,絕對可靠的路由協議;
- 通過控制路由來調度流量,儘量減少設備或協議的故障域;
- 犧牲高級功能帶來的便捷,得到更高的可用性和性能;
由上述原則,本文的設計選擇只使用靜態路由和BGP兩種方式來調度流量,因爲靜態路由是三層網絡設備最基本的功能, BGP是互聯網通用的協議,對設備廠商可以做到完全無依賴。
2.1 設計拓撲
2.2 網絡規劃
全三層網絡意味着:在上圖拓撲中,每個交換機及服務器的每個網口都配置IP地址,30位掩碼,這樣,每條鏈路都處於一個單獨的三成網絡之中,如此,交換機上便不再存在二層廣播。上圖展示的只是一個簡單的設計拓撲,在真實大規模網絡中,leaf和spine的數量還有很大的擴展空間,爲了方便交換機的自動配置和管理,需對ip地址作出合理的規劃,本文中按照以下原則對各網口的IP地址進行規劃:
- 爲每個leaf交換機分配一個169.254.0.0/16網段下的24位掩碼的子網段,作爲每個leaf與其他設備的互聯地址池;
- 從“1”分得的24位網段中按升序,按leaf下聯端口號由小到大,順序分配30位掩碼的子網段給leaf的下聯端口,該30位掩碼網段中第一個地址爲網絡地址,最後一個地址爲廣播地址,中間兩個地址爲可用的主機地址,分配第一個主機地址給leaf下聯網口,分配第二個主機地址給該網口對端服務器網口;
- 從“1”分得的24位網段中按降序,按leaf上聯端口號由大到小,順序分配30位掩碼的子網段給leaf的上聯端口,同樣,該30位掩碼網段中第一個地址爲網絡地址,最後一個地址爲廣播地址,中間兩個地址爲可用的主機地址,分配第一個主機地址給leaf上聯網口,分配第二個主機地址給該網卡對端連接的spine交換機網口;
- leaf交換機按對組合,每個server有兩張網卡,分別連到某一對交換機上,所連交換機端口號需相同;
- 每個server上有三個IP地址,分別是兩個物理網口上分配的互聯地址,和用於業務通信的IP。169.254.0.0/16網段僅用於設備互聯,不作爲業務通信地址,因此需在server的lo接口上分配業務IP地址,爲每對leaf所連的server分配一個192.168.0.0/16網段下的24位掩碼的子網段作爲地址池,按照server所接leaf上端口號由小到大,從地址池中順序分配32位掩碼的主機地址給每個server,這樣,使得每個server之間的通信也是全三層;
下面按照上述的規劃原則及本節拓撲,作出一份網絡規劃的示例:
網段規劃見下表:
LEAF | 互聯IP網段 | 下聯服務器業務IP網段 |
border leaf01 |
169.254.0.0/24 | 192.168.0.0/24 |
border leaf02 | 169.254.1.0/24 | 192.168.0.0/24 |
leaf03 | 169.254.2.0/24 | 192.168.1.0/24 |
leaf04 | 169.254.3.0/24 | 192.168.1.0/24 |
各leaf的IP下聯端口規劃見下表(下聯端口數量假設爲5個),leaf01/02爲一對, leaf03/04爲一對:
border leaf01 | border leaf02 | ||||||
端口號 | leaf下聯端口地址 | 對端服務器網卡地址 | 對端服務器業務IP地址 | 端口號 | leaf下聯端口地址 | 對端服務器網卡地址 | 對端服務器業務IP地址 |
1/1 | 169.254.0.1 | 169.254.0.2 | 192.168.0.1 | 1/1 | 169.254.1.1 | 169.254.1.2 | 192.168.0.1 |
1/2 | 169.254.0.5 | 169.254.0.6 | 192.168.0.2 | 1/2 | 169.254.1.5 | 169.254.1.6 | 192.168.0.2 |
1/3 | 169.254.0.9 | 169.254.0.10 | 192.168.0.3 | 1/3 | 169.254.1.9 | 169.254.1.10 | 192.168.0.3 |
1/4 | 169.254.0.13 | 169.254.0.14 | 192.168.0.4 | 1/4 | 169.254.1.13 | 169.254.1.14 | 192.168.0.4 |
1/5 | 169.254.0.17 | 169.254.0.18 | 192.168.0.5 | 1/5 | 169.254.1.17 | 169.254.1.18 | 192.168.0.5 |
leaf03 | leaf04 | ||||||
端口號 | leaf下聯端口地址 | 對端服務器網卡地址 | 對端服務器業務IP地址 | 端口號 | leaf下聯端口地址 | 對端服務器網卡地址 | 對端服務器業務IP地址 |
1/1 | 169.254.2.1 | 169.254.2.2 | 192.168.1.1 | 1/1 | 169.254.3.1 | 169.254.3.2 | 192.168.1.1 |
1/2 | 169.254.2.5 | 169.254.2.6 | 192.168.1.2 | 1/2 | 169.254.3.5 | 169.254.3.6 | 192.168.1.2 |
1/3 | 169.254.2.9 | 169.254.2.10 | 192.168.1.3 | 1/3 | 169.254.3.9 | 169.254.3.10 | 192.168.1.3 |
1/4 | 169.254.2.13 | 169.254.2.14 | 192.168.1.4 | 1/4 | 169.254.3.13 | 169.254.3.14 | 192.168.1.4 |
1/5 | 169.254.2.17 | 169.254.2.18 | 192.168.1.5 | 1/5 | 169.254.3.17 | 169.254.3.18 | 192.168.1.5 |
Spine/Leaf互聯地址規劃如下(假設leaf共有54個端口,且最後8個口爲上聯端口):
本端設備 | 端口 | IP | 對端設備 | 端口 | IP |
Spine01 | Eth1/1 | 169.254.0.250/30 | leaf01 | Eth1/53 | 169.254.0.249/30 |
Spine01 | Eth1/2 | 169.254.1.250/30 | leaf02 | Eth1/53 | 169.254.1.249/30 |
Spine01 | Eth1/3 | 169.254.2.250/30 | leaf03 | Eth1/53 | 169.254.2.249/30 |
Spine01 | Eth1/4 | 169.254.3.250/30 | leaf04 | Eth1/53 | 169.254.3.249/30 |
Spine02 | Eth1/1 | 169.254.0.254/30 | leaf01 | Eth1/54 | 169.254.0.253/30 |
Spine02 | Eth1/2 | 169.254.1.254/30 | leaf02 | Eth1/54 | 169.254.1.253/30 |
Spine02 | Eth1/3 | 169.254.2.254/30 | leaf01 | Eth1/54 | 169.254.2.253/30 |
Spine02 | Eth1/4 | 169.254.3.254/30 | leaf02 | Eth1/54 | 169.254.3.253/30 |
至此,硬件設備的網絡規劃完成。在大規模部署中,建議使用腳本自動生成上述配置,否則費時費力,且容易出錯。接下來,本文將對本設計的流量調度方式進行闡述,即全三層網絡路由的設計。
上一節: 葉脊(Spine-Leaf)網絡拓撲下全三層網絡設計與實踐(一) - 葉脊網絡架構簡介
下一節: 葉脊(Spine-Leaf)網絡拓撲下全三層網絡設計與實踐(三) - 架構設計思路 - 路由方案設計