Controllo di flusso negli switch IEEE 802.3x
Transcript
Controllo di flusso negli switch IEEE 802.3x
Novembre 2002 Novembre 2002 Nota di Copyright Controllo di flusso negli switch IEEE 802.3x Mario Baldi Pietro Nicoletti Politecnico di Torino Studio Reti [email protected] staff.polito.it/mario.baldi [email protected] www.studioreti.it ! ! ! ! ! Basato sul capitolo 8 di: M. Baldi, P. Nicoletti, “Switched LAN”, McGraw-Hill, 2002, ISBN 88-386-3426-2 M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: 08_SwFlowContr - 1 Novembre 2002 Full duplex e standard 802.3x Le LAN sono strutture intrinsecamente half-duplex: ! trasmette ! M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: 08_SwFlowContr - 2 Novembre 2002 Half o full duplex? ! ! Questo insieme di trasparenze (detto nel seguito slides) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slides (ivi inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio, musica e testo) sono di proprietà degli autori indicati a pag. 1. Le slides 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 slides è 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 slides (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 slides. In ogni caso questa nota di copyright non deve mai essere rimossa e deve essere riportata anche in utilizzi parziali. una sola stazione per volta Lo switching ridimensiona molto il ruolo del mezzo fisico condiviso: 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 ! spesso il mezzo trasmissivo diventa punto-punto: sono collegati unicamente la stazione e lo switch ! I mezzi trasmissivi punto-punto possono essere fullduplex: D0 D1 D2 D3 D4 D5 rsvd rsvd rsvd rsvd rsvd FD le stazioni possono trasmettere contemporaneamente ! le trasmissioni avvengono su canali fisici diversi D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 HD PS1 PS2 rsvd rsvd rsvd RF1 RF2 Ack NP ! entrambe 0 1 Half Duplex 0 0 No error, Link OK 1 0 Full Duplex 0 1 Offline 1 0 Link Failure 1 Auto-Negotiation Error 1 08_SwFlowContr - 3 M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: 08_SwFlowContr - 4 M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: Novembre 2002 Novembre 2002 Modalità di funzionamento full duplex ! I transceiver half e full duplex Non viene più utilizzato il MAC CSMA-CD ! la stazione Ethernet trasmette immediatamente il pacchetto senza mettersi in ascolto sul canale trasmissivo CI Adottato sicuramente nelle connessioni tra switch, meno frequentemente tra switch e stazione ! Necessita di particolari transceiver in cui non viene rilevata la collisione: CABLE MAU TX Coll. detect DI Coll. detect DI MAU solo dalle caratteristiche del canale trasmissivo ! è indipendente dal diametro del dominio di collisione Connessioni tra Transceiver per link Full-Duplex CI DO RX ! dipende Novembre 2002 RX TX DO CI Connessioni tra Transceiver tradizionali (più vecchi) CI DO La distanza tra due stazioni Ethernet full-duplex M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: DI Coll. detect MAU transceiver normali inviano un segnale di collisione all’interfaccia quando si ha la presenza di attività contemporanea su TX e RX RX CABLE MAU DO = Data Output DI = Data Input CI = Collision Input 08_SwFlowContr - 6 M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: Novembre 2002 Limiti di distanza ! Coll. detect RX !i 08_SwFlowContr - 5 TX DI ! ! TX DO Controllo di flusso: IEEE 802.3x In Ethernet full-duplex: ! ! nel caso del doppino telefonico la distanza massima è di 100 m ! nel caso di fibra ottica multimodale 62.5/125 µ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: ! ! 08_SwFlowContr - 7 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 (10/100/1000 Mb/s) ! Obbligatorio su Gigabit Ethernet, opzionale su Ethernet e Fast Ethernet fibra monomodale 75 Km fibra monomodale dispertion-shift 100 Km M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: 08_SwFlowContr - 8 M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: Novembre 2002 Novembre 2002 Modello OSI e IEEE 802.3x ! Controllo di flusso IEEE 802.3x introduce un sottolivello (MAC Control) tra il MAC 802.3 e il sottolivello superiore (Bridge Relay Entity, LLC, ...) Modello ISO/OSI 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 Sottolivelli per LAN 802 Applicazione Presentazione Sessione Trasporto Rete Data Link Fisico ! ! Sottolivello LLC 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 MAC Control (opzionale) MAC - Media Access Control M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: 08_SwFlowContr - 9 Novembre 2002 M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: 08_SwFlowContr - 10 Novembre 2002 Pacchetto PAUSE Tempo di pausa ! 1 ottetto 08_SwFlowContr - 11 ! 6 ottetti Destination Address 6 ottetti Source Address 2 ottetti 2 ottetti 2 ottetti Legth/Type = 8808 OpCode = 00-01 (PAUSE) Pause_time (pause-quanta) 42 ottetti PAD (tutti 0) 4 ottetti FCS (01-80-C2-00-00-01) Campo Pause_time: contiene il numero di pause-quanta (da 0 a 65535) che indicano il tempo di pausa ! pause-quanta = 512 bit time ! velocità uguali o inferiori a 100 Mb/s ! M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: T-Pause in bit time = pause-quanta * 512 ! velocità ! 08_SwFlowContr - 12 superiori a 100 Mb/s T-Pause in bit time = pause-quanta * 512 * 2 M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: Novembre 2002 Novembre 2002 IEEE 802.3x: modalità flow control ! Flow Control negotiation Esistono due meccanismi di controllo di flusso: ! modalità ! asimmetrica Negoziazione flow control tramite codifica su Burst FLP (Fast Link Pulse) ! inviato inizialmente dai due partner in fase si negoziazione dei parametri del link 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 M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: 08_SwFlowContr - 13 Novembre 2002 Novembre 2002 Flow control: codifica su FLP Reg.4 Flow control: codifica su FLP Reg.4 Technology Ability Field D0 D1 D2 D3 D4 D5 rsvd rsvd rsvd rsvd rsvd FD 08_SwFlowContr - 15 M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: 08_SwFlowContr - 14 D6 D7 D8 D9 Register 4: Auto-Negotiation Advertisement Register D10 D11 D12 D13 D14 D15 HD PS1 PS2 rsvd rsvd rsvd RF1 RF2 Ack 0 0 No Pause 0 1 Asymmetric Pause verso il link partner 1 0 Symmetric Pause 1 1 Symmetric Pause e Asymmetric Pause (tipo “Both”) verso il local device Bit(s) Nome Descrizione Default R/W NP 0 0 No error, Link OK 0 1 Offline 1 0 Link Failure 1 1 Auto-Negotiation Error M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: 15 Next Page Constant 0 = trasmissione della pagina con le capacità 0 primarie RO 14 Reserved Riservato. Deve essere impostato al valore 0. 0 RO 13 Remote Fault 1 = malfunzionamento al lato opposto del collegamento 0 0 = nessun malfunzionamento RW 12:5 Technology Ability Campo di 8 bit contenente informazioni sulle Field funzionalità specifiche delle tecnologie identificate dal valore del campo selector field cui si offre supporto. 00101111 RW 4:0 Selector Field 00001 08_SwFlowContr - 16 Campo di 5 bit che identifica il tipo di messaggio inviato per la negoziazione. Nel circuito Intel 82559 questo campo non è scrivibile (read only) e contiene il valore 00001b che indica lo standard IEEE 802.3. RO M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: Novembre 2002 Novembre 2002 Local Device Link Partner Local Device resolution Link Partner resolution Bit - PS1 Bit - PS2 Bit - PS1 Bit - PS2 0 0 Don’t care Don’t care Disable PAUSE TX & RX Disable PAUSE TX & RX 0 1 0 Don’t care Disable PAUSE TX & RX Disable PAUSE TX & RX 0 1 1 0 Disable PAUSE TX & RX Disable PAUSE TX & RX 0 1 1 1 Enable PAUSE TX Disable PAUSE RX Enable PAUSE RX Disable PAUSE TX Asymmetric AsymmetricPAUSE Pause 1 0 1 Don’t care Both Sym & Asym Pause Symmetric or Both 1 1 1 1 Both Sym & Asym Pause 0 Don’t care Disable PAUSE TX & RX Disable PAUSE TX & RX 1 Don’t care Enable PAUSE TX & RX Enable PAUSE TX & RX Symmetric or Both 0 0 Disable PAUSE TX & RX Disable PAUSE TX & RX 0 1 Enable PAUSE RX Disable PAUSE TX Enable PAUSE TX Disable PAUSE RX Asymmetric PAUSE M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: 08_SwFlowContr - 17 Novembre 2002 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 M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: 08_SwFlowContr - 18 Novembre 2002 pause Calcolatore lento Buffer Interfaccia Buffer Interfaccia Calcolatore veloce Verso la CPU Controllo di flusso asimmetrico Soglia di pausa Verso la CPU Invio pause Saturazione buffer pause Soglia di pausa Saturazione buffer Controllo di flusso simmetrico pause Calcolatore lento Buffer Interfaccia Calcolatore veloce Buffer Interfaccia Verso la CPU Invio pause Verso la CPU Invio pause Soglia di pausa Saturazione buffer 08_SwFlowContr - 19 M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: Soglia di pausa Saturazione buffer 08_SwFlowContr - 20 M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: Novembre 2002 Novembre 2002 PC-5 PC-5 2 Sym. or Both Pause 1 2 3 1 4 3 4 Sym. or Both Pause 100 Mb/s 100 Mb/s 100 Mb/s 100 Mb/s Output Buffer porta 4 Sym. or Both Pause Sym. or Both Pause PC-8 Soglia di pausa PC-8 Saturazione Buffer Controllo di flusso simmetrico PC-7 PC-7 Buffer Interfaccia Verso la CPU Soglia di pausa Saturazione Buffer M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: 08_SwFlowContr - 21 Novembre 2002 M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: 08_SwFlowContr - 22 Novembre 2002 PC-5 2 3 1 4 PC-5 Pa100 Mb/s us e 100 Mb/s 2 3 1 4 100 Mb/s 100 Mb/s Output Buffer porta 4 Output Buffer porta 4 PC-8 Soglia di pausa Saturazione Buffer Soglia di pausa PC-7 Saturazione Buffer PC-8 PC-7 Buffer Interfaccia Buffer Interfaccia Verso la CPU Invio Pause Verso la CPU Soglia di pausa Soglia di pausa Saturazione Buffer 08_SwFlowContr - 23 M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: Saturazione Buffer 08_SwFlowContr - 24 M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: Novembre 2002 Novembre 2002 PC-5 2 3 1 4 PC-5 Pa100 Mb/s us e 100 Mb/s 100 Mb/s 2 3 1 4 100 Mb/s e us Pa Output Buffer porta 4 Output Buffer porta 4 PC-8 PC-8 Invio Pause Soglia di pausa PC-7 Saturazione Buffer PC-7 Buffer Interfaccia Soglia di pausa Saturazione Buffer Buffer Interfaccia Verso la CPU Invio Pause Verso la CPU Soglia di pausa Soglia di pausa Saturazione Buffer Saturazione Buffer M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: 08_SwFlowContr - 25 Novembre 2002 M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: 08_SwFlowContr - 26 Novembre 2002 PC-5 2 3 1 4 PC-5 100 Mb/s 100 Mb/s 100 Mb/s Output Buffer porta 4 2 3 1 4 Buffer Interfaccia 100 Mb/s Soglia di pausa Verso CPU Saturazione Buffer Soglia di pausa PC-8 PC-8 Saturazione Buffer PC-7 PC-7 Buffer Interfaccia Buffer Interfaccia Verso la CPU Verso la CPU Soglia di pausa Soglia di pausa Saturazione Buffer 08_SwFlowContr - 27 M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: Saturazione Buffer 08_SwFlowContr - 28 M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: Novembre 2002 Novembre 2002 Switch-2 Sym. or Both Pause 1 Sym. or Both Pause 8 Sym. or Both Pause 1 Gb/s 1 Gb/s 3 Switch-1 1 Gb/s Server-C Sym. or Both Pause Sym. or Both Pause 9 2 1 Symmetric flow control Stazione veloce 7 4 Sym. or Both Pause 1 Gb/s 5 1 1 Gb/s Switch-3 Both Pause Both Pause Server-B 9 Asymmetric flow control Asym. Pause PC-X 10 Asym. Pause Server-A Stazione lenta Stazione lenta M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: 08_SwFlowContr - 29 Novembre 2002 PC-Y 08_SwFlowContr - 30 M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: Novembre 2002 Switch-2 Switch-2 7 1 1 8 1 Gb/s 1 Gb/s 3 Switch-1 Server-C 8 1 Gb/s 9 2 1 1 Gb/s 3 Pa us e Switch-1 Server-C 4 1 Gb/s 7 1 1 Gb/s e us Pa 9 2 Blocca tutti i flussi ! 1 Gb/s 4 1 Gb/s 5 5 1 1 Gb/s 1 1 Gb/s Switch-3 PC-X Server-B Switch-3 PC-X Server-B 9 10 9 Server-A 08_SwFlowContr - 31 10 Server-A PC-Y M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: 08_SwFlowContr - 32 PC-Y M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: Novembre 2002 Novembre 2002 Switch-2 Flow control su switch con buffer in ingresso ! 1 8 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 ! ! ! 7 1 Gb/s 1 Gb/s 3 Switch-1 Controllo di flusso simmetrico Server-C 4 1 Gb/s No buffer in uscita Buffer in uscita saturi 9 2 1 1 Gb/s 5 1 1 Gb/s Switch-3 Se la matrice di commutazione dello switch è congestionata scatena l’invio un pacchetto Pause su tutte le porte Server-B 9 ! L’invio del pacchetto di Pause avviene solo negli switch con matrice di tipo bloccante 10 Server-A M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: 08_SwFlowContr - 33 PC-X Novembre 2002 PC-Y 08_SwFlowContr - 34 M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: Novembre 2002 Switch-2 Switch-2 7 1 1 8 3 Switch-1 5 Pause 4 1 Gb/s 3 1 Gb/s Server-C Symmetric flow control 1 Gb/s 9 2 1 8 1 Gb/s Input Buffer porta 1 Switch-1 1 Gb/s Server-C 4 1 Gb/s 5 1 Saturaz. 1 Gb/s 9 2 1 Pause 1 Gb/s 1 Gb/s 7 1 1 Gb/s Switch-3 PC-X Server-B Switch-3 PC-X Server-B 9 10 08_SwFlowContr - 35 9 10 se Server-A se u Pa u Pa Server-A PC-Y M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: 08_SwFlowContr - 36 PC-Y M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: Novembre 2002 Novembre 2002 Switch-2 Approccio realistico su switch con buffer in uscita ! 1 8 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 7 1 Gb/s 1 Gb/s 3 Switch-1 Server-C 4 1 Gb/s 5 9 2 1 NIENTE 1 Gb/s controllo di flusso Controllo di flusso asimmetrico 1 1 Gb/s PC-X Switch-3 Server-B 9 Server-A Controllo di flusso asimmetrico 08_SwFlowContr - 37 M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: 08_SwFlowContr - 38 10 Controllo di flusso asimmetrico PC-Y M. Baldi: see page 2 Copyright ©2002 - M. Baldi - © P. Nicoletti: