idnits 2.17.1 draft-omar-ipv10-00.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 16 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 2677 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-00 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-00 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 wasdefined 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 Internetafter 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 to 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. 153 - The second solution: (Tunneling), allows IPv6 hosts to communicate 154 to each other through an IPv4 network, but still does not allows 155 IPv4 hosts to communicate to IPv6 hosts and vice versa. 157 - The third solution: (NAT-PT), allows IPv6 hosts to communicate to 158 IPv4 hosts with only using hostnames and getting DNS involved in 159 the communication process but this solution was inefficient because 160 it does not allows communication using direct IP addresses, also 161 the need for so much protocol translations of the source and 162 destination IP addresses made the solution complex and not 163 applicable thats why it was moved to the Historic status in the 164 RFC 2766. 165 Also, NAT64 requires so much protocol translations and statically 166 configured bindings, and also getting a DNS64 involved in the 167 communication process. 169 RFC IPv10 Specification December 20, 2016 171 2. Internet Protocol version 10 (IPv10). 173 - IPv10 is the solution presented in this standard. 175 - It solves the issue of allowing IPv6 only hosts to communicate to 176 IPv4 only hosts and vice versa in a simple and very efficient way, 177 especially when the communication is done using both direct IP 178 addresses and when using hostnames between IPv10 hosts, as there 179 is no need for protocol translations or getting the DNS involved 180 in the communication process more than its normal address 181 resolution function. 183 - IPv10 allows hosts from two IP versions (IPv4 and IPv6) to be able 184 to communicate, and this can be accomplished by having an IPv10 185 packet containing a mixture of IPv4 and IPv6 addresses in the same 186 IP packet header. 188 - From here the name of IPv10 arises, as the IP packet can contain 189 (IPv6 + IPv4 /IPv4 + IPv6) addresses in the same layer 3 packet 190 header. 192 3. Advantages of Using IPv10. 194 1) Introduces an efficient way of communication between IPv6 hosts 195 and IPv4 hosts. 197 2) Allows IPv4 only hosts to exist and communicate with IPv6 only 198 hosts even after the depletion of the IPv4 address space. 200 3) Adds flexibility when making a query sent to the DNS for 201 hostname resolution as IPv4 and IPv6 hosts can communicate with 202 IPv4 or IPv6 DNS servers and the DNS can reply with any record 203 it has (either an IPv6 record Host AAAA record or an IPv4 204 record Host A record). 206 4) There is no need to think about migration as both IPv4 and IPv6 207 hosts can coexist and communicate to each other which will 208 allow the usage of the address space of both IPv4 and IPv6 209 making the available number of connected hosts be bigger. 211 5) IPv10 support on "all" Internet connected hosts can be deployed 212 in a very short time by technology companies developing OSs 213 (for hosts and networking devices, and there will be no 214 dependence on enterprise users and it is just a software 215 development process in the NIC cards of all hosts to allow 216 encapsulating both IPv4 and IPv6 in the same IP packet header. 218 6) Offers the four types of communication between hosts: 220 - IPv6 hosts to IPv4 hosts (6 to 4). 222 - IPv4 hosts to IPv6 hosts (4 to 6). 224 - IPv6 hosts to IPv6 hosts (6 to 6). 226 - IPv4 hosts to IPv4 hosts (4 to 4). 228 RFC IPv10 Specification December 20, 2016 230 3.1) IPv10: IPv6 Host to IPv4 Host. 231 ------------------------------ 233 - IPv10 Packet: 235 | 128-bit | 32-bit | 236 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 237 | Data| Source IPv6 Address | Destination IPv4 Address | 238 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 240 - Sending IPv10 host TCP/IP Configuration: 242 IP Address: IPv6 Address 243 Prefix Length: /length 244 Default Gateway: IPv6 Address (Optional) 245 DNS Addresses: IPv6/IPv4 Address 247 - Example of IPv10 Operation: 248 --------------------------- 250 R1 & R2 have both IPv4/IPv6 routing enabled 251 IPv10 Host IPv10 Host 253 PC-1 R1 * R2 PC-2 254 +----+ * * +----+ 255 | | * * * * | | 256 | |o---------o* X *o---o* IPv4/IPv6 *o---o* X *o-----------o| | 257 +----+ 2001:1::1 * * * * 192.168.1.1 +----+ 258 / / * Network * / / 259 +----+ * * +----+ 260 * * 261 IPv6: 2001:1::10/64 * IPv4: 192.168.1.10/24 262 DG : 2001:1::1 DG : 192.168.1.1 264 | 128-bit | 32-bit | 265 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 266 |Data | 2001:1::1 | 192.168.1.10|---> 267 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 268 Src. Address Dest. Address 270 IPv10: IPv6 host to IPv4 host 272 RFC IPv10 Specification December 20, 2016 274 3.2) IPv10: IPv4 Host to IPv6 Host. 275 ------------------------------ 277 - IPv10 Packet: 279 | 32-bit | 128-bit | 280 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 281 | Data| Source IPv4 Address | Destination IPv6 Address | 282 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 284 - Sending IPv10 host TCP/IP Configuration: 286 IP Address: IPv4 Address 287 Subnet Mask: /mask 288 Default Gateway: IPv4 Address 289 DNS Addresses: IPv4/IPv6 Address 291 - Example of IPv10 Operation: 292 --------------------------- 294 R1 & R2 have both IPv4/IPv6 routing enabled 295 IPv10 Host IPv10 Host 297 PC-1 R1 * R2 PC-2 298 +----+ * * +----+ 299 | | * * * * | | 300 | |o---------o* X *o---o* IPv4/IPv6 *o---o* X *o-----------o| | 301 +----+ 2001:1::1 * * * * 192.168.1.1 +----+ 302 / / * Network * / / 303 +----+ * * +----+ 304 * * 305 IPv6: 2001:1::10/64 * IPv4: 192.168.1.10/24 306 DG : 2001:1::1 DG : 192.168.1.1 308 | 128-bit | 32-bit | 309 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 310 <---| 2001:1::10| 192.168.1.10| Data| 311 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 312 Dest. Address Src. Addres 314 IPv10: IPv4 host to IPv6 host 316 RFC IPv10 Specification December 20, 2016 318 3.3) IPv10: IPv6 Host to IPv6 Host. 319 ------------------------------ 321 - IPv10 Packet: 323 | 128-bit | 128-bit | 324 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 325 | Data| Source IPv6 Address | Destination IPv6 Address | 326 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 328 - Sending IPv10 host TCP/IP Configuration: 330 IP Address: IPv6 Address 331 Prefix Length: /Length 332 Default Gateway: IPv6 Address (Optional) 333 DNS Addresses: IPv6/IPv4 Address 335 - Example of IPv10 Operation: 336 --------------------------- 338 R1 & R2 have both IPv4/IPv6 routing enabled 339 IPv10 Host IPv10 Host 341 PC-1 R1 * R2 PC-2 342 +----+ * * +----+ 343 | | * * * * | | 344 | |o---------o* X *o---o* IPv4/IPv6 *o---o* X *o---------o| | 345 +----+ 2001:1::1 * * * * 3001:1::1 +----+ 346 / / * Network * / / 347 +----+ * * +----+ 348 * * 349 IPv6: 2001:1::10/64 * IPv6: 3001:1::10/64 350 DG : 2001:1::1 DG : 3001:1::1 352 | 128-bit | 128-bit | 353 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 354 |Data |2001:1::10 |3001:1::10 |---> 355 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 356 Src. Address Dest. Address 358 IPv10: IPv6 host to IPv6 host 360 RFC IPv10 Specification December 20, 2016 362 3.4) IPv10: IPv4 Host to IPv4 Host. 363 ------------------------------ 365 - IPv10 Packet: 367 | 32-bit | 32-bit | 368 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 369 | Data| Source IPv4 Address | Destination IPv4 Address | 370 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 372 - Sending IPv10 host TCP/IP Configuration: 374 IP Address: IPv4 Address 375 Subnet Mask: /Mask 376 Default Gateway: IPv4 Address 377 DNS Addresses: IPv6/IPv4 Address 379 - Example of IPv10 Operation: 380 --------------------------- 382 R1 & R2 have both IPv4/IPv6 routing enabled 383 IPv10 Host IPv10 Host 385 PC-1 R1 * R2 PC-2 386 +----+ * * +----+ 387 | | * * * * | | 388 | |o--------o* X *o---o* IPv4/IPv6 *o---o* X *o-----------o| | 389 +----+ 10.1.1.1 * * * * 192.168.1.1 +----+ 390 / / * Network * / / 391 +----+ * * +----+ 392 * * 393 IPv4: 10.1.1.10/24 * IPv6: 192.168.1.10/24 394 DG : 10.1.1.1 DG : 192.168.1.1 396 | 32-bit | 32-bit | 397 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 398 |Data | 10.1.1.10 | 192.168.1.10|---> 399 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 400 Src. Address Dest. Address 402 IPv10: IPv4 host to IPv4 host 404 RFC IPv10 Specification December 20, 2016 406 4. IPv10 Packet Header Format. 408 - The following figure shows the IPv10 packet header which is almost 409 the same as the IPv6 packet header: 411 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 412 |Version| Traffic Class | Flow Label | 413 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 414 | Payload Length | Next Header | Hop Limit | 415 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 416 | | 417 + + 418 | | 419 + Source Address + 420 | | 421 + + 422 | | 423 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 424 | | 425 + + 426 | | 427 + Destination Address + 428 | | 429 + + 430 | | 431 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 433 Version 4-bit Internet Protocol version number. 435 - 0100 : IPv4 Packet 436 (Src. and dest. are IPv4). 437 - 0110 : IPv6 Packet 438 (Src. and dest. are IPv6). 439 - 1010 : IPv10 Packet 440 (Src. and dest. are IPv4/IPv6). 442 Traffic Class 8-bit traffic class field. 444 Flow Label 20-bit flow label. 446 Payload Length 16-bit unsigned integer. Length of the payload, 447 i.e., the rest of the packet following 448 this IP header, in octets. (Note that any 449 extension headers [section 4] present are 450 considered part of the payload, i.e., included 451 in the length count.) 453 Next Header 8-bit selector. Identifies the type of header 454 immediately following the IP header. 456 Hop Limit 8-bit unsigned integer. Decremented by 1 by 457 each node that forwards the packet. The packet 458 is discarded if Hop Limit is decremented to 459 zero. 461 Source Address 128-bit address of the originator of the packet. 463 | 96-bit | 32-bit | 464 +-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 465 | IPv6 Address | OR | 00000......0 | IPv4 Address | 466 +-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 467 | 128-bit | | 128-bit | 469 Destination Address 128-bit address of the intended recipient of the 470 packet (possibly not the ultimate recipient, if 471 a Routing header is present). 473 | 96-bit | 32-bit | 474 +-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 475 | IPv6 Address | OR | 00000......0 | IPv4 Address | 476 +-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 477 | 128-bit | | 128-bit | 479 RFC IPv10 Specification December 20, 2016 480 Expires: 20-6-2017 482 Security Considerations 484 The security features of IPv10 are described in the Security 485 Architecture for the Internet Protocol [RFC-2401]. 487 Acknowledgments 489 The author gratefully acknowledge the suggestions of the IETF 490 mentors. 492 Author Address 494 Khaled Omar 495 The Road 496 6th of October City, Giza 497 Egypt 499 Phone: +2 01003620284 500 E-mail: eng.khaled.omar@hotmail.com 502 References 504 [RFC-2401] Stephen E. Deering and Robert M. Hinden, "IPv6 505 Specification", RFC 2460, December 1998. 507 Full Copyright Statement 509 Copyright (C) IETF (2016). All Rights Reserved. 511 This document and translations of it may be copied and furnished to 512 others, and derivative works that comment on or otherwise explain it 513 or assist in its implementation may be prepared, copied, published 514 and distributed, in whole or in part, without restriction of any 515 kind, provided that the above copyright notice and this paragraph are 516 included on all such copies and derivative works. However, this 517 document itself may not be modified in any way, such as by removing 518 the copyright notice or references, except as needed for the purpose of 519 developing Internet standards in which case the procedures for 520 copyrights defined in the Internet Standards process must be 521 followed, or as required to translate it into languages other than 522 English. 524 The limited permissions granted above are perpetual and will not be 525 revoked. 527 This document and the information contained herein is provided on 528 THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, 529 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT 530 THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR 531 ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR 532 PURPOSE.