Balazs Lengyel | 2 Dec 19:20
Picon
Favicon

Re: Why NETCONF needs a data modeling language

Hello,
 >>    Q1) Why does NETCONF need a DML at all?

If we have an IETF standard DML for NETCONF, device vendors (like my company) will be much 
more comfortable, much more willing to adapt NETCONF itself. With a standard DML we would 
see a better chance at having available 3rd party or even freeware toolkits for NETCONF.

The above would be important even for a company which would not care about interoperability.

Balazs

David Harrington wrote:
>  
>> Hi,
>>
>> There are a few questions that the IESG and others have asked,
>> which I will try to address:
>>
>>    Q1) Why does NETCONF need a DML at all?
>>    Q2) Why is NETCONF special?
>>    Q3) Why won't lots of other WGs want to define their own
>>        protocol-specific DMLs?
>>    Q4) Why isn't XSD or RelaxNG good enough?
> 
> I'll take a whack at answering the same questions.
> 
> A1) Why does NETCONF need a DML at all?
> 
> to promote vendor-neutral interoperable management. 
> 
(Continue reading)

Jon Saperia | 2 Dec 20:00

Re: Why NETCONF needs a data modeling language


Thanks
/jon
----------------------
Jon Saperia
TSP NM
(mobil) 617-201-2655
(office) 978-461-0249



On Dec 2, 2007, at 1:20 PM, Balazs Lengyel wrote:

Hello,
>>    Q1) Why does NETCONF need a DML at all?

If we have an IETF standard DML for NETCONF, device vendors (like my company) will be much more comfortable, much more willing to adapt NETCONF itself. With a standard DML we would see a better chance at having available 3rd party or even freeware toolkits for NETCONF.

Yes, but does that mean that we will begin to develop a standard configuration objects for say, BGP or DiffServ that would work from one vendor to the next?  It would be nice to think so, that would really help interoperability and should be the target of 'our' collective efforts.
/jon

The above would be important even for a company which would not care about interoperability.

Balazs

David Harrington wrote:

 

Hi,

There are a few questions that the IESG and others have asked,
which I will try to address:

   Q1) Why does NETCONF need a DML at all?
   Q2) Why is NETCONF special?
   Q3) Why won't lots of other WGs want to define their own
       protocol-specific DMLs?
   Q4) Why isn't XSD or RelaxNG good enough?
I'll take a whack at answering the same questions.
A1) Why does NETCONF need a DML at all?
to promote vendor-neutral interoperable management. It is much easier to develop standards when everybody uses the same
basic language to communicate; this "common language for shared
communication" is also reflected in the IETF decision to use English
text and ASCII documents.
This is not just about being able to standardize **device
management**; it is a basic step to permit the standardization of
**network management** and possibly **services management". The DML is
a basic building block.
A2) Why is NETCONF special?
It is and it isn't. Netconf is only one protocol used for network
management. It has some unique requirements, such as using a document-based
approach and differentiating the data for config versus state and for
dealing with different time-defined contexts such as running and
startup configs. This differs from other network management protocols,
such as SNMP and syslog and ipfix, which use their own data formats,
and usually deal only with the currently-running config. Netconf is a
tool designed to meet the special requirements of configuration, and
the DML needs to support special features not found in other NM-DMLs. Netconf is not special, in that any language used for network
management is likely to have certain common requirements. NM data
models are commonly used directly by humans, in their raw form, such
as when they troubleshoot problems using network sniffers. NM data
models are also commonly used by NMS applications that can handle the
translations into a more human-readable format. Designers of NM tools
(e.g., protocols and data models) thus need to pay close attention to
who will use the information, and to assume that the data will be used
both directly by humans and by applications. Operators have complained
strongly that OIDs are very hard to work with in raw form, yet
operators frequently need to deal with the raw form of the data. A3) Why won't lots of other WGs want to define their own
        protocol-specific DMLs?
To paraphrase a wise man from the SNMP community, when you fill a room
with protocol designers and ask for a solution to a problem, is it a
surprise when they recommend designing a new protocol?
The decision about whether to use an existing protocol/DML or develop
a new protocol/DML should be made after a careful analysis of the
requirements of the solution. SNMP was designed when CMIP was found to
not quite address the needs. The SMI was designed when ASN.1 was found
to not quite address the needs. XML was designed when other DMLs were
found to not quite address the needs.
The decision to explore an XML-based DML and to explore a C-like DML
follows years and years and years of debate over the requiremnts of
network management, and configuration in particular. If every WG spends as much time analyzing the requirements that the
OPS area has spent considering this decision, it might be good for
ensuring no new protoocls are designed that are not really needed, but
the IETF would also grind to a halt, much as the OPS community has
done over our many years of debate. And the delay caused by our
debates has made IETF network management largely irrelevant to the
operator community (our customers).
As always, we need to be vigilant and determine whether enough thought
has been given to reuse of existing protocols. We also need to
consider the tradeoffs between new protocols and reusing existing
protocols in ways they were not designed to be used.
A4) Why isn't XSD or RelaxNG good enough?
As mentioned in A2, NM data models need to be both machine- and
human-readable. XSD is machine-readable, but it is a tough language
for humans. RelaxNG seems better. As discussed further in a different email, Netconf will almost
certainly need a DML suited to its requirements, and if RelaxNG is
found to be human-friendly-enough, we would almost certainly still
need to select a subset and adapt it to meet configuration
requirements. So the benefit of using RelaxNG over a domain-specific
DML may be lost by using an adapted-subset of RelaxNG.
Most operators already understand languages like Perl and C and
Javascript, because they already need to write lots of scripts to
manage their networks. Most implementers of NM support in
internetworking devices work in C or a variant of C. It makes a lot of
sense to use a language with a C-like syntax for these people, rather
than forcing them to learn yet another language that was designed for
some other purpose.
[soap]
somebody commented that the designers of XSD and RelaxNG really
understand how to design DMLs, implying that the OPS community does
not. Many of the people involved in the ongoing DML discussions over
the years, and now, are MIB Doctors and operators and protocol
designers, and have had years of experience designing and working with
SMI and network management. They understand the requirements of a DML
for NM far more than the designers of XSD or RelaxNG, who were not
designing their DMLs for NM purposes.
[end soap]
David Harrington



Julian Reschke | 1 Dec 10:19
Picon
Picon

Re: analysis of YANG vs. RELAX NG

Lisa Dusseault wrote:
> This is another aspect I'd like to understand better:
> 
> On Nov 28, 2007, at 2:02 PM, Martin Bjorklund wrote:
> 
>> Note that in order to validate the different NETCONF messages, you
>>
>> would either need more than one schema, or a very lax schema which
>>
>> will validate messages/documents which are not actually valid NETCONF.
>>
> 
> Validating XML really limits the customizability, the very extensibility 
> of the XML.  You can't add so much as a <custom-text-description> or 
> <debug-info-only> element without it failing at the other end.  Is the 
> goal here to strictly limit netconf data to only standardized and 
> implemented schemas?  

Well, that depends on the schema language. RelaxNG allows to define 
languages that use the must-ignore rule for new elements.

BR, Julian

Balazs Lengyel | 2 Dec 21:19
Picon
Favicon

Re: Why NETCONF needs a data modeling language

Hello,
Naturally our aim is to develop standard NETCONF configuration models, and the more people 
use NETCONF the easier that will be.
Balazs

