Java IoT Authors: Elizabeth White, Yeshim Deniz, Liz McMillan, Pat Romanski, Paul Simmons

Related Topics: Java IoT

Java IoT: Blog Post

DNS and Java

Computers on the ARPANET used to download the hosts.txt file the central location and used it for Name Resolution

This article discusses DNS and HostName resolution in Java. The following are the topics that will be briefed in this article:

    • Hostname Resolution
    • What is DNS
    • Methods of Hostname Resolution
    • Hostname Resolution on Windows/Linux
    • DNS Client Resolver Cache
    • Viewing and Flushing DNS Cache
    • Hostname resolution in Java.
    • Debugging Approach

Hostname Resolution.
Determining the IP Address of the machine from the Hostname is termed as Hostname Resolution. Every computer (host) has a name. The Hostname should correspond to an IP address mapping stored in local Hosts file or in a database on a DNS Server.

Translating (resolving) machine (and domain) names into the numbers actually used on the Internet is the business of machines that offer the Domain Name Service.

What is DNS.

During the earlier days(in the age of ARPANET Project) the hosts.txt was used for Name Resolution. Computers on the ARPANET used to download the hosts.txt file the central location and used it for Name Resolution. As the number of hosts on internet increased usage of hosts.txt files became difficult and cumbersome process to maintain/update the hosts.txt file.

The replacement of hosts.txt file is the DNS.

Definition of DNS:
Domain Name System is a hierarchical naming system for computers, services or any resources connected to the internet or a private network.

It translates meaningful domain names to IP Addresses. An often-analogy to explain the Domain Name System is that it serves as phone-book for the internet by translating human-friendly computer hostname into IP Addresses.

Methods of HostName Resolution:

Local HostName

Return value of command hostname or the name configured for the computer.This name is compared with destination hostname.

Hosts File This file maps hostname to IP Addresses
DNS Server A server that maintains a database of IP Address-to-host name  mappings and has the ability query other DNS servers for mappings that it does not contain.

Hostname Resolution on Windows/Linux:

(a) Local hostname, if the destination address is same as local address then IP address for the same is returned and hostname resolution process is stopped.

(b) If (a) returns false, then "DNS Client Resolver Cache" is looked upon to check whether it consists of required hostname, if true then IP Address is returned else DNS server is queried to get the IP Address.


If your application needs to know the IP address of a particular computer. The application requiring this information asks the 'resolver' on your Linux PC to provide this information.

a) The resolver queries the local host file (/etc/hosts and/or the domain name servers it knows about (the exact behavior of the resolver is determined by /etc/host.conf) ;

b) If the answer is found in the host file, this answer is returned;

  • if a domain name server is specified, your PC queries this machine
  • The DNS machine already knows the IP number for the required name, it returns it. If it does not, it queries other name servers across the Internet to find the information. The name server than passes this information back to the requesting resolver - which gives the information to the requesting application.

DNS Client Resolver Cache
"DNS Client Resolver Cache" is a RAM based table (dynamically constructed) consisting of entries in the Hosts file and the host names that OS has previously resolved successfully through DNS. Response received from DNS queries are cached for a certain period of time and that period of time is configurable thru the parameter "Time to Live" (TTL).

Managing DNS Resolver cache: Following variables are used to maintain the DNS Resolver cache.

networkaddress.cache.ttl Specified in java. Security to indicate the caching policy for successful name lookups from the name service. The value is specified as integer to indicate the number of seconds to cache the successful lookup.
networkaddress.cache.negative.ttl Specified in java. Security to indicate the caching policy for un-successful name lookups from the name service. The value is specified as integer to indicate the number of seconds to cache the failure for un-successful lookups. A value of 0 indicates never cache. A value of -1 indicates cache forever.

Starting Java 6 the default value for "networkaddress.cache.ttl" is changed to 30 and this can be determined thru the following program:

public class Foo {

public static void main (String[] args) {




Viewing and Flushing DNS Cache

View the contents of "DNS Client Resolver Cache" on windows

Issue ipconfig /displaydns.from command prompt.
Flush the DNS Cache contents on windows. Issue ipconfig /flushdns from command prompt

Flush the DNS Cache contents on Linux. On Linux the nscd daemon manages the DNS cache.

restart the nscd daemon To restart the nscd daemon, use the command `/etc/init.d/nscd restart`.

Hosts File is a common way to resolve hostname to IP Address through a locally stored text file containing IP-address-to-host-name mappings. The file is resident in /etc/hosts on UNIX platform and systemroot/System32/Drivers/Etc folder on windows.

Hostname resolution in Java.

Hostname to IP Address is resolved in Java thru the

A) Use of combination of local machine configuration and

b) Network naming service such as DNS and

