Corso di sistemi e reti per Informatica IP. Internetworking LAN/WAN



Documenti analoghi
Reti LAN. IZ3MEZ Francesco Canova

SWITCH. 100 Mb/s (UTP cat. 5E) Mb/s SWITCH. (UTP cat. 5E) 100 Mb/s. (UTP cat.

Reti di Calcolatori. Il software

Dispositivi di rete. Ripetitori. Hub

il progetto ieee 802

Networking e Reti IP Multiservizio

Evoluzione della rete Ethernet

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 3 a lezione a.a. 2009/2010 Francesco Fontanella

GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1. Il Repeater 2. L Hub 2. Il Bridge 4. Lo Switch 4. Router 6

TEST DI RETI DI CALCOLATORI I (9400N) anno 1999/2000

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

8 Interconnessione delle reti

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Lo Stack TCP/IP: Le Basi

Apparecchiature di Rete

ARCHITETTURA DI RETE FOLEGNANI ANDREA

Verifica scritta di Sistemi e Reti Classe 5Di

CAPITOLO 1. Introduzione alle reti LAN

Ethernet Truncated Binary Exponential Back-off (TBEB)

Reti di Telecomunicazione Lezione 8

INFOCOM Dept. Antonio Cianfrani. Virtual LAN (VLAN)

Reti di Calcolatori

Introduzione alle Reti Telematiche Centro Multimediale Montiferru

GLI INDIRIZZI DELL INTERNET PROTOCOL (IP ADDRESS) 2. Fondamenti sugli indirizzi dell Internet Protocol 2. Struttura di un indirizzo IP 2

Linux User Group Cremona CORSO RETI

Hardware delle reti LAN

Protocollo IP e collegati

Reti di Calcolatori:

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Sottolivello MAC - Medium Access Protocol

Laboratorio di reti Relazione N 5 Gruppo 9. Vettorato Mattia Mesin Alberto

Fast Ethernet. Caratteristiche generali

Soluzioni verifica parte 4

Elementi di Informatica e Programmazione

Lo scenario: la definizione di Internet

Determinare la grandezza della sottorete

Nelle reti locali il livello 2 dlla pila OSI è suddiviso in: . delimitazione di trama (effettuata dal sottostrato MAC);

Prova di autovalutazione del modulo di Reti di Calcolatori IFTS Docente: Luciano Bononi

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori (a.a. 2010/11)

I COMPONENTI DI UNA RETE

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

PROGRAMMAZIONE MODULARE Disciplina: SISTEMI E RETI Classe: QUINTA A INF SERALE Indirizzo: INFORMATICA

Test di verica per il corso di Reti di Telecomunicazioni

Inizializzazione degli Host. BOOTP e DHCP

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Protocolli di Comunicazione

Elementi di Informatica e Programmazione

COMPLESSO SCOLASTICO INTERNAZIONALE GIOVANNI PAOLO II. Pianificazione di reti IP (subnetting)

Parte II: Reti di calcolatori Lezione 21

Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema. Dal livello A al livello B

Informatica nel concorso per il personale educativo

Wi-Fi, la libertà di navigare in rete senza fili. Introduzione.

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8

Reti e Sistemi per l Automazione MODBUS. Stefano Panzieri Modbus - 1

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC.

Quanto sono i livelli OSI?

Introduzione allo sniffing

Software Servizi Web UOGA

Reiss Romoli 2014 CISCO CERTIFIED NETWORK ASSOCIATE (CCNA) CCNA

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Martedì 15 Novembre 2005

3. Introduzione all'internetworking

Parte II: Reti di calcolatori Lezione 24

Informazione analogica e digitale

INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP FORME DI INDIRIZZI IP CINQUE FORME DI INDIRIZZI IP

ARP (Address Resolution Protocol)

Protocolli di accesso multiplo

IP (Internet Protocol) sta al livello 2 della scala Tcp/Ip o al livello 3 della scala ISO/OSI. Un indirizzo IP identifica in modo logico (non fisico

DA SA Type Data (IP, ARP, etc.) Padding FCS

Reti di calcolatori ed indirizzi IP

ASSEGNAZIONE INDIRIZZI IP

Reti di calcolatori. Lezione del 10 giugno 2004

network subnet host Classe A poche reti di dimensioni molto grandi 127

Modulo 8 Ethernet Switching

Laboratorio di Informatica Corso di laurea in Lingue e Studi interculturali. AA Paola Zamperlin. Internet. Parte prima

PROGRAMMAZIONE DIDATTICA DI SISTEMI Indirizzo: Informatica Progetto Abacus Anno scolastico

Modulo 1.3 Reti e servizi

Reti. Reti. IPv4: concetti fondamentali. arp (address resolution protocol) Architettura a livelli (modello OSI)

Reti e Internetworking

Livello di Rete. Gaia Maselli

Interconnessione di reti

Forme di indirizzamento

PROF. Filippo CAPUANI TCP/IP

Programmazione modulare

GUIDA AL CALCOLO DEI COSTI DELLE ATTIVITA DI RICERCA DOCUMENTALE

Programmazione modulare

NETWORKING: SEMINARIO DI STUDIO 1

Reti locali LAN (Local Area Networks)

ISTITUTO TECNICO INDUSTRIALE STATALE "G. MARCONI" Via Milano n PONTEDERA (PI)

Testi di Esercizi e Quesiti 1

L'indirizzo IP. Prof.ssa Sara Michelangeli

Per essere inviato il dato deve essere opportunamente codificato in modo da poter essere trasformato in SEGNALE, elettrico oppure onda luminosa.

Corso di Informatica

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

ICMP OSI. Internet Protocol Suite. Telnet FTP SMTP SNMP TCP e UDP NFS. Application XDR. Presentation. Session RPC. Transport.

MANUALE UTENTE Fiscali Free

Reti di Calcolatori. Lezione 2

Dispensa di Informatica I.1

Vlan Relazione di Sistemi e Reti Cenni teorici

Transcript:

2 3 Paolo Ollari Idee per il tuo futuro Corso di sistemi e reti per Informatica IP. Internetworking LAN/WAN TECNOLOGIA

Paolo Ollari Corso di sistemi e reti per Informatica IP.InternetworkingLAN/WAN

Copyright 23 Zanichelli editore S.p.A., Bologna [469] www.zanichelli.it I diritti di elaborazione in qualsiasi forma o opera, di memorizzazione anche digitale su supporti di qualsiasi tipo (inclusi magnetici e ottici), di riproduzione e di adattamento totale o parziale con qualsiasi mezzo (compresi i microfilm e le copie fotostatiche), i diritti di noleggio, di prestito e di traduzione sono riservati per tutti i paesi. L acquisto della presente copia dell opera non implica il trasferimento dei suddetti diritti né li esaurisce. Per le riproduzioni ad uso non personale (ad esempio: professionale, economico, commerciale, strumenti di studio collettivi, come dispense e simili) l editore potrà concedere a pagamento l autorizzazione a riprodurre un numero di pagine non superiore al 5% delle pagine del presente volume. Le richieste per tale tipo di riproduzione vanno inoltrate a Centro Licenze e Autorizzazioni per le Riproduzioni Editoriali (CLEARedi) Corso di Porta Romana, n.8 222 Milano e-mail autorizzazioni@clearedi.org e sito web www.clearedi.org L editore, per quanto di propria spettanza, considera rare le opere fuori del proprio catalogo editoriale, consultabile al sito www.zanichelli.it/f_catalog.html. La fotocopia dei soli esemplari esistenti nelle biblioteche di tali opere è consentita, oltre il limite del 5%, non essendo concorrenziale all opera. Non possono considerarsi rare le opere di cui esiste, nel catalogo dell editore, una successiva edizione, le opere presenti in cataloghi di altri editori o le opere antologiche. Nei contratti di cessione è esclusa, per biblioteche, istituti di istruzione, musei ed archivi, la facoltà di cui all art. 7 - ter legge diritto d autore. Maggiori informazioni sul nostro sito: www.zanichelli.it/fotocopie/ Realizzazione editoriale: Coordinamento editoriale: Matteo Fornesi Collaborazione redazionale, impaginazione e illustrazioni: Conedit Libri, Cormano (MI) Progetto grafico: Editta Gelsomini Segreteria di redazione: Deborah Lorenzini Copertina: Progetto grafico: Miguel Sal & C., Bologna Realizzazione: Roberto Marchetti Immagine di copertina: Artwork Miguel Sal, Bologna Prima edizione: gennaio 23 L impegno a mantenere invariato il contenuto di questo volume per un quinquennio (art. 5 legge n. 69/28) è comunicato nel catalogo Zanichelli, disponibile anche online sul sito www.zanichelli.it, ai sensi del DM 4 dell 8 aprile 29, All. /B. Zanichelli garantisce che le risorse digitali di questo volume sotto il suo controllo saranno accessibili, a partire dall acquisto dell esemplare nuovo, per tutta la durata della normale utilizzazione didattica dell opera. Passato questo periodo, alcune o tutte le risorse potrebbero non essere più accessibili o disponibili: per maggiori informazioni, leggi my.zanichelli.it/fuoricatalogo File per diversamente abili L editore mette a disposizione degli studenti non vedenti, ipovedenti, disabili motori o con disturbi specifici di apprendimento ifilepdfincuisonomemorizzatelepagine di questo libro. Il formato del file permette l ingrandimento dei caratteri del testo e la lettura mediante software screen reader. Le informazioni su come ottenere i file sono sul sito www.zanichelli.it/diversamenteabili Suggerimenti e segnalazione degli errori Realizzare un libro è un operazione complessa, che richiede numerosi controlli: sul testo, sulle immagini e sulle relazioni che si stabiliscono tra essi. L esperienza suggerisce che è praticamente impossibile pubblicare un libro privo di errori. Saremo quindi grati ai lettori che vorranno segnalarceli. Per segnalazioni o suggerimenti relativi a questo libro scrivere al seguente indirizzo: lineazeta@zanichelli.it Le correzioni di eventuali errori presenti nel testo sono pubblicate nel sito www.zanichelli.it/aggiornamenti Zanichelli editore S.p.A. opera con sistema qualità certificato CertiCarGraf n. 477 secondo la norma UNI EN ISO 9:28

Paolo Ollari Corso di sistemi e reti per Informatica IP. Internetworking LAN/WAN TECNOLOGIA

Indice SEZIONE A Reti. Tecnologie e protocolli di instradamento per le reti LAN A Tecnologia IEEE 82.3 MAC di Ethernet 3 2 Il pacchetto MAC 5 3 Dominio di broadcast 4 Dominio di collisione 3 ESERCIZI PER LA VERIFICA ORALE 6 ESERCIZI PER LA VERIFICA SCRITTA 7 ESERCIZI PER LA VERIFICA DI LABORATORIO 9 A2 Dispositivi e instradamento Ripetitore 2 2 Concentratore 2 3 Switch 23 4 Bridge 29 5 Switch full duplex 33 6 Managed switch (VLAN) 36 7 Switch virtuali 4 8 Traffico e dimensionamento 43 ESERCIZI PER LA VERIFICA ORALE 5 ESERCIZI PER LA VERIFICA SCRITTA 5 ESERCIZI PER LA VERIFICA DI LABORATORIO 54 A3 Tecnologia IEEE 82. Modelli e terminologia 57 2 MAC di IEEE 82. 58 Indice Paolo Ollari CORSO DI SISTEMI E RETI - Vol. 2 Zanichelli 23 per Informatica V

3 Modalità infrastruttura 6 4 Il pacchetto MAC 6 ESERCIZI PER LA VERIFICA ORALE 67 ESERCIZI PER LA VERIFICA SCRITTA E DI LABORATORIO 68 A4 Spedire e leggere su LAN: pcap tcpdump/windump 7 2 Spedire un pacchetto sulla LAN (Win32) 7 3 Spedire un pacchetto sulla LAN (Java) 75 A5 Bluetooth Modellietopologie 78 2 Protocolli 8 ESERCIZI PER LA VERIFICA ORALE 82 SEZIONE B Reti. Protocolli di indirizzamento e instradamento per le reti WAN B Il livello 3: Rete Routing 85 2 Routing CNLS: by network address 88 3 Routing CONS: label swapping 9 4 Algoritmi di instradamento 93 5 Algoritmi distance vector 95 6 Algoritmi link state packet 98 ESERCIZI PER LA VERIFICA ORALE ESERCIZI PER LA VERIFICA SCRITTA ESERCIZI PER LA VERIFICA DI LABORATORIO 3 B2 Protocollo IP Protocollo ARP 5 2 Pacchetto IP 8 3 Protocollo ICMP 3 4 Programma ping 7 ESERCIZI PER LA VERIFICA ORALE 2 ESERCIZI PER LA VERIFICA SCRITTA 2 VI Indice Paolo Ollari CORSO DI SISTEMI E RETI - Vol. 2 Zanichelli 23 per Informatica

B3 Indirizzamento IP Classful 24 2 Instradamento classful 27 3 Subnetting 3 4 Instradamento con subnetting 35 5 Internetwork 38 6 Il programma route 4 7 Supernetting 42 8 Autonomous System 45 ESERCIZI PER LA VERIFICA ORALE 47 ESERCIZI PER LA VERIFICA SCRITTA 48 B4 Protocollo MPLS Architettura 54 2 Routing 55 3 Pacchetto MPLS 56 B5 I protocolli di routing RIP 59 2 OSPF 6 3 BGP 6 4 Internet Service Provider 6 ESERCIZI PER LA VERIFICA ORALE 64 Appendice Installazione libcap/winpcap per Linux e Windows 65 2 Ping 66 3 VLSM 68 4 WiMAX e LTE 69 5 IPv6 7 6 Programmi Java 75 7 Link State Packet 83 8 Programma arp 84 9 ARP, ICMP, IP 85 Subnetting e VLSM 87 TdI, inoltro e ICMP Redirect 88 Indice analitico 89 Indice Paolo Ollari CORSO DI SISTEMI E RETI - Vol. 2 Zanichelli 23 per Informatica VII

SEZIONE A Reti. Tecnologie e protocolli di instradamento per le reti LAN Per affrontare adeguatamente i temi contenuti in questa sezione bisogna avere una sufficiente competenza su alcuni argomenti prerequisiti. Per verificare se la conoscenza necessaria degli argomenti è sufficiente, svolgere questa breve attività di autovalutazione. Se non si è in grado di rispondere a una domanda o si è solo parzialmente certi della risposta data, è meglio considerare la risposta come errata ai fini dell autovalutazione. Il numero 257 decimale equivale ai numeri binari ed esadecimali a 257 e 257 b b e FGh c b e h d b e fh 2 Il codice Ascii esadecimale del carattere (zero) è a 3h b 48 c 4h d 3 In una rete LAN la comunicazione generale segue il modello a punto-punto b broadcast c simplex d di Hamming 4 La topologia logica di una rete LAN è tipicamente a a maglia b mesh c bus d virtuale 5 I dispositivi di interconnessione tipici per reti LAN e reti WAN sono rispettivamente a router e switch b modem e Access Point c switch e router d fibra ottica e Fast Ethernet 6 I seguenti sono rispettivamente un indirizzo MAC e un indirizzo IP: a 92.68.. e 23 b.8..3 e 5C-26-A-29-BE-34 c 5C-26-A-29-BE-34 e 92.68.. d 5C-26-A-29-BE-35 e 92.68.26. 7 Le parti principali di un pacchetto sono a dati e checksum b intestazione, dati e coda c header e coda d dati, intestazione e indirizzo 8 Una rete con bitrate a Mbit/s teoricamente trasferisce un file da MB in a secondo b secondi c 8 secondi d,8 secondi 9 Le reti LAN prevedono un livello assente nello stack OSI. È il livello a MAC b LLC c HTTP d HDLC I tipici protocolli di livello 2 Datalink per LAN e WAN sono, rispettivamente a MAC e HDLC b MAC e PPP c LLC e MAC d LLC e PPP In una rete Fast Ethernet l MTU di LLC vale 53 byte. Allora un frame da 2 kb a è valido b non è valido c va frammentato d va codificato 2 L applicazione arp restituisce un indirizzo a MAC b LLC c SNAP d IP Conoscenza necessaria: risposte corrette. Risposte corrette: c a bcccb ca d b a Paolo Ollari CORSO DI SISTEMI E RETI - Vol. 2 Zanichelli 23 per Informatica

A Tecnologia IEEE 82.3 Metcalfe s Law Il co-inventore di Ethernet, Robert Metcalfe, fu assunto nei primi anni 7 dalla Xerox PARC Inc. appena laureatosi al MIT, e dopo aver avuto notizia dei suoi lavori da laureando. Come disse in una intervista, sottopose i suoi calcoli sul progetto di Ethernet a Leonard Kleinrock (inventore delle reti switching, 962) che li definì «spazzatura». In seguito fu proprio Kleinrock a coniare l acronimo CSMA/CD. Una rete Ethernet funzionò la prima volta l novembre del 973. Ma nemmeno la Xerox PARC credette nel suo progetto, così decise di fondare una propria azienda per produrre e commercializzare Ethernet (3COM Inc., 979). Nello stesso periodo al MIT un autorevole studioso, ma anche consulente IBM, Jerome H. Saltzer, indicò all intero mondo accademico la sua preferenza per Token Ring come tecnologia per reti su brevi distanze. Le maggiori aziende produttrici di hardware, IBM in testa, decisero quindi di investire in Token Ring, lasciando spazio alla 3COM di Metcalfe di operare sul mercato delle reti LAN, proponendo progressivamente Ethernet come più economica ed efficiente (in James Pelkey, intervista a Bob Metcalfe, 6 febbraio 988). La tecnologia di rete LAN IEEE 82.3, universalmente nota come rete Ethernet, è il tipo di rete locale più popolare e diffuso al mondo. Dopo la sua ideazione e ufficializzazione con il nome Ethernet tra il 973 e il 976 (Robert Metcalfe e David Boggs della Xerox PARC Inc.), lo IEEE e l OSI ne descrissero lo standard nel documento IEEE 82.3 del 983. La prima realizzazione di IEEE 82.3 usò il cavo coassiale e prese il nome di BASE5 con bitrate a Mbit/s. In seguito 82.3 si impone sia su rame che su fibra ottica. Nel 995 l IEEE diede vita a 82.3u o Fast Ethernet denominata BASE-TX, a Mbit/s; quindi nel 999 venne emanato lo standard 82.3ab denominato BASE-T a Mbit/s ( Gbit/s, Giga Ethernet). Infine nel 26 fu pubblicato lo standard IEEE 82.an denominato GBASE-T o Tera Ethernet a Gbit/s. L idea originale di Metcalfe e Boggs prevedeva un formato del pacchetto leggermente diverso da quello ufficializzato da 82.3, ma dal 997 con lo standard 82.3x, i due tipi di pacchetto possono circolare entrambi senza problemi su una qualsiasi LAN 82.3*. Nella famiglia di documenti IEEE 82 sono presenti vari standard di rete locale oltre a 82.3: 82.4 Token Bus, 82.5 Token Ring, 82.6 DQDB, 82.8 FDDI e altre, ma anche tecnologie varie connesse alle reti locali, come 82. Wi-Fi o 82.6 WiMAX. Alcune di queste tecnologie di rete locale sonooggicaduteindisusoeirelatividocumenti resi inattivi o disbanded (esempio, Token Bus, Token Ring, DQDB, FDDI). Di notevole importanza, infine, il documento IEEE 82.2 LLC (Logical Link Control) che descrive lo strato di rete LAN a contatto con il livello 3 Network allo scopo di uniformare le LAN a prescindere dai vari livelli MAC e livello fisico adottati. Nella sua prima ideazione Ethernet (d ora in avanti sinonimo di 82.3) utilizza un modo di accedere al mezzo fisico condiviso da tutte le stazioni denominato CSMA/CD (acronimo inglese di Carrier Sense Multiple Access with Collision Detection, ovvero accesso multiplo tramite rilevamento della portante con rilevamento delle collisioni), detto anche MAC di Ethernet. Le ragioni della sua grande diffusione sono dovute a: primogenitura: è stata la prima tecnologia per reti LAN ad essere realizzata e ingegnerizzata; economicità: la sua relativa semplicità consente di utilizzare componentistica hardware relativamente poco costosa; 2 A Tecnologia IEEE 82.3 Paolo Ollari CORSO DI SISTEMI E RETI - Vol. 2 Zanichelli 23 per Informatica

efficienza: malgrado alcuni elementi critici della sua architettura, si rivela efficiente per il tipo di traffico generato da un gruppo di utenti omogeneo; scalabilità: con l introduzione degli switch, si possono organizzare LAN anche con migliaia di postazioni; è adeguata per veicolare i livelli WAN di Internet, cioè TCP/IP. MAC di Ethernet Con la sigla MAC (Medium Access Control) si intende la modalità con cui una rete locale gestisce il mezzo trasmissivo per coordinare trasmissioni e ricezioni. Ogni tipologia di rete locale ha un proprio MAC. Il MAC di Ethernet si chiama CSMA/CD (Carrier Sense Multiple Access with Collision Detection) ed è un protocollo di accesso multiplo al mezzo derivante da un precedente protocollo denominato ALOHA. Si tratta di un protocollo totalmente distribuito, senza stazioni privilegiate e intrinsecamente half duplex, operante in broadcast su topologie logiche a bus: ogni stazione quando riceve un pacchetto ne legge sempre l indirizzo MAC di destinazione e solo se coincide con il proprio ne inoltra una copia al livello superiore. In trasmissione invece le cose sono un po più complicate. Poiché i trasmettitori delle stazioni si trovano ad operare in «parallelo» sullo stesso mezzo, è importante evitare che più stazioni trasmettano contemporaneamente, situazione nota con il termine di collisione. Tuttaviailprotocollo non esclude che ciò possa comunque avvenire e prevede un meccanismo di riconoscimento di tale evento da parte delle stazioni coinvolte, in modo che possano ritentare la trasmissione in un tempo successivo. Un protocollo di questo tipo è detto a contesa. CSMA/CD opera in quattro fasi: ) Carrier sense, ovvero rilevazione del segnale; ogni stazione che deve trasmettere, prima ascolta il bus e decide di trasmettere solo se questo è libero (idle). Questa fase è anche detta listening before talking. 2) Multiple access, ovvero possibilità di accesso multiplo; nonostante aver verificato il canale in stato di idle, è possibile che due o più stazioni, trovando anch esse il canale libero, decidano di trasmettere. Questa situazione è più frequente di quanto non appaia a prima vista. Infatti se una stazione sta effettivamente trasmettendo, è molto probabile che altre stazioni inizino la fase di carrier sense, cioè si pongano in attesa di poter trasmettere. Quando la stazione che sta trasmettendo conclude la trasmissione, le stazioni in attesa vedranno tutte «contemporaneamente» il canale libero e tutte inizieranno a trasmettere (il tempo di propagazione dei bit sul mezzo NON è nullo). 3) Collision detection, ovvero determinazione di collisione; mentre una stazione trasmette, contemporaneamente ascolta i segnali sul mezzo trasmissivo, confrontandoli con quelli che emette lei stessa. In caso di ricezione discrepante, viene rilevata una collisione. Questa fase è anche detta listening while talking. MAC di Ethernet Paolo Ollari CORSO DI SISTEMI E RETI - Vol. 2 Zanichelli 23 per Informatica 3

