Livello di rete
# Livello di rete

Modello OSI :

| 7. | Livello di applicazione |
| - | - |
| 6. | Livello di presentazione |
| 5. | Livello di sessione |
| 4. | Livello di trasporto |
| 3. | Livello di rete |
| 2. | Livello di collegamento dati Sottolivello LLC Sottolivello MAC |
| 1. | Livello fisico |

In telecomunicazioni e informatica nell'ambito delle reti di calcolatori il livello rete (network layer) è il livello 3 della pila ISO/OSI. Questo livello riceve segmenti dal soprastante livello di trasporto e forma pacchetti che vengono passati al sottostante Livello datalink.

Il compito del livello di rete è la trasmissione logica di pacchetti tra due host arbitrari, che in generale non sono direttamente connessi (ovvero non hanno un collegamento diretto tra di loro), cioè in sostanza si occupa di indirizzamento e instradamento verso la giusta destinazione attraverso il percorso di rete più appropriato. Nel modello ISO/OSI, il livello di rete è l'ultimo livello presente nei commutatori della rete ovvero nei nodi interni, mentre i livelli architetturali superiori sono presenti solo nei nodi terminali.

## Funzioni del livello di rete

* inoltro (forwarding), ovvero ricevere un pacchetto su una porta, immagazzinarlo e ritrasmetterlo su un'altra. Questa funzione è presente in tutti i nodi della rete e può comportare l'utilizzo di protocolli di livello collegamento differenti;
* frammentazione e riassemblaggio: se un pacchetto ricevuto ha una dimensione eccessiva per la rete su cui deve essere trasmesso, il livello di rete lo divide in frammenti e, in maniera complementare, si occupa di riassemblare i frammenti ricevuti al momento della consegna;
* instradamento (routing), ovvero determinare il percorso ideale per la trasmissione dei dati attraverso la rete a partire dall'indirizzo IP del destinatario. Nella maggior parte dei casi, questa funzione viene svolta dinamicamente tramite appositi algoritmi, che utilizzano le informazioni provenienti dai protocolli di routing sulle condizioni della rete, le tabelle di instradamento, la priorità del servizio e altri elementi secondari;
* alcuni protocolli di rete forniscono un servizio di gestione delle connessioni (x.25, Frame Relay, Asynchronous Transfer Mode), ovvero richiedono che venga stabilito un canale di comunicazione fisso e dedicato prima che due host possano iniziare a scambiarsi dati; altri protocolli invece trasportano semplicemente i datagrammi a destinazione (IP, IPX) senza connessione. I protocolli orientati alla connessione possono offrire garanzie di consegna in ordine dei pacchetti, mentre questo non avviene normalmente nei protocolli senza connessione;
* funzioni talvolta presenti nel livello di rete sono il controllo della congestione o garanzie di qualità di servizio, tipicamente basate sulla prenotazione delle risorse su tutti i nodi della rete;
* nelle reti geografiche (WAN o MAN) può venire gestita la tariffazione, calcolata sulla base dei tempi di connessione e/o di altri parametri.

## Livello rete in IP

Nel modello TCP/IP, il terzo livello viene detto livello internet oppure livello di internetworking, in quanto interconnette reti eterogenee, che possono essere basate su protocolli di livello collegamento (ad esempio ethernet, PPP) o su protocolli di rete (ad esempio Frame Relay, Asynchronous Transfer Mode), per realizzare un'unica rete in modo trasparente agli utilizzatori. La forza di IP sta proprio in questo agnosticismo rispetto al livello di rete, che permette di usare o riusare tecnologie già disponibili, e di adattarsi con naturalezza a nuove tecnologie.

Osservando una rete IP costruita con tecnologie eterogenee, si può notare che alcuni nodi della rete eseguono IP (e sono detti router); altri nodi instradano pacchetti IP usando altre tecnologie di rete (che stanno sotto IP nello stack dei protocolli). Questi nodi sono normalmente detti switch o commutatori, anche se il termine per antonomasia indica specificamente lo switch ethernet.

IP determina il miglior cammino (detto routing ovvero instradamento) per l'inoltro dei pacchetti, attraverso la consultazione delle tabelle di instradamento. Tali tabelle possono essere di tipo statico (realizzate manualmente dai gestori della rete) o dinamico (composte con l'utilizzo di protocolli di routing tipo l'OSPF, il RIP o il BGP che servono a popolare tali tabelle scambiando tra i vari apparati le informazioni sulle rotte conosciute).

