108

I saw a map of undersea internet cables the other day and it's crazy how many branches there are. It got me wondering - if I'm (based in the UK) playing an online game from someone in Japan for example, how is the route worked out? Does my ISP know that to get to place X, the data has to be routed via cable 1, cable 2 etc. but to get to place Z it needs to go via cable 3, 4?

you are viewing a single comment's thread
view the rest of the comments
[-] OmegaMouse@pawb.social 5 points 7 months ago

That sounds like quite a messy and inefficient process! But I guess as long as it can be done quickly enough, it doesn't really matter?

[-] MelastSB@sh.itjust.works 17 points 7 months ago

I think the previous comment omitted something, which is why you think it's inefficient: routers don't ask for directions every packet, they record the directions in their route table.

[-] towerful@programming.dev 10 points 7 months ago

At the back-bone scale of the internet, routers actually announce the addresses they are responsible for.
Paths are judged by how specific these announcements are. A router announcing a single IP is the preffered destination, compared to a router that announces a block that contains it. So routers will forward it to whichever router more accurately describes the destination IP.
This makes up part of the calculated Path Cost of various routes to reach a destination.
If router A tries to contact router D and knows that router B and C can both forward that packet, router A will send it to the router that announced the lowest path cost to D.

Its a lot more complicated than that, but that is how datacenters can disappear from the internet (by wrongly announcing they no longer have a path to the IPs inside the datacenter), or how a small ISP can accidentally route the entire internet through their network (by accidentally announcing extremely low path costs). Both of these have happened.
https://blog.cloudflare.com/october-2021-facebook-outage/
https://blog.cloudflare.com/how-verizon-and-a-bgp-optimizer-knocked-large-parts-of-the-internet-offline-today/

So, the internet is both fragile and resilient.
It can route around damage, but cannot deal with mistakes/maliciousness above a certain "ring" of control.

[-] KillingTimeItself@lemmy.dbzer0.com 1 points 7 months ago

So, the internet is both fragile and resilient. It can route around damage, but cannot deal with mistakes/maliciousness above a certain “ring” of control.

and this kids, is why we don't like cloudflare, and DNS services.

[-] glimse@lemmy.world 5 points 7 months ago

I'm no expert but it seems like the most efficient way with the given technology! The hops between routers are much less frantic than (I think) you're imagining.

To oversimplify, think of it like boxes in boxes where each box is a router.

Your PC is in the first small box. It says "I want to connect to [IP]" and the box says "I don't have that IP, let me ask the bigger box"

The bigger box (your ISP) says "I don't have it either, I'll ask the big box"

The big box says "I don't have it but based on the address, I know it's in this other big box"

Other big box says the same thing and sends it to another small box. That small box has the PC you're looking for and the packet is delivered!

[-] KillingTimeItself@lemmy.dbzer0.com 2 points 7 months ago

I’m no expert but it seems like the most efficient way with the given technology! The hops between routers are much less frantic than (I think) you’re imagining.

not just this, it's also worth considering that laying cables is expensive, so you better damn well use them. A system like this also ensures a very wide range of pathing. And in turn, a very spread out use pattern.

[-] wkk@lemmy.world 3 points 7 months ago

https://www.khanacademy.org/computing/computers-and-internet/xcae6f4a7ff015e7d:the-internet/xcae6f4a7ff015e7d:routing-with-redundancy/a/internet-routing

I wouldn't call that "messy and inefficient" but you do you. I'd be curious to know what's a "clean and efficient" solution for you when it comes to routing packets around the planet :)

[-] OmegaMouse@pawb.social 5 points 7 months ago* (last edited 7 months ago)

Ah yeah this and @MelastSB@sh.itjust.works 's comment clarify the routing table thing. Before I was assuming they just blindly forwarded stuff until one router knows where to go, but if they have a rough idea from the IP address prefix that makes more sense.

[-] towerful@programming.dev 4 points 7 months ago

They dont have a rough idea, they have a very accurate picture of where they should send a packet based on the IP address.
Routers at the internet-backbone scale actually announce the IP addresses they are responsible for, as well as other routes (with an additional path cost added) that they can reach.
So, they match a destination IP to the most accurate IP block in their routing table (so a destination of 8.8.8.8 with 2 entries of 8.8.8.0/24 and 8.8.0.0/16, it will match the 8.8.8.0/24 route) and forward the packet to the router that announced it.

Routing at the internet scale is much smarter than routing at the home (even business) level

[-] KillingTimeItself@lemmy.dbzer0.com 2 points 7 months ago

it's not efficient from the perspective of organization. But the thing nobody tells you here is that packets have no predefined route, they take whatever route gets them there optimally. So it's highly redundant, and very fault tolerant. When you consider that, for what it does, it's a highly efficient routing system.

To the point where you could cut an undersea cable, and traffic would still route perfectly fine, albeit probably a lot slower, assuming that isn't your only connection of course. The fact that it works it all is kind of a miracle.

this post was submitted on 21 Mar 2024
108 points (95.8% liked)

No Stupid Questions

35800 readers
203 users here now

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!

founded 1 year ago
MODERATORS