Tag an alle, für ein Projekt informiere ich mich gerade über Netzwerkprotokolle. Dabei ist mir aufgefallen, dass es kaum bis keine Protkolle mit Fehlerkorrektur gibt (außer im Handy-Bereich). Alle Protokolle benutzen immer nur eine Checksumme. Wieso ist das so? Die Checksumme dient doch nur zum erkennen von Fehlern, sodass das gesamte Paket neu gesendet werden muss. Ist dass nicht etwas ineffizient? Danke schon mal für eure Antworten, MC
Eine ECC kann ja auch nur begrenzt Bitfehler reparieren. Wenn sie's nicht mehr tut, musst du sowieso neu senden. Da kann man auch gleich den Overhead sparen und bei Fehlempfang sofort neu senden. ECC lohnt sich eigentlich nur, wenn man durch die Mehrinformation Probleme ausgleichen kann, bei denen sonst kompletter Datenverlust der Fall wäre (weil man nicht einfach die Daten neu anfordern kann), bspw. bei Datenträgern.
Was für Netzwerkprotokolle (in welchen Abstraktionsebenen )meinst du? Weil viele machen mit Absicht keine Fehlerkorrektur, weil dadurch schneller... Was meinst Du "im Handy-Bereich" ? Anwendungsschicht 5–7 HTTP, FTP, SMTP, POP Transportschicht 4 TCP, UDP Vermittlungsschicht 3 IPv4,IPv6 Netzzugangsschicht 1–2 Ethernet, Token Bus, Token Ring, FDDI
Das hängt davon ab wie hoch die Fehlerrate ist. Bei LAN-Protokollen wird üblicherweise von einer eher niedrigen Fehlerrate bei gleichzeitig kurzer Latenzzeit ausgegangen, daher ist Fehlerkorrektur unter dem Strich aufwendiger als eine Wiederholung. Anders sieht es aus, wenn man die Grenzen von notorisch störbehafteten Weitverkehrsmedien mit gleichzeitig vergleichsweise hoher Latenzzeit austestet. Bei DSL beispielsweise. Folglich findet sich dort auch Fehlerkorrektur.
Welche Art Fehler wird denn erwartet ? Wie haeufig tritt die Stoerung denn auf. Ja, man kann einen Hamming Code mitschleppen. Wenn die Stoerung nur bei jedem millionsten Packet auftritt hat sich's nicht gelohnt. Die Schwierigkeit ist die Stoerung zu quantifizieren und mit dem Zusatzaufwand zu vergleichen. In den meisten Faellen scheint sich ein Retransmitt aufrund eines CRC Fehlers die einfachere Moeglichkeit zu sein. In sehr wenigen Faellen, in denen ein Retransmit nicht mehr zahlbar ist (Pioneer Sonden, Mars Sonden) hat man natuerlich einen Hamming Code zur Vorwaerts-Fehlerkorrektur.
Bei der Satellitenkommunikation wird auch mit ECC gearbeitet. Datendurchsatz beim einem exitierenden Satelliten: Strecke Erde - Satellite ca. 480Byte/s., in Richtung Erde sind es dann immerhin schon 4kB/s. Da ist ECC auch schon ein Vorteil.
Generell hängt es davon ab, wieviele Daten im Fehlerfall verloren gehen und wie lang es für die Wiederbeschaffung dauert. Im 100Mbps Ethernet liegen die Latenzzeiten unter 1ms. Wenn also bei 300µs Latenzzeit Daten verloren gehen, gehen im Idealfall einige zig Kbit verloren und die Verzögerung durch Wiederholung ist seitens des Anwenders nicht spürbar. Zudem ist es eher unwahrscheinlich. Im Internet liegend diese Zeiten eher bei 50-500ms. Wenn nun bei 16Mbps DSL Daten verschütt gehen und TCP frisch aufsetzt, dann sind gleich Megabits verloren, und die Verzögerung durch die Wiederholung ist sehr deutlich spürbar. Folglich ist der kritischste Teil von Internet-Leitungen, nämlich DSL, vergleichsweise stark mit ECC abgesichert. Den Extremfall davon hat 3351 skizziert: Kommunikation mit Raumsonden, bei denen die Latenzzeit mehrere Stunden betragen kann.
Danke für die schnellen Antworten!!! Wenn ich das jetzt richtig erfasst habe, dann benutzt man fast nur CRC, weil: - der Überhang deutlich kleiner ist - die Fehlerrate in normalen Netzen sehr gering ist - die Generierung u. Überprüfung der Checksumme schneller ist als bei der Fehlerkorrektur >(in welchen Abstraktionsebenen )meinst du? Ich möchte mir eine kleine Haussteuerung bauen. Deshalb werde ich in den ersten paar Schichten dieses komischen Schichtenmodells bleiben. >Was meinst Du "im Handy-Bereich" ? Ich weiß, dass im Mobilfunk eine Fehlerkorrektur eingesetzt wird, da man ja nicht Informationen neu anfordern kann (sonst würde man sein Gegenüber ja nicht mehr flüssig hören können). >Welche Art Fehler wird denn erwartet ? Ich möchte am liebsten ein Powerline-Netzwerk aufbauen (Bitte versucht nicht, mir das auszureden). Ich habe dazu auch schon ein paar Experimente gemacht und bekam eine Fehlerquote von ca. 30% (das muss man sich mal vorstellen, wie schlecht der Scheiß ist). Da ich auf Powerilne aber nicht ganz verzichten kann (bestimmte Stellen können mit zusätzlichen NW-Kabeln nicht erreicht werden), versuche ich die Übertragungsfehler weitgehenst software-mäßig zu eliminieren.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.