DNS Name Notation and Message Compression Technique
(Page 3 of 3)
Using Message Compression to Avoid Duplication of Part of a Name
The example above shows how pointers can be used to eliminate duplication of a whole name: the name mail.xyzindustries.com was used in two places and a pointer was used instead of the second. Pointers are even more powerful than this, however. They can also be used to point to only part of a real name, or can be combined with additional labels to provide a compressed representation of a name related to another name in a resource record. This provides even greater space savings.
In the example above, this means that even the first instance of mail.xyzindustries.com can be compressed. Recall that the MX record will have xyzindustries.com in the Name field and mail.xyzindustries.com in the RData field. If the Name field of that record starts at byte 19, then we can encode the RData field as:
 m a i l [pointer-to-byte-19].
The device reading the record will get mail for the first label and then read xyzindustries.com from the Name field to get the complete name, mail.xyzindustries.com.
Similarly, suppose we had a record in this same message that contained a reference to the parent domain for xyzindustries.com, which is of course com. This could simply be encoded as:
The reason is that byte 33 is where we find the  c o m  part of the Name field containing  x y z i n d u s t r i e s  c o m .
Home - Table Of Contents - Contact Us
The TCP/IP Guide (http://www.TCPIPGuide.com)
Version 3.0 - Version Date: September 20, 2005
© Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.