LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Networking
User Name
Password
Linux - Networking This forum is for any issue related to networks or networking.
Routing, network cards, OSI, etc. Anything is fair game.

Notices

Reply
 
Search this Thread
Old 08-25-2009, 03:07 AM   #1
KP_INDIA
LQ Newbie
 
Registered: Aug 2009
Posts: 2

Rep: Reputation: 0
out-of-order TCP segment transmission causing delays


Can anyone explain me why TCP/IP stack when transmitting file larger than 64K causing packets to transmit out of sequence. This is causing client to set DUP-ACK. And after 2-3 dup-ack, server slows down significantly to send more packets. I am using linux 2.6.12. I have tried increasing tcp buffers but all that is doing is allowing application to give entire file to the stack in one go.
 
Old 08-25-2009, 10:22 AM   #2
Suncoast
Member
 
Registered: Apr 2009
Location: Largo, Florida
Distribution: Slackware
Posts: 202

Rep: Reputation: 35
I think you mean 64k packets? If so, the network is fragmenting your large packets, likely into 1500 byte packets. This would be fine unless;
1) You are using Frame Relay and packets are being dropped.
2) You have a full/half duplex mismatch somewhere between a device and a switch.
3) You have an overloaded network and packets are being lost from buffer overflows and/or collisions.
4) You have a defective network interface device or cable damaging packets. Or the network is out of spec, such as running a cable farther than it is made for.

Every packet is kept open until they are complete. If you have a 10% packet loss, and each Large Internet Packet (LIP) is being divided into 6 parts, then every other packet must remain open until it is NAK'd and retransmitted.

When you do ifconfig, are you seeing errors in the interface statistics?

Last edited by Suncoast; 08-25-2009 at 10:27 AM. Reason: More info
 
Old 08-26-2009, 05:01 AM   #3
KP_INDIA
LQ Newbie
 
Registered: Aug 2009
Posts: 2

Original Poster
Rep: Reputation: 0
>>I think you mean 64k packets? If so, the network is fragmenting your large packets, likely into 1500 byte packets.
Yes, that exactly what I meant. That part is fine except it is taking long time to tranmit file. I also verified that its not application which taking long time to pass entire file to the stack.

>> When you do ifconfig, are you seeing errors in the interface statistics?
When I check for errors on server side thru ifconfig, I observed Tx errors and carrier error going up. However, packets are not lost on receiving end. However, packets are arriving out-of-sequence. Then client sends dup-ack. After about three dup-ack server sends the missing packet. This keeps happening very frequently for the entire file transfer. After one or two dup-ack, server slows down in transmitting more packets.

Is there a way to find out what kind of errors are occuring on ethernet?
 
Old 08-26-2009, 09:24 AM   #4
Suncoast
Member
 
Registered: Apr 2009
Location: Largo, Florida
Distribution: Slackware
Posts: 202

Rep: Reputation: 35
I have seen this too many times. Automatic negotiation of the Ethernet links Duplex setting has failed. So either the Network Card on the server or on the Switch Port it's connected to is set to half-duplex. You always want FULL DUPLEX on both ends.

Use ethtool and mii-tool to check and set your system to full duplex. Set the switch port to full duplex also. Do not let either remain at "auto." Be careful of what mii-tool reports, because sometimes it lies.

If you're using Catalyst switches, the command is

conf t
interface fastEthernet 0/1
duplex full
^Z

Substitute 0/1 for the appropriate port number

Last edited by Suncoast; 08-26-2009 at 09:32 AM.
 
  


Reply

Tags
duplex, errors


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Can I set the cups output order to always print in reverse order Thane Ubuntu 2 12-06-2009 07:57 AM
faulty transmission of 100 kb data using TCP/IP protocol NancyT Programming 6 01-28-2009 02:07 AM
Linux change TCP kernel Parameter for TCP DELAY ACK TICKS linux_mando Linux - Networking 5 08-22-2006 09:20 AM
Mousestroke and keystroke delays - what's causing them? rollo Linux - Newbie 15 12-29-2004 07:52 AM
Woody 3.0 Open Ports 1470/tcp/uaiact 1518/tcp/vpvd What for?How can I remove them? alexxxis Debian 5 07-05-2004 06:18 PM


All times are GMT -5. The time now is 06:58 PM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration