<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Extreme Pattern: Destination Address Unreachable</title>
    <link>http://blog.extremepattern.com/articles/2006/08/31/destination-address-unreachable</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>enjoy</description>
    <item>
      <title>Destination Address Unreachable</title>
      <description>&lt;h3&gt;場景&lt;/h3&gt;


	&lt;p&gt;偵測 100 個服務器的狀態，想要得知目前網路斷線或是 &lt;span class="caps"&gt;HTTP&lt;/span&gt; 服務中斷，以及多久可以測一輪。&lt;/p&gt;


	&lt;h3&gt;java isReachable?&lt;/h3&gt;


	&lt;p&gt;雖然 java 5 有個 isReachable 的方法，但是似乎剛開始支援，有點問題，個人測試結果也是有點怪。一是時間有點長，接近一秒。&lt;/p&gt;


&lt;pre&gt;
Sun Microsystems Inc. 1.5.0_06 running on Windows XP 5.1
127.0.0.1--982ms
&lt;/pre&gt;

	&lt;p&gt;另外也放鯊入區網，跑個 isReachable 觀察一下，確實沒有看到 &lt;span class="caps"&gt;ICMP&lt;/span&gt; 在區網出沒，只看到 &lt;span class="caps"&gt;TCP&lt;/span&gt; echo 出現。為了加以對照，用 ping.exe 跑一下，果然出現 &lt;span class="caps"&gt;ICMP&lt;/span&gt;。&lt;/p&gt;


	&lt;p&gt;(謎之音:小心鯊魚很可怕，上班時候就別在區網上亂摸魚了)&lt;/p&gt;


	&lt;p&gt;&lt;img src="/files/reachable.gif" alt="" /&gt;&lt;/p&gt;


	&lt;h3&gt;order of magnitude&lt;/h3&gt;


	&lt;p&gt;至於為何在上面先出現 &lt;span class="caps"&gt;ICMP&lt;/span&gt; ? 那是因為 ping.exe 用了 8ms 比較短，Tcp echo port 7 用了接近 1000 ms ，所以慢了一點出現。&lt;/p&gt;


	&lt;p&gt;這種顯著性的差異是幾個數量級，所以必須確保該平台可以跑到，不然同一時間只出跑一台跟預期跑出一百台，會有很大的期望落差。&lt;/p&gt;


	&lt;h3&gt;links&lt;/h3&gt;


	&lt;p&gt;&lt;a href="http://java.sun.com/j2se/1.5.0/docs/api/java/net/InetAddress.html"&gt;isReachable method&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://www.jguru.com/faq/view.jsp?EID=1274376"&gt;這不是肯德基也不是 ping 替代品&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5067312"&gt;拔掉也OK ? 問題很大&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6418238"&gt;還會吃掉資源&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://www.wireshark.org/download.html"&gt;wireshark&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 31 Aug 2006 19:04:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:8ddf8458-7ca1-484b-8c2d-80ab41b836dc</guid>
      <author>LIN</author>
      <link>http://blog.extremepattern.com/articles/2006/08/31/destination-address-unreachable</link>
      <category>java</category>
    </item>
    <item>
      <title>"Destination Address Unreachable" by LIN</title>
      <description>沒有試過，不過猜測應類似下面連結提供的程式碼。
&lt;br /&gt;
&lt;a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4938744" rel="nofollow"&gt;http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4938744&lt;/a&gt;</description>
      <pubDate>Mon, 11 Dec 2006 16:57:25 -0800</pubDate>
      <guid isPermaLink="false">urn:uuid:de79ab12-35ec-499a-95e0-618dc98bda36</guid>
      <link>http://blog.extremepattern.com/articles/2006/08/31/destination-address-unreachable#comment-98</link>
    </item>
    <item>
      <title>"Destination Address Unreachable" by sweet-wawa@hotmail.com</title>
      <description>可以請問一下
怎嚜使用isReachable(NetworkInterfaceinterface, intttl, inttimeout)</description>
      <pubDate>Mon, 11 Dec 2006 10:45:58 -0800</pubDate>
      <guid isPermaLink="false">urn:uuid:347bac1e-dd16-451b-8a01-6cb9ea3412a8</guid>
      <link>http://blog.extremepattern.com/articles/2006/08/31/destination-address-unreachable#comment-97</link>
    </item>
  </channel>
</rss>
