Introduction - ASN.1 in context

advertisement
John Larmouth
ITU-T and ISO/IEC ASN.1
Rapporteur
j.larmouth@btinternet.com
Study Group 17 ASN.1
Terminology has changed over time
n
n
n
n
n
n
n
Markup languages
Abstract Syntax and Concrete Syntax
Abstract syntax notation and encodings
Schema definition
Describing and serializing structured data
The terms all mean roughly the same thing!
That is the main message from this tutorial
– In the 1980s, it was sexy to talk about Abstract
Syntax and encodings"
– Today it is sexy to talk about describing and
serializing structure data
Study Group 17 ASN.1
What is structured data?
n
n
There is a general recognition that
we are talking about data that can
be best described using basic
primitives like integers and booleans
and strings
And “structuring” (with various
names) using sequence, sequence of
(repetitions), and choice
Study Group 17 ASN.1
ASN.1 has developed over time (1)
n
n
n
Developments to meet user demands
All added immense richness, but inevitably
more to be learned if you need the richness
Description of structured data was extended
to include information object classes,
bringing with it much greater use of object
identifiers and the need for the OID
repository – so much so that OIDs have a
life of their own, and a tree structure
Study Group 17 ASN.1
ASN.1 has developed over time (2)
n
n
Description of structured data was
extended to include addition of
constraints, which were visible for
encoding rules (bringing ASN.1
more into line with programming
languages
Parameterization of the basic
notation was introduced (but not
heavily used)
Study Group 17 ASN.1
ASN.1 has developed over time (3)
n
n
n
More encoding rules were added,
some becoming very popular (e.g.
PER)
Encoding control notation was
introduced (a substantial new topic,
but not much used (?) )
Object identifier resolution using DNS
was introduced – still in its gestation
period in 2012, but very important
Study Group 17 ASN.1
ASN.1 has developed over time (4)
n
n
n
Fast web services and Fast Infoset were
introduced, targeting the “XML heartland”
Competition with EXI became an issue –
still not fully resolved.
Today there is increasing competition on
the notation to be used for structured data
definition and its serialization/encodings –
discussion later
Study Group 17 ASN.1
The bottom line
n
Through-out all of this, ASN.1 has
always been, and still is, the ITU-T
Recommendation for the description
and serialization of structured data
Study Group 17 ASN.1
Acronyms and standard names – you cannot
avoid them (1)!
n
n
n
n
n
n
n
SGML
ASN.1
TLV
HTML, XML
XSD, Relax NG
PER, XER
OIDs
Study Group 17 ASN.1
Acronyms and standard names – you cannot
avoid them (2)!
n
n
n
n
n
n
n
JSON (RFC 4627) and BSON
Google Protocol Buffers
RFC 3072, RFC 4506
YAML
Thrift
ETCH
Hadoop
Study Group 17 ASN.1
When will I stop?
n
n
n
n
Some of you may be leaving the room!
I just want to do a little historical stuff, and
then to invite some discussion on things
today
I know that some groups are investigating
other notations and encodings
I believe that in most cases they have
decided to stay with ASN.1. I would like to
invite comments shortly.
Study Group 17 ASN.1
The 1960s to early 1980s
n
n
n
n
People used typewriters!
Physical cut and past (I have still scissors
from those days!) was the way standards
were developed! (some others in this room
also did!)
Markup languages were developed (Tex and
Latex, for example)
Immensely important as the basis for future
work
Study Group 17 ASN.1
The 1980s – a heady time (1)
n
n
n
Led into IBM’s seminal work on
SGML, which led to HTML from
CERN, and in due course to XML
These were all essentially mark-ups
of content (encoding rules), not
structured data definition.
OSI badly needed a way of
describing the structured data in
protocols.
Study Group 17 ASN.1
The 1980s – a heady time (2)
n
n
n
I don’t want to waste your time too much on
history, but I have to mention Doug
Steedman and Jim White (see other sources
of description
ASN.1 became established – there was no real
competitor!
OSI badly needed a way of describing the
structured data in protocols. ASN.1 emerged
from Courier work in Rank Xerox.
Study Group 17 ASN.1
The 1980s – a heady time (3)
n
n
n
n
Papers at that time were addressing
“OSI versus SNA”.
They later changed to OSI versus
TCP/IP.
We all know which won!
But ASN.1 remained as the notation
of choice for the definition of
structured data
Study Group 17 ASN.1
The 1990s – stability? (maybe not!)
n
n
n
n
The XML people introduced XSD.
Standardise a mapping from XSD to ASN.1? Or
vice-versa? Or a round-trip mapping?
“You map from a competitor notation to yours,
not vice-versa” – bad advice which led to people
using XSD as the schema definition of choice,
relying on the mapping to ASN.1 for ASN.1
binary encodings.
XML encoding rules for ASN.1 (XER)
Study Group 17 ASN.1
And to the 2000s – it is up in the air
again!
n
We have a plethora of new options:
–
–
–
–
–
–
–
–
JSON and BSON
Google Protocol Buffers
Candle markup
Bencode
YAML
Hadoop
Thrift
What have I missed?
Study Group 17 ASN.1
ASN.1 remains the choice for …
n
n
n
n
n
n
n
n
Big Data
Satellie (Europe’s Galileo project)
Aviation (3GPPP 4G, LTE
Advanced online gaming
Wind turbines
Personal health records
Smart highways
Electrical smart grid
Study Group 17 ASN.1
Discussion invited please!
I am done!
Study Group 17 ASN.1
Download