Nei due decenni successivi alla loro invenzione, l'eterogeneità delle reti si è ulteriormente ampliata con l'implementazione di Ethernet, Token Ring, Fiber Distributed Data Interface (FDDI), X.25, Frame Relay, Switched Multimegabit Data Service (SMDS), Integrated Services Digital Network (ISDN) e, più recentemente, Asynchronous Transfer Mode (ATM). I protocolli Internet rappresentano l'approccio migliore e collaudato per l'internetworking di questa vasta gamma di tecnologie LAN e WAN.
La suite di protocolli Internet include non solo specifiche di livello inferiore, come TCP (Transmission Control Protocol) e IP (Internet Protocol), ma anche specifiche per applicazioni comuni come la posta elettronica, l'emulazione di terminali e il trasferimento di file. La figura 1 illustra la suite di protocolli TCP/IP in relazione al modello di riferimento OSI. Nella figura 2 vengono illustrati alcuni importanti protocolli Internet e la loro relazione con il modello di riferimento OSI. Per informazioni sul modello di riferimento OSI e sul ruolo di ciascun livello, consultare il documento Internetworking Basics.
I protocolli Internet sono la suite di protocolli multifornitore più implementata attualmente in uso. Almeno una parte della suite di protocolli Internet è supportata da tutti i fornitori di computer.
In questa sezione vengono descritti gli aspetti tecnici di TCP, IP, dei protocolli correlati e gli ambienti in cui tali protocolli operano. Poiché l'obiettivo principale di questo documento è il routing (una funzione di livello 3), la discussione sul TCP (un protocollo di livello 4) sarà relativamente breve.
TCP è un protocollo di trasporto orientato alla connessione che invia i dati come flusso non strutturato di byte. Utilizzando i numeri di sequenza e i messaggi di conferma, il protocollo TCP può fornire a un nodo di invio informazioni di recapito sui pacchetti trasmessi a un nodo di destinazione. In caso di perdita di dati durante il transito dall'origine alla destinazione, il protocollo TCP può ritrasmettere i dati fino al raggiungimento di una condizione di timeout o fino al completamento della consegna. Anche il protocollo TCP è in grado di riconoscere i messaggi duplicati e di eliminarli in modo appropriato. Se il computer di invio trasmette dati troppo velocemente per il computer ricevente, il protocollo TCP può utilizzare meccanismi di controllo del flusso per rallentare il trasferimento dei dati. Il protocollo TCP può inoltre comunicare informazioni di recapito ai protocolli e alle applicazioni di livello superiore che supporta. Tutte queste caratteristiche rendono il protocollo TCP un protocollo di trasporto end-to-end affidabile. Il protocollo TCP è specificato nella RFC 793 .
Figura 1 - Suite protocollo TCP/IP in relazione al modello di riferimento OSIFigura 2 - Protocolli Internet importanti in relazione al modello di riferimento OSI
Per ulteriori informazioni, consultare la sezione TCP di Protocolli Internet.
IP è il protocollo principale di layer 3 nella suite Internet. Oltre al routing tra reti, la rete IP fornisce la segnalazione degli errori, la frammentazione e il riassemblaggio di unità di informazione chiamate datagrammi per la trasmissione su reti con diverse dimensioni massime dell'unità di dati. IP rappresenta il cuore della suite di protocolli Internet.
Nota: se non specificato diversamente, il termine IP nella sezione si riferisce all'IPv4.
Gli indirizzi IP sono numeri univoci a 32 bit assegnati dal Network Information Center. Gli indirizzi univoci a livello globale consentono alle reti IP di comunicare tra loro in qualsiasi parte del mondo.
Un indirizzo IP è diviso in due parti. La prima parte designa l'indirizzo di rete, mentre la seconda l'indirizzo host.
Lo spazio di indirizzi IP è suddiviso in diverse classi di rete. Le reti di classe A sono progettate principalmente per essere utilizzate con poche reti di grandi dimensioni, in quanto forniscono solo 8 bit per il campo dell'indirizzo di rete. Le reti di classe B allocano 16 bit e le reti di classe C 24 bit per il campo dell'indirizzo di rete. Le reti di classe C forniscono solo 8 bit per il campo host, pertanto il numero di host per rete può rappresentare un fattore limitante. In tutti e tre i casi, il bit più a sinistra indica la classe della rete. Gli indirizzi IP sono scritti in formato decimale separato da punti; ad esempio, 34.0.0.1. La Figura 3 mostra i formati di indirizzo delle reti IP di Classe A, B e C.
Figura 3 - Formati indirizzi reti IP di classe A, B e C
Le reti IP possono anche essere suddivise in unità più piccole denominate sottoreti. Le subnet offrono una maggiore flessibilità per l'amministratore di rete. Si supponga, ad esempio, che a una rete sia stato assegnato un indirizzo di classe A e che tutti i nodi della rete utilizzino un indirizzo di classe A. Si supponga inoltre che la rappresentazione decimale puntata dell'indirizzo di questa rete sia 34.0.0.0. Tutti gli zeri nel campo host di un indirizzo specificano l'intera rete. L'amministratore può suddividere la rete utilizzando la subnet. A tale scopo, vengono presi in prestito i bit dalla parte host dell'indirizzo e vengono utilizzati come campo subnet, come illustrato nella Figura 4.
Figura 4 â Bit "In prestito"
Se l'amministratore di rete ha scelto di utilizzare 8 bit di subnet, il numero di subnet viene assegnato al secondo ottetto di un indirizzo IP di classe A. Nell'esempio, l'indirizzo 34.1.0.0 si riferisce alla rete 34, subnet 1; l'indirizzo 34.2.0.0 si riferisce alla rete 34, alla subnet 2 e così via.
Il numero di bit che possono essere presi in prestito per l'indirizzo subnet varia. Per specificare il numero di bit utilizzati per rappresentare la rete e la parte dell'indirizzo relativa alla subnet, IP fornisce subnet mask. Le subnet mask utilizzano lo stesso formato e la stessa tecnica di rappresentazione degli indirizzi IP. Le subnet mask sono presenti in tutti i bit, ad eccezione di quelli che specificano il campo host. Ad esempio, la subnet mask che specifica 8 bit di subnet per l'indirizzo di classe A 34.0.0.0 è 255.255.0.0. La subnet mask che specifica 16 bit di subnet per l'indirizzo di classe A 34.0.0.0 è 255.255.255.0. Entrambe queste subnet mask sono illustrate nella Figura 5. Le subnet mask possono essere passate attraverso una rete su richiesta in modo che i nuovi nodi possano conoscere quanti bit di subnet sono utilizzati sulla rete.
Figura 5 - Maschere di
In genere, tutte le subnet dello stesso numero di rete utilizzano la stessa subnet mask. In altre parole, un gestore della rete sceglierebbe una maschera a 8 bit per tutte le subnet della rete. Questa strategia è facile da gestire sia per gli amministratori di rete che per i protocolli di routing. Tuttavia, questa pratica spreca spazio di indirizzamento in alcune reti. Alcune subnet hanno molti host e altre solo pochi, ma ognuna consuma un numero di subnet intero. Le linee seriali sono l'esempio più estremo, in quanto ciascuna di esse dispone di due soli host che possono essere collegati tramite una subnet della linea seriale.
Con la crescita delle subnet IP, gli amministratori hanno cercato modi per utilizzare il proprio spazio di indirizzi in modo più efficiente. Una delle tecniche che ne sono risultate è la creazione di subnet mask a lunghezza variabile (VLSM). Con VLSM, un amministratore di rete può usare una maschera lunga sulle reti con pochi host e una maschera breve sulle subnet con molti host. Tuttavia, questa tecnica è più complessa della creazione di un'unica dimensione e gli indirizzi devono essere assegnati con attenzione.
Naturalmente, per utilizzare il VLSM, un amministratore di rete deve utilizzare un protocollo di routing che lo supporti. I router Cisco supportano VLSM con Open Shortest Path First (OSPF), Integrated Intermediate System to Intermediate System (IS-IS integrato), Enhanced Interior Gateway Routing Protocol (Enhanced IGRP) e routing statico. Per ulteriori informazioni sull'indirizzamento IP e sulla subnet, fare riferimento a Indirizzamento IP e subnet per nuovi utenti.
Su alcuni supporti, ad esempio le LAN IEEE 802, gli indirizzi IP vengono rilevati in modo dinamico tramite l'utilizzo di altri due membri della suite di protocolli Internet: Protocollo ARP (Address Resolution Protocol) e protocollo RARP (Reverse Address Resolution Protocol). ARP utilizza i messaggi broadcast per determinare l'indirizzo hardware (livello MAC) corrispondente a un particolare indirizzo a livello di rete. La tecnologia ARP è sufficientemente generica da consentire l'utilizzo di reti IP con qualsiasi tipo di meccanismo di accesso ai supporti. RARP utilizza i messaggi broadcast per determinare l'indirizzo a livello di rete associato a un particolare indirizzo hardware. RARP è particolarmente importante per i nodi senza disco, per i quali gli indirizzi a livello di rete in genere sono sconosciuti al momento dell'avvio.
Un "Internet" è un gruppo di reti interconnesse. Internet, d'altro canto, è la raccolta di reti che permette la comunicazione tra la maggior parte degli istituti di ricerca, le università, e molte altre organizzazioni in tutto il mondo. I router di Internet sono organizzati in modo gerarchico. Alcuni router vengono utilizzati per spostare le informazioni attraverso un particolare gruppo di reti sotto la stessa autorità amministrativa e lo stesso controllo. (Tale entità è chiamata sistema autonomo). I router utilizzati per lo scambio di informazioni all'interno dei sistemi autonomi sono chiamati router interni e a tale scopo utilizzano una varietà di protocolli IGP (Internal Gateway Protocol). I router che spostano le informazioni tra sistemi autonomi sono detti router esterni; usano il protocollo EGP (Exterior Gateway Protocol) o BGP (Border Gateway Protocol). La Figura 6 mostra l'architettura Internet.
Figura 6 - Rappresentazione dell'architettura Internet
I protocolli di routing utilizzati con IP sono di natura dinamica. Il routing dinamico richiede che il software nei dispositivi di routing calcoli i percorsi. Gli algoritmi di routing dinamico si adattano alle modifiche della rete e selezionano automaticamente le route migliori. A differenza del routing dinamico, il routing statico richiede che le route vengano stabilite dall'amministratore di rete. Le route statiche non vengono modificate fino a quando non vengono modificate dall'amministratore di rete.
Le tabelle di routing IP sono composte da coppie indirizzo di destinazione/hop successivo. Nella tabella di routing di esempio di un router Cisco la prima voce viene interpretata come "per raggiungere la rete 34.1.0.0 (subnet 1 sulla rete 34), l'arresto successivo è il nodo all'indirizzo 54.34.23.12":
R6-2500# show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route Gateway of last resort is not set 34.0.0.0/16 is subnetted, 1 subnets O 34.1.0.0 [110/65] via 54.34.23.12, 00:00:51, Serial0 54.0.0.0/24 is subnetted, 1 subnets C 54.34.23.0 is directly connected, Serial0 R6-2500#
Come abbiamo visto, il routing IP specifica che i datagrammi IP attraversano la rete interconnessa un router alla volta. L'intero percorso non è noto all'inizio del viaggio. Al contrario, a ogni arresto, l'hop del router successivo viene determinato facendo corrispondere l'indirizzo di destinazione nel datagramma a una voce nella tabella di routing del nodo corrente. Il coinvolgimento di ciascun nodo nel processo di routing consiste solo nell'inoltro di pacchetti basati su informazioni interne. Il protocollo IP non consente la segnalazione degli errori all'origine quando si verificano anomalie di routing. Questa attività è affidata a un altro protocollo InternetICMP (Internet Control Message Protocol).
ICMP esegue una serie di attività all'interno di una rete IP. Oltre al motivo principale per cui è stato creato (la segnalazione degli errori di routing all'origine), ICMP fornisce un metodo per verificare la raggiungibilità del nodo su Internet (i messaggi ICMP Echo e Reply), un metodo per aumentare l'efficienza di routing (il messaggio ICMP Redirect), un metodo per informare le origini che un datagramma ha superato il tempo assegnato per esistere su Internet (il messaggio ICMP Time Exceeded) e altri messaggi utili. Nel complesso, l'ICMP è parte integrante di qualsiasi implementazione IP, in particolare di quelle eseguite nei router. Vedere le informazioni correlate