IPv10 RFC.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Apologies if the sent text version is not having full contents.

 

Please try this version if you have difficulty with the first one.

 

IPv10 Working Group                                        Khaled Omar
Request for Comments:                                        
Obsoletes:                                                November 2016
Category: Standards Track                                         
                                                          


                  Internet Protocol, Version 10 (IPv10)
                             Specification

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2016).  All Rights Reserved.

Abstract

   This document specifies version 10 of the Internet Protocol (IPv10),

Table of Contents

   1. Introduction..................................................1
   2. Internet Protocol version 10 (IPv10)..........................3
   3. The advantages of Using IPv10.................................3
   3.1. IPv10: IPv6 Host to IPv4 Host...............................4
   3.2. IPv10: IPv4 Host to IPv6 Host...............................5
   3.3. IPv10: IPv6 Host to IPv6 Host...............................6
   3.4. IPv10: IPv4 Host to IPv4 Host...............................7
   4. IPv10 Packet Header Format....................................8




Khaled Omar            Standards Track                     [Page 1]

RFC                   IPv10 Specification              November 2016




1.  Introduction



- Internet is the global wide network used for communication between
  hosts connected to it.

- These connected hosts (PCs, servers, routers, mobile devices, etc.)
  must have a global unique addresses to be able to communicate
  through the Internet and these unique addresses are defined in the
  Internet Protocol (IP).

- The first version of the Internet Protocol is IPv4.

- When IPv4 was developed in 1975, it was not expected that the number
  of connected hosts to the Internet reach a very huge number of hosts
  more than the IPv4 address space, also it was aimed to be used for
  experimental purposes in the beginning.

- IPv4 is (32-bits) address allowing approximately 3.4 billion unique
  IP addresses.



- A few years ago, with the massive increase of connected hosts to the
  Internet, IPv4 addresses started to run out.

- Three short-term solutions (CIDR, Private addressing, and NAT) were
  introduced in the mid-1990s but even with using these solutions,
  the IPv4 address space ran out in February, 2011 as announced by
  IANA, The announcement of depletion of the IPv4 address space by
  the RIRs is as follows:

  o April, 2011:      APNIC announcement.
  o September, 2012:  RIPE NCC announcement.
  o June, 2014:       LACNIC announcement.
  o September, 2015:  ARIN announcement.
 

- A long term solution (IPv6) was introduced to increase the address
  space used by the Internet Protocol and this wasdefined in the
  Internet Protocol version 6 (IPv6).





Khaled Omar            Standards Track                     [Page 2]

RFC                   IPv10 Specification              November 2016




- IPv6 was developed in 1998 by the Internet Engineering Task Force
  (IETF).

- IPv6 is (128-bits) address and can support a huge number of unique
  IP addresses that is approximately equals to 2^128 unique addresses.

- So, the need for IPv6 became a vital issue to be able to support
  the massive increase of connected hosts to the Internetafter the
  IPv4 address space exhaustion.



- The migration from IPv4 to IPv6 became a necessary thing, but
  unfortunately, it would take decades for this full migration to be
  accomplished.

- 19 years have passed since IPv6 was developed, but no full migration
  happened till now and this would cause the Internet to be divided
  into two parts, as IPv4 still dominating on the Internet traffic and
  new Internet hosts will be assigned IPv6 addresses.

- So, the need for solutions to the IPv4 and IPv6 coexistence became
  an important issue in the migration process as we cannot wake up in
  the morning and find all IPv4 hosts are migrated to be IPv6 hosts,
  especially, as most enterprises? networks did not do this migration
  for creating a full IPv6 implementation.

- Also, the request for using IPv6 addresses in addition to the
  existing IPv4 addresses (IPv4/IPv6 Dual Stacks) in all enterprise
  networks did not achieve a large implementation that can make IPv6
  the most dominated IP in the Internet as many people believe that
  they will not have benefits from just having a larger IP address
  bits and IPv4 satisfies their needs, also, not all enterprises?
  devices support IPv6 and also many people are afraid of the service
  outage that can be caused due to this migration.  