Jon Saperia wrote:
> 
> Thanks
> /jon
> ----------------------
> Jon Saperia
> TSP NM
> (mobil) 617-201-2655
> (office) 978-461-0249
> saperia <at> jdscons.com <mailto:saperia <at> jdscons.com>
> 
> 
> 
> On Dec 2, 2007, at 1:20 PM, Balazs Lengyel wrote:
> 
>> Hello,
>> >>    Q1) Why does NETCONF need a DML at all?
>>
>> If we have an IETF standard DML for NETCONF, device vendors (like my 
>> company) will be much more comfortable, much more willing to adapt 
>> NETCONF itself. With a standard DML we would see a better chance at 
>> having available 3rd party or even freeware toolkits for NETCONF.
> 
> Yes, but does that mean that we will begin to develop a standard 
> configuration objects for say, BGP or DiffServ that would work from one 
> vendor to the next?  It would be nice to think so, that would really 
> help interoperability and should be the target of 'our' collective efforts.
> /jon
>>
>> The above would be important even for a company which would not care 
>> about interoperability.
>>
>> Balazs
>>
>> David Harrington wrote:
>>>
>>>  
>>>
>>>> Hi,
>>>>
>>>> There are a few questions that the IESG and others have asked,
>>>> which I will try to address:
>>>>
>>>>    Q1) Why does NETCONF need a DML at all?
>>>>    Q2) Why is NETCONF special?
>>>>    Q3) Why won't lots of other WGs want to define their own
>>>>        protocol-specific DMLs?
>>>>    Q4) Why isn't XSD or RelaxNG good enough?
>>> I'll take a whack at answering the same questions.
>>> A1) Why does NETCONF need a DML at all?
>>> to promote vendor-neutral interoperable management. It is much easier 
>>> to develop standards when everybody uses the same
>>> basic language to communicate; this "common language for shared
>>> communication" is also reflected in the IETF decision to use English
>>> text and ASCII documents.
>>> This is not just about being able to standardize **device
>>> management**; it is a basic step to permit the standardization of
>>> **network management** and possibly **services management". The DML is
>>> a basic building block.
>>> A2) Why is NETCONF special?
>>> It is and it isn't. Netconf is only one protocol used for network
>>> management. It has some unique requirements, such as using a 
>>> document-based
>>> approach and differentiating the data for config versus state and for
>>> dealing with different time-defined contexts such as running and
>>> startup configs. This differs from other network management protocols,
>>> such as SNMP and syslog and ipfix, which use their own data formats,
>>> and usually deal only with the currently-running config. Netconf is a
>>> tool designed to meet the special requirements of configuration, and
>>> the DML needs to support special features not found in other NM-DMLs. 
>>> Netconf is not special, in that any language used for network
>>> management is likely to have certain common requirements. NM data
>>> models are commonly used directly by humans, in their raw form, such
>>> as when they troubleshoot problems using network sniffers. NM data
>>> models are also commonly used by NMS applications that can handle the
>>> translations into a more human-readable format. Designers of NM tools
>>> (e.g., protocols and data models) thus need to pay close attention to
>>> who will use the information, and to assume that the data will be used
>>> both directly by humans and by applications. Operators have complained
>>> strongly that OIDs are very hard to work with in raw form, yet
>>> operators frequently need to deal with the raw form of the data. A3) 
>>> Why won't lots of other WGs want to define their own
>>>         protocol-specific DMLs?
>>> To paraphrase a wise man from the SNMP community, when you fill a room
>>> with protocol designers and ask for a solution to a problem, is it a
>>> surprise when they recommend designing a new protocol?
>>> The decision about whether to use an existing protocol/DML or develop
>>> a new protocol/DML should be made after a careful analysis of the
>>> requirements of the solution. SNMP was designed when CMIP was found to
>>> not quite address the needs. The SMI was designed when ASN.1 was found
>>> to not quite address the needs. XML was designed when other DMLs were
>>> found to not quite address the needs.
>>> The decision to explore an XML-based DML and to explore a C-like DML
>>> follows years and years and years of debate over the requiremnts of
>>> network management, and configuration in particular. If every WG 
>>> spends as much time analyzing the requirements that the
>>> OPS area has spent considering this decision, it might be good for
>>> ensuring no new protoocls are designed that are not really needed, but
>>> the IETF would also grind to a halt, much as the OPS community has
>>> done over our many years of debate. And the delay caused by our
>>> debates has made IETF network management largely irrelevant to the
>>> operator community (our customers).
>>> As always, we need to be vigilant and determine whether enough thought
>>> has been given to reuse of existing protocols. We also need to
>>> consider the tradeoffs between new protocols and reusing existing
>>> protocols in ways they were not designed to be used.
>>> A4) Why isn't XSD or RelaxNG good enough?
>>> As mentioned in A2, NM data models need to be both machine- and
>>> human-readable. XSD is machine-readable, but it is a tough language
>>> for humans. RelaxNG seems better. As discussed further in a different 
>>> email, Netconf will almost
>>> certainly need a DML suited to its requirements, and if RelaxNG is
>>> found to be human-friendly-enough, we would almost certainly still
>>> need to select a subset and adapt it to meet configuration
>>> requirements. So the benefit of using RelaxNG over a domain-specific
>>> DML may be lost by using an adapted-subset of RelaxNG.
>>> Most operators already understand languages like Perl and C and
>>> Javascript, because they already need to write lots of scripts to
>>> manage their networks. Most implementers of NM support in
>>> internetworking devices work in C or a variant of C. It makes a lot of
>>> sense to use a language with a C-like syntax for these people, rather
>>> than forcing them to learn yet another language that was designed for
>>> some other purpose.
>>> [soap]
>>> somebody commented that the designers of XSD and RelaxNG really
>>> understand how to design DMLs, implying that the OPS community does
>>> not. Many of the people involved in the ongoing DML discussions over
>>> the years, and now, are MIB Doctors and operators and protocol
>>> designers, and have had years of experience designing and working with
>>> SMI and network management. They understand the requirements of a DML
>>> for NM far more than the designers of XSD or RelaxNG, who were not
>>> designing their DMLs for NM purposes.
>>> [end soap]
>>> David Harrington
>>> dbharrington <at> comcast.net <mailto:dbharrington <at> comcast.net>
>>> ietfdbh <at> comcast.net <mailto:ietfdbh <at> comcast.net>
>>
>>
> 

