DNS NG
DNS NG
Version—1.2
| Contents | 2
Contents
Terms of Use.................................................................................................................................... 3
About This Guide............................................................................................................................4
Revision History.............................................................................................................................. 5
DNS-NG............................................................................................................................................ 6
Facility Properties................................................................................................................................................. 6
General...................................................................................................................................................... 7
Configuration.............................................................................................................................................7
Trace.......................................................................................................................................................... 7
Statistics.....................................................................................................................................................8
Bindings...................................................................................................................................................10
Events and Alarms..............................................................................................................................................13
Locals Facility.....................................................................................................................................................13
Facility Actions.......................................................................................................................................13
Facility Properties................................................................................................................................... 16
Local Instance Properties........................................................................................................................17
Events and Alarms..................................................................................................................................21
Peers Facility.......................................................................................................................................................22
Facility Actions.......................................................................................................................................22
Peers Facility Properties......................................................................................................................... 25
Peer Instance Properties..........................................................................................................................25
Events and Alarms..................................................................................................................................33
Terms of Use
The copyright and terms of use information for this document is provided in the documentation library associated to
this release.
| About This Guide | 4
The DNS-NG guide explains how TITAN supports the DNS protocol.
Caution: Indicates information about a possible problem with the application that might occur.
Revision History
The following table lists the content updates in this guide for TITAN 7.
DNS-NG Facility
DNS-NG provides the ability to manage local IP elements, remote peer elements, and bind services that are
dispatched messages for processing.
The Domain Name System (DNS) is a critical function to any Internet Protocol based network. The DNS is composed
of a distributed set of servers that are used to resolve domain names into various forms of addressing information
that are requested by DNS client systems. The DNS-NG Facility is a network subsystem where users can manage all
aspects of the DNS protocol.
The following image displays the hierarchy of the DNS-NG Facility in TITAN:
Name Description
Path The path name of the system root.
Name The name of the DNS-NG Facility.
Description The description of the DNS-NG Facility.
Available Actions
The following actions are available on the Configuration tab in the DNS-NG Facility Properties panel.
Apply Saves the information and keeps the panel open if no errors are detected. If the system
finds validation errors, a yellow error symbol appears next to each field containing an
invalid value. To view the error message, hover your pointer over the warning symbol.
• State—Indicates whether tracing is currently enabled or disabled for this object. Select Enable to start collecting
trace information for the object. Select Disable to stop collecting trace information for the object. When you
disable tracing, the selected categories and verbosity levels do not change.
• Categories—A list of the types of trace information that you can collect, with associated verbosity levels.
• Verbosity Levels—Controls the amount of information collected within a category. All categories have messages
associated with low verbosity level. The medium and high verbosity levels might or might not produce additional
tracing output. The verbosity levels are cumulative; if you select high, the output includes all of the low and
medium messages.
1. Click the buttons to enable tracing for the desired categories and verbosity levels. You can control the performance
impact of the trace features by selectively choosing categories.
Select this Select this verbosity level (or To gather this information:
category: greater):
Network high View messages received in binary (hex bytes), source-
ip, and source-port.
Protocol medium View the decoded message header.
high View decoded messages.
Logic high View how the message is sent to a peer.
2. Set the state field. The state setting does not affect the category and verbosity selections.
• To start tracing, select ENABLED from the state drop-down menu.
• To stop tracing, select DISABLED from the state drop-down menu.
3. Click Apply to save your changes and leave the window open, or click Save to save your changes and close the
window.
Available Actions
The following actions are available on the Trace tab in the DNS-NG Facility Properties panel.
Apply Saves the information and keeps the panel open if no errors are detected. If the system
finds validation errors, a yellow error symbol appears next to each field containing an
invalid value. To view the error message, hover your pointer over the warning symbol.
Connections
The following table shows the aggregated statistics for DNS-NG connections.
Statistic Description
Active The number of active connections in the DNS-NG Facility.
Refused The number of refused connections in the DNS-NG Facility.
Transactions
The following table shows the aggregated statistics for DNS-NG transactions.
Statistic Description
Active The number of active transactions in the DNS-NG Facility.
Timedout The number of DNS-NG transactions that have timed out.
Request
The following table shows the aggregated statistics for DNS-NG requests.
Statistic Description
Total Received The total number of requests received in the DNS-NG Facility.
Total Sent The total number of requests sent in the DNS-NG Facility.
Total Discarded The total number of requests discarded in the DNS-NG Facility.
The following table describes the operation codes for DNS-NG request statistics.
Response
The following table shows the aggregated statistics for DNS-NG responses.
Statistic Description
Total Received The total number of responses received in the DNS-NG Facility.
Total Sent The total number of responses sent in the DNS-NG Facility.
Total Discarded The total number of responses discarded in the DNS-NG Facility.
The following table describes the response codes for DNS-NG response statistics.
Available Actions
The following actions are available on the Statistics tab in the DNS-NG Facility Properties panel.
Interceptors
The interface, order, and name of each message interceptor.
Applications can register an inbound or outbound interceptor with the DNS-NG Facility. The interceptor message
may be inspected or modified, then a status is returned from the interceptor to indicate if the DNS-NG Facility should
continue processing the message, discard the message, or assume if the message has been handled by the interceptor
implementation. When registering an interceptor, you must specify an order, and the corresponding interceptor is
invoked in ascending order of the registered order value.
The following shows the API of an interceptor that is further extended by inbound and outbound interceptor
interfaces:
/**
* NOTE: An implementation of the {@code InboundInterceptor} must have a
default
* constructor with {@code public} scope.
*
* @author mseshan
*/
public interface Interceptor {
/**
* A result indicating how processing is continued following the
* interceptor invocation.
*/
public enum Result {
/**
* Continue processing the message normally.
*/
CONTINUE,
/**
| DNS-NG Facility | 11
/**
* Get the name of the interceptor.
*
* @return the name of the interceptor.
*/
public String getName();
}
Inbound
All messages received by the DNS-NG component are provided to all the interceptors registered on the inbound side
in the order the interceptors are registered.
The following shows the API of an inbound Interceptor class that may be registered by an application:
/**
* The entry point is provided by the
* {@link #process(slee.dnsng.network.Local, slee.dnsng.Message)} method. The
* custom logic can operate on the {@link Message} instance and choose to
modify
* it, respond to it or discard it.
*
* NOTE: An implementation of the {@code InboundInterceptor} MUST have a
default
* constructor with {@code public } scope.
*
public interface InboundInterceptor extends Interceptor {
/**
* The main entry point into the custom {@code InboundInterceptor}
* implementation.
*
* @param local An instance of the {@link Local} that received the
* {@code Message}.
* @param msg An instance of the {@link Message} that was received by
the
* local interface.
*
* @return The result of processing the {@code Message}.
*/
public InboundInterceptor.Result process(Local local, Message msg);
| DNS-NG Facility | 12
Outbound
All messages sent by the DNS-NG component are provided to all the interceptors registered on the outbound side in
the order the interceptors are registered.
The following shows the API of an outbound Interceptor class that may be registered by an application:
/**
* The entry point is provided by null {@link
#process(slee.dnsng.network.Local,
* slee.dnsng.network.Peer,
* slee.dnsng.Message) }
* method. The custom logic can operate on the {@link Message} instance and
* choose to modify it, respond to it or discard it.
*
* NOTE: An implementation of the {@code Interceptor} MUST have a default
* constructor with {@code public } scope.
*
* @author mseshan
*
public interface OutboundInterceptor extends Interceptor {
/**
* The main entry point into the custom {@code Interceptor}
implementation.
*
* @param local An instance of the {@link Local} that received the
* {@code Message}.
* @param peer An instance of the {@link Peer} where the message will be
* sent.
* @param msg An instance of the {@link Message} that was received by
the
* local interface.
*
* @return The result of processing the {@code Message}.
*/
public OutboundInterceptor.Result process(Local local, Peer peer,
Message msg);
}
Services
The context and name of each service bound to the DNS-NG Facility.
An application can register a service instance in the DNS-NG Facility. DNS request messages that arrive on the
platform which match a peer are delivered to a service instance that is registered in the same context.
The following shows the API of a service class that an application must implement:
/**
* A {@code Service} represents the application logic to be provided when a
* {@code DNS} message is received on the system.
*
* @author mseshan
*/
public abstract class Service {
/**
* Get the context advertised by {@code this Service} instance.
*
* @return the context of {@code this Service}.
*/
public abstract String getContext();
| DNS-NG Facility | 13
/**
* Get the name of the {@code this Service} instance.
*
* @return the name of {@code this Service}.
*/
public abstract String getName();
/**
* Receive a {@code DNS} request for processing.
*
* @param transport the {@link MessageContext} that the request was
received on.
* @param request an instance of {@link Message} received by the {@code
DNS}
* network.
*/
public abstract void receive(MessageContext transport, Message request);
}
Locals Facility
The Locals Facility contains a collection of local instances. A local instance represents the configuration of a local
IP, port, and transport to receive DNS messages. In addition, a local instance is where you configure other network
related settings such as the socket receive buffer and send buffer.
Actions
The actions that a user can perform on this page are either available on the toolbar or by right-clicking on an object.
To display all the available actions, enable detailed display mode. For more information on the presentation actions
located on the right side of the toolbar, see the TITAN Console guide.
Note: If the actions are disabled, either you do not have permission to perform those actions, or you need to
enable configuration-enabled mode by clicking Enable in the upper right corner of the Console.
Action Description
Create To create a local instance, complete the following procedure.
1. Click Create to configure a new local instance.
2. Complete the fields on the local Configuration tab.
3. To save the new local, click Save or Apply. For more information about these actions,
see the TITAN Console guide
You can also create a local instance from the Configuration Facility:
1. From the TITAN homepage, click system > configuration.
2. On the toolbar, click Apply and respond to the confirmation message.
3. Enter the command described below in the window that opens.
For example:
dns-local::udp-tcp test {
state="DISABLED"
address=[2342]
port=53
}
4. Click Apply to save the changes.
For example:
Action Description
4. Click Apply to save the changes.
For example:
Reset To reset the statistics of a local instance, complete the following procedure.
1. In detailed display mode, select the local instances you want to reset and click Reset.
You can also right-click the local instance you want to reset and select Reset from the
menu.
2. A confirmation message appears. Click Yes to reset the statistics for the local instance.
Click No to cancel this operation.
You can also reset the local statistics from the Configuration Facility:
1. From the TITAN homepage, click system > configuration
2. On the toolbar, click Apply and respond to the confirmation message.
3. Enter the command described below in the window that opens.
For example:
Action Description
A set of buttons appear offering a choice of Name, Type, Description, State, and
Address.
2. Select the type of search you want to perform.
3. Enter search criteria in the search text box.
4. To initiate the search, click the Search icon or press Enter. The search results appear on
the Console, replacing the current list.
5. To return to the original list of instances, remove the search string, including spaces, and
either click the Search icon or press Enter.
Properties Right-click the local instance you want to view the properties for and select Properties from
the menu.
Opens the local instance Properties panel. In configuration-enabled mode, the window
opens to the Configuration tab, where you can edit or clone the local instance. Otherwise,
the window opens to the General tab.
Display Modes
Simple
In simple display mode, the Locals Facility displays an icon for each local instance defined on the server.
Detailed
In detailed display mode, the Locals Facility displays the following information about each local instance.
Name Description
Path The path name of the DNS-NG Facility.
Name The name of the Locals Facility.
Description The description of the Locals Facility.
| DNS-NG Facility | 17
Name Description
Path The path name of Locals Facility.
Name The name assigned to the local instance when it was created.
Description The description of the local instance as configured in the peer instance properties.
Created by The name of the user that created the local instance.
Created The timestamp of when the local instance was created.
Modified by The name of the user that most recently modified the local instance.
Modified The timestamp of when the local instance was last modified.
TCP Receive Buffer The configured value of the receive-buffer attribute in the local instance.
TCP Send Buffer The configured value of the send-buffer attribute in the local instance.
TCP Traffic Class The configured value of the traffic-class attribute in the local instance.
port A port value for the local instance to bind a socket to. 53
Valid values are 0 to 65535
| DNS-NG Facility | 18
packet-size The maximum size of a DNS message that can be sent over 512
UDP.
Valid values are 512 to 65535. Units in bytes
receive-buffer The size, in bytes, that must be allocated by the operating None
system to receive messages on the UDP socket.
Valid values are 512 to 10485760
send-buffer The size, in bytes, that must be allocated by the operating None
system to send messages on the UDP socket.
Valid values are 512 to 10485760
read-timeout The amount of time, in seconds, that the socket will block 180 seconds
on an I/O operation. A zero value causes the thread to block
indefinitely.
Valid values are 0 to 2147483.
receive-buffer The size, in bytes, that must be allocated by the operating None
system to receive messages on the TCP socket.
| DNS-NG Facility | 19
send-buffer The size, in bytes, that must be allocated by the operating None
system to send messages on the TCP socket.
Valid values are 512 to 10485760
Available Actions
The following actions are available on the Configuration tab in the Local Instance Properties panel.
Apply Saves the information and keeps the panel open if no errors are detected. If the system
finds validation errors, a yellow error symbol appears next to each field containing an
invalid value. To view the error message, hover your pointer over the warning symbol.
Clone Allows the user to create a new instance by using the existing instance definition. This
action only appears when viewing the Configuration tab of an instance that already
exists.
You must change the name of the newly cloned instance. Additional configuration
changes are optional.
Available Actions
The following actions are available on the Trace tab in the Local Instance Properties panel.
Apply Saves the information and keeps the panel open if no errors are detected. If the system
finds validation errors, a yellow error symbol appears next to each field containing an
invalid value. To view the error message, hover your pointer over the warning symbol.
Connections
The following table shows the aggregated statistics for local connections.
Statistic Description
Active The number of active connections for the local instance.
Refused The number of refused connections for the local instance.
Request
The following table shows the aggregated statistics for local requests.
| DNS-NG Facility | 21
Statistic Description
Total Received The total number of DNS requests received by the system.
Total Sent The total number of DNS requests sent by the system.
Total Discarded The total number of DNS requests discarded by the system.
The following table describes the operation codes for local request statistics.
Response
The following table shows the aggregated statistics for local responses.
Statistic Description
Total Received The total number of DNS responses received by the system.
Total Sent The total number of DNS responses sent by the system.
Total Discarded The total number of DNS responses discarded by the system.
The following table describes the response codes for DNS-NG response statistics.
Available Actions
An event is an occurrence of a noteworthy activity that the TITAN server enters into its system log. An alarm is an
occurrence of a potential or actual service-affecting condition to one of the managed subsystems of the TITAN server.
For more information, see the TITAN Events and Alarms guides.
The following table lists all the events and alarms associated to the Locals Facility.
Peers Facility
The Peers Facility provides the ability to create one or more peer instances that represents the configuration of a
remote side. A peer instance may be configured as a Client or a Server.
Actions
The actions that a user can perform on this page are either available on the toolbar or by right-clicking on an object.
To display all the available actions, enable detailed display mode. For more information on the presentation actions
located on the right side of the toolbar, see the TITAN Console guide.
Note: If the actions are disabled, either you do not have permission to perform those actions, or you need to
enable configuration-enabled mode by clicking Enable in the upper right corner of the Console.
Action Description
Create To create a peer instance, complete the following procedure.
1. Click Create to configure a new peer instance.
2. Complete the fields on the peer instance Configuration tab.
3. To save the new peer, click Save or Apply. For more information about these actions,
see the TITAN console guide
You can also create a peer instance from the Configuration Facility:
1. From the TITAN homepage, click system > configuration.
2. On the toolbar, click Apply and respond to the confirmation message.
3. Enter the command described below in the window that opens.
Action Description
For example:
dns-peer::client test {
state="ENABLED"
context=""
binding=&test
address::NAME=[3]
}
4. Click Apply to save the changes.
For example:
Action Description
For example:
Reset To reset the statistics of a peer instance, complete the following procedure.
1. In detailed display mode, select the peer instances you want to reset and click Reset.
You can also right-click the peer instance you want to reset and select Reset from the
menu.
2. A confirmation message appears. Click Yes to reset the statistics for the peer instance.
Click No to cancel this operation.
You can also reset the peer instance statistics from the Configuration Facility:
1. From the TITAN homepage, click system > configuration
2. On the toolbar, click Apply and respond to the confirmation message.
3. Enter the command described below in the window that opens.
For example:
Properties Right-click the peer instance you want to view the properties for and select Properties from
the menu.
Opens the peer instance Properties panel. In configuration-enabled mode, the window opens
to the Configuration tab, where you can edit or clone the peer instance. Otherwise, the
window opens to the General tab.
Display Modes
Simple
In simple display mode, the Peers Facility displays an icon for each peer instance defined on the server.
| DNS-NG Facility | 25
Detailed
In detailed display mode, the Peers Facility displays the following information about each peer instance.
Name Description
Path The path name of the DNS-NG Facility.
Name The name of the Peers Facility.
Description The description of the Peers Facility.
Name Description
Path The path name of Peers Facility.
Name The name assigned to the peer instance when it was created.
| DNS-NG Facility | 26
Name Description
Description The description of the peer instance as configured in the peer instance properties.
Created by The name of the user that created the peer instance.
Created The timestamp of when the peer instance was created.
Modified by The name of the user that most recently modified the peer instance.
Modified The timestamp of when the peer instance was last modified.
binding The local hostname or IP used to bind the peer instance to a None
network socket.
address The subnet that the client peer is associated with, or the SUBNET
hostname or the IP address of the client peer system.
Available options include:
• subnet: The address of the sub-network in CIDR format
that contains the client peer.
• name: A host name or IP address of the client peer system.
Valid values are an IPv4 or IPv6 address with mask formatted
as an address or subnet.
tcp-settings—The settings to be applied if the peer connects to the local system over TCP transport.
| DNS-NG Facility | 27
read-timeout The amount of time, in seconds, that the socket blocks on 180 seconds
an I/O operation. A zero value causes the thread to block
indefinitely.
Valid values are 0 to 2147483.
binding The local hostname or IP used to bind the peer instance to a network None
socket.
address An IP address or a hostname for the server peer instance. None
port The value used to bind the local instance to a network socket. 53
tcp-settings—The settings to be applied if the peer connects to the local system over TCP transport.
connection-timeout The maximum amount of time, in seconds, to wait for a TCP 0 seconds
connection to establish when the server peer instance is bound to a
TCP transport. A zero value causes the system to wait indefinitely.
Valid values are 0 to 2147483
| DNS-NG Facility | 28
read-timeout The amount of time, in seconds, that the socket blocks on an I/O 180 seconds
operation. A zero value causes the thread to block indefinitely.
Valid values are 0 to 2147483.
request The type of DNS request that monitors the remote servers. The None
available DNS request types are STATUS and QUERY.
domain An optional question domain to use with audit requests. None
The value must be a valid host address, such as a DNS domain or IP
address, with 0 to 254 characters.
type The integer QUERY type value. This attribute is available if the 255
QUERY option is selected for the request attribute.
Valid values are from 0 to 65535.
class Specifies the record class. This attribute is available if the QUERY 1
option is selected for the request attribute.
DNS supports the following class types, which are defined in RFC
1035:
• 1: The Internet (IN).
• 2: The CSNET (CS) class.
• 3: The CHAOS (CH) class.
• 4: The Hesiod (HS) class.
• 255: Any class (*).
Note: If any other valid value is used, that value is
included in the message.
Server Policy
The DNS-NG Facility provides the ability to initiate a DNS transaction by sending a DNS request to an external
server peer. You can configure a policy for a server peer instance to control where the DNS request is sent. Ordered
and Least-Latency are the supported selection algorithms.
Ordered
When selecting a server peer instance for a transaction, the server with the lowest order is selected that has not been
used for the same DNS transaction. If more than one server peer instance is configured with the same ordered policy
value, then the server rotates the turns for those instances.
Least Latency
When a server peer instance is configured for least-latency policy, the server with the lowest response time is selected
for the transaction. Additionally, when a server is selected, the response time of all other servers is reduced by 1
millisecond.
When a context has multiple server peer instances that have varying selection policies, the ordered policy is applied
first. If there are multiple server instances with the same order value, then the server with the least response time is
selected. Any server that does not have a configured order value defaults to 65,535
Available Actions
The following actions are available on the Configuration tab in the peer instance Properties panel.
Apply Saves the information and keeps the panel open if no errors are detected. If the system
finds validation errors, a yellow error symbol appears next to each field containing an
invalid value. To view the error message, hover your pointer over the warning symbol.
Clone Allows the user to create a new instance by using the existing instance definition. This
action only appears when viewing the Configuration tab of an instance that already
exists.
You must change the name of the newly cloned instance. Additional configuration
changes are optional.
Tracing allows administrative users to verify expected package behavior and troubleshoot unexpected behavior.
Tracing impacts performance, and the more verbosity you configure, the higher the performance impact. To see the
generated trace output, use the Trace Facility. The Trace tab contains the following fields:
• State—Indicates whether tracing is currently enabled or disabled for this object. Select Enable to start collecting
trace information for the object. Select Disable to stop collecting trace information for the object. When you
disable tracing, the selected categories and verbosity levels do not change.
• Categories—A list of the types of trace information that you can collect, with associated verbosity levels.
• Verbosity Levels—Controls the amount of information collected within a category. All categories have messages
associated with low verbosity level. The medium and high verbosity levels might or might not produce additional
tracing output. The verbosity levels are cumulative; if you select high, the output includes all of the low and
medium messages.
1. Click the buttons to enable tracing for the desired categories and verbosity levels. You can control the performance
impact of the trace features by selectively choosing categories.
Available Actions
The following actions are available on the Trace tab in the Peer Instance Properties panel.
Throughput (tps)
The following table shows the aggregated throughput statistics for the peer instance.
Statistic Description
Average The average throughput for the peer instance.
Minimum The minimum throughput for the peer instance.
Latency (µs)
The following table shows the aggregated latency statistics for the peer instance.
Statistic Description
Minimum The minimum latency for the peer instance.
Average The average latency for the peer instance.
Maximum The maximum latency for the peer instance.
Request
The following table shows the aggregated request statistics for the peer instance.
Statistic Description
Total Received The total number of requests received by the peer instance.
Total Sent The total number of requests sent by the peer instance.
Total Discarded The total number of discarded requests by the peer instance.
The following table describes the operation codes for peer instance request statistics.
Response
The following table shows the aggregated response statistics for the peer instance.
Statistic Description
Total Received The total number of responses received by the peer instance.
Total Sent The total number of responses sent by the peer instance.
Total Discarded The total number of responses discarded by the peer instance.
The following table describes the response codes for peer instance response statistics.
Available Actions
The following actions are available on the Statistics tab in a peer instance Properties panel.
Name Description
Minimum The minimum latency recorded for processing a DNS message since the last reset.
Average The average latency recorded for processing DNS messages since the last reset.
Maximum The maximum latency recorded for processing a DNS message since the last reset.
Time Slot A granular latency range.
Count The number of DNS messages processed in a specific timeslot.
Percent The percentage of messages in a time slot relative to all the latencies measured since the last reset.
| DNS-NG Facility | 33
Available Actions
The following actions are available on the Latency tab in a peer instance Properties panel.