SMIng - A new MIB module language |
This page describes the work on my diploma thesis.
|
Task | Abstract | Roadmap | Preparation | Design | Documents |
http://www.ibr.cs.tu-bs.de/vs/arbeiten/sming.html (german)
|
Task | Abstract | Roadmap | Preparation | Design | Documents |
More than ten years various standardization bodies are concerned with the methodic management of computer networks. All concepts include an information model, that is used for the structuring of management information and contains a language that allows a formal description of managed objects and events.In the area of internet management, this language is the Structure of Management Information (SMI), presently defined in two versions, SMIv1 and SMIv2. They are widely deployed, although their specifications suffer from some drawbacks concerning unambiguousness, clearness, integrity, and extensibility. As a consequence, there are insufficient definitions of management information and erroneous implementations of parsers.
This thesis presents the systematic design and the complete specification of a new language for the description of management information, based on the comparison of the most common information models. ``SMIng'' eliminates the known problems whilst remaining semantically compatible. Secondly, a software library for management information has been developed. Based on this library tools for checking descriptions and converting from SMIv2 to SMIng and from SMIng to SMIv2 prove the approach of SMIng and allow a cost-efficient re-usability of existing descriptions of management information.
|
Task | Abstract | Roadmap | Preparation | Design | Documents |
In parallel, work on the libsmi continued. This is not a main part of the thesis, although the SMIv2/SMIng compiler is based on libsmi.
Reading: Comparison of these information models, regarding their history, advantages and disadvantages.
- SNMP Framework, History, SMIv2 Documents
- OSI Management: CMIS, GDMO, History
- DMTF/WBEM: History, CIM, Schemas
- CORBA, IDL
6 weeks 31-Dec-1998 SMIng design based on results of comparision. BNF specification. Ensuring SMIv2 mapping. 6 weeks 15-Feb-1998 Implementation of SMIv2/SMIng compiler(s) based on libsmi (see below). 6 weeks 31-Mar-1999 Writing thesis. 6 weeks 11-May-1998
|
Task | Abstract | Roadmap | Preparation | Design | Documents |
My first practical goal was getting a detailed understanding of the syntax and semantics of the current SMI as defined partly in formal ASN.1 notation, partly in text form. These definitions are found in rather old ASN.1 specifications and in Internet standards documents with different status. Even some `definitions' are based on common use and could not be found in any standards document.To get the syntax parts of all these definitions collapsed in a precise and somehow common and reusable formal notation, I've written the appropriate grammar rules in yacc notation, with references to documents and comments where helpful.
Based on this grammar I've built a libsmi library and some small applications to give management applications a well defined API for accessing MIB information.
|
Task | Abstract | Roadmap | Preparation | Design | Documents |
The next step in designing the SMIng, after having compared the most important information models, was to gather issues and ideas. Some of them are originated from some bad SMI design, others from features learned from other models that are missing in SMIv2. I've collected those issues on a list.These issues and other goals in mind are leading to the new ABNF definition of SMIng. The definition of this grammar is mainly completed, although I would expect some minor changes in the future. To implement an SMIng parser as a backend for libsmi, the grammer has been ported to flex/bison specifications: scanner-sming.l and parser-sming.y (code stripped).
Along this grammar, there are some definitions of nodes in the registration tree and some types needed, most of them to establish a base set of nodes and types used by other modules and for compatibilty with SMIv1/v2. Unlike the SMIv2 base modules SNMPv2-SMI, SNMPv2-TC and SNMPv2-CONF, the SMIng base modules IRTF-NMRG-SMING, and IRTF-NMRG-SMING-TYPES fully conform to the the SMIng grammar.
The next step has been to write down a complete and self-contained SMIng specification. This is done with respect to the formal rules of an Internet-Draft (draft-irtf-nmrg-sming-00.html, draft-irtf-nmrg-sming-00.txt).
|
Task | Abstract | Roadmap | Preparation | Design | Documents |
The output so far (and representing the contents of my master's thesis) is retrievable through the links below. The deadline of this thesis was 11-May-1999. Anyhow, some work on the implementation of libsmi will continue. The SMIng specification will be offered to the IRTF Network Management Research Group for further development.The work on libsmi continues. It's state is ok to demonstrate the concepts and usability of SMIng, but it is not ok for public release. Anyhow, if you're interested in the code, contact me.
sming.ps Thesis (3.8MB, 249 pages, PostScript, duplex, german) sming.ps2d Thesis (3.8MB, 249 pages, PostScript, duplex, psnup -2, german) draft-irtf-nmrg-sming-00.txt SMIng specification (219kB, 102 pages, ASCII, contained in thesis) draft-irtf-nmrg-sming-00.html SMIng specification (HTML, using external style sheets) sming.abnf SMIng ABNF grammar (contained in SMIng specs) IRTF-NMRG-SMING SMIng module with core node definitions (contained in SMIng specs) IRTF-NMRG-SMING-TYPES SMIng module with core type definitions (contained in SMIng specs) IRTF-NMRG-SMING-EXTENSIONS SMIng module with core extension definitions (contained in SMIng specs)
© Frank Strauß, TU Braunschweig, last updated 20-05-1999 00:33:48 by Frank Strauss <strauss@ibr.cs.tu-bs.de> |