......... 4) Backoff; se viene rilevata una collisione, la stazione intraprende le seguenti azioni: sospende la trasmissione del pacchetto in corso; trasmette una sequenza speciale detta di jamming, ovvero di interferenza trasmissiva. Ciò serve per enfatizzare l avvenuta collisione in modo che anche le altre stazioni percepiscano l evento. In effetti le altre stazioni riconoscendo la sequenza di jamming in coda al pacchetto (che in questo caso è profondamente corrotto dato che è la sovrapposizione casuale di più pacchetti), scartano tutta la ricezione in corso; ripete il tentativo di trasmissione dopo un tempo pseudocasuale calcolato con uno speciale algoritmo e per un numero di volte non superiore a 6. Il ritardo pseudocasuale è necessario per evitare che le stesse stazioni che hanno generato la collisione la causino ancora al secondo tentativo e ai successivi. L algoritmo di backoff prende il nome di Truncated Binary Exponential (TBE).... 2......... 3 4 5..................... 6 7 8......... Risulta altresì evidente che le collisioni non sono altro che l espediente che consente di accedere correttamente al mezzo; si può sostenere che una certa quantità di banda in CSMA/CD serve appunto per gestire le collisioni e poter così arbitrare il canale. Così formulato CSMA/CD è un protocollo di accesso con le seguenti caratteristiche: Non è deterministico, cioè non è possibile stabilire sistematicamente se e quando una trasmissione andrà a buon fine. Non è adatto per attività di tipo burst, cioè a raffiche consecutive e continue di trasmissioni, a causa dell aumentare esponenziale delle collisioni. 4 A Tecnologia IEEE 82.3 Paolo Ollari CORSO DI SISTEMI E RETI - Vol. 2 Zanichelli 23 per Informatica

... 2............... 3 4 5..................********* ******* * * ************* ** * * **... 6 7...... Non è indicato per applicazioni in tempo reale (real time) dato che ha un tempo di ritrasmissione non predicibile. Per la semplicità di realizzazione consente di mantenere bassi i costi sia del cablaggio che dell hardware di supporto, garantendo comunque una discreta efficienza. 2 Il pacchetto MAC L evoluzione storica di Ethernet in IEEE 82.3 ha causato la presenza contemporanea di due formati di pacchetto MAC: il più anziano, denominato frame Ethernet 2 e il formato ufficiale frame 82.3: frame Ethernet 2 intestazione dati coda preambolo 7 SFD MAC destinatario 6 MAC mittente 6 Ethertype 2 Information 46 5 Entrambi i pacchetti rispettano uno dei parametri progettuali di Ethernet, ovvero che il pacchetto più corto circolante in rete non sia inferiore a 64 ottetti (byte), esclusi preambolo e SFD. In totale un frame Ethernet non può essere inferiore a 72 byte (576 bit). frame 82.3 intestazione dati coda FCS 4 preambolo 7 SFD MAC destinatario 6 MAC lunghezza mittente 2 6 Information 5 Pad <46 FCS 4 2 Il pacchetto MAC Paolo Ollari CORSO DI SISTEMI E RETI - Vol. 2 Zanichelli 23 per Informatica 5

