路由服务(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 实现。通信