All of lore.kernel.org
 help / color / mirror / Atom feed
From: Josh Lehan <linux@krellan.com>
To: janardhan.iyengar@fandm.edu
Cc: Janardhan Iyengar <jana.iyengar@gmail.com>,
	rick.jones2@hp.com, Josh Lehan <linux@krellan.com>,
	Yuchung Cheng <ycheng@google.com>,
	netdev <netdev@vger.kernel.org>, Bryan Ford <bryan.ford@yale.edu>
Subject: Re: Skipping past TCP lost packet in userspace
Date: Thu, 30 Jun 2011 01:38:12 -0700	[thread overview]
Message-ID: <4E0C35F4.6050901@krellan.com> (raw)
In-Reply-To: <4E04A609.7010206@fandm.edu>

On 06/24/2011 07:58 AM, Janardhan Iyengar wrote:
> Thanks for your note.  I agree that it does seem like we're simply
> adding to the metaphorical pile.  And my first knee-jerk response would
> be that there's not much else one can do in the modern IPv4 Internet :-)

Thanks, I also appreciate you reviving this thread.  I was surprised at
the hostility here, towards an idea that we both think is necessary and
practical, given the realities of today's Internet.

TCP is at the middle of the hourglass, as you said.  Even UDP isn't
universally allowed (it's not all that uncommon to see UDP blocked,
except for DNS packets to whitelisted DNS servers).  At least one ISP,
"AT&T U-Verse", no longer allows the customer their choice of Internet
router, and the ISP's mandated router will filter all traffic in both
directions, so if the packet isn't recognized by its simple little
stateful firewall, into the bit bucket it goes.  Have fun trying to pass
SCTP or DCCP through that!

> Changes to the API, which is what we're proposing, is not a modification
> to the transport layer protocol per se.  In other words, we are changing
> the service that TCP offers to apps, and not the protocol.

Agreed, and the freedom of Linux to do this is what makes it great.  API
compatibility with other OS's is not an issue, since as you said the app
can always fall back to classical TCP behavior, and since nothing on the
wire changes, it won't break the other OS on the other side of the wire.

> Note:  I'm talking largely about the v4 Internet.  The v6 Internet will
> hopefully have fewer devices that interpose on the transport layer, esp.
> NAPTs;  however, I expect fully that firewalls and PEPs will still use
> transport layer information, requiring them to be able to
> read/understand transport header information.

Like IPv4, most (all?) IPv6 firewalls are stateful, so the firewall has
to be aware of the transport protocol in order to know which packets to
allow back through as replies.  And, for servers behind the firewall,
the firewall must offer a way to punch a hole through it without opening
too wide of a hole, and keep state for incoming connections, so
transport protocol awareness is important there as well.

So, even though we're vastly outnumbered on this mailing list, I remain
interested in your "Minion" paper and its ideas for providing a richer
API to make TCP more versatile to suit a wide variety of needs.

Josh Lehan

  reply	other threads:[~2011-06-30  8:38 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-31  1:19 Skipping past TCP lost packet in userspace Josh Lehan
2011-05-31  3:30 ` Marcus D. Leech
2011-05-31  4:12   ` Josh Lehan
2011-05-31  4:05 ` Mikael Abrahamsson
2011-05-31 11:12 ` Neil Horman
2011-05-31 17:23 ` Yuchung Cheng
2011-06-01  8:10   ` Josh Lehan
2011-06-01 16:57     ` Bill Sommerfeld
2011-06-01 17:35     ` Rick Jones
2011-06-24 14:58       ` Janardhan Iyengar
2011-06-30  8:38         ` Josh Lehan [this message]
2011-06-30 14:36           ` Neil Horman
2011-07-01  8:39             ` Josh Lehan
2011-07-01 13:37               ` Neil Horman
2011-06-01 19:36     ` juice
2011-06-03 11:51     ` Ilpo Järvinen
2011-06-06  6:30       ` Josh Lehan

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

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

  git send-email \
    --in-reply-to=4E0C35F4.6050901@krellan.com \
    --to=linux@krellan.com \
    --cc=bryan.ford@yale.edu \
    --cc=jana.iyengar@gmail.com \
    --cc=janardhan.iyengar@fandm.edu \
    --cc=netdev@vger.kernel.org \
    --cc=rick.jones2@hp.com \
    --cc=ycheng@google.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.