API v1 had a field recursion_desired when performing DNS measurements. If I remember correctly (but I cannot find the reference right now), it worked only when querying a specific name server, and not when using the probe's own resolver, to avoid cache snooping. API v2 has instead a set_rd_bit. Documentation <https://atlas.ripe.net/docs/api/v2/reference/#!/measurements/Measurement_List_POST> does not indicate its default value. Anyway, my experience with the API is that the RD (Recursion Desired) bit is always set, whether with 'set_rd_bit': False or with 'set_rd_bit': True, and independant of use_probe_resolver. I can understand this choice for privacy reasons (RFC 7626, section 2.3). But, in that case, the documentation should be fixed. Anything I missed? (Here, a request by a probe, the + after the Query ID - here, 52379 - means the RD bit is set 12:22:23.170304 IP (tos 0x0, ttl 64, id 2287, offset 0, flags [DF], proto UDP (17), length 65) 192.168.2.8.45955 > 212.27.40.240.53: [udp sum ok] 52379+ AAAA? uucp.bortzmeyer.org. (37)
Hi Stephane, On 19/05/2017 14:35, Stephane Bortzmeyer wrote:
API v1 had a field recursion_desired when performing DNS measurements. If I remember correctly (but I cannot find the reference right now), it worked only when querying a specific name server, and not when using the probe's own resolver, to avoid cache snooping.
API v2 has instead a set_rd_bit. Documentation <https://atlas.ripe.net/docs/api/v2/reference/#!/measurements/Measurement_List_POST> does not indicate its default value.
You're right, the reference doesn't indicate a default value (we will fix that), but it should be "false", with the exception of when using the probe's own resolver as you mentioned above. This behaviour is still documented in the manual: https://atlas.ripe.net/docs/api/v2/manual/measurements/types/type_specific_a...
Anyway, my experience with the API is that the RD (Recursion Desired) bit is always set, whether with 'set_rd_bit': False or with 'set_rd_bit': True, and independant of use_probe_resolver.
I can understand this choice for privacy reasons (RFC 7626, section 2.3). But, in that case, the documentation should be fixed.
Anything I missed?
(Here, a request by a probe, the + after the Query ID - here, 52379 - means the RD bit is set
12:22:23.170304 IP (tos 0x0, ttl 64, id 2287, offset 0, flags [DF], proto UDP (17), length 65) 192.168.2.8.45955 > 212.27.40.240.53: [udp sum ok] 52379+ AAAA? uucp.bortzmeyer.org. (37)
It looks like this corresponds to measurement ID 8756383, which indeed has set_rd_bit set which is reflected in the answer found in the abuf. However, I notice that you also created a measurement #8756385 which does not have set_rd_bit to true in the metadata, nor is RD reflected in the results -- did you create this measurement in a different way? Regards, Chris Amin RIPE NCC
On Mon, May 22, 2017 at 02:15:54PM +0200, Chris Amin <camin@ripe.net> wrote a message of 89 lines which said:
This behaviour is still documented in the manual: https://atlas.ripe.net/docs/api/v2/manual/measurements/types/type_specific_a...
OK, I see, there was a problem in my tests, sorry. Indeed, if I set use_probe_resolver to false, *and* set_rd_bit to false, I get no recursion: 17:10:25.438994 IP (tos 0x0, ttl 64, id 16851, offset 0, flags [DF], proto UDP (17), length 79) 192.168.2.8.58886 > 80.67.169.12.53: [udp sum ok] 13066 A? hdsfdfsqgsqdfysq.bernardtapie.com. (51) (Measurement #8772374) If use_probe_resolver is true, I always have recursion enabled, set_rd_bit is indeed silently ignored. (Something that could be documented in <https://atlas.ripe.net/docs/api/v2/reference/#!/measurements/Measurement_List_GET>)
participants (2)
-
Chris Amin
-
Stephane Bortzmeyer