Archive for September 6, 2006

Foundation Stone #12 - IP address and DNS

Web applications are possible only because the world of systems are now interconnected. And if communication has to happen between these systems then there has to be a way to identify these systems. IP address identifies a system connected over the internet. This makes each and every system connected to the internet unique thus enabling communication. To put it simple why it has to be unique, if you are requesting for www.google.com in your browser you want the page to appear on your browser on your machine and not mine :-) . How is IP address is unique? First of all Internet Protocol (IP) is a specification (RFC 791) at the networking level that defines transmission of packets from source to destination. The source and destination is identified by an address and how it will be represented. Basically at a machine level it is a binary number but for readability sake it is represented as xxx.xxx.xxx.xxx where x is a number. Next thing is to make this number unique there is an organization called Internet Assigned Numbers Authority (IANA) whose primary job is to make sure that each system on the net is given a unique IP address.

IP address is hard to remember and also write so the concept of domain names was introduced (for example google.com). There needs to be a mechanism to map this name to the actual IP address. At a machine level it is still the IP address that identifies a machine. Domain Name Service (DNS) does this job. There is a hierarchy of Domain Name Service running at different levels. This hierarchy and delegation of mapping the name to the actual IP address is taken care by an organization Internet Corporation for Assigned Names and Numbers (ICANN). DNS is an interesting area and if you are a novice then this blog article “DNS for Novices” has some basic insights and a good explanation of how a domain name gets resolved to the IP address.