Tuesday, March 22, 2005

The Good Old Days of VoIP

Cringely is worried that VoIP's days may be numbered. He expands on some of the criticisms in the 2nd half of this article.

I'm not convinced, although I'm fairly certain that he has a poor quality ISP. I'm unconvinced because VoIP's network requirements are not that demanding. If 3rd party VoIP is broken, then just about everything else should be broken, too. VoIP requires hardly any bandwidth at all. Vonage (at it's highest quality setting) requires a 90Kbits/s (11KBytes/s) connection. This is roughly twice the speed of the fastest telephone modems. Every single broadband internet provider advertises with much more bandwidth than that. The consequence of this is that if VoIP stops working well over broadband, then just about everything will stop working well over broadband. At which point, broadband providers are really high priced compared to cheap analog internet service.

Of course, the counter argument is that VoIP needs good latency, not high bandwidth. So it's not just how many packets you can receive at any one time, it's how long it took for specific packets to get to you. If this is not clear, the classic example that compares bandwidth to latency is a station wagon full of back up tapes versus a regular modem. The station wagon, filled with tapes, can transport terabytes of data. If it takes 1 hour to ship 10 TBytes using the station wagon, that's 277 MBytes/s of bandwidth. But the latency is 1 hour. If you're talking on the phone to someone on network that has one hour latency, it's going to take an hour after you say "Hello" before the other party hears you. At that point it doesn't matter how much bandwidth you have. What matters is the latency. In comparison to the station wagon, you might look at a regular computer modem, which only has 7KBytes/s (56Kbits/s) of bandwidth, but the latency is probably only about 30-40 milliseconds. The argument is that VoIP requires more bandwidth than a normal modem can provide, but a latency signature of about the same as a normal modem.

And this is where Cringley's argument starts to gain traction (only to eventually lose it). His argument is that the ISPs can easily manipulate the network to ensure that there's little or no latency for their VoIP offering and not give any latency guarantees to 3rd party VoIP (e.g. Vonage, Skype, Packet8, etc). By not giving latency guarantees to 3rd party VoIP, all of those packets get classified behind the ISP's VoIP. So it's possible that hundreds of ISP VoIP packets will get passed before a single 3rd party packet gets passed, dramatically increasing the latency of the 3rd party packet.

This argument loses traction because it assumes that the ISP packets will push out the 3rd party packets, which is true only if those packets exist AND if there isn't sufficient additional bandwidth to service those packets. Think of it this way. We're in line to get on the bus. Some customers have priority passes and get to go to the front of the line at any bus stop (these are the low latency customers). But I don't have this pass, so I have to hope that there's a seat available after they get on. If there is a seat available (e.g. there's enough bandwidth) then they get on the bus and I get on the bus and we both have the same latency to get to our destination. The only time this is a problem is if someone in front of me takes the last seat on the bus. At which point there isn't enough bandwidth to take me, and my latency is worse because I have to wait for the next bus.

This is the way it works with VoIP. In order for ISP VoIP to push out 3rd party VoIP, the available bandwidth has to be so low that we both can't use it at the same time. It also assumes that there are going to be lots and lots of high priority packets which will force 3rd party VoIP to the back of the line. This last part is dubious when you compare the price of cableco provided VoIP to 3rd party VoIP.

My local cableco VoIP offering is $39.99/mo. Compared to Vonage's equivalent offering of $24.99/mo, that makes Vonage nearly 40% cheaper! I don't see how the cableco is going to get enough customers to enable their VoIP offering to push out the 3rd parties. And even if they do get enough traffic to push me to the back of the line, they're going to have to lower their current bandwidth so that I'm not the only thing pushed to the back of the line - everything is. In which case they'll probably lose more broadband customers than they gain in VoIP customers.

I don't see this as a market that the cableco can force its way into by playing networking tricks... but I could be wrong. If I am let me know how.


Bass Jumper said...

I didn't read Cringley's article, but a similar one I read made me think ... hey! they can put higher QOS on all their packets, not just their VOIP packets. They can elevate HTTP, FTP, even batch processes like SMTP, POP and IMAP. It isn't that they have enough VOIP customers to push out competitor VOIP, but that they have lots of other traffic with higher priority than my VOIP traffic.

The next issue is that we're working toward local phone monopolies again. And these monopolies can work together to accept the QOS of these few VOIP (and HTTP and FTP, etc) providers since they are not in competition with each other. Verizon and SBC have small areas where they overlap, and so they can co-operate without impacting their own bottom line while forcing out providers like Comcast, Vonage and Skype who do compete with the RBOCs.

It's at the junction of networks that latency's ugly head appears, which is why their co-operation would be particularly effective.

Ok, I'm in the middle of editing two other comments, so I'm going back to my own writing. Sorry if this is sketchy.

mjh said...

And as soon as they do that, Vonage & others have a simple response: encapsulate their VoIP in HTTP or FTP or SMTP or whatever and suddenly they're getting nice QoS again. Most likely they'd encapsulate it in DNS which is UDP based and would avoid many of the overhead problems of using a connection oriented protocol for voice.

The only effective way to make QoS either work against 3rd party VoIP providers is to do it via IP address. Either:

1. single out the 3rd party VoIP server IPs and lower the QoS on those devices - this is probabaly illegal

2. single out the services that you want to work better on your own network and give them higher priority. But if you do this, you have all of the problems that I brought up in my article.

I'm just not convinced that QoS tricks are going to easily work.

Post a Comment

I've been getting a lot of friends from facebook starting to read my blog. I'm glad of that. I look forward to comments, critiques, etc. But please do not reference me or any of my family and friends by name. Here's why.