Newby-Frage zu TCP/IP
Geizhals » Forum » Netzwerk » Newby-Frage zu TCP/IP (15 Beiträge, 250 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
Newby-Frage zu TCP/IP
02.02.2005, 13:41:37
Hi, Folks !

Acker' mich mal wieder durch Stevens "TCP/IP illustrated Vol1" durch - und renn grad in 2 Verständnisprobleme... Das traurige ist, daß ich das Buch schon mal vor langem durch war und mir damals einbildete, alles verstanden zu haben ;-)

Verständnisprob 1:
Man findet folgendes Beispiel zu Zusammenspiel ARP/MTU/UDP:
Gegeben seien 3 Rechner A,B,C, via Ethernet verbunden.
B snifft nur mit.
A hat leeren ARP-Cache, und möchte an C ein 8k-UDP-Packerl senden, ohne DF-Bit.

Was passiert ? (Zusammenfassung des abgedruckten tcpdump-Outputs:
1.) A teilt scheinbar die Pakete intern in 6 Fragmente auf
2.) A versendet 6 ARP-Requests
3.) Sobald ARP-Replies kommen, schickt er _ein_ Fragment los - das letzte.
4.) A empfängt weitere ARP-replies.
5.) von C kommt keinerlei Antwort-kein ICMP-"Time exceeded during reassembly",..

Stevens meint nun:
[2] sei ein Implementierungsfehler. Es dürfe nur max ein Request/sec kommen.
[3] sei gemäß Host requirements RFC - was stimmt. Bei ARP-Queries _muß_
man sich zumindest ein Paket aufheben - und es _sollte_ das letzte sein.
[5] hätte 2 Ursachen:
        a.) ist C von einer Berkley-Schiene weg, die senden das nie zurück
        b.) Kann C nicht mit einem ICMP-Packerl antworten, weil
            nicht genug Transport-Layer-Info im letzten Fragment sei - nur
            im ersten.

Soweit so gut - Nun meine Fragen:
Ich verstehe noch, daß C net per ICMP antworten kann - denn es fehlen ja die paar Bytes vom originating-Packerl, die A natürlich nur in Fragment 0 verschickt.
Die Frage ist: Wieso soll A das letzte Fragment losschicken ? Das macht IMHO ja NULL Sinn.
C kann so oder so damit nix anfangen (egal ob TCP/UDP/sonstwas).
Wenn C aber nix damit anfangen kann - wozu sollte A überhaupt was hinschicken ?
IMHO würde hingegen folgendes uU Sinn machen:
a.) A cached net nur ein Packerl, sondern alle... Ok, würd' wohl Speicherstreß bringen
b.) A verwirft alle Packerl (braucht ja net mal fragmentieren) und macht nur den ARP-Request. Wenn die APP über A timeouted (was so oder so passiert) gibt's den Cache-Eintrag und die Welt ist in Ordnung. Wozu also zuerst fragmentieren und dann nachschauen, ob es einen Arp-Entry gibt ? Warum net andersrum ?
c.) A generiert ein 0-Byte-Packerl an C, wenn er schon was hinschicken will.
Bei dem RFC-Ansatz "Ein Fragment - das letzte" erkenn' ich keinerlei Sinn...

2. Verständnisfrage:
Zum 2. Bereich:
Stevens behauptet in dem Kapitel, das Fragmentierung transparent sei - und
auch fragmentierte Packerl weiter fragmentiert werden können (was ja stimmt,
wenn man sich den "Mechanismus" mit Offset und Len ansieht).

Meine Frage wäre jetzt folgende:
3 Systeme A,B,C.
A und B hängen an einem 16Mbit-TR - haben also eine MTU von rd. 16K
B und C kommunizieren via Ethernet - MTU rd. 1500 Bytes.

A sende jetzt ein 12KB-Packerl an C via B.
Wenn ich's richtig gechecked habe, wird B nun fragmentieren wollen.
B kann aber net fragmentieren, weil das "Offset"-Feld fürs Fragmentieren nur
13 Bit groß ist - also der Offset net größer als 8K werden kann. Dazu noch
die rd. 1500 Bytes LEN von der Ethernet-MTU würde die maximal mögliche Paketgröße auf rd. 9.5K runtersetzen.

was macht B dann ?
soweit ich gesehen habe, gibt es dazu keine ICMP-Message ("Fragmentation
needed but DF-Bit is set" paßt ja net).
Wird das wirklich einfach "silently discarded" ? Das sabotiert ja
PMTU-Discovery komplett, oder ?

Was passiert außerdem weiter ?
A bekommt in der Folge kein ACK und macht ein Retransmit ?

Irgendwie check' ichs grad nicht - bitte um Hilfe...

Thx
gepeinigter.

Antworten PM Alle Chronologisch
 
Melden nicht möglich
.  Re: Newby-Frage zu TCP/IP  (Fearry am 02.02.2005, 15:19:43)
...  Re(3): Newby-Frage zu TCP/IP  (Fearry am 02.02.2005, 15:42:01)
.....  Re(5): Newby-Frage zu TCP/IP  (Fearry am 02.02.2005, 16:12:20)
.  Re: Newby-Frage zu TCP/IP  (Dr. Watson am 02.02.2005, 16:16:52)
..  Re(2): Newby-Frage zu TCP/IP  (Fearry am 02.02.2005, 16:20:24)
.  Re: Newby-Frage zu TCP/IP  (Glockman am 02.02.2005, 16:22:23)
...  Re(3): Newby-Frage zu TCP/IP  (Glockman am 02.02.2005, 17:03:26)
.  Ein Teil gelöst....  (gepeinigter_aon_neukunde am 03.02.2005, 13:06:39)
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung