路由服務(Routing)提供跨 subnet 互聯互通功能。網絡
例如前面咱們搭建了實驗環境:spa
cirros-vm1 172.16.100.3 vlan100
cirros-vm3 172.16.101.3 vlan101router
這兩個 instance 要通訊必須藉助 router。 能夠是物理 router 或者虛擬 router。ip
使用物理 router,以下圖所示:ci
接入的物理 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 同樣,只是由軟件實現。route
Neutron 兩種方案都支持。
若是要使用虛擬 router,須要啓用 L3 agent。
L3 agent 會在控制節點或者網絡節點上運行虛擬 router,爲 subnet 提供路由服務。im
下節開始詳細討論 Neutron 的虛擬 router 實現。通信