Switch-Architekturen

32
Switch- Switch- Architekturen Architekturen Prof. Dr. W. Riggert Prof. Dr. W. Riggert mit überarbeiteten Abbildungen von mit überarbeiteten Abbildungen von Cisco Cisco Systems Systems

description

Switch-Architekturen. Prof. Dr. W. Riggert mit überarbeiteten Abbildungen von Cisco Systems. Inhalt. Das Tutorial ist in vier Abschnitte gegliedert. - PowerPoint PPT Presentation

Transcript of Switch-Architekturen

Page 1: Switch-Architekturen

Switch-ArchitekturenSwitch-ArchitekturenSwitch-ArchitekturenSwitch-ArchitekturenProf. Dr. W. RiggertProf. Dr. W. Riggert

mit überarbeiteten Abbildungen vonmit überarbeiteten Abbildungen von

CiscoCisco Systems Systems

Page 2: Switch-Architekturen

Prof. Dr. W. Riggert 2

Inhalt

• Das Tutorial ist in vier Abschnitte gegliedert.

• Abschnitt 1 definiert grundlegende Begriffe, Abschnitt 2 behandelt das Scheduling, Abschnitt 3 stellt Switch-Implementationen vor und der letzte Abschnitte geht auf die Realisierung von Switching-Fabrics ein.

• Das Ziel besteht darin, Switching-Methoden, Puffermechanismen und den Aufbau von Switches zu verstehen.

Begriffe SchedulingSwitch-Implementationen Switching-Fabrics

Page 3: Switch-Architekturen

Prof. Dr. W. Riggert 3

Begriffe 1

• Switching fabricSwitching fabric - verweist auf den Aufbau eines Switches, dessen interne Mechanismen und Verfahren die Daten vom Eingangs- zum Ausgangsport leiten.

• QueuingQueuing - bezeichnet alle Puffermechanismen, die zur Kontrolle von Überlastsituationen eingesetzt werden.

• Distributed switchingDistributed switching - Implementationen, bei denen Switching-Entscheidungen an einem lokalen Port getroffen werden.

Page 4: Switch-Architekturen

Prof. Dr. W. Riggert 4

Begriffe 2• OversubscriptionOversubscription - Zustand, in dem die Summe der

Bandbreite aller Ports die interne Weiterleitkapazität des Switches übersteigt. Diese potentielle Problemlage wird als Blocking bezeichnet

• Non-blockingNon-blocking - Zustand, in dem die Bandbreite des Switches ausreicht, die Summe aller Übertragungen der einzelnen Ports abzudecken.

• Head-of-line blockingHead-of-line blocking - bezieht sich auf ein subtiles Problem. Es spiegelt die Überlastsituation an einem Outputport wider, der keine weiteren Zellen mehr entgegennehmen kann. Befinden sich in diesem Datenstrom hinter dieser an den überlasteten Port gerichteten Zelle weitere Zellen an andere Outputports, können diese nicht zugestellt werden. Die nichtzustellbare Zelle eines überlasteten Outputports verstopft damit den gesamten Datenfluss.

Page 5: Switch-Architekturen

Prof. Dr. W. Riggert 5

Definition : Switching

• Switches transferieren Daten von einem Input- zu einem Outputport.

• Ein Switch ermöglicht den Aufbau mehrerer simultaner und unab- hängiger Verbindungen zwischen einzelnen Switch-Ports.

• Switches arbeiten auf der zweiten oder einer höheren Schicht des OSI-Referenzmodells

Data In

Data In

Input Output Data OutData Out

Switch

Page 6: Switch-Architekturen

Prof. Dr. W. Riggert 6

Layer 2 vs. Layer 3 Switching

PaketPaket PaketPaket PaketPaket PaketPaket

Routing Routing TabelleTabelle

Layer 3 Switching : Die zugrundeliegende Idee besteht darin, dass ein Datenfluss zwischen Endsystemen

unterschiedlicher Subnetze nach anfänglichem konventionellen Routing auf ein “Switching” umgestellt

werden kann

Layer 2 Switching : Für diese Art der Paketweiterleitung spielt lediglich die MAC-Adresse

der Schicht 2 eine Rolle.

Page 7: Switch-Architekturen

Prof. Dr. W. Riggert 7

Überlast-Management

• Überlastsituationen entstehen, wenn mehrere Inputports um einen gemeinsamen Outputport konkurrieren.

• Diese Situation tritt ein, wenn mehrere Benutzer auf einen Server zugreifen wollen und in einem „geswitchten“ Netz alle Stationen über einer gesonderten Portanschluß verfügen.

