Re: Ein wenig Internet "geht nicht"

From: Peter Ross <Peter.Ross(at)alumni.tu-berlin.de>
Date: Thu, 28 Nov 2013 11:57:33 +1100 (EST)

Hallo Bernd,

danke fürs Antworten.

On Wed, 27 Nov 2013, Bernd Walter wrote:

> On Wed, Nov 27, 2013 at 02:35:35PM +1100, Peter Ross wrote:
>> Hi Bernd,
>>
>> danke. Ich muß bei TCP viel nachgucken. Ich habe es mal gelernt aber nicht
>> unbedingt parat und gut die Hälfte vergessen. Ich gucke auf der Ebene zu
>> selten hin.
>>
>> Ein paar kurze Fragen:
>>
>>> Verbindungsaufbau von deiner Seite initiiert, receive window auf 64k
>>> MSS auf 1448 - recht klein, aber wohl wegen DSL gleich runter gesetzt.
>>> MSS ist die TCP-Packetgröße, die dein System verarbeiten kann, aber
>>> das wird als Workaround für die path-MTU genutzt.
>>> 09:16:14.766313 IP 115.186.196.106.25818 > 217.13.68.220.80: Flags [S],
>>> seq 1941116519, win 65535, options [mss 1448,nop,wscale 6,sackOK,TS val
>>> 639102670 ecr 0], length 0
>>>
>>> Bestätigung der Verbindung von der Gegenseite, receive window auf recht
>>> kleine 5792, was aber Ok ist wenn man nicht viel zum Server schicken will
>>> Zeitabstand ist schon relativ groß, aber du kommst ja auch von weit her.
>>> MSS ist 1460 - mit 40 Bytes Header sind das volle 1500.
>>> Das sagt aus, dass dein DSL Router keinen MSS Hack für kaput-konfiguriertes
>>> Path MTU hat.
>>
>> Was heißt das?
>
> MSS ist die maximale Payloadgröße, die ein TCP-Empfänger verarbeiten kann.
> Normalerweise sollte der Path MTU discovery dafür sorgen, dass eine kleinere
> MTU auf dem Transportwege erkannt wird.
> Du schickst ein großes Packet los und der Router mit der Engstelle verwirft
> das Packet, weil zu groß, dabei sended er an den Absender ein Infopacket
> warum das verworfen wurde und wie groß das maximal sein darf.
> Der Sender merkt sich das und sended das dann im Restransmit kleiner.
> Wenn jetzt ein Webserver mit MTU 1500 ein Packt an einen DSL-Kunden schickt
> wird der Router beim DSL-Provider an den Webserver so eine Information
> schicken.
> Da aber ICMP ja grundsätzlich böse ist (Seufz) kommt das oftmals nicht durch
> die Firewall vom Webserver und der Webserver wird beim Retransmit wieder ein
> 1500'er Packet senden.
> Daher hat man als Dirty Workaround auf den DSL-Routern üblicherweise einen
> Hack laufen, der bei vorbeikommenden TCP-Packeten das MSS-Feld runter
> dreht, sodass der Webserver gar nicht erst auf die Idee kommt ein zu großes
> Packet zu senden.
> Das funktioniert natürlich nur für TCP und sorgt dafür, dass die Server-
> betreiber mit den kaputten Filtern sich immer noch nicht eine funktionierende
> MTU-Discovery kümmern.

Ja, das habe ich auch so verstanden. Und deshalb den Hinweis vom ISP,
_mein FreeBSD-Interface_ (zwischen mir und Modem) auf 1492 zu begrenzen,
ernst genommen.

09:16:14.766313 IP 115.186.196.106.25818 > 217.13.68.220.80: Flags [S], seq 1941116519, win 65535, options [mss 1448,nop,wscale 6,sackOK,TS val 639102670 ecr0], length 0
09:16:15.121678 IP 217.13.68.220.80 > 115.186.196.106.25818: Flags [S.], seq 1647088676, ack 1941116520, win 5792, options [mss 1460,sackOK,TS val 76214678 ecr 639102670,nop,wscale 9], length 0
09:16:15.121822 IP 115.186.196.106.25818 > 217.13.68.220.80: Flags [.], ack 1, win 1032, options [nop,nop,TS val 639103026 ecr 76214678], length 0
09:16:15.121931 IP 115.186.196.106.25818 > 217.13.68.220.80: Flags [.], seq 1:1437, ack 1, win 1032, options [nop,nop,TS val 639103026 ecr 76214678], length 1436

Mein erstes Paket advertised 1448 Byte MSS (+40 macht 1488), die Antwort
ist MSS 1460, und ich sende 1436 Byte.. ist das nicht okay?

Oder heißt das, die Gegenseite hat meine MSS 1448 ignoriert (MSS 1460 in
der Antwort) und sendet mir eine 1460-Byte-Antwort, die dann evt. am
Modem hängenbleibt, wegen des Verpackens in PPP?

Nebenbei, es geht weder mit 1500 (dem Default) noch mit 1492 an meinem
FreeBSD-Interface.

>> Nebenbei.. ich glaube nicht, daß sich "mein" Rechner jemals verrechnet
>> hat: Meine Pakete passen alle in die MTU von 1492, wie beim Interface des
>> FreeBSD-Rechners angegeben (und abgesprochen mit dem ISP, der das Modem
>> stellt - darauf habe ich keinen Zugriff).
>
> Verstehe ich nicht.
> Bei PPP handelt man die MTU mit der Gegenseite automatisch aus.
> Die Geräte dahinter sollten per PMTU automatisch erfahren, wenn es einen
> Abschnitt mit kleinerer MTU gibt.
> Was ist das für ein Aufbau?
> Bei klassischen PPPoE mit DSL-Modem hast du auf dem Ethernet-Interface
> zum Modem natürlich eine 1500'er MTU - erst das PPP-Interface hat eine
> kleinere MTU, weil er das mit PPP-Overhead in 1500 unter bringen muss.
> Wenn du dem auf dem Ethernet zum Modem die MTU runter schraubst wird der
> PPP sein Packet zum Modem nicht mehr los.

Das verstehe ich nun wieder nicht. Ich sitze doch hinter dem Modem und
habe gar kein PPP - d.h. ein ankommendes 1500-Byte-Paket wird um die 8
Byte verkürzt und kommt bei mir wieder an, wenn ich meine MTU auf 1492
habe?

Ich finde es merkwürdig, daß sich mein ISP seit zwei Tagen nicht mit
substentieller Antwort zurückgemeldet hat. "Wir arbeiten dran", ist
alles, was ich höre.

Vielleicht verstehen die das auch nicht.. Auch wurde ich am Anfang
gebeten, das Modem zu rebooten, sie konnten da nicht ran(?)

Es grüßt
Peter

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Thu 28 Nov 2013 - 01:57:52 CET

search this site