[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#613687: general: ipv6 acquitment problem - causes problems in ipv4



Package: general
Severity: important

Hello,

I encountered a problem while using IPv6 : on non-local networks, the bandwidth
is dramatically low, around 8 Kb, while having around 10Mb if deactivating
ipv6. Problem is the following :  the bandwidth drop is due to the fact that
when a packet is sent, the next one is sent only if the ACK of the previous
packet has been transfered (as if there was no congestion window at all).
This does not affect only ipv6 connexions, as ipv4 connexions are also
presenting the same syndrom, if ipv6 is active.
On some local transmissions, there seem to be no problem, but I could not figure
why.

The following does not locate the problem, but removes some potential solutions:
Problem is not directly on tcp implementation of IPv6, as I could make it work
on local network.
Problem only happens while the IPv6 module is loaded. If ipv6 is disabled, then
there is no bandwidth problem (for example by setting "blacklist ipv6" in
/etc/modprobe.d/blacklist.conf).
Problem is not directly on the MTU, because fixing a lower MTU on the interface
(1400 for example) does not help.


Here is a sample of wireshark traces (ip have been truncated) :
address starting with 2001: is the client debian
address starting with 2a01: is the server (not running debian)
Exchange is a standard scp transfer between the two computers

93      26.585633       2001:   2a01:   TCP     55611 > ssh [SYN] Seq=0
Win=5760 Len=0 MSS=1440 TSV=2652463 TSER=0 WS=7
94      26.638203       2a01:   2001:   TCP     ssh > 55611 [SYN, ACK] Seq=0
Ack=1 Win=65535 Len=0 MSS=1420 WS=3 TSV=730156014 TSER=2652463

After the establishment of the connexion, here are the first transmissions :

161     31.751915       2a01:   2001:   SSHv2   Encrypted response
packetlen=1408
162     31.789951       2001:   2a01:   TCP     55611 > ssh [ACK] Seq=2345
Ack=3617 Win=13440 Len=0 TSV=2653765 TSER=730161116
163     31.850036       2a01:   2001:   SSHv2   Encrypted response
packetlen=1408
164     31.850052       2001:   2a01:   TCP     55611 > ssh [ACK] Seq=2345
Ack=5025 Win=16256 Len=0 TSV=2653780 TSER=730161215

I did quite a few checks, on different connexions, and all the time the ACK 
is corresponding to the previous packet.

This goes on as long as the transfer is not stopped or finishes : one packet,
and the corresponding acquitement. over and over.

Hope this helps,
Fabrice Schuler




-- System Information:
Debian Release: 6.0
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash



Reply to: