
路由服務(Routing)提供跨 subnet 互聯互通功能。
例如前面我們搭建了實驗環境:
cirros-vm1 172.16.100.3 vlan100 cirros-vm3 172.16.101.3 vlan101
這兩個 instance 要通信必須借助 router。 可以是實體 router 或者虛拟 router。
使用實體 router,如下圖所示:
接入的實體 router 有兩個 interface ip:
172.16.100.1 對應 vlan100 的網關。
172.16.101.1 對應 vlan101 的網關。
當 cirros-vm1 要跟 cirros-vm3 通信時,資料包的流向是這樣的:
1. 因為 cirros-vm1 的預設網關指向 172.16.100.1,cirros-vm1 發送到 cirros-vm3 的資料包首先通過 vlan100 的 interface 進入實體 router。
2. router 發現目的位址 172.16.101.3 與 172.16.101.1 為同一個 vlan,則從 vlan101 的 interface 發出。
3. 資料包經過 brq1d7040b8-01 最終到達 cirros-vm3。
虛拟 router 的路由機制與實體 router 一樣,隻是由軟體實作。
Neutron 兩種方案都支援。
如果要使用虛拟 router,需要啟用 L3 agent。
L3 agent 會在控制節點或者網絡節點上運作虛拟 router,為 subnet 提供路由服務。
下節開始詳細讨論 Neutron 的虛拟 router 實作。