The objective of Internet is to allow connected hosts to communicate,
wherever they are located. In order to achieve that efficiently, different
types of addressing have been introduced:
- Physical addressing (MAC), which identifies a hardware, specifying the
constructor and the product serial. It is unique and can theoritically be
used to communicate. But as it does not include any networking information,
communications based only on MAC addresses would be very unscalable (huge
routing tables). This is the reason why another kind of addressing (logical)
has been chosen.
- Logical addressing (IP), which identifies a logical host (not always
the same hardware) of a given network. Every address is buit through the
concatenation of a netid (network identifier) and a hostid
(host identifier). Consequently, routing tables can be highly reduced (one
entry per network instead of one entry per host).
- Friendly addressing (DNS), introduced to help users remembering (or even
guessing) the name of a host. Whereas the previous addressings were digital,
DNS is alpha-digital. In other words, DNS addresses look like understandable
names. They are built through the hierarchical concatenation of different
domains and a hostname.
Note that the two first addressings are mandatory for Internet communications.
IP addresses are used to communicate between networks. Inside local networks,
they are converted to MAC adresses (thanks to ARP for IPv4).