previous | start | next

Reflections on Data Encoding

Compare:
Classic Internet Application Protocols
Protocol messages usually lines of printable ASCII text, using the telnet NVT convention for line endings. Data is either textual (hence transmitted as Telnet NVT lines), encoded into textual form (eg, Base64 for email attachents) or simply transmitted as binary (eg, images in HTTP) -- no generic rules apply across all protocols.
 
SNMP-based Network Management
Data and protocols are both described using ASN.1, encoded using the TLV-style BER for transmission -- a binary format. The entire PDU (data and "header information") is a single BER entity.
 
Both of these formats exemplify a principle whereby the protocol message is encoded into a standardised or canonical form for transmission. What "goes over the wire" is in the same format, regardless of the type and characterictics of each of the machines involved in the transfer[1].
 
[1] There are alternatives to this: we already seen a technique (way back in the telnet lecture) generically called terminal emulation, whereby the sender of the data converts it to the specific format expected by the receiver before sending. The other approach is called (in some circles) receiver-makes-right. Here the receiving software, knowing the source of the data, converts it to its own format before proceeding. This obviously fails if the source can't be determined!
Lecture 24: Data Formats and Encoding -- A Philosophy Lecture Copyright © 2002 P.Scott, La Trobe University Bendigo.



previous | start | next