AW: [En-Nut-Discussion] TCP problems
Harald Kipp
harald.kipp at egnite.de
Mon Mar 20 09:53:16 CET 2006
Hi Oliver,
At 13:37 18.03.2006 +0100, you wrote:
>After several month of absence (or years? I can't remeber..)
Apart from some minor changes you main activity had been two years ago.
But it's great, that you constantly followed the development and
offered a helping hand from time to time.
>It's not so hard to figure out what happened.
On my first look I can't see any problem at all. Possibly
because there is no FIN packet at second 0.84 in the capture
I received.
>After reading the RFCs, this behaviour is OK, because the FIN packet is
>justed queued into the data stream.
Agreed. SYN and FIN are part of the segments and count as 1 in
the segment sequence number. Thus there is no need for any
delay before sending out a FIN. The segment with a FIN may
even contain data, if I remember correctly.
>But (and now comes the error in Nut/OS), while exchanging the SYN packets,
>the peer requests a MSS (maximum segment size) of 1260 bytes.
Definitely a major error. As a work around, Dusan should not set
the MSS to 1460. When traffic is routed via several physically
different networks, I'd strongly recommend to keep the Nut/OS
default anyway. Otherwise you risk packet fragmentation, which
Nut/OS generally can't handle.
See
http://www.ethernut.de/en/medianut/
Btw. I still do not understand how this is handled. Some time
ago we were unable to connect to several public webservers after
our provider upgraded his software. Our local company network
is connected to the Internet this way
Company Ethernet -> Router -> PPPoE -> DSL Modem
I had the idea, that max. sized Ethernet packets may not fit
in PPPoE frames. PPPoE has the same Ethernet packet size limitation,
but adds a header. So I reduced the MTU on my PC and indeed all
webservers were reachable then. After that I'm unable to explain,
why all other websites worked with the original MTU.
In the meantime almost everything had been replaced or upgraded and
it is unknown, if any part had been buggy previously. Everything
is working fine today with max. MTU settings and I have no idea,
why.
Harald
More information about the En-Nut-Discussion
mailing list