|
Wiki
UniCrema
Materie per semestre
Materie per anno
Materie per laurea
Help
|
|
Uni.LezSEDI04 History
Hide minor edits - Show changes to output
Changed line 159 from:
[[Torna alla pagina di Sistemi Anticoncezionali delle Reti e dei Damiani->Sistemi]]
to:
[[Torna alla pagina di Sistemi per l'elaborazione delle informazioni->Sistemi]]
Changed lines 1-2 from:
(:title Sistemi Anticoncezionali delle Reti e dei Damiani - Lezione 4:) [[Torna alla pagina di Sistemi Anticoncezionali delle Reti e dei Damiani->Sistemi]]
to:
(:title Sistemi per l'elaborazione delle informazioni - Lezione 4:) [[Torna alla pagina di Sistemi per l'elaborazione delle informazioni->Sistemi]]
Changed line 4 from:
%titolo%''':: Sistemi Anticoncezionali delle Reti e dei Damiani ::'''
to:
%titolo%''':: Sistemi per l'elaborazione delle informazioni ::'''
Added lines 8-28:
>>left bgcolor=#f5f9fc width=290px border='2px solid #cccccc' padding=5px<< %center%'''Indice'''
# [[#s1|I livelli]] ** [[#s11|Livello fisico e di Data Link]] ** [[#s12|Livello di rete]] ** [[#s13|Livello di trasporto]] ** [[#s14|Lo standard ISO/OSI e i livelli]] # [[#s2|Principi generali]] ** [[#s21|Circuit Switching]] ** [[#s22|Pocket Switching]] ** [[#s23|Message Switching]] # [[#s3|I livelli (2)]] ** [[#s31|Collegare ethernet diverse]] ** [[#s32|Hub]] ** [[#s33|Switch]] ** [[#s34|Bridge]] # [[#s4|Note di colore sul MAC]] >><<
[[#s1]]
Added line 30:
Added line 36:
Added line 42:
Added line 57:
Added line 66:
Added line 70:
Added line 80:
Changed lines 82-83 from:
Le line ''a commutazione di pacchetto'' invece usano una stessa linea per condividere più connessioni. È quello che abbiamo visto fino ad ora con Ethernet.
to:
Le linee ''a commutazione di pacchetto'' invece usano una stessa linea per condividere più connessioni. È quello che abbiamo visto fino ad ora con Ethernet.
Added line 88:
Changed lines 90-91 from:
Invio un messaggio, e fin quando non l'ho terminato completamente, gli altri stanno zitti. Non ho ancora capito se è un altro nome della Packet Switching o se si tratta di un'altra cosa. Propendo per la prima ipotesi perché sul libro non ne ho (ancora) trovato menzione.
to:
Invio un messaggio, e fin quando non l'ho terminato completamente, gli altri stanno zitti. Precursore del packet switching, è oggi e nella maggior parte dei casi già implementato nel packet e nel circuit switching.
[[#s3]]
Deleted lines 95-96:
'''Qui ci va la tabella dei livelli, giuro che la farò a breve se qualcun altro non provvede prima'''
Added line 98:
Added line 104:
Changed lines 106-107 from:
Prende un frame da una porta e lo replica su tutte le altre. Fa broadcast. tratta tutti i bit in arrivo allo stesso modo, non li guarda minimamente.
to:
Prende un frame da una porta e lo replica su tutte le altre. Fa broadcast. Tratta tutti i bit in arrivo allo stesso modo, non li guarda minimamente.
[[#s33]]
Added line 134:
Added line 146:
Changed lines 38-39 from:
Un giorno o l'altro metto su anche lo schema dei livelli, sia nella versione originale ISO/OSI che nella versione semplificata. Infatti, quello che a livello teorico competerebbe a livelli diversi, viene ora eseguito da un'applicazione sola in un colpo solo.
to:
%lframe%Attach:isoosi.gif|'''Schema originale dei livelli ISO/OSI''' [[<<]]
Added lines 1-125:
(:title Sistemi Anticoncezionali delle Reti e dei Damiani - Lezione 4:) [[Torna alla pagina di Sistemi Anticoncezionali delle Reti e dei Damiani->Sistemi]] ---- %titolo%''':: Sistemi Anticoncezionali delle Reti e dei Damiani ::'''
%center%%sottotitolo%Lezione 2 Ottobre 2007
!!I livelli !!!Livello fisico e di Data Link Tornando al livello fisico, dobbiamo ricordarci che la Ethernet a 100Mbit non usa la codifica Manchester che abbiamo illustrato precedentemente, bensì la '''4B5B''' (che non appena leggo sul libro che cos'è ve lo faccio sapere), e usa cavi più corti proprio per via del legame tra banda passante e lunghezza dei cavi che abbiamo analizzato nelle lezioni dei giorni scorsi.
Quindi, anche se il DataLink fosse uguale, il livello fisico dovrebbe per forza di cosa cambiare. E comunque questo cambiamento sarebbe indolore, dal punto di vista del DataLink: questi sono i vantaggi dei livelli.
!!!Livello di rete Il DataLink funziona su una rete ''locale'', una sola alla volta, e ''non specifica'' come far colloquiare 2 Ethernet diverse. A noi sembra tanto banale, ma vi ricordo che a questo punto non sappiamo ancora che cosa sia il TCP/IP, e ci dobbiamo attaccare: i cavi sono lunghi tot, e oltre non vanno; tutti i computer devono essere "a portata di pacchetto" e così via. Per collegare 2 Ethernet diverse occorrono macchine specifiche.
Questo è poi il primo livello software, perché i 2 livelli precedenti sono implementati da hardware.
!!!Livello di trasporto Quando un frame viene scartato, la specifica Ethernet non ci dice affatto ''come'' recuperalo. Occorre che ci sia un software che gestisca il reinvio dei pacchetti inviati e collisi (si dice così?), perché la NIC, di per sé, non ne sa niente.
Occorre quindi gestire il trasporto. Le caratteristiche del trasporto devono essere: * senza errori; * in sequenza (un pacchetto dopo l'altro) * senza perdite; * senza duplicati; * il truput deve essere costante.
Nella Ethernet, l'overhead di protocollo (di cui abbiamo parlato nella prima lezione), non è affatto poco. Ciò vuol dire che il truput effettivo è inferiore alla banda passante nominale.
Per esempio, in un frame ci sono sempre e comunque 208 byte che se ne vanno tra header e trailer, e al max ci sono 1500 byte di dati. 208 byte su 1500 sono una quantità apprezzabile di overhead: [@208 : (1500 + 208) = x : 100; x = 12,86%@].
!!!Lo standard ISO/OSI e i livelli Lo standard ISO/OSI presenta uno schema dei vari livelli, e ogni livello ha il suo protocollo specificato.
Occorre tenere conto di questo principio: quello che un livello considera esclusivamente come payload, verrà a sua volta formattato da un livello superiore secondo il suo protocollo. Questo vuol dire che ad ogni livello, un pezzo di payload se ne va per ospitare gli header dei vari protocolli.
Un giorno o l'altro metto su anche lo schema dei livelli, sia nella versione originale ISO/OSI che nella versione semplificata. Infatti, quello che a livello teorico competerebbe a livelli diversi, viene ora eseguito da un'applicazione sola in un colpo solo.
!!Principi generali Le reti possono essere ''Circuit Switching'' o ''Packet Switching''.
!!!Circuit Switching Vuol dire ''a commutazione di circuito''. Questo vuol dire che per ogni comunicazione viene creata una linea ''fisica'' tra mittente e ricevente.
È quello che accade col telefono: i vari apparecchi che si trovano lungo la linea telefonica commutano in modo tale da creare una connessione diretta tra il mio telefono e quello che sto chiamando.
Il vantaggio di questo tipo di collegamento è indubbiamente la velocità: ho una linea tutta per me, e posso sfruttarla al massimo.
Lo svantaggio è che questa linea, una volta che è stata stabilita, rimane stabilita anche se non la sto usando. Un esempio stupido: se alzo la cornetta e chiamo qualcuno, e poi stiamo zitti al telefono, pago la chiamata anche se non sto comunicando niente
!!!Packet Switching Le line ''a commutazione di pacchetto'' invece usano una stessa linea per condividere più connessioni. È quello che abbiamo visto fino ad ora con Ethernet.
Il vantaggio è il costo, inferiore perché la linea è una e le stazioni sono tante.
Ovviamente, lo svantaggio è proprio la velocità: se siamo in troppi a comunicare, la linea si intasa.
!!!Message Switching Invio un messaggio, e fin quando non l'ho terminato completamente, gli altri stanno zitti. Non ho ancora capito se è un altro nome della Packet Switching o se si tratta di un'altra cosa. Propendo per la prima ipotesi perché sul libro non ne ho (ancora) trovato menzione.
!!I livelli Ancora! Sinceramente l'ordine delle spiegazioni di Pier Damiani è un po' caotico, ma tant'è!
'''Qui ci va la tabella dei livelli, giuro che la farò a breve se qualcun altro non provvede prima'''
I livelli di cui ci occupiamo sono: ''fisisco'', ''datalink'', ''rete'', ''trasporto'', ''applicazione''. Ogni livello ha la sua responsabilità. Ogni apparecchio di rete funziona ad un certo livello. Per esempio, lo switch opera a livello 2, il sistema operativo lavora a livello 3 e così via.
!!!Collegare Ethernet diverse Lo switch opera a livello 2, cioè non guarda nel payload del frame ma si limita ad analizzare l'header per capire dove inoltrare il frame. Lo hub invece è di livello 1, perché è un cavo compatto, come più volte spiegato precedentemente.
Collegare Ethernet diverse vuol dire quindi capire come funzionano questi apparecchi.
!!!Hub Prende un frame da una porta e lo replica su tutte le altre. Fa broadcast. tratta tutti i bit in arrivo allo stesso modo, non li guarda minimamente.
!!!Switch Lo switch invece non tratta tutti i bit in egual maniera: deve leggerli e capire dove mandarli, è quindi un apparecchio dotato di una qualche forma di intelligenza.
La sua intelligenza viene usata per leggere i bit del MAC di destinazione del pacchetto in arrivo, capire a quale porta inoltrarlo, e inviarcelo.
Questo presuppone la capacità dello switch di associare ad ogni porta un MAC. Infatti è ciò che avviene: ha una tabella interna che mantiene proprio questa relazione porta - MAC.
Come fa a creare sta tabella? Non è pensabile che l'amministratore di rete prenda ogni mattina a scrivere sta tabella nello switch.
Nelle reti Ethernet 100MBit è prevista una modalità di colloquio tra le schede e lo switch: in questo modo una scheda manda certi messaggi predefiniti e lo switch impara di lei quello che deve imparare.
Ma le schede 10Mbit, che seguono lo standard originale di Ethernet, non sanno niente di tutto ciò, anche perché all'epoca gli switch non erano ancora stati inventati. Ecco come si comporta lo switch in questi casi: * arriva un pacchetto * non sa dove mandarlo, lo replica a tutti * ma è furbo: quando qualcuno mi invia un frame, lo vede arrivare da una porta => si segna l'indirizzo del mittente nella tabella porte - MAC * la prossima volta che mi compare questo MAC, so a che porta associarlo
Questo processo si chiama ''learning''. L'accesso alla tabella di switch deve essere inoltre molto rapido, per evitare latenze nella rete. La memoria veloce è costosa, quindi gli switch costano.
Ecco che abbiamo introdotto un'altra differenza tra 802.3 e 802.3u (100Mbit): non solo il livello fisico è diverso (cavi più corti, banda più ampia etc.), ma anche il Data Link è leggermente diverso, perché prevede questo dialogo con lo switch che non era previsto in origine.
Non solo: ci sono ditte che hanno aggiunto ancora delle funzionalità agli switch, e quindi al DataLink, in modo del tutto non standard.
Riassumendo, lo switch lavora a livello 2 perché deve guardare all'interno del frame.
!!!Bridge I Bridge ora sono poco usati, perché per connettere 2 reti si collegano degli switch, che hanno a questo proposito un'uscita ultraveloce, in genere in fibra ottica, per collegarsi ad altri switch. Questa porta si chiama BACKBONE, e viene tirata in ballo nel momento in cui lo switch trova un MAC che non esiste nella sua tabella: allora lo replica nella backbone, e spetta a qualcun altro occuparsene.
Per fortuna che ste backbone sono veloci, perché altrimenti si intaserebbe la linea replicando a tutti i messaggi di cui non si sa identificare il destinatario. Ai bei tempi, quando non c'erano le backbone veloci, replicare i messaggi a caso era un processo che poteva portare al tracollo il cavo coassiale.
Per questo esistevano i Bridge. Lavora a livello 2: copia da un livello all'altro i frames, filtrandoli però in base al loro MAC. Un bridge è collegato con una porta ad una rete, con l'altra porta ad un'altra rete. Esattamente come lo switch, fa il learning dei MAC e delle porte, così che sa indirizzare un pacchetto che gli arriva alla porta giusta, oppure non inoltrarlo dall'altra parte se la sua destinazione è nella stessa rete da cui è provenuto. Anzi, a dire la verità è lo switch che ha copiato il learning dal bridge, perché il bridge è stato inventato prima dello switch.
Nella fase di learning, un bridge impara ad associare certi MAC ad una porta. Ma che cosa succede se metto due Bridge tra le stesse 2 reti? Il Bridge 1 prende i dati dalla rete A e li replica sulla rete B. Il Bridge 2 vede arrivare questi dati dalla rete B e li replica sulla rete A. Nel frattempo, B ha imparato che questi MAC vengono dalla rete B, mentre in realtà sono stati copiati su B dal Bridge numero 1! Al passo successivo, le parti si invertono (provate ad immaginare perché) e così via. Insomma, è un grafo in cui c'è un ciclo tra i nodi (vedi Algoritmi per le definizioni di grafo, nodi e ciclo).
Per ovviare a questo problema, sono stati inventati dei Bridge che implementano un algoritmo detto ''Spanning Tree'', il quale si accorge di questa situazione e vi pone rimedio. In sostanza crea un albero a partire dal grafo delle connessioni, e toglie il sottoalbero che non serve. Da notare che ormai sti bridge non li fanno più, che ormai non servono più.
!!Note di colore sul MAC Il MAC può essere visto come un ''algoritmo probabilistico distribuito''. Volano parole grosse, eh?
* ''Algoritmo'': il MAC serve per mappare della memoria che non risiede in un solo luogo fisico, ma in posti diversi. Deve fare dei calcoli per mapparla nel posto giusto. Un po' come le reti di Nello, con quegli scatoli che indirizzavano le celle e così via. * ''Probabilistico'': è opposto a deterministico, ovvero non sa quanto tempo ci metterà per trovare il punto giusto della memoria e copiarci i dati. * ''Distribuito'': infatti i calcoli non avvengono in un luogo unico, ma su ogni scheda: per questo è distribuito.
Quindi, il CSMA/CD, che è un MAC, è un algoritmo di copia della memoria.
Da notare che esistono anche MAC che sono deterministici, cioè in cui il tempo di trasfermimento è noto a priori.
---- [[Torna alla pagina di Sistemi Anticoncezionali delle Reti e dei Damiani->Sistemi]]
|
|