Tim Bray | 2 Dec 21:42
Favicon
Gravatar

Re: analysis of YANG vs. RELAX NG

On Dec 1, 2007 1:19 AM, Julian Reschke <julian.reschke <at> gmx.de> wrote:

> Well, that depends on the schema language. RelaxNG allows to define
> languages that use the must-ignore rule for new elements.

I've been staying off this thread because I don't understand what a
NETCONF is or what you'd do with one.  But Julian's point is massively
important.  If you're going to design your own modeling language, you
need to spend a *lot* of time thinking about the extensibility model.
It's really easy to get wrong.  -Tim

Jon Saperia | 2 Dec 23:43

Re: Why NETCONF needs a data modeling language

Wrong order - people will push (not just the vendors for convenience) when there is something that makes a real difference.
On Dec 2, 2007, at 3:19 PM, Balazs Lengyel wrote:

Hello,
Naturally our aim is to develop standard NETCONF configuration models, and the more people use NETCONF the easier that will be.
Balazs


Jon Saperia wrote:
Thanks
/jon
----------------------
Jon Saperia
TSP NM
(mobil) 617-201-2655
(office) 978-461-0249
saperia <at> jdscons.com <mailto:saperia <at> jdscons.com>
On Dec 2, 2007, at 1:20 PM, Balazs Lengyel wrote:
Hello,
>>    Q1) Why does NETCONF need a DML at all?

If we have an IETF standard DML for NETCONF, device vendors (like my company) will be much more comfortable, much more willing to adapt NETCONF itself. With a standard DML we would see a better chance at having available 3rd party or even freeware toolkits for NETCONF.
Yes, but does that mean that we will begin to develop a standard configuration objects for say, BGP or DiffServ that would work from one vendor to the next?  It would be nice to think so, that would really help interoperability and should be the target of 'our' collective efforts.
/jon

The above would be important even for a company which would not care about interoperability.

Balazs

David Harrington wrote:

 

Hi,

