JACS: Protocol and addressing

JACS.tech
3 min readOct 22, 2020

A little bit of history

If we had the luxury of starting over from scratch, most likely we would have based the Internet on a new datagram internet protocol with much larger multi-level address structure. In principle, there are many choices available for a new datagram internet protocol. For example, the current IP could be augmented by addition of larger addresses, or a new protocol could be developed. However, the development, standardization, implementation, testing, debugging and deployment of a new protocol (as well as associated routing and host-to-router protocols) would take a very large amount of time and energy, and is not guaranteed to lead to success.

CLNP versus IP

There is already such a protocol available. In particular, Connection-Less Network Protocol ‘CLNP’, that is very similar to IP, and offers the required datagram service and address flexibility, but that came with some differences as well.

CLNP addresses are assigned to nodes, not interfaces. This is the host-based addressing. All interfaces (even multi-access interfaces like LAN) are unnumbered and each node has a “loopback” interface with a single address (similar to the host /32 prefix in IPv4). While the concept was highly interesting and marginally more useful than subnet-based IP architecture, it also imposed additional burden on hosts and routers:

• Hosts and routers had to run a host-to-router protocol among themselves that enables routers to find adjacent hosts and helps hosts to find the nearest router, this is the End-System to Intermediate-System ‘ES-IS’ protocol that basically does a similar job to what Router Advertisement ‘RA’ does in IPv6.

• ES-IS provides great failover, redundancy (in terms of first-hop routers) and hosts mobility

• Routers then have to propagate all hosts reachability information throughout the area so that each router in the area has to know the location of all hosts within the same area.

CLNP intra-area forwarding has some elements that could be similar to bridging (packets are forwarded based on host ID) but works as true routing (layer-2 encapsulation is changed and TTL is decreased whenever a packet is forwarded by a CLNP router). The number of hosts within an area is obviously limited by the routers’ capabilities (and can be quite limited in some actual CLNP implementations); to scale, CLNP introduced a concept of areas, which are almost identical to IP summary routes.

Per-node addresses nicely solve intra-area multihoming. A host is always reachable through a single address, even if it has more than one interface. When an interface fails, the existing sessions are not disrupted (as they originate from an address that belongs to the node itself, not the failed interface).

In the IP world there are some solutions that could provide the same result for multi-homing, like: NIC bonding, multi-chassis port channel and others.

JACS is the result of integrating CLNP and blockchain!

--

--

JACS.tech

JACS ‘Just Another Communications Stack’ aims to change the way data networks currently work.