Hallo zusammen,
ich befasse mich gerade mit Ethernet-Netzwerken, aber eine Frage kann ich mir nicht erklären:
Ein Switch arbeitet ja auf Ethernet-Ebene und leitet die ankommenden Ethernet-Pakete an den entsprechenden Port weiter. Dafür legt er eine Zuordnungstabelle an, welche MAC-Adresse er über welchen Port erreicht.
Ethernet arbeitet aber doch verbindungslos. Das bedeutet doch im Klartext, dass der Switch doch nicht wissen kann, wo das Ethernet-Paket angekommen ist. Wie schafft er es dann eine solche Zuordnungs-Tasbelle anzulegen?
Gruß
Kai
Hi Kai!
http://de.wikipedia.org/wiki/Switch_(Computertechnik)
http://www.bsi.de/gshb/deutsch/m/m02277.htm
Der Switch legt alle Geräte in einer Tabelle an (MAC-Adresse). Wenn nun Daten von MAC-Adresse A kommen und an B weitergeleitet werden müssen, dann macht er das einfach. Wieso sollen Daten da an eine falsche Adresse auflaufen?
Viele Grüße
André
Danke dir Frage geklärt.
Der Switch „lernt“ seine Zuordnungstabelle mit der Zeit, indem er bei jedem Paket schaut, an welchem Port es angekommen ist, und von welcher MAC-Adresse es stammt.
Danke Dir!
Der Switch „lernt“ seine Zuordnungstabelle mit der Zeit, indem
er bei jedem Paket schaut, an welchem Port es angekommen ist,
und von welcher MAC-Adresse es stammt.
Yep. Wenn er neu startet - und damit die Tabelle noch leer ist - schickt er, wie auch Broadcasts, an alle Ports. Mit der Zeit lernt er dann alle Ports (bzw. die Hosts dahinter), wobei Uplink-Ports (z.B. zu einem Hub) entsprechend mehr Einträge haben. Früher war es eine gute Idee, sich vor dem Kauf anzuschauen, wie groß der RAM für die Tabelle ist, damit die nicht schnell überläuft. Typische Größe ist da inzwischen 8kB bzw. rund 8000 Einträge. Um ein Netzwerk lahmzulegen, reicht aber auch heute noch ein Rechner, der seine MAC-Adresse ständig ändert und die MAC-Tabellen vollaufen - es sei denn, man hat „gemanagte“ Switches, wo jedem Port fest eine MAC-Adressen zugeteilt wird und „fremde“ erst gar nicht ins Netz dürfen.
Typische Größe ist da inzwischen 8kB
bzw. rund 8000 Einträge.
8kB und 8000 Einträge, macht dann 1 Byte pro Eintrag - alleine die MAC sind schon 6 Byte, plus Port, plus evt. VLAN, da kommen schon ein paar Byte pro Eintrag zusammen.
Um ein Netzwerk lahmzulegen, reicht
aber auch heute noch ein Rechner, der seine MAC-Adresse
ständig ändert und die MAC-Tabellen vollaufen
Wieso legt dass den ein Netzwerk lahm? Was passiert denn wenn die FDB voll ist? Der älteste Eintrag fliegt meistens raus und das Paket wird erstmal an allen Ports rauskopiert. Von Lahmlegen, würde ich da erstmal noch nicht sprechen.
- es sei denn,
man hat „gemanagte“ Switches, wo jedem Port fest eine
MAC-Adressen zugeteilt wird und „fremde“ erst gar nicht ins
Netz dürfen.
Das ist bei „gemanagten“ Switchen ja nicht zwangsläufig so - sondern das ist eine Variante eingehende Pakete zu filtern. Unterstützt auch nicht zwingend jeder verwaltbare Switch. Genau so das Unterstützen von mehreren VLAN’s. Ist eine optionale Geschichte, die der Switch einfach unterstützen muss.
Generell „notiert“ sich der Switch in seiner FDB (Forwarding Database) von allen eingehenden Paketen die Source-MAC und den Port, an dem das Paket ankam. Somit weiß der Switch, welche MAC an welchem Port hängt. Bei eingehenden Paketen, deren Dest-MAC er in seiner FDB findet, kopiert er dieses Paket auch nur an dem entsprechenden Port raus.
So einfach ist Switching 
Typische Größe ist da inzwischen 8kB
bzw. rund 8000 Einträge.
8kB und 8000 Einträge, macht dann 1 Byte pro Eintrag - alleine
die MAC sind schon 6 Byte, plus Port, plus evt. VLAN, da
kommen schon ein paar Byte pro Eintrag zusammen.
8k Einträge ist auch eher mickrig. Unser neuester Switch packt 160k CAM-table-Einträge, und selbst die kleinen Modelle schaffen 24k.
Um ein Netzwerk lahmzulegen, reicht
aber auch heute noch ein Rechner, der seine MAC-Adresse
ständig ändert und die MAC-Tabellen vollaufen
Wieso legt dass den ein Netzwerk lahm? Was passiert denn wenn
die FDB voll ist? Der älteste Eintrag fliegt meistens raus und
das Paket wird erstmal an allen Ports rauskopiert. Von
Lahmlegen, würde ich da erstmal noch nicht sprechen.
ich auch nicht, eher von „sabotieren“.
So einfach ist Switching 
Ja, in einer idealen Welt ohne Loops und ohne Security ist das so 
Gruß,
Malte
Um ein Netzwerk lahmzulegen, reicht
aber auch heute noch ein Rechner, der seine MAC-Adresse
ständig ändert und die MAC-Tabellen vollaufen
Wieso legt dass den ein Netzwerk lahm? Was passiert denn wenn
die FDB voll ist? Der älteste Eintrag fliegt meistens raus und
das Paket wird erstmal an allen Ports rauskopiert. Von
Lahmlegen, würde ich da erstmal noch nicht sprechen.
ich auch nicht, eher von „sabotieren“.
Lahm legen im wörtlichen Sinne. Wenn die Tabellen lauter Unsinn enthalten, gehen Pakete auch mal verloren und müssen neu geschickt werden und die Zahl unnötiger Pakete steigt massiv an, da werden Switche schnell wieder zu Hubs. Haben das aus Spaß mal ausprobiert und die Performance krachte ziemlich massiv in den Keller.
Die Angaben 8k bzw 8000 Einträge bezieht sich auf gängige Herstellerangaben. 8k ist da meist Minimum (und für kleinere Netze völlig ausreichend), Mittelklasse gibt so Ecke 8000 an (DLink, Netgear).