We exposed in the previous lesson the different
coexisting/complementary ways of addressing a host over the Internet
network. In this lesson, we will see how this addresses are exploited
to transmit data between a couple of distant hosts.
There is three kind of addresses: physical (MAC),
logical (IP) and human-friendly (DNS). To exchange data packets, the
two firsts are mandatory. The third one is only a way to help users'
memory. Physical addresses are used only at both end networks. Between
them, IP addresses are used by intermediary nodes (routers) to transmit
correctly data. This process is called routing.
Internet routing can be defined as the determination of
the best next hop (router belonging to the same network) to forward
data optimally to its destination. To achieve that, all Internet
routing protocols use routing tables, containing entries giving the
best next hop for different IP addresses. When receiving a packet, the
router extracts the destination IP address, look for it in its table
and forward the packet to the corresponding hop. If the destination is
not in the table, the packet is sent to a default hop, called the
default gateway. The main objective of routing protocols is to maintain
these tables up to date.
But routing is not as simple as that. Internet is a very
huge network, covering all the world. It is managed by a plethora of
different authorities, with diverging policies sometimes. For this
reason, Internet has been split in Autonomous Systems (AS),
corresponding to connected networks belonging to the same
administrative authority. Consequently, routing has been also split in
two categories: internal routing (inside AS) and external routing