Per questo motivo, dato che la parte costante di entrambi i pacchetti vale 8 ottetti (6+6+2+4), se la parte dati è inferiore a 46 (64-8), il MAC la «riempie» automaticamente con tanti byte a zero fino a raggiungere 64 ottetti totali. Inoltre un pacchetto Ethernet (sia Ethernet 2 che 82.3) non può mai superare 58 byte di ampiezza, altro limite progettuale del protocollo originale dovuto all MTU di Ethernet che vale 5 ottetti per il campo dati. Il preambolo sincronizza l inizio del pacchetto. Questa serie di segnali serve per tarare i clock delle stazioni sulla linea. Il camposfd (Start Frame Delimiter) è un ulteriore delimitatore iniziale di pacchetto che contiene una sequenza di bit canonici che consentono all hardware di sincronizzare i seguenti bit della trama. Il campo FCS ha la funzione di garantire l integrità del pacchetto. È implementato con CRC. Si notano quindi i campi dedicati agli indirizzi fisici (MAC Address) che devono essere ampi 6 byte e univoci su scala mondiale: indirizzo MAC del destinatario e indirizzo MAC del mittente. PROGRAMMA Ricavare l indirizzo MAC (Win32) Scrivere un programma in linguaggio C per Windows che legge gli indirizzi MAC delle interfacce di rete installate sulla macchina: Per ottenere gli indirizzi MAC degli adattatori di rete installati, bisogna effettuare una system call al sistema operativo (API di Win32): GetAdaptersInfo(). Affinché Code::Blocks possa compilare il seguente codice Win32 per Windows è sufficiente: ) Creare un progetto con target Console (File-New-Project-Console application). 2) Collegare la libreria di sistema libiphlpapi.a (Project-Build options-linker settings-add). Basta digitare iphlpapi. La libreria serve per l API GetAdaptersInfo(). Il codice in linguaggio C potrebbe essere il seguente: 6 A Tecnologia IEEE 82.3 Paolo Ollari CORSO DI SISTEMI E RETI - Vol. 2 Zanichelli 23 per Informatica

