[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