Zwei Anwendungen, die über das Netz Daten austauschen, stellen deren
Strukturen lokal oft sehr unterschiedlich dar, was sowohl an den
verwendeten Programmiersprachen, als auch an der internen
Datendarstellung der beteiligten Rechner liegen kann.
Ein allgemein anerkannter Ansatz zur Lösung dieses Problems liegt darin,
eine formale Beschreibungssprache für Daten einzuführen, mit der die
Struktur der auszutauschenden Daten auf beiden Seiten in der gleichen
Form spezifiziert wird. Damit ist sichergestellt, daß beide Seiten eindeutig wissen, ``was gemeint ist`` .
Da über die ``Leitung'' zwischen den beteiligten Rechnern aber nur Byte-
oder Bitfolgen gehen können, benötigt man Regeln, nach denen die formal
beschriebenen Datenstrukturen ``serialisiert'' werden können. Und
umgekehrt muß aus dem seriellen Datenstrom wieder die ursprüngliche
Datenstruktur rekonstruiert werden. Diese Regeln nennt man
Kodierregeln (Encoding Rules).
Schreibt man nun auf jedem Rechner, der mit anderen Rechnern Daten
austauschen soll, ein Kodiermodul, der einen von einer Anwendung
übergebenen Datenblock unter Berücksichtigung der zugehörigen
formalen Beschreibung in den ``genormten'' Datenstrom konvertiert und
ebenso ein Dekodiermodul, das einen ``genormten'' Datenstrom erkennt
und unter Berücksichtigung der zugehörigen formalen Beschreibung den
richtigen Datenblock im Anwendungsformat erzeugt, dann kann - zumindest
auf dieser Ebene - jeder Rechner mit jedem anderen Rechner Daten
austauschen.
Diese Problematik wird im OSI-Schichtenmodell auf Ebene 6 (Presentation) behandelt. Die formale Beschreibung der Datenstrukturen wird abstract syntax genannt, die Struktur des serialisierten Datenstroms transfer syntax und die spezifische Darstellung auf einem Rechner local syntax. Zur Beschreibung der abstrakten Syntax wird ASN.1 (Abstract Syntax Notation One) verwendet, die in der ISO-Norm 8824 beschrieben ist. Die Transfersyntax entspricht den sogenannten Basic Encoding Rules von ASN.1, die in der ISO-Norm 8825 enthalten sind. Bild zeigt diese Zusammenhänge an einem einfachen Beispiel und für eine Übertragungsrichtung.
In SNMP wird ein von ASN.1 abstammendes Protokoll namens SMI zur Beschreibung der Managed Objects und der Protokollnachrichten verwendet. Die Kodierung erfolgt nach den ASN.1 Basic Encoding Rules. Für ein tieferes und weitergehendes Verständnis von ASN.1 wird auf die Literatur zu diesem Thema verwiesen [#!ISO8824!#], [#!ISO8825!#], [#!GORA90!#]. SMI wird im RFC1155 definiert [#!SMI!#].