Back to results

University of British Columbia

How fast can ASN.1 encoding rules go?

Abstract

dc:description

The tasks of encoding and decoding complex data structures for network transmission are more expensive in terms of processor time and memory usage than any other components of the protocol stack. This problem can be partially addressed by simplifying the network data encoding rules and streamlining their implementation. We examined the performance of four network data representation standards: ASN.1Basic Encoding Rules (BER) and Packed Encoding Rules (PER), Sun Microsystem's External Data Representation (XDR) and HP/Apollo's Network Data Representation (NDR). The sizes of the encoded values produced by each set of encoding rules are compared and several implementations are measured for code size and throughput. To help examine implementation issues, we designed the snacc ASN.1 compiler that produces compile-based (C and C++) and table-based encoders and decoders as well as type tables. The performance of the snacc, UBC CASN1(BER), NIDL(NDR), rpc-gen(XDR) and ISODE(BER) tools was examined as well as a hand-coded PER implementation. The implementation issues investigated include compiled versus table-based encoding and decoding, implementation language (C/C++), buffering techniques and memory management. We found that the areas crucial to efficient encoder and decoder implementations are memory management, buffer management and the overall simplicity of the encoding rules. Table-based encoders and decoders typically have considerably smaller code size but perform less efficiently than their compiled counterparts. In contrast to popular belief, it is possible to implement ASN.1 BER and PER encoders and decoders that perform as well as their NDR and XDR counterparts.

Degree

thesis:*
Name thesis:degree_name
Master of Science - MSc
Level thesis:degree_level
master's
Discipline thesis:degree_discipline
Computer Science
Grantor dc:publisher
University of British Columbia
Year dc:date
1993

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Sample, Michael

Rights

dc:rights
Statement dc:rights
  • For non-commercial purposes only, such as research, private study and education. Additional conditions apply, see Terms of Use https://open.library.ubc.ca/terms_of_use.
Language dc:language
eng

Identifiers

dc:identifier.*
Handle dc:identifier
http://hdl.handle.net/2429/2370
OAI identifier oai:identifier
oai:circle.library.ubc.ca:2429/2370

Chain of custody

source
Harvested from
University of British Columbia
Base URL
circle.library.ubc.ca/oai/request
Last updated
2026-07-24
Source record
OAI-PMH GetRecord
related terms
citation

Sample, Michael. How fast can ASN.1 encoding rules go?. master's thesis, University of British Columbia, 1993. http://hdl.handle.net/2429/2370