|
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 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.