27 Jan

Which DNS resolver is good for you?

Which DNS resolver is better – ISP’s (default) DNS resolver, or Google Public DNS or the pioneer of DNS openDNS or even a local DNS server?

Let’s try to find out!
I am sitting on a BSNL data link, and I will try to perform few tests to find that out:
Available DNS resolvers to me:

  1. BSNL DNS resolvers – 218.248.255.194 & 218.248.255.196
  2. Google Public DNS – 8.8.8.8 & 8.8.4.4
  3. OpenDNS – 208.67.222.222 & 208.67.220.220
  4. Local DNS Server – BIND running on localhost – 127.0.0.1
Observing ping time:

 

BSNL DNS resolver:
— 218.248.255.194 ping statistics —
5 packets transmitted, 4 received, 20% packet loss, time 4001ms
rtt min/avg/max/mdev = 26.978/27.754/29.122/0.897 ms

— 218.248.255.194 ping statistics —5 packets transmitted, 4 received, 20% packet loss, time 4001msrtt min/avg/max/mdev = 26.978/27.754/29.122/0.897 ms

Google Public DNS:

— 8.8.8.8 ping statistics —
5 packets transmitted, 5 received, 0% packet loss, time 4001ms
rtt min/avg/max/mdev = 121.147/121.878/122.951/0.783 ms

OpenDNS:
— 208.67.222.222 ping statistics —
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 217.678/219.528/222.034/1.717 ms
Next, localhost? ūüôā
Pinging local DNS server makes no sense as reply will be in less then 1ms!
Anyways, so here’s ping summary:
  1. BSNL – 28ms
  2. Google Public DNS – 122ms
  3. OpenDNS – 220ms
  4. Local DNS server – N/A

Next, we will try asking IP address of popular site facebook.com to all of these.
Here’s a sample query:

;; QUESTION SECTION:
;facebook.com. IN A
;; ANSWER SECTION:
facebook.com. 1022 IN A 69.63.189.11
facebook.com. 1022 IN A 69.63.189.16
facebook.com. 1022 IN A 69.63.181.12
;; Query time: 28 msec
;; SERVER: 218.248.255.194#53(218.248.255.194)
;; WHEN: Thu Jan 27 13:44:57 2011
;; MSG SIZE  rcvd: 248

We can see, BSNL resolver passed the IP almost instantly for a popular site. Popular here simply means that resolver must be having the record within it’s cache as per TTL of the zone.

Observing resolution time:

Asking for IP of facebook.com to rest of DNS servers, here’s summary:

  1. BSNL resolver took 28ms
  2. Google Public DNS took  125ms
  3. OpenDNS took 219ms
  4. Localhost took 558ms

We see a very big value from local host here. Reason, it had to find the IP via root DNS servers. In my case, this local DNS resolver used – b.gtld-servers.net (closest) to get Authoritative DNS servers of “facebook.com” and next, it asked those DNS servers for the IP of facebook.com
Note: Further anymore queries to facebook.com using local DNS will take almost 0ms for next 1022 seconds as defined in DNS zone of facebook.
So for a popular site – clearly BSNL DNS resolver is winner based on responce which is 5 times faster then Google Public DNS and almost 10times faster then OpenDNS.
Next, we try to find how much time it takes to resolve a less popular domain – crazybeam.com
(less popular = no caching of records at resolver)

Time taken by all resolvers:
  1. BSNL took 223ms
  2. Google Public DNS took 398ms
  3. OpenDNS took 487ms
  4. Local DNS server took  667ms

As we can see – BSNL resolver took quite more time here but still very low. Local DNS resolver took almost same time to resolve a less popular domain as it took to resolve a popular domain – reasons remains – no caching.
So finally, here’s the summary explaining results and recommendation of which resolver to use:

  1. Google DNS is better then OpenDNS for India since OpenDNS has no mirrors in India. Closest mirror is Singapore, but actually most of data seems being routed from London. Here’s a traceroute for reference.
  2. Running a local DNS server is good if you have mid-size organization where you have atleast 1000+ users. This will help in building a decent DNS cache which will servce queries instantly apart from saving bandwidth used for DNS lookups.
  3. Local ISP DNS servers seems very good in initial testing based on very low latency values they give BUT remember – there’s a big problem associated with BSNL DNS resolvers – they do not store most of records till TTL is complete. That is – they perform very good for cached values as we can see, but they seem discarding cached records well before expiry of TTL. This makes them bit poor in performance as this does not happen with Google or openDNS at all. Hence for popular domains, Google takes ~120ms, while BSNL takes 220ms. OpenDNS remains bit slow for India.
  4. Apart from that, one of other big problems perticularly with BSNL DNS servers is – they constantly time out thus giving high packet loss, and causing “Name not found” errors.

 
