Hi Fred

I had something quite simple in mind:

Fragment the IP packet just as you do today and send each fragment as opaque data in a simple 8 byte basic UDP payload with port set to IP. Set the source port based on a hash of the 5 tuple. Then resemble the IP just like you always would.

- Stewart


On 30/01/2019 16:55, Templin (US), Fred L wrote:

Hi Stewart,

>> It we really need to fragment a packet, it would be better to stick the fragments inside a common UDP/IP(no frag) shim.

I agree. Two different approaches for UDP fragmentation that avoid IP fragmentation

are currently under consideration:

https://datatracker.ietf.org/doc/draft-ietf-intarea-gue-extensions/

https://datatracker.ietf.org/doc/draft-ietf-tsvwg-udp-options/

Thanks - Fred

*From:*Int-area [mailto:[email protected]] *On Behalf Of *Stewart Bryant
*Sent:* Wednesday, January 30, 2019 6:14 AM
*To:* Fred Baker <[email protected]>; Tom Herbert <[email protected]>
*Cc:* int-area <[email protected]>
*Subject:* Re: [Int-area] Comments on draft-ietf-intarea-frag-fragile-06

On 29/01/2019 23:37, Fred Baker wrote:



        Section 4.5:

        "IP fragmentation causes problems for some routers that support Equal

        Cost Multipath (ECMP). Many routers that support ECMP execute the

        algorithm described in Section 4.4 in order to perform flow based

        forwarding;

    As far as I know, routers that hash fields in the IP header to select a en 
ECMP next hop do so because all packets in a flow will hash the same way 
(modulo the issues with the transport port number), not because they are doing 
per-flow forwarding. The do so explicitly to avoid having to maintain per-flow 
state and yet make all fragments of a message follow the same path.

I agree with Fred. ECMP is normally done to distribute the load over the available next hops on a best effort basis. Originally it was done per packet, but that gave problems with out of order packet delivery, so the routers moved to doing it based on the five tuple described in this draft. It is a stateless best effort ECMP process with no regard to specific flows and the path for any five tuple may move arbitrarily if routing changes its mind on the ECMP set.

Fragmented packets are really bad news in networks that need ECMP. There is not enough entropy in the SA/DA/Protocol triplet and anything else results in misorder. But if ECMP is not done this overloads the default path.

MPLS is also stateless but there are more options, although the most common is to look past BoS to the five tuple, however some "features" make mistakes and look at a non-existent five tuple despite hints in the packet that thus is a bad idea.

        therefore, the exhibit they same problematic behaviors

        described in Section 4.4. In IPv6, the flow label may alternatively

        used as input to the algorithm as opposed to parsing the transport

        layer of packets to discern port numbers. The flow label should be

        consistently set for a packets of flow including fragments, such that

        a device does not need to parse packets beyond the IP header for the

        purposes of ECMP."

        Add to section 7.3:

        "Routers SHOULD use IPv6 flow label for ECMP routing as described in 
[RFC6438]."

If we want to migrate to the FL then we really need to state that the FL MUST be set by the sender. Without, that we are never going to wean routers off looking at the five tuple, if indeed we ever succeed in doing that.

It we really need to fragment a packet, it would be better to stick the fragments inside a common UDP/IP(no frag) shim. Then the forwarders could carry on just as they are. We would never get misorder and we would not be faced with the impossible problem of changing the Internet core forwarding behaviour to a single consistent model.

- Stewart

        _______________________________________________

        Int-area mailing list

        [email protected]  <mailto:[email protected]>

        https://www.ietf.org/mailman/listinfo/int-area

    
--------------------------------------------------------------------------------

    Victorious warriors win first and then go to war,

    Defeated warriors go to war first and then seek to win.

          Sun Tzu



    _______________________________________________

    Int-area mailing list

    [email protected]  <mailto:[email protected]>

    https://www.ietf.org/mailman/listinfo/int-area

_______________________________________________
Int-area mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/int-area

Reply via email to