Re: [v6ops] Fwd: I-D Action: draft-anderson-v6ops-siit-dc-01.txt

Tore Anderson <tore@fud.no> Wed, 08 October 2014 06:57 UTC

Return-Path: <tore@fud.no>
X-Original-To: v6ops@ietfa.amsl.com
Delivered-To: v6ops@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 03CE51A004C for <v6ops@ietfa.amsl.com>; Tue, 7 Oct 2014 23:57:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.686
X-Spam-Level:
X-Spam-Status: No, score=-2.686 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.786] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6dMfgD02Aa7t for <v6ops@ietfa.amsl.com>; Tue, 7 Oct 2014 23:57:12 -0700 (PDT)
Received: from greed.fud.no (greed.fud.no [IPv6:2a02:c0:1001:100::145]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8B4F01A0049 for <v6ops@ietf.org>; Tue, 7 Oct 2014 23:57:12 -0700 (PDT)
Received: from [2a02:c0:2:4:6666:17:0:1000] (port=47761 helo=echo.ms.redpill-linpro.com) by greed.fud.no with esmtpsa (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <tore@fud.no>) id 1XblBN-0006EG-WF; Wed, 08 Oct 2014 08:57:10 +0200
Message-ID: <5434E044.3010108@fud.no>
Date: Wed, 08 Oct 2014 08:57:08 +0200
From: Tore Anderson <tore@fud.no>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.1
MIME-Version: 1.0
To: V6ops <v6ops@globis.net>
References: <20141005185423.19533.71711.idtracker@ietfa.amsl.com> <5432344D.1010007@fud.no> <E0D15CA2-0608-4801-9F56-3BE27B054999@globis.net>
In-Reply-To: <E0D15CA2-0608-4801-9F56-3BE27B054999@globis.net>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: 7bit
Archived-At: http://mailarchive.ietf.org/arch/msg/v6ops/2WVMIAU6MSbo7mT3nZwDsPG9IbE
Cc: IPv6 Operations <v6ops@ietf.org>
Subject: Re: [v6ops] Fwd: I-D Action: draft-anderson-v6ops-siit-dc-01.txt
X-BeenThere: v6ops@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: v6ops discussion list <v6ops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/v6ops>, <mailto:v6ops-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/v6ops/>
List-Post: <mailto:v6ops@ietf.org>
List-Help: <mailto:v6ops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/v6ops>, <mailto:v6ops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 08 Oct 2014 06:57:15 -0000

Good morning,

> Nice draft.
> 
> Why do you restrict the architecture to a per host agent?
> 
> Why do you restrict the IPv4 address binding to a virtual network
> interface?

I'm assuming you're specifically talking about the -2xlat draft here?
The plain architecture doesn't include a host agent at all, the host
agent is intended to be used only in the case where the application
software does not support IPv4, and/or where the application protocol
doesn't support NAT.

I don't mean to restrict the architecture to a per host agent at all.
The -2xlat draft simply seeks to document how the plain SIIT-DC
architecture can be extended to support IPv4-only application software
and/or application protocols which cannot work through NAT. It's a
specific use case with a specific solution. Doesn't mean you can't do
other fun stuff too. :-)

> Wouldn't this dual translation work equally well as a proxy device
> serving multiple legacy application servers, each with their own
> unique static address mapping?

So if I understand you correctly an SIIT-DC topology that uses all
three modes (plain for NAT-friendly HTTP, host agent for NAT-unfriendly
FTP, proxy for a couple of IPv4-only machines) could look something like
this?

  (IPv4-only Internet)
    |
  +-+-[SIIT-DC Gateway]--------------------+
  | xlat prefix: 64:ff9b::/96              |
  | v4,v6 map 1: 192.0.2.10, 2001:db8::1:1 |
  | v4,v6 map 2: 192.0.2.15, 2001:db8::a:a |
  | v4,v6 map 3: 192.0.2.20, 2001:db8::1:2 |
  | v4,v6 map 4: 192.0.2.25, 2001:db8::f:f |
  +-+--------------------------------------+
    |
  (IPv6-only data centre network)
    |
    +-- 2001:db8:a:a HTTP server, IPv6-only, v4 service addr=192.0.2.15
    |
    +-- 2001:db8:f:e FTP server, IPv6-only (native IPv6 service addr)
    |   2001:db8:f:f FTP server via Host Agent, service addr=192.0.2.25
    |
  +-+-[SIIT-DC Proxy]---------------------------+
  | xlat prefix: 64:ff9b::/96                   |
  | v4,v6 map 1: 192.0.2.10, 2001:db8::1:1      |
  | static rt 1: 192.0.2.10 nexthop 169.254.0.2 |
  | v4,v6 map 2: 192.0.2.20, 2001:db8::1:2      |
  | static rt 2: 192.0.2.20 nexthop 169.254.0.3 |
  +-+-------------------------------------------+
    |
  (Proxy's IPv4-only private backend LAN - 169.254.0.0/16)
    |
    +-- 169.254.0.2 IPv4-only machine 1 (192.0.2.10 on loopback)
    |
    \-- 169.254.0.3 IPv4-only machine 2 (192.0.2.20 on loopback)

I.e., that the proxy device essentially takes the role of a CE router
with an IPv4 LAN behind it (for which it's the default router), but
instead of terminating the 192.0.2.x addresses locally, it routes them
to endpoints in that IPv4 backend LAN using host routes? (Or something
along those lines anyway, the IPv4 topology could of course be as
complex as you would like.)

I don't see why this wouldn't work just fine. I guess I just never saw
the use case for myself (for me it would still be easier to just
provision a native IPv4-only VLAN for such a purpose, but I can see the
use case if you have an deep IPv6-only network topology and need to
support a couple of IPv4-only devices in the innermost parts of it. I'm
thinking that describing this SIIT-DC Proxy could be left to a future
draft, though, would you agree?

> I'm thinking that true legacy machines are unlikely to be targets for
> implementations of this new technology.

Definitively not. The current drafts are for greenfield deployments, or
mostly so. The servers must necessarily support IPv6. The application
software and application protocols as well, *unless* you're using a host
agent - in which case the server must implement the host agent (today,
that is equivalent to "the server must be running Linux" as far as I know).

> Nit s/poining/pointing/

Thanks!

Tore