RETI DI CALCOLATORI http://staff.polito.it/bartolomeo.mont rucchio/Reti_Scano/ Scano di Montiferro – Reti di Calcolatori 1 Indice degli argomenti • Cenni storici • L’architettura di rete TCP/IP • I livelli 1 e 2 • Il livello 3 –La gerarchia in TCP/IP –Il protocollo IP –L’indirizzamento IP Scano di Montiferro – Reti di Calcolatori 2 Cenni Storici • Nella prima metà degli anni ‘70 la DARPA (Defence Advanced Research Project Agency) dimostra interesse per la realizzazione di una rete: – a commutazione di pacchetto – tra elaboratori eterogenei – per le istituzioni di ricerca degli USA • DARPA finanzia l’Università di Stanford e la BBN (Bolt, Beraken e Newman) Scano di Montiferro – Reti di Calcolatori 3 Cenni Storici • Verso la fine degli anni ‘70 si completa la realizzazione dell’Internet Protocol Suite, di cui i due principali protocolli sono: – IP: Internet Protocol – TCP: Transmission Control Protocol • Da cui il nome TCP/IP usato per questa architettura di rete • Nasce la rete Arpanet, prima rete della ricerca mondiale che evolve e diventa Internet Scano di Montiferro – Reti di Calcolatori 4 Internet • Usa i protocolli TCP/IP • La più grande rete di calcolatori al mondo • È in realtà una “rete di reti” – collega 60.000 reti – 20 milioni di calcolatori • Ha un tasso di crescita elevatissimo – Una nuova rete collegata ogni 30 minuti – Il numero di calcolatori connessi cresce del 5% al mese Dati inizio 1994 Scano di Montiferro – Reti di Calcolatori 5 L’architettura TCP/IP • Comprende anche molti altri protocolli, quali – UDP (User Datagram Protocol) – NFS (Network File System) • È di dominio pubblico • Realizzata da tutti i costruttori di calcolatori • Molto spesso è l’unica architettura di rete fornita • Standardizzata con dei documenti detti RFC (Request For Comment) Scano di Montiferro – Reti di Calcolatori 6 L’Architettura di rete TCP/IP Telnet Application FTP Presentation NFS SMTP Session RPC SNMP Transport TCP e UDP ICMP Network IP Protocolli di routing Arp e Rarp Data Link Physical OSI Scano di Montiferro – Reti di Calcolatori Non Specificati Internet Protocol Suite 7 I livelli 1 e 2 Telnet Application FTP Presentation NFS SMTP Session RPC SNMP Transport TCP e UDP ICMP Network IP Protocolli di routing Arp e Rarp Data Link Physical OSI Scano di Montiferro – Reti di Calcolatori Non Specificati Internet Protocol Suite 8 Sotto l’IP - I livelli 1 e 2 • L’architettura TCP/IP è concepita come un mezzo per fare internetworking tra reti (locali o geografiche) • È in grado di operare su tutte le reti: – Ethernet, token-ring, FDDI – ATM, Frame Relay – SLIP, PPP, Dialup • Esistono realizzazioni di TCP/IP anche per reti non standard Scano di Montiferro – Reti di Calcolatori 9 Gerarchia Rete 1 H4 R1 Rete 7 R4 Ethernet X.25 Rete CDN 9 R3 R2 H1 FDDI 802.3 R5 Rete 3 Scano di Montiferro – Reti di Calcolatori H2 H3 Rete 6 10 L’IP: Internet Protocol Telnet Application FTP Presentation NFS SMTP Session RPC SNMP Transport TCP e UDP ICMP Network IP Protocolli di routing Arp e Rarp Data Link Physical OSI Scano di Montiferro – Reti di Calcolatori Non Specificati Internet Protocol Suite 11 IP:Internet Protocol • È il livello Network di TCP/IP • Offre un servizio non connesso • Semplice protocollo di tipo Datagram • Un protocollo datato ... • ... ma non obsoleto Scano di Montiferro – Reti di Calcolatori 12 0 Formato del pacchetto IP 4 8 16 19 24 Version HLEN Service Type Identification Time To Live 31 Total Length Flags Protocol Fragment Offset Header Checksum Source IP Address Destination IP Address Options Scano di Montiferro – Reti di Calcolatori PAD 13 Indirizzi IP • Sono ampi 32 bit (4 byte) • Si scrivono come 4 numeri decimali separati dal carattere “.” • Ogni numero rappresenta il contenuto di un byte ed è quindi compreso tra 0 e 255 • Esempi – 131.190.0.2 – 1.1.2.17 – 200.70.27.33 Scano di Montiferro – Reti di Calcolatori 14 Indirizzamento 0 1 0 7 8 31 Network Host Classe A 0 1 2 1 0 15 16 Network 31 Host Classe B 0 1 2 3 1 1 0 31 23 24 Network Host Classe C Scano di Montiferro – Reti di Calcolatori 15 Classe A • Campo rete – 7 bit – max 128 reti – valori compresi tra 0 e 127 • Campo host – 24 bit – max 16M host 0 1 0 7 8 Network Scano di Montiferro – Reti di Calcolatori 31 Host 16 Classe B • Campo rete – 14 bit – max 16K reti – valori compresi tra 128 e 191 • Campo host – 16 bit – max 64K host 0 1 2 1 0 15 16 Network Scano di Montiferro – Reti di Calcolatori 31 Host 17 Classe C • Campo rete – 21 bit – max 2M reti – valori compresi tra 192 e 223 • Campo host – 8 bit – max 256 host 0 1 2 3 1 1 0 31 23 24 Network Scano di Montiferro – Reti di Calcolatori Host 18 Classi D ed E 0 1 2 3 31 1 1 1 0 Multicast Address Classe D 0 1 2 3 1 1 11 31 Reserved for Future Use Classe E Scano di Montiferro – Reti di Calcolatori 19 Domande • • • • • • Che cos’è la rete Internet? Qual è il suo rapporto con TCP/IP? Cosa significa TCP? Cosa significa IP? Su quali reti di livello 2 può operare IP? Quali sono le caratteristiche principali del protocollo IP? • Come è organizzato un indirizzo IP? Scano di Montiferro – Reti di Calcolatori 20 Indice degli argomenti • Il livello 3 –Subnet –Indirizzamento –ICMP e ARP/RARP • Protocolli di routing –Autonomous System –IGP ed EGP Scano di Montiferro – Reti di Calcolatori 21 Subnetting Indirizzo di classe B prima del subnetting 1 0 Network Host Indirizzo di classe B dopo il subnetting 1 0 Network Scano di Montiferro – Reti di Calcolatori Subnet Host 22 Reti logiche e fisiche 11.2.0.0 11.2.0.2 11.2.0.1 11.2.0.254 Router 11.1.0.0 11.1.0.253 11.1.0.3 11.1.0.4 Bridge 11.1.0.0 11.1.0.1 Scano di Montiferro – Reti di Calcolatori 11.1.0.2 23 Netmask • Parametro che specifica il subnetting – bit a 1 in corrispondenza dei campi network e subnetwork – bit a 0 in corrispondenza del campo host • Esempio: si supponga di voler partizionare una rete di classe B in 16 subnet da 4096 host – Netmask 11111111 11111111 11110000 00000000 – Netmask esadecimale ff ff f0 00 – Netmask decimale 255.255.240.0 Scano di Montiferro – Reti di Calcolatori 24 Subnet e reti fisiche • IP assume una corrispondenza biunivoca tra reti fisiche e subnet: – routing implicito all’interno di una subnet – realizzazioni più moderne ammettono più subnet sulla stessa rete fisica – mai più reti fisiche sulla stessa subnet • Il routing tra subnet diverse è esplicito – gestito dai router tramite tabelle di instradamento Scano di Montiferro – Reti di Calcolatori 25 Gerarchia Subnet 1 190.3.1.1 H4 R4 R1 190.3.1.4 190.3.7.1 190.3.1.5 190.3.9.2 Subnet 9 Subnet 7 190.3.9.3 Net: 190.3 Mask: 255.255.255.0 190.3.7.2 R3 R2 H2 190.3.6.8 190.3.6.7 190.3.3.2 H1 FDDI 190.3.3.3 190.3.6.3 R5 190.3.6.2 H3 190.3.3.1 Subnet 3 Scano di Montiferro – Reti di Calcolatori Subnet 6 26 Subnet: instradamento • All’interno della subnet l’instradamento deve essere fornito dalla rete fisica • Corrispondenza tra gli indirizzi di subnet (indirizzi IP) e gli indirizzi di livello 2 gestita da ARP • Indirizzi di livello 2 – Indirizzi MAC sulle LAN Scano di Montiferro – Reti di Calcolatori 27 Default Route • Gli host devono conoscere almeno un router presente sulla loro rete fisica • Ad esempio sull’host H4 –route add default 190.3.1.5 Scano di Montiferro – Reti di Calcolatori 28 Tabelle di Instradamento • L’instradamento tra subnet diverse viene gestito da tabelle di instradamento presenti sui router • Esempio: – tabelle di instradamento del router R5 – 3 subnet non raggiungibili direttamente Subnet di Destinazione 190.3.1.0 190.3.7.0 190.3.9.0 Scano di Montiferro – Reti di Calcolatori Indirizzo del router 190.3.3.2 190.3.3.2 190.3.6.8 29 Domande • Che cosa si indica con il termine subnet? • A cosa serve il parametro Netmask? • Come opera il routing all’interno di una subnet e tra subnet diverse? • A cosa servono i protocolli ARP e RARP? Scano di Montiferro – Reti di Calcolatori 30 Indice degli argomenti • ARP/RARP • ICMP • Protocolli di routing –Autonomous System –IGP e EGP • La gestione dei nomi e degli indirizzi Scano di Montiferro – Reti di Calcolatori 31 ICMP e ARP Application Presentation Session Transport Network Telnet FTP NFS SMTP RPC SNMP TCP e UDP ICMP IP Protocolli di routing ARP e RARP Data Link Physical OSI Scano di Montiferro – Reti di Calcolatori Non Specificati Internet Protocol Suite 32 ARP/RARP • ARP: Address Resolution Protocol • RARP: Reverse ARP • Protocolli in broadcast di tipo sollicitation (si veda la lezione 13 o il capitolo 5 del libro) • ARP – la stazione che vuole scoprire l’indirizzo MAC di un’altra stazione, di cui conosce l’indirizzo di livello 3, invia la richiesta in broadcast di tipo sollicitation – la stazione sollecitata risponde Scano di Montiferro – Reti di Calcolatori 33 ARP Hardware Type HLEN PLEN Protocol Type Operation Sender Hardware Address Sender HW Address Sender IP Address Sender IP Address Target HW Address Target Hardware Address Target IP Address Scano di Montiferro – Reti di Calcolatori 34 ICMP • Internet Control Message Protocol • Verificare lo stato della rete –Echo request ed Echo reply • Riportare anomalie –Destination Unreachable –Time Exceeded for a Datagram –Parameter Problem on a Datagram Scano di Montiferro – Reti di Calcolatori 35 ICMP • Scoprire la netmask –Introdotto nelle ultime versioni • Migliorare il routing –Redirect Scano di Montiferro – Reti di Calcolatori 36 ICMP Valore 0 3 4 5 8 11 12 13 14 15 16 17 18 Tipo di Messaggio Echo Reply Destination Unreachable Source Quence Redirect Echo Request Time Exceeded for a Datagram Parameter Problem on a Datagram Timestamp Request Timestamp Reply Information Request Information Reply Address Mask Request Address Mask Reply Scano di Montiferro – Reti di Calcolatori 37 Protocolli di Routing Telnet Application FTP Presentation NFS SMTP Session RPC SNMP Transport TCP e UDP ICMP Network IP Protocolli di routing Arp e Rarp Data Link Physical OSI Scano di Montiferro – Reti di Calcolatori Non Specificati Internet Protocol Suite 38 Autonomous System I I E E AS 137 AS 66 E: Exterior router I: Interior router Scano di Montiferro – Reti di Calcolatori 39 IGP e EGP • IGP –RIP –IGRP –OSPF • EGP –EGP –BGP Scano di Montiferro – Reti di Calcolatori 40 EGP Core Router AS 1 Core Router AS 2 Scano di Montiferro – Reti di Calcolatori AS 7 Core Router AS N 41 Altro OSPF Autonomous System AS R1 Boundary Router Area 1 H1 Area Border Router Internal R2 Router Area 2 H2 H5 H6 Internal R6 Router R3 Area Border Router R5 Backbone Area FDDI H3 R4 H4 Backbone Router Scano di Montiferro – Reti di Calcolatori 42 Nomi e Indirizzi • Agli indirizzi IP si associano per comodità uno o più nomi • Definizione locale in un file “hosts” – 223.1.2.1 – 223.1.2.2 – 223.1.2.3 – 223.1.2.4 – 223.1.3.2 – 223.1.4.2 alpha beta gamma delta epsilon iota Scano di Montiferro – Reti di Calcolatori mycomputer 43 DNS: Domain Name Server • Il file hosts diviene impraticabile quando la rete IP cresce di dimensione • Si può utilizzare una base di dati distribuita per la gestione dei nomi (DNS) • Non esiste corrispondenza tra domini e reti vm.cnuce.cnr.it • Nomi di tipo gerarchico computer istituto Scano di Montiferro – Reti di Calcolatori ente nazione 44 Domande • • • • A cosa servono i protocolli ARP e RARP? A cosa serve il protocollo ICMP? Che cos’è un Autonomous System? Quali sono i principali protocolli di EGP e IGP? • Come viene mantenuta la corrispondenza tra nomi e indirizzi in TCP/IP? Scano di Montiferro – Reti di Calcolatori 45 Indice degli argomenti • Il protocollo UDP • Il protocollo TCP • Altri protocolli –RPC –XDR Scano di Montiferro – Reti di Calcolatori 46 I protocolli TCP e UDP Telnet Application NFS FTP Presentation XDR SMTP Session RPC SNMP Transport TCP e UDP ICMP Network IP Protocolli di routing Arp e Rarp Data Link Physical OSI Scano di Montiferro – Reti di Calcolatori Non Specificati Internet Protocol Suite 47 TCP e UDP • Due protocolli di trasporto alternativi • Realizzano funzionalità comuni a tutti gli applicativi • Possono operare simultaneamente con molti applicativi diversi, tramite il concetto di porta Scano di Montiferro – Reti di Calcolatori 48 TCP e UDP: Porte • Sono il mezzo con cui un programma client su un elaboratore indirizza un programma server su un altro elaboratore – ad esempio un ftp client che voglia connettersi ad un ftp server lo specifica indicando l’indirizzo IP dell’elaboratore remoto e il numero della porta associata allo ftp server • Gli applicativi principali hanno una Well Known Port, ad esempio: – Telnet è associato alla porta 23 di TCP – SNMP è associato alla porta 161 di UDP Scano di Montiferro – Reti di Calcolatori 49 UDP: User Datagram Protocol • Protocollo di trasporto di tipo non connesso • Aggiunge due funzionalità a quelle di IP: –multiplexing delle informazioni tra le varie applicazioni tramite il concetto di porta –checksum (opzionale) per verificare l’integrità dei dati Scano di Montiferro – Reti di Calcolatori 50 UDP: PDU 0 4 8 16 19 24 31 UDP Source Port UDP Destination Port UDP Message Length UDP Checksum DATA Scano di Montiferro – Reti di Calcolatori 51 UDP: applicabilità • Utile quando: –si opera su rete locale –l’applicazione mette tutti i dati in un singolo pacchetto –non è importante che tutti i pacchetti arrivino a destinazione –l’applicazione gestisce meccanismi di ritrasmissione Scano di Montiferro – Reti di Calcolatori 52 UDP: applicazioni • Le applicazioni principali che utilizzano UDP sono: – NFS (Network File System) – SNMP (Simple Network Management Protocol) – Applicazioni Runix (interrogazioni su tutte le macchine della rete locale) • rwho • ruptime • ... Scano di Montiferro – Reti di Calcolatori 53 TCP: Transmission Control Protocol • Un protocollo di trasporto connesso • Utilizzato da applicativi che richiedono la trasmissione affidabile dell’informazione – telnet – ftp (file transfer protocol) – smtp (simple mail transfer protocol) – rcp (remote copy) • TCP garantisce la consegna del pacchetto, UDP no! Scano di Montiferro – Reti di Calcolatori 54 TCP: caratteristiche • Come UDP ha il concetto di porta • Il TCP di un nodo, quando deve comunicare con il TCP di un altro nodo, crea un circuito virtuale • Al circuito virtuale è associato un protocollo di trasporto – full-duplex – acknowledge – controllo di flusso • TCP richiede più banda e più CPU di UDP Scano di Montiferro – Reti di Calcolatori 55 TCP: caratteristiche • TCP segmenta e riassembla i dati secondo le sue necessità • Il TCP remoto deve fornire un acknowledge dei dati • Protocollo con sliding window, timeout e ritrasmissione Scano di Montiferro – Reti di Calcolatori 56 TCP: Sliding Window • I protocolli a sliding window richiedono di fissare la dimensione della finestra • In TCP la dimensione della finestra è in byte, non in segmenti • Il campo “window” del pacchetto TCP indica quanti byte possono ancora essere trasmessi prima di un ACK Scano di Montiferro – Reti di Calcolatori 57 TCP: PDU 0 4 8 16 Source Port 19 24 32 Destination Port Sequence Number Acknowledgement Number Data Offset Res Control Checksum Options Scano di Montiferro – Reti di Calcolatori Window Urgent Pointer Padding 58 TCP: Urgent Pointer • Indica che nel pacchetto ci sono uno o più byte urgenti • Tipicamente associati ad eventi asincroni: –interrupt Scano di Montiferro – Reti di Calcolatori 59 TCP: Slow Start • Le prime versioni di TCP quando andavano in timeout ritrasmettevano l’intera window • Questo poteva causare gravi congestioni della rete: – Nell’ottobre 1986 Arpanet fu bloccata da una congestione (da 32 kbs a 40 bps) • Per evitare le congestioni venne introdotto l’algoritmo slow-start – Quando si verifica un timeout la window viene reinizializzata al valore minimo e fatta crescere lentamente, per evitare nuove congestioni Scano di Montiferro – Reti di Calcolatori 60 Altri Protocolli Telnet Application NFS FTP Presentation XDR SMTP Session RPC SNMP Transport TCP e UDP ICMP Network IP Protocolli di routing Arp e Rarp Data Link Physical OSI Scano di Montiferro – Reti di Calcolatori Non Specificati Internet Protocol Suite 61 RPC: Remote Procedure Call • Sviluppato da SUN Microsystem • È un paradigma di programmazione distribuita di tipo client-server: – un programma (client) genera una richiesta e un programma (server) gli risponde richiesta Client Server risposta Scano di Montiferro – Reti di Calcolatori 62 RPC: caratteristiche • Imita la chiamata di una procedura locale • Il processo client su una macchina chiama una procedura che è realizzata da un processo server su un’altra macchina, passandogli dei parametri • Il processo server è “dormiente” in attesa di chiamate – viene risvegliato – esegue la procedura – ritorna il risultato al client Scano di Montiferro – Reti di Calcolatori 63 RCP: caratteristiche • Non vengono fatte ipotesi sul modello di concorrenza, client e server possono operare, ad esempio, in modo sincrono o asincrono • Rispetto alle chiamate a procedure locali RPC si differenzia per: – Gestione degli errori – Variabili Globali e “side effect” – Prestazioni – Meccanismi di autenticazione Scano di Montiferro – Reti di Calcolatori 64 RPC: indipendenza dal trasporto • RPC è indipendente dal protocollo di transport • RPC può appoggiarsi su TCP, UDP e altri • RPC non aggiunge affidabilità • L’applicativo deve essere a conoscenza di quale transport è utilizzato sotto RPC Scano di Montiferro – Reti di Calcolatori 65 XDR: eXternal Data Representation • È uno standard per la descrizione e la codifica dei dati • Dati con identica semantica possono essere rappresentati su elaboratori diversi con formati diversi • XDR permette di descrivere formati di dati molto complessi in modo conciso e non ambiguo Scano di Montiferro – Reti di Calcolatori 66 Domande • Quali sono le caratteristiche principali del protocollo TCP? • In cosa differisce UDP da TCP? • Che cos’è RPC? • Quali sono gli scopi di XDR? Scano di Montiferro – Reti di Calcolatori 67 Indice degli argomenti • I programmi applicativi e l’architettura TCP/IP Scano di Montiferro – Reti di Calcolatori 68 Gli applicativi Telnet Application NFS FTP Presentation XDR SMTP Session RPC SNMP Transport TCP e UDP ICMP Network IP Protocolli di routing Arp e Rarp Data Link Physical OSI Scano di Montiferro – Reti di Calcolatori Non Specificati Internet Protocol Suite 69 INTERNET • rete mondiale • più di 2 milioni di nodi (ottobre ’93) • crescita di circa 80% all’anno • protocolli TCP/IP Scano di Montiferro – Reti di Calcolatori 70 Accesso remoto: TELNET C’è il n.1 di “Science” ? Calcola il flusso alare! Scano di Montiferro – Reti di Calcolatori 71 Accesso remoto a file : FTP Chi sei? Antonio! Chi sei? anonymous! Scano di Montiferro – Reti di Calcolatori 72 Posta elettronica (e-mail) • messaggi personali / mailing-list • accesso ad altre risorse (DB, anon-ftp) • veloce (minuti) Scano di Montiferro – Reti di Calcolatori 73 Usenet NEWS • circa 2400 newsgroups mondiali rec.food.recipes comp.unix.ultrix torino.ritrovi Scano di Montiferro – Reti di Calcolatori 74 Sistemi informativi concentrati • ( ARCHIE, WAIS ) domanda risposta server Scano di Montiferro – Reti di Calcolatori client 75 Sistemi informativi distribuiti • ( X500, GOPHER, WWW ) A domanda redirect server client B Scano di Montiferro – Reti di Calcolatori risposta 76 ARCHIE • indice degli anonymous-ftp • aggiornato automaticamente • ricerca per nome Scano di Montiferro – Reti di Calcolatori 77 WAIS (Wide Area Index Search) • ricerca in documenti testuali • standard Z39.50 / ISO SR • risultato ordinato in base al numero di concordanze • ricezione dei documenti Scano di Montiferro – Reti di Calcolatori 78 GOPHER • sistema informativo distribuito • basato su menu • dati: testo, immagini, binari • molto semplice da gestire • basso traffico Scano di Montiferro – Reti di Calcolatori 79 WWW (World Wide Web) • sistema informativo distribuito • dati ipertestuali (link) • grafica, filmati, suono • gestione complessa • alto traffico Scano di Montiferro – Reti di Calcolatori 80 Client multiprotocollo • MOSAIC (X11, MS-windows) –tutto! –solo grafico • LYNX ( VT100 ) –www, gopher, news –solo alfanumerico Scano di Montiferro – Reti di Calcolatori 81 E se ci si perde? • gli ipertesti non sono strutturati • servono dei servizi di indicizzazione (Veronica, GNA) • servono dei “bibliotecari” Scano di Montiferro – Reti di Calcolatori 82 Lavoro di gruppo • “talk” a caratteri • conferenza audio • conferenza video-audio • “lavagna” multiutente Scano di Montiferro – Reti di Calcolatori 83 Altri Protocolli Applicativi • X-Windows • NFS (Network File System) • NTP (Network Time Protocol) • SNMP (Simple Network Management Protocol) Scano di Montiferro – Reti di Calcolatori 84 NSF backbone protocollo ftp telnet nntp smtp irc gopher www marzo ’94 marzo ’93 22.6 13.6 8.5 8.2 2.7 2.5 2.3 25.7 15.1 8.4 7.0 2.0 0.9 0.03 Percentuali di utilizzo Scano di Montiferro – Reti di Calcolatori 85 Domande • Quali sono i principali applicativi disponibili nell’Internet Protocol Suite? Scano di Montiferro – Reti di Calcolatori 86 APPELLI • 13 febbraio 2004 •Durata 1.5 ore •Non è possibile consultare alcun materiale •4 domande per un totale di 30 punti (punteggio variabile) Scano di Montiferro – Reti di Calcolatori 87