From: Jonathan Morton <chromatix99@gmail.com>
To: Dennis Fedtke <dennisfedtke@gmail.com>
Cc: Cake List <cake@lists.bufferbloat.net>
Subject: Re: [Cake] overhead and mpu
Date: Tue, 5 Sep 2017 09:58:18 +0300 [thread overview]
Message-ID: <CAJq5cE0bh0Wg7tG3D-HOqyD546Nx27SWUcUrNSnk5OGhTF-HVQ@mail.gmail.com> (raw)
In-Reply-To: <a8c755c0-4c98-d4bb-263c-0491674a5777@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1816 bytes --]
I designed Cake to require as little networking expertise as feasible of
the end user. You only really need to know your network topology. So don't
overthink this - just set "bandwidth 48Mbit docsis ingress" on your inbound
shaper, and "bandwidth (whatever) docsis egress" on the outbound.
Why 48 instead of 50? Because Cake needs that when downstream of the
bottleneck link, just like any other shaper, so that it controls the
bottleneck queue. If your ISP decided to install Cake themselves, they
wouldn't need that hack, because they have access to the upstream end of
the downlink.
Now if you still want to know the technical details...
Cake's shaper works by calculating the time it takes to get a given packet
through the bottleneck link, measured from the beginning of transmission of
that packet to the beginning of transmission of the next packet. To do
that, it needs to know the number of bytes per second that the link can
carry, and the actual number of byte times occupied by the packet on the
wire - not all of which might be included in your typical frame header and
payload; we also have to count preamble, checksum, quiet times, etc.
These are layer 2 concerns, and in fact Cake normally sees layer 2 packets
when attached to an Ethernet interface. Just give it the raw data, and
it'll take care of nearly all the nasty calculations and expert knowledge
you'd need with most other shapers.
The rest of Cake is largely concerned with choosing which packet to deliver
next, given the choice among all the packets in its queue. This involves
examining layer 3 and layer 4 information within the packet, where
available. There are layer 3 (IP) packets without a layer 4 (TCP/UDP)
payload, and layer 2 packets without an IP payload, which Cake also has to
deal with sanely.
- Jonathan Morton
[-- Attachment #2: Type: text/html, Size: 1988 bytes --]
next prev parent reply other threads:[~2017-09-05 6:58 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-05 2:46 Dennis Fedtke
2017-09-05 3:26 ` Ryan Mounce
2017-09-05 3:37 ` Ryan Mounce
2017-09-05 6:00 ` Dennis Fedtke
2017-09-05 6:49 ` Ryan Mounce
2017-09-05 6:58 ` Jonathan Morton [this message]
2017-09-05 20:19 ` Dennis Fedtke
2017-09-06 1:45 ` Ryan Mounce
2017-09-06 7:26 ` Sebastian Moeller
2017-09-07 4:11 ` Dennis Fedtke
2017-09-07 4:18 ` Dennis Fedtke
2017-09-07 4:25 ` Jonathan Morton
2017-09-07 7:41 ` Dennis Fedtke
2017-09-07 7:58 ` Sebastian Moeller
2017-09-07 7:47 ` Sebastian Moeller
2017-09-07 7:58 ` Dennis Fedtke
2017-09-07 8:07 ` Sebastian Moeller
2017-09-06 7:22 ` Sebastian Moeller
2017-09-05 8:01 ` Sebastian Moeller
2017-09-05 8:35 ` Kevin Darbyshire-Bryant
2017-09-05 8:58 ` Sebastian Moeller
2017-09-05 14:37 ` Ryan Mounce
2017-09-05 15:06 ` Sebastian Moeller
2017-09-05 15:33 ` Kevin Darbyshire-Bryant
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/cake.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAJq5cE0bh0Wg7tG3D-HOqyD546Nx27SWUcUrNSnk5OGhTF-HVQ@mail.gmail.com \
--to=chromatix99@gmail.com \
--cc=cake@lists.bufferbloat.net \
--cc=dennisfedtke@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox