Hallo, ich habe da ein Verständnisproblem. Wenn ich eine UDP oder TCP Nachricht übertrage beinhaltet der jeweilige Frame eine Checksumme. Wenn diese aber in einen MAC-Frame eingebettet sind enhält der MAC-Frame an sich ja schon eine Checksumme die scheinbar über alle Daten (Abgesehen von der Präambel) arbeitet. Warum wird hier eine doppelte Prüfung vorgenommen, oder kann die Checksumme in diesem Fall für UDP/ TCP Frames deaktiviert werden? Evt. sollen die Daten weiter übertragen werden und benötigen dafür noch eine zusätzliche Sicherheit? Grüße!
Da kommt noch was dazu. Der IP-Header hat noch ein Checksumme, die aber nur über den Header selbst gerechnet ist. Das ganze rührt daher, dass IP-Pakete nicht zwingend über Ethernet laufen und ggf. bei einer Übertragung über das Internet Streckenweise gar nicht (adäquat) Checksummen-Geschützt sind. Man will sich also nicht auf die Fehlererkennung von niederen Schichten verlassen. Abgesehen schützt die 32bit-CRC von Ethernet bei massiv schlechter Übertragungsqualität wesentlich besser vor falschen Daten. Die Idee dabei ist wohl lieber keine Daten als falsche Daten zu erhalten.
unknown schrieb: > kann die Checksumme in diesem Fall für UDP/ TCP Frames deaktiviert > werden? Bei UDP schon, bei TCP nicht. https://www.ietf.org/rfc/rfc768.txt > If the computed checksum is zero, it is transmitted as all ones > (the equivalent in one's complement arithmetic). > An all zero transmitted checksum value means that the > transmitter generated no checksum (for debugging > or for higher level protocols that don't care).
lux. schrieb: > Das ganze rührt daher, dass IP-Pakete nicht zwingend über Ethernet > laufen und ggf. bei einer Übertragung über das Internet Streckenweise > gar nicht (adäquat) Checksummen-Geschützt sind. Und umgekehrt laufen über Ethernet nicht zwingend IP-Pakete. Ursprünglich waren da andere Protokolle üblich.
unknown schrieb: > Wenn ich eine UDP oder TCP > Nachricht übertrage beinhaltet der jeweilige Frame eine Checksumme. Wenn > diese aber in einen MAC-Frame eingebettet sind enhält der MAC-Frame an > sich ja schon eine Checksumme die scheinbar über alle Daten (Abgesehen > von der Präambel) arbeitet. Nur Frames, als Layer 2 PDU, enthalten eine Checksum über den gesamten Frame. Bezugnehmend auf das OSI Schichtenmodell ist es Aufgabe des Layer 2, die fehlerfreie Zustellung eines Frames sicher zu stellen, und benötigt deshalb irgendein Kontrollmittel. Packets und Segments aus den höheren Schichten enthalten keine Prüfsummen über eingekapselte Daten, sondern nur für die jeweiligen Header.
>Nur Frames, als Layer 2 PDU, enthalten eine Checksum über den gesamten >Frame. Bezugnehmend auf das OSI Schichtenmodell ist es Aufgabe des Layer >2, die fehlerfreie Zustellung eines Frames sicher zu stellen, und >benötigt deshalb irgendein Kontrollmittel. Ich hätte erwartet dass der MAC-Frame mit seinen 4 Byte CRC mindestens genauso verlässlich ist wie der UDP mit seinen 2 Byte CRC. Zumal der Rest der MAC-Frame Daten im Vergleich zum Payload/ den UDP-Daten eher gering ist.
Alles klar, der Nachvollziehbarkeit auf welchem Layer der Fehler eingetreten ist scheint hier ebenfalls eine Rolle zu spielen. Danke für die Hilfe!
unknown schrieb: > genauso verlässlich ist wie der UDP mit seinen 2 Byte CRC. Die Checksums innerhalb vom IP sind keine CRC. Die UDP Checksum kann man auch weglassen (=0).
A. K. schrieb: > Die Checksums innerhalb vom IP sind keine CRC. Hier redet doch niemand von der IP checksumme (die nur den IP Header abdeckt). Hier wird über die Checksumme von UDP (die in der tat ebenfalls keine CRC ist) und die 32bit Checksumme von Ethernet (die tatsächlich eine CRC ist) diskutiert. Aber wenn wir schonmal bei IP sind, dort frage ich mich ernsthaft warum man IP mit den UDP & TCP Pseudoheadern nochmal in deren Checksumme einfliessen lässt. Das macht mir bei meinem TCP/IP stack die Schichtenarchitektur kaputt. Mit IPv6 wurde das nochmal verschlimmert, weil dort andere Felder in den Pseudoheadern sind, statt die gleichen oder keine. > Die UDP Checksum kann man auch weglassen (=0). Hab ich auch schon geschrieben.
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.