0
votes

When I perform a traceroute, the first packet I send has ttl=1 and the reply is always "null" "timeout" from my router. That's the fist thing I don't understand: why my router doesn't send me a time exceeded icmp message?

Using wireshark I observed that there are at least 2 duplicate of first paket (the one with ttl=1), and only one null reply from router.

I thought it was my code's problem, but there are a lot of videos on youtube where wireshark shows the same thing: the pc sends 2 or 3 packets with ttl=1 before receiving a time exceeded icmp message and increment ttl to 2.

Can you explain this please?

edit: I've made a mistake: the "null" or "timeout" packet isn't sent by the router; it's a message from pc that hasn't received yet any packet. So ttl isn't increased. Now I can formulate the correct question: Why the first packet cant' reach the destination? It's not a matter of ttl (i can set it to 2-3-4 and I always have the same duplicate on fist sending).

Maybe it's a fragmentation problem? but why? Some wireshark's logs hilight that after first transmission mss (or mtu..can't rememebr) is changed.

1

1 Answers

0
votes

"I thought it was my code's problem"

Is this a problem with code or the traceroute command? The first packets TTL is 1, and the first router decrements the TTL, sees it is 0, and should respond with an error, TTL Time Exceeded as I recall.