Kollisionen im Netzwerk

Was ist eigentlich eine Kollision im Netzwerk ? Und wie lassen sich diese Minimieren (Verkabelung, Protokolle o.ä.) ?

Danke

Schlachti

Kollisionen entstehen, wenn Datenpakete „unglücklich aufeinandertreffen“ (ein wenig grob formuliert) und sich so gegenseitig „zerschießen“. Glücklicherweise kann das beim Ethernet verwendete Low-Level-Protokoll (CSMA-CD : Carrier Sense Multiple Access - Collision Detect) solche Kollisionen entdecken, so daß Datenpakete neu angefordert werden können.

Entstehen können solche Kollisionen durch viele Dinge. Wichtig ist vor allem, daß man die genauen Spezifikationen für die entsprechende Verkabelung einhält. Z.B.: Maximallängen, korrekte Terminierung, richtige Belegung bei TP-Verkabelung!!!(wird oft falsch gemacht), usw.

Natürlich ist auch der Traffic eine im Auge zu behaltene Größe. Größerer Traffic -> steigende Kollisionschancen. Hier heißt es in größeren Netzen: Trafficmessungen vornehmen und überlastete Teilbereiche gezielt ausbauen.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Entstehen können solche Kollisionen durch
viele Dinge. Wichtig ist vor allem, daß
man die genauen Spezifikationen für die
entsprechende Verkabelung einhält. Z.B.:
Maximallängen, korrekte Terminierung,
richtige Belegung bei
TP-Verkabelung!!!(wird oft falsch
gemacht), usw.

Sorry, aber IMHO hat die korrekte oder inkorrekte Verkabelung mit den Kollisionen als solchen nix zu tun. Da treten dann eher Signalabschwächungen, Echos, Jitter etc. auf. Stimme dir also insofern zu, dass die Sache wichtig ist, aber auch in des „bestverkabelten“ Ethernet’s treten (protokollbedingt) Kollisionen auf - theoretisch sogar in vollgeswitchten!

Gruß
Stefan

Ich sagte ja auch nicht, daß NUR Verkabelungsangelegenheiten für Kollisionen verantwortlich sind. Mir ist bekannt, daß eben protokollbedingt generell Kollisionen auftreten. Nur habe ich die (vielleicht naive) Vorstellung entwickelt, daß die Kollisionschancen z.B. auch durch Reflexionen im Kabel (z.B. bedingt durch falsche Terminierung) deutlich steigen. Dabei nehme ich folgende Argumentation: Reflexionen -> Datenpakete gehen zurück aufs Kabel -> Netzlast steigt -> Kollisionsgefahr erhöht sich. Wo ist mein Argumentationsfehler?

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ich sagte ja auch nicht, daß NUR
Verkabelungsangelegenheiten für
Kollisionen verantwortlich sind. Mir ist
bekannt, daß eben protokollbedingt
generell Kollisionen auftreten. Nur habe
ich die (vielleicht naive) Vorstellung
entwickelt, daß die Kollisionschancen
z.B. auch durch Reflexionen im Kabel
(z.B. bedingt durch falsche Terminierung)
deutlich steigen. Dabei nehme ich
folgende Argumentation: Reflexionen ->
Datenpakete gehen zurück aufs Kabel ->
Netzlast steigt -> Kollisionsgefahr
erhöht sich. Wo ist mein
Argumentationsfehler?

Es gibt zwei Arten von „Kollisionen“. Deine Argumentation bezeichnet ein PHYSIKALISCHES Problem welches bei der Signalübertragung, nicht nur in einem Netzwerk, grundsätzlich besteht und mit geeigneten Massnahmen in den Griff zu bekommen ist (z.B. Abschlusswiderstände). Die zweite Art ist ein LOGISCHES Problem im Netzwerk.
Im Zusammenhang mit einem Netzwerk wird mit „Kollision“ das LOGISCHE Problem bezeichnet.

