bei Fragen: E-mail an: abed@kom.tu-darmstadt.de
| Netze | Ethernet |  |
Wir haben gesehen, daß es bei einem Netz, das nach dem Bus-Prinzip funktioniert, zu Kollisionen kommen kann. Das liegt daran, daß eine Nachricht sich von der Quelle her ausbreitend die gesamte Leitung belegt, potentiell aber alle beteiligten Rechner gleichzeitig anfangen können zu senden. Wenn die Nachrichten zweier Rechner sich auf der Leitung treffen, überlagern sich ihre Schwingungen, die einzelnen Nachrichten werden für die Empfänger unverständlich. Man spricht von einer Kollision. Wie kann dieses Problem gelöst werden? Hier wieder eine Reihe von Vorschlägen zur Lösung des Kollisionsproblems. Entspricht einer der folgenden Vorschläge in etwa Ihrer Antwort? Die Rechner verständigen sich untereinander, bevor sie eine Nachricht senden. Kollisionen können nicht vermieden werden, wird eine Kollision festgestellt, dann wird die Nachricht einfach wiederholt. Die Rechner senden nur, wenn der Bus frei ist. Jeder Rechner darf nur zu einem bestimmten, vorher ihm zugeordneten Zeitpunkt senden. Probieren Sie auch die anderen Vorschläge aus. Falls Ihre Antwort nicht darunter sein sollte, können Sie sich gerne an den Kursleiter (abed@multibook.de) wenden.
Antwort: Das ist richtig, die Rechner senden zwar nur, wenn der Bus, dort wo sie ihn abhören, frei ist. Doch Kollisionen können trotzdem auftreten, da die Rechner nur den Zustand des Bus an ihre eigenen Position kennen, nicht den Gesamtzustand. Wenn zwei Rechner also nahezu gleichzeitig senden, kann es sein, daß beide denken, der Bus sei frei (Animation). Sobald ein Rechner merkt, daß das, was er empfängt, nicht mehr das ist, was er sendet (sondern die Überlagerung der kollidierten Nachrichten), bricht er das Senden ab. Die Nachricht wird dann zu einem späteren Zeitpunkt wiederholt. Dieser spätere Zeiptpunkt wird über eine Zufallsfuktion bestimmt, um eine erneute Kollision zu vermeiden (Animation).