How The Internet Is Paid For
aka "What is Transit and Peering?"
If Al pays Bob to send his data packets to the Internet and Bob pays Chris to send Al's packets to the Internet then Al has paid Chris to send his packets to the Internet. Call it a "transitive property" of payment.
You remember the transitive property from math class: if a=b and b=c then a=c.
If Flo pays Erica to receive her packets from the Internet and Erica pays Denise to receive Flo's packets from the Internet then Flo has paid Denise to receive her packets from the Internet. Again, the transitive property of payment.
All of these forms of buying an Internet connection are known as "buying transit." By buying transit, you pay a networking company to both send and receive data packets on your and your customers' behalf and to pay other companies to do the same.
Next, Denise and Chris get together and decide that Chris will give Denise any packets that both Al paid Chris to send and Flo paid Denise to receive. This "free" swapping of packets is cheaper for both Denise and Chris than paying George to move the packets between them. This sort of swap of already-paid-for packets is called "peering."
Net result: Al pays for the data packet half way and Flo pays for it the other half. The data packets from Al for Flo get there and they're paid for every step along the way. And this, in a nutshell, is how Al and Flo pay for the Internet connection between them.
And it's how you and I pay for the Internet connection between us so that you can read this web page.
end
ISP->DFZ->Core
paid links, paid peering, reciprocal peering
Who pays for the Internet? You do, of course, but have you ever stopped to consider how? The TCP/IP data packets that you send to any given web server may transit data networks owned by companies that neither you nor the server's owner have ever heard of. How do these companies get paid for moving your packets?
Consider the Internet path from my PC connected to a Cox cable modem to the DVD rental site Netflix:
1 | sark.dirtside.com (70.182.189.216) | Me |
2 | (10.2.144.1) | Cox |
3 | ip68-100-1-81.dc.dc.cox.net (68.100.1.81) | |
4 | ip68-100-0-65.dc.dc.cox.net (68.100.0.65) | |
5 | mrfddsrj02-ge110.rd.dc.cox.net (68.100.0.149) | |
6 | mrfddsrj01-so010.rd.dc.cox.net (68.100.0.129) | |
7 | ae-13-69.car3.Washington1.Level3.net (4.68.17.5) | Level 3 |
8 | qwest-level3-te.Washington.Level3.net (4.68.110.178) | |
9 | dcx-core-01.inet.qwest.net (205.171.251.57) | QWest |
10 | svl-core-02.inet.qwest.net (67.14.12.54) | |
11 | svc-cntr-02.inet.qwest.net (205.171.14.6) | |
12 | (66.77.104.138) | |
13 | (63.236.56.164) | |
14 | www.netflix.com (208.75.76.17) | Netflix |
When I send TCP/IP packets to Netflix, I hand them to Cox. Cox hands them to Level3. Level3 hands them to QWest and finally QWest hands them to Netflix. Traffic coming back follows a similar path.
From my end, the money flow is obvious: Cox is my Internet Service Provider (ISP). I pay Cox to transmit and receive TCP/IP packets on my behalf. Netflix is in a similar situation: they pay QWest to transmit and receive TCP/IP packets on their behalf.
How does Level3 fit in? Cox doesn't have a direct connection to QWest, so Cox pays Level3 to transmit and receive packets on my behalf.
What happens when my packet gets to Level3? Does Level3 pay QWest to move packets on my behalf? Or does QWest pay Level3 to move packets on behalf of Netflix?
The answer is: none of the above. QWest and Level3 have what's called a "reciprocal peering argreement." QWest agrees to transmit packets intended for folks who have paid Level3 directly to Level3 at no cost. Level3 agrees to do the same for packets intended for folks who have paid QWest. This peering agreement allows Level3 and QWest to fulfil their responsibilities that Cox and Netflix respectively have paid them for.