| | | | |S| | | | | | |H| |F | | | | |O|M|o | | |S| |U|U|o | | |H| |L|S|t | |M|O| |D|T|n | |U|U|M| | |o | |S|L|A|N|N|t | |T|D|Y|O|O|t FEATURE |SECTION | | | |T|T|e -----------------------------------------------|-----------|-|-|-|-|-|-- GENERAL ISSUES | | | | | | | | | | | | | | Implement DNS name-to-address conversion |6.1.1 |x| | | | | Implement DNS address-to-name conversion |6.1.1 |x| | | | | Support conversions using host table |6.1.1 | | |x| | | Properly handle RR with zero TTL |6.1.2.1 |x| | | | | Use QCLASS=* unnecessarily |6.1.2.2 | |x| | | | Use QCLASS=IN for Internet class |6.1.2.2 |x| | | | | Unused fields zero |6.1.2.3 |x| | | | | Use compression in responses |6.1.2.4 |x| | | | | | | | | | | | Include config info in responses |6.1.2.5 | | | | |x| Support all well-known, class-indep. types |6.1.3.5 |x| | | | | Easily expand type list |6.1.3.5 | |x| | | | Load all RR types (except MD and MF) |6.1.3.6 |x| | | | | Load MD or MF type |6.1.3.6 | | | | |x| Operate when root servers, etc. unavailable |6.1.3.7 |x| | | | | -----------------------------------------------|-----------|-|-|-|-|-|-- RESOLVER ISSUES: | | | | | | | | | | | | | | Resolver support multiple concurrent requests |6.1.3.1 | |x| | | | Full-service resolver: |6.1.3.1 | | |x| | | Local caching |6.1.3.1 |x| | | | | Information in local cache times out |6.1.3.1 |x| | | | | Configurable with starting info |6.1.3.1 | |x| | | | Stub resolver: |6.1.3.1 | | |x| | | Use redundant recursive name servers |6.1.3.1 |x| | | | | Local caching |6.1.3.1 | | |x| | | Information in local cache times out |6.1.3.1 |x| | | | | Support for remote multi-homed hosts: | | | | | | | Sort multiple addresses by preference list |6.1.3.4 | |x| | | | | | | | | | | -----------------------------------------------|-----------|-|-|-|-|-|-- TRANSPORT PROTOCOLS: | | | | | | | | | | | | | | Support UDP queries |6.1.3.2 |x| | | | | Support TCP queries |6.1.3.2 | |x| | | | Send query using UDP first |6.1.3.2 |x| | | | |1 Try TCP if UDP answers are truncated |6.1.3.2 | |x| | | | Name server limit TCP query resources |6.1.3.2 | | |x| | | Punish unnecessary TCP query |6.1.3.2 | | | |x| | Use truncated data as if it were not |6.1.3.2 | | | | |x| Private agreement to use only TCP |6.1.3.2 | | |x| | | Use TCP for zone transfers |6.1.3.2 |x| | | | | TCP usage not block UDP queries |6.1.3.2 |x| | | | | Support broadcast or multicast queries |6.1.3.2 | | |x| | | RD bit set in query |6.1.3.2 | | | | |x| RD bit ignored by server is b'cast/m'cast |6.1.3.2 |x| | | | | Send only as occasional probe for addr's |6.1.3.2 | |x| | | | -----------------------------------------------|-----------|-|-|-|-|-|-- RESOURCE USAGE: | | | | | | | | | | | | | | Transmission controls, per [DNS:2] |6.1.3.3 |x| | | | | Finite bounds per request |6.1.3.3 |x| | | | | Failure after retries => soft error |6.1.3.3 |x| | | | | Cache temporary failures |6.1.3.3 | |x| | | | Cache negative responses |6.1.3.3 | |x| | | | Retries use exponential backoff |6.1.3.3 | |x| | | | Upper, lower bounds |6.1.3.3 | |x| | | | Client handle Source Quench |6.1.3.3 | |x| | | | Server ignore Source Quench |6.1.3.3 | | |x| | | -----------------------------------------------|-----------|-|-|-|-|-|-- USER INTERFACE: | | | | | | | | | | | | | | All programs have access to DNS interface |6.1.4.2 |x| | | | | Able to request all info for given name |6.1.4.2 |x| | | | | Returns complete info or error |6.1.4.2 |x| | | | | Special interfaces |6.1.4.2 | | |x| | | Name<->Address translation |6.1.4.2 |x| | | | | | | | | | | | Abbreviation Facilities: |6.1.4.3 | | |x| | | Convention for complete names |6.1.4.3 |x| | | | | Conversion exactly once |6.1.4.3 |x| | | | | Conversion in proper context |6.1.4.3 |x| | | | | Search list: |6.1.4.3 | | |x| | | Administrator can disable |6.1.4.3 | |x| | | | Prevention of excessive root queries |6.1.4.3 |x| | | | | Both methods |6.1.4.3 | |x| | | | -----------------------------------------------|-----------|-|-|-|-|-|-- -----------------------------------------------|-----------|-|-|-|-|-|-- 1. Unless there is private agreement between particular resolver and particular server.