On 2/10/11 11:56 AM, so...@guug.org wrote:
On Wed, Feb 09, 2011 at 06:34:32PM -0800, Philip Prindeville wrote:
The default values for OpenSSH QoS markings are wrong.

They use 'lowdelay' and 'throughput' for interactive and bulk traffic, 
respectively.

Unfortunately, these values were retired in 1998 when the low-order 2 bits of 
ToS field were repurposed for DSCP: originally RFC-2474 marked the lower 2 bits 
as 'CU' (currently unused), but they were eventually designated as ECT and CE 
in RFC-2481 and then as ECT0 and ECT1 in Explicit Congestion Notification 
(RFC-3168).

The upshot of all this is that marking traffic with these obsolete markings 
could mean that not only is the traffic not handled as desired, but it's 
handled in a highly detrimental fashion (for instance, the RFC-791 designation 
of 'lowcost' collides with the ECT0 and CE values of RFC-3168 as well as that 
of obsolete RFC-2481).

I'm surprised that this wasn't fixed a lot sooner (like a decade ago).

For whatever reason, while OpenSSH has accepted my patches for allowing the 
configuration of QoS, the default values are still the obsolete ToS fields from 
RFC-791 which is dangerously ancient (that part of the patch was left out).

The patch here itself is fortunately trivial.

DSCP markings will be ignored in the majority of equipment not implementing it 
or where it has not been enabled.

If you're forced to interoperate with some seriously braindead gear like a 10 
year-old bargain Taiwanese firewall or router that discards traffic with these 
bits set (extremely rare but not unheard of), then your best bet is to turn off 
QoS marking all together as:

IPQoS CS0 CS0

in both /etc/ssh/ssh_config and sshd_config.

A fix has been submitted for OpenSSH:

https://bugzilla.mindrot.org/show_bug.cgi?id=1856
With all respect real world usage is different.

The TOS field was defined in RFC-791 and is still used today by many
people including the pfifo_fast egress scheduler (the default) in the
Linux kernel.  As just the IP precedence part was ever used or if used
with care it doesn't collide with ECN.

I don't see why it is obsolete, many organizations (including my
University) honours those fields internally.  In the outside Internet
almost nobody honours TOS nor DSCP.

IMHO the correct answer is Active Queue Management (ACM) with ECN in
the border routers and something simple as TOS or VLAN priority
internally.

Facts:
All Linux routers by default honours the TOS field.
Big routers as used in the transport links in the Internet doesn't
honour neither TOS nor DSCP (net neutrality remember?).
DSCP does not obsolete TOS in the real world.
IPv6 does not obsolete IPv4 in the real world.
Many software supports TOS field but not DSCP.

In contrast with your point of view I believe TOS is used widely than
DSCP so current behavior should be preserved unless the admin wish to
change it.


Not sure what that means to say "all linux router by default honours the TOS 
field" since that depends on how/if you have 'tc' configured, and which scheduler 
you're using.  On every box that I have that requires QoS, I've used the hfsc 
scheduler... though a lot of my infrastructure is also Cisco stuff.

When I said "TOS" was obsolete, I was referring to the DTRC (delay, throughput, 
reliability, cost) bits.  Not the Precedence bits.

Openssh uses the DTRC markings (now obsolete), but not the precedence bits.

Actually, the latest ruling by the FCC reverses previous interpretations of QoS 
markings, in that ISP's will soon be required to honor DSCP markings and give 
users service that conforms to the markings they've requested... though the 
details are still being banged out.

IPv6 is orthogonal to what I was saying.

As for "many software supports TOS field but not DSCP" isn't really the point.  
It's moot to mark the traffic if the network doesn't support QoS.  Equally important, 
it's potentially detrimental to mark the traffic with TOS if the bits are being 
interpreted as DSCP.

Most networks that I've used ignore the 802.1p markings or don't even use 
markings (and just do straight 14-byte header encapsulation).



_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to