[openstack-dev] [Neutron] What are problems of Distributed SNAT?

Brian Haley brian.haley at hp.com
Fri Jul 24 17:56:14 UTC 2015


On 07/24/2015 08:17 AM, Miyagishi, Takanori wrote:
> Dear Carl,
>
> Thank you for your information!
>
> I checked the etherpad, and I propose a new idea of Distributed SNAT implementation.
> Following figure is my idea, "Shared SNAT Address per Tenant per Compute Node".

I think this is the "One IP Address per Router per Host" item in the etherpad 
since each distributed router will consume one IP.

>    +---+---+------------------------------------------+
>    |   |eth|               TenantA : TenantB          |
>    |   +-+-+                       :  external-network|
>    |     |                         :      10.0.0.0/24 |
>    | ----+----------+--------------------+----------- |
>    |                |              :     |            |
>    |                |10.0.0.100    :     |10.0.0.101  |
>    |    +---+ +-----+-----+ +---+  :  +--+---+ +---+  |      +------------+
>    |    | R | |   SNAT    | | R |  :  | SNAT | | R |  |      |            |
>    |    +-+-+ +-+-------+-+ +-+-+  :  +--+---+ +-+-+  |  ... |            |
>    |      |     |       |     |    :     |       |    |      |            |
>    |      |     |       |     |    :     |       |    |      +------------+
>    |   ---+--+--+--   --+--+--+--- :  ---+---+------- |      Compute Node N
>    |         |             |       :         |        |
>    |      +--+--+       +--+--+    :      +--+--+     |
>    |      | VM1 |       | VM2 |    :      | VM3 |     |
>    |      +-----+       +-----+    :      +-----+     |
>    +--------------------------------------------------+
>                    Compute Node 1
>
>     * R = Router

This picture doesn't look right, there should only be one Router for TenantA 
even with two VMs on a compute node.  You can verify this by looking at how many 
qrouter namespaces are created, but I only see one on my system.

> In this idea, SNAT will be created for each tenant.
> So, IP consumption of this case is:
>   [number of tenant] * [number of compute node]
>
> Therefore, this idea can be reduction in IP consumption than create per router per compute node.

This is a huge increase in IP consumption from today though, which is only 
[number of tenants], I'm not sure most deployers have [tenants * compute nodes] 
IPs at their disposal.  And in the worst-case this becomes "Assign a Floating IP 
to all VMs".

-Brian

> And, can be avoid security concerns because don't share SNAT between tenant.
>
> I'd like to implement SNAT for Liberty cycle with this idea.
>
> Best regards,
> Takanori Miyagishi
>
>> -----Original Message-----
>> From: Carl Baldwin [mailto:carl at ecbaldwin.net]
>> Sent: Tuesday, July 07, 2015 2:29 AM
>> To: OpenStack Development Mailing List (not for usage questions)
>> Subject: Re: [openstack-dev] [Neutron] What are problems of Distributed
>> SNAT?
>>
>> Hi,
>>
>> There was some discussion a while back on this subject.  Some alternatives
>> were captured on etherpad [1] with pros and cons.  Sorry for the delay
>> in responding.  The initial implementation of DVR went with centralized
>> SNAT to reduce the scope of the effort and because of a lack consensus
>> around which alternative to choose.
>>
>> Carl
>>
>> [1] https://etherpad.openstack.org/p/decentralized-snat
>>
>> On Fri, Jun 26, 2015 at 5:02 AM, Miyagishi, Takanori
>> <miyagishi.t at jp.fujitsu.com> wrote:
>>> Hi all,
>>>
>>> I'm Takanori Miyagishi.
>>> I and Yushiro Furukawa, my co-worker, are planning to implement
>> Distributed SNAT in Liberty cycle.
>>> So, I looking for information about Distributed SNAT implementation.
>>> For now, I got some information from openstack-dev ML[1][2][3] and
>> etherpad[4].
>>> Would you please let me know if you have any other information.
>>>
>>> Best regards,
>>> Takanori Miyagishi
>>>
>>> [1] Fwd: [Neutron][DVR]Neutron distributed SNAT:
>>>
>>>
>> http://lists.openstack.org/pipermail/openstack-dev/2015-February/0564
>> 1
>>> 5.html
>>> [2] About DVR limit:
>>>
>>>
>> http://lists.openstack.org/pipermail/openstack-dev/2015-January/05440
>> 7
>>> .html
>>> [3] [neutron] dvr l3_snat:
>>>
>>>
>> http://lists.openstack.org/pipermail/openstack-dev/2014-November/0498
>> 9
>>> 3.html [4] https://etherpad.openstack.org/p/YVR-nova-network
>>>
>>>
>> _____________________________________________________________________
>> _
>>> ____ OpenStack Development Mailing List (not for usage questions)
>>> Unsubscribe:
>>> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>> _____________________________________________________________________
>> _____
>> OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe:
>> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>




More information about the OpenStack-dev mailing list