Switching FabricSwitching Fabric

Server

UnabhängigeNutzer

Page 8: Switch-Architekturen

Prof. Dr. W. Riggert 8

Dynamischer Pufferaufbau

• Zur Realisierung der Zwischenspeicherung von Datenpaketen kann der Puffer aus dynamischen oder statischen Einheiten aufgebaut sein.

• Der dynamische Puffer ist in kleine Allokationseinheiten (hier 64 Bytes) eingeteilt.

• In Abhängigkeit von der Größe der Allokationseinheit kann es zu Speicherverschwendung kommen; eine zu kleine Wahl hingegen führt zu einer übermäßigen Fragmentierung der Pakete.

3*64-Byte Pakete nutzen 192 Bytes des Speichers

Ein 256-Byte Paket nutzt 256 Bytes des Speichers

Unbenutzter Speicher

Page 9: Switch-Architekturen

Prof. Dr. W. Riggert 9

Statischer Puffer

• Zur optimalen Anpassung an die Paketgröße können feste Speicherblöcke in Einheiten der maximalen Paketgröße als Allokationseinheit gewählt werden.

• Werden allerdings eine Vielzahl von Paketen geringerer Größe übertragen, kommt es zu Speicherverschwendung

Ein 64-Byte Paket belegt einen 2000-Byte Block

Ein 256-Byte Paket belegt ebenfalls einen 2000-Byte Block

Verschwendeter Speicherplatz

2000 Byte Block

Page 10: Switch-Architekturen

Prof. Dr. W. Riggert 10

Inputport-Pufferung• Die Plazierung der Puffer eines

Switches lässt drei Möglichkeiten zu :– Inputport– Outputport– Memory-Pool innerhalb des

Switches• Bei der Inputport-Technik werden

Pakete auf der Inputseite zwischen- gespeichert und für den Output in Abhängigkeit vom Zustand des Inputports freigegeben. Die Wahl ist naheliegend, weil jeder Port nur die Pufferkapazität benötigt, die die bei ihm ankommenden Zellen verlangen.

Input Port

Output Port

Data Data OutOut

Data Data InIn

Page 11: Switch-Architekturen

Prof. Dr. W. Riggert 11

Outputport-Pufferung• Der Zelltransfer durch den

Switch verlangt auf der Ausgabeseite große Puffer. Da der Verkehrsstrom innerhalb eines Switches theoretisch von jedem Inputport zu einem einzigen Outputport verlaufen kann, muss die Pufferkapazität jedes Ports die gesamte ankommende Zelllast aufnehmen können.

• In Zeiten von Überlast kann ein Outputport zudem Zellen ver- werfen. Da diese Zellen aber zuvor im Switch transportiert wurden, verschwenden sie wertvolle Ressourcen.

Input Port

Output

Port

Data Data InIn

Data Data OutOut

Page 12: Switch-Architekturen

Prof. Dr. W. Riggert 12

Pufferung mit geteilten Outputschlangen

• Der gesamte Pufferplatz wird innerhalb des Switches zwischen allen Ports geteilt.

• Alle Pakete eines Puffers besitzen das gleiche Ziel.

• Diese Konzeption umgeht das HOL-Blocking

Data Out to Data Out to Port 1Port 1

Data Out to Data Out to Port 3Port 3

Data Out to Data Out to Port 9Port 9

Data Out to Data Out to Port 2Port 2

Data Data InIn

Page 13: Switch-Architekturen

Prof. Dr. W. Riggert 13

HOL-Blocking Beispiel

• Da Server A überlastet ist und keine Pakete mehr entgegennimmt, die Daten an Server B in der Reihenfolge aber nach denen an Server A kommen und nur ein Bus im Switch zur Verfügung steht, kommt es auch zu keiner Paketzustellung an Server B. Da beide Nutzer an den gleichen Port angeschlossen sind, füllt sich der Inputport-Puffer zunächst nur mit Daten für Server A.

Switching FabricSwitching Fabric

Datentransferan Server A

Datentransferan Server B

Server A

Server B

ÜberlasteteVerbindung

Nutzer A und B sind an dengleichen Switchport angeschlossen

Page 14: Switch-Architekturen

Prof. Dr. W. Riggert 14

Mehrere Pufferschlangen pro Output-Port

• Diese Art der Paketweiter- leitung unterstützt Dienstgüten.

• Probleme entstehen, wenn keine Differenzierung der Anwendungen hinsichtlich Prioritäten stattfindet.

• Zusätzlich muss der Switch einen Mechanismus zur Interpretation von Prioritäten kennen.

