No Stupid Questions
No such thing. Ask away!
!nostupidquestions is a community dedicated to being helpful and answering each others' questions on various topics.
The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:
Rules (interactive)
Rule 1- All posts must be legitimate questions. All post titles must include a question.
All posts must be legitimate questions, and all post titles must include a question. Questions that are joke or trolling questions, memes, song lyrics as title, etc. are not allowed here. See Rule 6 for all exceptions.
Rule 2- Your question subject cannot be illegal or NSFW material.
Your question subject cannot be illegal or NSFW material. You will be warned first, banned second.
Rule 3- Do not seek mental, medical and professional help here.
Do not seek mental, medical and professional help here. Breaking this rule will not get you or your post removed, but it will put you at risk, and possibly in danger.
Rule 4- No self promotion or upvote-farming of any kind.
That's it.
Rule 5- No baiting or sealioning or promoting an agenda.
Questions which, instead of being of an innocuous nature, are specifically intended (based on reports and in the opinion of our crack moderation team) to bait users into ideological wars on charged political topics will be removed and the authors warned - or banned - depending on severity.
Rule 6- Regarding META posts and joke questions.
Provided it is about the community itself, you may post non-question posts using the [META] tag on your post title.
On fridays, you are allowed to post meme and troll questions, on the condition that it's in text format only, and conforms with our other rules. These posts MUST include the [NSQ Friday] tag in their title.
If you post a serious question on friday and are looking only for legitimate answers, then please include the [Serious] tag on your post. Irrelevant replies will then be removed by moderators.
Rule 7- You can't intentionally annoy, mock, or harass other members.
If you intentionally annoy, mock, harass, or discriminate against any individual member, you will be removed.
Likewise, if you are a member, sympathiser or a resemblant of a movement that is known to largely hate, mock, discriminate against, and/or want to take lives of a group of people, and you were provably vocal about your hate, then you will be banned on sight.
Rule 8- All comments should try to stay relevant to their parent content.
Rule 9- Reposts from other platforms are not allowed.
Let everyone have their own content.
Rule 10- Majority of bots aren't allowed to participate here.
Credits
Our breathtaking icon was bestowed upon us by @Cevilia!
The greatest banner of all time: by @TheOneWithTheHair!
view the rest of the comments
It’s called a MAC address.
The problem with it is mostly routing.
The osi model has 7 layers of connection to form a proper internet connection.
The MAC address exists but doesn’t leave the physical network. The MAC address is used to physically connect your computer to the router, and it defines your piece of hardware.
The IP address can change, because your computer can connect to different networks.
If you tried to route everything with a MAC address, (which isn’t possible, but for arguments sake we will pretend it is) the problem is that when you take your phone with its MAC address off your wifi and on to your work wifi, Where would the registry be? How would the Internet know how to find your phone? Do you just log into one giant global registry so that everyone can find your phone when they are trying to communicate with it? That would be a giant fucking database and everyone would always be trying to use it.
Routing is a big and complex problem, and these things didn’t work with ipv4
They do work better with IPv6. IPv6 adresses don’t need to change like ipv4 for a bunch of reasons.
From a philosophical level, the Internet was designed for people to be anonymous and make relatively anonymous connections. You wanted to be flexible enough that you can just be assigned a new number and work with that new number quickly.
This is a really simple explanation, and I got some basic facts wrong just for ease of understanding, but the principals are correct.
This is a solved issue called EUI-64 IPv6 addressing. It is a privacy nightmare.
Yeah I addressed that IPv6 CAN do it, but you’re right.
Philosophically, I don’t want people or companies following me around that much, hence the “private MAC addresses” that came out a few years ago
I hate to break it to you but MAC randomisation has been around since 2007. Fuck we are getting old.
Shut your filthy mouth! 😝
And before that, a bad firmware flash could garble the MAC.
And before that, a bad firmware flash could garble the MAC.
Every phone number has one owner, but MAC addresses can have many owners. They're categorically different.
The same way phone calls try to find a phone when its powered off. Attempt, and then fail under a timeout.
Same place as the phone number registry. Or the domain name registry.
Yep the domain name registry and cell phone registry very much are AFAIK
The domain registry is NOT, and it’s categorised by various tld’s the scope of the routing is MUCH higher traffic.
Your cell phone is run by a provider and has maybe 0.0000001% as much lookups as routing would have.
These things are all done in various tree light structures to try and eliminate central points of failure . The Internet was designed to try and resist failure, and you are creating some central failure points.
Even if you created several of them, synchronisation issues would be Basically impossible to fix or take up unbelievable amounts of bandwidth
This I'm interested in, because its at the edge/limits of my knowledge when it comes to domains and cellular networking.
Are you saying if cell phones had a larger address space, let's say 32 digits base 10, and every device was given a cell phone number, it would overwhelm the existing infrastructure?
It’s not just the address space, but also the sheer number of lookups.
DNS has authoritative name servers based on tld, and then domain, and then maybe subdomain.
When you’re dealing with IP addresses, there is no such tree that I lookup, I just fire it into the abyss and let the routing hardware do the lookups. I know who my gateway is to the internet, but I usually don’t keep the routing information.
My ISP’s routing hardware then says “this IP was last found somewhere in Europe so I’ll fire it at my European connection and hope they get it right.”
Losses are expected.
IPv6 CAN route with larger address tables, but the “fire and forget” method still exists.
There’s also a method to scream at all my peers “do you know where 5.5.5.5 is, because I don’t know” I’ll remember their answer for a bit because that’s useful, but I’ll eventually forget it because I expect it to move. I expect this ip movement because I’m fault tolerant. I might not find the fastest way there, but I’ll find it.
Philosophically, the internet is designed to be fault tolerant and pseudo anonymous. So if 5.5.5.5 is somewhere in Spain and my Spain peer dies, I recognise that the packets are failing and then I start blasting them at England, because my British connection knows all about the Spanish villa and can pass along my messages. I don’t really care where Spain is, I care about who can get my message there and that’s it. It’s too onerous to always keep track of where everyone is, and MOST people on the internet I don’t actually know about because they’re behind a Nat gateway and I don’t care about them. This makes it so I only have to care about edge devices and greatly simplifies my list.
So for example, your laptop isn’t actually on the internet. Your modem/router is, but your laptop doesn’t exist to the internet. When I want to send you a packet, I just send it to your router and let the router handle it. I don’t even know that your laptop exists, and I don’t care.
Well your router will send the data to your laptop instead of your phone because the Nat is keeping track of who requested it and your phone didn’t ask for it. This causes problems because it means that from outside your network, I can’t just connect and send data inside your network unless someone asked for it. So I can’t just call your cell phone unless it reaches out first because I don’t know that your cell phone exists, and even if I did, the router would block it. This is why port forwarding exists, it allows you to have your laptop get ALL data sent to the router on port 12345. I still don’t know about your laptop, but I know that there’s a server on your IP address on port 12345 that I can connect to and request/send data to. Keeping track of all of this just so that I always know where your laptop is requires a fair bit of coordination at many layers.
Ideally it has a domain at a registrar that I can ask about where it currently is. The routing is still “fire and forget “ because it simplifies my list of “where every IP is” and even then, I only know about the laptop’s edge connection to the internet and let that edge take care of where to actually send the data so I don’t have to think about it.
In IPv6, Nat works a little different, but it’s still close.
I’m honestly not sure how many mistakes I made, I just kinda brain dumped info, so let me know which pieces don’t make sense.
If I'm understanding correctly, you're saying that right now the network doesn't have an exhaustive table of IP addresses to physical locations. It has a cache, and a hierarchy, and the path to a location of the IP is fluid.
But a system where every device could be directly contacted/identified like a Sim card, would effectively require a complete table of "what network is device ABC at". A table that is updated every time the device changes network connections. It would be like trying to change domain name to point to a different IP address.
The problem is, updating a domain to point to a new IP takes hours or days not seconds, so doing that every time a phone changes WiFi is not practical.
Is that a good summary?
Yes, but we’re talking about “seconds” and “nanoseconds” rather than hours.
Networks move much faster than we do.
There’s also no hierarchy of IP addresses, and that matters for lookups.
So the 1 second it takes to do a dns lookup is WAY too long for continuous ip lookups, and the size of the database and chains requires explaining where to find ip address X is too long and updates WAY too much to be accurate and/or kept.
Lookups are easiest if you know “I lookup .uk addresses at this particular server in England” because that particular “ authoritative DNS server” only really handles its own little segment of lookups.
There is no such hierarchy in ip addresses, and they can’t really be cached for long.
You would have to continually know and update all of them. And we sorta do in the larger routers, but keeping that up to date at the edges would require a TON of bandwidth.
My understanding with phones is that you phone your own provider, who then looks up the provider of the number you're calling based on country code, provider or area code prefixes. Providers will "peer" with each other to route calls over the most cost efficient path. So the other sides provider is responsible for getting it to the right destination phone within thier own customer network. Theres no authentication from the sending party on a protocol level, this is why scammers can spoof as any phone number.
I believe that IP routing does something similar, the IP data is handed over to possibly multiple providers until it reaches its destination provider. The blocks of ip addresses are published as linked to an Autonomous System and each autonomous system has an owner/provider. The source is not authenticated at a protocol level which is why we need client and server certificates.
In DNS you go to the root TLD servers and ask what IP the .com resolver is. The .com resolver has a list of mappings of authoritative name servers to domains. So example.com may have an authoritative NS of 1.2.3.4 who you can go to and ask what IP test.example.com is hosted on. The authoritative name server is the source of truth for that domain and other servers cache it to prevent overloading and increase speed. You may check with the authoritative NS if you want, but it may be slower to respond than your local NS. Again DNS is not authenticated at the protocol level so we need server certificates to prove that the device behind the IP serving you is allowed to serve you test.example.com.