This archive is retained to ensure existing URLs remain functional. It will not contain any emails sent to this mailing list after July 1, 2024. For all messages, including those sent before and after this date, please visit the new location of the archive at https://mailman.ripe.net/archives/list/ripe-atlas@ripe.net/
[atlas] Atlas Sagan library and UDP tarceroute results: bug or feature?
- Previous message (by thread): [atlas] Data Streaming in RIPE Atlas
Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Jen Linkova
furry13 at gmail.com
Fri Oct 31 15:15:04 CET 2014
Hello, I've just found that using Sagan library for analyzing UDP traceroute measurement results may produce incorrect results: 'target_responded' variable is not be set to 'True' if the source address of the traceroute reply is not the target address of the traceroute, but any other address that belongs to the node. (From the traceroute.py code: def target_responded(self): if self._target_responded is not None: return self._target_responded self._target_responded = False if self.hops and self.hops[-1].packets: destination_address = IP(self.destination_address) for packet in self.hops[-1].packets: if packet.origin and destination_address == IP(packet.origin): self._target_responded = True return self.target_responded ) I don't think that's a valid assumption that a target node is *always* choosing the probe packet's destination address as a reply source. In particular, in case of UDP packets addressed to anycast, it might fail because the node can reply from another address. In particular, rfc4443 (ICMP for IPv6) says: 2.2. Message Source Address Determination A node that originates an ICMPv6 message has to determine both the Source and Destination IPv6 Addresses in the IPv6 header before calculating the checksum. If the node has more than one unicast address, it MUST choose the Source Address of the message as follows: (a) If the message is a response to a message sent to one of the node's unicast addresses, the Source Address of the reply MUST be that same address. (b) If the message is a response to a message sent to any other address, such as - a multicast group address, - an anycast address implemented by the node, or - a unicast address that does not belong to the node the Source Address of the ICMPv6 packet MUST be a unicast address belonging to the node. == and in the same RFC source address selection for ICMP echo reply messages is defined: The source address of an Echo Reply sent in response to a unicast Echo Request message MUST be the same as the destination address of that Echo Request message. An Echo Reply SHOULD be sent in response to an Echo Request message sent to an IPv6 multicast or anycast address. In this case, the source address of the reply MUST be a unicast address belonging to the interface on which the Echo Request message was received. ==== So, I'm sending this email, first, to warn those of you who is using Sagan to analyze UDP traceroute results, and, secondly, to discuss, if Sagan behavior is a bug (I believe it is) or a feature ;) -- SY, Jen Linkova aka Furry
- Previous message (by thread): [atlas] Data Streaming in RIPE Atlas
Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]