Internet DRAFT - draft-netaddress64bit-tcox
draft-netaddress64bit-tcox
netaddress64bit T. Cox
Internet Draft
Intended Status: Standards Track Individual Submission
Expires: March 24, 2014 September 24, 2013
A Proposal for increasing the Network Address Space of IPv4
draft-netaddress64bit-tcox-00.txt
Abstract
Proposal to allow 64-bit or 32-bit Network Addressing
in a single and otherwise unchanged Internet Protocol
Stack
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on March 23, 2014.
Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
1. The Intended Improvement
This proposal optionally prepends 32 bits to existing 32-bit
internet address in the IP header. The intention is to allow
all existing 32-bit addresses to be used without change and
to make a further 18,446,744,073,709,551,616 network addresses
available
The change to hosts and routers is minimal, but if it is not
made, the unchanged hosts and routers will be able to exchange
with all other hosts and routers only those datagrams which
have 32-bit source and destination address
All features of Internet Protocol Version 4 continue to be
used unchanged
2. Implementation
The proposal consists in two Internet Protocol Datagram Header
Options, the source address prefix and the destination address
prefix
The data field length of the address prefix options could be
any value from 1 to 20 octets, but it is proposed that it be
always 4 octets. This is because simplicity of implementation
may realistically be perceived as desirable and advantageous
3. IP Datagram Header Address Prefix Option
octet 0 1 2 3 4 5
+--------+--------+--------+--------+--------+--------+
|optionID| 4 | IP address prefix 32 bits |
+--------+--------+--------+--------+--------+--------+
4. API
It is proposed that applications exchange the 32 prefix bits
with the socket service via 32 bits of the structure sockaddr_in
which are currently always zero. Those bits shall continue
to be zero where a 32-bit address is used
struct sockaddr_in
octet 0 1 2 3 4 5 6 7
+--------+--------+--------+--------+--------+--------+--------+--------+
| AF_INET | port | IP address low-order 32 bits |
+--------+--------+--------+--------+--------+--------+--------+--------+
| IP address high-order 32 bits |00000000 00000000 00000000 00000000|
+--------+--------+--------+--------+--------+--------+--------+--------+
octet 8 9 10 11 12 13 14 15
5. Transport Layer Pseudo-Headers for Checksum
It is proposed that the whole network addresses be still
included in the pseudo-header which seeds the checksum of
UDP and TCP
On bind() and connect() the socket service associates 64 network address
bits with the UDP socket or the TCP connection
On sendto() the socket service uses 64 bits from sockaddr_in and
on send() the socket service uses 64 bits from the structure
modelling the connection
UDP and TCP shall include 64 address bits in transmitted checksums.
This causes no change in the checksum values of User Datagrams
and TCP segments using only 32 bits of source and destination address
Internet Protocol must on transmission add the source address prefix
option if any of the high-order 32 source address bits is 1
Internet Protocol must on transmission add the the destination address
prefix option if any of the 32 high-order destination address bits is 1
The pseudo-header of received reassembled datagrams may be
perceived as an IP service requested by the upper protocol
Pseudo-Header
octet 0 1 2 3 4 5 6 7
+--------+--------+--------+--------+--------+--------+--------+--------+
| source address high-order 32 bits | source-address low-order 32 bits |
+--------+--------+--------+--------+--------+--------+--------+--------+
| destination address high 32 bits | destination address low 32 bits |
+--------+--------+--------+--------+--------+--------+--------+--------+
|IP payload octets| upper protocol |
+--------+--------+--------+--------+
octet 16 17 18 19
Authors' Addresses
Tim Cox
Postfach 285
CH-3052 Zollikofen
Switzerland
EMail: TimMilesCox@gmx.ch