Computer Networks

Tutorial #13

  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 imperative language such as C or Pascal with which you are familiar:
    name ::= OCTETSTRING -- or IA5String
    married ::= BOOLEAN
    yrsWithCompany ::= INTEGER
    
  4. Describe how each of the specifications in Q.3 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 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) In the last slide of lecture 4, the XDR library was briefly explained. XDR solves a similar problem to BER, yet the approach taken couldn't be more different. How does XDR operate? What are advantages and disadvantages of ASN.1/BER in comparison?

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