Hacker News new | ask | show | jobs
by Zarath 2964 days ago
One thing I've never understood is how computers using one ISP connect with computers using another ISP. Is there some sort of law that requires that one ISP's cable must be able to interact with another ISP's cable? What incentive does someone, like say Comcast, have in allowing their users to interact with people using a smaller ISP like yours?
10 comments

In general, every IP address is reachable from every other IP address on the internet. This is possible because there's many BGP peering agreements between ISPs, and generally traffic is not filtered between them. There's no law saying you can reach everybody else: that's just how the Internet works, because it's in everyone's business interests to make it work. Very few websites are hosted using Comcast's internet service, so if Comcast didn't peer with anyone else, you couldn't get to many websites at all.

Comcast mostly provides service to end-users. Comcast connects with larger backbone providers, like Level 3, NTT, Sprint and Cogent. Those providers sell access to other residential ISPs like Necto, but also to businesses, like website hosting companies, cloud providers, etc. Comcast might directly connect to some bigger businesses like Google, CDNs, etc, for performance and cost-saving reasons.

The large ("Tier 1") providers all peer with each other, and you can pay one of those ISPs to be able to reach the customers of all the others (this is called "Transit"). So Comcast might connect to Level 3, and buy transit from them. My ISP might connect to NTT, and buy transit from them.

When my computer sends a packet, it goes to my ISP. They consult their routing table, and decide it's reachable over NTT. NTT gets the packet, routes it through their network to a peering point with Level 3, who will then route that packet to Comcast, and finally to the end user.

Then some other random home ISP which pays for connectivity with NTT is reachable from my comcast connection. The business relationship is not between Comcast and my ISP, but it's between Comcast and L3, L3 and NTT, and NTT and my ISP.

Thus Comcast would have to go out of their way to block connectivity. Comcast wants to reach everyone on Level 3's network, because that's where the websites users want to connect to are.

This is largely simplified. There's a lot of billing, politics, and technology issues involved here, and I'm not sure I understand them all.

The fact that you can reach almost any IP address is kind of a small miracle when you start digging into it. There are a bunch of interesting examples of addresses becoming unreachable or sent to the wrong destination, both accidentally and intentionally.

The BGP protocol is how each network announces what IP addresses can be reached through them. Those announcements can often be faked, in a process called BGP Hijacking. This happened to EtherWallet: https://www.theverge.com/2018/4/24/17275982/myetherwallet-ha...

Some address ranges are reserved for internal use within each network. If the network is big enough, some network operators "borrow" other less-used public IP addresses and re-purpose them for internal use. This means that traffic inside that network or transiting through it can't reach those IP addresses. Cloudflare's 1.1.1.1 DNS server (and 1.0.0.0/8 more generally) are affected by that a lot: https://blog.cloudflare.com/fixing-reachability-to-1-1-1-1-g...

Also, sometimes single point of failure connections just...break. It's not guaranteed that every connection is redundant, and it's definitely possible for chunks of the internet to just be "disconnected" from the rest.

In researching a report about using ping services to locate VPN servers, I found a few examples where nearby ISPs only peer remotely. Iceland via Germany. Zurich via Italy and Germany. Salt Lake City via Boulder, LA, etc.
"only" as in trying to avoid local peering? Do you have an idea why they might do that?
Yes, no local peering. I have no clue why.

The Iceland example: https://keybase.pub/mirimir/IVPN-is1.gw.ivpn.net-All-Probes-...

From the IVPN article:

> Most notably, the lowest-rtt probe for IVPN server is1.gw.ivpn.net is in Amsterdam, NL. The data is somewhat “V” shaped, with the lowest minimum rtt at ~2,000 km. And indeed, the distance between Reykjavik, IS and Amsterdam, NL is 2013 km. However, given my long-term working relationship with IVPN, one of their network engineers verified that this server is indeed in Reykjavik, IS. It’s also unlikely that the maplatency.com probe “IS midlar ehf” is actually in Amsterdam, because that’s an AS in Iceland. It’s arguably most likely that the probe (in Iceland AS60300) and is1.gw.ivpn.net (in Iceland AS44515) just weren’t peering directly, but instead through an AS near Amsterdam.

My guess is because it does cost some money to do local peering. My understanding is you need to contact each individual company you want to peer with, make sure you both have a Point of Presence in the same datacenter, sign a contract, etc. So you both need to be renting space in that building and both have an open port on your router, and then you need to pay the datacenter to actually physically run the wire between the routers.
It means that the only people that can cut your connectivity off are in a completely different jurisdiction. Useful if you have a lot of sketchy traffic.
The politics involved can be interesting.

Sometimes, your equipment is fine, but your peer has a 1GB card in their peeing router instead of the 10GB they promised, and they need time to budget the upgrade.

Sometimes, your peer is handing off packets fine, but their peer is dropping some or all of them - and it's difficult to get someone halfway across the world to spend money for you when you're not their direct customer. Influence falls off at an inverse square of the degrees of separation, or so it feels.

Off topic, but I saw you mentioned NTT several times, and wondered if it's the same NTT that I remember from my childhood in Japan. It turns out that yes, the tier-1 provider NTT is headquartered in Japan, and the company name stands for Nippon Telegraph and Telephone. Its history goes back to 1869 when the telegraph was introduced in the country, and is now the 4th largest telecommunications company in the world in terms of revenue.
Thank you. This is very informative.
That gets into a really interesting aspect of how the internet works. It's not really one entity, the way people sometimes think about it. In reality, it's a bunch of interconnected networks owned by different people like you mentioned. How it works is that you buy something called "transit", which is the right to send traffic to a neighboring network, who is then responsible for trying to pass it along to the destination network or to another intermediary network. Depending on where the traffic is going, this handoff process can happen multiple times before it reaches the destination.

