<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Thank you for the code link, very useful!</p>
    <p>I think this answers my question, and it's also as Jen described.</p>
    <p>For reference, the traceroute bit I was trying to decypher is
      below...it looks like the router at hop 3 replies to the
      traceroute packet, but at the same time forwards it to the next
      router along the path, which also replies (the duplicates in hop
      3's response have the source address of hop 4) - i guess this
      behaviour is very similar to the 'loops' described in the Paris
      traceroute paper
      (<a class="moz-txt-link-freetext" href="https://dl.acm.org/doi/pdf/10.1145/1177080.1177100">https://dl.acm.org/doi/pdf/10.1145/1177080.1177100</a>): </p>
    <p>{   'hop': 3,<br>
                            'result': [   {   'from':
      '2a02:2858:500:8::1',<br>
                                              'rtt': 0.78,<br>
                                              'size': 96,<br>
                                              'ttl': 63},<br>
                                          {   'dup': True,<br>
                                              'from':
      '2a02:2858:500:3305::2',<br>
                                              'rtt': 4.366,<br>
                                              'size': 96,<br>
                                              'ttl': 62},<br>
                                          {   'from':
      '2a02:2858:500:8::1',<br>
                                              'rtt': 0.786,<br>
                                              'size': 96,<br>
                                              'ttl': 63},<br>
                                          {   'dup': True,<br>
                                              'from':
      '2a02:2858:500:3305::2',<br>
                                              'rtt': 4.347,<br>
                                              'size': 96,<br>
                                              'ttl': 62},<br>
                                          {   'from':
      '2a02:2858:500:8::1',<br>
                                              'rtt': 0.76,<br>
                                              'size': 96,<br>
                                              'ttl': 63},<br>
                                          {   'dup': True,<br>
                                              'from':
      '2a02:2858:500:3305::2',<br>
                                              'rtt': 4.351,<br>
                                              'size': 96,<br>
                                              'ttl': 62}]},<br>
                        {   'hop': 4,<br>
                            'result': [   {   'from':
      '2a02:2858:500:3305::2',<br>
                                              'rtt': 4.826,<br>
                                              'size': 96,<br>
                                              'ttl': 62},<br>
                                          {   'from':
      '2a02:2858:500:3305::2',<br>
                                              'rtt': 5.127,<br>
                                              'size': 96,<br>
                                              'ttl': 62},<br>
                                          {   'from':
      '2a02:2858:500:3305::2',<br>
                                              'rtt': 4.895,<br>
                                              'size': 96,<br>
                                              'ttl': 62}]},<br>
    </p>
    <p><br>
    </p>
    <p>Thank everyone for the responses!<br>
    </p>
    <p>Ana<br>
    </p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 20/01/2023 10:47, Michel Stam wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:13FA5CB0-BBD6-4425-B775-D314DACFB091@ripe.net">Hello
      Ana,
      <div><br>
      </div>
      <div>I took a very quick look in the traceroute code, see here:</div>
      <div>
        <div>
          <div class="apple-rich-link" draggable="true" role="link"
data-url="https://github.com/RIPE-NCC/ripe-atlas-probe-measurements/blob/7c03fba082e93b7a1f0f14cc3769bb31e83909e3/eperd/traceroute.c"><a
              class="lp-rich-link" rel="nofollow"
href="https://github.com/RIPE-NCC/ripe-atlas-probe-measurements/blob/7c03fba082e93b7a1f0f14cc3769bb31e83909e3/eperd/traceroute.c"
              dir="ltr" role="button" draggable="false" width="300"
              moz-do-not-send="true">
              <table class="lp-rich-link-emailBaseTable" width="300">
                <tbody>
                  <tr>
                    <td><img draggable="false"
                        class="lp-rich-link-mediaImage"
                        alt="ripe-atlas-probe-measurements.png"
                        src="cid:part1.S7kdUYOx.RoiZsw3Q@erg.abdn.ac.uk"
                        width="300" height="150"></td>
                  </tr>
                  <tr>
                    <td>
                      <table class="lp-rich-link-captionBar" width="300">
                        <tbody>
                          <tr>
                            <td
                              class="lp-rich-link-captionBar-textStackItem">
                              <div
                                class="lp-rich-link-captionBar-textStack">
                                <div
                                  class="lp-rich-link-captionBar-textStack-topCaption-leading"><a
                                    rel="nofollow"
href="https://github.com/RIPE-NCC/ripe-atlas-probe-measurements/blob/7c03fba082e93b7a1f0f14cc3769bb31e83909e3/eperd/traceroute.c"
                                    draggable="false"
                                    moz-do-not-send="true">ripe-atlas-probe-measurements/traceroute.c
                                    at
                                    7c03fba082e93b7a1f0f14cc3769bb31e83909e3
                                    ·
                                    RIPE-NCC/ripe-atlas-probe-measurements</a></div>
                                <div
                                  class="lp-rich-link-captionBar-textStack-bottomCaption-leading"><a
                                    rel="nofollow"
href="https://github.com/RIPE-NCC/ripe-atlas-probe-measurements/blob/7c03fba082e93b7a1f0f14cc3769bb31e83909e3/eperd/traceroute.c"
                                    draggable="false"
                                    moz-do-not-send="true">github.com</a></div>
                              </div>
                            </td>
                          </tr>
                        </tbody>
                      </table>
                    </td>
                  </tr>
                </tbody>
              </table>
            </a></div>
        </div>
      </div>
      <div><br>
      </div>
      <div>It seems that a sequence number in the traceroute packet is
        used. If this sequence number is received back it’s marked as
        ‘response received’. If another response is received within a
        certain timeframe, it’s tagged as a duplicate. Otherwise its a
        late packet.</div>
      <div><br>
      </div>
      <div>Hope it helps.</div>
      <div><br>
      </div>
      <div>Cheers,</div>
      <div><br>
      </div>
      <div>Michel</div>
      <div>
        <div><br>
          <blockquote type="cite">
            <div>On 20 Jan 2023, at 11:38, Ana Custura
              <a class="moz-txt-link-rfc2396E" href="mailto:ana@erg.abdn.ac.uk"><ana@erg.abdn.ac.uk></a> wrote:</div>
            <br class="Apple-interchange-newline">
            <div>
              <div>Hi everyone,<br>
                <br>
                Just a question on how Atlas detects duplicate ('dup')
                packets in a traceroute.<br>
                <br>
                Is the 'dup' field added to a result when two received
                packets are exactly the same, regardless of whether they
                were received for a different initial TTL? <br>
                <br>
                Or are any packets that were unexpectedly received for a
                specific TTL marked as duplicates (e.g. if you receive 6
                replies from 2 different IP addresses to the 3 initial
                packets sent with TTL 1, will 3 of these replies be
                marked as duplicates)?<br>
                <br>
                Thanks for your help!<br>
                <br>
                Regards,<br>
                Ana<br>
                -- <br>
                ripe-atlas mailing list<br>
                <a class="moz-txt-link-abbreviated" href="mailto:ripe-atlas@ripe.net">ripe-atlas@ripe.net</a><br>
                <a class="moz-txt-link-freetext" href="https://mailman.ripe.net/">https://mailman.ripe.net/</a><br>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
  </body>
</html>