2023-09-13 09:48:38 +01:00
|
|
|
.. only:: comment
|
|
|
|
|
|
|
|
|
|
© Crown-owned copyright 2023, Defence Science and Technology Laboratory UK
|
|
|
|
|
|
2024-02-23 08:55:32 +00:00
|
|
|
DNSClient
|
|
|
|
|
=========
|
2023-09-13 09:48:38 +01:00
|
|
|
|
|
|
|
|
The DNSClient provides a client interface for connecting to the ``DNSServer``.
|
|
|
|
|
|
|
|
|
|
Key features
|
|
|
|
|
^^^^^^^^^^^^
|
|
|
|
|
|
|
|
|
|
- Connects to the ``DNSServer`` via the ``SoftwareManager``.
|
|
|
|
|
- Executes DNS lookup requests and keeps a cache of known domain name IP addresses.
|
|
|
|
|
- Handles connection to DNSServer and querying for domain name IP addresses.
|
|
|
|
|
|
|
|
|
|
Usage
|
|
|
|
|
^^^^^
|
|
|
|
|
|
|
|
|
|
- Install on a Node via the ``SoftwareManager`` to start the database service.
|
|
|
|
|
- Service runs on TCP port 53 by default. (TODO: TCP for now, should be UDP in future)
|
2023-09-18 10:25:26 +01:00
|
|
|
- Execute domain name checks with ``check_domain_exists``.
|
2023-09-13 09:48:38 +01:00
|
|
|
- ``DNSClient`` will automatically add the IP Address of the domain into its cache
|
|
|
|
|
|
|
|
|
|
Implementation
|
|
|
|
|
^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
|
|
- Leverages ``SoftwareManager`` for sending payloads over the network.
|
|
|
|
|
- Provides easy interface for Nodes to find IP addresses via domain names.
|
|
|
|
|
- Extends base Service class.
|