- The recent solutions for IPv4 and IPv6 coexistence are:

  o IPv4/IPv6 Dual Stacks.
  o Tunneling.
  o NAT-PT and NAT64.

- The first solution: (IPv4/IPv6 Dual Stacks), allows both IPv4 and
  IPv6 to coexist by using both IPv4 and IPv6 addresses for
  ?all hosts? at the same time, but this solution does not allows
  IPv4 hosts to communicate to IPv6 hosts and vice versa.

- The second solution: (Tunneling), allows IPv6 hosts to communicate
  to each other through an IPv4 network, but still does not allows
  IPv4 hosts to communicate to IPv6 hosts and vice versa.

- The third solution: (NAT-PT), allows IPv6 hosts to communicate to
  IPv4 hosts with only using hostnames and getting DNS involved in
  the communication process but this solution was inefficient because
  it does not allows communication using direct IP addresses, also
  the need for so much protocol translations of the source and
  destination IP addresses made the solution complex and not
  applicable that?s why it was moved to the ?Historic? status in the
  RFC 2766. 
  Also, NAT64 requires so much protocol translations and statically
  configured bindings, and also getting a DNS64 involved in the
  communication process.





Khaled Omar            Standards Track                     [Page 3]

RFC                   IPv10 Specification              November 2016




2.  Internet Protocol version 10 (IPv10).




- IPv10 is the solution presented in this standard. 

- It solves the issue of allowing IPv6 only hosts to communicate to
  IPv4 only hosts and vice versa in a simple and very efficient way,
  especially when the communication is done using both direct IP
  addresses and when using hostnames between IPv10 hosts, as there
  is no need for protocol translations or getting the DNS involved
  in the communication process more than its normal address
  resolution function.

- IPv10 allows hosts from two IP versions (IPv4 and IPv6) to be able
  to communicate, and this can be accomplished by having an IPv10
  packet containing a mixture of IPv4 and IPv6 addresses in the same
  IP packet header.

- From here the name of IPv10 arises, as the IP packet can contain
  (IPv6 + IPv4 /IPv4 + IPv6) addresses in the same layer 3 packet
  header.






3.  Advantages of Using IPv10.




    1) Introduces an efficient way of communication between IPv6 hosts
       and IPv4 hosts.

    2) Allows IPv4 only hosts to exist and communicate with IPv6 only
       hosts even after the depletion of the IPv4 address space.
 
    3) Adds flexibility when making a query sent to the DNS for
       hostname resolution as IPv4 and IPv6 hosts can communicate with
       IPv4 or IPv6 DNS servers and the DNS can reply with any record
       it has (either an IPv6 record ?Host AAAA record? or an IPv4
       record ?Host A record?).

    4) There is no need to think about migration as both IPv4 and IPv6
       hosts can coexist and communicate to each other which will
       allow the usage of the address space of both IPv4 and IPv6
       making the available number of connected hosts be bigger.

    5) IPv10 support on "all" Internet connected hosts can be deployed
       in a very short time by technology companies developing OSs
       (for hosts and networking devices, and there will be no
       dependence on enterprise users and it is just a software
       development process in the NIC cards of all hosts to allow
       encapsulating both IPv4 and IPv6 in the same IP packet header.  

    6) Offers the four types of communication between hosts:

          o IPv6 hosts to IPv4 hosts (6 to 4).
         
          o IPv4 hosts to IPv6 hosts (4 to 6).
   
          o IPv6 hosts to IPv6 hosts (6 to 6).
   
          o IPv4 hosts to IPv4 hosts (4 to 4).





Khaled Omar            Standards Track                     [Page 4]

RFC                   IPv10 Specification              November 2016





3.1) IPv10: IPv6 Host to IPv4 Host.
     ------------------------------


- IPv10 Packet:


         |            128-bit       |            32-bit              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Data|   Source IPv6 Address    |   Destination IPv4 Address     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


- Sending IPv10 host TCP/IP Configuration:   	


      IP Address:               IPv6 Address
      Prefix Length:            /length
      Default Gateway:	        IPv6 Address (Optional)
      DNS Addresses:	        IPv6/IPv4 Address
                                



