Routing
O să considerăm acum următorul scenariu. În marile capitale ale Europei avem mai multe dispozitive. De exemplu, în Londra, avem 4 dispozitive conectate prin Ethernet (3 calculatoare și un dispozitiv pe care îl vom numi router). La fel și în București. Dispozitivele numite “router” sunt conectate printr-un protocol de level 2 de tip Point-to-Point.

Vrem să trimitem un cadru de la Host A, în Londra, la
Host B, în București. Dacă Host A, trimite un cadru de nivel 2, în acest
caz Ethernet cu adresa destinație MAC B, acesta nu ar fi considerat de
niciunul dintre dispozitive pentru că nimeni din Londra nu are aceastra adresa
MAC. Dacă în schimb, am modifică aceste dispozitive numite routere să știe unde
se află fiecare adresa MAC din toată europa, cel din Londra ar primi un cadru Ethernet
de la Host A cu destinația MAC B și ar trimite conținutul acestuia către Paris
folosind protocolul de tip PPP dintre acestea. Totuși, între Londra și Paris
este o conexiune de tip PPP, destinația se pierde între aceste conexiuni
deoarce protocoalele de tip PPP nu folosesc o destinație.
Avem nevoie de un protocol peste nivelul DataLink care să se ocupe cu identificarea și transmisia între ceea ce vom numi de acum rețele (e.g. rețeaua din București). În acest scop, a fost dezvoltat protocolul IP Protocol (IP) de nivel network. Astfel, o datagramă IP va fi encapsulata atât în protocolul Ethernet cât și în PPP, și routerele se vor ocupa de transmisie.