• Anwendungen geringer Priorität können durch ihre Diskriminierung Retransmissionen und damit steigende Netzlast auslösen.

Kritische Daten,hohe Priorität

Unkritische Daten,geringe Priorität

Data InData In

Page 15: Switch-Architekturen

Prof. Dr. W. Riggert 15

Prioritätsscheduling -Weighted Round Robin-

Verfahren• Für die unterschiedlichen

Puffer- schlangen an den Outputports können benutzerdefinierte Gewichte vergeben werden.

• Der Scheduler erzwingt die Einhaltung der Verkehrsverteilung gemäß dieser Gewichte, d.h Anwendungen der höchsten Prioritätsklasse (Queue 0) erhalten einen bestimmten festgelegten Bandbreitenbetrag

Queue 0Gewicht = w

Queue 1Gewicht = x

Queue 2Gewicht = y

Queue 3Gewicht = z

= w= w (w+x+y+z)(w+x+y+z)

= x= x (w+x+y+z)(w+x+y+z)

= y= y (w+x+y+z)(w+x+y+z)

= z= z (w+x+y+z)(w+x+y+z)

Page 16: Switch-Architekturen

Prof. Dr. W. Riggert 16

Weighted Round Robin - Beispiel

Output-Output-

SchlangeSchlangeGewichtGewicht

ZugewieseneZugewiesene

BandbreiteBandbreite

QoS-0QoS-0

QoS-1QoS-1

QoS-2QoS-2

QoS-3QoS-3

1515 43 Mbps43 Mbps

1313 37 Mbps37 Mbps

14 Mbps14 Mbps

6 Mbps6 Mbps22

55

WRR BerechnungWRR Berechnung

=(15/(15+13+5+2)) x 100

=(13/(15+13+5+2)) x 100

=(5/(15+13+5+2)) x 100

=(2/(15+13+5+2)) x 100

Insgesamt steht eine Bandbreite von 100 Mbps zur Verfügung

Page 17: Switch-Architekturen

Prof. Dr. W. Riggert 17

Weighted Round Robin - Arbeitsweise

• Während der Übertragung räumt der Algorithmus den Schlangen mit der höchsten Priorität absoluten Vorrang ein, mit der Folge, dass die Warteschlangen niedriger Priorität verlängerte Latenzzeiten in Kauf nehmen müssen. Um Übertragungen mit niedriger Priorität nicht über- mäßig zu diskriminieren, werden für die Warteschlangen Kapazi- tätsbegrenzungen berücksichtigt, so dass auch der Datenstrom geringer Priorität eine garantierte Übertragungszeit erhält.

IP-Verkehrhohe

Priorität

IP-VerkehrgeringePriorität

RSVP-Verkehr

WRR Scheduler

UnterschiedlicheGewichte bestim-

men die QoS-Politik

Outputport

Page 18: Switch-Architekturen

Prof. Dr. W. Riggert 18

Switching-Implementierung

• Eine Switching-Implementation beschreibt, wo die Weiterleit- entscheidung getroffen wird.

• Die notwendigen Tabellen können zentral oder verteilt an den einzelnen Ports vorliegen.

• Bei Verwendung einer zentralen Routingtabelle ist der Suchvor- gang in ASIC‘s realisiert.

• Diese Variante wird in Bus- und Shared Memory-Architekturen bevorzugt.

LookupTabelle

LookupTabelle

LookupTabelle

Switching FabricSwitching Fabric

Forwarding oder Forwarding oder Routing TabelleRouting Tabelle

CPU 00-0e1-00-00-00-00 2/3

Page 19: Switch-Architekturen

Prof. Dr. W. Riggert 19

Route Caching - Prinzip• Auf der Seite der Inputports

können zur Steigerung der Weiterleitung “Route Caches” eingeführt werden. Sobald der Switch ein Paket empfängt, wird die Ziel-IP-Adresse in einer Liste häufig benutzter IP-Adressen - dem Cache - gesucht. Im Falle, dass kein Eintrag existiert, muss der Switch auf eine Routingtabelle oder den Layer-2-Switchprozeß zurückgreifen.

• Route Caches können auf der Identifikation von Quell-, Zieladressen oder TCP/UDP-Portnummern basieren.

Routing TabelleRouting TabelleRouteRouteProcessorProcessor

•••

A3BBC1

Ethernet 1FDDI 2Ethernet 5

zentraler Routing Cachezentraler Routing Cache

LokalerRouteCache

LokalerRouteCache

Switching FabricSwitching Fabric

LokalerRouteCache

LokalerRouteCache

Page 20: Switch-Architekturen

Prof. Dr. W. Riggert 20

