Subject: Re: [MOBILE-IP] Binding Cache entries per IPv6 address at Corresp ondent Node

From: Richard Draves <[email-masked]>
Date: Thu, 9 Nov 2000 22:40:13 -0800

> > A CN/HA with more than one interface address may get independent BUs
> > sent to it. The mobile node will consider them as different
> nodes and
> > keep one BUL entry for each of them. Especially, it will
> use independent
> > sets of sequence numbers, which in turn will cause the
> receiving CN/HA
> > to get very confused (and not accept the BUs).
> >
> > This can happen to any host/router that has multiple
> interface addresses
> > of the same scope as the home address, not only nodes with multiple
> > interfaces.
> >
> > My suggestion is to keep a Binding Cache on a CN/HA for
> every interface
> > address that's assigned, and to clear this out in the draft under
> > "Conceptual structs". Currently you can read both do and
> don't out of
> > the spec. It will be more complex, but it is the logical
> way to do it.
>
> Here is what I have added to the Internet Draft, as you suggested:
>
>
>
>  Binding Cache
>
>          A cache, maintained by each IPv6 node, of bindings for other
>          nodes.  A separate Binding Cache SHOULD be maintained by each
>          IPv6 node for each of its IPv6 addresses.

This is an interesting problem! First let me confirm: my understanding is
that a MN can only have a single mapping from HA to CoA, because it can send
its home agent a single such binding. In particular, a MN can not reasonably
use one CoA when talking to one correspondent and a different CoA when
talking to a different correspondent.

Previously the Binding Cache Entry maintained a mapping HA -> CoA. Your
suggested solution means that now the Binding Cache Entry is effectively a
triple, besides the HA & CoA there is also the correspondent address CA. The
mapping is (CA, HA) -> CoA. So when the correspondent looks up a Binding
Cache Entry, it finds one with the right CA (source address) and HA
(original destination) and gets the mapping to a CoA.

This means that if the correspondent sends a packet to the mobile using a
new CA2, then it might not find a Binding Cache Entry (and the packet will
be routed via the home agent), even if it has a Binding Cache Entry for CA1.
(There are scenarios involving anycast where this would be common.)

One solution would be to say, although there may be multiple Binding Cache
Entries for a HA -> CoA mapping, one per CA (to track the sequence numbers
properly), when looking up a Binding Cache Entry you can find & use any of
them regardless of the packet's source address.

Another solution (pretty much equivalent but conceptualized differently)
would be to say, there is one Binding Cache Entry for the mapping HA -> CoA,
but the single Binding Cache Entry can contain a sequence number per CA.
(I'm not sure if the binding lifetime needs to be per CA or not.)

Rich

---

From: Mattias Pettersson <[email-masked]>
Date: Fri, 10 Nov 2000 11:28:48 +0100

> talking to a different correspondent.

Indeed it can. I think that it is a likely case, although very advanced.
There would be a point in registering different CoAs with different CNs,
depending on e.g. where you'd want your traffic to flow. In the
extension, there could be a need to not only register a binding for a
home address, but also for a port number.

> (original destination) and gets the mapping to a CoA.

Yes.

> (There are scenarios involving anycast where this would be common.)

Yes.

> them regardless of the packet's source address.

I'm not sure what the MN would say about this mixing. Today the criteria
for sending a BU to a CN is if it detects that a packet is tunneled via
the HA. So the MN wouldn't check that a source address is different from
the CA in the BUL. Still, it's on the edge to what is good behaviour...

> but the single Binding Cache Entry can contain a sequence number per CA.

It is a possible implementation way.

> (I'm not sure if the binding lifetime needs to be per CA or not.)

It has to.

/Mattias

---

From: Francis Dupont <[email-masked]>
Date: Tue, 14 Nov 2000 14:23:48 +0100

In your previous mail you wrote:

   > > sent to it...

=> a MN can use several different CoAs at the same time. The issue is
it can't know if two addresses belong to the same node then the mapping
must deal with the correspondent address too (mainly because of sequence
numbers which have *no* reason to match, CoA stuff is for the fun :-).

=> exactly. In fact the correspondent can ignore the CA in lookups for
an outgoing packet but it can't ignore it for the binding cache management.

=> yes, this scenario is possible.

=> anycast source addresses?

=> it depends what is the purpose of the lookup. I agree the source address
(CA) is only useful for the binding cache management. Have you a proposal
for this nuance?

=> the binding lifetime is per CA because the MN doesn't know the list
of the CN addresses.
As an implementor I prefer to add a CA field in the Binding Cache Entry,
this gives the same result but perhaps this is easier to explain.

Regards

[email-masked]