[DNSOP] Comparison of XML/JSON DNS drafts

Jay Daley <jay@nzrs.net.nz> Wed, 31 July 2013 09:30 UTC

Return-Path: <jay@nzrs.net.nz>
X-Original-To: dnsop@ietfa.amsl.com
Delivered-To: dnsop@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BD09F21F9EEE for <dnsop@ietfa.amsl.com>; Wed, 31 Jul 2013 02:30:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EF-RXWRR9TQC for <dnsop@ietfa.amsl.com>; Wed, 31 Jul 2013 02:30:06 -0700 (PDT)
Received: from srsomail.nzrs.net.nz (srsomail.nzrs.net.nz [202.46.183.22]) by ietfa.amsl.com (Postfix) with ESMTP id 9A24321F99AB for <dnsop@ietf.org>; Wed, 31 Jul 2013 02:30:05 -0700 (PDT)
Received: from localhost (localhost.localdomain [127.0.0.1]) by srsomail.nzrs.net.nz (Postfix) with ESMTP id 6AFE44B2469 for <dnsop@ietf.org>; Wed, 31 Jul 2013 21:30:03 +1200 (NZST)
Received: from srsomail.nzrs.net.nz ([202.46.183.22]) by localhost (srsomail.office.nzrs.net.nz [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3rBcFMZw1AXH for <dnsop@ietf.org>; Wed, 31 Jul 2013 21:30:03 +1200 (NZST)
Received: from [192.168.1.230] (121-74-100-115.telstraclear.net [121.74.100.115]) (Authenticated sender: jay) by srsomail.nzrs.net.nz (Postfix) with ESMTPSA id 256124B2454 for <dnsop@ietf.org>; Wed, 31 Jul 2013 21:30:03 +1200 (NZST)
From: Jay Daley <jay@nzrs.net.nz>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Message-Id: <3AD202E6-14DF-4403-9530-39ACBE8EC697@nzrs.net.nz>
Date: Wed, 31 Jul 2013 21:30:02 +1200
To: dnsop WG <dnsop@ietf.org>
Mime-Version: 1.0 (Mac OS X Mail 6.5 \(1508\))
X-Mailer: Apple Mail (2.1508)
Subject: [DNSOP] Comparison of XML/JSON DNS drafts
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnsop>, <mailto:dnsop-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dnsop>
List-Post: <mailto:dnsop@ietf.org>
List-Help: <mailto:dnsop-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnsop>, <mailto:dnsop-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 31 Jul 2013 09:30:37 -0000

For this I looked at three drafts:

	draft-manderson-rdns-xml-01
	draft-bortzmeyer-dns-json
	draft-daley-dnsxml

The comparison looked a the following criteria:

0.  XML or JSON
1.  Coverage of RR types
2.  What is covered - specifically is it just RRs or also any parts of the DNS protocol or other.
3.  Are RDATA fields and the contents of the RDATA fields described.
4.  Use of consistent data types for RDATA and support for semantic equivalence.
5.  The level of validation available. 
6.  Extensibility.


draft-manderson-rdns-xml-01 :

0.  XML
1.  Only covers one two RR types - DS and NS
2.  These two RRs are defined are part of a provisioning protocol separate from DNS.
3.  The RDATA is provided as a single text string that is parsed by the receiving applications and so can contain any fields with any content.
4.  No data types specified for RDATA and therefore no support for semantic equivalence.
5.  No validation of RDATA takes place though protocol itself is validated using RelaxNG.
6.  No specific support for extensibility.


draft-bortzmeyer-dns-json :

0. JSON
1.  Covers 16 RR types
2.  Defines both the RRs, the DNS message and zone files.
3.  Field names are defined but as this is unvalidated, fields could be omitted and additional fields added and it would be for the application to determine this.  Field contents are not defined.
4.  No data types specified for RDATA  and therefore no support for semantic equivalence.
5.  No validation.  
6.  No specific support for extensibility.


draft-daley-dnsxml :

0. XML
1.  Covers 47 RR types and the unknown type (Only NB and NBSTAT are not included)
2.  Only defines RRs.
3.  All fields are defined and all field contents are defined.
4.  Standard field contents defined wherever possible including standards tables of mnemonics, algorithms, time durations, unions of mutliple type, etc.  Full support for semantic equivalence.
5.  Full XML-Schema validation.  RDATA fields are validated so mandatory fields must be present, optional fields may be present and additional fields cannot be present for validation to succeed.  RDATA field contents validated to any possible wire format to allow for broken data that could be transmitted on the wire.  
6.  Specific support for extensibility so a new DNS type could be defined separately and work seamlessly.


So to summarise:

draft-manderson-rdns-xml-01 is a short and fixed provisioning protocol that includes a small bit of DNS.
draft-bortzmeyer-dns-json is the start of a process to create a standard representation but a long way to go.
draft-daley-dnsxml is the end of that process - a standard representation and fully validatable.

cheers
Jay

-- 
Jay Daley
Chief Executive
.nz Registry Services (New Zealand Domain Name Registry Limited)
desk: +64 4 931 6977
mobile: +64 21 678840
linkedin: www.linkedin.com/in/jaydaley