I'm just learning networking and subnetting so I might be missing something, but from what I understand: why not have one IP address just for networks with all 32 bits being the Network ID, and a second IP address for local networks to use and they can use whatever custom protocol they want for their network with practically unlimited (2^32) subnetworks or hosts or sum of each, or whatever custom things they invent with their protocol. And it should also solve the IP address shortage.

  • 1
    You do have a separate IP address in every network.
    – gronostaj
    Sep 22 at 15:38
  • 1
    How do you send packets to such addresses? Do both IP addresses go in a packet, or only one?
    – user1686
    Sep 22 at 15:52
  • to clarify, why don't we have a separate type of IP address for networks to use, for example if I want to talk to Computer with x.x.x.x Net IP and x.x.x.x Local IP/Subnet IP/(or whatever name you give for this new type of IP) the Net IP would be routed how it currently works except that the whole Net IP is network ID (not just part of it), and once it gets to the x.x.x.x network, they can use their own custom protocol to route their traffic to x.x.x.x local node, (it theocratically can even be the IPv4 protocol) Sep 22 at 15:58
  • Okay, but once the packet arrives at the network, where does the local address come from? The "destination IP" field is already occupied by the network ID, so where does the sender put the local ID, how does the local network know which node to route the packet to? Do you add an extra address field? Do you make the existing field larger? Do you make the ingress router replace the network ID with the local ID?
    – user1686
    Sep 23 at 6:19
  • The local network knows how to route based on whatever custom protocol you use. The local IP can be in the datagram header or in the payload it really doesn't matter 10 hours ago

1 Answer 1


The answer is, we HAVE done something akin to what you propose, but we went even bigger.

Your proposal effectively increases the address space from 32 bits to 64 bits.

We decided to go all the way to 128 bits. We called our solution "IPv6".

(Edited to remove my previous claim of IPv6 not having an inflexible boundary in the middle, because really, the fact that the lower 64 bits are always the host part of the address is fairly inflexible.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.