[savi] Some findings in the darft-ietf-savi-dhcp-20

"Leaf Yeh" <leaf.yeh.sdo@gmail.com> Thu, 27 March 2014 17:04 UTC

Return-Path: <leaf.yeh.sdo@gmail.com>
X-Original-To: savi@ietfa.amsl.com
Delivered-To: savi@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7EE001A032C for <savi@ietfa.amsl.com>; Thu, 27 Mar 2014 10:04:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id R0QcOegze42w for <savi@ietfa.amsl.com>; Thu, 27 Mar 2014 10:04:43 -0700 (PDT)
Received: from mail-pd0-x231.google.com (mail-pd0-x231.google.com [IPv6:2607:f8b0:400e:c02::231]) by ietfa.amsl.com (Postfix) with ESMTP id 0034F1A016A for <savi@ietf.org>; Thu, 27 Mar 2014 10:04:42 -0700 (PDT)
Received: by mail-pd0-f177.google.com with SMTP id y10so3625080pdj.36 for <savi@ietf.org>; Thu, 27 Mar 2014 10:04:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:mime-version:content-type :content-transfer-encoding:thread-index:content-language; bh=0E+p3xTrqqEVwGSmkNnll1ocuG5riyEABxQJyDuOjto=; b=lPj9oZVCGih+ESl+9mGSGU5eo+DlmBoFtmyMETdLbrVnoCBgirIqt8TzrPnU8Li2Un O8vWGYyxZ+oClB1ustvP6roKs5tBMEXqBlulKVWcAHLNsOa1fI0RpNh/4tCwa2tjkHlR UxIOOT14Ud8hwl40lH19a5EmUtr55RhCU3aHVFLrNqpPfnanPzZjfZH/DDx68pLJ8xEg EYjavPyl8JvGejyGH8cupo0FsJFwsexcZYnFrqDmBc0gCCpNBd05wDsgnN0o1+1UfZl5 ZhsBqNOEKPaEGaEAanN7EVSv5xYyPA/UzfrKRJ61mIZgJiuBUxLv3AzJwAZClZASnbJ3 o+yQ==
X-Received: by 10.68.136.2 with SMTP id pw2mr2915428pbb.167.1395939881033; Thu, 27 Mar 2014 10:04:41 -0700 (PDT)
Received: from PC ([111.193.216.114]) by mx.google.com with ESMTPSA id dn1sm11322890pbb.54.2014.03.27.10.04.33 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 27 Mar 2014 10:04:40 -0700 (PDT)
From: Leaf Yeh <leaf.yeh.sdo@gmail.com>
To: 'Jun Bi' <junbi@cernet.edu.cn>, 'Jun Bi' <junbi@tsinghua.edu.cn>, yaoguang@cernet.edu.cn
Date: Fri, 28 Mar 2014 01:04:32 +0800
Message-ID: <53345a28.e15f440a.76a1.430a@mx.google.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Office Outlook 12.0
Thread-Index: Ac9J16rOOdgzn4htS7aerOCadVF55Q==
Content-Language: zh-cn
Archived-At: http://mailarchive.ietf.org/arch/msg/savi/eZ-XZ_AFx6HK7VXXBToomG9vlgo
Cc: savi@ietf.org, 'Ted Lemon' <ted.lemon@nominum.com>
Subject: [savi] Some findings in the darft-ietf-savi-dhcp-20
X-BeenThere: savi@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Mailing list for the SAVI working group at IETF <savi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/savi>, <mailto:savi-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/savi/>
List-Post: <mailto:savi@ietf.org>
List-Help: <mailto:savi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/savi>, <mailto:savi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 27 Mar 2014 17:04:58 -0000

Dear Prof. Bi & authors,

I’ve read the main part of the darft-ietf-savi-dhcp-20, and probably got the following findings:

1. In the 1st paragraph of Page 11, 
<quote>
For example, in Figure 1, the attachment from the Non-SAVI Device 1 to the SAVI Device B should be configured with no attribute.
</quote>

