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

Re: [RRG] The use of UDP in LISP



Iljitsch,

On Dec 7, 2007, at 6:23 PM, Iljitsch van Beijnum wrote:
Dino,

<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.

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.

</recap>

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.


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

A few things:
1) As one of the instigators to get Dino to move to the UDP approach for load-balancing, I can say we discussed this, but it was ruled out, since it creates administrative overhead for operators/administrators to acquire and /properly configure/ a large enough subnet on the ETR to get 'decent' load-balancing over LAG's, etc. through the core. 2) The sites where ETR's (or ITR's) are located have little and, more likely, no incentive to set-up a properly sized subnet to get "even" load-balancing through my core. (Heck, they may not even be my customer, what do they care?!) It's much, much, much better to have an automatic mechanisms that's just there, that they don't have to think about and much less to configure.

-shane


--
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


--
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