0

I've already asked this question on networkengineering.stackexchange.com, but unfortunately it was marked as Offtopic there.

As far as im concerned the CSMA/CD and the CSMA/CA standard rely on the compliance of the protocol standard of the hosts connected to the communication channel. For example: If a collision is detected in Ethernet, all involved hosts wait for a random time and try after that to send their data again - at least if the channel is not already used (carrier sensing). Another example: In the WLAN-Standard of DCF the hosts who want to send something compete with each other for channel access by waiting a random amount of time. This seems to me on the first look like a good idea, because if every host really does what the standard dictates, its quite fair for everyone who is involved. But lets just say there is an attacker connected to the channel who doesn't care about the protocol standards in the data link layer. If he is involved in a collision in Ethernet, then he simply cheats by waiting the lowest amount of time. If he needs to compete with other hosts in Wifi for channel access, he does the same, so that he is always the first one who can send. If everybody did this, the network would be congested.

€dit - to be hopefully more clear: I just think about if one could achieve a higher data rate in a network (for example in the Wifi of an hotel/cafe) by ignoring back off times (https://en.wikipedia.org/wiki/Exponential_backoff) in the data link layer.

I think for doing this, one just has to modify the network driver. But is it really that easy or have i forgotten to consider something important? And if it's really that easy, why is it not done in practice? (At least I've never heard of it) Greetings

6
  • It might help if you can clarify your question more. I feel there is enough of a question there for me to give an answer, but it is also a bit unclear about what you are actually asking, and I won't be surprised if this gets flagged as too broad. Oct 26, 2017 at 16:34
  • Your question is about getting faster network access. That's not a security concern. If your question is about DoS, then you could have simplified the entire scenario to just malforming traffic, for which there are tons of tools. I'm afraid this is off-topic here, too.
    – schroeder
    Oct 26, 2017 at 16:53
  • No, its about getting an data rate advantage on the data link layer by ignoring brashly collision back off times.
    – cakelover
    Oct 26, 2017 at 17:03
  • Metasploit CTS flood attack allows the attacker to continuously send CTS frames on the wifi network so that he can use the channel first.You don't need to modify any driver, you only need the right tool and a wifi adapter
    – defalt
    Oct 26, 2017 at 19:41
  • This is still not a security question
    – schroeder
    Oct 26, 2017 at 20:02

1 Answer 1

1

To be clear, you are asking about a behavior referred to as a truncated exponential backoff:

https://en.wikipedia.org/wiki/Exponential_backoff https://cloud.google.com/storage/docs/exponential-backoff

This general algorithm is not just used in networking: I've used it to backoff on HTTP requests to busy services. I think there are a couple small misunderstandings on your part, one of which is simply:

What exactly do you expect to gain by rewriting a networking driver to not perform the standard backoff?

For TCP/IP protocols the backoff time is measured in tens and hundreds of microseconds. Moreover, because it is only used in the event of collisions (aka high network traffic) it is probably not a constant source of network latency on, say, a home network (where your network driver is actually relevant). If all you want to do is make your home network as fast as possible, then your best bet is to simply buy a high-end router and don't overtax it with too many devices.

From the standpoint of a malicious actor, I'm sure the same cost/benefit analysis prevails. Sure, you possibly could rewrite your network driver to ignore the exponential backoff and try to be first in getting your packets through in the event of a collision but I strongly suspect that both the gains by doing so and the frequency in which those gains will be applicable are so small that no one would bother rewriting a driver for it.

The other problem I suspect you will encounter is that even doing this might not substantially help your cause. In the event of a collision you and the colliding party probably aren't the only ones who can collide. If you don't wait and send a new packet very quickly, that won't help you if you just collide with another host. Sure, if you never wait you will probably get your requests in faster on average, but it isn't obvious to me that this will actually be a big help for you. The whole point of this algorithm isn't to "make people wait their turn" but rather to moderate overall usage so that an oversubscribed network can get things done. You are basically proposing to ignore the rules and just spam away on a busy network. Yeah, that might get you through faster, but it might also just increase congestion to the point where no one can get anything through.

7
  • Thank you! As far as I've understood your answer, you say ignoring the backoff time is quite pointless, because a) collisions are rare, so actually it will not increase the data rate very much and b) if there are really a lot of collisions, the channel is congested anyway. Right?
    – cakelover
    Oct 26, 2017 at 16:59
  • @cakelover That's a pretty good summary, although I'm not a networking guru. Oct 26, 2017 at 17:31
  • Collissions are nonexistent on a switched network.
    – vidarlo
    Oct 26, 2017 at 18:06
  • @vidarlo Thanks for the clarification: I'm familiar with these topics but not a networking expert. I'm guessing that your comment is applicable to your typical home network, and that setups where collisions are a concern at all are themselves a minority? Oct 26, 2017 at 18:15
  • @ConorMancone if the network has a switch, and not a hub, collissions is a thing of the past. This applies to both enterprise and home network.
    – vidarlo
    Oct 26, 2017 at 18:17

Not the answer you're looking for? Browse other questions tagged .