There are a few questions that the IESG and others have asked,
which I will try to address:

   Q1) Why does NETCONF need a DML at all?
   Q2) Why is NETCONF special?
   Q3) Why won't lots of other WGs want to define their own
       protocol-specific DMLs?
   Q4) Why isn't XSD or RelaxNG good enough?
I'll take a whack at answering the same questions.
A1) Why does NETCONF need a DML at all?
to promote vendor-neutral interoperable management. It is much easier to develop standards when everybody uses the same
basic language to communicate; this "common language for shared
communication" is also reflected in the IETF decision to use English
text and ASCII documents.
This is not just about being able to standardize **device
management**; it is a basic step to permit the standardization of
**network management** and possibly **services management". The DML is
a basic building block.
A2) Why is NETCONF special?
It is and it isn't. Netconf is only one protocol used for network
management. It has some unique requirements, such as using a document-based
approach and differentiating the data for config versus state and for
dealing with different time-defined contexts such as running and
startup configs. This differs from other network management protocols,
such as SNMP and syslog and ipfix, which use their own data formats,
and usually deal only with the currently-running config. Netconf is a
tool designed to meet the special requirements of configuration, and
the DML needs to support special features not found in other NM-DMLs. Netconf is not special, in that any language used for network
management is likely to have certain common requirements. NM data
models are commonly used directly by humans, in their raw form, such
as when they troubleshoot problems using network sniffers. NM data
models are also commonly used by NMS applications that can handle the
translations into a more human-readable format. Designers of NM tools
(e.g., protocols and data models) thus need to pay close attention to
who will use the information, and to assume that the data will be used
both directly by humans and by applications. Operators have complained
strongly that OIDs are very hard to work with in raw form, yet
operators frequently need to deal with the raw form of the data. A3) Why won't lots of other WGs want to define their own
        protocol-specific DMLs?
To paraphrase a wise man from the SNMP community, when you fill a room
with protocol designers and ask for a solution to a problem, is it a
surprise when they recommend designing a new protocol?
The decision about whether to use an existing protocol/DML or develop
a new protocol/DML should be made after a careful analysis of the
requirements of the solution. SNMP was designed when CMIP was found to
not quite address the needs. The SMI was designed when ASN.1 was found
to not quite address the needs. XML was designed when other DMLs were
found to not quite address the needs.
The decision to explore an XML-based DML and to explore a C-like DML
follows years and years and years of debate over the requiremnts of
network management, and configuration in particular. If every WG spends as much time analyzing the requirements that the
OPS area has spent considering this decision, it might be good for
ensuring no new protoocls are designed that are not really needed, but
the IETF would also grind to a halt, much as the OPS community has
done over our many years of debate. And the delay caused by our
debates has made IETF network management largely irrelevant to the
operator community (our customers).
As always, we need to be vigilant and determine whether enough thought
has been given to reuse of existing protocols. We also need to
consider the tradeoffs between new protocols and reusing existing
protocols in ways they were not designed to be used.
A4) Why isn't XSD or RelaxNG good enough?
As mentioned in A2, NM data models need to be both machine- and
human-readable. XSD is machine-readable, but it is a tough language
for humans. RelaxNG seems better. As discussed further in a different email, Netconf will almost
certainly need a DML suited to its requirements, and if RelaxNG is
found to be human-friendly-enough, we would almost certainly still
need to select a subset and adapt it to meet configuration
requirements. So the benefit of using RelaxNG over a domain-specific
DML may be lost by using an adapted-subset of RelaxNG.
Most operators already understand languages like Perl and C and
Javascript, because they already need to write lots of scripts to
manage their networks. Most implementers of NM support in
internetworking devices work in C or a variant of C. It makes a lot of
sense to use a language with a C-like syntax for these people, rather
than forcing them to learn yet another language that was designed for
some other purpose.
[soap]
somebody commented that the designers of XSD and RelaxNG really
understand how to design DMLs, implying that the OPS community does
not. Many of the people involved in the ongoing DML discussions over
the years, and now, are MIB Doctors and operators and protocol
designers, and have had years of experience designing and working with
SMI and network management. They understand the requirements of a DML
for NM far more than the designers of XSD or RelaxNG, who were not
designing their DMLs for NM purposes.
[end soap]
David Harrington
dbharrington <at> comcast.net <mailto:dbharrington <at> comcast.net>
ietfdbh <at> comcast.net <mailto:ietfdbh <at> comcast.net>




