Monthly Archives: February 2015

Notes on DNS Root Name Servers

After watching one news about name servers, I just happened to gain certain interests on root name servers, and then I was looking around some documents. I think I knew the basic concepts, but there are many interesting topics around them which I didn’t know.

Normally, we don’t have to care about them much, but it might be one interesting topic to look into. It’s one of the critical component of the Internet anyway.


  • There’re 13 root name servers in the world, and letters from A to M are assigned for each of them. Mostly operated on BIND, but some of them are using NSD.

  • 10 of the 13 root name servers are operated by United States organization, but the physical server location are widely distributed in the world. Also, each of the A to M has many server locations in the world. The following site has a nice map.

  • These root name servers are constantly getting high-load 24/7 (several tens of thousands per second). Decent TLD name servers should access only one in 48 hours, but not always the case.

The monthly average load of all root name servers in September 2007 is more than 118,000 queries per second (90,000 in December 2004) with regular peaks at several times the average which are handled gracefully.This is more than 10 billion (10^10) queries on average every day.

A: Indeed the expected load from well behaved root name server clients is much lower. For each TLD they should only need to query the root name servers about once every 48 hours. In practice the majority of the present load is coming from misconfigured or broken DNS clients.

Immutability and Data Structures

David Nolen – Immutability: Putting The Dream Machine To Work

A nice presentation about immutability from clojurescript creator. Immutable data structures are getting more attractions along with the popularity of functional programming language. The presentation covers related trie data structures and its advantages in performance along with new immutability-based platforms like Elm and React.

I used to be struggling on ruby’s clone method regarding performance and complexities in deep/shallow copy, but now I’m loving immutable data structures and tail-recursions while playing with elixir. When programming with ruby, I started to use hamster gem lately. It works nicely, but lack of tail-recursions sometimes painful.