So finally my recommendation – if you are on Indian ISP network, it’s good to use Google Public DNS.

13 Jan

Experience with MNP in Haryana

Recently lucky mobile users in Haryana got MNP i.e Mobile Number Portability.

I too ported my number out from Airtel to Tata Docomo. Reason remains the super slow GPRS network (yup gprs, not even upgraded to EDGE in most of Haryana) and crazy service activation followed by irritating sms’es.

Here’s my experience with MNP:

It took around 20 days in porting of my number, and technically speaking – process is yet not (hundred percent) completed even after a month!
One of the problems with system is that whenever one requests for a porting code, it is valid for 15days. If we request for porting code again (via sms) we get same code, with same validity. In my case, I request for code, but I submitted documents for porting after 13days of my initial request. On the day of submission, I requested for code again, and got same code which was expiring after 2days. I did informed retailer about it, but he had no clue. Eventually I submitted form. Next, documents reached company by 16th (or to the middle guy), and they triggered request for porting on 16th day with same old code.
Result: Port out request failed, because porting code was expired!
It took me over a week to realize that, and eventually I submitted documents again. I submitted documents on Monday, and on a fine thursday evening I realized that I didn’t got any call or sms that day! Later, I found I was even not able to send any sms. Outgoing calls were going fine via Airtel connection.
I got clue, and tried using Tata Docomo sim card, and it worked!
All was OK other then fact that I was not able to recieve calls from Airtel users on Tata’s sim. Callers were getting message – “The Airtel number you have dialed is switched off!”
At this point of time I realized a big problem – due to some bugs in system, new carrier actually accepted my number, while Airtel has yet not ported out my number. Good was that I started getting calls even from Airtel users within a day. Logically speaking all was going OK, other then fact that my Airtel connection still works for outgoing, and even at the time of blogging (after a month of porting) it’s still up!
Tata Docomo customer support has no clue about it while Airtel support always requests me to visit Airtel relationship center to get this fixed. (Why really? Can’t they do this ONLINE?!)

Here’s few points about MNP based on my experience:

  1. 15 day rule can be problem.
    As said above – if one submits docs for porting after 13-14days of initial request of port code, there are chances of rejection of request, as it normally takes 2-3 days for request to be registered in system of new operator, and technically initialization of request.
  2. During middle period there is NO WAY to find the status of porting. I have transfered various domain names from various registrars to others, and it is very good that one can get real time step-by-step status of that. It makes absolutely no sense in implementing MNP in such dark manner.
  3. Apart from latest online status, I expect there should be clear norms about who is going to provide support to end user during period. Both carriers – Airtel and Tata Tele’s customer support informed me that they don’t have any mechanism of looking into a number’s detail about porting and only way in case of trouble is to visit company office. That’s just crazy! ¬†Again, this is not a DSL link problem that one needs to visit central office to get line fixed. Even at those offices there are NO technical persons. They are again company support representatives who sit in front of a terminal. Incase of any technical glitch, they can’t do much other then escalating it to technical team, which goes via few “in-house” engineers, before getting off to external outsourced team of equipment vendors.
  4. Based on the way it’s going – in Haryana MNP is causing huge subscriber loss to BSNL and Airtel. Gainers are usually Tata Docomo, and Aircel. I think launch of MNP in rest of India will probably get delayed. Reason remains with the incumbent private carriers.
  5. As of now there are no plans for inter-circle portability i.e you can port number only within a circle, and not out of telecom circle. So if you move from NCR circle to say Bangalore in South India, you can’t port out your number.
    Why?
    “Technically¬†very hard to implement” – claimed by one of telecom guys. Reality – telcos love roaming ūüėõ

And yes, now I am one of the “3G user” ¬†in India!
and here’s a quick speed test:

Will be posting my experience with Tata Docomo 3G in other post.
Thanks for reading.