La navigazione è data dagli argomenti elencati sopra. Consiglio la lettura del paragrafo: introduzione e Servizi offerti dal livello di collegamneto, per poi passare alla navigazione (argomenti elencati sopra) e consultarli nell'ordine in cui sono scritti e linkate le pagine degli argomenti. Dopo aver letto tutti gli argomenti del capitolo tornate su questa pagina per leggere il paragrafo Retrospettiva: cronaca di una richiesta di una pagina web per mettere insieme tutto ciò che è stato affrontato dai capitoli 1 a 6.
Ciò su cui porremo la nostra attenzione in questo capitolo sono i link o collegamenti. Il nucleo della rete è una maglia di commutatori di pacchetti (router) e collegamenti (link) che interconnettono i sistemi periferici di internet. Le applicazioni si scambiano messaggi di vario genere e dimensione, la sorgente suddivide tali messaggi in pacchetti, dopo di che essi viaggiano da un router all'altro attraverso dei link.
Con link ci riferiamo ai collegamenti tracciati in azzurro nell'immagine sopra.
Ci sono due tipi di collegamento:
Terminologia
A questo livello di internet non viene fatta nessuna differenza tra host o router, essi prendono il nome di nodi.
Canali di comunicazione connettono nodi adiacenti lungo un cammino di comunicazione: collegamenti (link), che possono essere:
Il compito del livello di collegamento è quello di trasferire datagrammi (pacchetti del livello superiore: 3) da un nodo ad un altro fisicamente adiacente usando un singolo collegamento/mezzo fisico.
Quindi un datagramma viene trasferito da un router all'altra utilizzando un solo mezzo, tuttavia, possono essere utilizzati mezzi diversi, per collegamenti diversi.
Nel corso del percorso che ha inizio in A e termina in D, tra i vari nodi vengono utilizzati più protocolli del livello di collegamento. Il punto è che da nodo a nodo viene utilizzato solamente un protocollo.
Come abbiamo appreso nel capitolo 4, il livello di collegamento di un host è implementato nelle line card dei router. Per un dato collegamento, il protocollo del livello di collegamento è realizzato da un adattatore di rete noto anche come scheda di rete (NIC: network interface card). Il cuore della scheda di rete è il controller a livello di collegamento, che è di solito un chip dedicato che implementa molti dei servizi sopra descritti. Quindi il livello di collegamento è implementato in hardware.
Di seguito verrà fatto un riepilogo di come avviene la richiesta di una pagina web a partire dal momento in cui un host si connette alla rete, passando per DHCP, ARP, datagrammi, frame, DNS, ecc. Quello che segue è un riepilogo di tutto ciò che abbiamo visto (compreso il livello di collegamento appena trattato). Suggerisco di tornare a questa sezione solo dopo aver letto e studiato tutto ciò che riguarda il livello di collegamento.
Quando Bob accende il suo laptop e lo collega tramite un cavo ethernet allo switch ethernet della scuola, che a sua volta è connesso al router della scuola, Bob non ha ancora un indirizzo IP e dunque non può effettuare, allo stato delle cose, alcuna richiesta.
Il provider della scuola è un ISP Comcast, tale ISP fornisce il servizio di DNS alla scuola, quindi il server DNS risiede nella rete Comcast, piuttosto che nella rete della scuola.
La prima cosa che il laptop di Bob deve fare è ottenere un indirizzo IP, dunque effettuare una richiesta DHCP per ottenere l'indirizzo e altre informazioni. La richiesta va effettuata al server DHCP che normalmente è installato nel router.
Quando Bob scrive l'URL www.google.com nel suo browser inizia la lunga catena di eventi che alla fine porterà a visualizzare la pagina di Google. Il browser crea una socket TCP che verrà usata per inviare una richiesta HTTP a www.google.com. Il laptop di Bob, per creare la socket, deve conoscere l'indirizzo IP di www.google.com, entra quindi in gioco qui il protocollo DNS che usato per tradurre un nome in IP.
8. Il sistema operativo del laptop di Bob crea un messaggio di DNS query. Il messaggio è posto in un segmento UDP con porta di destinazione 53 (server DNS). Il segmento UDP è posto in un datagramma con IP di destinazione 68.87.71.226 (indirizzo del server DNS che è stato restituito da DHCP ACK al passo 5) e indirizzo IP sorgente 68.85.2.101.
9. Il laptop di Bob quindi inserisce il datagramma contenente il messaggio di richiesta DNS in un frame ethernet che verrà inviato, con indirizzo a livello di collegamento, al gateway della scuola (68.85.2.1), non conosce il MAC di esso, per ottenerlo effettua una richiesta ARP.
10. Il laptop di Bob crea un messaggio di ARP query con IP di destinazione quello del gateway di default, pone il messaggio ARP all'interno di un frame ethernet con indirizzo di destinazione MAC broadcast e lo invia allo switch che lo inoltra a tutti i dispostivi connessi.
11. Il gateway nota che l'IP presente nella richiesta ARP è il suo, allora fornisce il suo MAC al mittente della richiesta ARP. Il gateway prepara una ARP reply che indica che il suo indirizzo MAC 00:22:6B:45:1F:1B corrisponde con l'IP 68.85.2.1. Pone il messaggio di risposta ARP in un frame ethernet con indirizzo di destinazione MAC quello del dispositivo di Bob e invia il frame allo switch che lo consegna al computer di Bob.
12. Il laptop di Bob riceve il frame contenente la risposta ARP ed estrae l'indirizzo MAC del gateway dal messaggio di risposta ARP.
13. Il laptop di Bob può ora indirizzare il frame ethernet contenente l'interrogazione DNS all'indirizzo MAC del gateway. Si noti che il datagramma IP in questo frame ha indirizzo IP di destinazione 68.87.71.226 (server DNS), mentre il frame ha indirizzo di destinazione del router gateway (Consegna indiretta). Il laptop di Bob invia questo frame allo switch che lo consegna al gateway.