Route Caching - Ablauf• Das erste Paket eines Datenflus-

ses wird durch den Route Prozes- sor und die zentrale Routing-tabelle bearbeitet.

• Alle nachfolgenden Pakete können durch den lokalen Route Cache am Inputport gesteuert werden, so dass der Route Prozessor nicht mehr belastet wird.

• Notwendig für eine erfolgreiche Durchführung des Verfahrens ist eine Synchronisierung der zentra- len und lokalen Tabelleneinträge

Routing TabelleRouting TabelleRouteRouteProcessorProcessor

•••

A3BBC1

Ethernet 1Gig E-net 1/0Fast Ethernet 2/0

Central Routing CacheCentral Routing Cache

Lokaler RouteCacheLokaler RouteCache

LokalerRouteCacheLokalerRouteCache

SA

C1

DA Interface

BB FE2/0

Switching FabricSwitching Fabric

Page 21: Switch-Architekturen

Prof. Dr. W. Riggert 21

Switching-Fabrics

• Ein idealer Switch würde die Pakete von jedem Quell- zum Zielsegment ohne Verzögerung leiten. Dabei würden die Stationszahl oder die operationalen Unterschiede wie Dienstgüte oder Verkehrslast keine Rolle spielen. Um sich dieser Idealvorstellung zu nähern, existieren unterschiedliche Architekturentwürfe :– Crossbar oder Matrix-Architektur– Busarchitektur– Shared Memory-Architektur

Page 22: Switch-Architekturen

Prof. Dr. W. Riggert 22

Single Bus Architektur

• Der Bus ist das zentrale Element des Datentransfers innerhalb des Switches.

• Jeder Port mit unterschiedlichen Technologien erhält Zugriff auf den Bus. Die zentrale Verarbeitung der Pakete gestattet eine Filterung und Fehlererkennung.

• Da der Bus die einzige Transportressource darstellt, besteht die Gefahr einer Bandbreitenerschöpfung.

Ethernet Switch Module

Fast Ethernet Switch Module

FDDI Uplink Module

ATM Uplink Module

Forwarding Forwarding TabelleTabelle

CPU

00-0e1-00-00-00-00 2/3

Page 23: Switch-Architekturen

Prof. Dr. W. Riggert 23

Single Bus - Unicast-Transport

• Erreicht ein Paket den Inputport des Switches, wird es an die Switching Engine weitergeleitet. Zuvor analysiert der Adress-ASIC das Paket hinsichtlich Ziel- und Quelladresse.

• Sobald die Zieladresse in der Forwarding-Tabelle gefunden wurde, wird das Paket an den ermittelten Outputport gesendet. Enthält die Tabelle nicht die Zieladresse, wird das Paket auf alle Ports „geflutet“.

Nutzer A Nutzer B

Forwarding TabelleForwarding Tabelle

•••

Nutzer A Mod3/Port12 Nutzer B Mod5/Port2

Page 24: Switch-Architekturen

Prof. Dr. W. Riggert 24

Single Bus - Multicast-/Broadcast-

Transport• Mulicasts sind auf

ausgewählte Ports begrenzt.• Jeder Port kann die

Multicast-/Broadcast Pakete während des Flusses über den zentralen Bus gesondert kopieren. Die gezielte Zustellung ist daher sehr einfach.

Multicast TabelleMulticast Tabelle

Multicast Sender

MulticastEmpfänger A

MulticastEmpfänger B

•••

Multicast A Mod3/Port12 Mod3/Port12

Page 25: Switch-Architekturen

Prof. Dr. W. Riggert 25

Crossbar-Architektur

• Pakete werden auf ihre Adresse analysiert und über eine Matrix aus Punkt-zu-Punkt-Verbindungen an den betreffenden Outputport weitergeleitet.

• Mehrere Inputbusse führen zu einem komplexeren Aufbau der Forwarding-Tabelle.

Module 1

Module 2

Module 3

Module 4

Module 5

Module 1 Module 2 Module 3 Module 4 Module 5

Forwarding Forwarding TabelleTabelle

00-0e1-00-00-00-00 2/3

CPU

Page 26: Switch-Architekturen

Prof. Dr. W. Riggert 26

Crossbar - Unicast-Transport

• Crossbar-Switches besitzen den Vorteil, dass sie wesentlich leichter skalierbar sind, als andere vorgeschlagene Architekturen. Da jede Verbindung zwischen Input- und Outputport einen dedizierten Pfad durch den Switch darstellt, bedeutet das Hinzufügen weiterer Pfade eine Erhöhung der Bandbreite.

