Discussion:
NetBSD TCP Congestion Control Configuration
(too old to reply)
Mukosi Mukwevho
2009-01-06 06:27:08 UTC
Permalink
Hi,

As part of my academic research, I need to be able to simulate the ealier
version of TCP (as per RFC 793), that means running TCP stack without
congestion control algorithms. How can I run TCP stack on NetBSD without the
support of TCP Congestion Control Algorithms, i.e. Slow Start, Cogestion
Avoidance, Fast Retransmit and Fast Recovery?

Also, if feasible, is it possible to recompile the kernel disabling congestion
control? Are there specific settings to enable/disable congestion control in
NetBSD?

Your help will be much appreciated, thank you.

Regards,
Abraham


--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Greg Troxel
2009-01-06 15:14:45 UTC
Permalink
I suggest that you read the source code, and the Stevens books:

http://www.kohala.com/start/
Ignatios Souvatzis
2009-01-06 15:18:55 UTC
Permalink
Post by Mukosi Mukwevho
Hi,
As part of my academic research, I need to be able to simulate the ealier
version of TCP (as per RFC 793), that means running TCP stack without
congestion control algorithms. How can I run TCP stack on NetBSD without the
support of TCP Congestion Control Algorithms, i.e. Slow Start, Cogestion
Avoidance, Fast Retransmit and Fast Recovery?
Some of them can be influcenced/switched off via sysctl - look at
`sysctl net.inet.tcp`.

-is
--
seal your e-mail: http://www.gnupg.org/

--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Mukosi Mukwevho
2009-01-07 10:59:32 UTC
Permalink
Hi Ignatios;

I had a look on man sysctl(7) there is no setting to switch slow-start
off? Actually, there are no sysctl settings to switch congestion
control off completely.
Any suggestions on this?

Regards,
Abraham
Post by Ignatios Souvatzis
Post by Mukosi Mukwevho
Hi,
As part of my academic research, I need to be able to simulate the ealier
version of TCP (as per RFC 793), that means running TCP stack without
congestion control algorithms. How can I run TCP stack on NetBSD without the
support of TCP Congestion Control Algorithms, i.e. Slow Start, Cogestion
Avoidance, Fast Retransmit and Fast Recovery?
Some of them can be influcenced/switched off via sysctl - look at
`sysctl net.inet.tcp`.
-is
--
seal your e-mail: http://www.gnupg.org/
--
Kind regards,
Mukosi A Mukwevho
Head IT Development - FNB Shared Services (Contact Center Randburg)
Mobile: +27 82 859 1123
"Good relationships and good communication deliver software. Good
estimation is extremely useful, but guarantees nothing." -
http://www.softwarearchitect.biz/arch.htm

--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Ignatios Souvatzis
2009-01-07 12:36:54 UTC
Permalink
Post by Mukosi Mukwevho
Hi Ignatios;
I had a look on man sysctl(7) there is no setting to switch slow-start
off? Actually, there are no sysctl settings to switch congestion
control off completely.
Any suggestions on this?
Well, read the kernel sources - possibly of an old NetBSD version, to make
it easier, and compare to The Book, to identify what to change.

-is

--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Mukosi Mukwevho
2009-01-07 12:43:56 UTC
Permalink
By The Book - which book are you referring to? Is this book publicly
accessible? Also, what's the best place to locate the kernel sources?


--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Ignatios Souvatzis
2009-01-07 13:56:39 UTC
Permalink
Hi,
Post by Mukosi Mukwevho
By The Book - which book are you referring to?
What Greg Troxel recommended: TCP/IP illustrated, Volume 2 (The
Implementation) by Stevens. See http://www.kohala.com/start/tcpipiv2.html
Post by Mukosi Mukwevho
Is this book publicly accessible?
Ask your nearest book shop, or look for it in your institution's library.
Post by Mukosi Mukwevho
Also, what's the best place to locate the kernel sources?
e.g., use cvs to check out from anoncvs.netbsd.org. For a quick peek
you can use http://cvsweb.netbsd.org/

Regards,
-is

--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Mukosi Mukwevho
2009-01-07 12:46:32 UTC
Permalink
Post by Ignatios Souvatzis
Post by Mukosi Mukwevho
Hi Ignatios;
I had a look on man sysctl(7) there is no setting to switch slow-start
off? Actually, there are no sysctl settings to switch congestion
control off completely.
Any suggestions on this?
Well, read the kernel sources - possibly of an old NetBSD version, to make
it easier, and compare to The Book, to identify what to change.
-is
Ok, when you say "The Book" which book are you referring to? How can I access
this book. Also, where is the best place to access the kernel sources of the
older versions?


--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Steven M. Bellovin
2009-01-07 14:33:39 UTC
Permalink
On Wed, 7 Jan 2009 12:59:32 +0200
Post by Mukosi Mukwevho
Hi Ignatios;
I had a look on man sysctl(7) there is no setting to switch slow-start
off? Actually, there are no sysctl settings to switch congestion
control off completely.
Remember that slow start is much older than NetBSD; I don't think
you'll find any versions of the code that don't have it. And, since
turning it off is regarded as a very unfriendly thing to do on the
Internet, I suspect that no one saw any reason to add such a sysctl.
Your need is legitimate, but I think you'll have to modify the code
yourself.


--Steve Bellovin, http://www.cs.columbia.edu/~smb

--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
David Laight
2009-01-07 22:38:04 UTC
Permalink
Post by Steven M. Bellovin
Remember that slow start is much older than NetBSD; I don't think
you'll find any versions of the code that don't have it. And, since
turning it off is regarded as a very unfriendly thing to do on the
Internet, I suspect that no one saw any reason to add such a sysctl.
Your need is legitimate, but I think you'll have to modify the code
yourself.
OTOH I've recently seen bad interactions between 'slow start' and
'delayed acks' on fast local connections (with Nagle disabled).

I think that 'slow start' is restarted every time there are no
unacked bytes - ie almost always!

The 'delayed acks' seems to delay for ~30ms (this was a Linux system)
instead of sending an ack every other data packet.

The program is trying to send a short TCP data packet about every 2ms.
After 4 packets without an ack it stops sending :-( even when it
has more than 1500 bytes bufferred!

I found some stuff that implied similar things had been seen when abc
(appropriate byte counting) was enabled - but that had no effect.

It did seem to me that some of the changes made for ftp/web over
large latency links have f**ck*d short latence links that are not
carrying either bulk data or command-response traffic.

David
--
David Laight: ***@l8s.co.uk

--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Loading...