KOLLISION: das Logische PROBLEM:
Wenn mehrere Stationen in einem Netzwerk GLEICHZEITIG Daten senden möchten, gibt es eine Kollision, d.h. die abgesetzten Daten werden gegenseitig gestört.
Dazu gibt es im Prinzip 2 Lösungen:
Man stellt sicher das dieser Fall nie eintritt (z.B. Tokenring) oder man erkennt das Problem, wenn es auftritt, und hat eine Strategie um es zu lösen.

  1. CSMA-CD (Carrier Sense Multiple Access - Collision Detect):
    Hier stellt die Station welche senden möchte, zuerst mal fest ob die Leitung frei ist (Carrier Sense).
    Stellt die Station fest, dass die Leitung besetzt ist muss sie warten und weiter testen.
    Ist die Leitung frei so wird gesendet. Nun ist es aber möglich, dass eine andere Station genau gleichzeitig das gleiche versucht und auch lossendet (Multiple Access, Kollision).
    Beim Senden wird nun gleichzeitig auch getestet ob die Daten gestört werden (Collision Detect). Ist dies der Fall so hören beide Stationen sofort mit senden auf und warten eine gewisse Zeit, bis das Spielchen wieder von Vorne los geht. Der Trick dabei ist, dass die Wartezeiten der beiden Stationen unterschiedlich sind. Es kann dabei auch Vorkommen, dass eine dritte Station innerhalb der Wartezeit sich den Bus grabscht (Ist dann der lachende Dritte).
    Vorteil: es ensteht kein Verwaltungs-Aufwand.
    Nachteil: Es ist nicht definiert wie lange es dauert bis man eine Nachricht absetzen kann.

  2. Tokenring etc.
    Hier wird versucht es gar nicht erst zu einer Kollision kommen zu lassen. Eine spezielle Nachricht, das Token, wird von Station zu Station gesendet. Wer gerade im Besitz des Tokens ist darf senden. Ist die Station mit senden fertig oder ist die maximale Sende-Zeit überschritten, so gibt die sie das Token an die nächste weiter.
    Vorteil: Die maximale Zeit die man warten muss bis man senden darf kann genau bestimmt werden.
    Nachteil: Es muss bekannt sein welche Stationen gerade aktiv im Netz sind, da ja jede Station die Nachfolgende Kennen muss (kann z.B. durch den Aufbau der Hardware und der Verkabelung festgelegt werden).
    Weiterhin muss ein Master vorhanden sein welcher sicherstellt, dass ein neues Token erzeugt wird, wenn es mal verloren geht (z.B. eine Station wird abgeschaltet wenn sie das Token gerade empfängt). Es darf immer nut EIN Token im Netzwerk geben sonst giebt es auch hier Kollisionen.

Ich hoffe etwas Licht ins Dunkel gebracht zu haben
mfg Peter

Ich hoffe etwas Licht ins Dunkel gebracht
zu haben
mfg Peter

Wenn das Segment zu lang ist, kann es passieren, daß die sendende Station fertig ist, bevor es erkennen kann, daß eine Kollision erfolgt ist. Deswegen ist die max. Segmentlänge begrenzt.
Eberhard

Wie die anderen in der Diskussion bereits festgestellt haben, treten Kollisionen bei gleichzeitigem abschicken von datenpaketen in einem Segment auf(ist zumindest der häufigste Fall). Deshalb werden Netzwerke in segmente aufgeteilt d.h. pro gruppe, stockwerk oder andere faktoren werden die Clients auf ein segment gelegt- diese Segmente werden über einen Switch z.B. verbunden. In der Praxis wird häufig pro Stockwerk ein Hub und diese Hubs wiederum an einen Switch gehängt. Server sollten in dieser Konstellation niemals an einen Hub hängen sondern an einem Switch. da ja sonst jeder Client dieses segment benötigen würde. Richtig gut läuft die Geschichte in dem das Netz nur über Switches läuft - dies ist allerdings eine Kostenfrage. Aber auch dabei empfiehlt es sich eine Segmentierung vorzunehmen.
mfg
Patrice

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]