Friday, July 31, 2015

Notes on CenturyLink Fiber


tl;dr: I switched from Comcast to CenturyLink fiber in Seattle in July 2015.

What You Get

CenturyLink has to run fiber to your house or apartment; this is literally a thin strand of glass that comes from a utility pole.  It terminates in a rather unsightly black box inside your living quarters.  Your wifi router plugs into the black box via an Ethernet cable.  Eventually you get IPv4 and IPv6 connectivity out the other end.

Once the tech powers up the black box and the CenturyLink-supplied router, he or she asks you to connect through that router and attempt to visit a webpage; you are redirected to a CenturyLink enrollment portal where you're walked through a brief set of questions and invited to read a 26ish-page terms of service.  Do that and confirm that your Internet connection works before trying to get fancy with any of the below steps.

Using Your Own Router

CenturyLink is happy to rent you a wifi router for about $8/mo.  When I signed up for installation, I was not presented with the option of using my own router, so I assumed there was something special about this piece of equipment.  But it turns out that any (any?) router that supports PPPoE and VLAN tagging should work, as others have already figured out.  The Asus RT-AC66U, which I was already using with Comcast, and its successors happen to fit the bill; the steps below may be easier or harder with a different router.

Unfortunately, you need a crucial piece of information from the CenturyLink router before you can substitute your own router: the PPPoE credentials it uses to authenticate itself to CenturyLink.  You can grab the PPPoE credentials from the CenturyLink router's "Quick Setup" page.  Use any of a variety of browser techniques to grab the password from the password field.  Record the PPPoE username and password, and then you can safely turn off your CenturyLink router.  Then connect your own router to the black box, tell it to use a PPPoE WAN connection, and punch in the credentials you wrote down.

The other necessary factor is VLAN tagging.  On your router, tell the WAN port to use VLAN tag 201.  My Asus RT-AC66U router hid the VLAN setting under LAN > IPTV (enter 201 in the "VID" field).  This setting will probably be hidden somewhere equally obscure on your own router.

Once I configured PPPoE and VLAN tagging, I had IPv4 connectivity via my own router.

IPv6

CenturyLink uses 6rd for IPv6 connectivity, unlike Comcast, which uses dhcpv6-pd.  Whatever.  I entered exactly four settings on my router after finding a CenturyLink help page that showed some settings for the routers they rent you:

  • Connection type: Tunnel 6rd
  • IPv6 prefix: 2602::
  • IPv6 prefix length: 24
  • IPv4 border router: 205.171.2.64

VoilĂ , IPv6 router advertisements and connectivity on the LAN.

Performance

I ordered 40 Mbps down / 5 Mbps up and I appear to be getting exactly those rates (measured with iperf and various speed-test sites).  I care about latency more than throughput; the latency is the same no matter what speed you order from CenturyLink.

From my house in Seattle I'm this far away from things I use frequently (measured with mtr in July 2015):
  • Google: 5.4 ± 0.0 ms via IPv4, 5.7 ± 0.0 ms via IPv6
  • UW CSE: 6.6 ± 0.9 ms via IPv4, 33.0 ± 0.0 ms via IPv6 (bounces through San Diego for some reason)
  • ransford.org: 24.2 ± 0.0 ms via IPv4, 41.2 ± 0.4 ms via IPv6
These IPv4 latencies are about half of what I had with Comcast.

Changelog

April 4, 2017: Fixed VLAN tag information (must apply to WAN port, not LAN port).