1; config options 2server: 3 target-fetch-policy: "0 0 0 0 0" 4 prefetch: "yes" 5 minimal-responses: no 6 7stub-zone: 8 name: "." 9 stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET. 10CONFIG_END 11 12SCENARIO_BEGIN Test resolver prefetch and a moved domain 2. 13; for slightly different query pattern. 14 15; K.ROOT-SERVERS.NET. 16RANGE_BEGIN 0 500 17 ADDRESS 193.0.14.129 18ENTRY_BEGIN 19MATCH opcode qtype qname 20ADJUST copy_id 21REPLY QR NOERROR 22SECTION QUESTION 23. IN NS 24SECTION ANSWER 25. IN NS K.ROOT-SERVERS.NET. 26SECTION ADDITIONAL 27K.ROOT-SERVERS.NET. IN A 193.0.14.129 28ENTRY_END 29 30ENTRY_BEGIN 31MATCH opcode subdomain 32ADJUST copy_id copy_query 33REPLY QR NOERROR 34SECTION QUESTION 35com. IN A 36SECTION AUTHORITY 37com. IN NS a.gtld-servers.net. 38SECTION ADDITIONAL 39a.gtld-servers.net. IN A 192.5.6.30 40ENTRY_END 41RANGE_END 42 43; a.gtld-servers.net. (before sale of domain) 44RANGE_BEGIN 0 30 45 ADDRESS 192.5.6.30 46ENTRY_BEGIN 47MATCH opcode qtype qname 48ADJUST copy_id 49REPLY QR NOERROR 50SECTION QUESTION 51com. IN NS 52SECTION ANSWER 53com. IN NS a.gtld-servers.net. 54SECTION ADDITIONAL 55a.gtld-servers.net. IN A 192.5.6.30 56ENTRY_END 57 58ENTRY_BEGIN 59MATCH opcode subdomain 60ADJUST copy_id copy_query 61REPLY QR NOERROR 62SECTION QUESTION 63example.com. IN A 64SECTION AUTHORITY 65example.com. 86400 IN NS old-ns.example.com. 66SECTION ADDITIONAL 67old-ns.example.com. 86400 IN A 192.168.0.1 68ENTRY_END 69RANGE_END 70 71; a.gtld-servers.net. (after sale of domain) 72RANGE_BEGIN 40 500 73 ADDRESS 192.5.6.30 74ENTRY_BEGIN 75MATCH opcode qtype qname 76ADJUST copy_id 77REPLY QR NOERROR 78SECTION QUESTION 79com. IN NS 80SECTION ANSWER 81com. IN NS a.gtld-servers.net. 82SECTION ADDITIONAL 83a.gtld-servers.net. IN A 192.5.6.30 84ENTRY_END 85 86ENTRY_BEGIN 87MATCH opcode subdomain 88ADJUST copy_id copy_query 89REPLY QR NOERROR 90SECTION QUESTION 91example.com. IN A 92SECTION AUTHORITY 93example.com. 86400 IN NS new-ns.example.com. 94SECTION ADDITIONAL 95new-ns.example.com. 86400 IN A 172.16.0.1 96ENTRY_END 97RANGE_END 98 99; ns.example.com. first owner 100RANGE_BEGIN 0 500 101 ADDRESS 192.168.0.1 102ENTRY_BEGIN 103MATCH opcode qtype qname 104ADJUST copy_id 105REPLY QR AA NOERROR 106SECTION QUESTION 107example.com. IN NS 108SECTION ANSWER 109example.com. 300 IN NS old-ns.example.com. 110SECTION ADDITIONAL 111old-ns.example.com. 300 IN A 192.168.0.1 112ENTRY_END 113 114ENTRY_BEGIN 115MATCH opcode qtype qname 116ADJUST copy_id 117REPLY QR AA NOERROR 118SECTION QUESTION 119www.example.com. IN A 120SECTION ANSWER 121www.example.com. 300 IN A 10.1.1.1 122SECTION AUTHORITY 123example.com. 300 IN NS old-ns.example.com. 124SECTION ADDITIONAL 125old-ns.example.com. 300 IN A 192.168.0.1 126ENTRY_END 127RANGE_END 128 129; ns.example.com. new owner 130RANGE_BEGIN 0 500 131 ADDRESS 172.16.0.1 132ENTRY_BEGIN 133MATCH opcode qtype qname 134ADJUST copy_id 135REPLY QR AA NOERROR 136SECTION QUESTION 137example.com. IN NS 138SECTION ANSWER 139example.com. 86400 IN NS new-ns.example.com. 140SECTION ADDITIONAL 141new-ns.example.com. 86400 IN A 172.16.0.1 142ENTRY_END 143 144ENTRY_BEGIN 145MATCH opcode qtype qname 146ADJUST copy_id 147REPLY QR AA NOERROR 148SECTION QUESTION 149old-ns.example.com. IN A 150SECTION ANSWER 151old-ns.example.com. 86400 IN A 172.16.0.1 152SECTION AUTHORITY 153example.com. 86400 IN NS new-ns.example.com. 154SECTION ADDITIONAL 155new-ns.example.com. 86400 IN A 172.16.0.1 156ENTRY_END 157 158ENTRY_BEGIN 159MATCH opcode qtype qname 160ADJUST copy_id 161REPLY QR AA NOERROR 162SECTION QUESTION 163www.example.com. IN A 164SECTION ANSWER 165www.example.com. 86400 IN A 10.2.2.2 166SECTION AUTHORITY 167example.com. 86400 IN NS new-ns.example.com. 168SECTION ADDITIONAL 169new-ns.example.com. 86400 IN A 172.16.0.1 170ENTRY_END 171RANGE_END 172 173STEP 1 QUERY 174ENTRY_BEGIN 175REPLY RD 176SECTION QUESTION 177www.example.com. IN A 178ENTRY_END 179; recursion happens here. 180STEP 10 CHECK_ANSWER 181ENTRY_BEGIN 182MATCH all ttl 183REPLY QR RD RA NOERROR 184SECTION QUESTION 185www.example.com. IN A 186SECTION ANSWER 187www.example.com. 300 IN A 10.1.1.1 188SECTION AUTHORITY 189example.com. 300 IN NS old-ns.example.com. 190SECTION ADDITIONAL 191old-ns.example.com. 300 IN A 192.168.0.1 192ENTRY_END 193 194; after 40 secs still the cached answer 195STEP 20 TIME_PASSES ELAPSE 40 196 197STEP 30 QUERY 198ENTRY_BEGIN 199REPLY RD 200SECTION QUESTION 201www.example.com. IN A 202ENTRY_END 203; recursion happens here. 204STEP 40 CHECK_ANSWER 205ENTRY_BEGIN 206MATCH all ttl 207REPLY QR RD RA NOERROR 208SECTION QUESTION 209www.example.com. IN A 210SECTION ANSWER 211www.example.com. 260 IN A 10.1.1.1 212SECTION AUTHORITY 213example.com. 260 IN NS old-ns.example.com. 214SECTION ADDITIONAL 215old-ns.example.com. 260 IN A 192.168.0.1 216ENTRY_END 217 218; after 230 we are 30 seconds before expiry, prefetch happens. 219STEP 50 TIME_PASSES ELAPSE 230 220 221STEP 60 QUERY 222ENTRY_BEGIN 223REPLY RD 224SECTION QUESTION 225www.example.com. IN A 226ENTRY_END 227; recursion happens here. 228STEP 70 CHECK_ANSWER 229ENTRY_BEGIN 230MATCH all ttl 231REPLY QR RD RA NOERROR 232SECTION QUESTION 233www.example.com. IN A 234SECTION ANSWER 235www.example.com. 30 IN A 10.1.1.1 236SECTION AUTHORITY 237example.com. 30 IN NS old-ns.example.com. 238SECTION ADDITIONAL 239old-ns.example.com. 30 IN A 192.168.0.1 240ENTRY_END 241 242STEP 80 TRAFFIC 243; let traffic flow for prefetch to happen 244 245; we updated from the old-ns. 246STEP 90 QUERY 247ENTRY_BEGIN 248REPLY RD 249SECTION QUESTION 250www.example.com. IN A 251ENTRY_END 252; recursion happens here. 253STEP 100 CHECK_ANSWER 254ENTRY_BEGIN 255MATCH all ttl 256REPLY QR RD RA NOERROR 257SECTION QUESTION 258www.example.com. IN A 259SECTION ANSWER 260www.example.com. 86400 IN A 10.2.2.2 261SECTION AUTHORITY 262example.com. 86400 IN NS new-ns.example.com. 263SECTION ADDITIONAL 264new-ns.example.com. 86400 IN A 172.16.0.1 265ENTRY_END 266 267; the NS record times out after 31 seconds. 268STEP 160 TIME_PASSES ELAPSE 31 269 270; fetch it 271STEP 170 QUERY 272ENTRY_BEGIN 273REPLY RD 274SECTION QUESTION 275www.example.com. IN A 276ENTRY_END 277; recursion happens here. 278STEP 180 CHECK_ANSWER 279ENTRY_BEGIN 280MATCH all ttl 281REPLY QR RD RA NOERROR 282SECTION QUESTION 283www.example.com. IN A 284SECTION ANSWER 285www.example.com. 86369 IN A 10.2.2.2 286SECTION AUTHORITY 287example.com. 86369 IN NS new-ns.example.com. 288SECTION ADDITIONAL 289new-ns.example.com. 86369 IN A 172.16.0.1 290ENTRY_END 291 292; a reply from cache 293STEP 190 QUERY 294ENTRY_BEGIN 295REPLY RD 296SECTION QUESTION 297www.example.com. IN A 298ENTRY_END 299; recursion happens here. 300STEP 200 CHECK_ANSWER 301ENTRY_BEGIN 302MATCH all ttl 303REPLY QR RD RA NOERROR 304SECTION QUESTION 305www.example.com. IN A 306SECTION ANSWER 307www.example.com. 86369 IN A 10.2.2.2 308SECTION AUTHORITY 309example.com. 86369 IN NS new-ns.example.com. 310SECTION ADDITIONAL 311new-ns.example.com. 86369 IN A 172.16.0.1 312ENTRY_END 313 314SCENARIO_END 315