idnits 2.17.1 draft-omar-ipv10-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == The page length should not exceed 58 lines per page, but there was 8 longer pages, the longest (page 9) being 98 lines == It seems as if not all pages are separated by form feeds - found 0 form feeds but 9 pages Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. ** There are 22 instances of too long lines in the document, the longest one being 8 characters in excess of 72. ** There are 9 instances of lines with control characters in the document. == There are 12 instances of lines with private range IPv4 addresses in the document. If these are generic example addresses, they should be changed to use any of the ranges defined in RFC 6890 (or successor): 192.0.2.x, 198.51.100.x or 203.0.113.x. == There are 5 instances of lines with non-RFC3849-compliant IPv6 addresses in the document. If these are example addresses, they should be changed. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The "Author's Address" (or "Authors' Addresses") section title is misspelled. -- The document date (December 20, 2016) is 2684 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'RFC-2460' is mentioned on line 67, but not defined ** Obsolete undefined reference: RFC 2460 (Obsoleted by RFC 8200) == Missing Reference: 'RFC-791' is mentioned on line 68, but not defined ** Obsolete normative reference: RFC 2460 (ref. 'RFC-2401') (Obsoleted by RFC 8200) Summary: 6 errors (**), 0 flaws (~~), 8 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 draft-omar-ipv10-01 Khaled Omar 2 Internet-Draft The Road 3 Intended status: Standard Track 4 Expires: June 20, 2017 December 20, 2016 6 Internet Protocol version 10 (IPv10) 7 Specification 8 draft-omar-ipv10-01 10 Status of this Memo 12 This Internet-Draft is submitted in full conformance with the provisions 13 of BCP 78 and BCP 79. 15 Internet-Drafts are working documents of the Internet Engineering Task 16 Force (IETF). Note that other groups may also distribute working documents 17 as Internet-Drafts. The list of current Internet-Drafts is at 18 http://datatracker.ietf.org/drafts/current/. 20 Internet-Drafts are draft documents valid for a maximum of six months and 21 may be updated, replaced, or obsoleted by other documents at any time. 22 It is inappropriate to use Internet-Drafts as reference material or to cite 23 them other than as "work in progress." 25 This Internet-Draft will expire on June 20, 2017. 27 Copyright Notice 29 Copyright (c) 2016 IETF Trust and the persons identified as the document 30 authors. All rights reserved. 32 This document is subject to BCP 78 and the IETF Trust's Legal Provisions 33 Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect 34 on the date of publication of this document. Please review these documents 35 carefully, as they describe your rights and restrictions with respect to this 36 document. Code Components extracted from this document must include 37 Simplified BSD License text as described in Section 4.e of the Trust Legal 38 Provisions and are provided without warranty as described in the Simplified 39 BSD License. 41 Abstract 43 This document specifies version 10 of the Internet Protocol (IPv10), 44 also sometimes referred to as IP Mixture or IPmix. 46 Table of Contents 48 1. Introduction..................................................1 49 2. Internet Protocol version 10 (IPv10)..........................3 50 3. The advantages of Using IPv10.................................3 51 3.1. IPv10: IPv6 Host to IPv4 Host...............................4 52 3.2. IPv10: IPv4 Host to IPv6 Host...............................5 53 3.3. IPv10: IPv6 Host to IPv6 Host...............................6 54 3.4. IPv10: IPv4 Host to IPv4 Host...............................7 55 4. IPv10 Packet Header Format....................................8 56 5. Security Considerations.......................................9 57 6. Acknowledgments...............................................9 58 7. Author Address................................................9 59 8. References....................................................9 60 9. Full Copyright Statement......................................9 62 RFC IPv10 Specification December 20, 2016 64 1. Introduction 66 IP version 10 (IPv10) is a new version of the Internet Protocol, 67 designed to allow IP version 6 [RFC-2460] to communicate to 68 IP version 4 (IPv4) [RFC-791] and vice versa. 70 - Internet is the global wide network used for communication between 71 hosts connected to it. 73 - These connected hosts (PCs, servers, routers, mobile devices, etc.) 74 must have a global unique addresses to be able to communicate 75 through the Internet and these unique addresses are defined in the 76 Internet Protocol (IP). 78 - The first version of the Internet Protocol is IPv4. 80 - When IPv4 was developed in 1975, it was not expected that the number 81 of connected hosts to the Internet reach a very huge number of hosts 82 more than the IPv4 address space, also it was aimed to be used for 83 experimental purposes in the beginning. 85 - IPv4 is (32-bits) address allowing approximately 3.4 billion unique 86 IP addresses. 88 - A few years ago, with the massive increase of connected hosts to the 89 Internet, IPv4 addresses started to run out. 91 - Three short-term solutions (CIDR, Private addressing, and NAT) were 92 introduced in the mid-1990s but even with using these solutions, 93 the IPv4 address space ran out in February, 2011 as announced by 94 IANA, The announcement of depletion of the IPv4 address space by 95 the RIRs is as follows: 97 * April, 2011: APNIC announcement. 98 * September, 2012: RIPE NCC announcement. 99 * June, 2014: LACNIC announcement. 100 * September, 2015: ARIN announcement. 102 - A long term solution (IPv6) was introduced to increase the address 103 space used by the Internet Protocol and this was defined in the 104 Internet Protocol version 6 (IPv6). 106 RFC IPv10 Specification December 20, 2016 108 - IPv6 was developed in 1998 by the Internet Engineering Task Force 109 (IETF). 111 - IPv6 is (128-bits) address and can support a huge number of unique 112 IP addresses that is approximately equals to 2^128 unique addresses. 114 - So, the need for IPv6 became a vital issue to be able to support 115 the massive increase of connected hosts to the Internet after the 116 IPv4 address space exhaustion. 118 - The migration from IPv4 to IPv6 became a necessary thing, but 119 unfortunately, it would take decades for this full migration to be 120 accomplished. 122 - 19 years have passed since IPv6 was developed, but no full migration 123 happened till now and this would cause the Internet to be divided 124 into two parts, as IPv4 still dominating on the Internet traffic and 125 new Internet hosts will be assigned IPv6 addresses. 127 - So, the need for solutions for the IPv4 and IPv6 coexistence became 128 an important issue in the migration process as we cannot wake up in 129 the morning and find all IPv4 hosts are migrated to be IPv6 hosts, 130 especially, as most enterprises did not do this migration for 131 creating a full IPv6 implementation. 133 - Also, the request for using IPv6 addresses in addition to the 134 existing IPv4 addresses (IPv4/IPv6 Dual Stacks) in all enterprise 135 networks did not achieve a large implementation that can make IPv6 136 the most dominated IP in the Internet as many people believe that 137 they will not have benefits from just having a larger IP address 138 bits and IPv4 satisfies their needs, also, not all enterprises 139 devices support IPv6 and also many people are afraid of the service 140 outage that can be caused due to this migration. 142 - The recent solutions for IPv4 and IPv6 coexistence are: 144 * IPv4/IPv6 Dual Stacks. 145 * Tunneling. 146 * NAT-PT and NAT64. 148 - The first solution: (IPv4/IPv6 Dual Stacks), allows both IPv4 and 149 IPv6 to coexist by using both IPv4 and IPv6 addresses for 150 all hosts at the same time, but this solution does not allows 151 IPv4 hosts to communicate to IPv6 hosts and vice versa. Also, after 152 the depletion of the IPv4 address space, new Internet hosts will 153 not be able to use IPv4/IPv6 Dual Stacks. 155 - The second solution: (Tunneling), allows IPv6 hosts to communicate 156 to each other through an IPv4 network, but still does not allows 157 IPv4 hosts to communicate to IPv6 hosts and vice versa. 159 - The third solution: (NAT-PT), allows IPv6 hosts to communicate to 160 IPv4 hosts with only using hostnames and getting DNS involved in 161 the communication process but this solution was inefficient because 162 it does not allows communication using direct IP addresses, also 163 the need for so much protocol translations of the source and 164 destination IP addresses made the solution complex and not 165 applicable thats why it was moved to the Historic status in the 166 RFC 2766. 167 Also, NAT64 requires so much protocol translations and statically 168 configured bindings, and also getting a DNS64 involved in the 169 communication process. 171 RFC IPv10 Specification December 20, 2016 173 2. Internet Protocol version 10 (IPv10). 175 - IPv10 is the solution presented in this Internet draft. 177 - It solves the issue of allowing IPv6 only hosts to communicate to 178 IPv4 only hosts and vice versa in a simple and very efficient way, 179 especially when the communication is done using both direct IP 180 addresses and when using hostnames between IPv10 hosts, as there 181 is no need for protocol translations or getting the DNS involved 182 in the communication process more than its normal address 183 resolution function. 185 - IPv10 allows hosts from two IP versions (IPv4 and IPv6) to be able 186 to communicate, and this can be accomplished by having an IPv10 187 packet containing a mixture of IPv4 and IPv6 addresses in the same 188 IP packet header. 190 - From here the name of IPv10 arises, as the IP packet can contain 191 (IPv6 + IPv4 /IPv4 + IPv6) addresses in the same layer 3 packet 192 header. 194 3. Advantages of Using IPv10. 196 1) Introduces an efficient way of communication between IPv6 hosts 197 and IPv4 hosts. 199 2) Allows IPv4 only hosts to exist and communicate with IPv6 only 200 hosts even after the depletion of the IPv4 address space. 202 3) Adds flexibility when making a query sent to the DNS for 203 hostname resolution as IPv4 and IPv6 hosts can communicate with 204 IPv4 or IPv6 DNS servers and the DNS can reply with any record 205 it has (either an IPv6 record Host AAAA record or an IPv4 206 record Host A record). 208 4) There is no need to think about migration as both IPv4 and IPv6 209 hosts can coexist and communicate to each other which will 210 allow the usage of the address space of both IPv4 and IPv6 211 making the available number of connected hosts be bigger. 213 5) IPv10 support on "all" Internet connected hosts can be deployed 214 in a very short time by technology companies developing OSs 215 (for hosts and networking devices, and there will be no 216 dependence on enterprise users and it is just a software 217 development process in the NIC cards of all hosts to allow 218 encapsulating both IPv4 and IPv6 in the same IP packet header. 220 6) Offers the four types of communication between hosts: 222 - IPv6 hosts to IPv4 hosts (6 to 4). 224 - IPv4 hosts to IPv6 hosts (4 to 6). 226 - IPv6 hosts to IPv6 hosts (6 to 6). 228 - IPv4 hosts to IPv4 hosts (4 to 4). 230 RFC IPv10 Specification December 20, 2016 232 3.1) IPv10: IPv6 Host to IPv4 Host. 233 ------------------------------ 235 - IPv10 Packet: 237 | 128-bit | 32-bit | 238 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 239 | Data| Source IPv6 Address | Destination IPv4 Address | 240 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 242 - Sending IPv10 host TCP/IP Configuration: 244 IP Address: IPv6 Address 245 Prefix Length: /length 246 Default Gateway: IPv6 Address (Optional) 247 DNS Addresses: IPv6/IPv4 Address 249 - Example of IPv10 Operation: 250 --------------------------- 252 R1 & R2 have both IPv4/IPv6 routing enabled 253 IPv10 Host IPv10 Host 255 PC-1 R1 * R2 PC-2 256 +----+ * * +----+ 257 | | * * * * | | 258 | |o---------o* X *o---o* IPv4/IPv6 *o---o* X *o-----------o| | 259 +----+ 2001:1::1 * * * * 192.168.1.1 +----+ 260 / / * Network * / / 261 +----+ * * +----+ 262 * * 263 IPv6: 2001:1::10/64 * IPv4: 192.168.1.10/24 264 DG : 2001:1::1 DG : 192.168.1.1 266 | 128-bit | 32-bit | 267 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 268 |Data | 2001:1::1 | 192.168.1.10|---> 269 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 270 Src. Address Dest. Address 272 IPv10: IPv6 host to IPv4 host 274 RFC IPv10 Specification December 20, 2016 276 3.2) IPv10: IPv4 Host to IPv6 Host. 277 ------------------------------ 279 - IPv10 Packet: 281 | 32-bit | 128-bit | 282 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 283 | Data| Source IPv4 Address | Destination IPv6 Address | 284 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 286 - Sending IPv10 host TCP/IP Configuration: 288 IP Address: IPv4 Address 289 Subnet Mask: /mask 290 Default Gateway: IPv4 Address 291 DNS Addresses: IPv4/IPv6 Address 293 - Example of IPv10 Operation: 294 --------------------------- 296 R1 & R2 have both IPv4/IPv6 routing enabled 297 IPv10 Host IPv10 Host 299 PC-1 R1 * R2 PC-2 300 +----+ * * +----+ 301 | | * * * * | | 302 | |o---------o* X *o---o* IPv4/IPv6 *o---o* X *o-----------o| | 303 +----+ 2001:1::1 * * * * 192.168.1.1 +----+ 304 / / * Network * / / 305 +----+ * * +----+ 306 * * 307 IPv6: 2001:1::10/64 * IPv4: 192.168.1.10/24 308 DG : 2001:1::1 DG : 192.168.1.1 310 | 128-bit | 32-bit | 311 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 312 <---| 2001:1::10| 192.168.1.10| Data| 313 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 314 Dest. Address Src. Addres 316 IPv10: IPv4 host to IPv6 host 318 RFC IPv10 Specification December 20, 2016 320 3.3) IPv10: IPv6 Host to IPv6 Host. 321 ------------------------------ 323 - IPv10 Packet: 325 | 128-bit | 128-bit | 326 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 327 | Data| Source IPv6 Address | Destination IPv6 Address | 328 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 330 - Sending IPv10 host TCP/IP Configuration: 332 IP Address: IPv6 Address 333 Prefix Length: /Length 334 Default Gateway: IPv6 Address (Optional) 335 DNS Addresses: IPv6/IPv4 Address 337 - Example of IPv10 Operation: 338 --------------------------- 340 R1 & R2 have both IPv4/IPv6 routing enabled 341 IPv10 Host IPv10 Host 343 PC-1 R1 * R2 PC-2 344 +----+ * * +----+ 345 | | * * * * | | 346 | |o---------o* X *o---o* IPv4/IPv6 *o---o* X *o---------o| | 347 +----+ 2001:1::1 * * * * 3001:1::1 +----+ 348 / / * Network * / / 349 +----+ * * +----+ 350 * * 351 IPv6: 2001:1::10/64 * IPv6: 3001:1::10/64 352 DG : 2001:1::1 DG : 3001:1::1 354 | 128-bit | 128-bit | 355 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 356 |Data |2001:1::10 |3001:1::10 |---> 357 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 358 Src. Address Dest. Address 360 IPv10: IPv6 host to IPv6 host 362 RFC IPv10 Specification December 20, 2016 364 3.4) IPv10: IPv4 Host to IPv4 Host. 365 ------------------------------ 367 - IPv10 Packet: 369 | 32-bit | 32-bit | 370 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 371 | Data| Source IPv4 Address | Destination IPv4 Address | 372 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 374 - Sending IPv10 host TCP/IP Configuration: 376 IP Address: IPv4 Address 377 Subnet Mask: /Mask 378 Default Gateway: IPv4 Address 379 DNS Addresses: IPv6/IPv4 Address 381 - Example of IPv10 Operation: 382 --------------------------- 384 R1 & R2 have both IPv4/IPv6 routing enabled 385 IPv10 Host IPv10 Host 387 PC-1 R1 * R2 PC-2 388 +----+ * * +----+ 389 | | * * * * | | 390 | |o--------o* X *o---o* IPv4/IPv6 *o---o* X *o-----------o| | 391 +----+ 10.1.1.1 * * * * 192.168.1.1 +----+ 392 / / * Network * / / 393 +----+ * * +----+ 394 * * 395 IPv4: 10.1.1.10/24 * IPv6: 192.168.1.10/24 396 DG : 10.1.1.1 DG : 192.168.1.1 398 | 32-bit | 32-bit | 399 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 400 |Data | 10.1.1.10 | 192.168.1.10|---> 401 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 402 Src. Address Dest. Address 404 IPv10: IPv4 host to IPv4 host 406 Important Notes: - IPv4 and IPv6 routing must be enabled on all routers, so 407 when a router receives an IPv10 packet, it should use 408 the appropriate routing table based on the destination 409 address within the IPv10 packet. 411 - That means, if the received IPv10 packet contains an IPv4 412 address in the destination address field, the router 413 should use the IPv4 routing table to make a routing 414 decision, and if the received IPv10 packet contains an 415 IPv6 address in the destination address field, the router 416 should use the IPv6 routing table to make a routing 417 decision. 419 - All Internet connected hosts must be IPv10 hosts to be 420 able to communicate regardless the used IP version, 421 and the IPv10 deployment process can be accomplished 422 by ALL technology companies developing OSs for hosts 423 networking and security devices. 425 RFC IPv10 Specification December 20, 2016 427 4. IPv10 Packet Header Format. 429 - The following figure shows the IPv10 packet header which is almost 430 the same as the IPv6 packet header: 432 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 433 |Version| Traffic Class | Flow Label | 434 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 435 | Payload Length | Next Header | Hop Limit | 436 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 437 | | 438 + + 439 | | 440 + Source Address + 441 | | 442 + + 443 | | 444 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 445 | | 446 + + 447 | | 448 + Destination Address + 449 | | 450 + + 451 | | 452 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 454 Version 4-bit Internet Protocol version number. 456 - 0100 : IPv4 Packet 457 (Src. and dest. are IPv4). 458 - 0110 : IPv6 Packet 459 (Src. and dest. are IPv6). 460 - 1010 : IPv10 Packet 461 (Src. and dest. are IPv4/IPv6). 463 Traffic Class 8-bit traffic class field. 465 Flow Label 20-bit flow label. 467 Payload Length 16-bit unsigned integer. Length of the payload, 468 i.e., the rest of the packet following 469 this IP header, in octets. (Note that any 470 extension headers [section 4] present are 471 considered part of the payload, i.e., included 472 in the length count.) 474 Next Header 8-bit selector. Identifies the type of header 475 immediately following the IP header. 477 Hop Limit 8-bit unsigned integer. Decremented by 1 by 478 each node that forwards the packet. The packet 479 is discarded if Hop Limit is decremented to 480 zero. 482 Source Address 128-bit address of the originator of the packet. 484 | 96-bit | 32-bit | 485 +-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 486 | IPv6 Address | OR | 00000......0 | IPv4 Address | 487 +-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 488 | 128-bit | | 128-bit | 490 Destination Address 128-bit address of the intended recipient of the 491 packet (possibly not the ultimate recipient, if 492 a Routing header is present). 494 | 96-bit | 32-bit | 495 +-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 496 | IPv6 Address | OR | 00000......0 | IPv4 Address | 497 +-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 498 | 128-bit | | 128-bit | 500 RFC IPv10 Specification December 20, 2016 501 Expires: 20-6-2017 503 Security Considerations 505 The security features of IPv10 are described in the Security 506 Architecture for the Internet Protocol [RFC-2401]. 508 Acknowledgments 510 The author gratefully acknowledge the suggestions of the IETF 511 mentors. 513 Author Address 515 Khaled Omar 516 The Road 517 6th of October City, Giza 518 Egypt 520 Phone: +2 01003620284 521 E-mail: eng.khaled.omar@hotmail.com 523 References 525 [RFC-2401] Stephen E. Deering and Robert M. Hinden, "IPv6 526 Specification", RFC 2460, December 1998. 528 Full Copyright Statement 530 Copyright (C) IETF (2016). All Rights Reserved. 532 This document and translations of it may be copied and furnished to 533 others, and derivative works that comment on or otherwise explain it 534 or assist in its implementation may be prepared, copied, published 535 and distributed, in whole or in part, without restriction of any 536 kind, provided that the above copyright notice and this paragraph are 537 included on all such copies and derivative works. However, this 538 document itself may not be modified in any way, such as by removing 539 the copyright notice or references, except as needed for the purpose of 540 developing Internet standards in which case the procedures for 541 copyrights defined in the Internet Standards process must be 542 followed, or as required to translate it into languages other than 543 English. 545 The limited permissions granted above are perpetual and will not be 546 revoked. 548 This document and the information contained herein is provided on 549 THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, 550 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT 551 THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR 552 ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR 553 PURPOSE.