首页 > 代码库 > Routing 功能概述 - 每天5分钟玩转 OpenStack(98)
Routing 功能概述 - 每天5分钟玩转 OpenStack(98)
路由服务(Routing)提供跨 subnet 互联互通功能。
例如前面我们搭建了实验环境:
cirros-vm1 172.16.100.3 vlan100 cirros-vm3 172.16.101.3 vlan101
这两个 instance 要通信必须借助 router。 可以是物理 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 的路由机制与物理 router 一样,只是由软件实现。
Neutron 两种方案都支持。
如果要使用虚拟 router,需要启用 L3 agent。
L3 agent 会在控制节点或者网络节点上运行虚拟 router,为 subnet 提供路由服务。
下节开始详细讨论 Neutron 的虚拟 router 实现。
Routing 功能概述 - 每天5分钟玩转 OpenStack(98)