• Da ein direkter Link naturgemäß die schnellste Kommunikation zwischen zwei Punkten ermöglicht, ist die Zeit des Verbindungsaufbaus zwischen Input- und Outputport ein entscheidender Faktor.

Module 1

Module 2

Module 3

Module 4

Module 5

Module 1 Module 2 Module 3 Module 4 Module 5

Page 27: Switch-Architekturen

Prof. Dr. W. Riggert 27

Crossbar - Multicast-Transport

• Datenverkehr, der an mehrere Outputports gerichtet ist, muss mehrfach repliziert und in mehrere lokale Portspeicher gestellt werden. Da für eine korrekte Zustellung ferner die Switching Engine keine weiteren Paketverarbeitungen vornehmen darf, bildet die Multicast-Weiterleitung eine Schwäche dieser Architektur

Module 1

Module 2

Module 3

Module 4

Module 5

Module 1 Module 2 Module 3 Module 4 Module 5

Page 28: Switch-Architekturen

Prof. Dr. W. Riggert 28

Shared Memory-Architektur

• Switches dieses Prinzips besitzen pro Port einen eigenen Prozessor, der dynamisch Punkt-zu-Punkt-Verbindungen über einen zentralen Bus aufbaut. Alle Ports greifen über diesen Bus auf einen Pool von Puffern zu, der zwischen den Input- und Outputports geteilt wird. Einlaufende Pakete werden in den Pool geschrieben, zu sendende Pakete werden aus ihm gelesen

Module 1

Module 2

Module 3

Module 4

Module 5

Module 6

Module 7

Module 8

Module 9

Module 10

Page 29: Switch-Architekturen

Prof. Dr. W. Riggert 29

Shared Memory - Arbeitsweise

Module 1

Module 2

Module 3

Module 4

Switching EngineSwitching EngineSwitching EngineSwitching Engine

HiochgeschwindigkeiHiochgeschwindigkeitstsSwitching ASIC für Switching ASIC für schnelle schnelle SwitchentscheidungSwitchentscheidung

Shared Memory

CPU00-0e1-00-00-00-00 2/3

Hochgeschwindigkeits-Hochgeschwindigkeits-Datentransfer in den Datentransfer in den Speicher verringert die Speicher verringert die BlockingwahrscheinlichkBlockingwahrscheinlichkeiteit

Großer Pool an dynamisch Großer Pool an dynamisch zuweisbarem Speicherzuweisbarem Speicher

Page 30: Switch-Architekturen

Prof. Dr. W. Riggert 30

Shared Memory - Unicast Transport

• Die Datenpakete erreichen den Switch über einen Inputport und werden von dort direkt an das Shared Memory weitergeleitet.

• Die Switching-Engine bestimmt mit Hilfe der Forwarding-Tabelle den Zielport.

• Das Paket wird an den errechneten Zielport weitergeleitet.

Module 3

Module 4

SwitchingSwitchingEngineEngine

SwitchingSwitchingEngineEngine

SharedMemory

Forwarding Forwarding TabelleTabelle

00-0e1-00-00-00-00 2/3

Module 1

Module 2

Page 31: Switch-Architekturen

Prof. Dr. W. Riggert 31

Shared Memory - Multicast Transport

• Datenpakete erreichen den Switch auf Port 1. Ein Blick in die Multicasttabelle zeigt, dass die empfangenen Pakete eine Multicast-Adresse als Ziel tragen.

• Die Switching-Engine baut eine Verbindungsliste für die Ports 2-4 auf.

• Die Pakete werden kopiert und an die entsprechenden Ports geleitet.

Module 3

Module 4

SwitchingSwitchingEngineEngine

SwitchingSwitchingEngineEngine

SharedMemory

Multicast Multicast TabelleTabelle

00-0e1-00-00-00-00 2/3

Module 1

Module 2

Page 32: Switch-Architekturen

Prof. Dr. W. Riggert 32

Shared Memory - HOL-Blocking Unterdrückung

• Inputport 1 übertrage einen langen Rahmen an Outputport 2, während gleichzeitig Quellport 3 einen Rahmen an den Zielport 2 senden möchte. Quellport 3 kopiert den Rahmen an eine Stelle Y im Shared Memory-Bereich, wo er solange verweilt, bis der Outputport frei ist. Erhält der Inputport 3 nun weitere Rahmen an Port 4, kopiert er diese an eine andere Stelle Z des gemeinsamen Speichers. Obgleich der erste Rahmen von Port 3 auf den Port 2 wartet, kann unabhängig davon, der später erhaltene Datenfluß an Port 4 nun vorrangig weitergeleitet werden.