Why doesn’t every computer have 256 char domain name, along with a private key to prove it is the sole owner of the address?
Edits: For those technically inclined: Stuff like DHCP seems unnecessary if every device has a serial number based address that’s known not to collide. It seems way more simple and faster than leasing dynamic addresses. On top of that with VOIP I can get phone calls even without cell service, even behind a NAT. Why is the network designed in such a way where that is possible, but I can’t buy a static address that will persist across networks endpoint changes (e.g. laptop connecting to a new unconfigured wifi connection) such that I can initiate a connection to my laptop while it is behind a NAT.
- Yes, it would be a privacy nightmare, I want to know why it didnt turn out that way
- When I say phone number, I mean including area/country code
- AFAIK IP addresses (even static public ones) are not equivlent to phone numbers. I don’t get a new phone number every time I connect to a new cell tower. Even if a static IP is assigned to a device, my understanding is that connecting the device to a new uncontrolled WiFi, especially a router with a NAT, will make it so that people who try to connect to the static IP will simply fail.
- No, MAC addresses are not equivalent phone numbers. 1. Phone numbers have one unique owner, MAC addresses can have many owners because they can be changed at any time to any thing on most laptops. 2. A message can’t be sent directly to a MAC address in the same way as a phone number
- Yes, IMEI is unique, but my laptop doesn’t have one and even if it did its not the same as an eSim or sim card. We can send a message to an activated Sim, we can’t send a message to an IMEI or serial number
I can get VOIP calls behind a NAT without cell service. I’m asking how is that possible. Is the router somehow part of the same AP as cell service?
Whoa, that’s a sizeable edit to the post! Regardless the answer is pretty straightforward: your VOIP client (either the device if you have one or the software) is connected to a VOIP service which acts like a gateway for your client. Since the client initiated the connection to the gateway and is keeping it alive, you don’t need to make any network changes. Once the connection is established, standard SIP call flows (you can Google that for flow diagrams) are followed.
So no, you router is not part of the cell service. The VOIP provider is part of a phone service that receives calls and routes them for you, just like the cell towers are part of a telephony provider that routes calls through the appropriate tower.
Finally :D thank you so much!
So basically VOIP is “cheating” because its not actually handled by the network directly, the phone company pays for always-online servers, and phone(s) reach out to those server every time they change networks, in order for servers to be able to route calls to them.
Which also means! it is possible to do the same thing for computers, but it requires having
- A static IP
- An always online server
- The device needs a daemon that tries to connect to an always online server, and authenticates itself
- That server needs to manually reroute traffic (through a VPN or some other means) from the static IP address to the device, wherever it might be
Which also explains why general network providers wouldn’t want to create the infrastructure. Even if universal addresses were given to each device, which simplifies DHCP and address-leasing, and shortens time it takes to handshake with the network, all of that is less of a cost than the infrastructure needed track of devices as they change networks. (And that’s on top of ISP’s being slow to change from the legacy approach of local networks and desktops).
^ which is more the conversation I wanted to have but didnt really get with this post.
Thats a sizable edit!
Yeah 😅 I didnt want it to be this complicated of a question, but I didnt see how else to explain that current addressing systems don’t meet the same need as a phone number.
- A static IP is actually not necessary, but what you need is a consistent identifier. For the server, that’s typically a DNS address, but for clients and peer to peer networks there’s other ways to identify devices, usually tied to an account or some other key kept on the device.
- For centralised communications yes, you would need an always online server. For decentralised networks, you just need a sufficient amount of online peers, but each individual peer does not need to be always online.
- Pretty much, yes. Even push notifications on cell phones work this way.
- Route, yes. Manually. VPN is usually not necessary. In modern web-based services this is typically done with websockets, which are client-initiated (so the client address can change), and which allow two-way communication and typically only require a keepalive packet from the client every minute or so.
There’s other reasons why universal addressing is not done - privacy, network segmentation, resiliency, security, etc. And while IPv6 proponents do like to claim that local networks wouldn’t be strictly necessary (which is technically true), local networks will still be wanted by many. Tying this back to phone numbers - phone numbers work because there’s an implicit trust in the telcos, and conversely there’s built in central control. It also helps that it’s only a very domain specific implementation - phone communication specifications don’t change very often. On computer networks, a lot of work has been done to reduce the reliance on a central trust authority. Nowadays, DNS and SSL registries are pretty much the last bastion of such an authority, with a lot of research and work having gone into being able to safely communicate through untrusted layers: GPG, TOR, IPFS, TLS, etc.