Tuesday 12 February 2013

DNS — Domain Name System

  • Programs theoretically refer to hosts, mailboxes, and other resources by their network (e.g., IP) addresses, these addresses are hard for people to remember. Sending e-mail to IP address and if organization moves the mail server to a different machine with a different IP address, e-mail address has to change. 
  • Nevertheless, the network itself understands only numerical addresses, so some mechanism is required to convert the ASCII strings to network addresses.
  • Way back in the ARPANET, there was simply a file, hosts.txt, that listed all the hosts and their IP addresses. Every night, all the hosts would fetch it from the site at which it was maintained. For a network of a few hundred large timesharing machines, this approach worked reasonably well.
  • However, when thousands of minicomputers and PCs were connected to the net, everyone realized that this approach could not continue to work forever. For one thing, the size of the file would become too large. 
  • However, even more important, host name conflicts would occur constantly unless names were centrally managed, something unthinkable in a huge international network due to the load and latency. To solve these problems, DNS (the Domain Name System) was invented. 
  • It is primarily used for mapping host names and e-mail destinations to IP addresses but can also be used for other purposes. To map a name onto an IP address, an application program calls a library procedure called the resolver, passing it the name as a parameter. 
  • The resolver sends a UDP packet to a local DNS server, which looks up the name and returns the IP address to the resolver, which then returns it to the caller. Armed with the IP address, the program can then establish a TCP connection with the destination or send it UDP packets. 

No comments:

Post a Comment