CL_RFC3403_4_NAPTR_order - Order comparison
Verify a NUT process when NUT received message that includes multiple Naming Authority Pointer (NAPTR) Resource Records (RR) containing different order.
Client (ADVANCED)
CL_RFC3403_4_NAPTR_order.seq [-tooloption ...]: KOI tool option See also DNSConfig.pm
AP Server1(TN):A.example.com DNS Server1(TN) |3ffe:501:ffff:101::10 |3ffe:501:ffff:101::20 |192.168.1.10 |192.168.1.20 | | Net-y --+--------+-----------------------+-------- 3ffe:501:ffff:101::/64 | 192.168.1/24 | | ROUTER1(TN) |3ffe:501:ffff:100::1 |192.168.0.1 | Net-z --+--------+-------------------------------- 3ffe:501:ffff:100::/64 | 192.168.0/24 DNS Client1(NUT) 3ffe:501:ffff:100:XXXX 192.168.0.10
XXXX: EUI64 address
Set the DNS Server1 (TN)'s address on DNS Client1 (NUT) as above mentioned Network Topology. If NUT use a SIP user agent as DDDS application, then set up SIP Proxy address: 192.168.1.20 (IPv4) or 3ffe:501:ffff:101::20 (IPv6).
Application Unique String (AUS): +81-90-1111-0001 Converted to the Key: 819011110001 Used domain-name to retrieve Rewrite Rules as NAPTR records: 1.0.0.0.1.1.1.1.0.9.1.8.e164.arpa.
This test sequence is following.
DNS Client1 (NUT) DNS Server1 (TN) | | | Invoke some application | | on NUT (Ex. SIP UA) | | | |---------------------------------------------->| | 1. Send standard query | | QNAME="1.0.0.0.1.1.1.1.0.9.1.8.e164.arpa." | | QTYPE=NAPTR | | | |<----------------------------------------------| | 2. Send standard response | | | | | |---------------------------------------------->| | 3. Request packet from some application | | Ex. SIP UA) | | INVITE sip:info2@example.com to SIP Proxy | | | v v
1. DNS Client1 (NUT) sends a standard query with QNAME = "1.0.0.0.1.1.1.1.0.9.1.8.e164.arpa." type NAPTR 2. DNS Server1 (NUT) transmits a response to DNS Client1 (NUT) with:
$ORIGIN 1.0.0.0.1.1.1.1.0.9.1.8.e164.arpa. ;; order pref flags service regexp replacement IN NAPTR 101 10 "u" "E2U+sip" "!^.*$!sip:info1@example.com!i" . IN NAPTR 100 10 "u" "E2U+sip" "!^.*$!sip:info2@example.com!i" .
3. DNS Client1 (NUT) sends request packet to SIP Proxy in response to NAPTR record. Judgment (Check *3)
|
||
IP Header | Source Address | NUT_NETZ |
Destination Address | SV1_NETY | |
UDP Header | Src Port | ANY |
Dst Port | 53 | |
DNS Header | ID | ANY |
QR | 0 | |
OPCODE | 0 | |
AA | 0 | |
TC | 0 | |
RD | 0 | |
RA | 0 | |
Z | 0 | |
RCODE | 0 | |
QDCOUNT | 1 | |
ANCOUNT | 0 | |
NSCOUNT | 0 | |
ARCOUNT | 0 | |
DNS Question section | QNAME | 1.0.0.0.1.1.1.1.0.9.1.8.e164.arpa. |
QTYPE | NAPTR (0x0023) | |
QCLASS | IN (0x0001) |
|
||
IP Header | Source Address | SV1_NETY |
Destination Address | NUT_NETZ | |
UDP Header | Src Port | 53 |
Dst Port | Value that NUT uses | |
DNS Header | ID | Value that NUT uses |
QR | 1 | |
OPCODE | 0 | |
AA | 1 | |
TC | 0 | |
RD | 0 | |
RA | 0 | |
Z | 0 | |
RCODE | 0 | |
QDCOUNT | 1 | |
ANCOUNT | 2 | |
NSCOUNT | 1 | |
ARCOUNT | 2 | |
DNS Question section | QNAME | 1.0.0.0.1.1.1.1.0.9.1.8.e164.arpa. |
QTYPE | NAPTR (0x0023) | |
QCLASS | IN (0x0001) | |
DNS Answer section | NAME | 1.0.0.0.1.1.1.1.0.9.1.8.e164.arpa. (Pointer 0xC00C) |
TYPE | NAPTR (0x0023) | |
CLASS | IN (0x0001) | |
TTL | 86400sec | |
RDLENGTH | 45 | |
ORDER | 101 | |
PREFERENCE | 10 | |
FLAGS | U | |
SERVICES | E2U+sip | |
REGEXP | !^.*$!sip:info1@example.com!i | |
REPLACEMENT | . | |
DNS Answer section | NAME | 1.0.0.0.1.1.1.1.0.9.1.8.e164.arpa. (Pointer 0xC00C) |
TYPE | NAPTR (0x0023) | |
CLASS | IN (0x0001) | |
TTL | 86400sec | |
RDLENGTH | 45 | |
ORDER | 100 | |
PREFERENCE | 10 | |
FLAGS | U | |
SERVICES | E2U+sip | |
REGEXP | !^.*$!sip:info2@example.com!i | |
REPLACEMENT | . | |
DNS Authority section | NAME | 1.1.1.1.0.9.1.8.e164.arpa. (Pointer 0xC014) |
TYPE | NS (0x0002) | |
CLASS | IN (0x0001) | |
TTL | 86400sec | |
RDLENGTH | 17 | |
NSDNAME | NS1.example.com | |
DNS Additional section | NAME | NS1.example.com (Pointer 0xC0B1) |
TYPE | A (0x0001) | |
CLASS | IN (0x0001) | |
TTL | 86400sec | |
RDLENGTH | 4 | |
ADDRESS | 192.168.1.20 | |
DNS Additional section | NAME | NS1.example.com (Pointer 0xC0B1) |
TYPE |
AAAA (0x001C) | |
CLASS | IN (0x0001) | |
TTL | 86400sec | |
RDLENGTH | 16 | |
ADDRESS | 3ffe:501:ffff:101::20 |
|
||
IP Header | Source Address | NUT_NETZ |
Destination Address | SV1_NETY | |
UDP Header | Src Port | ANY |
Dst Port | 5060 | SIP message | Request-Line | INVITE sip:info2@example.com SIP/2.0 |
message-header | ANY | |
message-body | ANY |
NUT_NETZ | DNS Client1's (NUT) Net-z address |
SV1_NETY | DNS Server1's (TN) Net-y address |
3. Received the domain-name included in NAPTR RR of ORDER=100.
If NUT has cache function, clear the cache.
RFC3403 Dynamic Delegation Discovery System (DDDS) Part Three: The Domain Name System (DNS) Database 4. NAPTR RR Format 6. Example 8. Notes RFC3761 The E.164 to Uniform Resource Identifiers (URI) Dynamic Delegation Discovery System (DDDS) Application (ENUM)