Sunday, June 12, 2011

Traffic Management (or Deprioritization)

The easiest way to think of traffic management is to think of it as a job scheduling problem. Routing nodes maintain queues with different sizes and priorities and decide which packets to let through based on some criteria. Here is a quick example, whenever I use bittorent, my latency increases significantly. What Cox probably does is look for a particular behavior (the fact that I have 60 open TCP connections with a sustained upload bandwidth of 100K) and deprioritize all my packets to some slow, bloated queue. I'm able to notice this because UDP latency to UF nodes which usually takes 15ms with a few ms mean deviation, just to 45 ms with 50ms mean deviation. Long story short, once Cox tags you as a P2P user, your priority goes down and you are put in the slow queue. The other thing to add is that there was no packet loss. Meaning although my bandwidth usage was pretty high, the Cox routers did not drop my UDP packets.

P.S. - Btw, I am a big P2P user, but I condone Cox's practices, the overall algorithm I assume gives a much better user experience for everyone and Cox makes more money. The bigger point, however, is that traffic management systems are already in place and ISPs knows how to use them, so without proper oversight, they can easily make sure that their video streaming services has better performance than Netflix. I'm not sure if this is right or wrong, as a company, I would do whatever it takes to protect my business especially when it's so easy to put Netflix packets in the slow, high latency queue. Final point is that, it's hard to compete with ISPs when it comes to content delivery because you depend on their computers to route packets for you which directly impacts the quality of your service. Bottom line is, get in good with your ISP because it's your lifeline (that piece of advice is for Netflix).

No comments:

Post a Comment