GNS3 / gns3-gui

GNS3 Graphical Network Simulator
http://www.gns3.com
GNU General Public License v3.0
2.16k stars 434 forks source link

Information: Development of next-gen Internet Protocol "Five Fields" (IP-FF) #850

Closed Technologov closed 8 years ago

Technologov commented 8 years ago

I was one of the core developers of GNS3 back in 2011. But now I have developed something even bigger - a new Internet Protocol - "Five Fields" (IP-FF) proposal.

The problem is that IPv4 exhaused it's address range, while IPv6 has addresses, that are too long. They are impossible to memorize, compare and visualize networks in human memory. This is a usability disaster. Also IPv6 has link-local addresses, that I dislike, and it increases complexity.

Something like this: 2001:db8:2e1:1a73:149f:88ff:fe81:6116 ...is absolutely not readable by a human. Not memorizable either.

I have invented very simple addresses, five fields of numbers between 0...999 each, in dotted decimal notation, similar to IPv4. Address space x 230,000 times larger than IPv4, which should be enough for the next several hundred years. Very easy to remember, visualize and compare in human brain.

Examples:

192.168.510.971.11
10.0.0.0.1
382.201.769.25.133

Additionally I have solved mobility problem that is an order of magnitude simpler than "Mobile IP" specification and much more elegant, and allows Mobile Node migration between subnets without losing TCP session connectivity, and offer new VRF features, that work without dot1q VLANs and without MPLS.

If you're interested, I can show you my draft specification, in IETF-like format, and discuss this new development. Send me an email.

There is no working code yet.

Draft spec covers IP-FF, addressing scheme, new ICMP, new LARP (ARP equivalent), new DNS extensions, new Mobility extensions and more...

NOTE: While this is not directly related to GNS3 software per-se, it may be interesting for various Network Engineers and Software Developers to discuss my proposed standards.

-Alexey Eromenko "Technologov", 2.Dec.2015. al4321@gmail.com

jcalano commented 8 years ago

How would subnet masking work?

Technologov commented 8 years ago

By prefix mask. 10.0.0.0.1/40

jcalano commented 8 years ago

The numbers in the examples won't work. The largest number that can be represented per byte, 8 bits, is limited to 255 = 2^8, binary 11111111 2^9 = 512, binary 111111111 2^10 = 1024, binary 1111111111

999 represented in binary is 1111100111, which breaks the contiguous bit mask pattern. Modifying rules to allow for such discontiguous bit patterns is counter-productive and will introduce unnecessary complexity.

However, expanding on the idea and going with add additional bits to an octet, or even adding octets still begs the question of the time frame for running out of useable IP addresses. Expanding the bit count to 40 will allow for a total of 2^40 = 1099511627776 addresses. Staying with the "octet" mentality the table below may help understand why IPv6 was chosen.

2^32 = 4,294,967,296 11111111.11111111.11111111.11111111 255.255.255.255

2^40 = 1,099,511,627,776 11111111.11111111.11111111.11111111.11111111 255.255.255.255.255

2^48 = 281,474,976,710,656 11111111.11111111.11111111.11111111.11111111.11111111 255.255.255.255.255.255

2^56 = 72,057,594,037,927,936 11111111.11111111.11111111.11111111.11111111.11111111.11111111 255.255.255.255.255.255.255

2^64 = 18,446,744,073,709,551,616 11111111.11111111.11111111.11111111.11111111.11111111.11111111.11111111 255.255.255.255.255.255.255.255

At this point the number of bits used have doubled while the total number of useable addresses has increased by it's square. (2^32)^2. Still, there is no practical way to represent any number with the dotted 8 method that exceeds 255. Nor does it provide a means for which ensuring that the IP address table will become obsolete in the foreseeable near future.

How did you work out the logistics?

Technologov commented 8 years ago

This is simple, Watson. Protocol is named IP Five Fields, not Five Octets. For a reason. 5 fields x 10-bits each. But some subnets are not full. Not all subnets are born equal.

10.0.0.0.992/45 subnet should have 32 hosts, but will have only 8 hosts ! (up to .999)

Theoretically, it should have up to .1023 but the limit is .999, This implies that some subnets may be not full, or not usable.

So core routing is done with full 50-bits (or even 64-bits), but packets that have values over "999" in any field get discarded by end-nodes and firewalls.

jcalano commented 8 years ago

Wooohooo! I made it to "Watson" level! ;-)

All this sounds intriguing, but why go through the trouble of extending the "octet" to a "dectet' and dis-guard perfectly useable bits?

I would be interested in reading more about your addressing scheme, though.

Technologov commented 8 years ago

The primary reason for inventing IP-FF is for Human Memory. Put as much as possible into as few digits. Humans remember decimal digits okay. Human words even better (which is why we have DNS). But we're terrible at binary patterns and hexadecimal (numbers + letters without meaning) - humans can't memorize random letters very well.

If I were to use full 50-bits it would result in 5 fields x 4 decimal digits = 20 digits to remember for humans. By sacrificing some (12%) of address space, I get only 15 digits for humans to remember, compare and type

Give me your email, I can send you the (draft) spec.

The benefit is that we get x230,000 larger address space with only +25% for human memory requirements (15 digits in IP-FF vs 12 digits in IPv4). Using "dectets" I was able to put a more address space in only 15 digits, than if I were using 6 octets x 8-bits (18 digits, in your example). (10^15 vs 2^48)