Le 04/09/2018 à 18:42, Dino Farinacci a écrit :
Folks, I sent comment to the authors and they asked me to forward them
to the WG list.
I also attended 3GPP/CT4 a couple of weeks ago and can report on it in
Bangkok. Maybe Satoru can as well. There were two IETF-related
presentations given.
Thanks,
Dino
Begin forwarded message:
*From: *Dino Farinacci <[email protected] <mailto:[email protected]>>
*Subject: **My comments to draft-hmm-dmm-5g-uplane-analysis-01 *
*Date: *August 30, 2018 at 4:17:09 PM PDT
*To: *Dan Voyer <[email protected] <mailto:[email protected]>>,
Satoru Matsushima <[email protected]
<mailto:[email protected]>>,
[email protected]
<mailto:[email protected]>
*Cc: *Shunsuke Homma <[email protected]
<mailto:[email protected]>>, [email protected]
<mailto:[email protected]>, Dino Farinacci
<[email protected] <mailto:[email protected]>>
Your draft text comes first and is indented and my comments follow.
Cheers,
Dino
In this section you should make it very clear where the tunnel
terminates. It is not clear from the diagram on the N3 interface if it
terminates on the eNodeB or the UE.
Even if it says it terminates at UE it must say what is the 'UE' for them.
Because some people may think 'UE' is the smartphone, but others can
think it is the modem in the smartphone.
A typical smartphone has many processors and only some of them can be
easily verifiable in a straightforward manner (open source, root access,
etc.)
If the GTP-U terminates to a point that is hardly verifiable by average
readers then its interest is very limited.
Alex
Dan made this point verbally to me about unidirectional versus
bidirectional tunnels. I don’t know if it matters because it all comes
down to the amount of state that a router uses to terminate the
tunnel. In cisco routers, we also used one “virtual interface” (called
an idb) to support a tunnel. And we used it and all the accounting
associated with it for both input and output counters, addressing,
encap/decap functions, etc.
Dan made the comment that if tunnels were bidirectional, you reduce
the tunnel state in half. That is only if an implementation used two
data structues for different TEID values. But that would be a poor
implementation where you could store a rec_teid and send_teid in one
data structure not duplicating other parts of the data structure.
All tunneling protocols should “copy inner to outer” fields like TOS,
flow label, and TTL to outer header. That needs to be done by default
and then later if there is marking policy, it happens at boundaries
only in the outer header.
This won’t be an issue with IPv6/SRv6 but if one wants to preserve the
original host values, and there is a rewrite at the boundaries, you
will lose the information. People need to decide if this is a hard
requirement.
It just doesn’t matter. Link layer CRCs are very good these days and
does a good job protecting bit errors and bad actor corruption of
packet data.
SRv6 will have this problem too. With just 1 SID can still put an
user’s MTU sized packet over the effective path MTU.
If this is the case, then the ECMP algorithm in GTP is broken. No
packets should be reordered. So why are they?
It was never clear to me and no one could ever explain exactly why a
TEID is needed. I presumed for accounting reasons. But if there was a
one-to-one mapping between tunnel and user, why couldn’t the inner
addresses be used for accounting?
How can packets be sent if the session is not setup. If the session is
not setup, the encapsulator should have no state. And packets should
be dropped locally and not go far to get an error back. This sounds
architecturally broken.
You should explain in summary form the model the control-plane uses.
Does it use TCP for reliability, does it use multicast, is it like a
routing protocol, is it like a management protocol. What are the
failure modes, the state/bandwidth tradeoffs.
You should state if a UP/CP pair that is self contained with a slice.
Or is there a CP that operates each UP in each slice. And how much
fault isolation and resource reservation is obtained by slicing. I
hope its more like containers than VRFs. ;-)
What I got from the CT4 meeting is that the LISP mapping system can be
put in a box above and you could combine SMF, AMF, and PCF functions
just in the mapping database data structure. I think more of those
compoents could be combined, but I don’t understand what they all do
yet. LOL. ;-)
Note a holistic architecture would have the N6 interface terminate on
a top-of-rack router in the DN data-center.
So I think you need a CP equivalent to this document. Because the
complexity, even though present here in the UP, is order of magnitude
more in the CP and the costs of scale, security, and manageability is
in the control-plane. Have you consider doing this?
Like I mentiioned to Satoru in West Palm Beach, without a level of
indirection in routing, how do you scale the mobility part with SRv6?
That is if you carry host routes, that can only scale so far, and it
forces you to scope the host routes to small domains. That means, your
mobility is limited within that domain. That tradeoff needs to be
characterized. And I think most importantly what users need and want
is mobility across WiFi and 3GPP based data-links. That is a problem
that really needs to be solved since the RAN RF frequencies are just
going to get more jammed with billions of IoT devices coming online.
That means smaller cells, that means IP address changes, so IP address
mobility is a huge problem coming that needs to be solved.
Payment systems will be on phones. Payment systems will need to be
secure. Payment identity will be hash of your public-key, your network
address will need to be the same, that means you can change the IP
address of a system when it roams ANYWHERE.
Some things to think about.
Cheers,
Dino
Begin forwarded message:
*From: *Dino Farinacci <[email protected] <mailto:[email protected]>>
*Subject: **My comments to draft-hmm-dmm-5g-uplane-analysis-01 *
*Date: *August 30, 2018 at 4:17:09 PM PDT
*To: *Dan Voyer <[email protected] <mailto:[email protected]>>,
Satoru Matsushima <[email protected]
<mailto:[email protected]>>,
[email protected]
<mailto:[email protected]>
*Cc: *Shunsuke Homma <[email protected]
<mailto:[email protected]>>, [email protected]
<mailto:[email protected]>, Dino Farinacci
<[email protected] <mailto:[email protected]>>
Your draft text comes first and is indented and my comments follow.
Cheers,
Dino
In this section you should make it very clear where the tunnel
terminates. It is not clear from the diagram on the N3 interface if it
terminates on the eNodeB or the UE.
Dan made this point verbally to me about unidirectional versus
bidirectional tunnels. I don’t know if it matters because it all comes
down to the amount of state that a router uses to terminate the
tunnel. In cisco routers, we also used one “virtual interface” (called
an idb) to support a tunnel. And we used it and all the accounting
associated with it for both input and output counters, addressing,
encap/decap functions, etc.
Dan made the comment that if tunnels were bidirectional, you reduce
the tunnel state in half. That is only if an implementation used two
data structues for different TEID values. But that would be a poor
implementation where you could store a rec_teid and send_teid in one
data structure not duplicating other parts of the data structure.
All tunneling protocols should “copy inner to outer” fields like TOS,
flow label, and TTL to outer header. That needs to be done by default
and then later if there is marking policy, it happens at boundaries
only in the outer header.
This won’t be an issue with IPv6/SRv6 but if one wants to preserve the
original host values, and there is a rewrite at the boundaries, you
will lose the information. People need to decide if this is a hard
requirement.
It just doesn’t matter. Link layer CRCs are very good these days and
does a good job protecting bit errors and bad actor corruption of
packet data.
SRv6 will have this problem too. With just 1 SID can still put an
user’s MTU sized packet over the effective path MTU.
If this is the case, then the ECMP algorithm in GTP is broken. No
packets should be reordered. So why are they?
It was never clear to me and no one could ever explain exactly why a
TEID is needed. I presumed for accounting reasons. But if there was a
one-to-one mapping between tunnel and user, why couldn’t the inner
addresses be used for accounting?
How can packets be sent if the session is not setup. If the session is
not setup, the encapsulator should have no state. And packets should
be dropped locally and not go far to get an error back. This sounds
architecturally broken.
You should explain in summary form the model the control-plane uses.
Does it use TCP for reliability, does it use multicast, is it like a
routing protocol, is it like a management protocol. What are the
failure modes, the state/bandwidth tradeoffs.
You should state if a UP/CP pair that is self contained with a slice.
Or is there a CP that operates each UP in each slice. And how much
fault isolation and resource reservation is obtained by slicing. I
hope its more like containers than VRFs. ;-)
What I got from the CT4 meeting is that the LISP mapping system can be
put in a box above and you could combine SMF, AMF, and PCF functions
just in the mapping database data structure. I think more of those
compoents could be combined, but I don’t understand what they all do
yet. LOL. ;-)
Note a holistic architecture would have the N6 interface terminate on
a top-of-rack router in the DN data-center.
So I think you need a CP equivalent to this document. Because the
complexity, even though present here in the UP, is order of magnitude
more in the CP and the costs of scale, security, and manageability is
in the control-plane. Have you consider doing this?
Like I mentiioned to Satoru in West Palm Beach, without a level of
indirection in routing, how do you scale the mobility part with SRv6?
That is if you carry host routes, that can only scale so far, and it
forces you to scope the host routes to small domains. That means, your
mobility is limited within that domain. That tradeoff needs to be
characterized. And I think most importantly what users need and want
is mobility across WiFi and 3GPP based data-links. That is a problem
that really needs to be solved since the RAN RF frequencies are just
going to get more jammed with billions of IoT devices coming online.
That means smaller cells, that means IP address changes, so IP address
mobility is a huge problem coming that needs to be solved.
Payment systems will be on phones. Payment systems will need to be
secure. Payment identity will be hash of your public-key, your network
address will need to be the same, that means you can change the IP
address of a system when it roams ANYWHERE.
Some things to think about.
Cheers,
Dino
_______________________________________________
dmm mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/dmm
_______________________________________________
dmm mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/dmm