Internet Navigation

From 118wiki

Jump to: navigation, search

Contents

Internet Navigation

URLs can have many forms; http://www.google.com, http://localhost:8100/myindex.htm, http://128.255.56.99/index.html are examples. Some of these include hostnames, others have IP numbers, page names, even port numbers. We see thus that moving around in the web involves concepts from several layers of the protocol stack. Lots of machinery in the current Internet translates location information from one type (or layer) to another type (at another layer).

Names to IP Numbers

The basic internet system to manage conversion between Hostname and IP Address is the Domain Name System, called DNS. A collection of DNS servers form an overlay network on top of the Internet; these servers maintain a database of hostnames and IP addresses (actually, just tables of simple records called RR records), and respond to queries. Some things to note, which are explained in the Domain Name System link:

  • A DNS server can associate multiple hostnames with one IP address; there is one "canonical" name, plus "alias" names.
  • A DNS server can associate multiple IP numbers with one hostname; this is useful for load balancing (and also a way for content delivery networks to respond with nearby web servers).
  • DNS servers can do reverse lookups, returning a hostname given an IP number
  • DNS servers can handle other kinds of query, for email exchange, location and administrative data for a host
  • The logical overlay network of DNS servers is conceptually a tree, in which queries can propagate through the tree
  • DNS servers have caches to reduce the overhead of distributed queries in the tree network; several tuning parameters specify freshness and expiration timings on the caches.
  • Security is an important problem for name resolution; some DNS Security Extensions have been proposed.
  • In Linux/Unix, the host command gives you a way to query a DNS server (see Windows DNS for another way).

Concepts to Names

Search Engines can be thought of as converters from "concepts" or keyword searches to URLs, which provide names.

IP Numbers to Hardware Addresses

It's sometimes important that hardware addresses, of the kind used in Layer 2 (the link layer) or in Local Area Networks (like WiFi or Ethernet) be handled differently than IP addresses. For example, we would like the freedom to change hardware without having to change IP addresses. For this reason, Layer 2 and LAN-layer software in operating systems use Address Resolution Protocol, called ARP, to convert IP addresses to hardware addresses. Some points worth noting:

  • The mapping between IP address and hardware address can be dynamic or it can be fixed; usually it is dynamic and automatic to minimize administrative setup.
  • RARP, or Reversed ARP, converts a hardware address to an IP address
  • Technically, an IP address is associated with a host interface (or a Network Interface Card) rather than a host: this permits hosts to have several interfaces, which is useful for gateway and router hosts that belong to multiple LANs. Thus a host can have several hardware addresses.
  • Some hosts interfaces have fixed IP numbers (even if the interface hardware is changed to a new hardware address, that interface should retain the same IP number); this is typical of servers or other well-known hardware. Other hosts do not have permanent IP addresses for any interface, instead using Dynamic Host Configuration Protocol, called DHCP, to obtain an IP address on demand. DHCP is implemented using a DHCP server which owns a pool of available IP addresses; newly arriving hosts "lease" an address from the DHCP server. An alternative to DHCP is something called Zeroconf, which doesn't need to have a server.


Name/Address Structure and Hierarchy

Hostnames in the Internet are structured by domain, subdomain, sub-subdomain, and so on (which is technically why we use the term FQDN). The domain hierarchy is a logical tree, and DNS servers roughly follows this tree structure. Exceptions to this hierarchy for DNS servers are:

  • A DNS server can define a DNS Zone to span multiple subdomains.
  • Dynamic DNS customizes its database to cater to hosts that dynamically obtain IP addresses; this can have introduce some reliability and performance issues with DNS caching
  • The administrators of a DNS server can set up exceptional RR records outside of the zone (and they often do this)

IP addresses are also structured. IP addresses (of the current 32-bit kind, not the IP version 6 128-bit ones) have been organized into classes, yet later this idea was somewhat de-emphasized in favor of Classless Inter-Domain Routing. Some key points to know about addresses:

  • Hostname "localhost" is 127.0.0.1, also called the "loopback address"; it exists for testing network software even if an actual network is unavailable.
  • Some addresses are purposely reserved (private addresses) and illegal to use on the public Internet; these turn out to be extremely useful for Network Address Translation, which is a very popular way to share a few IP addresses among multiple hosts.
  • Some IP addresses are reserved as multicast group addresses.
  • Large organizations structure blocks of IP addresses into subnetworks; each Subnetwork could correspond to one LAN.
  • Some IP addresses are, by convention, used to refer to a subnetwork rather than a host or host interface; other IP addresses are, by convention, used as local broadcast (to everyone in the subnet) address.
Personal tools