It occurred to me that people might be curious what Verizon is doing to make traceroutes hide all of the intermediate hops. While I don’t know for sure, I can make an educated guess.
All IP packets have a “TTL” (time-to-live) field. When you send a packet somewhere, your computer initializes it to some default value (often 64, 128 or 255). Every time the packet passes through a router, it is decremented by 1. If it reaches 0 before it gets to its destination, then the router that did the last decrement will drop the packet and send an ICMP Time Exceeded packet back to the originator.
Traceroute uses this mechanism to generate an educated guess for the path taken by packets.
It first sends three packets with the TTL field set to 1. This will cause the first router to send back ICMP Time Exceeded packets. It will record the source of those ICMP packets (the first router’s IP address) and report it.
Then it sends three packets with the TTL field set to 2. This will cause the second router to send back the ICMP Time Exceeded packets.
It will continue in this fashion, incrementing the TTL by 1 every 3 packets until it get a response from the destination address, at which point, the protocol stops.
Traditionally, traceroute would send ICMP Echo Request packets, expecting the destination to reply with an ICMP Echo Response packet. These are the same packets used by the ping
utility. But this doesn’t work if the destination doesn’t respond to ICMP Echo Request (ping) packets - in which case, the trace never ends - the destination just silently drops everything, making the traceroute utility think the packets are not being delivered (which is technically true).
When used with UDP, it uses a high-numbered port (the macOS man page says it is 33434) where it is very unlikely there will be a service running. When the packet arrives at the destination, it will send back an ICMP Destination Port Unreachable message.
Anyway, there are two possible things Verizon could do to make everything appear to be only one hop away.
One is that it can ignore the TTL value provided by your computer and immediately set a high value (e.g. 64 or 128). This means none of the intermediate nodes will send any ICMP responses. The packet will go straight to the destination, which will reply immediately. Verizon may be doing this as a security measure, in order to hide the topology of their internal network from the rest of the world.
The other possibility is that they’re not sending the packets at all, but are intercepting it at the first Verizon router (e.g. the central office at the other end of your fiber) and are directly sending a response. Hopefully, they’re not doing this because it has the potential to mess up all kinds of Internet traffic if they end up confusing legitimate data packets with traceroute packets.