Skip to content

Commit

Permalink
Add more details
Browse files Browse the repository at this point in the history
  • Loading branch information
yeasy committed Mar 23, 2015
1 parent 017ef9e commit 7811a13
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion dvr/scenario.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,13 @@

![同租户不同机器之间子网访问](../_images/dvr_case1.png)

如图所示,租户 T1 的两个不同子网的 vm:VM1 和 VM4 在不同机器上,VM1 要访问 VM4,请求过程是计算节点 1 上的 IR1 起到路由器功能。返程的网包,则在计算节点 2 上的路由器 IR2 起作用。两个路由器的功能其实是一样的。
如图所示,租户 T1 的两个不同子网的 vm:VM1 和 VM4 在不同机器上,VM1 要访问 VM4,请求过程是计算节点 1 上的 IR1 起到路由器功能。返程的网包,则在计算节点 2 上的路由器 IR2 起作用。

两个路由器的 id、内部接口、功能等其实都是一样的。即同一个路由器,但是实际上在多个计算节点上存在。

但是同样的路由器,如果都暴露在外部网络上,会出现冲突。例如当请求包离开计算节点 1 时,带的源应该是目标子网网关的 mac,但这个 mac 在计算节点 2 上同样存在。

因此,在 br-int 上进行拦截,修改其源 mac 为 tunnel 端口的 mac。同样的,计算节点 2 在 br-int 上拦截源 mac 为这个 tunnel 端口的 mac,替换为正常的子网网关的 mac,直接扔给目标虚拟机。

### 南北向

Expand Down

0 comments on commit 7811a13

Please sign in to comment.