Networking: February 2007 Archives


February 25, 2007

On the Skype/FCC thread on I-P, Brett Glass writes:
The key thing that one must understand -- and this is a bit technical -- is that Skype works by "robbing" bandwidth from its users and their ISPs. Skype does not buy enough bandwidth to route or connect all of the calls placed via its network. At any time, a Skype user who merely has the software running -- but is not making a call -- may be using bandwidth to connect a call that involves neither the user's ISP nor any of that ISP's customers. This is a moderate concern on a land-based network, but is of GREAT concern on wireless networks, which are severely constrained by tower capacity and the scarcity of radio spectrum.

If Skype, by operating on the wireless provider's network, would in effect be consuming the provider's valuable bandwidth and airtime without compensation (which really does seem to be the case), the cell phone company is perfectly justified in saying, "No." We operate a terrestrial broadband network (not a cell phone network), which has more capacity. Nonetheless, we do find that we're impacted by bandwidth-robbing applications and do find that it is necessary to rein them in (though we do not currently ban them).

OK, this is a little technical, but it's not too complicated to explain. VoIP media requires two-way communication flows over UDP. Unfortunately, your average firewall or NAT is not set up to conveniently allow such flows by default. Skype (like SIP VoIP stacks and other P2P applications) includes fairly extensive NAT traversal techniques to let you punch a hole in the NAT/firewall. Unfortunately, those techniques don't always work, especially when both sides are behind NATs. The last ditch approach in such situations is to tunnel all the traffic through a media relay, a publicy accessible machine which is not behind a NAT. In the IETF VoIP universe, it's generally expected that service providers (either ISPs or the voice service provider) will prove the media relay.

Skype has the unusual feature that not some of the clients themselves act as media relays. At least in theory, the system automatically detects that a client has a public IP address and has it advertise itself as a media relay.1 (Because the traffic is encrypted the people making the call aren't supposed to have to worry about this.) The advantage of this technique is that Skype Inc., doesn't need to use as many servers (or as much bandwidth) to operate their own media relays. Obviously, if you have a client which is acting as a media relay, it consumes bandwidth when you're not making a call, which is what Glass is referring to.

That said it's unlikely that a Skype client on a cellular network would end up being a media relay. A good media relay needs reliable high speed connectivity and unfiltered, public, Internet access. None of these really apply to cellular phones. So, while in principle Skype could chew up cellular radio capacity over and above that required to transmit to/from the calling stations, it seems unlikely in practice.

1. I say in theory because a friend of mine set up a Skype client with good connectivity and a public address and didn't get selected as a relay.

UPDATE: Rewrote the last graf for added clarity.

Skype has asked the FCC (þ Robert Berger via Interesting People) to require cellular providers to carry their VoIP traffic:
Skype yesterday petitioned the FCC to lay the smack down on wireless phone carriers who "limit subscribers' right to run software communications applications of their choosing" (read: Skype software). Skype wants the agency to more stringently apply the famous 1968 Carterfone decision that allowed consumers to hook any device up to the phone network, so long as it did not harm the network. In Skype's eyes, that means allowing any software or applications to run on any devices that access the network.

The reason for Skype's interest in the issue is obvious: they want to force network operators to allow Skype-enabled calling across their networks, something currently prohibited on wireless data plans. In its filing, Skype argues that this capability would offer "tremendous new sources of price competition provided by entities such as Skype," and that's exactly why wireless operators will fight the plan tooth and nail.

The standard perception here is that there's a generic network and the providers use QoS to block third-party VoIP applications. There's an element of truth here, especially for conventional wireline Internet services. But for cellular the situation isn't as simple as that.

So, the first thing you need to know is that older digital cellular networks (pretty much everything before 3GPP IP Multimedia Subsystem) aren't generic packet switch networks like the Internet. They're specialized voice channels. They do have some generic Internet functionality, but it's mostly an add-on overlay on the older voice network—the same way that you layer IP traffic over an old voice network with PPP (except that this is digital-on-digital).

Performance of these systems isn't that great. First, the bandwidth is really inconsistent (even when you nominally get 14.4k it's bursty). Second, it consumes a lot of power. The reason for this is a but subtle: voice transmission is extremely predictable and the phones and networks are able to make a bunch of channel control optimizations (slotted scheduling and variable-width channels being big ones) to minimize power consumption. This sort of tight control requires having the part of the system close to the radio having a lot of knowledge of the network dynamics of the protocols being run over top. In my Treo, for instance, you get 3+ days in voice mode and less than a day in Internet mode, even if you're sending and receiving almost no data.

IMS is a little different, but the problems are similar. In principle 3G phones have more or less generic IP service and provide it to the applications on the phone. IMS is VoIP (SIP + RTP + some custom IMS stuff) and runs over that service. That's true, but in order to make this work efficiently there's actually tight integration between the VoIP system and the IP stack in order to efficiently make use of the air interface. While there is a lot of QoS on 3G networks, it's not solely for the purpose of blocking 3rd party applications, but also for making the native applications work well. So, while in principle you could run generic VoIP over the IP network, it's not clear how well it would really work.

So, if all this is right and Skype wouldn't work well anyway over a neutral channel, what's Skype really want? That's not clear. One possible theory is that it's negotiating leverage. Of the four major wireless carriers, Cingular/ATT and Verizon both operate wireline Internet service and T-Mobile operates a network of hotspots. Requiring neutrality through those networks would be valuable and asking for a lot more might be a way to get it.

Ackowledgement: Thanks to Cullen Jennings for discussions and explanations of some of the issues in this post.