Hi!

The following is my AD review of draft-ietf-i2nsf-capability-05:

== [ Process feedback
(1) The I2NSF charter states "The working group will decide later whether the 
information model needs to be published as an RFC".  The shepherd write-up does 
not capture WG deliberation on choosing to publish this document.  Can this 
please be added.

(2) What is the rational for this draft being standards track?  For a standards 
track information model, I would expected normative references to content 
needed by the data models.  However, the data models that would be implement 
this IM only reference it as informational.

==[ High level feedback
(More specific pointers to all of these are in the detailed feedback)

** The document discusses a lot different models -- CapIM, capability 
information model, ECA policy model, capability model, meta-model, external 
information model.  It would be helpful to define upfront the relationship 
between these components.

** The CapIM also appears to have multiple use cases.  The text seems to 
fluidly move between the ideas of a Policy Rule and the capability being 
advertised by the NSF.  Being clear up front and organizing the text around 
these uses would be helpful.

** At times it wasn't clear if what was being described is an element of the 
CapIM or a properties of the system that would be consuming it.  

** The mechanics of integrating external models wasn't clear to me

** Finally, explaining these models relative to the I2NSF 
architecture/terminology would be very helpful - i.e., the I2NSF reference 
architecture in Figure 1 of RFC8329, and the I2NSF Policy Rule.

==[ Detailed feedback
(3)  Abstract.  Whatever markup generated this text oddly placed the Abstract 
after the Copyright notice and status of this memo statement.  The abstract 
should be first.  Can you please rearrange the text.

(4) Please resolve these additional IDnits:

  ** The document seems to lack an Introduction section.
     (A line matching the expected section header was found, but with an
    unexpected indentation:
     '  1. Introduction' )

  ** The document seems to lack a Security Considerations section.
     (A line matching the expected section header was found, but with an
    unexpected indentation:
     '  5. Security Considerations' )

  ** The document seems to lack an IANA Considerations section.  (See Section
     2.2 of https://www.ietf.org/id-info/checklist for how to handle the case
     when there are no actions for IANA.)

  ** There are 4 instances of too long lines in the document, the longest one
     being 13 characters in excess of 72.

  ** The document seems to lack a both a reference to RFC 2119 and the
     recommended RFC 2119 boilerplate, even if it appears to use RFC 2119
     keywords.

(5) Section 1.  It struck me as unusual that Section 1 and early parts of 2, 
don't explain this information model (IM) in terms of the I2NSF architecture.  
Is there a reason for that?  IMO, it would make the text a lot clearer to state 
that this IM is used for particular I2NSF interfaces and avoid the defining 
what NSFs need. Without it, the text isn't clear on the link between "Security 
Capabilities" and the I2NSF architecture.

(6) Section 1.  Per the opening paragraph of "The rapid development of 
virtualized systems .... Examples include ...":
-- Sentence #2 doesn't seem to support sentence #1.  What is the link between 
IoT devices and virtualization?
-- what are residential access users?

(7) Section 1.  Expand NSF on first use.

(8) Section 1.  Editorial.  s/over the given network traffic/on the network 
traffic/

(9) Section 1.  Editorial.
s/Security Capabilities describe the functions that Network Security Functions 
(NSFs) are available to provide for security policy enforcement purposes./
Security Capabilities describe the functionality that Network Security 
Functions (NSFs) are able to provide for security policy enforcement purposes./

(10) Section 1.  Per "Security Capabilities are independent of the actual 
security control mechanisms that will implement them":
-- this seems redundant to the content of the next paragraph.
-- in this context is a security control mechanism an NSF? Or something new?

(11) Section 1.  Per "Every NSF SHOULD be described with the set of 
capabilities it offers", it seems odd for an IM document to place this required 
as it doesn't actually specify the solution (as this would be a data model)

(12) Section 1.  Expand "ECA model" on first use.

(13) Section 3.  The first paragraph, "A Capability Information Model (CapIM), 
is a ..." and the fifth paragraph, "The CapIM is intended ...", appear to 
restate many of the same things.  Recommend their consolidation.

(14) Section 3.  Editorial.  s/This enables the precise/It enables the precise/

(15) Section 3.  How the paragraphs 2 - 4 of this section inform the model 
design isn't clear to me.  I don't think they are needed.

(16) Section 3.  Per paragraph 6, "This includes enabling ...", I don't follow 
how this text informs the design.

(17) Section 3.1. Editorially splitting the Design Principles and the ECA 
Policy Model into different section might helpful readability.

(18) Section 3.1. Abstraction.  This principal has already been mentioned twice 
between in Section 1 ("Security Capabilities enable security functionality to 
be described in a vendor-neutral manner") and Section 3 ("Capabilities MUST be 
defined in a vendor- and technology-independent manner").  Perhaps it only 
needs to be said here?

(19) Section 3.1.  Advertisement and Execution.  How does the existence of a 
"dedicated, well-known interface" influence the design of the information 
model?  Is it that certain meta-data is needed (or not)?  These seem like 
properties of the I2NSF architecture.

(20) Section 3.1.  Automation and Scalability. How this text informs the design 
of the IM isn't clear.  It seems to describe the properties of the end system 
using the IM.  I would have expected the text to describe how this translates 
into the data fields in the IM.

(21) Section 3.1.  Per "Based on the above principles, this document defines a 
capability model ...", per the draft's title, I thought this document was 
describing an information model?  What is the link between the capability model 
and IM?

(22) Section 3.1., Per the paragraph that starts with "Furthermore, when an 
unknown threat ...", I don't understand how this text informs the design or 
specification of the IM?

(23) Section 3.1., "This document specifies a metadata model what MAY be used 
to further describe and/or prescribe ...", per the draft's title, I thought 
this document was describing an information model.  What is the relationship 
between the metadata model and the IM.

(24) Section 3.1, Per "The ECA policy model in [RFC8329] is used as the basis 
for the design of the capability model..." - what is the relationship between 
an ECA policy model, a capability model, CapIM and an "I2NSF Policy Rule".

(25) Section 3.1.  Per "The "Event-Condition-Action" (ECA) policy model in 
[RFC8329] is used as the basis for the design of the capability model", seems 
circular.  RFC8329 explicitly states that "The above concept [ECA] is described 
in detail in I2NSF-CAPABILITIES".  However, the language here appears to be 
more specific and descriptive - it seems like the more specific descriptions is 
normatively citing the more general text.

(26) Section 3.1. The text definition Event, Condition and Action is 
cut-and-paste from the terminology document (draft-ietf-i2nsf-terminology).  
The subsequent paragraph of "An I2NSF Policy Rule ..." is also very similar to 
the terminology draft.  Why is it duplicated here again?

(27) Section 3.1.  What is the relationship between a policy model and a policy 
rule?

(28) Section 3.1. Per the definition of the I2NSF Policy Rule of "I2NSF Policy 
Rule is made up of three Boolean clauses ...", this definition is inconsistent 
with draft-ietf-i2nsf-terminology which suggests that it is "three clauses 
(Event, Condition, and Action). The Event and Condition clauses are Boolean 
clauses, while the Action clause consists of a set of one or more I2NSF 
Actions."

(29) Section 3.1.  Where is the specification for the business logic?  What is 
the "algebra" by which to combine the ECA clauses and related Boolean logic, 
with this metadata?

(30) Section 3.1. I found this example of meta-data confusing because it isn't 
explained until Section 3.3.  I'd recommending moving it or providing a forward 
reference.

(31) Section 3.2.  Provide a citation for I2NSF NSF-Facing Interface when it is 
used.

(32) Section 3.2, Per Step 2 - 4, how is the CapIM relevant here.  It seems 
like these steps are describing internal processing that occurs on the I2NSF 
Network Operator Management Systems/Controller based on the information 
exchanged through the interfaces using the CapIM.

(33) Section 3.2., Per Step 4, What does it mean to "creates or uses one or 
more data models from the CapIM to manage the NSFs" - the CapIM has data models?

(34) Section 3.2.  Where does the "external ECA information Model" come from?

(35) Section 3.3.  Per "Capabilities are typically used to represent NSF 
functions", why "typically"?  Are there instances where capabilities are not 
NSF functions?

(36) Section 3.3, Per "Capabilities are objects, and hence, can be used ...", 
perhaps it might be clearer to say "Capabilities are modeled as objects ..."

(37) Section 3.3.  Per "The I2NSF CapIM refines a predefined (and external) 
metadata model; the application of I2NSF Capabilities is done by refining a 
predefined (and external) ECA Policy Rule information model that defines how to 
use, manage , or otherwise manipulate a set of capabilities."
-- where do the external models come from?
-- what does it mean to refine the model?  Does it add need elements to the 
model, redefine semantics?
-- what does it mean to apply the I2NSF capability?

(38) Section 3.3., Per "When the I2NSF policy engine receives a set of events 
...", what is the "I2NSF policy engine"?  From where does it get the events?  
It would be helpful to define it in terms of the I2NSF reference model per 
Figure 1 of RFC8329?  It isn't defined in the terminology draft either.

(39) Section 3.3., Per "Condition clauses are logical formulas that combine one 
or more conditions that evaluate to a Boolean ...", this seems like the same 
definition as Section 3.1.  Does this need to be said again?

(40) Section 3.3. Per "The values in the condition clause are built on values 
received or owned by the NSF", what does it mean to "own" the value?

(41) Section 3.3, Per the discussion of resolution strategies, I recommend 
being more explicit that these are the "meta-data" elements (is that right?).  
IMO, it would be clearer to define the I2NSF Policy Rule upfront as consisting 
of the three clauses + meta data.

(42) Section 3.3.  Per "Resolution strategies may use ... 'external data'", is 
this external data different than meta-data?  This isn't clear.

(43 Section 3.3.1.  I'm missing something basic because it isn't clear to me 
how to use this section as normative guidance to implement this information 
model.  
-- The applicability of the MEF Policy model was not clear to me (what was the 
guidance from this example)
-- The OO guidance isn't clear - first an example show how an 
I2NSFECAPolicyRule sub-classes MCMECAPolicyRule.  However slightly later, the 
text suggest the CapIM uses the decorator pattern (which wouldn't be 
sub-classing).  I appreciate that these were different Figures, but what is  
the relationship?
-- I can't seem to find the I2NSF specific bits being added with the decorator 
pattern.
-- Figure 2 lists a number of I2NSF specific classes, but the role and 
fields/members of each isn't clear.

(44) Section 3.4.  How an implementer would use this section isn't clear

(45) Section 3.4.1.  What is the relationship between defining a "matched 
policy rule" (the first part of this section) and a list of properties that 
characterize the capabilities of the NSF (the other half of this section)?    
Furthermore, what is the relationship (and significance of enumerating this 
list) relative to the CapIM?

(46) Section 3.4.1.  Per "The concept of a 'matched' policy rule is defined as 
...", is a "policy rule" the same as an "I2NSF policy rule"?

(47) Section 3.4.1.  Typo.  s/that to characterize/that characterize/

(48) Section 3.4.2, Per "Conflicts theoretically compromise the correct 
functioning of devices (as happened for routers several year ago).", 
-- what does the parenthetical comment about an event several years ago mean?  
-- this conflict doesn't seem to compromise the device functionality (they are 
only doing what they were configured), rather is seems like there is a emergent 
undesirable behavior

(49) Section 3.4.2.  This section refers to "an additional processes that 
decides that action to be applied".  
-- What is that process?
-- On what I2NSF architectural component does it get executed?

(50) Section 3.4.2   The text cites that a firewall might have a default 
behavior if there aren't specific rules.  Perhaps this is semantics, but isn't 
a default behavior just a very general rule?  I don't understand the guidance 
being provide relative to "default behavior" (as suggested by the section 
title) with this example.

(51) Section 3.4.2.  Per the constructs RSc and Dc being "introduced [as] 
another security capability", what do these mean relative to the CapIM?  Are 
they part of the CapIM or configuration items for the processing?

(52) Section 3.4.3.  What kind of regex (e.g., PCRE? POSIX?)

(53) Section 3.4.3.  What is a "high-level policy processing system" relative 
to the I2NSF Reference architecture?

(54) Section 3.4.4.  This section notes that the CapIM can describe both 
generic functions and specific products?  Is there any guidance to provide on 
how to do that?

(55) Section 3.4.4. What is meant by "these will be described later in a 
revision of this draft"?

(56) Section 3.4.6.  How does this section on capability algebra fit into the 
CapIM?  Does CapIM encode the algebra or is this text intended to demonstrate 
how an I2NSF node (which one?) would/could process the CapIM? 

(57) Section 3.4.6.  Per "Assigning capabilities to a large number of NSFs can 
be a complex (and boring) operation) ...", the use of "boring" seems pejorative 
and not germane to motivating the subsequent algebra.

(58) Section 4. What is the re-organization suggested by "Nevertheless, a 
partial re-organization of the data models already produced by the WG is 
expected"? 

(59)  Section 4.  Per "Currently (A survey on the existing data models in the 
I2NSF world with a couple of lines about it and a list of things that can be 
inherited).", what does this parenthetic statement mean?

(60) Section 4.  Per "The CapIM can benefit ...", can this intent of this 
sentence be clarified.  It reads to me that its identifying deficiencies in the 
CapIM but it isn't clear how implementers would use this information.

(61) Section 4.  Could the intent of the last three paragraphs, "Knowing all of 
the actions ..."/"On the other hand ..."/"Finally, Events are too ...", be 
clarified.  It reads to me that they are saying actually enumerating all of the 
things that would appear in the data model would be a very long list so it 
won't be done.  However, "resolution strategies", "condition clauses" and 
"evaluation methods" that will be used by the data models is a shorter list, so 
they can be listed.  I'm not sure how this helps implementers with the 
"practical use of the CapIM".  What would they do with this information?  If 
anything, I would see this as a design approach covered earlier.

(62) Section 8.  IDNits is flagging all of these references in valid due to a 
formatting issue.  Can you please look into what might be happening - if it is 
a bug in idnits, let me know.

(63) Section 8.1. Normative References.  RFC3198, RFC8192 and RFC8329 are 
normative references to an informational document.  These downrefs is not noted 
in the shepherd report.  Can this please be updated pending resolution of the 
following:
-- IMO, RFC8192 seems informative
-- RFC3198 is cited but doesn't appear to be used (it can be dropped)

(64) Section 8.2. Can you please provide a more detailed pointer for [MCM] and 
[PDO].  I got as far as the MEF website but couldn't find these references.

_______________________________________________
I2nsf mailing list
I2nsf@ietf.org
https://www.ietf.org/mailman/listinfo/i2nsf

Reply via email to