Data Layer
Die Schicht 2 regelt, wie die Daten über das eigentliche Medium übertragen werden. Schicht 2 ist in der Hardware der Netzwerkkarte integriert.Für die Bustopologie gilt, dass immer nur ein Gerät senden darf. Layer zwei regelt nun, wie dieses Gerät bestimmt wird.
CSMA
Dafür kommt das CSMA Verfahren zum Einsatz. CSMA steht hier für Carrier Sense Multiple Access.
Dabei empfängt ein Gerät, das senden möchte zuerst auf dem Medium, das von Schicht 1 genutzt wird. Hier kommt bereits eine fundamentale Grundidee des Schichtenmodells zum Tragen. Schicht 2 kümmert sich nicht darum, ob die Daten per Koaxkabel, TP, LWL oder Funk übertragen werden. Schicht 2 übergibt die Daten an Schicht 1 und Schicht 1 kümmert sich um die Übertragung zum Medium. Daten, die von Schicht 1 empfangen, also am Kabel gemessen werden, werden Schicht 2 zur Verfügung gestellt, egal ob die Daten per Funk, Licht, Ton oder Strom empfangen wurden.
Beim CSMA prüft Schicht 2 also zuerst, ob gerade irgendjemand anders im Netz gerade Daten sendet. Nur, wenn niemand sendet, übergibt Schicht 2 seine Daten an Schicht 1 und Schicht 1 sendet die Daten über das angeschlossene Medium.
Somit wird verhindert, dass zwei Rechner gleichzeitig Daten senden. Andernfalls würden sich die Daten auf dem Kabel überlagern und gegenseitig aufheben.
Durch CSMA wird vor jedem Senden von Daten geprüft, ob nicht jemand anders sendet.
Bei größeren Netzwerken kann es allerdings passieren, dass zwei Rechner gleichzeitig senden möchten. Beide Rechner prüfen also in Schicht 2, ob gerade jemand sendet. Beide Rechner stellen fest, dass gerade niemand sendet und so senden jetzt beide Rechner. Es kommt zu einer Kollision.
Schicht 1 misst, dass hier die Bits nicht korrekt auf der Leitung übertragen werden und meldet dies an Schicht 2. CSMA/CD (CD steht für Collision Detect) erkennt eine Kollision und muss dafür sorgen, dass die Daten nochmals gesendet werden.
Alle beteiligten Rechner erkennen, dass es eine Kollision gegeben hat und die beiden, die senden wollten, müssen nun ihre Daten erneut senden. Damit es nicht gleich wieder zu einer Kollision kommt, warten beide Netzwerkkarten eine kurze Zeit (zufällig verteilt im Bereich von wenigen Millisekunden) und versuchen CSMA erneut. Durch das unterschiedlich lange Warten erkennt der erste Rechner, dass gerade nicht gesendet wird und beginnt seinen Sendevorgang. Der zweite Rechner, der etwas länger warten musste, erkennt über CSMA, dass ein Rechner sendet und wartet, bis der Sendevorgang beendet ist und erst dann startet er seinen Sendevorgang.
Dadurch wird aber auch klar, dass der erste Rechner nicht beliebig lange Daten senden darf. Sonst würde er das gesamte Netzwerk für alle anderen Rechner, die auch senden wollen blockieren.
Die Daten werden daher auf Schicht 2 in einzelne Pakte, sogenannte Frames, aufgeteilt.
Schicht 2 verschickt immer nur einen Frame, wartet kurz und versucht dann, den zweiten Frame zu verschicken. Durch diese kurzen Unterbrechungen hat nun ein anderer Rechner die Chance, seinen Frame zu versenden. Für einen einzelnen Rechner wird dadurch die Datenübertragung verlangsamt, für das gesamte Netzwerk aber verbessert.
Gibt es in dem Netzwerk zu viele Rechner, so versuchen natürlich auch sehr viele Rechner zu senden. Es kommt vermehrt zu Kollisionen und die Daten müssen erneut versendet werden. Und jeder Rechner muss auch länger warten, bis er seinen Frame verschicken kann. Ein massiver Nachteil an Bustopologien.
Wenn ein Rechner über Schicht 2 einen Frame verschicken konnte, so werden die Bits dieser Daten der Reihe nach von Schicht 1 auf das Kabel angelegt. Für eine kurze Zeit fließt also Strom über das Kabel (eine 1) oder es fließt kein Strom über das Kabel (eine 0). Alle an dem Kabel angeschlossenen Rechner können diese Stromschwankungen messen und empfangen dadurch eine 1 oder eine 0.
In einem Computernetzwerk werden die Daten synchron übertragen. Alle angeschlossenen Geräte müssen die Daten in der Geschwindigkeit empfangen und verarbeiten, wie sie gesendet werden. Dazu müssen die Bits alle im gleichen Takt gesendet und empfangen werden. Allerdings gibt es keine Taktleitung, anhand derer die Empfänger bestimmen könnten, ob ein Bit oder zwei Bits gesendet wurden. Dazu muss jeder Sender am Beginn seiner Daten eine sogenannte Präambel mitschicken. Eine Abfolge von 0 und 1 Bits. Durch diese Präambel können sich nun alle Empfänger auf den Rhythmus des Senders einstellen und somit die Daten interpretieren.
Da aber alle Rechner diese Daten empfangen, muss definiert werden, für welchen Rechner diese Daten eigentlich bestimmt sind.
Daher erhält jeder Rechner eine eindeutige Kennung. Diese Kennung ist auf der Netzwerkkarte fest in die Hardware eingebaut und für jede Netzwerkkarte auf der ganzen Welt eindeutig. Die sogenannte MAC-Adresse (Media Access Code) wird vom Hersteller der Netzwerkkarte fest eingebaut. Die MAC-Adresse ist 6 Bytes lang. Die ersten drei Bytes sind die Herstellerkennung und die letzten drei Bytes sind die Gerätekennung dieses Herstellers.