179
Naming Services in the Internet of Things
volumes of data and often led to propagation of network-wide errors. As a reaction, shortly
after deployment of TCP/IP, the new DNS was introduced. This DNS still serves as the
foundation of the Internet name resolution system today. A hostname now has a compound structure and consists of a number of labels separated by dots, e.g., www.example.
com.—the final dot is often omitted. The labels specify corresponding domains: the empty
string next to the rightmost dot corresponds to the root domain, the next label to the left
to the top-level domain (TLD), followed by the second-level domain (SLD), and so forth.
The resolution of the hostname into the corresponding IP address is carried out by
a tree-like hierarchy of DNS name servers. Each node of the hierarchy consists of DNS
name servers that store a list of resource records (RRs) mapping domain names into IP
addresses of Internet sites belonging to a zone for which the DNS servers are authoritative. Alternatively, in case of zone delegation, IP addresses of DNS servers located at the
lower levels of the hierarchy are returned. The resolution of a hostname is performed by
subsequently resolving domains of the hostname from right to left, thereby traversing the
hierarchy of the DNS name servers until the corresponding IP address is obtained.
In addition to name-to-IP resolution used by nearly every Internet application today,
there are several other established and future uses of DNS, such as inverse queries (IP-toname), queries for mail server addresses (using MX RRs), DNS use for storing VoIP phone
numbers, key distribution, and even for stating communication security requirements.
ONS will place additional DNS burden on top of the load created by all those applications.
9.3.1.2 DNS Protocol
The DNS protocol is part of the application layer of the TCP/IP hierarchy. In general, it
uses the User Datagram Protocol (UDP) with server port 53 as transport layer protocol for
queries and responses. DNS uses the Transmission Control Protocol (TCP) for responses
larger than 512 bytes, as well as for higher reliability of zone transfers between DNS servers. An exception is the use of the so-called extension mechanisms for DNS, which allow
larger DNS payloads to be transported via UDP, and is important for transferring signatures
for DNS security extensions (DNSSEC). To match incoming responses with previous queries, DNS uses a 16-bit query identifier located in the DNS header. In addition, the header
carries multiple status bits indicating query or response, authoritative answer, response
truncation, and the desire for—respectively, availability of—recursive query tasks for the
name server. The actual query or answer DNS RRs, as well as possible additional information, follow after the header in specific section of a DNS packet. To reduce the message size
due to the classical 512-byte limit, a compression and pointer scheme is used to avoid the
repetition of names, which however increases the parsing complexity for human eye and
DNS software, and has been the cause of implementation errors in the past.
In the following, the inner workings of the ONS resolution process and its use of DNS
are described.
9.3.2 ONS Resolution Process
The ONS resolution process is described in the work of Mealling [32]. For a schematic
view of the communication procedure, see Figure 9.6. After an RFID reader has received
an EPC in binary form, it forwards it to some local middleware system. To retrieve the list
of relevant EPCIS servers for this particular object, the middleware system converts the
EPC to its URI form (e.g., urn:epc:id:sgtin:809453.1734.108265). Then this is handed over
to the local ONS resolver, which in turn translates the URI form into a domain name
Naming Services in the Internet of Things
volumes of data and often led to propagation of network-wide errors. As a reaction, shortly
after deployment of TCP/IP, the new DNS was introduced. This DNS still serves as the
foundation of the Internet name resolution system today. A hostname now has a compound structure and consists of a number of labels separated by dots, e.g., www.example.
com.—the final dot is often omitted. The labels specify corresponding domains: the empty
string next to the rightmost dot corresponds to the root domain, the next label to the left
to the top-level domain (TLD), followed by the second-level domain (SLD), and so forth.
The resolution of the hostname into the corresponding IP address is carried out by
a tree-like hierarchy of DNS name servers. Each node of the hierarchy consists of DNS
name servers that store a list of resource records (RRs) mapping domain names into IP
addresses of Internet sites belonging to a zone for which the DNS servers are authoritative. Alternatively, in case of zone delegation, IP addresses of DNS servers located at the
lower levels of the hierarchy are returned. The resolution of a hostname is performed by
subsequently resolving domains of the hostname from right to left, thereby traversing the
hierarchy of the DNS name servers until the corresponding IP address is obtained.
In addition to name-to-IP resolution used by nearly every Internet application today,
there are several other established and future uses of DNS, such as inverse queries (IP-toname), queries for mail server addresses (using MX RRs), DNS use for storing VoIP phone
numbers, key distribution, and even for stating communication security requirements.
ONS will place additional DNS burden on top of the load created by all those applications.
9.3.1.2 DNS Protocol
The DNS protocol is part of the application layer of the TCP/IP hierarchy. In general, it
uses the User Datagram Protocol (UDP) with server port 53 as transport layer protocol for
queries and responses. DNS uses the Transmission Control Protocol (TCP) for responses
larger than 512 bytes, as well as for higher reliability of zone transfers between DNS servers. An exception is the use of the so-called extension mechanisms for DNS, which allow
larger DNS payloads to be transported via UDP, and is important for transferring signatures
for DNS security extensions (DNSSEC). To match incoming responses with previous queries, DNS uses a 16-bit query identifier located in the DNS header. In addition, the header
carries multiple status bits indicating query or response, authoritative answer, response
truncation, and the desire for—respectively, availability of—recursive query tasks for the
name server. The actual query or answer DNS RRs, as well as possible additional information, follow after the header in specific section of a DNS packet. To reduce the message size
due to the classical 512-byte limit, a compression and pointer scheme is used to avoid the
repetition of names, which however increases the parsing complexity for human eye and
DNS software, and has been the cause of implementation errors in the past.
In the following, the inner workings of the ONS resolution process and its use of DNS
are described.
9.3.2 ONS Resolution Process
The ONS resolution process is described in the work of Mealling [32]. For a schematic
view of the communication procedure, see Figure 9.6. After an RFID reader has received
an EPC in binary form, it forwards it to some local middleware system. To retrieve the list
of relevant EPCIS servers for this particular object, the middleware system converts the
EPC to its URI form (e.g., urn:epc:id:sgtin:809453.1734.108265). Then this is handed over
to the local ONS resolver, which in turn translates the URI form into a domain name
