Internet Engineering Task Force K. Kadavill, Ed. Internet-Draft 23 July 2023 Intended status: Standards Track Expires: 24 January 2024 Internet Protocol version 11 draft-rfcxml-general-ipv11-standard-02 Abstract Standard for IPv11 address format and routing theory 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 https://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 24 January 2024. Copyright Notice Copyright (c) 2023 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 (https://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 Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Kadavill Expires 24 January 2024 [Page 1] Internet-Draft Abbreviated Title July 2023 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2 2. IPv11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.1. Address Format . . . . . . . . . . . . . . . . . . . . . 2 2.1.1. Address tier system . . . . . . . . . . . . . . . . . 3 3. IPv11 Assignment . . . . . . . . . . . . . . . . . . . . . . 3 4. Broadcast address . . . . . . . . . . . . . . . . . . . . . . 4 5. Topology . . . . . . . . . . . . . . . . . . . . . . . . . . 4 5.1. Connectivity . . . . . . . . . . . . . . . . . . . . . . 5 6. Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7. Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . 11 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 9. Security Considerations . . . . . . . . . . . . . . . . . . . 12 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 10.1. Normative References . . . . . . . . . . . . . . . . . . 12 10.2. Informative References . . . . . . . . . . . . . . . . . 12 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 12 1. Introduction IPv6 is dependent on IPv4 and it's not manageable as it scales. This happened because IPv6 addresses were bland and had no networking information in them. We plan to right these wrongs with IPv11. A 128 bit address with 24 bit chunks of host. 24 bit chunks means just 16,777,216 clients per network, they are easy to manage. 1.1. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 2. IPv11 The Internet Protocol Version 11 2.1. Address Format The format for an IPv11 address starts with an Octet and its value is a constant hexadecimal number 0x0B. This tells the device that it is an IPv11 IP address. The next 120 bits are made into 5 manageable 24 bit(6 hexadecimal characters) chunks. The first chunk is called a hyper block, the second one is called the super block,the third is called a cluster block, the fourth is called a block, and the fifth Kadavill Expires 24 January 2024 [Page 2] Internet-Draft Abbreviated Title July 2023 is called the host. 2.1.1. Address tier system IP with range 0b::000001 to 0B::FFFFFF:FFFFFF is a tier1 network IPaddress. A tier2 IP address has range from 0b:1:000000:000000 to 0B::FFFFFF:FFFFFFF:FFFFFFF. A tier3 IP address has range from 0b::1:000000:000000:000000 to 0B::FFFFFF:FFFFFF:FFFFFF:FFFFFF. Finally a tier4 ip address range is from 0B:1:000000:000000:000000:000000 to 0B:FFFFFF:FFFFFF:FFFFFF:FFFFFF:FFFFFF. If the destination IP address is in a tier above them the payloads are forwarded to The tier above them. if they are in a tier below then they are forwarded to the tier below them. +=====================+=======================================+ | | IP Address | +=====================+=======================================+ | Host Part of | 0B:NNNNNN:NNNNNN:NNNNNN:NNNNNN:HHHHHH | | address and network | | | part of the address | | +---------------------+---------------------------------------+ | Tier1 network | 0B:000000:000000:000000:NNNNNN:HHHHHH | +---------------------+---------------------------------------+ | Tier2 network | 0B:000000:000000:NNNNNN:NNNNNN:HHHHHH | +---------------------+---------------------------------------+ | Tier3 network | 0B:000000:NNNNNN:NNNNNN:NNNNNN:HHHHHH | +---------------------+---------------------------------------+ | Tier4 network | 0B:NNNNNN:NNNNNN:NNNNNN:NNNNNN:HHHHHH | +---------------------+---------------------------------------+ Table 1 3. IPv11 Assignment Network addresses are assigned sequentially to ISP or any other organization. The ip addresses start at the first tier1 address i.e. the first network address is 0B::1:000000 and the last one is the last tire4 address 0B:EFFFFF:FFFFFF:FFFFFF:FFFFFF:000000 Kadavill Expires 24 January 2024 [Page 3] Internet-Draft Abbreviated Title July 2023 +=========================+=======================================+ | | IP Address | +=========================+=======================================+ | First network to assign | 0B::1:000000 | +-------------------------+---------------------------------------+ | Last network to assign | 0B:EFFFFF:FFFFFF:FFFFFF:FFFFFF:000000 | +-------------------------+---------------------------------------+ Table 2 4. Broadcast address Gateways can send broadcast messages to hosts by filling in the network part of the address and masking the host part of the client address with the value F. This will communicate with all hosts (including gateways) on their network. For security purposes broadcast of packets from a host and external Gateways must be dropped +===================+=======================================+ | | IP Address | +===================+=======================================+ | Broadcast address | 0B::1:FFFFFF | | of first network | | +-------------------+---------------------------------------+ | Broadcast address | 0B:XXXXXX:XXXXXX:XXXXXX:XXXXXX:FFFFFF | | of a network | | +-------------------+---------------------------------------+ Table 3 5. Topology IPv11 uses a cylindrical routing topology made up of 4 disks stacked one on top of each other. there are 5 types of gateways. * Inter-tier gateways * Inter-block gateways * Inter-clusterblock gateways * Inter-superblock gateways * Inter-hyperblock gateways Kadavill Expires 24 January 2024 [Page 4] Internet-Draft Abbreviated Title July 2023 Inter-tier gateways connect to lower or higher tier network. inter-block Gateways hold routing Tables of each of its 16,777,216 hosts. this including 3 sibling gateways and one gateway. Tier2 Gateways hold routing Tables of 16,777,216 hosts.This including 8 Gateways, 3 to intra-cluster-block, 3 to intra-block gateways, It also must have one gateway to tier3 and one to tier1 address. Tier3 Gateway holds routing Tables of 16,777,216 hosts. This including 11 gateways 3 within same superblock, 3 to other distinct blocks, 3 distinct cluster gateways It also must have one Gateway to tier4 and one to tier2 address). Tier4 hyper blocks hold routing Tables to 16,777,216 host.This including 14 Gateways(3 within same hyperblock gateways, 3 to distinct superblock gateways, and 3 to other distinct blocks, and 3 to distinct clusters) and one Gateway to tier4 and one to tier3 address. 5.1. Connectivity Each tier1 network needs to be connected to a total of four gateways. three inter-block address connections and one tier2 address. Each tier2 network needs to connect to a total 8 gateways.Three connections to the inter-cluster-blocks network , three connections to inter-block networks, one tier3 gateway and one tier1 gateway. Each tier3 network needs to connect to a total of 11 gateways. They need to connect to three inter-super-block gateway Three inter- cluster-block gateway,three inter-block gateway, one tier4 gateway and one tier2 gateway. Each tier4 network needs to connect to a total of 14 gateways. i.e. They need to connect to three inter-hyper-block, three inter-super- block gateway, three inter-cluster-block gateway, three inter-block gateway, one to tier4 gateway and one tier2 gateway. Coordination of network connectivity can be managed by contacting network entities with publicly advertised email addresses. Kadavill Expires 24 January 2024 [Page 5] Internet-Draft Abbreviated Title July 2023 +=======+=======================================+==================+ | | Topology in Address | Breakup | +=======+=======================================+==================+ |tier1 | 0B::XXXXXX:HHHHHH | 0B::block:host | |ip | | | |address| | | +-------+---------------------------------------+------------------+ |tier2 | 0B::XXXXXX:XXXXXX:HHHHHH | 0B::cluster- | |ip | | block:block:host | |address| | | +-------+---------------------------------------+------------------+ |tier3 | 0B::XXXXXX:XXXXXX:XXXXXX:HHHHHH | 0B::super- | |ip | | block:cluster- | |address| | block:block:host | +-------+---------------------------------------+------------------+ |tier4 | 0B:XXXXXX:XXXXXX:XXXXXX:XXXXXX:HHHHHH | 0B:hyper- | |ip | | block:super- | |address| | block:cluster- | | | | block:block:host | +-------+---------------------------------------+------------------+ Table 4 6. Routing Routing is accomplished by first knowing if the destination IP address is a tier1 , tier2 ,tier3 or tier4 address and route to the right tier. Once they are in the same tier as the destination address the packet is forwarded to their destination network through its sibling gateways. There are four types of sibling Gateways. An inter-block gateway, An inter-cluster-block gateway, An inter-super- block gateway, An inter-hyper-block gateway. If the destination ip address of a packet has a different block address, then one of the best of 3 sibling inter-block gateways must be used.If the destination ip address of a packet has a different cluster-block address, then one of the best of 3 sibling inter- cluster-block gateways must be used.If the destination ip address of a packet has ta different super-block address then, one of the best of 3 sibling inter-super-block gateways must be used.If the destination ip address of a packet has a different hyper-block address, then one of the best of 3 sibling inter-hyper-block gateways must be used Please note that inter-hyperblock gateway means a gateway to the same tier with the same superblock network, same cluster block network and same block address as the destination network. Kadavill Expires 24 January 2024 [Page 6] Internet-Draft Abbreviated Title July 2023 similarly inter-super-block gateway means a gateway to the same tier with the same cluster-block network and the same block network as the destination network. similarly inter-cluster-block gateway means a gateway to the same tier with the same block address as the destination network. block gateway means a gateway to the same tier as the destination network. file "routing.py" routerip = '0B:2345:2345:2345:32453:2345' def route(destip): if tier(destip)=="tire1": if blockaddress(routerip)==blockaddress(destip): print( "forward to host on current network") else: print( "forward to inter-block-gateway %s"% str(blockaddress(destip))) elif tier(destip)=="tire2": if blockaddress(routerip)==blockaddress(destip): if clusterblockaddress(routerip)==clusterblockaddress(destip): print( "forward to host on current network") else: print( "forward to best of 3 inter-cluster-block Gatewayto block %s"% str(clusterblockaddress(destip))) else: print( "forward to best of 3 inter-blocks-level Gateway to block %s"% str(blockaddress(destip))) elif tier(destip)=="tire3": if blockaddress(routerip)==blockaddress(destip): if clusterblockaddress(routerip)==clusterblockaddress(destip): if superblockaddress(routerip)==superblockaddress(destip): print( "forward to host on current network") else: print( "forward to best of 3 inter-super-block Gateway to superblock %s"% str(superblockaddress(destip))) else: print( "forward to best of 3 inter-clusterblock Gateway to clusterblock %s"% str(clusterblockaddress(destip))) Kadavill Expires 24 January 2024 [Page 7] Internet-Draft Abbreviated Title July 2023 else: print( "forward to best of 3 inter-block level Gateway to block %s"% str(blockaddress())) elif tier(destip)=="tier4": if blockaddress(routerip)==blockaddress(destip): if clusterblockaddress(routerip)==clusterblockaddress(destip): if superblockaddress(routerip)==superblockaddress(destip): if hyperblockaddress(routerip)==hyperblockaddress(destip): print( "forward to host on current network") else: print( '''forward to best of 3 inter-hyperblock gateway to hyperblock %s'''% str(hyperblockaddress(destip))) else: print( '''forward to best of 3 next one of 3 inter-super-block gateway to superblock %s'''% str(superblockaddress(destip))) else: print( '''forward to best of 3 inter-cluster-block gateway to clusterblock %s'''% str(clusterblockaddress(destip))) else: print( "forward to best of 3 inter-block Gateway to block %s"% str(blockaddress(destip))) else: print("invalid tier") def clusterblockaddress(ip): c=2 for i in range(5): c=ip.find(':',c+1) d=ip.find(':',c+1) return ip[c+1:d].zfill(6) def hostaddress(ip): c=2 for i in range(4): c=ip.find(':',c+1) d=ip.find(':',c+1) return ip[c+1:d].zfill(6) Kadavill Expires 24 January 2024 [Page 8] Internet-Draft Abbreviated Title July 2023 def blockaddress(ip): c=2 for i in range(3): c=ip.find(':',c+1) d=ip.find(':',c+1) return ip[c+1:d].zfill(6) def superblockaddress(ip): c=2 for i in range(2): c=ip.find(':',c+1) d=ip.find(':',c+1) return ip[c+1:d].zfill(6) def hyperblockaddress(ip): c=2 for i in range(1): c=ip.find(':',c+1) d=ip.find(':',c+1) return ip[c+1:d].zfill(6) def tier(ip): if int(hyperblockaddress(ip))!=0: return "tier4" if int(superblockaddress(ip))!=0: return "tier3" if int(clusterblockaddress(ip))!=0: return "tier2" if int(blockaddress(ip))!=0: return "tier1" def expandip(ip): ip=makeip(ip) j=ip.find(':', 0) k=ip.find(':', j+1) l=ip.find(':', k+1) m=ip.find(':', l+1) n=ip.find(':', m+1) ip='0B'+':'+( ip[j+1:k].zfill(6))+':'+( ip[k+1:l].zfill(6))+':'+( ip[l+1:m].zfill(6))+':'+( ip[m+1:n].zfill(6))+':'+( ip[n+1:].zfill(6)) return ip def makeip(ip): for i in range(6-ip.count(':')): Kadavill Expires 24 January 2024 [Page 9] Internet-Draft Abbreviated Title July 2023 ip=ip.replace('::', '::000000:') ip=ip.replace('::', ':') return ip ip="0B:876768:23434:1:2323:000000" route(ip) print(tier(ip)) Figure 1: Routing +___________+ /:\ ,:\ / : \ , : \ / : \ , : \ / : +-----------+ +....:../:...+ : /| |\ +./.:...`...+ / | | \ ,`/ : :` ,`/ |16,777,216 hyper blocks: Each hyper block contains | \ /`. : : ` /` |16,777,216 super blocks X 16,777,216 block X | , +-----------+ ` |16,777,216 clusters X 16,777,216 hosts |, | `+...:,.|...`+ +...|...,'...+ | / \ | , ` | / \ | , ` | /\ /\|, `|/ \ / +___________+----+ +....:../:...+ : /| |\ +./.:...`...+ / | | \ ,`/ : :` ,`/ |16,777,216 super blocks: Each super block contains | \ /`. : : ` /` |16,777,216 block X 16,777,216 clusters X | , +-----------+ ` |16,777,216 host |, | `+...:,.|...`+ +...|...,'...+ | / \ | , ` | / \ | , ` | /\ /\|, `|/ \ / +___________+---+ +....:../:...+ : /| |\ +./.:...`...+ / | | \ ,`/ : :` ,`/ |16,777,216 blocks: Each block contains | \ /`. : : ` /` |16,777,216 neworks X 16,777,216 hosts | , +-----------+ ` | |, | `+...:,.|...`+ +...|...,'...+ | / \ | , ` | / \ | , ` | /\ Kadavill Expires 24 January 2024 [Page 10] Internet-Draft Abbreviated Title July 2023 /\|, `|/ \ / +___________+----+ +....:../:...+ : /| |\ +./.:...`...+ / | | \ ,`/ : :` ,`/ | | \ /`. : : ` /` |16,777,216 block: Each block | , +-----------+ ` |contains 16,777,216 hosts |, | `+...:,.|...`+ +...|...,'...+ | / \ | , ` | / \ | , ` | / \|, `|/ +___________+ Figure 2: Topology 7. Glossary Block: A block is a sub-network address and is the fourth 24 bits IP address. Clusterblock: A cluster-block is a sub-network address and is the third 24 bits IP address. Hyper-block: A hyper-block is a sub-network address and is the first 24 bits IP address. Superblock: A superblock is a sub-network address and is the second 24 bits IP address. Tier1 address: An address that does not have a cluster-block address, a superblock address and a hyperblock address. Tier2 address: An address that does not have a superblock address and a hyperblock address but has a cluster block address Tier3 address: An address that does not have a hyperblock address and has a superblock address. Kadavill Expires 24 January 2024 [Page 11] Internet-Draft Abbreviated Title July 2023 Tier4 address: An address that must have a hyperblock address. 8. IANA Considerations IP addresses are assigned sequentially to network entities starting at the first address from the lowest 24 bit address tier i.e. the first network address is 0B::1:000000 and the last 0B:EFFFFF:FFFFFF:FFFFFF:FFFFFF:000000 +=========================+=======================================+ | | IP Address | +=========================+=======================================+ | First network to assign | 0B::100:0000 | +-------------------------+---------------------------------------+ | Last network to assign | 0B:EFFFFF:FFFFFF:FFFFFF:FFFFFF:000000 | +-------------------------+---------------------------------------+ Table 5 9. Security Considerations Broadcast packets are needed to be dropped unless They are from a known local gateways. 10. References 10.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . 10.2. Informative References [Wikipedia] Wikipedia, "Wikipedia", 2023, . Author's Address Kadavill Expires 24 January 2024 [Page 12] Internet-Draft Abbreviated Title July 2023 Kiran Kadavill (editor) #34, Goshree Garden,Arattuvazhi Road Njarakkal 682505 KERALA 682505 India Phone: +91 9633068829 Email: kin.kad@gmail.com Kadavill Expires 24 January 2024 [Page 13]