PROGRAMMA In evidenza nelle righe 5 7 la chiamata di sistema. Il sistema operativo restituisce un vettore di strutture IP_ADAPTER_INFO (un elemento per ogni scheda NIC). Un campo della struttura (Address) contiene il vettore di 6 byte contenente l indirizzo MAC. Il primo campo della struttura (Next) contiene l indirizzo del prossimo elemento nel vettore, così si può scorrerlo come una lista concatenata (righe 23 e 33). L unica differenza tra i due formati di pacchetto MAC riguarda il campo Ethertype/lunghezza (anche detto Type/lenght). Se questo campo contiene un valore superiore a 5 (5dch), non si tratta di un pacchetto 82.3 e quindi deve essere un pacchetto Ethernet 2. In questo caso il valore significa il tipo di protocollo di livello superiore trasportato nel campo dati. Le codifiche per Ethertype iniziano da 6h (536), tra cui si ricordano: Ethertype Descrizione Livello superiore trasportato IP, Internet Protocol Version 4 (IPv4) 3 Network (TCP/IP) Address Resolution Protocol (ARP) 3 Network (TCP/IP) Reverse Address Resolution Protocol (RARP) 3 Network (TCP/IP) AppleTalk (Ethertalk) VLAN-tagged frame (IEEE 82.Q) 2, tra MAC e LLC Simple Network Management Protocol (SNMP) 3 Network (TCP/IP) IP, Internet Protocol Version 6 (IPv6) 3 Network (TCP/IP) MAC Control 2, tra MAC e LLC LACP 2, tra MAC e LLC Multi Protocol Label Switch (MPLS) 3 Network PPPoE 2, in tunnel Jumbo Frames 2 MAC Quando invece il campo Type/lenght è inferiore o uguale a 5, significa che si tratta della lunghezza del campo dati e allora la trama è 82.3. In questo caso nel campo dati è spesso presente una LLC PDU denominata SNAP Ethernet (SubNetwork Access Protocol), con SAP=aah, che ha il seguente formato: frame SNAP intestazione dati AAh AAh 3h h h h DSAP SSAP Control OUI 3 Protocol l type 2 Information <492 2 Il pacchetto MAC Paolo Ollari CORSO DI SISTEMI E RETI - Vol. 2 Zanichelli 23 per Informatica 7