But in Fig.1, Non-SAVI Device 1 is not directly connected to SAVI Device B. I suppose the draft really means ‘SAVI Device C’ here.
***


2. In the last paragraph of page 11, 
<quote>
In Figure 1, the attachment from the DHCP Relay to the SAVI Device B, and the attachment from the DHCP Server B to the SAVI Device B should be configured with this attribute. 
</quote> (for DHCP-Trust Attribute)

But in Fig.1, DHCP Relay is not directly connected to SAVI Device B. I suppose the draft really means ‘SAVI Device A’ here. 
***

As to Fig.1, question for clarification : It sounds to set up a filter (as the requirement of DHCP-Trust Attribute) inside the SAVI-perimeter. I guess if the Relay or Server B is directly connected to SAVI Device and outside the SAVI-perimeter, we still need to set up DHCP-Trust Attribute for the port of SAVI Device A and B, right? If yes, does it means the Fig.1 can let the Relay or Server B outside the SAVI-perimeter? 


3. Question of clarification on the text in the 3rd paragraph of section 4.3.1, 
<quote>
In this case, SAVI device B doesn’t create a binding for client A. SAVI device A doesn’t create a binding for client B. But the SAVI device B is still protected from spoofing from client A and the SAVI device A is still protected from spoofing from client B. 
</quote>

What does “SAVI device B is still protected from spoofing from client A” exactly mean? How can SAVI device B protects from spoofing from client A? It sounds a little confused.


4. Question of clarification on the text in section 4.3.2,
<quote>
(6) Optional: configure filters on the upstream links to filter out
spoofing of local addresses from other networks.
</quote>

Per the definition of ‘Upstream link’ and ‘Downstream link’ in section 3, upstream is for other network (with gateway router), downstream is for local network. I guess the text here might mean ‘filter out spoofing of source addresses from other networks.’


5. Question of clarification on the text in the last paragraph of section 4.3.2, 
<quote>
In this way, the points of attachments with Validating attribute (and
generally together with attachments of upstream devices) on SAVI
devices can form a perimeter separating DHCP clients and trusted
devices.
</quote>

The above sentence sounds SAVI devices always form perimeter for upstream devices. But in general thinking, we always trust devices in the upstream network. In Fig.1, we should not configure ‘DHCP-Trust attribute’ on the port of SAVI Device C for the Server A through Non-SAVI Device 1, which might means the Client A and Client B can’t get address assignment from Server A of the upstream network. Does the above sounds a little confused?


6. Question of clarification on the text in the last paragraph of section 4.3.2, 
<quote>
DHCP-Trust attribute is only configured on the inside links of the perimeter. 
</quote>

The above sentence sounds, even in the SAVI-perimeter, we still need set up filter for some devices, including relay and server. It sounds we couldn’t trust the relay and server in the SAVI-perimeter; and after we configure the DHCP-Trust attribute on the port of the SAVI-device which connect the relay or server, we start to trust them. But in general thinking, we always trust devices in the perimeter, and we don’t need additional SAVI-device to connect some kind of device in the perimeter. Does the above sounds a little confused?


7. Question of clarification on table 3 of BST in section 5:
<quote>
+---------+----------+----------+-----------+-------+
| Anchor | Address | State | Lifetime |TID |
+---------+----------+----------+-----------+-------+
| A | IP_1 | BOUND | 65535 |TID_1 |
+---------+----------+----------+-----------+-------+
| A | IP_2 | BOUND | 10000 |TID_2 |
+---------+----------+----------+-----------+-------+
| B | IP_3 |INIT_BIND | 1 |TID_3 |
+---------+----------+----------+-----------+-------+
</quote> for Binding State Table

It is not quite sure about ‘A’ and ‘B’ in the column of Anchor stands for. Does ‘A’ stands for the Client A? It must not stand for SAVI-Device A. ☺ 
Per the definition of ‘Binding anchor’ in section 3, the anchor is the link-layer property of Clients. It sound usually be the port of SAVI-device which connect Client A, right?