- Example of IPv10 Operation:
  ---------------------------

                R1 & R2 have both IPv4/IPv6 routing enabled
IPv10 Host                                                     IPv10 Host

   PC-1             R1             *            R2                PC-2
  +----+                         *   *                           +----+
  |    |             *         *       *         *               |    |
  |    |o---------o* X *o---o* IPv4/IPv6 *o---o* X *o-----------o|    |
  +----+  2001:1::1  *     *               *     *  192.168.1.1  +----+
 /    /                      *  Network  *                      /    /
+----+                         *       *                       +----+
                                 *   *  
IPv6: 2001:1::10/64                *                IPv4: 192.168.1.10/24
DG  : 2001:1::1                                     DG  : 192.168.1.1

      |  128-bit  |    32-bit   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Data | 2001:1::1 | 192.168.1.10|--->
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      Src. Address  Dest. Address



                     IPv10: IPv6 host to IPv4 host






Khaled Omar            Standards Track                     [Page 5]

RFC                   IPv10 Specification              November 2016





3.2) IPv10: IPv4 Host to IPv6 Host.
     ------------------------------


- IPv10 Packet:


         |        32-bit         |           128-bit           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Data|  Source IPv4 Address  |  Destination IPv6 Address   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


- Sending IPv10 host TCP/IP Configuration:   	


      IP Address:               IPv4 Address
      Subnet Mask:              /mask
      Default Gateway:	        IPv4 Address
      DNS Addresses:	        IPv4/IPv6 Address
                                



- Example of IPv10 Operation:
  ---------------------------
 
              R1 & R2 have both IPv4/IPv6 routing enabled
IPv10 Host                                                    IPv10 Host

   PC-1             R1             *            R2                PC-2
  +----+                         *   *                           +----+
  |    |             *         *       *         *               |    |
  |    |o---------o* X *o---o* IPv4/IPv6 *o---o* X *o-----------o|    |
  +----+  2001:1::1  *     *               *     *  192.168.1.1  +----+
 /    /                      *  Network  *                      /    /
+----+                         *       *                       +----+
                                 *   *  
IPv6: 2001:1::10/64                *               IPv4: 192.168.1.10/24
DG  : 2001:1::1                                    DG  : 192.168.1.1
 
     
                                       |  128-bit  |    32-bit   |
                                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                   <---| 2001:1::10| 192.168.1.10| Data|
                                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                       Dest. Address Src. Addres



                    IPv10: IPv4 host to IPv6 host





Khaled Omar            Standards Track                     [Page 6]

RFC                   IPv10 Specification              November 2016




3.3) IPv10: IPv6 Host to IPv6 Host.
     ------------------------------


- IPv10 Packet:


         |        128-bit        |          128-bit            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Data|  Source IPv6 Address  |  Destination IPv6 Address   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


- Sending IPv10 host TCP/IP Configuration:   	


      IP Address:               IPv6 Address
      Prefix Length:            /Length
      Default Gateway:	        IPv6 Address (Optional)
      DNS Addresses:	        IPv6/IPv4 Address
                                



- Example of IPv10 Operation:
  ---------------------------

              R1 & R2 have both IPv4/IPv6 routing enabled
IPv10 Host                                                   IPv10 Host

   PC-1             R1             *            R2              PC-2
  +----+                         *   *                         +----+
  |    |             *         *       *         *             |    |
  |    |o---------o* X *o---o* IPv4/IPv6 *o---o* X *o---------o|    |
  +----+  2001:1::1  *     *               *     *  3001:1::1  +----+
 /    /                      *  Network  *                    /    /
+----+                         *       *                     +----+
                                 *   *  
IPv6: 2001:1::10/64                *              IPv6: 3001:1::10/64
DG  : 2001:1::1                                   DG  : 3001:1::1
  
     
      |  128-bit  |  128-bit  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Data |2001:1::10 |3001:1::10 |--->
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      Src. Address Dest. Address

                        
                         IPv10: IPv6 host to IPv6 host