Quando l OUI di SNAP vale, il campo Protocol type ha la stessa funzione di Ethertype e assume gli stessi valori codificati dalla tabella precedente. In altri casi i SAP di LLC possono trasportare trame di altra natura, in base al valore assunto: LLC SAP Descrizione SNAP Netbeui/Netbios IPX Novell IP, Internet Protocol Version 4 (IPv4) Spanning Tree Protocol (IEEE 82.D) Pur essendo posteriore e standardizzato da IEEE, il formato di pacchetto MAC 82.3 è più macchinoso da decodificare e sottrae 8 byte (+++3+2) all MTU di Ethernet. Per queste ragioni nelle reti LAN circolano molti più pacchetti di tipo Ethernet 2 anche su LAN recenti, benché questi ultimi non prevedano neppure la presenza dello strato 2 LLC. ESEMPIO Frame Ethernet Date le seguenti trame Ethernet in esadecimale, decodificarne il contenuto: ) 2) 3) Prima di tutto si controlla se il frame è di tipo Ethernet 2 o 82.3. Bisogna considerare il tredicesimo e quattordicesimo byte della trama, cioè i primi due dopo gli indirizzi MAC destinatario (6 byte) e mittente (altri 6 byte): se il valore big endian è maggiore di 5 (5dch) allora la trama è Ethernet 2, altrimenti è 82.3. Nel primo caso basta considerare quei due byte come Ethertype e consultare la tabella per sapere che tipo di pacchetto il frame sta trasportando. Nel secondo caso si individua il tipo di pacchetto consultando i due byte successivi (5mo e 6mo): se sono diversi da aah, allora il tipo di pacchetto trasportato è LLC; altrimenti si tratta di una trama SNAP e il tipo di pacchetto trasportato si individua analizzando i successivi quinto e sesto byte in big endian e si con- sulta la solita tabella (ma solo se l OUI SNAP vale ). I casi proposti: ) 3mo e 4mo byte: 8, che in big endian = 248d, maggiore di 5 cioè trama Ethernet 2 con Ethertype = 8h che indica pacchetto trasportato di tipo IPv4. 2) 3mo e 4mo byte: 8, che in big endian = 29d, minore di 5, cioè trama 82.3. Siccome il 5mo e 6mo byte non coincidono con aah aah, non è un pacchetto SNAP, quindi il pacchetto trasportato è un pacchetto LLC con Protocol type fh (7mo byte) che, per inciso, è il Protocol type LLC del protocollo Netbios. 3) 3mo e 4mo byte: 5 dc, che in big endian = 5d, la trama è 82.3. I successivi due byte coincidono con aah, quindi siamo in presenza di una trama SNAP Ethernet con OUI =, come si deduce dai tre byte h h h. Allora i successivi due byte 8h e h coincidono con l Ethertype che vale 8h. Il pacchetto trasportato è quindi un IPv4. 8 A Tecnologia IEEE 82.3 Paolo Ollari CORSO DI SISTEMI E RETI - Vol. 2 Zanichelli 23 per Informatica

