Net Neutrality

A lot of people are talking about the FCC’s new proposed net neutrality rules in the wake of the Comcast and Verizon peering deals with Netflix. As a datacenter guy, with a good deal of experience in network engineering, I feel like most stories are missing some critical background information.


So, part of the issue is that we're undergoing a shift from the previous architecture of the internet. Think of phone calls 20-30y ago, you got 2 bills, one local, one long distance. That's how internet USED to work. Forgive me while I drastically simplify, but previously, you would pay a Local Exchange Carrier (LEC) who had a contract for transit (internet) with some bigger carrier up the stream. This terminated in what were called Tier-1 carriers (XO, Level3, Global Crossing, Cogent, AT&T, etc.) The definition of a Tier-1 carrier is someone who does not pay for transit; essentially, they provide connections to each other for free, and charge smaller carriers who connect to them. This worked reasonably well for a while, but it's now starting to break down for two primary reasons.


1. Consolidations of LECs and expansion of cable as an internet transport medium (it used to be phone/DSL which is delivered over phone lines). This makes it so that Comcast/Verizon have similar national networks to the Tier-1 carriers but also direct connections to the customer. This is a VERY different situation compared to what we had previously, because while the Tier-1 club has an incentive to allow free flow because they get their revenue from ensuring that their customers can reach everywhere, now Comcast has a direct connection to the internet, and the user; if you want to get traffic to the user, you have to hit Comcast, so Comcast has no incentive to upgrade their free linkages if it can sell Tier-1 carriers a dedicated pipe. For more of this type of thing, grab popcorn, google “Comcast Level3”, and sit down to hilarity.


2. Internet traffic has changed - People who are on the internet now primarily consume. This pushes infrastructure demand down to the LEC (Most datacenters have 1-2 Tier-1 and several Tier-2 carriers, so server to server traffic goes over that sort of link). Netflix is not that sort of traffic, it’s very one sided, and very dynamic - way more people watch internet movies at 10PM than 5AM. Bandwidth doesn’t auto-scale the way EC2 servers do, so the LEC's under aggressive push to provide more pipe (see Verizon's FiOS rollout), for all the reasons any building project is expensive, especially public works, building infrastructure is expensive. There's a long tail of infrastructure investment, and Comcast is trying to get compensated for it somehow. Running cable is a lot more expensive than pushing out a wireless infrastructure, and where the phone companies were able to push out data caps, metered usage hasn't been tried on the wired side yet.


So, basically, it's complicated, and there isn't going to be a good answer.


In my opinion, Comcast is being ridiculously petulant in maintaining saturated links and charging for traffic into and out of it’s network. I think that by intermingling the residential and backbone provider networks, it’s put itself at a risk for a lawsuit for acting in restraint of trade. That said, the amount of traffic Netflix’s carriers are throwing at Comcast without reciprocation seems a bit excessive. I certainly can understand Comcast balking at the cost of standing up an increased number of several-hundred-GBPS links across the country. You can make an argument, however, that that is exactly what Comcast subscribers pay for, and Comcast is holding them hostage and using them as pawns against other carriers. Additionally, to mitigate this very circumstance, Comcast works with a number of CDN providers, which Netflix could leverage to fix this issue without dealing with peering. Netflix’s insistence on running the entire chain itself has hurt its customers, in the service of its bottom line.


In short, I think that both sides have legitimate issues, but Comcast has a much more tenuous claim. They’re charging at both ends of the spectrum. What impact this has on net neutrality, however is limited at best. Comcast is not discriminating against type of traffic, or content of that traffic - that is the important part. Any traffic from Cogent to Comcast or Verizon was getting backed up; it’s a problem of throughput. Yes, paying to put in a dedicated line is probably not the solution, but I don’t see how paid peering threatens the fabric of the internet as such.


The recent FCC draft that permits these types of arrangements on a case-by-case basis doesn’t appear to threaten content discrimination per se. I think that it will increase the cost of transit for many Tier-1 and Tier-2 providers, and fragment the internet, at worst case creating possible internet “eddies” for providers where traffic from their network slows down reaching other networks. I find that incredibly unlikely, however. The language in the FCC draft formally appears to allow a paid peering type of arrangement, which is necessary. Smaller ISPs often need to set up paid agreements to ensure fully redundant routing to local partners and upstream peers. The proposed language allows that sort of paid agreement, and yet leaves the door open to regulation. 

Hybrid Git Powershell Prompt.

A developer I work with came up with this neat PowerShell profile hack. I spend most of my day in a PowerShell window, and when working with repos, it can be handy to know where you are. This profile addition replaces your PowerShell prompt with the default (the path) unless you're in a git repo, where it then adds the branch you're on.

If you don't have a profile created  - run this first:  

New-Item -path $profile -type file -force

then edit it using

vim $profile

function prompt {
write-host $pwd -NoNewLine -ForegroundColor White
$branch = &git rev-parse --abbrev-ref HEAD
if($branch -ne $null)
write-host "[" -NoNewLine -ForegroundColor White
write-host $branch -NoNewLine -ForegroundColor Green
write-host "]" -NoNewLine -ForegroundColor White

Now you have a prompt that tells you where you are in your repositories!  

Windows 8.1 Hyper-V

Working with Developers, I have a love of client-side virtual environments. They allow for snapshots, easy portability of the development environment, and simple and unobtrusive replacement if and when someone blows up their development workstation. When Microsoft announced that they were adding client-side Hyper-V in Windows 8, I had high hopes. However, the Windows 8 RTM release of client-side Hyper-V left a lot to be desired from a client-facing solution. It was merely a port of the Server-side experience to the client. While it works well for me (I tend to run everything over RDP anyways) , for our developers, lack of basic functionality like Copy/Paste or dynamic window sizing made it DOA.

Thankfully in the Windows 8.1/"Blue" release, many of these shortcomings have been rectified! The virtual machine connection windows have been redone using the Remote-Desktop engine which means that all the features you didn't have before (sound, 3d graphics acceleration, copy/paste), are now available without any workarounds. The Full list of Features supported in this "Enhanced Session Mode" are:

  • Display Configuration
  • Audio
  • Printers
  • Clipboard
  • Smart cards
  • Drives
  • USB devices
  • Supported Plug and Play devices

While this only works with Windows 8.1 guest OS's - it provides a viable path for ditching 3rd party Virtualization engines, and going full native, possibly saving you thousands in VMWare Workstation licensing costs.

 Ref:  http :// 

This site is a the personal space of Nick Couraud. While I touch on both personal and work related issues, everything here is my own opinion, and not necessarily reflective of my employer's views. Don't hold it against them.