TCP/IP Sistemi Classe 5 I protocolli TCP/IP TCP/IP è una famiglia standard di protocolli progettati per reti di grandi dimensioni che utilizzano collegamenti WAN. TCP/IP fu sviluppato nel 1969 dal DARPA (Department of Defense Advanced Research Project Agency), come risultato di un esperimento di condivisione di risorse denominato ARPANET. Lo scopo era quello di creare un protocollo che fosse in grado di assicurare collegamenti di rete per comunicazioni ad alta velocità Standard TCP/IP Stato I protocolli della famiglia (suite) TCP/IP sono di Pubblico Dominio. Vengono pubblicati in una serie di documenti denominata RFC (Request for Comments) e sono disponibili su Internet. Descrizione Required Deve essere implementato su tutti i gateway e gli host basati su TCP/IP Recommended consigliato Elective facoltativo Limited Use Non previsto l’impiego generale Not recommended sconsigliato Architettura di protocolli TCP/IP I protocolli TCP/IP corrispondono ad un modello teorico a quattro livelli (Modello DARPA). • APPLICAZIONE • TRASPORTO • INTERNET • INTERFACCIA DI RETE Ciascuno dei livelli corrisponde a uno o più dei sette livelli del modello OSI. Architettura di protocolli TCP/IP Suite del protocollo TCP/IP OSI Applicazione Presentazione Sessione Trasporto TCP/IP Applicazione Rete Internet ARP Data-Link Fisico Interfaccia di rete Ether net Tel net Trasporto F T P S M T P S N M P DNS RIP TCP UDP IP Token Ring IGMP ICMP Frame Relay ATM Livello Interfaccia di rete I livelli 1 e 2 non vengono specificati: questo fa parte delle specifiche di progetto di DARPA, in quanto TCP/IP doveva essere in grado di appoggiarsi non solo su qualsiasi supporto fisico, ma anche su qualsiasi rete. L’unico compito è quello di fornire il pacchetto del corretto indirizzo di livello 2 del nodo della struttura (LAN, MAN o WAN) con cui collegarsi. Livello Internet Coincide con iI livello rete del modello ISO/OSI ed il principale protocollo implementato in questo livello è il protocollo IP (Internet Protocol),in grado di offrire solo servizi non connessi. Scambia cioè solo pacchetti non numerati e non effettua alcun tipo di controllo né sul flusso né sul contenuto; il suo scopo principale è quello di gestire l’instradamento dei pacchetti stessi Livello Trasporto Il livello di trasporto fornisce servizi di comunicazione per sessioni e datagrammi al livello applicazione. I principali protocolli sono: TCP che fornisce un servizio di comunicazione one-to-one affidabile, orientato alla connessione. Il protocollo TCP consente di stabilire una connessione TCP, di stabilire la sequenza dei pacchetti inviati e di tenerne traccia e ripristinare i pacchetti persi durante la trasmissione; UDP che fornisce un servizio one-to-one o one-to-many per comunicazioni non affidabili senza connessione Livello Applicazione Il livello di applicazione fornisce alle applicazioni la possibilità di accedere ai servizi degli altri livelli e definisce i protocolli che verranno utilizzati dalle applicazioni per lo scambio dei dati. I protocolli più comunemente usati sono: • HTTP (HyperText Transfer Protocol) usato per il trasferimento dei file che compongono le pagine dei siti Web; • FTP (File Transfer Protocol) utilizzato per il trasferimento interattivo di file; • SMTP (Simple Mail Transfer Protocol) utilizzato per il trasferimento dei messaggi di posta elettronica e di eventuali allegati; • Telnet, protocollo di emulazione di terminale utilizzato per l’accesso in remoto a Host di rete Gli indirizzi IP L'indirizzamento IP permette di identificare ogni host all'interno di una rete TCP/IP. Grazie all'utilizzo delle classi di indirizzi ed al subnetting è possibile organizzare e gestire in modo più efficiente il proprio network. Un indirizzo IP, chiamato anche indirizzo logico, rappresenta un identificativo software per le interfacce di rete, esso viene utilizzato in combinazione con l'indirizzo fisico (MAC), il quale consente di determinare in modo univoco ogni interfaccia di un dispositivo di rete. Struttura di un indirizzo IP Un IP Address è un numero di 32 bit suddiviso in quattro gruppi da 8 bit ciascuno, la forma con la quale viene solitamente rappresentato è detta decimale puntata (Dotted Decimal). Essendo ogni numero rappresentato da 8 bit, può assumere un range di valori da 0 a 255. Utilizzando 32 bit per indirizzo è possibile avere 4.294.967.296 combinazioni di indirizzi differenti. In realtà esistono alcuni indirizzi particolari, di conseguenza non tutti i valori sono disponibili al fine di identificare un host nella rete. Struttura di un indirizzo IP 10011101 11100100 10001111 10011101 NET-ID HOST-ID Classi di Indirizzi IP Per permettere una migliore organizzazione della rete, gli indirizzi disponibili sono stati suddivisi in classi in base alle dimensioni del network da gestire. In questo modo verranno utilizzate le classi più adatte ad alla dimensioni della rete, con conseguente minore “spreco” di ip address. Sono disponibili cinque classi di indirizzi IP, di cui solo le prime tre possono essere utilizzate per assegnare indirizzi agli host. Le classi vengono convenzionalmente denominate: A, B, C, D, E 10011101 11100100 10001111 10011101 Indirizzi di classe A Gli indirizzi di classe A hanno: 8 bit nella porzione NETID 0 0 0 0 0 0 0 1 126 0 1 1 1 1 1 1 1 reti e 24 bit nella porzione HOSTID per cui è possibile indirizzare 224 – 1 = 16.777.215 – 1 (la configurazione tutti ZERO non è permessa) = 16.777.214 hosts. I valori decimali del primo ottetto vanno da 0 a 127 10011101 11100100 10001111 10011101 Indirizzi di classe B Gli indirizzi di classe B hanno: 16 bit nella porzione NETID 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 E’ possibile quindi indirizzare 2(16-2) = 16.384 reti e 16 bit nella porzione HOSTID per cui è possibile indirizzare 216 – 1 = 65.535 – 1 (la configurazione tutti ZERO non è permessa) = 65.534 hosts. I valori decimali del primo ottetto vanno da 128 a 191 10011101 11100100 10001111 10011101 Indirizzi di classe C Gli indirizzi di classe C hanno: 24 bit nella porzione NETID 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 E’ possibile quindi indirizzare 2(24-3) = 2.097.152 reti e 8 bit nella porzione HOSTID per cui è possibile indirizzare 28 – 1 = 255 – 1 (la configurazione tutti ZERO non è permessa) = 254 hosts. I valori decimali del primo ottetto vanno da 192 a 223 Attribuzione degli indirizzi IP E’ possibile attribuire indirizzi IP qualsiasi nell’ambito di una rete locale non connessa ad Internet. Invece, nel caso in cui si preveda di interconnetere la rete ad altre reti basate sullo stesso protocollo o ad Internet, è opportuno procedere all’assegnazione degli indirizzi IP seguendo una politica ben precisa per evitare successivi conflitti. Per ottenere gli indirizzi IP è necessario rivolgersi alle organizzazioni che a livello internazionale, nazionale e locale gestiscono le assegnazioni (InterNIC o IANA) Indirizzi IP privati Con indirizzi IP privati si intendono alcune classi di indirizzi, definite nella RFC 1918, riservate alle reti locali non connesse ad internet allo scopo di ridurre le richieste di indirizzi pubblici. Chiunque può utilizzare questi indirizzi per la propria rete locale, perché i pacchetti relativi a tali reti non vengono instradati dai router internet, e quindi essi non entreranno in conflitto con analoghi indirizzi posti su altre reti locali. Nel caso occorra connettere ad Internet una rete locale che utilizza queste classi indirizzi si deve ricorrere al NATing (Network Address Translation). Tabella degli indirizzi IP privati indirizzo iniziale indirizzo finale classi Numero di indirizzi disponibili 10.0.0.0 10.255.255.255 singola classe A 16.777.216 172.16.0.0 172.31.255.255 16 classi B contigue 1.048.576 192.168.0.0 192.168.255.255 256 classi C contigue 65.536 Le sottoreti In una rete, come quelle di classe A e B, in cui il numero di Hosts è teoricamente elevato e quindi difficilmente implementabile senza utilizzare dei routers, si è pensato di adottare il metodo di indirizzamento di sottorete per poter assegnare gruppi di indirizzi a segmenti di rete come se queste ultime fossero reti distinte. In altre parole il metodo di indirizzamento di sottorete consiste nel “prendere in prestito” alcuni bit della HOSTID da trasferire sulla NETID. Maschera di sottorete 172.16.0.0 I.P Maschera 10101100 00010000 00000000 00000000 11111111 11111111 11100000 00000000 255.255.224.0 Bit 1 nella maschera Bit corrispondente nell’IP appartiene al NETID Bit 0 nella maschera Bit corrispondente nell’IP appartiene al HOSTID Indirizzi di sottorete Dall’esempio precedente risulta quindi possibile determinare i seguenti sei indirizzi di sottorete: 10101100 10101100 10101100 10101100 10101100 10101100 00010000 00010000 00010000 00010000 00010000 00010000 00100000 01000000 01100000 10000000 10100000 11000000 Sono esclusi gli indirizzi 000 e 111 00000000 00000000 00000000 00000000 00000000 00000000 Valori ammessi per indirizzi di sottorete Sempre dall’esempio precedente risulta quindi che i possibili indirizzi IP determinati con l’utilizzo della maschera utilizzata sono: Da 172. 16. 32. 1 a 172. 16. 63. 254 10101100 00010000 00100000 00000001 10101100 00010000 00111111 11111110 10101100 00010000 11000000 00000001 Da 172. 16. 192. 1 a 172. 16. 223. 254 10101100 00010000 11011111 11111110 Esempio 140.35.1.2 140.35.2.2 140.35.1.3 140.35.2.1 140.35.1.1 140.35.1.4 140.35.2.4 140.35.3.4 140.35.3.1 140.35.3.3 140.35.2.3 140.35.3.2