Subject: QoS and IP everywhere Was: Naive question

From: Phillip Hallam-Baker <[email-masked]>
Date: Mon, 9 Feb 2015 11:06:35 -0500

On Mon, Feb 9, 2015 at 3:47 AM, <[email-masked]> wrote:

> As Brian pointed out,
> https://datatracker.ietf.org/doc/draft-ietf-tsvwg-diffserv-intercon/
> proposes a method "how to get the labeling/queueing across the AS
> boundary". Input is welcome.
>
> Commercial DiffServ interconnection products are available. They may
> however not be be widespread.
>
> If you however ask the question how to transit the complete QoS concept
> and codepoints of a sending domain to a customer connected to another
> domain - that hasn't been standardized yet.
> If your expectation is that a consumer (device) sets priorities of packets
> and carriers honour these markings, a technical and commercial model
> accepted by all parties is required. I'm not aware of one (I'm not
> interested in discussing how to get one on this list).
> There's also no generally specified set of packet marks within the Best
> Effort class, which can transparently cross carrier boundaries on an end to
> end basis. That might offer a separation of WAN and LAN or application QoS
> marks (should this be useful).
>

Having had cause to look at Internet architecture in some detail of late
for a paper. I think we have actually lost something important with the
push for 'IP everywhere'.

IP everywhere does not mean that the difference between the network and the
inter-network goes away. Making QoS happen inside a network and across an
Inter-network are two very different problems.

One of the architectural questions that comes up is how do we define the
difference between the Network (packet) layer and the transport layer? I
think the best, cleanest definition is to say that the network layer is
stateless. If you have per packet state then you are doing transport.

Which gives a very clean distinction between IntServ and DiffServ
approaches to QoS. Both require modification of the switches on the path.
But IntServ requires the path to perform some transport layer functions
because it requires per session state.

IntServ:

A                                  A
T <--> t <--> t <--> t <--> t <--> T
N <--> N <--> N <--> N <--> N <--> N
P <--> P <--> P <--> P <--> P <--> P

(where t stands for just the QoS part of transport)

DiffServ:

A                                  A
T                                  T
N <--> N <--> N <--> N <--> N <--> N
P <--> P <--> P <--> P <--> P <--> P

That does not mean IntServ is some abomination denying the basic principles
of the Internet. Modern devices are far more capable than in 1983. There is
no reason to believe that the correct layer at which to cap Inter-network
complexity is some fixed universal constant. But it does show it is likely
to be harder to deploy.

Forgetting the distinction between the network and the inter-network gives
us a choice between only network layer everywhere or only packet layer
everywhere.

If we recognize the border, we might end up with a stack something like
this:

ZServ:

A                                   A
T             Q <-|-> Q             T
N <--> N <--> N <-|-> N <--> N <--> N
P <--> P <--> P <-|-> P <--> P <--> P

Any normal interaction is going to involve at least three networks, the
customer network, their ISP's network and the destination network of the
content provider. More usually there will be four networks.

---

From: "Black, David" <[email-masked]>
Date: Mon, 9 Feb 2015 16:38:41 +0000

> IP everywhere does not mean that the difference between the network and the inter-network goes away. Making
> QoS happen inside a network and across an Inter-network are two very different problems.

I agree - https://datatracker.ietf.org/doc/draft-ietf-tsvwg-diffserv-intercon/ recognizes this, and cleanly separates QoS within a network from what happens at network boundaries, as does ...

> Forgetting the distinction between the network and the inter-network gives us a choice between only network layer everywhere or only packet layer
> everywhere.
>
> If we recognize the border, we might end up with a stack something like this:
>
> ZServ:
>
> A                                   A
> T             Q <-|-> Q             T

Gee, this looks familiar - see RFC 2475 on DiffServ architecture, and in particular the difference that it draws between classification functionality that is appropriate within a network vs. at its edges (i.e., DiffServ recognizes that border).  The DiffServ Intercon draft is trying to iterate across networks, because DiffServ differentiation as currently deployed tends not to cross network boundaries well.

Thanks,
--David

