Introduzione al Networking Versione 1.2 febbraio 07 Definizione di rete: una serie di computer e/o dispositivi collegati insieme al fine di condividere delle risorse e dei dati Rete casalinga • Poter utilizzare risorse di altri PC, divertimento (net game), condividere una connessione ad internet • Connessione tramite Hub • Velocità 10/100Mbps Rete aziendale • Esigenze di backup • Condivisione di periferiche “pregiate” • Connessione ad Internet veloce e “sicura” • Interconnessioni tramite switch e router • Velocità 100Mbps/1Gbps Rete PAN • Collegamento fonia, palmare, notebook • Connessione ad Internet per servizi mail • Interconnessioni IrDA, Bluetooth • Velocità 2Mbits ISP • • • • Server Web Servizi dial-up Gestione della banda Internet Sicurezza e ridondanza dei servizi • Intranet / Internet • Velocità Gbps Quello che serve… • • • • • Due Pc (almeno) NIC su ogni PC Mezzo trasmissivo (cavo) Hub o Router Software di rete (protocolli di trasmissione e tools di configurazione) Scheda di rete • Slot ISA, PCI, Integrata, PCMCIA • Transfer rate 10/100Mbps • MAC address a 48 bit (6 byte) Cablaggio • Cavo coassiale: obsoleto • Doppino (10BaseT): più diffuso; Categoria 3 -> utilizzato dalle linee telefoniche (4 fili) Categoria 5(e) -> utilizzato per reti dati (dati/voce, 8 fili) UTP obsoleto (Unshielded Twisted Pair) • Wireless 802.11b 802.11g • Fibre ottiche: connessione tra grandi reti, ottima affidabilità e velocità Cavo (RJ-45) • Standard: PC <-> Hub • Cross: PC <-> PC Note: 10BaseT ->4 pin su 8 100BaseT ->8 pin su 8 • Console: porta COM <-> router HUB • Collega più terminali sullo stesso segmento di rete • Condivisione della banda (velocità) • Propaga il segnale a tutti i terminali connessi (Se user1 utilizza 5% di una Fast Ethernet 100Mbps, altri usa 95Mbps) (sarà il PC ad accettare o meno il pacchetto) Switch • Banda dedicata, (switch 10Mbps, ogni utente 10Mbps) • “Segmenti” di rete separati per ogni porta • Propagazione del segnale (pacchetto) solo al destinatario • Sicurezza: una porta aperta tra source e destination Router • connette due (o più) reti trasferendo solo i pacchetti di un tipo di protocollo di rete determinato (TCP/IP, IPX/SPX, ecc.), indipendentemente dal tipo di reti fisiche connesse effettivamente. • connette reti separate che hanno schemi di indirizzamento differenti, ma che utilizzano lo stesso tipo di protocollo di rete (al terzo livello ISO/OSI) • Utilizza una tabella per l'instradamento dei pacchetti attraverso le reti che connette Pacchetti •I dati viaggiano nella rete in forma di pacchetti •I dati possono essere suddivisi e aggregati in modi differenti (in base alle esigenze di trasmissione) • Il confezionamento e le dimensioni dei pacchetti dipendono dal tipo di rete fisica utilizzata. Formato dei pacchetti • IP: Header 5 o 6 words Body (payload) Protocol (TCP, UDP) Sorce Add, Dest Add • TCP: Source e Dest Port (80, 23, 8080, 21) Sequence e Acknowledgment num Windows(buffer R/W) SYN: sincronizza seq num start conn ACK: convalida ack num FIN: termine invio dati mittente RST: resetta e chiude la connessione Protocolli •I pacchetti di dati vengono trasmessi e ricevuti in base a delle regole definite da un protocollo di comunicazione •Protocollo non connesso:non fornisce il mezzo per determinare se il messaggio è giunto o meno a destinazione •Protocollo connesso:prevede la conferma dell'invio di un messaggio, la ritrasmissione in caso di errore e la ricomposizione dell'ordine dei pacchetti (solo destinatario) Modello ISO-OSI • Problema complesso che in passato è stato alla base delle maggiori incompatibilità tra i vari sistemi (differenze legate all'hardware) • Il modello OSI (Open system interconnection), diventato parte degli standard ISO scompone la gestione della rete in livelli, o strati (layer) • Non definisce uno standard tecnologico, ma un riferimento comune ai concetti che riguardano le reti. (international Standard Organization), Modello ISO-OSI Livello 7 6 5 4 Definizione Descrizione Applicazione Interfaccia di comunicazione con i programmi (Application program interface). Presentazione Formattazione e trasformazione dei dati a vario titolo, compresa la cifratura e decifratura. Sessione Instaurazione, mantenimento e conclusione delle sessioni di comunicazione. Trasporto 3 Rete Invio e ricezione di dati in modo da controllare e, possibilmente, correggere gli errori. Definizione dei pacchetti, dell'indirizzamento e dell'instradamento in modo astratto rispetto al tipo fisico di comunicazione. 2 1 Collegamento dati Definizione delle trame (frame) e dell'indirizzamento in funzione del tipo fisico di comunicazione. Fisico Trasmissione dei dati lungo il supporto fisico di comunicazione. Livello 1 - Fisico •Per avere connessione tra nodi, è necessario un supporto fisico, composto solitamente da un cavo e da interfacce di comunicazione. •La connessione tipica in una rete locale è implementata utilizzando hardware Ethernet. •I cavi e le schede Ethernet appartengono a questo primo livello. Livello 2 – Trasporto (Dati) •Nell'hardware Ethernet, ogni scheda ha un proprio indirizzo univoco (MAC address stabilito dal fabbricante) composto da 48 bit e rappresentato solitamente in forma esadecimale 00:A0:24:77:49:97 Livello 3 - Rete •Protocollo per comunicare indipendentemente dal supporto fisico utilizzato, astraendo il modo di inviare blocchi di dati, l'indirizzamento di questi e il loro instradamento. •Per quanto riguarda il TCP/IP, il livello del protocollo IP si occupa di questo compito. •Se un pacchetto è più grande della dimensione massima trasmissibile in un tipo di rete fisica utilizzata, viene scomposto in segmenti più piccoli e ricombinati correttamente alla destinazione. Livello 4 - Trasporto •Protocolli di comunicazione che si occupano di correggere gli errori e di prevenire intasamenti della rete. •TCP (Transmission control protocol):scomposizione e ricomposizione dei dati; verifica e riordino dei dati all'arrivo; ritrasmissione dei pacchetti perduti o errati; ricomposizione dei dati finali. •UDP (User datagram protocol):protocollo non connesso, non esegue alcun controllo(DNS). •Percorso di un pacchetto: origine (numero IP e porta) destinazione (numero IP e porta relativa) Livello 5 - Sessione •Servizi di rete (file system sharing, email, FTP, ecc.) con proprio protocollo, porte di servizio e meccanismo di trasporto •Utilizzo consigliato delle stesse porte e stessi tipi di trasporto per i nodi che intendono comunicare • servizio www (HTTP): porta 80 per comunicare protocollo di trasporto TCP •Comunicazione livello 5 -> sessione. (apertura o termine di sessione) Livello 6 - Presentazione •Librerie (funzioni) in grado di gestire eventuali conversioni dei dati tra la sessione di comunicazione e il livello successivo. •Uniformità dei dati inviati dal livello precedente, indipendentemente dalle caratteristiche fisiche delle macchine che li elaborano. Livello 7 - Applicazione •Utilizzazione delle risorse di rete. • All’utente risultano del tutto trasparenti i livelli precedenti Modello ISO-OSI abbinato al TCP/IP Livello ISO-OSI TCP(IP 7 Applicazione 6 Presentazione 5 Sessione Applicazione con il suo protocollo (FTP, HTTP, SMTP, Telnet, …) Protocolli TCP, UDP e 4 Trasporto ICMP 3 Rete Protocollo IP 2 Collegamento dati 1 Fisico Protocollo della rete fisica Protocollo TCP/IP •Rappresenta un sistema di protocolli di comunicazione basati su IP •Normalmente utilizzato negli ambienti Unix •Il protocollo IP si colloca al terzo livello ISO-OSI •TCP si colloca al di sopra di questo e utilizza IP al livello inferiore IPV4 •Implementa una comunicazione indipendente dal supporto fisico utilizzato, astraendo il modo di inviare blocchi di dati, l'indirizzamento di questi e il loro instradamento •Implementa una rete formata da nodi (host) identificati tramite un indirizzo •L’indirizzo è una sequenza di 32 bit, suddivisi in quattro gruppi di 8 bit, separati da un punto, in base 10 (Notazione Decimale Puntata) IPV4 00000001.00000010.00000011.00000100 1.2.3.4 •Un indirizzo è formato da due parti: l'indirizzo di rete e l'indirizzo del nodo particolare •La prima parte del numero (prefisso) definisce la zona (distretto telefonico) •La seconda parte identifica l'apparecchio telefonico specifico di quella zona Indirizzo di rete e broadcast 00000001.00000010.00000011.00000000 Indirizzo di rete 00000001.00000010.00000011.11111111 Indirizzo di broadcast 00000001.00000010.00000011.00000100 Indirizzo di rete nodo(host) Maschera di rete •Meccanismo utilizzato per distinguere la parte dell'indirizzo che identifica la rete •E’un indirizzo abbinato all'indirizzo da analizzare con l'operatore booleano AND, per filtrare la parte di bit che interessano Maschera di rete 00000001.00000010.00000011.00000100 nodo 11111111.11111111.11111111.00000000 maschera di rete 00000001.00000010.00000011.00000000 indirizzo di rete 1. 2. 3. 4 255.255.255. 0 1. 2. 3. 0 nodo netmask rete Classi di indirizzi Classe A Primo bit a zero, 7 bit per l'indirizzo di rete, 24 bit per i nodi. (127r 16.777.214h) 0rrrrrrr.hhhhhhhh.hhhhhhhh.hhhhhhhh Appartengono a questa classe gli indirizzi compresi tra 1.___.___.___ e 126.___.___.___. Classe B Primo bit a uno e il secondo a zero, 14 bit per l'indirizzo di rete, 16 bit per i nodi. (16.384r 65.534h) 10rrrrrr.rrrrrrrr.hhhhhhhh.hhhhhhhh Appartengono a questa classe gli indirizzi compresi tra 128.1.___.___ e 191.254.___.___. Classe C Primo e il secondo bit a uno, terzo bit a zero, 21 bit per l'indirizzo di rete, 8 bit per i nodi. (2.097.152r 254h) 110rrrrr.rrrrrrrr.rrrrrrrr.hhhhhhhh Appartengono a questa classe gli indirizzi compresi tra 192.0.1.___ e 223.255.254.___. Indirizzi speciali Classe D appartengono a questa classe gli indirizzi compresi tra 224.___.___.___ e 239.___.___.___. Classe E Appartengono a questa classe gli indirizzi compresi tra 240.___.___.___ e 247.___.___.___. 127.*.*.* indirizzi che identificano una rete virtuale interna al nodo stesso All'indirizzo 127.0.0.1 corrisponde una interfaccia immaginaria Ogni nodo utilizza questo indirizzo per riferirsi a se stesso e non “disturbare” la rete Indirizzi riservati per reti private •Permettono di rendere inaccessibili i nodi della propria rete locale alla rete globale Internet •Si possono utilizzare questi indirizzi per configurare una rete locale classe A -> da 10.0.0.0 a 10.255.255.255 classe B -> da 172.16.0.0 a 172.31.255.255 classe C -> da 192.168.0.0 a 192.168.255.255 Configurazione step1 • Windows: Risorse di rete -> Proprietà -> Connessione alla rete locale (LAN) • Linux: DrakeConf, YAST, ifconfig • Il PC così configurato accede ad Internet (modem) Configurazione step2 • Installare, se non presente, il protocollo TCP/IP • Modificare la configurazione IP tramite Proprietà Configurazione step3 • Inserire l’indirizzo IP • Compilare la SubnetMask • Impostare il Gateway • Specificare uno, o più, server DNS Configurazione dei clients Ripetere la procedura modificando: •Indirizzo IP •Gateway -> utilizzare indirizzo IP del PC collegato ad Internet •Server DNS -> utilizzare un indirizzo IP fornito dall’ISP o indirizzo IP del PC collegato ad Internet Strumenti per la dignostica •Ifconfig /all -> visualizza le informazioni relative alla scheda •Ping x.x.x.x -> permette di inviare una richiesta di eco a un indirizzo, utilizzando il protocollo ICMP •Tracert -> visualizza il percorso utilizzato effettivamente dai pacchetti per raggiungere una destinazione •Browser Configurazione Router ADSL •Interfaccia Telnet o Web •Indirizzo IP (statico se fornito dall’ISP) •Gateway -> utilizzare indirizzo IP assegnato precedentemente •Server DNS -> utilizzare un indirizzo IP fornito dall’ISP o dal NIC (Network Information Center) •Funzionalità NAT e firewalling NAT •Network address translation, tecnica con la quale sostituire gli indirizzi IP reali con altri indirizzi. •NAT è un metodo che consente alle macchine di una rete privata di comunincare con le altre macchine su internet. •Possibilità di riutilizzare dinamicamente gli indirizzi IP riservati alle reti private, permettendo ugualmente a tali reti di accedere all'esterno, pur non essendo questi univoci a livello globale. •Possibilità di gestire un numero ristretto di indirizzi IP univoci, da abbinare dinamicamente a degli indirizzi IP locali privati. •NAT è eseguito sul router che collega la rete privata alla rete pubblica (internet), rimpiazza la coppia indirizzo IP , porta in un altra coppia indirizzo IP , porta . NAT NAT (Accenni) In base alle richieste provenienti dalla rete interna, è possibile abbinare temporaneamente un indirizzo IP univoco a un indirizzo IP privato interno. Webografia http://www.informaticalibera.it/a2/HTML/ http://www.linux-ip.net http://tlpd.org/HOWTO/Net-HOWTO/