Network Neutrality is back! Let´s make the technical aspects heard this time!
 help / color / mirror / Atom feed
From: Jack Haverty <jack@3kitty.org>
To: nnagain@lists.bufferbloat.net
Subject: Re: [NNagain] upgrading old routers to modern, secure FOSS
Date: Mon, 23 Oct 2023 11:53:09 -0700	[thread overview]
Message-ID: <af3ec710-93f7-4bad-a494-379fc3f542ef@3kitty.org> (raw)
In-Reply-To: <CAA93jw5z7sx=DYUOXNh9CF22xhHbqLrpP9_i=+mQQDYuks10PA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2350 bytes --]

On 10/23/23 10:58, Dave Taht via Nnagain wrote:
> I wish that the city-dwellers of BEAD so in love with fiber would 
> insert 70ms of rural delay into all their testing.
FYI, in case someone wants to pursue such real-world testing....

When we were testing TCP/IP software about 40 years ago there was a 
similar problem of how to do tests in a lab which realistically 
simulated real-world conditions.   We created a software tool called 
"Flakeway" which enable traffic flows to be delayed, duplicated, 
re-ordered, deleted or mangled.   That enabled realistic testing even 
when the machines being tested were all in a lab connected to the same LAN.

That software is long gone, but might be easily rewritten today.  It was 
literally a weekend hack.   Here's how it worked.

The basic design took advantage of a "feature" of the IP protocols. When 
an IP datagram is to be sent to another computer on the same Ethernet, 
the IP address isn't big enough to encode the Ethernet address.  So the 
ARP mechanism is used to get the appropriate mapping between an IP 
address and the required Ethernet address for the destination host.  The 
sender issues an ARP request that says "Where is IP address x.x.x.x"?  
The computer which is configured as that IP address responds with "It's 
me, and my Ethernet address is xx:xx:xx:xx:xx:xx"

When the Flakeway, running on some other computer on the same LAN, saw 
such an ARP exchange for a traffic flow it was supposed to manipulate, 
it would immediately send it's own ARP response, saying "No, it's me, 
and my Ethernet address is..."

We discovered that most computers simply believed the latest ARP 
information it received.   So it was easy for the Flakeway to insert 
itself into any IP traffic flow and do its work, without any changes to 
software in any other computer.  It was handy not only for testing but 
also for diagnosing all sorts of problems, simply capturing the traffic 
flows for later analysis (similar to wireshark).

That was all done in the IPV4 world, 40+ years ago, so I'm not sure how 
it might relate to today's Internet.   We reported this "feature" to 
IETF and some IEEE 802.x committee as a likely vulnerability, but I'm 
not sure if anything changed.

But something similar might be possible in today's world to improve 
real-world testing?

Jack Haverty

[-- Attachment #2: Type: text/html, Size: 2859 bytes --]

  parent reply	other threads:[~2023-10-23 18:53 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-23 17:04 Dave Taht
2023-10-23 17:43 ` le berger des photons
2023-10-23 17:46   ` Frantisek Borsik
2023-10-23 18:11     ` Dave Taht
2023-10-23 18:38       ` Frantisek Borsik
2023-10-24  5:34       ` Ignacio Ocampo
2023-10-24  5:39         ` Ignacio Ocampo
2023-10-24 12:10           ` Frantisek Borsik
2023-10-24  0:36   ` Dave Taht
2023-10-23 17:58 ` Dave Taht
2023-10-23 18:20   ` David Lang
2023-10-23 18:39   ` Sebastian Moeller
2023-10-23 18:53   ` Jack Haverty [this message]
2023-10-23 19:01     ` David Lang
2023-10-23 19:37     ` Karl Auerbach
2023-10-23 21:54       ` rjmcmahon
2023-10-23 23:22         ` Karl Auerbach
2023-10-23 23:39           ` David Lang
2023-10-24  0:13             ` Karl Auerbach
2023-10-24  5:16           ` Robert McMahon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.bufferbloat.net/postorius/lists/nnagain.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=af3ec710-93f7-4bad-a494-379fc3f542ef@3kitty.org \
    --to=jack@3kitty.org \
    --cc=nnagain@lists.bufferbloat.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox