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: