Internet DRAFT - draft-nena-ip4-ip6-mux
draft-nena-ip4-ip6-mux
Internet-Draft Alessandro Spinella
Intended status: Proposed Standard Communication Valley
Expires: March 9, 2009 September 3, 2008
Never Ending Network Addresses: IPv4 Multiplexing trought IPv6
draft-nena-ip4-ip6-mux-00.txt
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on March 9, 2009.
Abstract
While the wide use of IPv4 "private" addresses [RFC1918] lead to a
great flexibilty degree of uninterconnected networks and use of IPv6
offer a huge address space; no "nice" mechanism exist to hide overlap
of existing IPv4 "private" networks if and when the sum of used
address spaces is greater than the IPv4 "private" address space.
This document specifies how to walk around the matter without any
coordination, renumbering or IPv6 adoption by overlapping networks
owners.
Spinella Expires March 9, 2009 [Page 1]
Internet-Draft IPv4 Multiplexing trought IPv6 March 2009
Table of Contents
1. Introduction ................................................ 2
2. Specifications .............................................. 3
2.1. Address specifications ................................... 3
2.2. Communication skema ...................................... 4
2.3. CNID structure ........................................... 5
2.4. Routing considerations ................................... 5
3. Security considerations ..................................... 6
4. IANA considerations ......................................... 6
5. References ................................................... 6
5.1. Normative References ..................................... 6
5.2. Informative References ................................... 6
6. Acknowledgements ............................................ 6
7. Author's address ............................................ 6
1. Introduction
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119. [RFC2119]
Users of IPv4 "private" addresses often delegate management of some
of their hosts to external company(s) (EC) trought "ad hoc"
communication links and can't migrate them to IPv6 in short terms;
but management hosts in such EC need to communicate with all of
managed networks/hosts, even if their addresses are not unique for
it's point of view.
In simple cases Network Address Translation (NAT) is sufficient to
hide such overlaps, but there is a limit: when the sum of used
address spaces is greater than the whole IPv4 "private" address
space the NAT mechanism need more addresses than the available ones.
Use of "public" addresses pools to NAT "private" addresses lead to
unreachable public resources, a very poor/unscalable result.
Port Address Translation (PAT) is another way to do job: it works,
but will soon become a nightmare to mantain the associations in
dinamically growing networks. As long as many globally-overlapping
addreses can be hidden by a small pool of globally-unique in a nice
fashion when the pool of globally-overlapping host is "client" of
globally-unique "server" host(s), it is an always-growing-matter to
add/remove networks into the global map when the overlapping IPv4
"private" networks are both sources and targets of management-hosts
traffic flows because it requires interactive cooperation of
globally-overlapping network owners with the EC.
Another simple, horribly unscalable solution is to add devices owned
by the EC into existing networks: they have just as much topology
knowledge as needed, but in time of troubles they can't access or be
accessed by the "full resources" of the EC.
Spinella Expires March 9, 2009 [Page 2]
Internet-Draft IPv4 Multiplexing trought IPv6 March 2009
This document provides specifications for a mechanism that saves both
indipendence of each customer in choosing their own host addressing
skema than global-host-reachability for the EC that manage them.
2. Specifications
2.1. Address specifications
Given the following definitions [RFC4291] of :
IPv4-Compatible IPv6 Address
| 80 bits | 16 | 32 bits |
+--------------------------------------+--------------------------+
|0000..............................0000|0000| IPv4 address |
+--------------------------------------+----+---------------------+
and
IPv4-Mapped IPv6 Address
| 80 bits | 16 | 32 bits |
+--------------------------------------+--------------------------+
|0000..............................0000|FFFF| IPv4 address |
+--------------------------------------+----+---------------------+
The 16 bit block can be used to differentiate networks in which 32
bit IPv4 addresses are identical, leading to definition of :
IPv4-Multiplexed IPv6 Address
| 80 bits | 16 | 32 bits |
+--------------------------------------+--------------------------+
|0000..............................0000|CNID| IPv4 address |
+--------------------------------------+----+---------------------+
where Customer Network ID (CNID) ranges between 0x1 and 0xFFFE thus
allowing coexistence of 65534 address spaces as wide as the IPv4
InterNet.
Spinella Expires March 9, 2009 [Page 3]
Internet-Draft IPv4 Multiplexing trought IPv6 March 2009
2.2. Communication skema
Assigning souch a CNID to every customer overlapping network removes
ambiguity of IPv4 addresses; an IPv6 host (H6) placed in management
network can now send/receive a packet to/from any of IPv4 hosts (H4)
in any of multiplexed network, given an IPv6-to-IPv6 NAT capable
gateway (GW66) for each used CNID.
While dual-stack routers (GW64) are able to traslate addresses
between IPv4 and IPv6, the problem reduces to change CNID before
ingress and after egress of them as in:
(a) (b) (c)
H6 <-----------> GW66 <------------> GW64 <----------> H4
-------------- IPv6 --- (No CNID) ----|------- IPv4 -----
where IPv6 is used in segments (a), (b) and IPv4 in segment (c).
Segment (a) has 0 < CNID < 65535; segment (b) has 0x0 or 0xFFFF. (*)
There is a drawback : no IPv6-to-IPv6 NAT-capable gateways exists,
so we need at least a simple one that force all CNID bits to zeroes
(for IPv4-Compatible IPv6 Address) or ones (for IPv4-Mapped IPv6
Address) before a packet leaves the interface connected to GW64 and
force them to CNID before release of packet to H6 as in :
| sender | source address | destination address | receiver |
+--------+---------------------+-----------------------+----------+
| H6 | IPv6 global-unicast | IPv4-Multiplexed IPv6 | GW66 |
+--------+---------------------+-----------------------+----------+
| GW66 | IPv6 global-unicast | IPv4-Mapped IPv6 (*) | GW64 |
+--------+---------------------+-----------------------+----------+
| GW64 | IPv4 | IPv4 | H4 |
+--------+---------------------+-----------------------+----------+
and
| sender | source address | destination address | receiver |
+--------+-----------------------+---------------------+----------+
| H4 | IPv4 | IPv4 | GW64 |
+--------+-----------------------+---------------------+----------+
| GW64 | IPv4-Mapped IPv6 (*) | IPv6 global-unicast | GW66 |
+--------+-----------------------+---------------------+----------+
| GW66 | IPv4-Multiplexed IPv6 | IPv6 global-unicast | H6 |
+--------+-----------------------+---------------------+----------+
(*) Because "IPv4-Compatible IPv6 Address" are deprecated [RFC4291]
them MAY be used, but "IPv4-Mapped IPv6 Address" are recommended.
Spinella Expires March 9, 2009 [Page 4]
Internet-Draft IPv4 Multiplexing trought IPv6 March 2009
2.3. CNID structure
The 16 bit CNID can be used as a flat space or structured one, as
management-network-manager like; the following skema is both simple
and flexible and SHOULD be considered as default :
::0000:IPv4-address == IPv4-Compatible IPv6 Addres
::0001:IPv4-address ==> CNID 0x1 identifies "customer-1"
......
::7FFF:IPv4-address ==> CNID 0x7FFF identifies "customer-32767"
::8000:IPv4-address ==> first "special pourposes" CNID
.....
::FFFE:IPv4-address ==> last "special pourposes" CNID
::FFFF:IPv4-address ==> IPv4-Mapped IPv6 Address
In a flat CNID space "special pourposes" are simply casted to be
equal to "normal" ones; subspacing of "special pourposes" can be
easily done as needed using more bits than the most significant one.
2.4. Routing considerations
The H6(s) MUST know a different gateway for each customer address
space to avoid complexity in IPv6-to-IPv6 NAT; in such a way GW66
need to be aware of just a default route on it's "internal" interface
(the one belonging to management network) and a specific route for
::0/96 on "external", the one connected to customer GW64.
But complexity exist and can't be circumvented in a scalable solution
[RFC1925]. Whenever the routing table of H6s become complex MAY be
convenient the introduction of a router between H6s and GW66s to
isolate complexity in one device instead to spread it in all H6s.
It is almost equal to have a "complex" IPv6-to-IPv6 NAT device, but
it delegate the routing configuration/maintenance to independent,
well known, more than ever powerful and failsafe devices: routers.
Note that there is no need of different hardware but only of
different (sub)interfaces for GW66s. Moreover: no need of separate
hardware also for the intermediate router between H6s and GW66s,
different instances of software can do the job.
At GW64 there are no particular need, except the ability to perform
IPv4/IPv6 translation, so it MUST be a so-called dual-stack router.
Because H4s will send/receive packets from/to that device(s) on
behalf of H6s, we need, at least, as many IPv4 "private" addresses
as the number of reachable-H6s; much better an addresses pool as
wide as the H6s network, 1:1 NAT is more easily-manageable in
allocation of addresses.
H4(s) are supposed to "see" H6(s) as they are H4(s), so no particular
need at their charge, except the ability to communicate with GW64(s).
Spinella Expires March 9, 2009 [Page 5]
Internet-Draft IPv4 Multiplexing trought IPv6 March 2009
3. Security considerations
The author do not believe that introduction of IPv6-to-IPv6 NAT can
cause problems or weakness nor increase the overall security; the
IPv6 global-unicast addresses used in IPv6 segments are
undistiguishable from any other IPv6 global-unicast address.
4. IANA Considerations
This document has no actions for IANA.
5. References
5.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC4291] Hinden R. and Deering S., "IP Version 6 Addressing
Architecture", RFC 4291, February 2006.
5.2. Informative References
[RFC1918] Rekhter Y., Moskowitz B., Karrenberg D., de Groot G.J.
and Lear E., "Address Allocation for Private Internets",
BCP 5, RFC 1918, February 1996.
[RFC1925] Callon R., "The Twelve Networking Truths", RFC 1925,
April 1st, 1996
6. Acknowledgements
To Nuria Molto', for her endless support in rewiew and suggestions.
7. Author's Addresses
Alessandro Spinella
Communication Valley s.p.a.
Strada Budellungo,2 - 43100 Parma, Italia
Phone: +39 0521 498022
EMail: a.spinella@communicationvalley.it
rfc1925.net">http://www.rfc1925.net
Comments are solicited and should be addressed to the author.
Spinella Expires March 9, 2009 [Page 6]
Internet-Draft IPv4 Multiplexing trought IPv6 March 2009
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Spinella Expires March 9, 2009 [Page 7]