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 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.
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.
But wait, how does traffic get to that remote peer?
Not sure what you mean. The two networks (say, a DSL and Cable provider in the same area), need to physically connect at some location in the area (usually at a "Carrier Hotel"). Once they're connected, traffic originating from a DSL customer is routed through the DSL network to the Carrier Hotel, then across the to the Cable provider's network, and then through that Cable network to the Cable customer.
For example, I live in South Bend, IN, where we have Comcast Cable and AT&T DSL. Although we have a few places in town where Comcast and AT&T _could_ each have a point of presence, and then peer with each other, they don't think that's worth it. Instead, traffic is routed to the nearest peering point, which in my case is 350 E Cermak in Chicago, 100 miles away. Peering locally would probably save about 10ms, but that's probably not really worth it.
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.
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).
You can see I have direct access to Google, Twitch, OVH (biggest data server in north America) and others.
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.
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.
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.
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.
If not, ISPs do not connect to “each other”. They “connect you to the internet.” Which all the ISPs connect to.
In fact, ISPs do connect to one another via peering [1].
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)