PROGRAMMA Frame Ethernet Scrivere un programma in linguaggio C che legge da un file di testo la sequenza esadecimale di un frame Ethernet e ne stampi la natura: Ethernet 2, 82.3 SNAP o 82.3 LLC. Il codice in linguaggio C potrebbe essere il seguente: 2 Il pacchetto MAC Paolo Ollari CORSO DI SISTEMI E RETI - Vol. 2 Zanichelli 23 per Informatica 9

PROGRAMMA Il file di testo frameeth.txt si trova nella cartella corrente e viene aperto, letto e chiuso con le righe 3. Il suo contenuto viene copiato nell array di caratteri szethframe[ ]. Il campo Type/lenght, in posizione 3 e 4, viene copiato in una stringa (righe 6 9). Per raggiungerlo bisogna moltiplicare per 3 l indice 3 e 4 (in una sequenza i byte sono spaziati e occupano tre caratteri). Una volta trasformato in stringa esadecimale (su quattro caratteri), il campo Type/lenght va trasformato in numero decimale per poterlo confrontare con l MTU di Ethernet (5) per discriminare il tipo di pacchetto. A tal scopo è stata scritta una funzione htoi() che, presa in ingresso una stringa esadecimale, restituisce il numero decimale equivalente. Il corpo della funzione si trova alle righe 46 57 e il prototipo a riga 4. Infine, per sapere se il pacchetto è un 82.3 SNAP o 82.3 LLC si legge il byte a indice 5 e lo si confronta con la stringa esadecimale aa (righe 3 32). 3 Dominio di broadcast Gli indirizzi fisici delle LAN a 6 byte(mac address) sono univoci su scala mondiale e memorizzati permanentemente nella ROM della scheda di rete dal produttore secondo lo schema OUI/n. di serie: i primi tre byte sono l indentificativo univoco su base mondiale assegnato dall IEEE ad ogni produttore, mentre il n. di serie è deciso autonomamente dal costruttore per individuare la singola scheda commercializzata. PROGRAMMA Ricavare l indirizzo MAC (Java) Scrivere un programma in linguaggio Java che legge gli indirizzi MAC delle interfacce di rete installate sulla macchina. Il codice in linguaggio Java potrebbe essere il seguente: A Tecnologia IEEE 82.3 Paolo Ollari CORSO DI SISTEMI E RETI - Vol. 2 Zanichelli 23 per Informatica

