[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RRG] The use of UDP in LISP



<recap>

Basically, you need a UDP header so that boxes that sit between the ITR and ETR that don't know about LISP will be able to do load balancing of data streams towards an ETR. However, you're really not looking to calculate a checksum over the resulting UDP packet. In IPv4 UDP checksums are optional, but not in IPv6.

To be general, any tunneling mechanism looks to core routers as a single flow. And if they can't look deeper into the packet, they cannot load-split efficiently on LAGs.

The checksum is orthogonal to the discussion, but I guess if you are stating that UDP is an advantage to solve LAGs but is a disadvantage because of requiring checksum computation for IPv6, then I agree.

When a router (switch?) has multiple links that are equal cost paths toward a certain destination, you can generally let the router load balance across these links, but to avoid packet reordering, the router creates a hash of at least the destination IP address (possibly also the source IP address) and the source/destination port numbers if the packet is TCP or UDP and sends packets with the same hash over the same output port. If the packet isn't TCP or UDP the router can only look at the destination address and possibly the source address so load balancing becomes a lot coarser to the point of possibly not working to a usable degree anymore.

Right.

I think this can be solved by giving each ETR a small range of addresses rather than a single one. For instance, if the mapping system tells the ITR that an ETR has 240.0.0.5/29 then the ITR could send one flow towards 240.0.0.0, another flow to 240.0.0.1 and so on.

In popular routers, that would need to be 16. That is too much administration and a wastage of address space. There is nothing wrong with UDP encapsulation.

This way, the checksum issue goes away and we also get to save 8 bytes per packet.

Sounds like a really bad tradeoff to me.

Dino


--
to unsubscribe send a message to rrg-request@psg.com with the
word 'unsubscribe' in a single line as the message text body.
archive: <http://psg.com/lists/rrg/> & ftp://psg.com/pub/lists/rrg