aMule Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're back! (IN POG FORM)

Author Topic: client to client timer randomisation  (Read 4512 times)

stoatwblr

  • Sr. Member
  • ****
  • Karma: 12
  • Offline Offline
  • Posts: 318
client to client timer randomisation
« on: April 16, 2012, 06:09:39 PM »

I've been reading a few of papers on technbiques used to detect and combat PtP traffic (I don't mind being throttled but I do mind it being "too much" or a total block.)

It seems that now that most traffic is encrypted by default on most networks, detection will move towards picking up known timer intervals.

One way of combatting this is to provide some degree of randomisation and jitter in those timers, the question is how much it can vary in a cyclical basis. (for various reasons I tend to use prime numbers for timers (and their offset ranges) whenever possible as it scatters things around more evenly and avoids timer convergance problems)

Is changing the network timers possible on amule/emule without breaking other clients? Is it desirable?

ie: How tightly must the clients adhere to heartbeat timers, or are the current values simply a matter of convention?


http://pam2009.kaist.ac.kr/paper/54480155.pdf (see page 3 and 4)

http://www.di.ubi.pt/~mario/files/MScDissertation-DavidCarvalho.pdf is a few years old but worthwhile reading.

Comments?
 
What got my attention is this comment in the Kaist paper:

"The third pattern of periodic group communication behavior is a direct consequence of how BitTorrent-like protocols might implement the tit-for-tat mechanism. As described in [5,10], each peer uses two timers (10 seconds and 30 seconds) to decide whether to choke and optimistically unchoke neighboring peers, respectively. This results in the synchronization of Start Events (SE) and End Events (EE) at the beginning of the time intervals, as illustrated in Figure 1(c)."


Another advantage of using variable timers is to prevent the possibility of the entire network inadvertently falling into "lock step" and generating damagingly large network pulses, due to external influences such as shaping attempts.

(this is a simlar effect to what happens when soldiers march across bridges and why they must break step (walk randomly) when crossing them. For another example, the London Millenium "wobbly bridge" oscillated at close to normal walking speed, which caused people to fall into that rhythm and it was the feedback cycle from this which caused it to "wobble". I've observed clustrers of computers fall into a network-wide "heartbeat" in LAN environments and this in turn has caused trouble with fileservers)

Logged

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: client to client timer randomisation
« Reply #1 on: April 16, 2012, 08:58:03 PM »

It seems that now that most traffic is encrypted by default on most networks, detection will move towards picking up known timer intervals.
Citation needed.  ;)

Quote
"The third pattern of periodic group communication behavior is a direct consequence of how BitTorrent-like protocols might implement the tit-for-tat mechanism. As described in [5,10], each peer uses two timers (10 seconds and 30 seconds) to decide whether to choke and optimistically unchoke neighboring peers, respectively. This results in the synchronization of Start Events (SE) and End Events (EE) at the beginning of the time intervals, as illustrated in Figure 1(c)."
I don't think we have anything like that in our code. We don't have tit-for-tat to start with, at least not in the sense it's described here.

Logged
The image of mother goddess, lying dormant in the eyes of the dead, the sheaf of the corn is broken, end the harvest, throw the dead on the pyre -- Iron Maiden, Isle of Avalon

stoatwblr

  • Sr. Member
  • ****
  • Karma: 12
  • Offline Offline
  • Posts: 318
Re: client to client timer randomisation
« Reply #2 on: April 16, 2012, 09:09:17 PM »

It seems that now that most traffic is encrypted by default on most networks, detection will move towards picking up known timer intervals.
Citation needed.  ;)

Some of the suppliers trying to sell me kit at $orkplace are talking about "multifaceted" ways of detecting/blocking PtP traffic and claiming particularly that they can target edonkey and BT networks, even when emule is running in Kad-only mode.

They won't elaborate on "how" but they'd already said they don't try to crack into the obfuscation to do so.

Quote
I don't think we have anything like that in our code. We don't have tit-for-tat to start with, at least not in the sense it's described here.

There's definitely _something_ going on with a 11-12 second period and I strongly suspect it must be lockstepping because neither the router or the amuled machine are emitting congestion control packets when the spikes come in.


What do you see on _your_ router?



Logged