Doppler: Internet Radar

This post introduces Doppler, an internal project for mapping and measuring the network between users and Facebook. It details the methodology of using a lightweight JavaScript probe appended to page hits to initiate HTTP requests to tiny images on servers, timing their load times. Specific experiments are described for measuring end-to-end DNS latency (by using unique hostnames) and packet Round Trip Time (RTT) by subtracting the time for a cached request from a full request. The collected data, billions of measurements over a year, is used to generate country-level and Autonomous System Number (ASN)-level graphs to identify network issues. Doppler is also used for evaluating TCP optimizations and new network hardware, and is being extended to support mobile users, SSL, and IPv6. Future work includes using Doppler data for DNS-based global server load balancing by indexing latency by resolver IP.