TCP Optimizer?

Papabravo

Joined Feb 24, 2006
21,225
Getting back to the OP/TS question. We cannot imagine how a single program on a single machine can "optimize" TCP throughput to provide a meaningful improvement. In all probability it seems prudent to consider it just another scam, unless independent evidence of it's efficacy can be provided.
 

nsaspook

Joined Aug 27, 2009
13,272
Even if the program can "optimize" TCP throughput, one bottleneck in the chain will slow overall speed to that.

Example: Running a backup of the cars IPOD 160 to the file server via the USB Apple connector on a laptop with a 1G connection. The network speed is not the limiting factor.
 

nsaspook

Joined Aug 27, 2009
13,272
Well...you could play with the TCP receive window size but newer windows is supposed to auto adjust.

Don't need an optimizer for that...
The heuristics is set to 'normal' for local Home/Work networks in WIN8. For Public networks it might be "restricted" and cause slowing on fast networks but that's easily fixed with the right netsh commands.

I have it set to auto adjust in all modes on my laptop.



I wrote a simple sliding window network protocol for the Atari St long ago for the MIDI and rs-232 port that adjusts the receive window on slow networks to improve throughput much the same way windows does today.

http://cd.textfiles.com/atarilibrary/atari_cd03/UNPACKED/DFUE/MX2NET20/MX2NET.TXT

The seq and ack variables were used to track the frames and to adjust the window on how many could be sent without immediate acks or for retransmits.
Code:
  frame  = RECORD
  syn  :  CHAR; (* these are sync chars *)
  stx  :  CHAR; (* for the frames  *)
  kind  :  FrameKind;
  seq  :  SequenceNr;
  ack  :  SequenceNr;
  cmd  :  DataKind;
  rw  :  CARDINAL; (* read or write data *)
  recno  :  CARDINAL; (* sector for data*)
  d0  :  LONGCARD; (* data return variable *)
  info  :  message;
  cksum  :  CARDINAL;
  END;

  framecptr  = POINTER TO framecmd;

  framecmd  = RECORD
  syn  :  CHAR; (* these are sync chars *)
  stx  :  CHAR; (* for the frames  *)
  kind  :  FrameKind;
  seq  :  SequenceNr;
  ack  :  SequenceNr;
  cmd  :  DataKind;
  rw  :  CARDINAL; (* read or write data *)
  recno  :  CARDINAL; (* sector for data*)
  d0  :  LONGCARD; (* data return variable *)
  info  :  message1;
  cksum  :  CARDINAL;
  END;
 
Last edited:
Thread starter Similar threads Forum Replies Date
fahim.eee2k13 General Electronics Chat 7
Top