to understand it, you need to know how tracert works.
in Windows, running tracert x.x.x.x from your pc, your pc sends out a ping x.x.x.x echo request with TTL=1, this packet goes to the router in your pc's routing table, usually it is the default gateway. you default gateway would return an ICMP reply "TTL expired" so your pc know the IP of the first router it has reached on the way to host x.x.x.x. then your pc sends ping x.x.x.x with TTL=2. This time the first router on the way to x.x.x.x will simply pass it to send router according to its routing table. The second will return ICMP TTL exceeded packets you now you know the IP addr of second router. this goes on until you reach the destination x.x.x.x, by then it returns ICMP echo reply. so you when see *, say on 3rd line, that means your pc sent a ping with TTL=3, it's expecting a TTL exceeded packet but it never receives it. so this is simply the 3rd router does not return such packet. but the router is still there and it would pass the ping to next router if TTL were larger. the next router may return TTL exceeded so you might get some number on next line.
If you tracert to some non-existing network you would get a dest. net unreachable. if net is good but host is down, you get host unreachable. But you will get a few lines of numbers or *'s because routers always have a default route to send the packet if it does not know how to route a packet.
this would be hard for you to understand if you do not know much about internetworking
回複:f64,traceroute問題再次請教
本帖於 2004-02-06 15:24:48 時間, 由普通用戶 old-cotton 編輯
所有跟帖:
•
回複:f64,traceroute問題再次請教
-f64-
♀
(212 bytes)
()
10/03/2003 postreply
00:16:00