Computer Networks

Tutorial #15

  1. In the lecture, the concept of abstract versus concrete representation of data types was introduced. Explain briefly, with examples, the meaning of each of these terms.

  2. Why are the Basic Encoding Rules (BER) needed for ASN.1?

  3. Express the following ASN.1 specification in terms of an programming language such as C, C++, Java, etc, with which you are familiar:
    name ::= OCTETSTRING -- or IA5String, see subranges, later.
    married ::= BOOLEAN
    yrsWithCompany ::= INTEGER
    
  4. Describe how each of the specifications in the previous question would be encoded using BER. Note that we don't have actual values for the data items, so you'll have to make some up.

  5. The following is a record declaration in the Pascal[1] programming language. Express this in terms of ASN.1
    personnelRecord = record
        name : array[1..100] of char;
        yrswithCompany : integer;
        married : boolean
    end ;
    

  6. Which of the following ASN.1 syntactic elements would you expect to be keywords, types and variables?
    AP-Title
    ipInReceives
    ENUMERATED
    ObjectDescriptor
    OCTET STRING
    sysDescr
    

  7. You receive the following string of BER-encoded octets, values given in hexadecimal. What does it mean?
    30 08 02 01 03 04 03 48 69 21
    

  8. (Hard [2], deeply philosophical research question) In the last slide of lecture 4, the XDR library was briefly mentioned -- even though XDR is not a topic which you need to know about for this unit. XDR solves a similar problem to BER, yet the approach taken couldn't be more different. Find out how XDR operates. Then attempt to explain the advantages and disadvantages of ASN.1/BER in comparison.

[1] Yes, I know you don't study Pascal in any of our courses, but the declaration given here is pretty obvious, and you really shouldn't have any trouble with it! If you prefer, you could pretend it was Delphi, because the syntax is (almost?) the same...
[2] Seriously - this is not obvious, nor simple. You don't have to know what I'm talking about here to get a good mark in this subject.

[Previous Tutorial] [Tutorial Index] [Next Tutorial] [Suggested Solutions]
Phil Scott