<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>anuragbhatia.com !!!</title>
	<atom:link href="http://anuragbhatia.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://anuragbhatia.com</link>
	<description>&#34;Call it a problem, ONLY if you have a solution&#34;</description>
	<lastBuildDate>Thu, 16 May 2013 12:54:47 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Backend of Google&#8217;s Public DNS</title>
		<link>http://anuragbhatia.com/networking/backend-of-googles-public-dns/</link>
		<comments>http://anuragbhatia.com/networking/backend-of-googles-public-dns/#comments</comments>
		<pubDate>Thu, 16 May 2013 12:53:58 +0000</pubDate>
		<dc:creator>Anurag Bhatia</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[Airtel]]></category>
		<category><![CDATA[AS18101]]></category>
		<category><![CDATA[AS4755]]></category>
		<category><![CDATA[AS6453]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[JMIT]]></category>
		<category><![CDATA[Reliance]]></category>
		<category><![CDATA[Spectranet]]></category>
		<category><![CDATA[Tata Communications]]></category>
		<category><![CDATA[Tier 1]]></category>

		<guid isPermaLink="false">http://anuragbhatia.com/?p=2696</guid>
		<description><![CDATA[And finally academic session over. Done with all vivas and related stuff. 
Next will be exams likely in June. Time for me to get ready for travel.  
&#160;
 
Anyways an interesting topic for today&#8217;s post &#8211; Google Public DNS. Lot of us are familier with popular (and free) DNS resolvers 8.8.8.8 and 8.8.4.4. I have covered reason in [...]]]></description>
				<content:encoded><![CDATA[<p>And finally academic session over. Done with all vivas and related stuff. </p>
<p>Next will be exams likely in June. Time for me to get ready for travel. <img src='http://anuragbhatia.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&nbsp;</p>
<p><img class="aligncenter" alt="" src="http://www.ctrlv.ca/wp-content/uploads/2010/10/dns_2.jpg" width="334" height="279" /> </p>
<p>Anyways an interesting topic for today&#8217;s post &#8211; <a href="https://developers.google.com/speed/public-dns/" target="_blank">Google Public DNS</a>. Lot of us are familier with popular (and free) DNS resolvers <strong><span style="color: #0000ff;">8.8.8.8</span></strong> and <strong><span style="color: #0000ff;">8.8.4.4</span></strong>. I have covered reason in <a title="Akamai CDN and DNS resolution analysis" href="http://anuragbhatia.com/networking/akamai-cdn-and-dns-resolution-analysis/">previous posts</a> on why it tends to fail with Content Delivery networks like Akamai which rely on anycasting at bottom DNS layer and simple unicasting on application servers. Anycasted DNS nodes point to application servers based on various factors like distance, load, cost etc out of interesting algorithms these CDN networks use for load &amp; cost management.</p>
<p>&nbsp;</p>
<p>Anyways today&#8217;s post focus is not CDN issues with these resolvers but Google Public DNS itself. Are these servers located in India and everywhere else where Google has PoPs? </p>
<p>&nbsp;</p>
<p>Let&#8217;s do a simple trace to get forward path from Airtel to Google&#8217;s 8.8.8.8:</p>
<blockquote>
<p>traceroute 8.8.8.8</p>
<p>Type escape sequence to abort.<br />Tracing the route to google-public-dns-a.google.com (8.8.8.8)</p>
<p>1 182.79.254.242 [MPLS: Label 550027 Exp 0] 0 msec<br /> 203.101.100.29 [MPLS: Label 550027 Exp 0] 4 msec<br /> 182.79.254.238 [MPLS: Label 354133 Exp 0] 0 msec<br /> 2 203.101.100.181 0 msec<br /> 182.79.247.13 0 msec 0 msec<br /> 3 74.125.51.34 44 msec 44 msec 48 msec<br /> 4 72.14.237.3 [AS 15169] 52 msec 56 msec 52 msec<br /> 5 google-public-dns-a.google.com (8.8.8.8) [AS 15169] 52 msec * 116 msec<br />DEL-ISP-MPL-ACC-RTR-9#</p>
</blockquote>
<p>&nbsp;</p>
<p>50ms latency. Clearly destination is within India and based on my experience with latency values, I strongly guess that&#8217;s Chennai. </p>
<p>&nbsp;</p>
<h4>Location of Google Public DNS servers</h4>
<p>Anyways so does that means Google&#8217;s DNS server is within India?</p>
<p>&nbsp;</p>
<p>A clear answer is <strong><span style="color: #ff0000;">no</span></strong>. This is just a DNS caching server and Google does not use it for originating actual queries further to root, TLDs nodes and authoritative DNS servers. This seems like a interesting distributed setup.</p>
<p>As per <a href="https://developers.google.com/speed/public-dns/faq#locations" target="_blank">Google Public DNS FAQ page</a>, there are quite a few locations from where DNS servers originate queries but India is not in the list yet. Google has PoPs in Delhi, Mumbai and Chennai and they peer with pretty much every Indian ISP out from there.</p>
<p>&nbsp;</p>
<p>We can actually test which node is serving us here in India. <br />This can be achieved in multiple ways:</p>
<ol>
<li><span style="line-height: 13px;"><span style="line-height: 13px;"><span style="line-height: 13px;"><span style="line-height: 13px;"><span style="line-height: 13px;">Running a authoritative zone on a server with basic BIND installation. I tried this with my own Linux server by having <em>testing-google-dns.anuragbhatia.com.</em> DNS zone. I delegated NS for this zone on auth. DNS servers for &#8220;anuragbhatia.com&#8221; zone. Next I sent a DNS query with <strong><em><span style="color: #0000ff;">dig @8.8.8.8  testing-google-dns.anuragbhatia.com. a +short</span></em></strong> to ask my DNS server for IP and this gave me source IP of Google&#8217;s resolver.</span></span></span></span></span>
<p>&nbsp;</p>
</li>
<li>The other easy way out is to simply use Akamai&#8217;s &#8220;whoami.akamai.net&#8221; service. It is designed in a way to return A record of DNS resolver which queries it. This gives IP of Google&#8217;s server which sent the DNS query for resolution.</li>
</ol>
<p>&nbsp;</p>
<blockquote>
<p>Anurags-MacBook-Pro:~ anurag$ dig whoami.akamai.net a @8.8.8.8 +short<br /><strong><span style="color: #ff0000;">173.194.97.22</span></strong><br />Anurags-MacBook-Pro:~ anurag$</p>
</blockquote>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>In both cases I saw IP was 173.194.97.22. It belongs to 173.194.97.0/24 announced by Google&#8217;s AS15169. As per <a href="https://developers.google.com/speed/public-dns/faq#locations" target="_blank">Google&#8217;s FAQ page</a> (which has IPs too!) the prefix 173.194.97.0/24 belongs to Kuala Lumpur, Malaysia. So that&#8217;s the actual DNS resolver node which serves users here in India. Machines with IPs 8.8.8.8 and 8.8.4.4 are just caching replies and more over taking the IP traffic to Google within India. </p>
<p>&nbsp;</p>
<p>Now one can ask why Google is not having DNS resolver within India?</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><img class="aligncenter" alt="" src="http://www.famousbloggers.net/wp-content/uploads/2011/10/guess-work.jpg" width="300" height="300" /></p>
<p>&nbsp;</p>
<h4>Guess work time!</h4>
<p>I don&#8217;t know exactly but I can do a strong guess work here. Google is a tier 1 transit free network. It relies on paying on layer 2, building PoPs and connected them together. It does not pays on layer 3 for bandwidth to any ISP. So Google&#8217;s routers in India learn traffic from just peering sessions with all major telcos (except BSNL). Google is peering with Tata-VSNL AS4755, Reliance AS18101, Airtel AS9498, MTNL AS17813, Spectranet AS10029 etc. One interesting thing here is that these are all tier 2 networks. Tata Communications is a tier 1 network but their domestic backbone VSNL AS4755 is technically not a tier 1 network and technically it sits in downstream of Tata AS6453 (which is their tier 1 IP backbone). Thus Google does not gets full global table feed from any of these links and possibly nearest PoP of Google which has full table feed from Tier 1 networks is in Malaysia. </p>
<p>&nbsp;</p>
<p>What I am not able to answer from my guess work is that when Google is relying on East Asian PoPs for such stuff and mantaining a backbone between East Asia and India directly then why they could not feed Indian routers routing table with routes learnt from outside?  It could be just to ensure direct delivery in India and avoid routing loops. E.g BSNL has IP port from Tata-VSNL AS4755 within India and IPLC port from Tata-AS6453 to outside Indian PoPs. Thus if tables are combined Google might see paths like  AS6453 &gt; AS9829 and AS4755 &gt; AS9829 which seem identical as per AS path but one is direct India to India traffic while other via India &gt; Singapore &gt; India or India &gt; US &gt; India. It&#8217;s not just about BSNL but Sify also lately has weird routing loops going from outside India for Indian destinations.</p>
<p>&nbsp;</p>
<p>That&#8217;s about it. Can&#8217;t do any guess work beyond this point unless someone gives me access to a router of AS15169 to see table! <img src='http://anuragbhatia.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://anuragbhatia.com/networking/backend-of-googles-public-dns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Do connected interface ping?</title>
		<link>http://anuragbhatia.com/networking/should-connected-interface-ping/</link>
		<comments>http://anuragbhatia.com/networking/should-connected-interface-ping/#comments</comments>
		<pubDate>Wed, 15 May 2013 14:58:19 +0000</pubDate>
		<dc:creator>Anurag Bhatia</dc:creator>
				<category><![CDATA[My Life]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[College]]></category>
		<category><![CDATA[Frustration]]></category>
		<category><![CDATA[GNS]]></category>
		<category><![CDATA[ICMP]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[JMIT]]></category>
		<category><![CDATA[Ping]]></category>
		<category><![CDATA[Routers]]></category>
		<category><![CDATA[TCP]]></category>

		<guid isPermaLink="false">http://anuragbhatia.com/?p=2654</guid>
		<description><![CDATA[And an interesting day full of bit frustrating drama. Today was &#8220;External viva&#8221; for Major Project at college. It went good with external teacher but &#8220;internal ones&#8221; tend to cause un-necessary issues. Quite a few people put personal egos and frustration on top priority to an extent that they violate their own points for which [...]]]></description>
				<content:encoded><![CDATA[<p>And an interesting day full of bit frustrating drama. Today was &#8220;External viva&#8221; for Major Project at college. It went good with external teacher but &#8220;internal ones&#8221; tend to cause un-necessary issues. Quite a few people put personal egos and frustration on top priority to an extent that they violate their own points for which they are arguing. They go completely unethical in way they deal with world.</p>
<p>&nbsp;</p>
<p><img class="aligncenter" alt="" src="http://feelpositive.files.wordpress.com/2012/05/argue.gif" width="250" height="166" /></p>
<p>&nbsp;</p>
<p>I am saying this with full responsibility for couple of teachers from my college who have completely lost some &#8220;<em>fundamentals of life</em>&#8221; as taught in childhood to most of us. Some key principles like staying cool &amp; calm, being humble, making best possible use of time and just being good with everyone. In last 4 years they haven&#8217;t learn how to give respect &amp; talk with sense and they expect students to be learning &#8220;technology&#8221; from them? What an absurd!</p>
<p>&nbsp;</p>
<p>Anyways not much I can do about it. My own external viva went fine and that&#8217;s good enough to stay happy. <img src='http://anuragbhatia.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <br />All this reminds of an old amazing poem by Former Prime Minister of India (find it embedded below):</p>
<p>&nbsp;</p>
<p>(Video: Watch this video on the post page)</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h4>Today&#8217;s post&#8230;</h4>
<p>Personal frustration aside &#8211; An interesting topic for today. One of my friend came up with an interesting question. Are all connected routers supposed to be pinging?</p>
<p>It&#8217;s simply about two routers &#8211; say router A and router B which whose interfaces are connected by a cable. Should they ping? If yes then under what circumstances? </p>
<p>&nbsp;</p>
<p>Answer is &#8230;..mmm&#8230;let&#8217;s first dive in a little before I gave plain answer. </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h4>Ping/ICMP</h4>
<p>Ping works on ICMP protocol and that comes on layer 3 on OSI model.</p>
<p>ICMP simply sends a packet (in a form of &#8220;Hello there!&#8221;) to destination host machine and if everything is OK then host machine is expected to be replying back with &#8220;Hi!&#8221; to the source. Time taken in this is counted in round trips (because a non-round trip based counting is logically not possible). This provides with connectivity confirmation + roundtrip latency in the connection.</p>
<p>&nbsp;</p>
<p>So what are conditions required for ICMP to work?</p>
<p>&nbsp;</p>
<p>Going into fundamentals of TCP/IP networking, a packet can route only when it knows answer to three simple questions:</p>
<ol>
<li>Who I am?</li>
<li><span style="line-height: 13px;">Where I need to go?</span></li>
<li>How I will get there?</li>
</ol>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Answer to &#8220;Who I am?&#8221; comes from the unique IP address (on broadcast domain), &#8220;Where I need to go&#8221; comes from the user himself who is pinging destination machine IP and &#8220;How I will get there?&#8221; comes from routing table.</p>
<p>&nbsp;</p>
<p>So #1 and #3 are important here.  There&#8217;s not really BGP, or any IGP protocol when two routers are connected directing on same broadcast (layer 2) and this is where other low level protocol ARP comes into picture. ARP is used in creating a simple table which keeps a reference between Mac address, IP address and interface. </p>
<p>&nbsp;</p>
<h4>How does ARP work?</h4>
<p>ARP simply works using &#8220;broadcast address&#8221; we use while configuring IP address on a interface. E.g if I am putting IP as 10.0.0.1 coming from /29 subnet (or call it 255.255.255.248), it assumes last IP to be &#8220;broadcast IP&#8221;. A /29 here means 2^32-29 = 8 IPs. Starting from 10.0.0.1, it goes till 10.0.0.7. So last IP = 10.0.0.7 is broadcast IP. This is used by all machines under same broadcast domain to &#8220;announce/advertise&#8221; their IP address from their Mac address. </p>
<p>&nbsp;</p>
<p>Let&#8217;s play around and connect three routers to a switch (same layer 2 broadcast, single VLAN).</p>
<p>We have router A, router B and router C. </p>
<p>I am putting A and B on 10.0.0.1 and 10.0.0.2 under same subnet (a /29) while router C will be on 10.0.0.100 coming from /24 subnet (for fun!). </p>
<p>&nbsp;</p>
<p style="text-align: center;"><img class="aligncenter  wp-image-2659" alt="Screen Shot 2013-05-15 at 6.51.34 PM" src="http://anuragbhatia.com/uploads/2013/05/Screen-Shot-2013-05-15-at-6.51.34-PM-1024x600.png" width="614" height="360" /></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<blockquote>
<p>Router&gt;<br />Router&gt;en<br />Router&gt;enable <br />Router#conf t<br />Enter configuration commands, one per line. End with CNTL/Z.<br />Router(config)#host<br />Router(config)#hostname A<br />A(config)#in<br />A(config)#interface F<br />A(config)#interface FastEthernet0/0</p>
<p>A(config-if)#ip add<span style="color: #ff0000;"> 10.0.0.1 255.255.255.248</span><br />A(config-if)#no shut<br />A(config-if)#no shutdown <br />A(config-if)#end<br />A#<br />00:11:44: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up<br />00:11:45: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up<br />00:11:46: %SYS-5-CONFIG_I: Configured from console by console<br />Building configuration&#8230;<br />[OK]<br />A#<br />A<em id="__mceDel">#</em></p>
</blockquote>
<p>&nbsp;</p>
<p>OK &#8211; let&#8217;s go on B:</p>
<p>&nbsp;</p>
<blockquote>
<p>Router&gt;en<br />Router&gt;enable <br />Router#conf t<br />Enter configuration commands, one per line. End with CNTL/Z.<br />Router(config)#host<br />Router(config)#hostname B<br />B(config)#int<br />B(config)#interface F<br />B(config)#interface FastEthernet0/0<br />B(config-if)#ip add <span style="color: #ff0000;">10.0.0.2 255.255.255.248</span><br />B(config-if)#no shutdown<br />B(config-if)#end<br />B#<br />00:16:06: %SYS-5-CONFIG_I: Configured from console by console<br />B#<br />B#<br />00:16:06: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up<br />00:16:07: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up<br />B#<br />B#write<br />Building configuration&#8230;<br />[OK]<br />B#</p>
</blockquote>
<p>&nbsp;</p>
<p>Now comes the &#8220;different one&#8221; i.e router C:</p>
<blockquote>
<p>Router&gt;<br />Router&gt;en<br />Router&gt;enable <br />Router#conf t<br />Enter configuration commands, one per line. End with CNTL/Z.<br />Router(config)#rou<br />Router(config)#host <br />Router(config)#hostname C<br />C(config)#int<br />C(config)#interface F<br />C(config)#interface FastEthernet0/0<br />C(config-if)#ip add <span style="color: #ff0000;">10.0.0.100 255.255.255.0</span> <br />C(config-if)#no shu<br />C(config-if)#no shutdown <br />C(config-if)#write<br />00:01:38: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up<br />00:01:39: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state <br />C(config-if)#<br />C(config-if)#end<br />C#wr<br />00:01:44: %SYS-5-CONFIG_I: Configured from console by consoleite<br />Building configuration&#8230;<br />[OK]<br />C#</p>
</blockquote>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>OK &#8211; now we have three routers with two on same /29 subnet and third one on a /24 subnet. Let&#8217;s try to ping:</p>
<blockquote>
<p>A#ping 10.0.0.2</p>
<p>Type escape sequence to abort.<br />Sending 5, 100-byte ICMP Echos to 10.0.0.2, timeout is 2 seconds:<br />!!!!!<br />Success rate is 100 percent (5/5), round-trip min/avg/max = 20/21/24 ms</p>
</blockquote>
<p>&nbsp;</p>
<p>Worked. OK &#8211; let&#8217;s try C now:</p>
<p>&nbsp;</p>
<blockquote>
<p>A#ping 10.0.0.100</p>
<p>Type escape sequence to abort.<br />Sending 5, 100-byte ICMP Echos to 10.0.0.100, timeout is 2 seconds:<br />&#8230;..<br />Success rate is 0 percent (0/5)<br />A#</p>
</blockquote>
<p>&nbsp;</p>
<p>Failed. </p>
<p>&nbsp;</p>
<p>Let&#8217;s look at routing table on A:</p>
<blockquote>
<p>A#sh ip route connected <br /> 10.0.0.0/29 is subnetted, 1 subnets<br />C 10.0.0.0 is directly connected, FastEthernet0/0<br />A#</p>
</blockquote>
<p>&nbsp;</p>
<p>OK &#8211; so only one entry for 10.0.0.0/29 which is connected directly to Ethernet interface 0/0. </p>
<p>&nbsp;</p>
<p>If we look at ARP table, we get:</p>
<blockquote>
<p>A#<br />A#sh ip arp<br />A#sh ip arp <br />Protocol Address Age (min) Hardware Addr Type Interface<br />Internet 10.0.0.2 12 ca03.35dc.0008 ARPA FastEthernet0/0<br />Internet 10.0.0.1 &#8211; ca02.35dc.0008 ARPA FastEthernet0/0<br />A#</p>
</blockquote>
<p>&nbsp;</p>
<p>This answers the question completely. <img src='http://anuragbhatia.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>We have only A and B it ARP table of A. Both B and C are connected to same switch, same VLAN but C is not &#8220;visible&#8221; to A because C is on /24 subnet and that means last IP of 10.0.0.0/24 i.e 10.0.0.255 is acting as broadcast. C is sending it&#8217;s live updates for ARP on 10.0.0.255 while A and B are doing that on broadcast IP 10.0.0.7 (last IP from 10.0.0.0/29) and are not &#8220;hearing&#8221; on 10.0.0.255. Hence A and B are &#8220;hearing&#8221; on same broadcast and are updating ARP table while C even connected on same switch, same layer 2 is not connected on layer 3 and thus ICMP ping does not work. </p>
<p>&nbsp;</p>
<p>It pretty much about those three fundamental questions. Again, third question was &#8220;How I will get there?&#8221; needs an answer from routing table. So let&#8217;s go ahead and tell A about lonely router C. <img src='http://anuragbhatia.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&nbsp;</p>
<blockquote>
<p>A(config)#ip route 10.0.0.0 255.255.255.0 F<br />A(config)#<span style="color: #ff0000;">ip route 10.0.0.0 255.255.255.0 FastEthernet0/0</span><br />A(config)#end<br />A#writ<br />00:38:50: %SYS-5-CONFIG_I: Configured from console by consolee<br />Building configuration&#8230;<br />[OK]<br />A#<br />A#</p>
</blockquote>
<p>&nbsp;</p>
<p>Now there&#8217;s a static route entry on A which tells where it for subnet 10.0.0.0/24 and IP 10.0.0.100 belongs to that.</p>
<p>Let&#8217;s try pinging again:</p>
<blockquote>
<p>A#ping 10.0.0.100</p>
<p>Type escape sequence to abort.<br />Sending 5, 100-byte ICMP Echos to 10.0.0.100, timeout is 2 seconds:<br />!!!!!<br />Success rate is 100 percent (5/5), round-trip min/avg/max = 20/21/24 ms<br />A#</p>
</blockquote>
<p>&nbsp;</p>
<p>And A can now ping C.  What about C? </p>
<blockquote>
<p>C#ping 10.0.0.1</p>
<p>Type escape sequence to abort.<br />Sending 5, 100-byte ICMP Echos to 10.0.0.1, timeout is 2 seconds:<br />!!!!!<br />Success rate is 100 percent (5/5), round-trip min/avg/max = 20/21/24 ms</p>
</blockquote>
<p>&nbsp;</p>
<blockquote>
<p>C#ping 10.0.0.2</p>
<p>Type escape sequence to abort.<br />Sending 5, 100-byte ICMP Echos to 10.0.0.2, timeout is 2 seconds:<br />&#8230;..<br />Success rate is 0 percent (0/5)<br />C#</p>
</blockquote>
<p>&nbsp;</p>
<p>So now C is able to reach A but not B because again B doesn&#8217;t knows where is C. If we look at ARP table of C now:</p>
<blockquote>
<p>C#<br />C#sh ip arp<br />Protocol Address Age (min) Hardware Addr Type Interface<br />Internet 10.0.0.1 3 ca02.35dc.0008 ARPA FastEthernet0/0<br />Internet 10.0.0.100 &#8211; ca06.35dc.0008 ARPA FastEthernet0/0<br />C#</p>
</blockquote>
<p>&nbsp;</p>
<p>So 10.0.0.2 i.e B is still missing. Let&#8217;s tell B to &#8220;default&#8221; all traffic via A. </p>
<p>&nbsp;</p>
<blockquote>
<p>B&gt;<br />B&gt;en <br />B&gt;enable <br />B#conf t<br />Enter configuration commands, one per line. End with CNTL/Z.<br />B(config)#ip ro<br />B(config)#ip route<br />B(config)#<span style="color: #ff0000;">ip route 0.0.0.0 0.0.0.0 10.0.0.1</span><br />B(config)#end<br />B#write<br />Building configuration&#8230;<br />[OK]<br />B#</p>
</blockquote>
<p>&nbsp;</p>
<p>Checking again on B now:</p>
<p>&nbsp;</p>
<blockquote>
<p>C#ping 10.0.0.2</p>
<p>Type escape sequence to abort.<br />Sending 5, 100-byte ICMP Echos to 10.0.0.2, timeout is 2 seconds:<br />!!!!!<br />Success rate is 100 percent (5/5), round-trip min/avg/max = 20/21/24 ms<br />C#</p>
</blockquote>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>So that&#8217;s about it.</p>
<p>&nbsp;</p>
<h4>Summary</h4>
<p>Ping works on ICMP and it is on layer 3. For it to work, layer 2 should be connected along with working logical layer 3 with entries in routing table. Unless two directly connected machines are on same subnet they won&#8217;t ping because different subnet will get them on different broadcast IP and thus different ARP tables all together.</p>
<p>And don&#8217;t miss that lot of firewalls block ICMP partially as well as completely because it tends to overload routers in processing those packets rather then doing normal switching operation.</p>
<p>&nbsp;</p>
<p>Time for me to get back to work!</p>
<p>&nbsp;</p>
<p><em>Note: My comments on college teachers are specifically for two teachers (and everyone around me knows whom I am referring too) and one should not make a general impression out from those. There are some very good teachers in dept. as well. </em></p>
]]></content:encoded>
			<wfw:commentRss>http://anuragbhatia.com/networking/should-connected-interface-ping/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lost sense of &#8220;engineering&#8221;</title>
		<link>http://anuragbhatia.com/my-life/lost-sense-of-engineering/</link>
		<comments>http://anuragbhatia.com/my-life/lost-sense-of-engineering/#comments</comments>
		<pubDate>Thu, 09 May 2013 18:00:31 +0000</pubDate>
		<dc:creator>Anurag Bhatia</dc:creator>
				<category><![CDATA[My Life]]></category>
		<category><![CDATA[College]]></category>
		<category><![CDATA[Dumb]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[JMIT]]></category>
		<category><![CDATA[Job]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Paper Work]]></category>
		<category><![CDATA[Problems]]></category>
		<category><![CDATA[Radaur]]></category>
		<category><![CDATA[Students]]></category>

		<guid isPermaLink="false">http://anuragbhatia.com/?p=2492</guid>
		<description><![CDATA[
&#160;
It&#8217;s late evening here in Radaur and I am sitting in my room with open door looking outside in dark. I wonder if darkness outside is more then darkness I see in our system. No, I am not referring to any routing glitch or bandwidth chock point but even more fundamental issue that is &#8220;Lost sense of [...]]]></description>
				<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://anuragbhatia.com/uploads/2013/05/man_writing_engineering_words_istock_000020028272large.jpg"><img class="aligncenter  wp-image-2507" alt="Engineering" src="http://anuragbhatia.com/uploads/2013/05/man_writing_engineering_words_istock_000020028272large-1024x520.jpg" width="614" height="312" /></a></p>
<p>&nbsp;</p>
<p>It&#8217;s late evening here in Radaur and I am sitting in my room with open door looking outside in dark. I wonder if darkness outside is more then darkness I see in our system. No, I am not referring to any routing glitch or bandwidth chock point but even more fundamental issue that is &#8220;<strong>Lost sense of Engineering</strong>&#8221; in current education age. It&#8217;s pretty hot weather out in my room. <a href="http://anuragbhatia.com/uploads/2013/05/IMG_20130509_190359.jpg" target="_blank">Here&#8217;s</a> what room thermometer says.</p>
<p>I will start this blog post with two interesting real life experiences from last four years. </p>
<p style="text-align: center;">  </p>
<h4>The guy in bus&#8230;</h4>
<p><span style="color: #3366ff;"><em>One day I was on way to home from college. It was 1st year, 1st semester at college and those were pretty green days. Everyone around was very energetic. There were numerous things to keep up excitement levels. Time was of end of year 2009 and by this time Indian economy was doing pretty decent (after US recession in 2008). I was on three seat bus sitting right in middle of two interesting men. The guy on right side was a young and village looking guy. He started chatting and told me about his job with Crime Branch in Haryana police. It caught my attention and for next 30 mins we had a deep discussion on how much politics impact their work, how much pressure they get and in what form from political as well as administrative bureaucrats. I learned quite a few interesting things. Next, he started asking me about my life. I told him about college and how things were moving along. By this time person on left got some interest in discussion &#8211; a relatively old guy with white hairs and this glasses. He spoke a couple of sentences blaming govt., blaming colleges, blaming the way everything is going etc. </em></span></p>
<p><span style="color: #3366ff;"><em>In his next line he said  to the gentlemen from crime branch &#8211; &#8220;Sir, I can tell you these kids have an awful future. You will see them haunting around this area in search for a low end job. There is nothing left in engineering line at all&#8221;. </em></span></p>
<p><span style="color: #3366ff;"><em>I was little stunned by his unexpected attack but yes at the same time I felt bit bad on the reflection of life of &#8220;Indian Engineers&#8221; I got from his eyes. And as I was expecting, next he started telling about his nephew&#8217;s college life, the expense they had and struggle with job part.</em></span> </p>
<p>&nbsp;</p>
<p>Before I come to any conclusions from story 1, let&#8217;s come to story number 2:</p>
<p>&nbsp;</p>
<h4>The old man in village&#8230;</h4>
<p><em><span style="color: #3366ff;">It was a winter afternoon in Radaur on Sunday. I was out &amp; roaming around. It was 2nd semester and I recently moved to my new rented room. I saw an old man sitting there. He greeted me and I replied to his greeting. He offered me to sit and we eventually got into a small chat. He asked general questions about my home, family, college etc and then came to &#8220;engineering&#8221; part. He asked me on how it feels like to be doing an engineering degree? I gave usual &#8220;neutral&#8221; replies and he asked me more about IT, computers etc. He was educated but wasn&#8217;t really from computer age and computers always looked like mystery to him with Internet being the biggest one. </span></em><span style="color: #3366ff;"> <img src='http://anuragbhatia.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </span><em></em></p>
<p><span style="color: #3366ff;">He asked me with couple of interesting real life problems and asked if they can be solved with computers. By the end of talk I was surprised how much excited he was to see young folks like us doing &#8220;engineering&#8221;. Sad to say but old guy was better then most of people I encounter in day-to-day life. </span><span style="color: #3366ff;">He told me that engineering is like magic &#8211; you understand things in fine details and implement them and make life better.</span></p>
<p>&nbsp;</p>
<h4>Conclusions:</h4>
<ul>
<li>Our system has forgotten the fundamental principles of engineering. At core we are supposed to be fixing real life problems with the use of technology which are supposed to be understanding. Not to point out any single one but in general from students to teachers, from parents to relatives &#8211; everyone is worried too much about grades, attendance, degree,  file work, formal dresses, ensuring rules are followed etc and there is close to 0% focus on doing anything real.</li>
<li>(From story 1) &#8211; A lot of people tend to generalize life of someone they see (old man&#8217;s nephew in this case) with life of anyone else going that path. This is one of biggest problems in the way we think. I am quite sure old man had no idea on how much serious his nephew was for life.</li>
<li>At the same time, I realized the bitter fact of life that I was in a place where anyone could attack me for wasting my parents money on education which will never give good returns. There was no point in arguing with &#8220;experienced&#8221; old man but I kept his words in mind for long time. </li>
<li>People who are from outside engineering/modern education domain like the old man from story 2 are way more energetic and enthusiastic about engineering domain as well as life in general. There was a sense of respect and &#8220;good luck in making world better&#8221; in eyes of that old man. </li>
<li>I cannot single out anyone let it be college administration, teachers, students or even parents and relatives. Surely it&#8217;s lack of focus from Govt. side specially with ultra slow bureaucracy at these State Universities. But that&#8217;s more of a Indian problem then education sector problem. We are lacking good leadership from quite sometime now &amp; failing to address some very key issues including education, good roads, 24hrs electricity, infrastructure for disabled, acceptable quality of food &amp; drinking water and lot more. This problem is not much different from old well written article on <a href="http://www.samarthbharat.com/cobwebs.htm" target="_blank">Indian talents caught in cowebs</a>.</li>
<li>There are some very good teachers as well as students in college and there are some really awful ones. That&#8217;s no more different from world in general around us. </li>
</ul>
<p style="text-align: center;"> </p>
<p>&nbsp;</p>
<h4>Story of state colleges in general&#8230;</h4>
<p>What all triggered this 1st year thought was today&#8217;s heavy argument with a senior teacher. I didn&#8217;t slept last night and today went to college in noon time walking 3Kms in hot 43C. Next two hours went plane and wasted. Later as I was able to catch up with senior teacher about &#8220;Internal viva&#8221; and &#8220;Major Project&#8221; updates and he started with meaningless personal attacks. I would not go into details of my specific case but in general everyone is worried.</p>
<p>Worried about technology? <span style="color: #ff0000;"><strong>No</strong></span></p>
<p>Worried about life? <span style="color: #ff0000;"><strong>No</strong></span></p>
<p>Worried about Indian political system? <span style="color: #ff0000;"><strong>No</strong></span> :)</p>
<p>Worried about energy crisis? <span style="color: #ff0000;"><strong>No</strong></span></p>
<p>&nbsp;</p>
<p>Well there are lot more &#8220;important things&#8221; for kids in our college to worry about like:</p>
<ul>
<li>Pending file for major project</li>
<li>&#8220;Comprehensive viva&#8221; where (according to kids) teacher tend to bite for no reason!</li>
<li>Giving &#8220;seminar&#8221; (or simply some presentation students tend to grab from web and read it!)</li>
<li>Expense on getting a file re-printed due to some minor font mistakes</li>
<li>Non-working project (which they copied from somewhere)</li>
<li>Worried about upcoming result for last semester</li>
<li>and lot more&#8230;</li>
</ul>
<p>&nbsp;</p>
<p>I am sure old man (from story 2) will laugh if I go with him with these problems. <img src='http://anuragbhatia.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
<p>Or may be he will loose confidence in engineering like most of people around me. A lot of these problems are simply because there is just no motivation to solve a &#8220;real problem&#8221; and that is why people tend to worry about things which do not matter in long term. The same is true in usual family get-to-gathers I attend. People ask me about future plans, idea of studying further or job, which company is hot for job, who pays what and all. No one bothers discussing any real world problem from technical issues to political issues country is facing. </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="text-align: center;"><img class="aligncenter" alt="" src="http://www.defeatdiabetes.org/resource/dynamic/global/self_managementpiled_w_paperwork_istock_000003273921small.jpg" width="360" height="480" /> </p>
<h4> </h4>
<h4>The Paper obsession&#8230;</h4>
<p>Some of problems are from University like stupid requirement of excessive paper work like files, projects etc. One could simply use softcopy and save lot of money &amp; trees.</p>
<p>For example in last semester for minor project students paid around 200-300Rs i.e $5 or so for each file. There are around 65 students in my class and few went for multiple copies too (for their &#8220;records&#8221;). So on an average there were around 100 files printed with average of 100 papers. There&#8217;s even wastage of papers in so called &#8220;pre-reports&#8221; i.e printed papers on spiral binding. So I can guess a combined expense of around $600 from our class alone in 7th semester. And so will happen now in 8th semester too till some expense. So we are looking at a figure of $1000 worth of expense on &#8220;paper work&#8221; by each department in final year. Leaving alone rest of hand written as well as printed files in first three years. Not kidding, but the amount of money we (Indians) waste here on un-necessary things is really surprising. One of my American friend once asked me about it on how price conscious Indian society go for awful wastage of resources in such manner. Answer to that is &#8220;system&#8221;. If we look at chain &#8211; money often comes from parents pockets who feel pride in bearing expenses for education (whether or not there&#8217;s a real value in it), kids often pay because they don&#8217;t care much for such flow of money between hands, teachers/college stay hard on such rules to ensure they &#8220;follow University rules&#8221; no matter how dumb such activities look like and administrators at university don&#8217;t care because there&#8217;s a lot to worry about then just changing a simple rule. And then we hear Sam Pitroda telling how new fiber optic network deployment in rural area in help in pushing e-governance!  There are lot more examples like the paper obsession but putting all that will make this blog post too long.  :)</p>
<p><span style="color: #008000;">Once a friend asked me about possible &#8220;<em>real life problems</em>&#8221; which we can solve. We were standing at bus stop and there was a huge rush of students. There isn&#8217;t a serious shortage of buses in Haryana or specifically on Yamunagar &#8211; Kurukushtra and Yamunagar &#8211; Karnal &#8211; Delhi route but still there is a mad rush for buses during morning and evening. One of strong reasons for this is the fact that bus schedule is often not followed due to Indian roads, jams and number of other issues. This tends of unexpected load on buses which are available e.g lot of people tend to go on buses which are available because they have no idea when is next direct bus. This problem can be very easily solved by a bunch of engineering students. One can easily create a simple GPS tracking system integrated with sms triggers. I am sure one can develop a simple system based out of cheap hardware with basic integrated backend software. One can push this with some installations in couple of routes and easily give a direction to (less tech. savy) staff on Haryana roadways in solving this problem. </span></p>
<p>&nbsp;</p>
<p>There are number of other real world problems on which engineering students can work &#8211; like efficient cooling in ultra hot summer weather to heating of water in cold weathers. The way in which high voltage power lines are deployed in India &#8211; a solution for fixing them itself can be a interesting case or simply looking at problem of bit low quality drinking water or even fixing slow &amp; expensive internet in India! <img src='http://anuragbhatia.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The list is endless and I wish students come out and do something which matters rather then hitting head on stuff like paper obsession or next degree or certificate or any other low hanging fruit. Conventional wisdom tells <span style="color: #ff0000;">More Certificates -&gt; Better job -&gt; More money -&gt; Happy life</span>. Entire chain is <strong><span style="color: #ff0000;">wrong</span></strong> at each point!</p>
<p>&nbsp;</p>
<p><span style="color: #0000ff;">That&#8217;s all being said &#8211; I did called senior teacher late evening and apologised for my hard words coming out of frustration but stayed on my stand on fact that we have just lost focus. It&#8217;s not about me, him or college &#8230;it&#8217;s just everyone of us. </span></p>
<p>&nbsp;</p>
<p>Back to some &#8220;real work&#8221;&#8230;! <img src='http://anuragbhatia.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://anuragbhatia.com/my-life/lost-sense-of-engineering/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Routes leaks by Indian ISPs for NIXI&#8217;s routes</title>
		<link>http://anuragbhatia.com/networking/routes-leaks-by-indian-isps-for-nixis-routes/</link>
		<comments>http://anuragbhatia.com/networking/routes-leaks-by-indian-isps-for-nixis-routes/#comments</comments>
		<pubDate>Fri, 03 May 2013 08:18:59 +0000</pubDate>
		<dc:creator>Anurag Bhatia</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[BGP]]></category>
		<category><![CDATA[niXi]]></category>
		<category><![CDATA[Oregon]]></category>
		<category><![CDATA[Route Leak]]></category>
		<category><![CDATA[Tulip]]></category>
		<category><![CDATA[VSNL]]></category>

		<guid isPermaLink="false">http://anuragbhatia.com/?p=2290</guid>
		<description><![CDATA[Interesting days as always. Recently I was handed over &#8220;Alumni form&#8221; from college. Mixed feelings. This brings me to conclusion that I somewhat missed college life but anyways that&#8217;s small price I paid for my high obsession with some long term ideas. (ok may be that explains why I don&#8217;t have a Facebook account? Stop asking [...]]]></description>
				<content:encoded><![CDATA[<p>Interesting days as always. Recently I was handed over &#8220;<em>Alumni form</em>&#8221; from college. <br />Mixed feelings. This brings me to conclusion that I somewhat missed college life but anyways that&#8217;s small price I paid for my high obsession with some long term ideas. (<em>ok may be that explains why <strong>I don&#8217;t have a Facebook account</strong>? Stop asking me about it!</em>)</p>
<p>Hard to come to any conclusion at this stage. </p>
<p>&nbsp;</p>
<p>Anyways post for today&#8230;</p>
<p>&nbsp;</p>
<p>Last night I was trying to see impact of mis-match of route objects &amp; prefix visibility. So far have not been able to get much but anyways realized an interesting issue. I found that few ISPs which participate at <a href="http://nixi.in" target="_blank">NIXI</a> (and also have transit from other major ISPs) and are leaking routes learnt from NIXI to the transit.</p>
<p>&nbsp;</p>
<p>This is surely a result of mis-configuration of prefix filters in their BGP routers by these networks. NIXI is an IXP <a href="http://nixi.in/en/connected-parties" target="_blank">where ISPs peer</a>. Now peering means exchange of routing information. If A is peering with B, it means A will pass it&#8217;s own routes + it&#8217;s downstream customer routes to B and so does B. No one is supposed to be passing their peer routes to each other or peer routes to transit. </p>
<p>&nbsp;</p>
<p>Let&#8217;s look at global IPv4 table from <a href="http://www.routeviews.org/" target="_blank">Oregon route-views project</a> for entries having <span style="color: #0000ff;">AS24029</span> (NIXI&#8217;s ASN) in AS path &#8211; <a href="http://anuragbhatia.com/uploads/2013/05/nixi-routes-in-global-table.txt" target="_blank">output here</a></p>
<p>&nbsp;</p>
<p>Picking couple of samples from output:</p>
<blockquote>
<p>* 103.9.132.0/24                66.110.0.86                6453 4755 <span style="color: #ff0000;">9829</span> <span style="color: #0000ff;">24029</span> 18101 18101 <span style="color: #ff6600;">58603</span> i</p>
<p>* 119.226.240.0/23           66.110.0.86                 6453 4755 <span style="color: #ff0000;">9829</span> <span style="color: #0000ff;">24029</span> <span style="color: #ff6600;">9583</span> i</p>
<p>* 202.90.192.0                   69.31.111.244              4436 3549 <span style="color: #ff0000;">9829</span> <span style="color: #0000ff;">24029</span> 9583 <span style="color: #ff6600;">45264</span> i</p>
<p>* 193.108.88.0                   66.110.0.86                 6453 4755 <span style="color: #ff0000;">17439</span> <span style="color: #0000ff;">24029</span> 9498 20940 20940 <span style="color: #ff6600;">21342</span> i</p>
<p>* 203.119.50.0                   4.69.184.193                3356 1273 9583 <span style="color: #ff0000;">24186</span> <span style="color: #0000ff;">24029</span> <span style="color: #ff6600;">4755</span> i</p>
</blockquote>
<p>and few more&#8230;</p>
<p>&nbsp;</p>
<p>There are in total 18 prefixes being leaked by around 4-5 ISPs. </p>
<p>&nbsp;</p>
<p>First three routes here are coming from BSNL&#8217;s incorrect prefix filters. In 1st case  <span style="color: #ff6600;">AS58603</span> is originating 103.9.132.0/24 to it&#8217;s transit Reliance AS18101which is announcing it to NIXI&#8217;s route server <span style="color: #0000ff;">AS24029</span> (with a prepend). Next, BSNL is getting prefixes from route server and BSNL <span style="color: #ff0000;">AS9829</span> is further announcing these prefixes to Tata-VSNL AS4755. </p>
<p>4th case is of MTNL <span style="color: #ff0000;">AS17439</span> leaking routes learnt from NIXI. There are few other cases like last one with <span style="color: #ff0000;">AS24186</span> <a href="http://www.railtelindia.com/#" target="_blank">Railtel</a> (ISP wing of Indian Railways).</p>
<p>&nbsp;</p>
<p>Well that&#8217;s about it. If you are an ISP and reading this blog post &#8211; then stop leaking stuff out on transit. <img src='http://anuragbhatia.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
<p>&nbsp;</p>
<p>Time for me to get back to my work!</p>
]]></content:encoded>
			<wfw:commentRss>http://anuragbhatia.com/networking/routes-leaks-by-indian-isps-for-nixis-routes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tanzania Telecom leaking Telia routes to Tata</title>
		<link>http://anuragbhatia.com/networking/tanzania-telecom-leaking-telia-routes-to-tata/</link>
		<comments>http://anuragbhatia.com/networking/tanzania-telecom-leaking-telia-routes-to-tata/#comments</comments>
		<pubDate>Sun, 28 Apr 2013 02:17:13 +0000</pubDate>
		<dc:creator>Anurag Bhatia</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[BGP]]></category>
		<category><![CDATA[Route Leak]]></category>
		<category><![CDATA[Tata]]></category>
		<category><![CDATA[Telia]]></category>

		<guid isPermaLink="false">http://anuragbhatia.com/?p=2281</guid>
		<description><![CDATA[Last night I was looking at routing tables and saw a interesting case where for a specific route.
&#160;
Here&#8217;s what I got from Tata&#8217;s AS6453 looking glass:

Router: gin-ldn-core4 Site: UK, London, LDN Command: show ip bgp 117.219.227.229
BGP routing table entry for 117.219.224.0/20Bestpath Modifiers: deterministic-medPaths: (4 available, best #4)Multipath: eBGP 17 18 19
33765 1299 3549 9829, (received-only) [...]]]></description>
				<content:encoded><![CDATA[<p>Last night I was looking at routing tables and saw a interesting case where for a specific route.</p>
<p>&nbsp;</p>
<p>Here&#8217;s what I got from <a href="lg.as6453.net/bin/lg.cgi" target="_blank">Tata&#8217;s AS6453 looking glass</a>:</p>
<blockquote>
<p>Router: gin-ldn-core4 <br />Site: UK, London, LDN <br />Command: show ip bgp 117.219.227.229</p>
<p>BGP routing table entry for <span style="color: #ff0000;">117.219.224.0/20</span><br />Bestpath Modifiers: deterministic-med<br />Paths: (4 available, best #4)<br />Multipath: eBGP<br /> 17 18 19</p>
<p><span style="color: #ff0000;">33765 1299 3549 9829</span>, (received-only)<br /> <span style="color: #0000ff;">ix-3-1-2.core4.LDN-London. from ix-3-1-2.core4.LDN-London. (ix-3-1-2.core4.LDN-London.)</span><br /><span style="color: #0000ff;"> Origin IGP, valid, external</span></p>
<p>4755 9829<br /> mlv-tcore2. (metric 3605) from l78-tcore2. (66.110.10.234)<br /> Origin IGP, valid, internal<br /> Community: <br /> Originator: 66.110.10.215</p>
<p>4755 9829<br /> mlv-tcore2. (metric 3605) from l78-tcore1. (66.110.10.237)<br /> Origin IGP, valid, internal<br /> Community: <br /> Originator: 66.110.10.215</p>
<p>4755 9829<br /> mlv-tcore2. (metric 3605) from ldn-mcore3. (ldn-mcore3.)<br /> Origin IGP, valid, internal, best<br /> Community: <br /> Originator: 66.110.10.215</p>
</blockquote>
<p>&nbsp;</p>
<p>The first route in table seems pretty weird. AS path is <span style="color: #ff0000;">33765 1299 3549 9829</span> i.e clearly AS33765 sitting in middle of AS6453 and AS1299. This must be a route leak since<a href="http://www.tatacommunications.com/" target="_blank"> Tata AS6453</a> and <a href="http://www.telia.se/privat/minasidor" target="_blank">Telia AS1299</a> are way too bigger then <a href="http://www.ttcl.co.tz/" target="_blank">Tanzania telecom</a> and hence there&#8217;s no possibility of Tata transitting via Tanzania telecom. Though issue seems for just one specific route for BSNL which Tanzania telecom is learning from Telia, which further is getting from Global Crossing AS3549 (one of upstreams of BSNL). </p>
<p>As per RADB both Telia and Tata Comm are upstreams of AS33765.</p>
<blockquote>
<p>anurag:~ anurag$ whois -h whois.radb.net <span style="color: #ff0000;">as1299</span> | grep <span style="color: #0000ff;">33765</span><br />import: from AS33765 action pref=50; accept AS-33765<br />export: to AS33765 announce ANY<br />mp-import: afi ipv6 from AS33765 accept AS-33765<br />mp-export: afi ipv6 to AS33765 announce ANY<br />anurag:~ anurag$ <br />anurag:~ anurag$ <br />anurag:~ anurag$ whois -h whois.radb.net <span style="color: #ff0000;">as6453</span> | grep <span style="color: #0000ff;">33765</span><br />import: from AS33765 action pref = 50; accept AS33765<br />export: to AS33765 announce ANY<br />anurag:~ anurag$</p>
</blockquote>
<p>&nbsp;</p>
<p>With hope that you are not leaking routes between two tier 1 networks, time for me to start my day! <img src='http://anuragbhatia.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://anuragbhatia.com/networking/tanzania-telecom-leaking-telia-routes-to-tata/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IRINN &#124; APNIC inetnum range confusion</title>
		<link>http://anuragbhatia.com/networking/irinn-apnic-inetnum-range-confusion/</link>
		<comments>http://anuragbhatia.com/networking/irinn-apnic-inetnum-range-confusion/#comments</comments>
		<pubDate>Thu, 25 Apr 2013 21:42:39 +0000</pubDate>
		<dc:creator>Anurag Bhatia</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[APNIC]]></category>
		<category><![CDATA[ARIN]]></category>
		<category><![CDATA[IANA]]></category>
		<category><![CDATA[ICANN]]></category>
		<category><![CDATA[IPv4]]></category>
		<category><![CDATA[IRINN]]></category>
		<category><![CDATA[RIPE]]></category>

		<guid isPermaLink="false">http://anuragbhatia.com/?p=2272</guid>
		<description><![CDATA[Last week I saw an interesting post at APNIC mailing list about IRINN (recently formed NIR in Indian region). 
&#160;
Poster Jimmy was concerned about IRINN&#8217;s netname

inetnum: 0.0.0.0 &#8211; 255.255.255.255netname: IRINN-BROADCAST-ADDRESSESdescr: Broadcast addressesdescr: These addresses cannot (should not) be routed on the Internet.country: INadmin-c: IH1-INtech-c: IH1-INstatus: ALLOCATED PORTABLEremarks: send spam and abuse report to info@irinn.inmnt-by: IRINN-HMmnt-irt: IRT-IRINNHM-INmnt-lower: [...]]]></description>
				<content:encoded><![CDATA[<p>Last week I saw <a href="http://mailman.apnic.net/mailing-lists/apnic-talk/archive/2013/04/msg00004.html" target="_blank">an interesting post</a> at APNIC mailing list about <a href="http://www.irinn.in/" target="_blank">IRINN</a> (recently formed NIR in Indian region). </p>
<p>&nbsp;</p>
<p>Poster Jimmy was concerned about IRINN&#8217;s netname</p>
<blockquote>
<p>inetnum: 0.0.0.0 &#8211; 255.255.255.255<br />netname: <span style="background-color: #ffff00;">IRINN-BROADCAST-ADDRESSES</span><br />descr: Broadcast addresses<br />descr: These addresses cannot (should not) be routed on the Internet.<br />country: IN<br />admin-c: IH1-IN<br />tech-c: IH1-IN<br />status: ALLOCATED PORTABLE<br />remarks: send spam and abuse report to info@irinn.in<br />mnt-by: IRINN-HM<br />mnt-irt: IRT-IRINNHM-IN<br />mnt-lower: IRINN-HM<br />changed: hostmaster2@irinn.in 20130420<br />source: IRINN</p>
</blockquote>
<p>&nbsp;</p>
<p>As per first two lines entire IPv4 address space i.e 0.0.0.0/0 (ranging from 0.0.0.0 to 255.255.255.255) was put as IRINN-Broadcast while expected was IANA broadcast (since <a href="http://www.iana.org/" target="_blank">IANA</a> sits on top in this RIR &amp; NIR hierarchy).</p>
<p>Right after that post IRINN came into action and changed values to:</p>
<blockquote>
<p>inetnum: <strong><span style="color: #0000ff;">255.0.0.0</span></strong> &#8211; 255.255.255.255<br />netname: <span style="color: #ff0000;"><strong>IANA-BROADCAST-ADDRESSES</strong></span><br />descr: Broadcast addresses<br />descr: These addresses cannot (should not) be routed on the Internet.<br />descr: http://www.apnic.net/db/RIRs.html<br />country: US<br />admin-c: HM20-AP<br />tech-c: NO4-AP<br />remarks: This is a placeholder object to ensure no objects are created<br />remarks: in the enclosing range.<br />mnt-by: MAINT-APNIC-AP<br />mnt-lower: MAINT-APNIC-AP<br />changed: apnic-dbm@apnic.net 19991214<br />changed: hm-changed@apnic.net 20040926<br />status: ALLOCATED PORTABLE<br />source: APNIC</p>
<p>&nbsp;</p>
</blockquote>
<p>This had correct netname suggesting IANA but source is APNIC and moreover it got a really interesting inetnum i.e 255.0.0.0 to 255.255.255.255. This really sounded bit weird to me as I was expecting entire IPv4 address range here and start from 255.0.0.0 rather then from 0.0.0.0 sounds confusing. </p>
<p>&nbsp;</p>
<p>I did some testing and saw results from whois db were different based on query. I was getting range from 255.0.0.0 to 255.255.255.255 if I query APNIC db for 0.0.0.0/0 while for 0.0.0.0 (without /0) I was getting expected range 0.0.0.0 to 255.255.255.255. <a href="http://mailman.apnic.net/mailing-lists/apnic-talk/archive/2013/04/msg00009.html" target="_blank">I posted about this</a> in APNIC mailing list to figure out reason for these strange numbers.</p>
<p>I got a really <a href="http://mailman.apnic.net/mailing-lists/apnic-talk/archive/2013/04/msg00010.html" target="_blank">interesting reply from Leo Vegoda</a> from ICANN:</p>
<blockquote>
<p>I agree that it seems quite odd. 255/8 is part of 240/4. In 240/4 the only address whose use has been defined is 255.255.255.255, which is used for limited broadcast. The rest of 255/8 does not (yet) have a defined use. You can find the details here: <a href="http://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xml" rel="nofollow">http://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xml</a></p>
<p>Regards, Leo</p>
</blockquote>
<p>Right after his reply, Guangliang from APNIC posted clarification and actually fix too. <img src='http://anuragbhatia.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<blockquote>
<p>Thanks to Anurag for pointing out this and Leo for your clarifications. The inetnum object 255.0.0.0 &#8211; 255.255.255.255 was created in 1999 to reflect that Broadcast reservation. We have now removed it from the APNIC whois database to avoid any confusion.</p>
<p>Best regards,</p>
<p>Guangliang</p>
</blockquote>
<p>&nbsp;</p>
<p>So yet another interesting case from internet world. Time for me to get back to work, have a good time ahead! <img src='http://anuragbhatia.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://anuragbhatia.com/networking/irinn-apnic-inetnum-range-confusion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating a cable for fast USB charging</title>
		<link>http://anuragbhatia.com/electronic-stuff/creating-a-cable-for-fast-usb-charging/</link>
		<comments>http://anuragbhatia.com/electronic-stuff/creating-a-cable-for-fast-usb-charging/#comments</comments>
		<pubDate>Wed, 10 Apr 2013 21:09:23 +0000</pubDate>
		<dc:creator>Anurag Bhatia</dc:creator>
				<category><![CDATA[Electronic Stuff]]></category>
		<category><![CDATA[Charging]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[PowerGen]]></category>
		<category><![CDATA[USB]]></category>

		<guid isPermaLink="false">http://anuragbhatia.com/?p=2247</guid>
		<description><![CDATA[When I was in US last time, I picked a nice charger with it&#8217;s own backup from Amazon. It&#8217;s PowerGen charger with a storage capacity of 8400mAh with two USB ports for output (one with 2Amps output and other with 600mA with 5V standard USB).
 
This is a amazing product since 8400mAh is really huge amount [...]]]></description>
				<content:encoded><![CDATA[<p>When I was in US last time, I picked a nice charger with it&#8217;s own backup from Amazon. It&#8217;s <a href="http://www.amazon.com/PowerGen-PGMPP8400-External-sensation-Thunderbolt/dp/B0073F92OK" target="_blank">PowerGen charger with a storage capacity of 8400mAh</a> with two USB ports for output (one with 2Amps output and other with 600mA with 5V standard USB).</p>
<p style="text-align: center;"><img class="aligncenter  wp-image-2254" alt="IMG_20130411_015748" src="http://anuragbhatia.com/uploads/2013/04/IMG_20130411_015748.jpg" width="671" height="504" /> </p>
<p>This is a amazing product since 8400mAh is really huge amount power. My phone&#8217;s battery has a capacity of 1750mAh and theoretically speaking this can charge battery from 0 to full around 4 times. In practical experience I have tried for around 3 times during long flights. Never really needed to go beyond that point. </p>
<p>The charging cable which came with this charger has something special &#8211; It&#8217;s a &#8220;<em>charging only</em>&#8221; cable without any data connection capability. The charging only cable carries only &#8220;e<em>lectrical connectivity</em>&#8221; via + and &#8211; wires without any data pins (D+ and D- shorted). The advantage is that charging speed with this cable was really fast and I really enjoyed using it with external charger as well as my iPad&#8217;s charger which has a 2A output (which brings 2A x 5V = 10W power).</p>
<p>In theory these charging only cables give very fast charging because they don&#8217;t put USB data connection. A standard USB port on computer has power limits and device is signaled to pull more power via &#8220;shorted data pins&#8221;. Usually device is connected to 600mA or even less in data+charging mode, while such shorting brings power to max of port which is usually 1A for most of ports (and 2Amps for iPad charger).</p>
<p>Unfortunately connector of cable which came with my powergen charger went pretty loose. </p>
<p>Tonight I decided to make an extra data cable which was lying around into &#8220;charging only&#8221; cable by shorting it&#8217;s D+ and D- mins. It was pretty easy except that actual wires are really thin and I had slightly hard time in removing insulation without breaking them off. </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h4>Steps for creating a &#8220;charging only&#8221; cable</h4>
<p>&nbsp;</p>
<p><strong>Step 1</strong> &#8211; Pick a standard USB data cable</p>
<p style="text-align: left;">Cable before starting:</p>
<p style="text-align: center;"> </p>
<p style="text-align: center;"><img class="aligncenter  wp-image-2250" alt="USB Data Cable" src="http://anuragbhatia.com/uploads/2013/04/IMG_20130411_0055151.jpg" width="590" height="635" /></p>
<p style="text-align: center;"> </p>
<p style="text-align: center;"> </p>
<p style="text-align: left;"><strong>Step 2</strong> &#8211; Cut it right from middle and peal off outer insulation</p>
<p style="text-align: left;">It will have 4 wires &#8211; Red &amp; black (for electrical current flow), white &amp; green (for data connection)</p>
<p style="text-align: left;"> </p>
<p style="text-align: center;"> <img class="aligncenter  wp-image-2251" alt="IMG_20130411_005712" src="http://anuragbhatia.com/uploads/2013/04/IMG_20130411_005712.jpg" width="560" height="420" /></p>
<p style="text-align: center;"> </p>
<p style="text-align: center;"> </p>
<p style="text-align: left;"> </p>
<p style="text-align: left;"><strong>Step 3</strong> &#8211; Now idea is to short the data pins (green and white) going<strong> towards phone</strong> while just leave white and green going towards USB port/charger side disconnected. Red and black should be connected as normal for electrical connectivity. </p>
<p style="text-align: center;"><img class="aligncenter  wp-image-2257" alt="IMG_20130411_011227" src="http://anuragbhatia.com/uploads/2013/04/IMG_20130411_011227.jpg" width="700" height="425" /> </p>
<p style="text-align: center;"> </p>
<p style="text-align: left;"> </p>
<p style="text-align: left;"><strong>Step 4</strong>- That&#8217;s pretty much it. Just insulate final red and black connection in a way to make sure they never short.</p>
<p style="text-align: left;"> </p>
<p style="text-align: left;">This is how cable looks like in my case after shorting data pins and insulting it back.</p>
<p style="text-align: left;"> </p>
<p style="text-align: center;"><img class="aligncenter  wp-image-2253" alt="IMG_20130411_011539" src="http://anuragbhatia.com/uploads/2013/04/IMG_20130411_011539.jpg" width="560" height="420" /></p>
<p style="text-align: center;"> </p>
<p style="text-align: center;"> </p>
<p style="text-align: left;">That&#8217;s about it.</p>
<p style="text-align: left;">Back to work for now! <img src='http://anuragbhatia.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://anuragbhatia.com/electronic-stuff/creating-a-cable-for-fast-usb-charging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Transit at IXP &amp; &#8220;next-hop-self&#8221;</title>
		<link>http://anuragbhatia.com/networking/transit-at-ixp-next-hop-self/</link>
		<comments>http://anuragbhatia.com/networking/transit-at-ixp-next-hop-self/#comments</comments>
		<pubDate>Tue, 09 Apr 2013 05:22:30 +0000</pubDate>
		<dc:creator>Anurag Bhatia</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[BGP]]></category>
		<category><![CDATA[IXP]]></category>
		<category><![CDATA[Next-hop-self]]></category>
		<category><![CDATA[Peering]]></category>
		<category><![CDATA[Transit]]></category>

		<guid isPermaLink="false">http://anuragbhatia.com/?p=2227</guid>
		<description><![CDATA[And college started after pretty good holi holidays. Again having bit painful time due to hot weather and this is just start of summers. Well all I can hope is that there won&#8217;t be voltage issues in village again (like last time). And just to make sure on that part &#8211; I have put 2 [...]]]></description>
				<content:encoded><![CDATA[<p>And college started after pretty good holi holidays. Again having bit painful time due to hot weather and this is just start of summers. Well all I can hope is that there won&#8217;t be voltage issues in village again (like last time). And just to make sure on that part &#8211; I have put 2 RTI&#8217;s asking Power department about their preparation details. <img src='http://anuragbhatia.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><img class="aligncenter" alt="" src="http://www.quicksprout.com/images/writingablogpost.jpg" width="480" height="298" /></p>
<p>Anyways coming on blog post topic for the day &#8211; the effect of &#8220;next-hop-self&#8221; at an IXP when there are peers as well as transit customers of a network. Just to be clear in start &#8211; this post will stick to technical side of it and without going into IXP policy side of it. </p>
<p>&nbsp;</p>
<p>OK let&#8217;s consider a case of an Internet Exchange Point (IXP) where we have three participants &#8211; A, B and C. Now A is very big ISP, while B is a big (not as big as A though) while C is pretty small. All are connected on same switch and under same broadcast subnet 10.0.0.0/24 with A having autonomous system number 1 and is allocated 10.0.0.1 (from IXP&#8217;s /24), B having AS2 with IP 10.0.0.2 and C having AS3 with IP 10.0.0.3.</p>
<p>&nbsp;</p>
<p>Now B &#8220;requests&#8221; A for peering and A decides that since B has a significant part of routing table, it&#8217;s a good idea to peer, and so A and B start peering. Next, C goes to A with same requests and considering (small) size of C, A rejects peering request and rather offers paid transit at some X price. B hears about this issue and goes to C to offer &#8220;cheap transit&#8221; to reach A (since B peers with A already) and eventually C agrees and becomes a downstream customer of B.</p>
<p>&nbsp;</p>
<p>I am doing this scenario setup on GNS and here&#8217;s how things will look like:</p>
<p style="text-align: center;"><a href="http://anuragbhatia.com/uploads/2013/04/Screen-Shot-2013-04-09-at-9.59.30-AM.png"><img class="aligncenter  wp-image-2228" alt="3 routers connection" src="http://anuragbhatia.com/uploads/2013/04/Screen-Shot-2013-04-09-at-9.59.30-AM.png" width="637" height="375" /></a></p>
<p>&nbsp;</p>
<p>Looking at router B (AS2):</p>
<p>&nbsp;</p>
<blockquote>
<p>b.net&gt;sh ip bgp summary <br />BGP router identifier 10.0.0.2, local AS number 2<br />BGP table version is 6, main routing table version 6<br />5 network entries using 485 bytes of memory<br />5 path entries using 180 bytes of memory<br />3 BGP path attribute entries using 180 bytes of memory<br />2 BGP AS-PATH entries using 48 bytes of memory<br />0 BGP route-map cache entries using 0 bytes of memory<br />0 BGP filter-list cache entries using 0 bytes of memory<br />BGP using 893 total bytes of memory<br />BGP activity 5/0 prefixes, 5/0 paths, scan interval 60 secs</p>
<p><span style="color: #0000ff;">Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd</span><br /><span style="color: #0000ff;">10.0.0.1 4 1 25 26 6 0 0 00:20:02 3</span><br /><span style="color: #0000ff;">10.0.0.3 4 3 5 6 6 0 0 00:00:39 1</span><br />b.net&gt;</p>
</blockquote>
<p>&nbsp;</p>
<p>So we have two sessions &#8211; one with A (peering) and one with C (customer).</p>
<p>&nbsp;</p>
<p>Now let&#8217;s check on customer C&#8217;s router to see what they have got in table:</p>
<blockquote>
<p>c.net&gt;<br />c.net&gt;sh ip bgp<br />BGP table version is 6, local router ID is 10.0.0.3<br />Status codes: s suppressed, d damped, h history, * valid, &gt; best, i &#8211; internal<br />Origin codes: i &#8211; IGP, e &#8211; EGP, ? &#8211; incomplete</p>
<p>Network Next Hop Metric LocPrf Weight Path<br />*&gt; 60.0.0.0/24 <span style="color: #0000ff;">10.0.0.1</span> 0 <span style="color: #ff0000;">2</span> <span style="color: #0000ff;">1</span> i<br />*&gt; 61.0.0.0/24 <span style="color: #0000ff;">10.0.0.1</span> 0 <span style="color: #ff0000;">2</span> <span style="color: #0000ff;">1</span> i<br />*&gt; 62.0.0.0/24 <span style="color: #0000ff;">10.0.0.1</span> 0 <span style="color: #ff0000;">2</span> <span style="color: #0000ff;">1</span> i<br />*&gt; 70.0.0.0/24 <span style="color: #0000ff;">10.0.0.2</span> 0 0 <span style="color: #ff0000;">2</span> i<br />*&gt; 80.0.0.0/24 0.0.0.0 0 32768 i<br />c.net&gt;</p>
</blockquote>
<p>&nbsp;</p>
<p>OK &#8211; we can see C is getting 60.0.0.0/24, 61.0.0.0/24 and 62.0.0.0/24 which is originated by <span style="color: #0000ff;">AS 1</span> (ISP A) and AS path is <span style="color: #ff0000;">2</span> &gt; <span style="color: #0000ff;">1</span> which seems all good but &#8220;next hop&#8221; is <span style="color: #0000ff;">10.0.0.1</span> which is IP of router A. So basically traffic is NOT going via B, only AS path is telling AS path is C &gt; B &gt; A but actual flow of packets is C &gt; A directly</p>
<p>  </p>
<p>Let&#8217;s look at trace:</p>
<blockquote>
<p>c.net&gt;traceroute 60.0.0.1</p>
<p>Type escape sequence to abort.<br />Tracing the route to 60.0.0.1</p>
<p>1 <span style="color: #0000ff;">10.0.0.1</span> 16 msec 16 msec * <br />c.net&gt;</p>
</blockquote>
<p>&nbsp;</p>
<p>This is something which few people dislike because traffic is flowing between C and A directly while C is paying to B. So B is making money without even having traffic on their ports!</p>
<p>Again &#8211; I am not going into whether this argument is good or not because then we will come on argument why A didn&#8217;t peered with C when they were on same switch already?! !<br />If traffic flows from B&#8217;s port then it will have to pass IXP switch twice C &gt; switch &gt; B and B &gt; switch &gt; A and again return as A &gt; switch &gt; B, B &gt; switch &gt; C.</p>
<p>&nbsp;</p>
<p>What if IXP tries and make sure that direct flow doesn&#8217;t happens?</p>
<p>Let&#8217;s say if IXP forces &#8220;next-hop-self&#8221;?</p>
<p>&nbsp;</p>
<h4>Firstly let&#8217;s recall what exactly &#8220;next-hop-self&#8221; means:</h4>
<p>It&#8217;s an important parameter used in BGP sessions to put &#8220;next hop&#8221; as itself for adjacent peer. It is needed in lot&#8217;s of cases when router which is originating prefix appears to be on same subnet and but not reachable by other peer.  </p>
<p>Let&#8217;s reconfigure router of B.net for it&#8217;s neighbour C.net on 10.0.0.3</p>
<blockquote>
<p>b.net&gt;enable <br />Password: <br />b.net#conf t <br />Enter configuration commands, one per line. End with CNTL/Z.<br />b.net(config)#router b<br />b.net(config)#router bgp 2<br />b.net(config-router)#nei<br />b.net(config-router)#neighbor 10.0.0.3 next-hop-self <br />b.net(config-router)#end<br />b.net#<br />00:37:18: %SYS-5-CONFIG_I: Configured from console by console<br />b.net#<br />b.net#<br />b.net#</p>
</blockquote>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Checking routing table on router C again:</p>
<blockquote>
<p>c.net&gt;sh ip bgp<br />BGP table version is 9, local router ID is 10.0.0.3<br />Status codes: s suppressed, d damped, h history, * valid, &gt; best, i &#8211; internal<br />Origin codes: i &#8211; IGP, e &#8211; EGP, ? &#8211; incomplete</p>
<p>Network Next Hop Metric LocPrf Weight Path<br />*&gt; 60.0.0.0/24 <span style="color: #ff0000;">10.0.0.2</span> 0 <span style="color: #ff0000;">2</span> <span style="color: #0000ff;">1</span> i<br />*&gt; 61.0.0.0/24 <span style="color: #ff0000;">10.0.0.2</span> 0 <span style="color: #ff0000;">2</span> <span style="color: #0000ff;">1</span> i<br />*&gt; 62.0.0.0/24 <span style="color: #ff0000;">10.0.0.2</span> 0 <span style="color: #ff0000;">2</span> <span style="color: #0000ff;">1</span> i<br />*&gt; 70.0.0.0/24 <span style="color: #ff0000;">10.0.0.2</span> 0 0 <span style="color: #ff0000;">2</span> i<br />*&gt; 80.0.0.0/24 0.0.0.0 0 32768 i<br />c.net&gt;</p>
</blockquote>
<p>&nbsp;</p>
<p>And as we see &#8211; next hop is 10.0.0.2 now and thus traffic will now actually pass B.</p>
<blockquote>
<p>c.net&gt;traceroute 60.0.0.1</p>
<p>Type escape sequence to abort.<br />Tracing the route to 60.0.0.1</p>
<p>1 <span style="color: #ff0000;">10.0.0.2</span> 16 msec 20 msec 20 msec<br /> 2 <span style="color: #0000ff;">10.0.0.1</span> 44 msec 44 msec * <br />c.net&gt;</p>
</blockquote>
<p>&nbsp;</p>
<p>In general default behaviour of BGP is to take shortest path and ideally it should pick direct router rather then routing packets via IXP switch twice. So well that&#8217;s about it. </p>
<p>&nbsp;</p>
<p>Time to get ready for college class!</p>
<p>&nbsp;</p>
<p><em>Disclaimer: Post is completely a reflection of my personal thoughts and has NOTHING to do with my employer. It does not reflects thoughts or vision of my employeer. </em></p>
]]></content:encoded>
			<wfw:commentRss>http://anuragbhatia.com/networking/transit-at-ixp-next-hop-self/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dark spot in Global IPv6 routing</title>
		<link>http://anuragbhatia.com/networking/dark-spot-in-global-ipv6-routing/</link>
		<comments>http://anuragbhatia.com/networking/dark-spot-in-global-ipv6-routing/#comments</comments>
		<pubDate>Sun, 31 Mar 2013 18:28:06 +0000</pubDate>
		<dc:creator>Anurag Bhatia</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[Cogent]]></category>
		<category><![CDATA[Hurricane Electric]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Peering]]></category>
		<category><![CDATA[Tier 1 Network]]></category>
		<category><![CDATA[Transit]]></category>

		<guid isPermaLink="false">http://anuragbhatia.com/?p=1907</guid>
		<description><![CDATA[ 

&#160;
Fest time at college &#8211; Good since I get lot of free time to spend around looking at routing tables. It&#8217;s always interesting since last week was full of some major submarine cable cuts and has huge impact on Indian networks.
Anyways, an interesting issue to post today about Global IPv6 routing . There are &#8220;dark spots&#8221; [...]]]></description>
				<content:encoded><![CDATA[<p style="text-align: center;"> </p>
<p style="text-align: center;"><a href="https://anuragbhatia.com:443/uploads/2012/10/he-cogent-cake.jpg"><img class="aligncenter  wp-image-1920" title="he-cogent-cake" alt="" src="https://anuragbhatia.com:443/uploads/2012/10/he-cogent-cake.jpg" width="360" height="307" /></a></p>
<p>&nbsp;</p>
<p>Fest time at college &#8211; Good since I get lot of free time to spend around looking at routing tables. It&#8217;s always interesting since last week was full of some major submarine cable cuts and has huge impact on Indian networks.</p>
<p>Anyways, an interesting issue to post today about Global IPv6 routing . There are &#8220;<strong>dark spots</strong>&#8221; in global IPv6 routing because of peering dispute between multiple tier 1 ISPs involving <a href="http://he.net/" target="_blank">Hurricane Electric</a> (AS6939) &amp; <a href="http://www.cogentco.com/" target="_blank">Cogent Communications</a> (AS174).  What&#8217;s happening here is that both tier 1 providers failed to reach on agreement to keep peering up in case of IPv6. This has resulted in parts of global IPv6 internet where packets from one network (and it&#8217;s downstream) can&#8217;t reach other network or their downsteam singled hommed networks. </p>
<p>Only publicly known information about de-peering of Cogent from HE is Mr Mike Leber&#8217;s email to NANOG mailing list <a href="http://mailman.nanog.org/pipermail/nanog/2009-October/014017.html" target="_blank">here</a>. Overall Hurricane Electric seems pretty much open in peering and networking community knows this well. So it is not hard to believe in to Mr Mike&#8217;s mail. Infact they even baked a cake to cheer Cogent up at NANOG meeting 47 at Dearborn, Michigan in 2009.</p>
<p>&nbsp;</p>
<p><iframe src="http://www.youtube.com/embed/7CObnXjmDtg" height="350" width="425" frameborder="0"></iframe></p>
<p>&nbsp;</p>
<h3>Why IPv6 Internet is broken when simply two providers de-peered? </h3>
<p>Answer of this lies in fundamental theory of a Tier 1 network i.e a &#8220;transit free&#8221; network. Hurricane Electric is world&#8217;s biggest IPv6 backbone in terms of number of interconnections while Cogent Communications is a big ISP in US and Europe with significant last mile fiber in many areas of US. It is a popular choice for cheap datacenter upstream transit. </p>
<p>Now since both ISPs are tier 1 i.e transit free network in case of IPv6 internet, they simply do not pay to anyone (on layer 3) to reach any network. Packets from HE can&#8217;t go to Cogent simply because there&#8217;s no transit provider for HE in IPv6 (infact it is the transit provider to lot of networks!). At the same time Cogent is also not having any transit provider in IPv6. Transit here is important because there are many networks in world which are not connected. Say e.g Indian BSNL doesn&#8217;t connects to Hurricane Electric or say Tulip Telecom doesn&#8217;t connects to AT&amp;T directly but packets can be routed because in both cases they have transit from an upstream network which eventually connects to AT&amp;T or peers with AT&amp;T. </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Looking at Cogent&#8217;s IPv6 prefix - 2001:0550::/32 announced from AS174 from Hurricane Electric&#8217;s <a href="telnet://route-server.he.net/" target="_blank">route server</a>:</p>
<p>&nbsp;</p>
<blockquote>
<p>route-server&gt; show bgp ipv6 2001:0550::/32<br /><strong>% Network not in table</strong><br />route-server&gt;</p>
</blockquote>
<p>&nbsp;</p>
<p>There is no public route server from Cogent, thus I am using their <a href="http://www.cogentco.com/en/network/looking-glass" target="_blank">looking glass</a> to reach IPv6 address of he.net to test connectivity:</p>
<blockquote>
<p>PING he.net(he.net) 56 data bytes<br />From 2001:550:1:31f::1 icmp_seq=2 Destination unreachable: No route<br />From 2001:550:1:31f::1 icmp_seq=3 Destination unreachable: No route</p>
<p>&#8212; he.net ping statistics &#8212;<br />5 packets transmitted, 0 received, +2 errors, 100% packet loss, time 14003ms</p>
</blockquote>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>Is dark spot just in case of IPv6? What about their IPv4?</h3>
<p>Yes, this problem in IPv6 specific only. HE and Cogent do not peer in case of IPv4 too but since HE is not a tier 1 in case of IPv4, it rather has a couple of transit providers who seem to be having peering relation with Cogent.</p>
<p>Looking at Cogent&#8217;s IPv4 38.100.128.10  from HE&#8217;s route server:</p>
<blockquote>
<p>route-server&gt; show ip bgp 38.0.0.0/8 long <br />BGP table version is 0, local router ID is 64.62.142.154<br />Status codes: s suppressed, d damped, h history, * valid, &gt; best, i &#8211; internal,<br /> r RIB-failure, S Stale, R Removed<br />Origin codes: i &#8211; IGP, e &#8211; EGP, ? &#8211; incomplete</p>
<p>Network Next Hop Metric LocPrf Weight Path<br />* i38.0.0.0 213.248.92.33 48 70 0 <strong>1299 174</strong> i<br />* i 213.248.92.33 60 70 0 <strong>1299 174</strong> i<br />* i 216.218.252.174 48 70 0 <strong>1299 174</strong> i<br />* i 213.248.86.53 48 70 0 1299 174 i<br />* i 213.248.93.81 48 70 0 1299 174 i<br />* i 213.248.93.81 48 70 0 1299 174 i<br />* i 213.248.67.105 48 70 0 1299 174 i<br />* i 213.248.96.177 48 70 0 1299 174 i<br />* i 213.248.67.125 48 70 0 1299 174 i<br />* i 213.248.70.37 48 70 0 1299 174 i<br />* i 213.248.92.33 48 70 0 1299 174 i<br />* i 213.248.101.145 48 70 0 1299 174 i</p>
</blockquote>
<p>(<em>short extracted view of long output</em>)</p>
<p>&nbsp;</p>
<p>So clearly HE seems using <a href="http://www.teliasonera.com/" target="_blank">AS1299 which Telia Global Network</a> &#8211; one of IPv4 Tier 1 ISPs to reach Cogent. I can guess it is transit provider for HE. At the same time I can see a route from Cogent to HE in IPv4 via <a href="http://www.level3.com/" target="_blank">Global Crossing</a>:</p>
<blockquote>
<p>traceroute to 216.218.186.2 (216.218.186.2), 30 hops max, 60 byte packets<br /> 1 vl99.mag01.ord01.atlas.cogentco.com (66.250.250.89) 0.497 ms 0.444 ms<br /> 2 te0-5-0-3.ccr21.ord01.atlas.cogentco.com (154.54.45.193) 0.437 ms 0.569 ms<br /> 3 te0-5-0-5.ccr22.ord03.atlas.<strong>cogentco.com</strong> (154.54.44.162) 0.647 ms te0-5-0-1.ccr22.ord03.atlas.cogentco.com (154.54.43.230) 0.821 ms<br /> 4 Tenge4-4-10000M.ar3.CHI2.<strong>gblx.net</strong> (64.212.107.73) 0.554 ms 0.562 ms<br /> 5 Hurrican-Electric-LLC.Port-channel100.ar3.SJC2.gblx.net (64.214.174.246) 54.313 ms 54.016 ms<br /> 6 10gigabitethernet1-1.core1.fmt1.he.net (72.52.92.109) 54.792 ms 55.231 ms<br /> 7 * *<br /> 8 * *</p>
</blockquote>
<p>&nbsp;</p>
<p>So clearly networks have connectivity in IPv4 via HE&#8217;s upstreams Global Crossing (which is now Level 3) &amp; Telia. In IPv6 HE simply is not having a customer relationship with Gblx and Telia. And so the dark spot remains there. </p>
<p>&nbsp;</p>
<p>The other fact which confirms that Telia and Gblx are transit for HE is via RADB records of AS1299.</p>
<p>&nbsp;</p>
<blockquote>
<p>Anurags-MacBook-Pro:~ anurag$ whois -h whois.radb.net as1299 | grep 6939<br />import: from AS6939 action pref=50; accept AS-HURRICANE<br />export: to AS6939 <strong>announce <span style="color: #0000ff;">ANY</span></strong><br />mp-import: afi ipv6 from AS6939 accept AS-HURRICANE<br />mp-export: afi ipv6 to AS6939 <strong>announce <span style="color: #ff0000;">AS-TELIANET-V6</span></strong><br />Anurags-MacBook-Pro:~ anurag$</p>
</blockquote>
<p>&nbsp;</p>
<p>Clearly it is announcing ANY ie 0.0.0.0/0 to HE on IPv4 while for IPv6 it is announcing only AS-TELIANET-V6 i.e transit in IPv4 while peering in IPv6.</p>
<p>&nbsp;</p>
<p>With hope that this issue is resolved in near future, time for me to get some sleep! <img src='http://anuragbhatia.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&nbsp;</p>
<p><em id="__mceDel"><strong>Disclaimer:</strong> Focus of this blog post is not about who is responsible for not peering &amp; creating such situation but rather a technical analysis of what happens when big Tie</em><em>r 1 ISPs de-peer.</em></p>
<p><em>Comments are personal and have nothing to do with my employer. I know most of people I mentioned in this post personally and this fact has nothing to do with this blog post!</em></p>
<p><em> </em></p>
]]></content:encoded>
			<wfw:commentRss>http://anuragbhatia.com/networking/dark-spot-in-global-ipv6-routing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SMW4 Cable outage</title>
		<link>http://anuragbhatia.com/networking/smw4-cable-outage/</link>
		<comments>http://anuragbhatia.com/networking/smw4-cable-outage/#comments</comments>
		<pubDate>Wed, 27 Mar 2013 11:07:32 +0000</pubDate>
		<dc:creator>Anurag Bhatia</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[Outage]]></category>
		<category><![CDATA[SMW4]]></category>
		<category><![CDATA[Submarine Cable]]></category>
		<category><![CDATA[Tata Communications]]></category>

		<guid isPermaLink="false">http://anuragbhatia.com/?p=2190</guid>
		<description><![CDATA[Today a friend from Pakistan informed about SMW4 outage. He reported about issues in Pakistan.
It seems like SMW4 is damaged near Egypt and that is what causing high load on East Asian routes giving pretty high latency.
&#160;
I am at my home and sitting BSNL&#8217;s network and latency with Europe has jumped terribly to 700-800ms. Right [...]]]></description>
				<content:encoded><![CDATA[<p>Today a friend from Pakistan informed about SMW4 outage. He reported about issues in Pakistan.</p>
<p>It seems like SMW4 is damaged near Egypt and that is what causing high load on East Asian routes giving pretty high latency.</p>
<p>&nbsp;</p>
<p>I am at my home and sitting BSNL&#8217;s network and latency with Europe has jumped terribly to 700-800ms. Right now I do not see a direct route to Europe and it&#8217;s rather taking East Asia &gt; US &gt; Europe routes right now on other cable networks.</p>
<p>&nbsp;</p>
<p>Quick view on some of traceroutes:</p>
<p>&nbsp;</p>
<p>To Facebook.com</p>
<blockquote>
<p>anurag:~ anurag$ traceroute -a www.facebook.com<br />traceroute to star.c10r.facebook.com (69.171.229.25), 64 hops max, 52 byte packets<br /> 1 [AS65534] router02 (10.10.0.1) 1.759 ms 1.018 ms 0.869 ms<br /> 2 [AS9829] 117.220.160.1 (117.220.160.1) 18.184 ms 18.809 ms 17.962 ms<br /> 3 [AS9829] 218.248.169.126 (218.248.169.126) 28.761 ms 28.648 ms 28.352 ms<br /> 4 [AS4755] 115.114.57.165.static-mumbai.vsnl.net.in (115.114.57.165) 77.803 ms 63.059 ms 61.319 ms<br /> 5 [AS3549] 172.29.250.33 (172.29.250.33) 63.106 ms 62.755 ms 63.853 ms<br /> 6 * * *<br /> 7 [AS4755] 115.114.85.233 (115.114.85.233) 64.694 ms 63.013 ms 61.133 ms<br /> 8 * [AS0] if-7-2.tcore1.cxr-chennai.as6453.net (180.87.36.34) 531.243 ms *<br /> 9 [AS0] if-5-2.tcore1.svw-singapore.as6453.net (180.87.12.53) 566.615 ms 906.432 ms *<br />10 * * *<br />11 [AS0] if-2-2.tcore1.tv2-tokyo.as6453.net (180.87.180.1) 577.953 ms 542.487 ms *<br />12 * [AS0] if-9-2.tcore2.pdi-paloalto.as6453.net (180.87.180.17) 538.170 ms 617.144 ms<br />13 * [AS3549] te1-4-10g.ar1.pao2.gblx.net (208.51.134.97) 673.785 ms *<br />14 * [AS22566] xe10-3-1-10g.scr3.snv2.gblx.net (67.17.79.169) 563.667 ms 631.657 ms<br />15 [AS22566] e8-1-20g.ar5.sjc2.gblx.net (67.16.145.118) 554.785 ms * *<br />16 [AS3549] 64.208.158.30 (64.208.158.30) 535.164 ms 573.485 ms 546.552 ms<br />17 [AS32934] ae1.bb02.sjc1.tfbnw.net (204.15.21.164) 580.511 ms * 529.838 ms<br />18 [AS32934] ae12.bb02.prn1.tfbnw.net (74.119.79.109) 543.454 ms 569.572 ms<br /> [AS32934] ae16.bb01.prn1.tfbnw.net (31.13.24.254) 659.153 ms<br />19 [AS32934] ae1.dr02.prn1.tfbnw.net (74.119.79.107) 567.662 ms *<br /> [AS32934] ae1.dr05.prn1.tfbnw.net (204.15.23.61) 560.851 ms<br />20 * * *<br />21 * * *<br />22 *^C<br />anurag:~ anurag$</p>
</blockquote>
<p>&nbsp;</p>
<p>Route to Europe:</p>
<blockquote>
<p>anurag:~ anurag$ traceroute -a server7.anuragbhatia.com<br />traceroute to server7.anuragbhatia.com (178.238.225.247), 64 hops max, 52 byte packets<br /> 1 [AS65534] router02 (10.10.0.1) 1.797 ms 0.989 ms 1.015 ms<br /> 2 [AS9829] 117.220.160.1 (117.220.160.1) 21.046 ms 18.046 ms 18.068 ms<br /> 3 [AS9829] 218.248.169.126 (218.248.169.126) 244.155 ms 28.669 ms 28.922 ms<br /> 4 [AS4755] 115.114.57.165.static-mumbai.vsnl.net.in (115.114.57.165) 62.840 ms 61.595 ms 60.564 ms<br /> 5 [AS0] 172.31.16.193 (172.31.16.193) 91.433 ms 94.132 ms 94.564 ms<br /> 6 [AS6453] if-2-606.tcore1.njy-newark.as6453.net (66.198.70.121) 529.370 ms * *<br /> 7 * [AS6453] 66.110.59.66 (66.110.59.66) 566.573 ms *<br /> 8 [AS1299] nyk-bb1-link.telia.net (80.91.252.226) 614.390 ms * *<br /> 9 * * [AS1299] ffm-bb1-link.telia.net (213.155.131.146) 697.499 ms<br />10 * [AS1299] mcn-b2-link.telia.net (213.155.134.13) 733.122 ms 721.410 ms<br />11 * [AS1299] gw02.contabo.net (213.248.101.78) 731.281 ms *<br />12 * * [AS51167] server7.anuragbhatia.com (178.238.225.247) 702.811 ms<br />anurag:~ anurag$</p>
<p>&nbsp;</p>
</blockquote>
<p>&nbsp;</p>
<p>Issues seems not isolated to BSNL or Tata but also with Airtel.</p>
<p>&nbsp;</p>
<p>E.g Airtel Delhi PoP to London:</p>
<p>&nbsp;</p>
<blockquote>
<p>Wed Mar 27 16:28:59 GMT+05:30 2013<br />traceroute 62.239.237.1</p>
<p>Type escape sequence to abort.<br />Tracing the route to 62.239.237.1</p>
<p>1 203.101.100.29 [MPLS: Label 716197 Exp 0] 84 msec<br /> 182.79.254.242 [MPLS: Label 716197 Exp 0] 84 msec<br /> 203.101.95.146 [MPLS: Label 677302 Exp 0] 80 msec<br /> 2 125.21.80.161 [MPLS: Label 406905 Exp 0] 156 msec<br /> 203.101.95.141 [MPLS: Label 406905 Exp 0] 76 msec<br /> 202.56.223.205 [MPLS: Label 406905 Exp 0] 92 msec<br /> 3 203.101.95.117 [MPLS: Label 569896 Exp 0] 120 msec 40 msec<br /> 203.101.100.205 [MPLS: Label 389360 Exp 0] 52 msec<br /> 4 182.79.255.18 92 msec<br /> 182.79.255.14 88 msec 88 msec<br /> 5 BHA-0007.gw1.sin0.asianetcom.net (203.192.168.53) 176 msec 180 msec 172 msec<br /> 6 te0-3-0-0.wr1.sin0.asianetcom.net (61.14.157.233) [AS 10026] 184 msec 184 msec 216 msec<br /> 7 gi3-0-0.cr2.nrt1.asianetcom.net (61.14.157.158) [AS 10026] 248 msec 248 msec 244 msec<br /> 8 po5-0-0.gw3.lax1.asianetcom.net (202.147.0.38) [AS 10026] 428 msec 432 msec 420 msec<br /> 9 linx7.ukcore.bt.net (195.66.224.56) [AS 10026] 388 msec 388 msec 388 msec<br /> 10 * <br /> core1-te0-3-0-1.ealing.ukcore.bt.net (62.172.102.2) [AS 2856] 384 msec 392 msec<br /> 11 core1-pos1-0.birmingham.ukcore.bt.net (62.172.103.81) [AS 2856] 384 msec 384 msec 384 msec<br /> 12 iar1-gig5-4.birmingham.ukcore.bt.net (62.6.196.94) [AS 2856] 392 msec 388 msec 448 msec<br /> 13 62.172.57.218 [AS 2856] 384 msec 432 msec 392 msec<br /> 14 * * *</p>
<p>&nbsp;</p>
</blockquote>
<p>&nbsp;</p>
<p>If we look at Tata AS6453&#8242;s routing table at Mumbai for a Europe based IP:</p>
<div>
<pre><code>BGP routing table entry for <b>178.238.224.0/21</b>
Bestpath Modifiers: deterministic-med
Paths: (3 available, <span style="color: #008800;">best #3</span>)
Multipath: eBGP
     11         12        
  3356 51167, (aggregated by 51167 <a>gw02.contabo.net.</a>)
    <a>ldn-icore1.</a> (metric 9713) from <a>mlv-tcore2.</a> (66.110.10.215)
      Origin IGP, valid, internal, atomic-aggregate
      Community: 
      Originator: <a>ldn-icore1.</a>
  3356 51167, (aggregated by 51167 <a>gw02.contabo.net.</a>)
    <a>ldn-icore1.</a> (metric 9713) from <a>mlv-tcore1.</a> (66.110.10.202)
      Origin IGP, valid, internal, atomic-aggregate
      Community: 
      Originator: <a>ldn-icore1.</a>
<span style="color: #008800;">  3356 51167, (aggregated by 51167 <a>gw02.contabo.net.</a>)</span>
<span style="color: #008800;">    <a>ldn-icore1.</a> (metric 9713) from <a>cxr-tcore1.</a> (66.110.10.113)</span>
<span style="color: #008800;">      Origin IGP, valid, internal, atomic-aggregate, best</span>
<span style="color: #008800;">      Community: </span>
<span style="color: #008800;">      Originator: <a>ldn-icore1.<br /><br /><br /><br /></a></span></code></pre>
<p>There seems to be direct path via mlv &#8211; tcore 1 (Mumbai &gt; Europe) but overall it is less preferred and cxr-tcore1 is given preference (Chennai &gt; East Asian route). Same applies on most of other Europe based prefixes.I tried pulling data from my RIPE Probe #1032 but not able to login to RIPE atlas site hosted in Europe!</p>
<p>&nbsp;</p>
<p>That&#8217;s all for now. Will post updates as things improve.</p>
</div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://anuragbhatia.com/networking/smw4-cable-outage/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
