SV_RFC2782_SRV_type - Resource record SRV type
Verify that a NUT transmits correct message including SRV type in the QTYPE field.
- Query type SRV.
- Header section field has the following value.
- QR : 0
- QDCOUNT : 1
- ANCOUNT : 0
- NSCOUNT : 0
- ARCOUNT : ANY
- Question section format
1 1 1 1 1 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| |
/ QNAME /
/ /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| QTYPE |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| QCLASS |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- QNAME : A.example.org
- QTYPE : SRV (0x0021)
- QCLASS : IN (0x0001)
Caching Server
SV_RFC2782_SRV_type.seq [-tooloption ...]: KOI tool option
See also DNSConfig.pm
This test sequence is following.
<--------- TN ------------>
DNS Client1 (TN) DNS Server1 (NUT) DNS Server2 DNS Server3 DNS Server4
| | | | |
|----------------------------->| | | |
| 1. Send standard query | | | |
| QNAME=_http._tcp.example.org. | | |
| QTYPE=SRV | | | |
| | | | |
| |-------------------------------->| | |
| | 2. Send standard query | | |
| | QNAME=_http._tcp.example.org. | | |
| | QTYPE=SRV | | |
| | | | |
| |<--------------------------------| | |
| | 3. Send standard response | | |
| | QNAME=_http._tcp.example.org. | | |
| | QTYPE=SRV | | |
| | AUTHORITY Name=org. | | |
| | AUTHORITY Name Server | | |
| | =NS3.example.org. | | |
| | ADDITIONAL Name=NS3.example.org. | |
| | ADDITIONAL Address=192.168.1.30| | |
| | | | |
| | v | |
| | | |
| |-------------------------------------------->| |
| | 4. Send standard query | |
| | QNAME=_http._tcp.example.org. | |
| | QTYPE=SRV | |
| | | |
| |<--------------------------------------------| |
| | 5. Send standard response | |
| | QNAME=_http._tcp.example.org. | |
| | QTYPE=SRV | |
| | AUTHORITY Name=example.org. | |
| | AUTHORITY Name Server | |
| | = NS4.example.org. | |
| | ADDITIONAL Name | |
| | = NS4.example.org. | |
| | ADDITIONAL Address | |
| | = 192.168.1.40 | |
| | | |
| | v |
| | |
| |-------------------------------------------------------->|
| | 6. Send standard query |
| | QNAME=_http._tcp.example.org. |
| | QTYPE=SRV |
| | |
| |<--------------------------------------------------------|
| | 7. Send standard response |
| | QNAME=_http._tcp.example.org. |
| | QTYPE=SRV |
| | ANSWER |
| | Priority = 10 |
| | Weight = 20 |
| | Port = 80 |
| | Target = A.example.org. |
| | AUTHORITY Name=example.org. |
| | AUTHORITY Name Server |
| | = NS4.example.org. |
| | ADDITIONAL Name |
| | = A.example.org. |
| | ADDITIONAL Address |
| | = 192.168.1.10 |
| | ADDITIONAL Name |
| | = NS4.example.org. |
| | ADDITIONAL Address |
| | = 192.168.1.40 |
|<-----------------------------| |
| 8. Standard query response | v
| QNAME=_http._tcp.example.org.
| QTYPE=SRV |
| ANSWER |
| Priority = 10 |
| Weight = 20 |
| Port = 80 |
| Target = A.example.org. |
| AUTHORITY Name=example.org. |
| AUTHORITY Name Server |
| = NS4.example.org. |
| ADDITIONAL Name |
| = A.example.org. |
| ADDITIONAL Address |
| = 192.168.1.10 |
| ADDITIONAL Name |
| = NS4.example.org. |
| ADDITIONAL Address |
| = 192.168.1.40 |
v v
1. TN send standard query QNAME=_http._tcp.example.org., QTYPE=SRV to NUT.
2. NUT transmits standard query to DNS Server2 (TN: root name server) (Judgment *2)
3. TN send query response to NUT w/ AUTHORITY Name=org., AUTHORITY Name Server=NS3.example.org.
4. NUT transmits standard query QNAME=_http._tcp.example.org., QTYPE=SRV DNS Server3 (TN: NS3.example.org.) (Judgment *4)
5. TN send query response to NUT w/ AUTHORITY Name=example.org., AUTHORITY Name Server=NS4.example.org.
6. NUT transmits standard query QNAME=_http._tcp.example.org., QTYPE=SRV DNS Server4 (TN: NS4.example.org.) (Judgment *6)
7. TN send query response to ANSWER Target = A.example.org. to NUT.
8. NUT transmits query response to DNS Client1 (TN) (Judgment *8)
- Packet Description
- 1st packet.
|
Standard query from DNS Client1 (TN) to Server1 (NUT)
|
| IP Header |
Source Address |
CL1_NETZ |
| Destination Address |
NUT_NETZ |
| UDP Header |
Src Port |
2000 |
| Dst Port |
53 |
| DNS Header |
ID |
0x1000 |
| QR |
0 |
| OPCODE |
0 |
| AA |
0 |
| TC |
0 |
| RD |
1 |
| RA |
0 |
| Z |
0 |
| RCODE |
0 |
| QDCOUNT |
1 |
| ANCOUNT |
0 |
| NSCOUNT |
0 |
| ARCOUNT |
0 |
| DNS Question section |
QNAME |
_http._tcp.example.org. |
| QTYPE |
SRV (0x0021) |
| QCLASS |
IN (0x0001) |
- 2nd packet.
|
Standard query from DNS Server1 (NUT) to Server2 (TN)
|
| IP Header |
Source Address |
NUT_NETZ |
| Destination Address |
SV2_NETY |
| UDP Header |
Src Port |
ANY |
| Dst Port |
53 |
| DNS Header |
ID |
ANY |
| QR |
0 |
| OPCODE |
0 |
| AA |
ANY |
| TC |
0 |
| RD |
0 |
| RA |
0 |
| Z |
0 |
| AD |
0 |
| CD |
1 |
| RCODE |
0 |
| QDCOUNT |
1 |
| ANCOUNT |
0 |
| NSCOUNT |
0 |
| ARCOUNT |
ANY |
| DNS Question section |
QNAME |
_http._tcp.example.org. |
| QTYPE |
SRV (0x0021) |
| QCLASS |
IN (0x0001) |
- 3rd packet.
|
Standard query response from DNS Server2 (TN) to Server1 (NUT)
|
| IP Header |
Source Address |
SV2_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 |
0 |
| TC |
0 |
| RD |
0 |
| RA |
0 |
| Z |
0 |
| RCODE |
0 |
| QDCOUNT |
1 |
| ANCOUNT |
0 |
| NSCOUNT |
1 |
| ARCOUNT |
1 |
| DNS Question section |
QNAME |
_http._tcp.example.org. |
| QTYPE |
SRV (0x0021) |
| QCLASS |
IN (0x0001) |
| DNS Authority section |
NAME |
org. (Pointer 0xC01F) |
| TYPE |
NS (0x0002) |
| CLASS |
IN (0x0001) |
| TTL |
1 day (86400) |
| RDLENGTH |
17 |
| NSDNAME |
NS3.example.org. |
| DNS Additional section |
NAME |
NS3.example.org. (Pointer 0xC034) |
TYPE
|
A (0x0001) |
| CLASS |
IN (0x0001) |
| TTL |
1 day (86400) |
| RDLENGTH |
4 |
| ADDRESS |
192.168.1.30 |
- 4th packet.
|
Standard query from DNS Server1 (NUT) to Server3 (TN)
|
| IP Header |
Source Address |
NUT_NETZ |
| Destination Address |
SV3_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 |
| AD |
0 |
| CD |
1 |
| RCODE |
0 |
| QDCOUNT |
1 |
| ANCOUNT |
0 |
| NSCOUNT |
0 |
| ARCOUNT |
ANY |
| DNS Question section |
QNAME |
_http._tcp.example.org. |
| QTYPE |
SRV (0x0021) |
| QCLASS |
IN (0x0001) |
- 5th packet.
|
Standard query response from DNS Server3 (TN) to Server1 (NUT)
|
| IP Header |
Source Address |
SV3_NETY |
| Destination Address |
NUT_NETZ |
| UDP Header |
Src Port |
Value that NUT uses |
| Dst Port |
53 |
| DNS Header |
ID |
Value that NUT uses |
| QR |
1 |
| OPCODE |
0 |
| AA |
0 |
| TC |
0 |
| RD |
0 |
| RA |
0 |
| Z |
0 |
| RCODE |
0 |
| QDCOUNT |
1 |
| ANCOUNT |
0 |
| NSCOUNT |
1 |
| ARCOUNT |
1 |
| DNS Question section |
QNAME |
_http._tcp.example.org. |
| QTYPE |
SRV (0x0021) |
| QCLASS |
IN (0x0001) |
| DNS Authority section |
NAME |
example.org. (Pointer 0xC017) |
| TYPE |
NS (0x0002) |
| CLASS |
IN (0x0001) |
| TTL |
1 day (86400) |
| RDLENGTH |
6 |
| NSDNAME |
NS4.example.org. |
| DNS Additional section |
NAME |
NS4.example.org. (Pointer 0xC034) |
TYPE
|
A (0x0001) |
| CLASS |
IN (0x0001) |
| TTL |
1 day (86400) |
| RDLENGTH |
4 |
| ADDRESS |
192.168.1.40 |
- 6th packet.
|
Standard query from DNS Server1 (NUT) to Server4 (TN)
|
| IP Header |
Source Address |
NUT_NETZ |
| Destination Address |
SV4_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 |
| AD |
0 |
| CD |
1 |
| RCODE |
0 |
| QDCOUNT |
1 |
| ANCOUNT |
0 |
| NSCOUNT |
0 |
| ARCOUNT |
ANY |
| DNS Question section |
QNAME |
_http._tcp.example.org. |
| QTYPE |
SRV (0x0021) |
| QCLASS |
IN (0x0001) |
- 7th packet.
|
Standard query response from DNS Server4 (TN) to Server1 (NUT)
|
| IP Header |
Source Address |
SV4_NETY |
| Destination Address |
NUT_NETZ |
| UDP Header |
Src Port |
Value that NUT uses |
| Dst Port |
53 |
| DNS Header |
ID |
Value that NUT uses |
| QR |
1 |
| OPCODE |
0 |
| AA |
1 |
| TC |
0 |
| RD |
0 |
| RA |
1 |
| Z |
0 |
| RCODE |
0 |
| QDCOUNT |
1 |
| ANCOUNT |
1 |
| NSCOUNT |
1 |
| ARCOUNT |
2 |
| DNS Question section |
QNAME |
_http._tcp.example.org. |
| QTYPE |
SRV (0x0021) |
| QCLASS |
IN (0x0001) |
| DNS Answer section |
NAME |
_http._tcp.example.org. (Pointer 0xC00C) |
| TYPE |
SRV (0x0021) |
| CLASS |
IN (0x0001) |
| TTL |
1 day (86400) |
| RDLENGTH |
21 |
| Priority |
10 |
| Weight |
20 |
| Port |
80 |
| Target |
A.example.org. |
| DNS Authority section |
NAME |
example.org. (Pointer 0xC03C) |
| TYPE |
NS (0x0002) |
| CLASS |
IN (0x0001) |
| TTL |
1 day (86400) |
| RDLENGTH |
6 |
| NSDNAME |
NS4.example.org. (NS4 + Pointer 0xC03C) |
| DNS Additional section |
NAME |
A.example.org. (Pointer 0xC03A) |
TYPE
|
A (0x0001) |
| CLASS |
IN (0x0001) |
| TTL |
1 day (86400) |
| RDLENGTH |
4 |
| ADDRESS |
192.168.1.10 |
| DNS Additional section |
NAME |
NS4.example.org (Pointer 0xC055) |
TYPE
|
A (0x0001) |
| CLASS |
IN (0x0001) |
| TTL |
1 day (86400) |
| RDLENGTH |
4 |
| ADDRESS |
192.168.1.40 |
- 8th packet.
|
Standard query response from DNS Server1 (NUT) to Client1 (TN)
|
| IP Header |
Source Address |
NUT_NETZ |
| Destination Address |
CL1_NETZ |
| UDP Header |
Src Port |
53 |
| Dst Port |
2000 |
| DNS Header |
ID |
0x1000 |
| QR |
1 |
| OPCODE |
0 |
| AA |
0 |
| TC |
0 |
| RD |
1 |
| RA |
1 |
| Z |
0 |
| RCODE |
0 |
| QDCOUNT |
1 |
| ANCOUNT |
1 |
| NSCOUNT |
1 |
| ARCOUNT |
2 |
| DNS Question section |
QNAME |
_http._tcp.example.org. |
| QTYPE |
SRV (0x0021) |
| QCLASS |
IN (0x0001) |
| DNS Answer section |
NAME |
_http._tcp.example.org. (Pointer 0xC00C) |
| TYPE |
SRV (0x0021) |
| CLASS |
IN (0x0001) |
| TTL |
1 day (86400) |
| RDLENGTH |
21 |
| Priority |
10 |
| Weight |
20 |
| Port |
80 |
| Target |
A.example.org. |
| DNS Authority section |
NAME |
example.org (Pointer 0xC03C) |
| TYPE |
NS (0x0002) |
| CLASS |
IN (0x0001) |
| TTL |
1 day (86400) |
| RDLENGTH |
6 |
| NSDNAME |
NS4.example.org (NS4 + Pointer 0xC03C) |
| DNS Additional section |
NAME |
A.example.org. (Pointer 0xC03A) |
TYPE
|
A (0x0001) |
| CLASS |
IN (0x0001) |
| TTL |
1 day (86400) |
| RDLENGTH |
4 |
| ADDRESS |
192.168.1.10 |
| DNS Additional section |
NAME |
NS4.example.org (Pointer 0xC055) |
TYPE
|
A (0x0001) |
| CLASS |
IN (0x0001) |
| TTL |
1 day (86400) |
| RDLENGTH |
4 |
| ADDRESS |
192.168.1.40 |
- Exp.
| NUT_NETZ |
DNS Server1's (NUT) Net-z address |
| CL1_NETZ |
DNS Client1's (TN) Net-z address |
| SV2_NETY |
DNS Server2's (TN) Net-y address |
| SV3_NETY |
DNS Server3's (TN) Net-y address |
| SV4_NETY |
DNS Server4's (TN) Net-y address |
2. Received standard query including QNAME=_http._tcp.example.org., QTYPE=SRV.
4. Received standard query including QNAME=_http._tcp.example.org., QTYPE=SRV.
6. Received standard query including QNAME=_http._tcp.example.org., QTYPE=SRV.
8. Received standard query response including correct domain name in the Target field.
None
RFC1034 DOMAIN NAMES - CONCEPTS AND FACILITIES
3.6 Resource Records
RFC1035 DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION
3.2.1 Format
RFC2782 DNS SRV RR