Khaled Omar            Standards Track                     [Page 7]

RFC                   IPv10 Specification              November 2016





3.4) IPv10: IPv4 Host to IPv4 Host.
     ------------------------------


- IPv10 Packet:


         |       32-bit        |          32-bit           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Data| Source IPv4 Address | Destination IPv4 Address  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


- Sending IPv10 host TCP/IP Configuration:   	


      IP Address:               IPv4 Address
      Subnet Mask:              /Mask
      Default Gateway:	        IPv4 Address
      DNS Addresses:	        IPv6/IPv4 Address
                                



- Example of IPv10 Operation:
  ---------------------------

              R1 & R2 have both IPv4/IPv6 routing enabled
 IPv10 Host                                                   IPv10 Host
 
    PC-1            R1             *            R2                PC-2
   +----+                        *   *                           +----+
   |    |            *         *       *         *               |    |
   |    |o--------o* X *o---o* IPv4/IPv6 *o---o* X *o-----------o|    |
   +----+  10.1.1.1  *     *               *     *  192.168.1.1  +----+
  /    /                     *  Network  *                      /    /
 +----+                        *       *                       +----+
                                 *   *  
IPv4: 10.1.1.10/24                 *              IPv6: 192.168.1.10/24
DG  : 10.1.1.1                                    DG  : 192.168.1.1
  
     
      |   32-bit  |    32-bit   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Data | 10.1.1.10 | 192.168.1.10|--->
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       Src. Address Dest. Address

                               
                     IPv10: IPv4 host to IPv4 host





Khaled Omar            Standards Track                     [Page 8]

RFC                   IPv10 Specification              November 2016





4.  IPv10 Packet Header Format.




- The following figure shows the IPv10 packet header which is almost
  the same as the IPv6 packet header:



   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |Version| Traffic Class |           Flow Label                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Payload Length        |  Next Header  |   Hop Limit   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   +                                                               +
   |                                                               |
   +                         Source Address                        +
   |                                                               |
   +                                                               +
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   +                                                               +
   |                                                               |
   +                      Destination Address                      +
   |                                                               |
   +                                                               +
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+




   Version              4-bit Internet Protocol version number.
     
                        o 0100 : IPv4 Packet  
                                 (Src. and dest. are IPv4).
                        o 0110 : IPv6 Packet 
                                 (Src. and dest. are IPv6).
                        o 1010 : IPv10 Packet
                                 (Src. and dest. are IPv4/IPv6).


   Traffic Class        8-bit traffic class field.

   Flow Label           20-bit flow label.

   Payload Length       16-bit unsigned integer.  Length of the payload,
                        i.e., the rest of the packet following
                        this IP header, in octets.  (Note that any
                        extension headers [section 4] present are
                        considered part of the payload, i.e., included
                        in the length count.)
   
   Next Header          8-bit selector.  Identifies the type of header
                        immediately following the IP header.

   Hop Limit            8-bit unsigned integer.  Decremented by 1 by
                        each node that forwards the packet. The packet
                        is discarded if Hop Limit is decremented to
                        zero.

   Source Address       128-bit address of the originator of the packet.



                                    |     96-bit    |     32-bit      |
    +-+-+-+-+-+-+-+-+-+-+-+         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |   IPv6 Address      |   OR    | 00000......0  |   IPv4 Address  |
    +-+-+-+-+-+-+-+-+-+-+-+         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     128-bit         |         |            128-bit              |
                       


   Destination Address  128-bit address of the intended recipient of the
                        packet (possibly not the ultimate recipient, if
                        a Routing header is present).



                                    |     96-bit    |     32-bit      |
    +-+-+-+-+-+-+-+-+-+-+-+         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |   IPv6 Address      |   OR    | 00000......0  |   IPv4 Address  |
    +-+-+-+-+-+-+-+-+-+-+-+         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     128-bit         |         |            128-bit              |













[Index of Archives]     [IETF Annoucements]     [IETF]     [IP Storage]     [Yosemite News]     [Linux SCTP]     [Linux Newbies]     [Fedora Users]