Decentralized Internet address: Porovnání verzí

Z ZděchovNET
Skočit na navigaci Skočit na vyhledávání
Bez shrnutí editace
Bez shrnutí editace
 
(Nejsou zobrazeny 4 mezilehlé verze od stejného uživatele.)
Řádek 9: Řádek 9:
===Dynamic address size===
===Dynamic address size===
* Allow variable length address.
* Allow variable length address.
* Avoid future limitation and need to introduce new address format and protocol
* Allow short address for embedded and IoT devices.
* Allow short address for embedded and IoT devices which have low available memory.


===Dynamic address segment===
===Dynamic address segment===
Řádek 39: Řádek 40:
This allows also to use MAC address as unique host address. For example: '''5.3.$fe45026371ec'''
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.

{| class="wikitable"
| 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===
===Mapping IPv4 and IPv6===
Řádek 47: Řádek 65:


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
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'''
'''3.6.$0123.$4567.$89ab.$cdef.$0123.$4567.$89ab.$cdef''' or simply as '''3.6.$0123456789abcdef0123456789abcdef'''

===Network Address translation (NAT)===

Is not only possible but even encouraging to use as there will be multiple authoritative zones and symmetric NAT will be used extensively between them.
Mapping can be done in various ways but easiest and most interesting mapping is ability to map entire address hierarchy under one address.
Example: You can map for example network 2.43.64.x.y.z/3 under 5.24.64/3 address so from 5.24.64/3 network addresses will be just 5.24.64.x.y.z

There is also possible to map single address pairs like:
1.2.3/2 => 4.5.6.5/3
1.2.4/2 => 4.5.6.8/3
1.2.5/2 => 4.5.6.2/3

Routers can also do with their firewall classic source or destination NAT.

===Overlay network===

This new network addressing concept can be used for both physical and virtual network. Thanks to used dynamic addresses it will be much easier to build virtual networks and later if concept is proven to be well functional and efficient then virtual network can be connected also to physical network using same network addressing mechanism.

====Physical to virtual bridge====

To be able to connect to virtual network there will be some routers with known physical address location where clients can connect. Such nodes can allow to connect only to single virtual router or to multiple virtual routers and networks.

<pre>
Client Server
Virtual IP: 3.34.60.6.2 => 6.22.673.3.11
Physical IPv4: 1.2.3.4 => 5.6.7.8
</pre>

====Takedown resistance====

If virtual host address will be tired to be taken down some goverment at they will be able to identify physical location of host or nearest router, then it is possible to simply move such host to different physical location and keep virtual address same. So it will be much harder to block single host address inside virtual network.

====Anonymity====

In the virtual network virtual routers can be placed on any physical servers. In fact multiple virtual routers can be placed on one physical server so various virtual topologies could be build. In such case with complex network it will be hard to identify exact location of virtual host on the virtual network.
As there will be able to add artificial network latency to virtual links then it will be not possible to simply distinguish over which physical links virtual links go.


==Potential problems==
==Potential problems==
Řádek 58: Řádek 112:


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.
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.





Aktuální verze z 16. 9. 2016, 05:41

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

Network Address translation (NAT)

Is not only possible but even encouraging to use as there will be multiple authoritative zones and symmetric NAT will be used extensively between them. Mapping can be done in various ways but easiest and most interesting mapping is ability to map entire address hierarchy under one address. Example: You can map for example network 2.43.64.x.y.z/3 under 5.24.64/3 address so from 5.24.64/3 network addresses will be just 5.24.64.x.y.z

There is also possible to map single address pairs like: 1.2.3/2 => 4.5.6.5/3 1.2.4/2 => 4.5.6.8/3 1.2.5/2 => 4.5.6.2/3

Routers can also do with their firewall classic source or destination NAT.

Overlay network

This new network addressing concept can be used for both physical and virtual network. Thanks to used dynamic addresses it will be much easier to build virtual networks and later if concept is proven to be well functional and efficient then virtual network can be connected also to physical network using same network addressing mechanism.

Physical to virtual bridge

To be able to connect to virtual network there will be some routers with known physical address location where clients can connect. Such nodes can allow to connect only to single virtual router or to multiple virtual routers and networks.

             Client         Server
Virtual IP: 3.34.60.6.2 => 6.22.673.3.11
Physical IPv4: 1.2.3.4 => 5.6.7.8

Takedown resistance

If virtual host address will be tired to be taken down some goverment at they will be able to identify physical location of host or nearest router, then it is possible to simply move such host to different physical location and keep virtual address same. So it will be much harder to block single host address inside virtual network.

Anonymity

In the virtual network virtual routers can be placed on any physical servers. In fact multiple virtual routers can be placed on one physical server so various virtual topologies could be build. In such case with complex network it will be hard to identify exact location of virtual host on the virtual network. As there will be able to add artificial network latency to virtual links then it will be not possible to simply distinguish over which physical links virtual links go.

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.