NNSquad - Network Neutrality Squad

NNSquad Home Page

NNSquad Mailing List Information

 


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ NNSquad ] Ignoring RSTs


On Wed, Apr 23, 2008 at 1:52 PM, Craig A. Finseth <fin@finseth.com> wrote:
>         ...
>
>    Without having an inline blocking mechanism (eg, ACL injection into a
>    router), with the significant reliability headaches incurred, RST
>    injection is the ONLY mechanism for a legitimate network policy
>    enforcer to block a TCP connection.
>         ...
>
>  ...and it will only work so long as the endpoints respect it.
>
>  How long until someone patches the network driver to ignore RSTs?
>  Sure, the end user might run into a few problems if they do so and
>  have to manually cancel some connections, but far fewer than they will
>  have if they continue to respect the RSTs.
>
>  If _any_ network management mechanism is perceived to be at the
>  expense of the user('s desire to achieve a goal), it will eventually
>  be bypassed.
>

This is not something i'd consider that likely:

a)  You need BOTH endpoints to cooperate.  Very hard to begin with, as
Windows is pretty protective of its TCP stack.

b)  You can just switch to UDP.

c)  RSTs are very common.  About 10% or so (give or take) of all flows
are ended by RST packets.  Ignoring RSTs would be done at ones own
peril. Thus for every injected RST, you have thousands of benign RSTs
which must be respected.

d)  Its hard to tell an injected RST from a legitimate one.  There are
race conditions you can detect, but such race conditions won't always
occur.  And I've seen legitimate sources that generate such race
conditions as well (buggy NATs, loadbalancers).  So you CAN detect RST
injection, but you can't RELIABLY detect it.

e)  Fine, the ISP just goes through the effort and implements ACL blocking.


Thus I think the "Ignore RST" is not going to happen, and even if it
does, it won't be effective.