With regard to the m-bit, I would prefer that this document leave the
bit reserved, and the LISP mobile node document assign the bit fromthe
registry. That keeps a clean separation.
Yours,
Joel
On 9/29/18 1:05 PM, Eric Rescorla wrote:
On Sat, Sep 29, 2018 at 9:30 AM Dino Farinacci <[email protected]
<mailto:[email protected]>> wrote:
Thanks Eric for your great comments. Like I said in previous emails,
I’ll address the simple things here and then handle all the security
related stuff separately next week.
I will do the same with Benjamin’s comments as well. And in his
reply, send a diff with changes that reflect both Eric and
Benjamin’s comments.
> On Sep 27, 2018, at 5:16 AM, Eric Rescorla <[email protected]
<mailto:[email protected]>> wrote:
>
> Rich version of this review at:
> https://mozphab-ietf.devsvcdev.mozaws.net/D4115
>
>
> IMPORTANT
> S 5.2.
>> s: This is the SMR-invoked bit. This bit is set to 1 when
an xTR is
>> sending a Map-Request in response to a received SMR-based
Map-
>> Request.
>>
>> m: This is the LISP mobile-node m-bit. This bit is set by
xTRs that
>> operate as a mobile node as defined in [I-D.ietf-lisp-mn].
>
> This would appear to create a normative reference to this
document. To
> avoid that, you need to specify how I behave if I receive it but I
> don't implement lisp-mn.
I am find making it a normative reference but need the lisp-chairs
to comment. I am not sure what the implications of that are.
Me neither. Seems like it could go either way. My only interest is that
the protocol be unambiguous.
> S 5.5.
>> is being mapped from a multicast destination EID.
>>
>> 5.5. EID-to-RLOC UDP Map-Reply Message
>>
>> A Map-Reply returns an EID-Prefix with a prefix length that
is less
>> than or equal to the EID being requested. The EID being
requested is
>
> How do I behave if I receive an EID-Prefix that is less than any
of my
> mappings. So, I might have mappings for 10.1.0.0/16
<http://10.1.0.0/16> and 10.2.0.0/16 <http://10.2.0.0/16>
> and someone asks me for 10.0.0.0/8 <http://10.0.0.0/8>?
I think I'm still unclear on this point.
Also, when you talk about prefix
> length, I assume you mean the length fo the mask?
Yes, this is explained later in this section. Was that not helpful??
I found it a bit confusing. It seems to me like there are two lengths
involved here:
- The length of the field (4 or 16)
- The parts of the field that are significant (i.e., the mask)
I had thought that "prefix length" referred to the former, but it seems
like here it
refers to the latter.
> S 5.6.
>> Authentication Data: This is the message digest used from
the output
>> of the MAC algorithm. The entire Map-Register payload is
>> authenticated with this field preset to 0. After the MAC is
>> computed, it is placed in this field. Implementations of
this
>> specification MUST include support for HMAC-SHA-1-96
[RFC2404],
>> and support for HMAC-SHA-256-128 [RFC4868] is RECOMMENDED.
>
> What prevents replay attacks here? I'm guessing it's the Map-Version-
> Number, but as I understand it, I can set this to 0.
Well there are many. The nonce can change for each Map-Register
sent. Same for Map-Version number as well as the key-id.
I think you need to describe the precise process of replay prevention here.
> S 6.1.
>> receives an SMR-based Map-Request and the source is not in the
>> Locator-Set for the stored Map-Cache entry, then the
responding Map-
>> Request MUST be sent with an EID destination to the mapping
database
>> system. Since the mapping database system is a more secure
way to
>> reach an authoritative ETR, it will deliver the Map-Request
to the
>> authoritative source of the mapping data.
>
> If I'm understanding this correctly, this allows an ETR to prevent an
> ITR from learning that it is no longer the appropriate ETR for a
> prefix. The way this attack works is that before the topology
shift, I
> send SMRs, thus causing Map-Requests, which, because my entry is
> cached, refresh the cache on the ITR past the topology shift. I can
> keep doing this indefinitely. Am I missing something
Well if the ETR is being spoofed, then there is Map-Request load,
but it won’t corrupt the ITR’s map-cache. The ITR always sends a
verifying Map-Request to the mapping system to get the latest and
authenticated RLOC-set for the mapping. Rate-limiting is necessary
so each SMR received DOES NOT result in a Map-Requerst to the
mapping system.
I'm probably just confused here: SMRs go through the mapping system, not
directly? If so, I agree that this wont' work.
> S 5.
>> \ | UDP Length | UDP Checksum
|
>>
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>> |
|
>> | LISP Message
|
>> |
|
>>
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>
> What do these two diagrams correspond to? v4 and v6? This needs
> explanation.
It is th entire IP packet sent as a LISP control-message. The header
before the diagrams indicate they are UDP packets.
A caption would probably help.
> S 5.2.
>> P: This is the probe-bit, which indicates that a Map-Request
SHOULD
>> be treated as a Locator reachability probe. The receiver
SHOULD
>> respond with a Map-Reply with the probe-bit set,
indicating that
>> the Map-Reply is a Locator reachability probe reply, with the
>> nonce copied from the Map-Request. See RLOC-Probing
Section 7.1
>> for more details.
>
> How am I supposed to handle this if I am a Map Server.
It should be ignored. I will add text to reflect this point. Good point.
>
> S 5.2.
>> receipt.
>>
>> L: This is the local-xtr bit. It is used by an xTR in a
LISP site to
>> tell other xTRs in the same site that it is part of the
RLOC-set
>> for the LISP site. The L-bit is set to 1 when the RLOC
is the
>> sender's IP address.
>
> Is the xTR supposed to filter this on exiting the site.
Nope.
Won't this cause problems on ingress to another site?
> S 5.3.
>> originating Map-Request source. If the RLOC is not in the
Locator-
>> Set, then the ETR MUST send the "verifying Map-Request" to the
>> "piggybacked" EID. Doing this forces the "verifying
Map-Request" to
>> go through the mapping database system to reach the
authoritative
>> source of information about that EID, guarding against
RLOC-spoofing
>> in the "piggybacked" mapping data.
>
> This text here doesn't seem compatible with either of the two cases
> listed in "EID-prefix" above.
I don’t understand the comment Eric. Maybe because I can’t find the
exact reference to EID-prefix where you think there is a conflict.
Please cite for me. Thanks.
This does seem to have been assigned to the wrong text.
I am referring to:
" A Map-Reply returns an EID-Prefix with a prefix length that is less
than or equal to the EID being requested. The EID being requested is
either from the destination field of an IP header of a Data-Probe or
the EID record of a Map-Request. The RLOCs in the Map-Reply are
"
versus
" EID-Prefix: This prefix is 4 octets for an IPv4 address family and
16 octets for an IPv6 address family when the EID-Prefix-AFI is 1
or 2, respectively. For other AFIs [AFI], the length varies and
for the LCAF AFI the format is defined in [RFC8060]. When a Map-
"
This is just the question of whether "prefix length" refers to the field or
the significant bits of the field.
>
> S 5.4.
>> 'Nonce' field.
>>
>> Record TTL: This is the time in minutes the recipient of
the Map-
>> Reply will store the mapping. If the TTL is 0, the entry
MUST be
>> removed from the cache immediately. If the value is
0xffffffff,
>> the recipient can decide locally how long to store the
mapping.
>
> Am I supposed to merge this with previous mappings? REmove them?
No replace it. There is text that says this that is not in the
packet format description section.
OK.
> S 8.3.
>> of the mapping database protocols.
>>
>> 8.3. Map-Server Processing
>>
>> Once a Map-Server has EID-Prefixes registered by its client
ETRs, it
>> can accept and process Map-Requests for them.
>
> This section is confusing because the introduction says that this
> function is only performed by Map-Resolvers:
> '
> "The LISP Mapping Service defines two new types of LISP-speaking
> devices: the Map-Resolver, which accepts Map-Requests from an
> Ingress
> Tunnel Router (ITR) and "resolves" the EID-to-RLOC mapping using a
> mapping database; and the Map-Server, which learns authoritative
> EID-
> to-RLOC mappings from an Egress Tunnel Router (ETR) and publishes
> them in a database.”
The document does cover the operation of a Map-Resolver and a
Map-Server. Some functions are performed only by Map-Resolvers only
and other different functions are performed by Map-Servers only.
I am not sure what you don’t understand.
Sure: As I understand it, Map Resolvers process Map Requests, and Map
Servers do not (that's what the quoted text seems to say). However, this
sentence talks about a Map Server processing a Map Request. That's
where I am confused.
-Ekr
Thanks,
Dino
_______________________________________________
lisp mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/lisp