Sometimes, the connections between these networks can get congested...or network owners can allow them to become congested as a way to extract payments from other network owners. This is what happened to Netflix. The different networks are called Autonomous Systems, and each one has a number called an ASN. The path a packet takes between those systems is called an AS Path. When networks interconnect, it's called Peering. Sometimes those peering agreements are settlement-free (no payments), and sometimes one network pays the other (like when you buy transit).

Your ISP will physically link up to peering exchanges in the closest major city. There are public exchanges and private exchanges, for instance my ISP is Electronic Box and they are linked up to "QIX" (the Montreal public exchange) and also linked up to some private ones (which cost money). You can use peeringdb to see which exchanges your ISP is linked upto and see which servers it has direct access to and the bandwidth.

You can see I have direct access to Google, Twitch, OVH (biggest data server in north America) and others.

https://www.peeringdb.com/ix/355

Peering exchanges are great, and a more cost-effective way of reaching other participant networks vs paying for transit. Our local exchange is called SFMIX (https://sfmix.org/). They're a great and under-appreciated group working hard to improve connectivity.
For more information on that, look for the term "peering", or potentially "transit". People who want to get bits from one place to another on the Internet need to peer (directly or indirectly) with people who have fiber strung all over the world.

Peering arrangements normally involve some evaluation of whether the arrangement benefits both sides or just one. If you have things that an ISP's customers want, then theoretically that ISP wants to peer with you to improve latency and bandwidth...but in practice, if that ISP's customers will find an indirect peering through some other network provider good enough, and the difference isn't particularly noticeable, then that ISP doesn't necessarily have an incentive to make it better.

Comcast is a "last mile" ISP or "eye-ball network." Technically they are tier 3 ISP> They buy transit from Tier 1 ISPs. Tier 1 ISPs "peer" with all the other Tier 1 ISPs.

So you might be a Comcast and they might be transit from Level 3. Your friend might be a customer of some small ISP who buys their transit from AT&T.

Level 3 and AT&T are both Tier 1 ISPs. All tier ISPs have an agreement that they will route their respective customer's traffic to from each other's networks. This called peering. hey have peering agreements with each other. More specifically Tier 1 ISP do what is known as "settlement free" peering with each other because no money changes hands. And these are not legal contracts they are just hand shake deals, its an exclusive club basically. There are only a handful of tier 1's although it is a regional distinction. Tier 1 ISP in the US are not necessarily the same Tier 1 ISPs in Australia for instance.

Comcast only has an incentive int that they would have angry customers if those customer couldn't send emails to their friends or family members who use another ISP. This being said there are occasional peering disputes where the internet becomes partitioned and customers of 1 ISP can not reach customers and site on another ISP. And customers do get upset.

The topic you are curious about is called peering:

https://en.wikipedia.org/wiki/Peering

While Comcast doesn't have to peer with you directly, there is nothing stopping the ISPs that peer with Comcast to peer with you as well.

There is few ISPs that are considered Tier 1 which are considered as the core of the Internet. They have peering agreement between each other to not charge for traffic sent between themselves. This also became something equivalent to "cool club" to join it all existing members need to agree, which is unlikely so currently most common way to become tier 1 is to acquire existing member (like what Verizon did).

So then you have Tier 2 which connect to Tier 1 to have internet access and they pay for it. They are paying for the amount of data being sent. To reduce cost they get into agreements between each other to provide direct connections to other Tier 2 ISPs. So if someone from ISP1 needs to talk to ISP2 they can use that peering link and save cost by not having to send traffic over the core.

There's high incentive to be connected to everyone, no one would be happy to only be able to access just part of the Internet. Remember that unlike what we are used to to home ISPs where we have only a single connections. Businesses and especially ISPs have many links. This is both for redundancy (if something happens to one connection there's a backup) but also to decrease cost and increase performance.

There have been instances where peering agreements were problematic. I remember Sprint being a part of one. Not sure if they were the problem causer or the victim, but I do remember their network being cut off in a major way for a short period in the 90s while contracts were hammered out.
ISPs are not the same as the "Internet Backbone".

https://en.wikipedia.org/wiki/Internet_backbone

Actually, they are. Top level ("Tier 1") ISP's form the "internet backbone."
Is this a trolling attempt?

If not, ISPs do not connect to “each other”. They “connect you to the internet.” Which all the ISPs connect to.

Is this the ol' double troll? :)

In fact, ISPs do connect to one another via peering [1].

[1] https://en.wikipedia.org/wiki/Peering

I apologize, this is my ignorance. Thank you for the link, I know more now.
Are you trolling? The internet isn't some kind of giant server in the sky. It's made up entirely of ISPs who connect to each other and route each other's traffic for mutual benefit. ISPs are the internet. One of the hardest things about starting your own ISP is convincing the big guys to connect with you.
Lower tier isp’s usually pay the big guys for peering.
> Lower tier isp’s usually pay the big guys for peering.

In most all cases they don't peer with the "big guys" they simply refuse. What they do is peer up with the local public peering exchange that's non profit/almost free, then the packets find the big guys on their own.

What the small isp's usually have to do is pay the big guys for use of the actual lines/access to the clients, as usually the big guys are the only ones allowed to run physical lines to houses ect, as in if everyone was allowed to run their own lines it would be a huge mess (see Mexico as an example for rats nests of cable lines placed by any company with the will to run them through the gauntlet)

In most cases, lower tier ISPs just buy transit (wholesale internet) to another ISP, like HE, Level3, etc. The nearly mythical non-profit/almost free exchange you describe is going to be congested as hell.