Relative addressing doesn't allow for discovery. Discovery requires an announce or probing, it is interactive. Knowing a router is connected to another router would be a part of the protocol and would be rigid. Bad failure mode there.

Again, if you're on a network where you know who your peers are it would work. Some protocol that allows for a node to determine the likelihood that another node exists, such as a scheme that allows for the identifier to describe something about the node, would help discover nodes faster without having to know it exists. When you're on a network where you don't know anything about the network without asking first, arbitrary identifiers like IP are ideal. It helps with discovery if the address space is limited. But if you want some addressing scheme that is relative, address space is not limited, and the address doesn't describe anything about the node you'll get fragmentation and no better than random discovery, like randomly discovering a bitcoin address. If you don't care what node you connect to that can work for some cases, but usually we care who we are talking to.

Form follows function, what are you trying to do? Form dictates function, a design decision not strictly directed at a problem you're trying to solve will lead to unintended outcomes. If you want to do what IP does, just use IP. If you want some other type of network topology or node behavior then think about how you want the network to work and design based on that. Your idea is cool and would be useful, but it isn't IP and wouldn't work the same as IP.

Reply to this note

Please Login to reply.

Discussion

Discovery is in the last paragraph of my proposal. Nodes announce themselves and their connections. Big registries calculate routes on behalf of other nodes.