c) Network information service (NIS).

The inetAddress class provides methods to resolve hostname to IP Address and vice-versa also. Following are the methods that can be used for hostname resolution:

getAddress Returns the raw IP Address for this object.
getAllByName(String host) Given the name of host, an array of IP address is returned.
getByAddress(byte[] addr) Returns an InetAddress object given the raw IP address
getByAddress(String host, byte[] addr) Create an InetAddress based on the provided host name and IP address
getByName(String host) Determines the IP address of a host, given the host's name.
getCanonicalHostName() Gets the fully qualified domain name for this IP address.
getHostAddress() Returns the IP address string in textual presentation
getHostName() Gets the host name for this IP address
getLocalHost() Returns the local host.


Simple Program exercising few of the above methods:

import java.net.*;

class InetAddressTest


public static void main(String args[]) throws

UnknownHostException {

InetAddress Address = InetAddress.getLocalHost();


Address = InetAddress.getByName("starwave.com");


InetAddress SW[] = InetAddress.getAllByName("www.nba.com");

for (int i=0; i<SW.length; i++)





Debugging Approach:

What process is making the DNS queries on my server:

Use Dtrace to determine the processes making the DNS requests.





Further Reading:

Understanding DNS : http://www.tech-faq.com/understanding-dns.html

Java DNS Logger :http://www.genady.net/dns/

DNS Overview : http://technet.microsoft.com/en-us/library/bb727007.aspx#EHAA

Setting up Name to Address Resolution(DNS) :http://tldp.org/HOWTO/PPP-HOWTO/dns.html#AEN877

More Stories By ChandraShekar Dattatreya

Chandra Shekara Dattatreya is a DevOps guy working in a Fortune-500 company and has 10+ years' of experience debugging JVM-related issues. In the course of debugging, he has encountered multiple scenarios from various customers and provided solutions to all of them with success. In his current role, he is engaged in identifying and resolving JVM-related issues for an e-commerce company.

@ThingsExpo Stories
Bill Schmarzo, author of "Big Data: Understanding How Data Powers Big Business" and "Big Data MBA: Driving Business Strategies with Data Science," is responsible for setting the strategy and defining the Big Data service offerings and capabilities for EMC Global Services Big Data Practice. As the CTO for the Big Data Practice, he is responsible for working with organizations to help them identify where and how to start their big data journeys. He's written several white papers, is an avid blogge...
Founded in 2000, Chetu Inc. is a global provider of customized software development solutions and IT staff augmentation services for software technology providers. By providing clients with unparalleled niche technology expertise and industry experience, Chetu has become the premiere long-term, back-end software development partner for start-ups, SMBs, and Fortune 500 companies. Chetu is headquartered in Plantation, Florida, with thirteen offices throughout the U.S. and abroad.
Bill Schmarzo, author of "Big Data: Understanding How Data Powers Big Business" and "Big Data MBA: Driving Business Strategies with Data Science," is responsible for setting the strategy and defining the Big Data service offerings and capabilities for EMC Global Services Big Data Practice. As the CTO for the Big Data Practice, he is responsible for working with organizations to help them identify where and how to start their big data journeys. He's written several white papers, is an avid blogge...
From 2013, NTT Communications has been providing cPaaS service, SkyWay. Its customer’s expectations for leveraging WebRTC technology are not only typical real-time communication use cases such as Web conference, remote education, but also IoT use cases such as remote camera monitoring, smart-glass, and robotic. Because of this, NTT Communications has numerous IoT business use-cases that its customers are developing on top of PaaS. WebRTC will lead IoT businesses to be more innovative and address...
Charles Araujo is an industry analyst, internationally recognized authority on the Digital Enterprise and author of The Quantum Age of IT: Why Everything You Know About IT is About to Change. As Principal Analyst with Intellyx, he writes, speaks and advises organizations on how to navigate through this time of disruption. He is also the founder of The Institute for Digital Transformation and a sought after keynote speaker. He has been a regular contributor to both InformationWeek and CIO Insight...
Gemini is Yahoo’s native and search advertising platform. To ensure the quality of a complex distributed system that spans multiple products and components and across various desktop websites and mobile app and web experiences – both Yahoo owned and operated and third-party syndication (supply), with complex interaction with more than a billion users and numerous advertisers globally (demand) – it becomes imperative to automate a set of end-to-end tests 24x7 to detect bugs and regression. In th...
Michael Maximilien, better known as max or Dr. Max, is a computer scientist with IBM. At IBM Research Triangle Park, he was a principal engineer for the worldwide industry point-of-sale standard: JavaPOS. At IBM Research, some highlights include pioneering research on semantic Web services, mashups, and cloud computing, and platform-as-a-service. He joined the IBM Cloud Labs in 2014 and works closely with Pivotal Inc., to help make the Cloud Found the best PaaS.
Cloud-enabled transformation has evolved from cost saving measure to business innovation strategy -- one that combines the cloud with cognitive capabilities to drive market disruption. Learn how you can achieve the insight and agility you need to gain a competitive advantage. Industry-acclaimed CTO and cloud expert, Shankar Kalyana presents. Only the most exceptional IBMers are appointed with the rare distinction of IBM Fellow, the highest technical honor in the company. Shankar has also receive...
"Evatronix provides design services to companies that need to integrate the IoT technology in their products but they don't necessarily have the expertise, knowledge and design team to do so," explained Adam Morawiec, VP of Business Development at Evatronix, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Business professionals no longer wonder if they'll migrate to the cloud; it's now a matter of when. The cloud environment has proved to be a major force in transitioning to an agile business model that enables quick decisions and fast implementation that solidify customer relationships. And when the cloud is combined with the power of cognitive computing, it drives innovation and transformation that achieves astounding competitive advantage.
The Founder of NostaLab and a member of the Google Health Advisory Board, John is a unique combination of strategic thinker, marketer and entrepreneur. His career was built on the "science of advertising" combining strategy, creativity and marketing for industry-leading results. Combined with his ability to communicate complicated scientific concepts in a way that consumers and scientists alike can appreciate, John is a sought-after speaker for conferences on the forefront of healthcare science,...
Data is the fuel that drives the machine learning algorithmic engines and ultimately provides the business value. In his session at Cloud Expo, Ed Featherston, a director and senior enterprise architect at Collaborative Consulting, discussed the key considerations around quality, volume, timeliness, and pedigree that must be dealt with in order to properly fuel that engine.
Explosive growth in connected devices. Enormous amounts of data for collection and analysis. Critical use of data for split-second decision making and actionable information. All three are factors in making the Internet of Things a reality. Yet, any one factor would have an IT organization pondering its infrastructure strategy. How should your organization enhance its IT framework to enable an Internet of Things implementation? In his session at @ThingsExpo, James Kirkland, Red Hat's Chief Archi...
The current age of digital transformation means that IT organizations must adapt their toolset to cover all digital experiences, beyond just the end users’. Today’s businesses can no longer focus solely on the digital interactions they manage with employees or customers; they must now contend with non-traditional factors. Whether it's the power of brand to make or break a company, the need to monitor across all locations 24/7, or the ability to proactively resolve issues, companies must adapt to...
In his keynote at 18th Cloud Expo, Andrew Keys, Co-Founder of ConsenSys Enterprise, provided an overview of the evolution of the Internet and the Database and the future of their combination – the Blockchain. Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settl...
Organizations planning enterprise data center consolidation and modernization projects are faced with a challenging, costly reality. Requirements to deploy modern, cloud-native applications simultaneously with traditional client/server applications are almost impossible to achieve with hardware-centric enterprise infrastructure. Compute and network infrastructure are fast moving down a software-defined path, but storage has been a laggard. Until now.
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
DXWorldEXPO LLC announced today that the upcoming DXWorldEXPO | CloudEXPO New York event will feature 10 companies from Poland to participate at the "Poland Digital Transformation Pavilion" on November 12-13, 2018.
Digital Transformation is much more than a buzzword. The radical shift to digital mechanisms for almost every process is evident across all industries and verticals. This is often especially true in financial services, where the legacy environment is many times unable to keep up with the rapidly shifting demands of the consumer. The constant pressure to provide complete, omnichannel delivery of customer-facing solutions to meet both regulatory and customer demands is putting enormous pressure on...
The best way to leverage your CloudEXPO | DXWorldEXPO presence as a sponsor and exhibitor is to plan your news announcements around our events. The press covering CloudEXPO | DXWorldEXPO will have access to these releases and will amplify your news announcements. More than two dozen Cloud companies either set deals at our shows or have announced their mergers and acquisitions at CloudEXPO. Product announcements during our show provide your company with the most reach through our targeted audienc...