On the other hand, I guess the ‘Creation Time’ of the entry looks like a field in this table per the usage described in the section 9. For the reason of consistency, we also have the field of ‘Creation Time’ in the FCFS-SAVI DataBase (i.e. SAVI-SLAAC DB, section 3.1 of RFC6620).


8. In section 6.3, 
<quote>
EVE_DHCP_OPTION_RC: A DHCPv6 Solicitation message with Rapid Commit
option is received.
</quote>

I guess ‘EVE_DHCP_SOLICIT_RC’ looks better than ‘EVE_DHCP_OPTION_RC, though I don’t really like the prefix of ‘EVE_’ here. ☺ The prefix of ‘EVE_’ must stand for Event here, supposed it really means the additional valid check defined in section 6.3.2.


9. For Section 6.4.1, I think we could replace its title ‘From NO_BIND to Other States’ to be ‘From NO_BIND to INIT_BIND’.


10. In Section 6.4.3.2
<quote>
If the message is DHCPv6 Reply, the SAVI device checks each IA
Address option in each IA option.
</quote>
<quote>
The related binding entry can be determined based on
the address in the IAADDR option in the Leasequery-reply message.
</quote>

I personally like ‘IA Address option’ and ‘IAADDR option’ could written in the same. 


11. In Section 7.1,
<quote>
Data packets
without matching binding entry may trigger this process to set up
bindings.
</quote>
<quote>
This process is not intended to set up a binding whenever a data
packet without matched binding entry is received.
</quote>

Does the above 2 sentence sound a little conflict?


12. For Section 7.5.1, I think we could replace its title ‘From NO_BIND to Other States’ to be ‘From NO_BIND to DETECTION’.


13. In Section 7.5.3.2, about ‘IPv6 address’ on page 32,
<quote>
Send a Neighbor Solicitation message with the target address set
to the IP address in the corresponding entry. The Neighbor
Solicitation is only sent to the attachment which triggers the
binding. If there is no response after DAD_TIMEOUT, send
another Neighbor Solicitation.
</quote>

Could this additional DAD process be added in Fig.13?

  
14. In Section 7.5.3.2, about ‘IPv6 address’ in page 32, 
<quote>
If there is only
one identical response, get the source hardware address from the
response. Check if the ’chaddr’ field (hardware address) of the
LEASEQUERY-REPLY message matches the source hardware address.
If the two addresses do not match, the following actions will
not be performed. If there is more than one response, if any of
the source hardware addresses matches the ’chaddr’ field
(hardware address) of the LEASEQUERY-REPLY message, the
following actions are to be performed.
</quote>

If the LEASEQUERY-REPLY message mentioned here is defined in RFC5007, I supposed we can’t find the ’chaddr’ field in this message.
***


15. Section 7.6, just after Fig. 12
<quote>
LQ_DELAY: MAX_LEASEQUERY_DELAY
</quote>

This ‘LQ_DELAY’ looks not a note for Fig. 12, but a note for Fig. 13, right? If yes, should it be placed after Fig. 13?


16. Section 14.2,
<quote>
[savi-fcfs]
Nordmark, E., Bagnulo, M., and E. Levy-Abegnoli, "FCFSSAVI:
First-Come First-Serve Source-Address Validation for
Locally Assigned Addresses", RFC 6620, May 2012.
</quote>

I prefer to replace [savi-fcfs] to be [RFC 6620].



17. Section 14.2,
<quote>
[savi-framework]
Wu, J., Bi, J., Bagnulo, M., Baker, F., and C. Vogt, Ed.,
"Source Address Validation Improvement Framework",
draft-ietf-savi-framework-06 (work in progress),
</quote>

I prefer to replace [savi-framework] to be [RFC 7039]. It is not is in the status of ‘work in progress’ any more. ☺


18. I guess the darft-ietf-savi-dhcp-20 has not support DHCPv6-PD (RFC3633) for SAVI on the delegated prefix by now, right?


Anyway, I am not yet aware the discussion history in SAVI-WG before; the above might be some additional comments, might  be something discussed before.  Hope some of the above could be a help for the text in this draft,  and I am really looking forwarding to the advance of this draft-ietf-savi-dhcp.


Best Regards,
Leaf