Decentralized Internet address
Motivation
Decentralization
- Allow multiple address domains and inter-addressing. This should enable anyone to design own address registration authority. To communicate with other domains there is necessary to establish inter-domain addressing rules. Because length of address should be variable then anyone could map fully own top level address domain to other address domain.
- Mapping entire address space into node in other address space.
- Avoid single entity like IANA to rule entire global address space and charge for assigned address ranges.
- Support inter-planetary addressing independent to single entity located on single planet
Dynamic address size
- Allow variable length address.
- Avoid future limitation and need to introduce new address format and protocol
- Allow short address for embedded and IoT devices which have low available memory.
Dynamic address segment
- Allow one address segment to be more then 256
Description
Usage of variable length numbers
Address notation
Address can be simply written as numbers separated by dots like: 1.22.36.4222.5.58
Here first number is top most address segment and further numbers are define lower levels of address. Address space can be imagined as tree where branches can grow as necessary. This allows mapping of one address space to another.
Network in address space 1: 4.55.2
Network in address space 2: 7.2.73
Mapped space 2 under network space 1: 4.55.2.7.2.73
Then for example host with address 4.55.3 can simply address host with address 4.55.2.7.73.5
Hexadecimal form
Big numbers can be written in hexadecimal form 1.$16.$24.$107e.5.$3a.
This allows also to use MAC address as unique host address. For example: 5.3.$fe45026371ec
Address assignment
Authority could simply assign network addresses to entities. As length and address segment size are basically unlimited then there is no need to assign address range but rather just single address. For example authority could assign simply top level addresses like 2, 34, 312312. Smaller number takes less memory as source or destination address. If entity receive for example assignment 28 then it can assign further lower level addresses like 28.5, 28.6 and so on. Network operator can assign address to their clients like 28.6.17.22 and then client can further connect its multiple local networks as 28.6.17.22.3, 28.6.17.22.5. AS you can see variable long address can give much of freedom in address assignment. It is just matter of how long base address is assigned. Most problem with prefix based subnetting is avoided here and address can be just few bytes long.
Packet header
All fields are encoded as VARBLOCK type.
Version | Source | Destination | Hop limit |
- Version - Number of protocol version. 1 - means DIA1
- Source - source address from where packet is originating
- Destination - destination address where packet is heading
- Hop limit - maximum number of routers through which packet can travel before it is dropped
- Next header - type of next header data block
Mapping IPv4 and IPv6
Thanks to dynamic nature, mapping of IPv4 and even IPv6 is possible. Address domain authority can define which network should hold other protocol addresses.
For example you can address entire IPv4 address space under 3.5 network using address like 3.5.x.x.x.x
IPv6 address space can be mapped under particular network 3.6. like 3.6.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x or 3.6.$0123.$4567.$89ab.$cdef.$0123.$4567.$89ab.$cdef or simply as 3.6.$0123456789abcdef0123456789abcdef
Potential problems
Entire address space scan
Entire Internet can't be scanned for reachability as address is dynamic and number of addressable nodes are nearly infinite. Also single network segment can be mapped to multiple other segments. Even there can be loops in addressing configured in router so entire address space can be mapped to subnetwork address. Then count of connected and reachable nodes in the Internet can't be easily counted. But this problem is similar in both IPv4 and IPv6.
Maximum address supported by routers
As address can have variable length and network segments could be huge numbers then it is important for packet to arrive to destination address if source and destination address is supported by routers. Each router or node have limited memory and have to support some maximum address range. There could be some basic recommended minimal supported size. It could be for example eight segments each with size 0-65535 (65535.65535.65535.65535.65535.65535.65535.65535) Which would be 128-bit long if it would be structure with static size.
If particular source or destination address is not supported by router then router should inform source node about the problem. So maximum supported address could be detected on single path.
Needed processing power
As address consists of dynamic numbers encoded as variable length numbers then cost of processing packets is higher in comparison to static address.