Thanks,
/jon
----
Jon Saperia
(mobil) 617-201-2655
(office) 978-461-0249



Mark Nottingham | 3 Dec 00:23
Favicon
Gravatar

Another ACAP

http://www.the-acap.org/

Besides the name collision, this is related to previous APPS area  
discussions about robots.txt, etc.

--
Mark Nottingham     http://www.mnot.net/

Tim Bray | 3 Dec 02:56
Favicon
Gravatar

My slides from the Sunday XML session

Online at http://www.tbray.org/tmp/IETF70.pdf

 -Tim

Picon

Re: I-D Action:draft-newman-email-subaddr-01.txt

[No discussion list indicated in the draft, trying the Application
Area general list.]

On Fri, Nov 16, 2007 at 12:50:01PM -0500,
 Internet-Drafts <at> ietf.org <Internet-Drafts <at> ietf.org> wrote 
 a message of 97 lines which said:

> 	Title           : Internet Email Subaddressing
> 	Author(s)       : D. Cridland
> 	Filename        : draft-newman-email-subaddr-01.txt

I'm quite puzzled by this draft and I do not really understand what it
normalizes or what its purpose is.

The entire idea of subaddressing is to be a local decision, only the
final MTA and/or its MDA will have to know it. Besides stuff like RFC
3598, there is little room for IETF work. 

Some sentences in the draft are strange, in that respect. For
instance, section 4.2 says "A subaddress-aware gateway or firewall
SHOULD preserve the detail part when rewriting an address." while I
thought that the SMTP rule was much stronger: "DO NOT MESS with
addresses", and that is a general rule, it is not only for
subaddressing.

Apart from that, the draft puts too much emphasis on the most common
"+" (with a MTA like Postfix, it is trivial to change it - the
recipient_delimiter option, and many people do so to avoid the problem
of broken software mentioned later). Again, the IETF should not
mention this separator, since it is a local decision.

Strangely enough, the draft does not talk about *the* big problem with
subaddressing: the fact that many stupid and broken Web forms and/or
mail software do not accept them or do not handle them
properly. Certainly, an informational RFC asking to accept valid email
addresses would be an useful document. See a good start in
http://www.linuxjournal.com/article/9585, specially the conclusion
("There is some danger that common usage and widespread sloppy coding
will establish a de facto standard for e-mail addresses that is more
restrictive than the recorded formal standard.") or in
http://worsethanfailure.com/Articles/Validating_Email_Addresses.aspx
(the comments are interesting, too).

Ladislav Lhotka | 3 Dec 14:56
Picon
Favicon

Re: analysis of YANG vs. RELAX NG

Tim Bray píše v Ne 02. 12. 2007 v 12:42 -0800:
> I've been staying off this thread because I don't understand what a
> NETCONF is or what you'd do with one.  But Julian's point is massively
> important.  If you're going to design your own modeling language, you
> need to spend a *lot* of time thinking about the extensibility model.
> It's really easy to get wrong.  -Tim

Indeed. An extensibility problem in YANG is IMO the leaf statement. It
is encoded as an XML element but the fact that it is declared as leaf
effectively makes it into an XML attribute: It is impossible to extend
it (e.g., add a qualifying subelement) without changing the leaf into
container. In a RELAX NG schema, if properly designed, such an extension
wouldn't have to touch the parent schema.

Another problem might be the default statement in leaves (or it is
proper to say leafs here?:-) or typedefs. What if a standard data model
defines an item, say a hello timer, with such a default, but an
implementation wants to use another value for the default? Should it
come up with another schema?

Lada

--

-- 
Ladislav Lhotka, CESNET
PGP Key ID: E74E8C0C


Gmane