[NGO] Why NETCONF needs a data modeling language
Andy Bierman <ietf@andybierman.com> Thu, 29 November 2007 01:01 UTC
Return-path: <ngo-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1IxXmu-00024t-KC; Wed, 28 Nov 2007 20:01:56 -0500
Received: from ngo by megatron.ietf.org with local (Exim 4.43) id 1IxXmt-00024n-9N for ngo-confirm+ok@megatron.ietf.org; Wed, 28 Nov 2007 20:01:55 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1IxXms-00024X-Vk for ngo@ietf.org; Wed, 28 Nov 2007 20:01:54 -0500
Received: from smtp117.sbc.mail.sp1.yahoo.com ([69.147.64.90]) by ietf-mx.ietf.org with smtp (Exim 4.43) id 1IxXms-0004Fg-8Y for ngo@ietf.org; Wed, 28 Nov 2007 20:01:54 -0500
Received: (qmail 26228 invoked from network); 29 Nov 2007 01:01:53 -0000
Received: from unknown (HELO ?192.168.0.10?) (andybierman@att.net@67.121.107.88 with plain) by smtp117.sbc.mail.sp1.yahoo.com with SMTP; 29 Nov 2007 01:01:53 -0000
X-YMail-OSG: lskllUoVM1kEpRYjBQCAW6.I7esQD27gQCg_xjT2Jkz9.zHsKRKiKyatICCmIWMwAQidk0mlXo3ldbs2j7O1wCg.
Message-ID: <474E0F71.2050003@andybierman.com>
Date: Wed, 28 Nov 2007 17:01:37 -0800
From: Andy Bierman <ietf@andybierman.com>
User-Agent: Thunderbird 2.0.0.9 (Windows/20071031)
MIME-Version: 1.0
To: discuss@apps.ietf.org
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 6d95a152022472c7d6cdf886a0424dc6
Cc: yang@ietf.org, NETCONF Goes On <ngo@ietf.org>
Subject: [NGO] Why NETCONF needs a data modeling language
X-BeenThere: ngo@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: NETCONF Goes On - discussions on future work and extensions to NETCONF <ngo.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/ngo>, <mailto:ngo-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/ngo>
List-Post: <mailto:ngo@ietf.org>
List-Help: <mailto:ngo-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/ngo>, <mailto:ngo-request@ietf.org?subject=subscribe>
Errors-To: ngo-bounces@ietf.org
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? A1) NETCONF needs a formal description of the conceptual data within a NETCONF configuration database, in order to facilitate inter-operable implementations of NETCONF-related tools, such as agents, managers, and translators. A textual representation is needed, to easily integrate semantic and syntactic information, in one file. Translation or separation would introduce errors. A protocol-specific data model definition is much more than an XML instance document description. NETCONF needs its own MIB language, just like SNMP needs SMIv2. If vendors were given an information model instead of a data model, then they would be free to invent their own data model mappings. This would be a disaster for multi-vendor interoperability. Without a single, authoritative, precise definition of the syntax and semantics wrt/ NETCONF protocol handling, it is impossible for 3rd party application developers to even attempt to support NETCONF. A2) NETCONF is a network management protocol, like SNMP. It happens to use XML encoding and Xpath filtering, but it is a network management protocol. As such, network operators need to understand the conceptual management data available on a device (just like the CLI or the MIBs). XSD and RelaxNG are both complicated. Network operators are probably not trained programmers like protocol developers. There are way more operators than there are protocol developers, and they are much less likely to be involved in the standards process, than the protocol developer. The NETCONF WG evaluated XSD and RelaxNG last year. Examples of data models including the DIFFSERV Info Model were examined. Nobody got excited about RNG. For a real data model, RNG seemed to be just as impenetrable as XSD. Data model development in the NETCONF WG has been brutally slow with XSD. XSD is a good language to use if you want to spend a long time learning what to do, and then spend a long time fixing what you did wrong. Relatively few WG members have actually been able to learn either XSD or RNG. Unlike other protocols that might use XML, a NETCONF data model is likely to be orders of magnitude larger. So there is lots more data, that needs to be understood by lots of non-programmers. A3) If there are other WGs in the IETF who happen to use XML for representation of conceptual configuration databases, then I suppose they might ask for a new DML. I suppose they will have to justify their request, no different than creating a new protocol in the first place. If they are just using XML to define fairly static protocol PDUs, then XSD or RNG should be used instead. A4) A YANG data model defines conceptual data within a NETCONF agent, just like SMIv2 does for SNMP. It does not just define valid PDUs, like other protocols. Instead, the specialized DML provides a concise description of all conceivable protocol behavior related to the management data. XSD and RNG do not even distinguish between read-only and read-write data. They are clearly not intended to be used a DMLs for conceptual datastores, like those found in SNMP or NETCONF. Instead, they describes XML instance documents. I have implemented a NETCONF agent, and IMO, 'standard' validation tools are useless. Since <get> and <edit-config> allow an almost infinite combination of actual PDUs, the only thing these tools can do is identify and reject 'junk' namespaces and element names not supported by the agent. They cannot help at all with validating or automating NETCONF protocol operations or generating <rpc-error> responses. YANG describes NETCONF configuration databases. IMO, YANG is way more readable than RelaxNG, but that is subjective. The SMIng WG got hung up for a long time trying to define objective criteria to evaluate DMLs, but in the end this was a total failure. For more information on how NETCONF uses XML, see sec. 1.2 of: http://www.ietf.org/internet-drafts/draft-bierman-ncx-smi-00.txt Andy _______________________________________________ NGO mailing list NGO@ietf.org https://www1.ietf.org/mailman/listinfo/ngo
- [NGO] Why NETCONF needs a data modeling language Andy Bierman
- [NGO] Re: Why NETCONF needs a data modeling langu… Juergen Schoenwaelder
- [NGO] Re: Why NETCONF needs a data modeling langu… Phil Shafer
- [NGO] Re: Why NETCONF needs a data modeling langu… Rohan Mahy
- Re: [NGO] Re: Why NETCONF needs a data modeling l… Ladislav Lhotka
- Re: [NGO] Re: Why NETCONF needs a data modeling l… Juergen Schoenwaelder
- Re: [NGO] Re: Why NETCONF needs a data modeling l… Andy Bierman
- Re: [NGO] Re: Why NETCONF needs a data modeling l… Ladislav Lhotka
- Re: [NGO] Re: Why NETCONF needs a data modeling l… Balazs Lengyel
- RE: [NGO] Re: Why NETCONF needs a data modeling l… Romascanu, Dan (Dan)
- [NGO] Re: Why NETCONF needs a data modeling langu… Rohan Mahy
- Re: [NGO] Re: Why NETCONF needs a data modeling l… Ladislav Lhotka
- Re: [NGO] Re: Why NETCONF needs a data modeling l… Ladislav Lhotka
- [NGO] Re: Why NETCONF needs a data modeling langu… Chris Cross
- [NGO] Re: Why NETCONF needs a data modeling langu… Phil Shafer
- [NGO] RE: [YANG] Re: Why NETCONF needs a data mod… David Harrington
- [NGO] Why NETCONF needs a data modeling language David Harrington
- [NGO] Re: Why NETCONF needs a data modeling langu… Martin Bjorklund
- [NGO] Re: Why NETCONF needs a data modeling langu… Andy Bierman
- [NGO] Re: Why NETCONF needs a data modeling langu… Balazs Lengyel
- [NGO] Re: Why NETCONF needs a data modeling langu… Jon Saperia
- [NGO] Re: Why NETCONF needs a data modeling langu… Balazs Lengyel
- [NGO] Re: Why NETCONF needs a data modeling langu… Jon Saperia