From: tsvwg [mailto:[email-masked]] On Behalf Of Phillip Hallam-Baker
Sent: Monday, February 09, 2015 11:07 AM
To: [email-masked]
Cc: IETF Discussion Mailing List; Jim Gettys; Richard Shockey; [email-masked]; Michael Richardson
Subject: [tsvwg] QoS and IP everywhere Was: Naive question

On Mon, Feb 9, 2015 at 3:47 AM, <[email-masked]<mailto:[email-masked]>> wrote:
As Brian pointed out, https://datatracker.ietf.org/doc/draft-ietf-tsvwg-diffserv-intercon/ proposes a method "how to get the labeling/queueing across the AS boundary". Input is welcome.

Commercial DiffServ interconnection products are available. They may however not be be widespread.

If you however ask the question how to transit the complete QoS concept and codepoints of a sending domain to a customer connected to another domain - that hasn't been standardized yet.
If your expectation is that a consumer (device) sets priorities of packets and carriers honour these markings, a technical and commercial model accepted by all parties is required. I'm not aware of one (I'm not interested in discussing how to get one on this list).
There's also no generally specified set of packet marks within the Best Effort class, which can transparently cross carrier boundaries on an end to end basis. That might offer a separation of WAN and LAN or application QoS marks (should this be useful).

Having had cause to look at Internet architecture in some detail of late for a paper. I think we have actually lost something important with the push for 'IP everywhere'.

IP everywhere does not mean that the difference between the network and the inter-network goes away. Making QoS happen inside a network and across an Inter-network are two very different problems.

One of the architectural questions that comes up is how do we define the difference between the Network (packet) layer and the transport layer? I think the best, cleanest definition is to say that the network layer is stateless. If you have per packet state then you are doing transport.

Which gives a very clean distinction between IntServ and DiffServ approaches to QoS. Both require modification of the switches on the path. But IntServ requires the path to perform some transport layer functions because it requires per session state.

IntServ:

A                                  A

DiffServ:

A                                  A
T                                  T

That does not mean IntServ is some abomination denying the basic principles of the Internet. Modern devices are far more capable than in 1983. There is no reason to believe that the correct layer at which to cap Inter-network complexity is some fixed universal constant. But it does show it is likely to be harder to deploy.

Forgetting the distinction between the network and the inter-network gives us a choice between only network layer everywhere or only packet layer everywhere.

If we recognize the border, we might end up with a stack something like this:

ZServ:

A                                   A
T             Q <-|-> Q             T

Any normal interaction is going to involve at least three networks, the customer network, their ISP's network and the destination network of the content provider. More usually there will be four networks.

---

From: Phillip Hallam-Baker <[email-masked]>
Date: Mon, 9 Feb 2015 12:19:23 -0500

On Mon, Feb 9, 2015 at 11:38 AM, Black, David <[email-masked]> wrote:

> I agree -
> recognizes this, and cleanly separates QoS within a network from what
> happens at network boundaries, as does ...
>
>
>
> > Forgetting the distinction between the network and the inter-network
> gives us a choice between only network layer everywhere or only packet layer
>
> > everywhere.
>
> >
>
> Gee, this looks familiar - see RFC 2475 on DiffServ architecture, and in
> particular the difference that it draws between classification
> functionality that is appropriate within a network vs. at its edges (i.e.,
> DiffServ recognizes that border).  The DiffServ Intercon draft is trying to
> iterate across networks, because DiffServ differentiation as currently
> deployed tends not to cross network boundaries well.
>
>
>
> Thanks,
> --David
>

Well that is what is so frustrating about digging into the architecture.

It is obvious to me that we have to re-discover the difference between
networks and inter-networks to make sense of security. For years people
have been spouting nonsense about firewalls having no place on the net,
middleboxes are evil and so on.

What is missing from the IP stack is tools to let people manage their
networks. And one of the reasons those have been missing to date was that
they were the bit some vendors thought they would sell as their secret
sauce to enterprise customers.

But the enterprise isn't where the money is made, its consumer devices that
make the big profits. Take a look at the Apple market cap, bigger than all
the 'Enterprise' vendors put together.

Consumers are not going to be able to manage home automation networks
unless they have tools that make the process really easy. As in, when a box
goes wrong, the network management boxen tells them which box went wrong
with a picture of it.