<div dir="ltr"><div>Google.com is not one computer. Google spreads their locations all over the world including pops in many ISP's.</div><div><br></div><div><a href="https://peering.google.com/#/">https://peering.google.com/#/</a><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 20 November 2016 at 19:18, shimi <span dir="ltr"><<a href="mailto:linux-il@shimi.net" target="_blank">linux-il@shimi.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Sun, Nov 20, 2016 at 9:38 AM, Shlomo Solomon <span dir="ltr"><<a href="mailto:shlomo.solomon@gmail.com" target="_blank">shlomo.solomon@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="m_4946756688057784383gmail-">On Sun, 20 Nov 2016 08:25:18 +0200<br>
shimi <<a href="mailto:linux-il@shimi.net" target="_blank">linux-il@shimi.net</a>> wrote:<br>
<br>
> I believe it's called a CDN and/or local compute clusters and the<br>
> purpose of it is to give you a better user experience, which is a<br>
> Good Thing (TM).<br>
><br>
</span>snip ... snip ... snip<br>
<span class="m_4946756688057784383gmail-">><br>
> Why do you think it's a problem and are trying to avoid it?<br>
><br>
<br>
</span>Thanks. I agree that this is "normally" a Good Thing (TM). So I guess I<br>
have to explain my problem. For a course I'm doing, I had to write<br>
traceroute in Python   -   re-invent the wheel :-)<br>
<br>
My program works, but I noticed it never reaches <a href="http://www.google.com" rel="noreferrer" target="_blank">www.google.com</a> so I<br>
checked the "real" traceroute and found the same behaviour.<br>
<br>
It seems that neither my program nor the real traceroute handle this<br>
properly - i.e. they never report that they've reached the final hop.<br>
I've included traceroute <a href="http://www.godaddy.com" rel="noreferrer" target="_blank">www.godaddy.com</a> and traceroute <a href="http://www.google.com" rel="noreferrer" target="_blank">www.google.com</a><br>
for comparison. You can see that traceroute <a href="http://www.google.com" rel="noreferrer" target="_blank">www.google.com</a> never<br>
reaches the address it's trying to reach - 213.57.24.49<br>
<br></blockquote><div><br></div></span><div>I do not believe the fact that you "can't reach it" has anything to do with <a href="http://www.google.com" target="_blank">www.google.com</a> resolving to an IP in Israel.<br><br></div><div>Since I am assuming that for your re-inventing the wheel exercise, you did learn and understood what traceroute does; But let me explain it anyway for the answer to your question lies within...<br><br></div><div>What traceroute does is essentially send packets to the destination IP by certain protocol. Popular choices include UDP (I believe that's what the Linux one does by default), ICMP (I believe that's what the Windows one does by default) and TCP.<br><br></div><div>However, it doesn't send the packet as one normally would, with a large TTL (Time To Live) value which is expected to reach anywhere on the Internet (typical values: >= 64), rather than it starts of with setting a minimal value for TTL, for the purpose of _not_ getting into the target IP, rather than the packet being dropped by the very first router (hop) on the chain, resulting in error in packet  delivery.<br><br></div><div>Per the IP specification, such a packet discarding SHOULD produce an ICMP (<span class="m_4946756688057784383gmail-_Tgc">Internet Control Message Protocol) message being sent by the hop that has discarded the packet towards the originator of the original packet, telling it that "TTL expired in transit". The original idea was to avoid packets travelling to infinitum in routing loops - by decreasing the TTL by 1 on every hop the packet passes, eventually it will zero out, and the packet will be discarded, not causing a bandwidth storm.<br><br></span></div><div><span class="m_4946756688057784383gmail-_Tgc">So, I said SHOULD. Does it always? Well, no. Some hosts on the Internet employ something called "a firewall", which blocks ICMP for various reasons (you'll hear the word "security" in some places); As a regular user who opens his browser and types in '<a href="https://www.google.com/" target="_blank">https://www.google.com/</a>' - you don't really care. ICMP is not typically used when establishing a connection to a server on the Internet (well, that's not accurate; lack of PMTU discovery is an excellent way to get your IT people to pull some hairs out when any tunnel is involved, including dialup and Israeli "MPLS" connections, a.k.a. "dialer-less HOT"... but for the sake of discussion and to explain how did they ended up deciding to filter those packets and affect you - probably not knowing what else they break - then "it's not typically used")<br></span></div><div><br></div><div>Sometimes the filtering is not of ICMP at all, rather than the original protocol you're trying to probe with; A random UDP port at the area of 30,000 typically has no business traversing their network, so your original packet (if you're using UDP packets for your traceroute program) may have been firewalled and never reached a router to lower its TTL by 1 and expire it in transit to produce the ICMP message you're expecting... In that case, where ICMP is not actually block, rather your UDP connection is, you might find out that running:<br><br></div><div>traceroute -I 213.57.24.49<br><br></div><div>(I for ICMP Echo based traceroute)<br><br></div><div>Does actually get you to the target. However, you'll have to run this as root, because generating ICMP packets is not something the regular user can do. Of course, you can opt to chmod +s your traceroute binary...<br><br></div><div>Hope this helps,<br><br></div><div>-- Shimi<br></div><div><br><br></div></div></div></div>
<br>______________________________<wbr>_________________<br>
Linux-il mailing list<br>
<a href="mailto:Linux-il@cs.huji.ac.il">Linux-il@cs.huji.ac.il</a><br>
<a href="http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il" rel="noreferrer" target="_blank">http://mailman.cs.huji.ac.il/<wbr>mailman/listinfo/linux-il</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><a href="http://au.linkedin.com/in/gliderflyer" target="_blank"><img src="https://static.licdn.com/scds/common/u/img/webpromo/btn_viewmy_160x25.png"></a><br></div></div>
</div>