Controllo di flusso negli switch IEEE 802.3x Mario Baldi Politecnico di Torino http://staff.polito.it/mario.baldi Pietro Nicoletti Studio Reti http://www.studioreti.it Basato sul capitolo 8 di: M. Baldi, P. Nicoletti, Switched LAN, McGraw-Hill, 2002, ISBN 88-386-3426-2 08_SwFlowContr -
Nota di Copyright Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slide (ivi inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio, musica e testo) sono di proprietà degli autori indicati a pag.. Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca, scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministero dell Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di lucro. In tal caso non è richiesta alcuna autorizzazione. Ogni altra utilizzazione o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su supporti magnetici, su reti di calcolatori e stampate) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da parte degli autori. L informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senza preavviso. Gli autori non assumono alcuna responsabilità per il contenuto di queste slide (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento dell informazione). In ogni caso non può essere dichiarata conformità all informazione contenuta in queste slide. In ogni caso questa nota di copyright non deve mai essere rimossa e deve essere riportata anche in utilizzi parziali. 08_SwFlowContr - 2
Half o full duplex? Le LAN sono strutture intrinsecamente half-duplex: trasmette una sola stazione per volta Lo switching ridimensiona molto il ruolo del mezzo fisico condiviso: spesso il mezzo trasmissivo diventa punto-punto: sono collegati unicamente la stazione e lo switch I mezzi trasmissivi punto-punto possono essere fullduplex: entrambe le stazioni possono trasmettere contemporaneamente le trasmissioni avvengono su canali fisici diversi 08_SwFlowContr - 3
Full duplex e standard 802.3x Lo standard 802.3x definisce la modalità di funzionamento full duplex Negozia la modalità tra gli apparati operativa e la memorizza el registro 4 Technology Ability Field D0 D D2 D3 D4 D5 D6 D7 D8 D9 D0 D D2 D3 D4 D5 rsvd rsvd rsvd rsvd rsvd FD HD PS PS2 rsvd rsvd rsvd RF RF2 Ack NP 0 Half Duplex 0 Full Duplex 0 0 No error, Link OK 0 Offline 0 Link Failure Auto-Negotiation Error 08_SwFlowContr - 4
Modalità di funzionamento full duplex Non viene più utilizzato il MAC CSMA-CD la stazione Ethernet trasmette immediatamente il pacchetto senza mettersi in ascolto sul canale trasmissivo Adottato sicuramente nelle connessioni tra switch, meno frequentemente tra switch e stazione Necessita di particolari transceiver in cui non viene rilevata la collisione: i transceiver normali inviano un segnale di collisione all interfaccia quando si ha la presenza di attività contemporanea su TX e RX La distanza tra due stazioni Ethernet full-duplex dipende solo dalle caratteristiche del canale trasmissivo è indipendente dal diametro del dominio di collisione 08_SwFlowContr - 5
I transceiver half e full duplex DO CI DI Coll. detect TX RX TX RX Coll. detect DI CI DO Connessioni tra Transceiver tradizionali (più vecchi) MAU CABLE MAU DO CI DI Coll. detect MAU TX RX CABLE TX RX Coll. detect MAU DI CI DO Connessioni tra Transceiver per link Full-Duplex DO = Data Output DI = Data Input CI = Collision Input 08_SwFlowContr - 6
Limiti di distanza In Ethernet full-duplex: nel caso del doppino telefonico la distanza massima è di 00 m nel caso di fibra ottica multimodale 62.5/25 μm la distanza massima è di 2 Km nel caso di fibra ottica monomodale e transceiver dotati di laser di categoria II (caso FDDI e Fast-Ethernet) la distanza massima può raggiungere i 50 Km in Gigabit Ethernet con laser ad alta potenza: fibra monomodale 75 Km fibra monomodale dispertion-shift 00 Km 08_SwFlowContr - 7
Controllo di flusso: IEEE 802.3x Standard che definisce: le modifiche necessarie al MAC IEEE 802.3 per supportare la modalità operativa Full-Duplex un meccanismo di controllo di flusso per link Full-Duplex vale per tutte le diverse tipologie di reti di Ethernet (0/00/000 Mb/s) Obbligatorio su Gigabit Ethernet, opzionale su Ethernet e Fast Ethernet 08_SwFlowContr - 8
Modello OSI e IEEE 802.3x IEEE 802.3x introduce un sottolivello (MAC Control) tra il MAC 802.3 e il sottolivello superiore (Bridge Relay Entity, LLC,...) Modello ISO/OSI Applicazione Presentazione Sessione Trasporto Rete Data Link Fisico Sottolivelli per LAN 802 Sottolivello LLC MAC Control (opzionale) MAC - Media Access Control 08_SwFlowContr - 9
Controllo di flusso Meccanismo di controllo di flusso definito dall IEEE 802.3x: il dispositivo che vuole fermare la trasmissione invia un pacchetto PAUSE in multicast a tutti i partner coinvolti nella trasmissione il pacchetto contiene l indicazione del tempo (in slot time) per il quale ogni partner deve fermare la trasmissione il tempo può essere esteso o annullato con l invio di un ulteriore pacchetto PAUSE 08_SwFlowContr - 0
Pacchetto PAUSE ottetto 6 ottetti 6 ottetti 2 ottetti 2 ottetti 2 ottetti Destination Address (0-80-C2-00-00-0) Source Address Legth/Type = 8808 OpCode = 00-0 (PAUSE) Pause_time (pause-quanta) 42 ottetti PAD (tutti 0) 4 ottetti FCS 08_SwFlowContr -
Tempo di pausa Campo Pause_time: contiene il numero di pause-quanta (da 0 a 65535) che indicano il tempo di pausa pause-quanta = 52 bit time velocità uguali o inferiori a 00 Mb/s T-Pause in bit time = pause-quanta * 52 velocità superiori a 00 Mb/s T-Pause in bit time = pause-quanta * 52 * 2 08_SwFlowContr - 2
IEEE 802.3x: modalità flow control Esistono due meccanismi di controllo di flusso: modalità asimmetrica solo uno dei due apparati può inviare il pacchetto pause, l altro si limita a riceverlo e fermare l invio di dati modalità simmetrica entrambi gli apparti all estremità di un link possono trasmettere e ricevere il pacchetto pause 08_SwFlowContr - 3
Flow Control negotiation Negoziazione flow control tramite codifica su Burst FLP (Fast Link Pulse) inviato inizialmente dai due partner in fase si negoziazione dei parametri del link 08_SwFlowContr - 4
Flow control: codifica su FLP Reg.4 Technology Ability Field D0 D D2 D3 D4 D5 D6 D7 D8 D9 D0 D D2 D3 D4 D5 rsvd rsvd rsvd rsvd rsvd FD HD PS PS2 rsvd rsvd rsvd RF RF2 Ack NP 0 0 No error, Link OK 0 Offline 0 Link Failure 0 0 No Pause Auto-Negotiation Error 0 Asymmetric Pause verso il link partner 0 Symmetric Pause Symmetric Pause e Asymmetric Pause (tipo Both ) verso il local device 08_SwFlowContr - 5
Flow control: codifica su FLP Reg.4 Register 4: Auto-Negotiation Advertisement Register Bit(s) Nome Descrizione Default R/W 5 Next Page Constant 0 = trasmissione della pagina con le capacità 0 RO primarie 4 Reserved Riservato. Deve essere impostato al valore 0. 0 RO 3 Remote Fault = malfunzionamento al lato opposto del collegamento 0 RW 0 = nessun malfunzionamento 2:5 Technology Ability Campo di 8 bit contenente informazioni sulle 000 RW Field funzionalità specifiche delle tecnologie identificate dal valore del campo selector field cui si offre supporto. 4:0 Selector Field Campo di 5 bit che identifica il tipo di messaggio 0000 RO inviato per la negoziazione. Nel circuito Intel 82559 questo campo non è scrivibile (read only) e contiene il valore 0000b che indica lo standard IEEE 802.3. 08_SwFlowContr - 6
Local Device Link Partner Bit - PS Bit - PS2 Bit - PS Bit - PS2 Local Device resolution Link Partner resolution 0 0 Don t Don t Disable PAUSE Disable PAUSE care care TX & RX TX & RX 0 0 Don t Disable PAUSE Disable PAUSE care TX & RX TX & RX 0 0 Disable PAUSE Disable PAUSE TX & RX TX & RX 0 Enable PAUSE TX Enable PAUSE RX Disable PAUSE RX Disable PAUSE TX Asymmetric PAUSE Pause 0 0 Don t Disable PAUSE Disable PAUSE care TX & RX TX & RX Don t care Don t care Enable PAUSE Enable PAUSE TX & RX TX & RX Symmetric or Both Both Sym & Asym Pause 0 0 Disable PAUSE Disable PAUSE TX & RX TX & RX 0 Enable PAUSE RX Enable PAUSE TX Disable PAUSE TX Disable PAUSE RX Both Sym & Asym Pause Symmetric or Both Asymmetric PAUSE 08_SwFlowContr - 7
Flow control su switch: con buffer in uscita Switch con concatenamento tra output buffer e input port la saturazione di un buffer di uscita provoca l invio di Pause sulla porta d ingresso ad esso concatenata col flusso di traffico approccio non adottato dai produttori perché presenta più svantaggi che vantaggi il pacchetto di Pause su un link tra due switch penalizza anche i flussi di traffico che non congestionavano i buffer di uscita Soluzione adottata dai produttori: lo switch blocca la trasmissione su una porta se riceve il pacchetto di Pause, ma non può scatenare l invio del pacchetto di pause 08_SwFlowContr - 8
Calcolatore lento Calcolatore veloce Controllo di flusso asimmetrico Buffer Interfaccia Soglia di pausa Saturazione buffer Verso la CPU pause Calcolatore lento Calcolatore veloce Invio pause Buffer Interfaccia Soglia di pausa Saturazione buffer Verso la CPU 08_SwFlowContr - 9
pause Invio pause Buffer Interfaccia Soglia di pausa Saturazione buffer Verso la CPU Controllo di flusso simmetrico pause Buffer Interfaccia Invio pause Soglia di pausa Saturazione buffer Verso la CPU 08_SwFlowContr - 20
PC-5 2 3 Sym. or Both Pause 00 Mb/s 4 Sym. or Both Pause 00 Mb/s Sym. or Both Pause Sym. or Both Pause PC-8 PC-7 Controllo di flusso simmetrico 08_SwFlowContr - 2
2 3 PC-5 00 Mb/s 4 Output Buffer porta 4 00 Mb/s Soglia di pausa PC-8 Saturazione Buffer PC-7 Buffer Interfaccia Verso la CPU Soglia di pausa Saturazione Buffer 08_SwFlowContr - 22
2 3 PC-5 00 Mb/s 4 00 Mb/s Pause Output Buffer porta 4 PC-8 PC-7 Soglia di pausa Saturazione Buffer Buffer Interfaccia Invio Pause Soglia di pausa Saturazione Buffer Verso la CPU 08_SwFlowContr - 23
2 3 PC-5 00 Mb/s 4 Output Buffer porta 4 00 Mb/s Soglia di pausa PC-8 Saturazione Buffer PC-7 Buffer Interfaccia Verso la CPU Soglia di pausa Saturazione Buffer 08_SwFlowContr - 24
2 3 PC-5 00 Mb/s 4 00 Mb/s Pause Output Buffer porta 4 PC-8 PC-7 Soglia di pausa Saturazione Buffer Buffer Interfaccia Invio Pause Soglia di pausa Saturazione Buffer Verso la CPU 08_SwFlowContr - 25
2 3 PC-5 00 Mb/s Pause 4 00 Mb/s Output Buffer porta 4 PC-7 Invio Pause Soglia di pausa Saturazione Buffer PC-8 Buffer Interfaccia Verso la CPU Soglia di pausa Saturazione Buffer 08_SwFlowContr - 26
2 3 PC-5 00 Mb/s 4 Output Buffer porta 4 00 Mb/s Soglia di pausa Saturazione Buffer PC-8 PC-7 Buffer Interfaccia Verso la CPU Soglia di pausa Saturazione Buffer 08_SwFlowContr - 27
2 3 PC-5 4 Buffer Interfaccia 00 Mb/s 00 Mb/s Soglia di pausa Verso CPU Saturazione Buffer PC-8 PC-7 Buffer Interfaccia Verso la CPU Soglia di pausa Saturazione Buffer 08_SwFlowContr - 28
Sym. or Both Pause Sym. or Both Pause Sym. or Both Pause Stazione veloce Symmetric flow control Sym. or Both Pause Sym. or Both Pause Sym. or Both Pause Both Pause Both Pause Asymmetric flow control Asym. Pause Asym. Pause Stazione lenta Stazione lenta 08_SwFlowContr - 29
Switch-2 7 8 3 Switch- 2 9 Server-C 4 5 Switch-3 PC-X Server-B 9 0 Server-A 08_SwFlowContr - 30 PC-Y
Pause Switch-2 7 8 3 Switch- 2 9 Server-C 4 5 Switch-3 PC-X Server-B 9 0 Server-A 08_SwFlowContr - 3 PC-Y
Switch-2 7 8 3 Switch- Pause 2 9 Server-C 4 5 Blocca tutti i flussi! Switch-3 PC-X Server-B 9 0 Server-A 08_SwFlowContr - 32 PC-Y
Flow control su switch con buffer in ingresso Se un buffer di ingresso raggiunge la saturazione, a causa della congestione sulla porta di ingresso, invia un pacchetto Pause sulla porta interessata Se la matrice di commutazione è bloccante Se c è contesa per le porte di uscita No buffer in uscita Buffer in uscita saturi Se la matrice di commutazione dello switch è congestionata scatena l invio un pacchetto Pause su tutte le porte L invio del pacchetto di Pause avviene solo negli switch con matrice di tipo bloccante 08_SwFlowContr - 33
Switch-2 7 8 Server-C 3 4 Switch- 5 Controllo di flusso simmetrico 2 9 Switch-3 PC-X Server-B 9 0 Server-A 08_SwFlowContr - 34 PC-Y
Switch-2 7 8 Server-C 3 4 Switch- 5 Symmetric flow control Pause 2 9 Input Buffer porta Saturaz. Switch-3 PC-X Server-B 9 0 Server-A 08_SwFlowContr - 35 PC-Y
Switch-2 7 8 3 Switch- 2 9 Server-C 4 5 Pause Switch-3 PC-X Server-B Pause 9 0 Pause Server-A 08_SwFlowContr - 36 PC-Y
Approccio realistico su switch con buffer in uscita Si abita il flow control di tipo asimmetrico solo nelle connessioni tra switch e stazione compensa congestioni temporanee dei buffer d ingresso delle interfacce di rete delle stazioni soluzione non ideale, ma può essere un buon compromesso in certe condizioni di traffico 08_SwFlowContr - 37
Switch-2 7 8 Server-C 3 4 Switch- 5 NIENTE controllo di flusso 2 9 Controllo di flusso asimmetrico Switch-3 PC-X Server-B Server-A Controllo di flusso asimmetrico PC-Y 9 0 Controllo di flusso asimmetrico 08_SwFlowContr - 38