PROGRAMMA In evidenza alla riga 2 la chiamata di sistema, sottoforma di metodo statico, NetworkInterface.getNetworkInterfaces(). Il metodo restituisce un vettore (un elemento per ogni scheda NIC) in cui ogni elemento è un oggetto di tipo NetworkInterface dal quale invocare il metodo.gethardwareaddress() (riga 6) che restituisce il vettore contenente i 6 byte dell indirizzo MAC dell interfaccia di rete. Per scandire ogni elemento dell enumerazione si usa l interfaccia Collection (riga 3). I due bit LSB del primo byte dell OUI hanno un significato speciale e determinano il tipo di pacchetto MAC. Sono sottratti quindi alla codifica OUI, motivo per cui il primo byte di un OUI del produttore dovrebbe essere sempre pari e dovrebbe essere sempre pari il settimo byte di un pacchetto Ethernet: tipi di indirizzi MAC 4746454443424439383736353433323329282726252423222298765432 9 8 7 6 5 4 3 2 7 6 5 4 3 2 OUI U/L I/G OUI OUI 2 serial number serial number serial number 2 Gli indirizzi MAC circolanti su Ethernet possono essere quindi di tre tipi: single (o unicast, I/G=), se riferito ad un singolo sistema; multicast (I/G=), se riferito ad un gruppo di sistemi; solo se la trama è multicast il bit U/L ha significato:, gruppo universale;, gruppo locale. broadcast (ff:ff:ff:ff:ff:ff, tutti i byte a ffh), se riferito a tutti i sistemi della LAN. Quando una scheda LAN riceve un pacchetto effettua una serie di controlli. Prima verifica che il pacchetto sia integro (cioè abbia una FCS corretta) e di dimensioni ammesse. Poi analizza l indirizzo MAC destinatario e: se è broadcast, il pacchetto viene sempre passato al livello superiore; se è single, il pacchetto viene passato al livello superiore solo se è uguale all indirizzo MAC della scheda; se è multicast, verifica se il proprio MAC appartiene al gruppo indirizzato, nel qual caso lo passa al livello superiore. Pacchetti con indirizzi broadcast e multicast non trasportano mai dati utente ma solo dati di servizio (esempio, servono per far funzionare il programma arp). Ethernet big e little endian L ordine standard di trasmissione dei bit sul mezzo di Ethernet è bizzarro, benché sia stato poi adottato da tutte le altre tecnologie su LAN. Rispetto ai byte del pacchetto adotta big endian: i byte vengono spediti da sinistra verso destra. Ma la spedizione dei singoli bit di un byte avviene in modo little endian, da destra verso sinistra, ovvero il primo bit che parte è il bit di peso. È per questo motivo che i due bit I/G e U/L hanno peso e, così da essere i primi ad essere spediti e quindi ricevuti. Questa modalità è detta canonical order. 3 Dominio di broadcast Paolo Ollari CORSO DI SISTEMI E RETI - Vol. 2 Zanichelli 23 per Informatica

ESEMPIO Tipi di indirizzi MAC Date le seguenti trame Ethernet in esadecimale, decodificarne il tipo: ) 2) 3) ) Siccome nel primo ottetto dell indirizzo MAC desti- natario (primo byte dell OUI = aah = b), il primo bit, di peso zero (I/G), vale, il pacchetto è single (unicast). 2) Siccome nel primo ottetto dell indirizzo MAC destinatario (primo byte dell OUI = h = b), il primo bit, di peso zero (I/G), vale, il pacchetto è multicast. Siccome il bit di peso (U/L) vale, si tratta di un indirizzo multicast assegnato su scala mondiale. In effetti l OUI è un l indirizzo Ethernet multicast assegnato dallo IANA a IPv4, cioè la trama conterrà un pacchetto IP. 3) Siccome l indirizzo MAC del destinatario vale, il pacchetto è broadcast. Ora è possibile fornire una definizione di dominio di broadcast come quella sezione di rete LAN in cui si trovano tutti quegli host che, in presenza di un pacchetto di broadcast, lo ricevono. PROGRAMMA Tipi di indirizzi MAC Scrivere un programma in linguaggio C che legge da un file di testo tre indirizzi MAC e ne determini il tipo: single, multicast o broadcast. Il codice in linguaggio C potrebbe essere il seguente: 2 A Tecnologia IEEE 82.3 Paolo Ollari CORSO DI SISTEMI E RETI - Vol. 2 Zanichelli 23 per Informatica

PROGRAMMA Il file di testo macaddr.txt deve avere tre righe non più lunghe di 8 caratteri (un indirizzo MAC in Ascii), si trova nella cartella corrente e viene aperto, letto e chiuso con le righe 8 27. Il suo contenuto viene copiato nel vettore di stringhe asz [ ]. Siccome fgets() copia anche un ritorno a capo alla fine della stringa, viene eliminato (riga 24). Quindi per ogni indirizzo MAC (asz[i]), si isola il primo byte Ascii e lo si trasforma in decimale (righe 32 e 33). Ora si possono verificare i due bit di peso e, con le relative maschere (riga 35 e 55). Per determinare se l indirizzo è broadcast, si controlla che tutte le 6 coppie Ascii siano uguali (righe 39 46), nel qual caso si controlla che un carattere esadecimale coincida con il codice Ascii f (righe 48 5). NB. La funzione htoi() è stata inclusa a riga 3. Il suo codice è presente nel PROGRAMMA. Frame Ethernet. 4 Dominio di collisione La prima realizzazione commerciale di Ethernet, BASE5 su cavo coassiale, ha stabilito alcuni valori base per il CSMA/CD che hanno poi influenzato i sistemi successivi fino ai più recenti. È quindi interessante analizzare le ragioni per cui le scelte di allora hanno generato conseguenze tutt oggi vincolanti anche per le tecnologie più recenti, per esempio la lunghezza massima dei cavi in rame per le reti 82.3. 4 Dominio di collisione Paolo Ollari CORSO DI SISTEMI E RETI - Vol. 2 Zanichelli 23 per Informatica 3