* Getting hopcount and dupacks from TCP CA module
@ 2007-06-29 9:48 Pierre Capillon
2007-06-29 14:08 ` Stephen Hemminger
0 siblings, 1 reply; 2+ messages in thread
From: Pierre Capillon @ 2007-06-29 9:48 UTC (permalink / raw)
To: netdev
Hello,
I'm a french IT engineering student and as part of my
internship, I'm writing a congestion avoidance module
based on research by my tutor. It aims at better
efficiency and throughput on mobile adhoc networks.
Basically, it is a sender-side modification that
differentiates between losses due to network
congestion or link failure, in which case I would need
to get the new route properties for the current tcp
socket.
Is there a simple and generic way of knowing the route
length (hopcount) from a TCP CA module, once RTO has
occured? Currently, the paper states I should know the
exact new route length to recompute the congestion
window and RTO values. I guess I need to get that
information from the routing layers, but is it event
possible from the module? Or is it simpler to rework
the algorithm to have the congestion window based on
hop difference (using received TTL values from the
remote end)?
Either way, I would appreciate hints/pointers to
structures and/or mechanics I would not have properly
understood in congestion avoidance modules (especially
how to get down to the received IP header for received
TTL values or to the routing protocols).
Regarding dupacks, after a full week of studying the
code and another week of implementing most of the
principles described in the said paper, I would like
some confirmation : it seems like the field
tp->sacked_out is accounting for them in a SACKless
connection (in tcp_fastretrans_alert()). Can I without
a doubt rely on it to adjust TCP's behavior? If so,
can I check is the state is TCP_CA_Disorder and then
the value of sacked_out in order to adjust my behavior
once 3 duplicate acks have been received, or is there
a better way to do it?
I'm sorry if this sounds like a dumb question, but I
want to make sure, as I'm no expert.
Thanks a lot.
Pierre Capillon
___________________________________________________________________________
Découvrez une nouvelle façon d'obtenir des réponses à toutes vos questions !
Profitez des connaissances, des opinions et des expériences des internautes sur Yahoo! Questions/Réponses
http://fr.answers.yahoo.com
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Getting hopcount and dupacks from TCP CA module
2007-06-29 9:48 Getting hopcount and dupacks from TCP CA module Pierre Capillon
@ 2007-06-29 14:08 ` Stephen Hemminger
0 siblings, 0 replies; 2+ messages in thread
From: Stephen Hemminger @ 2007-06-29 14:08 UTC (permalink / raw)
To: Pierre Capillon; +Cc: netdev
On Fri, 29 Jun 2007 11:48:37 +0200 (CEST)
Pierre Capillon <pierrecap@yahoo.fr> wrote:
> Hello,
>
> I'm a french IT engineering student and as part of my
> internship, I'm writing a congestion avoidance module
> based on research by my tutor. It aims at better
> efficiency and throughput on mobile adhoc networks.
>
> Basically, it is a sender-side modification that
> differentiates between losses due to network
> congestion or link failure, in which case I would need
> to get the new route properties for the current tcp
> socket.
>
> Is there a simple and generic way of knowing the route
> length (hopcount) from a TCP CA module, once RTO has
> occured? Currently, the paper states I should know the
> exact new route length to recompute the congestion
> window and RTO values. I guess I need to get that
> information from the routing layers, but is it event
> possible from the module? Or is it simpler to rework
> the algorithm to have the congestion window based on
> hop difference (using received TTL values from the
> remote end)?
A TCP CA module can find the RTT but has no way to find TTL.
TTL (hop count) is not really available given the IP model.
> Either way, I would appreciate hints/pointers to
> structures and/or mechanics I would not have properly
> understood in congestion avoidance modules (especially
> how to get down to the received IP header for received
> TTL values or to the routing protocols).
Use RTT instead. RTT reflects dynamic state of the link.
With TTL you only know the value after routers decremented
not initial value of other side. Residual TTL (min/max/avg)
could be tracked but it doesn't seem that changes in TTL would
correlate with better worse RTT.
It might be able to do some nmap style heuristics and get a value from received
packets, but that would be fragile and not standards compliant
> Regarding dupacks, after a full week of studying the
> code and another week of implementing most of the
> principles described in the said paper, I would like
> some confirmation : it seems like the field
> tp->sacked_out is accounting for them in a SACKless
> connection (in tcp_fastretrans_alert()). Can I without
> a doubt rely on it to adjust TCP's behavior? If so,
> can I check is the state is TCP_CA_Disorder and then
> the value of sacked_out in order to adjust my behavior
> once 3 duplicate acks have been received, or is there
> a better way to do it?
> I'm sorry if this sounds like a dumb question, but I
> want to make sure, as I'm no expert.
>
>
> Thanks a lot.
>
>
>
> Pierre Capillon
>
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2007-06-29 14:08 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-06-29 9:48 Getting hopcount and dupacks from TCP CA module Pierre Capillon
2007-06-29 14:08 ` Stephen Hemminger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).