<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>routing &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/routing/</link>
	<description>Feed of posts on WordPress.com tagged "routing"</description>
	<pubDate>Sun, 29 Nov 2009 07:55:36 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[MetroE QoS]]></title>
<link>http://japarde.wordpress.com/2009/11/27/metroe-qos/</link>
<pubDate>Fri, 27 Nov 2009 17:52:19 +0000</pubDate>
<dc:creator>japarde</dc:creator>
<guid>http://japarde.wordpress.com/2009/11/27/metroe-qos/</guid>
<description><![CDATA[This is a very simple QoS implementation.&#160; In one of my earlier posts I configured two L3 switc]]></description>
<content:encoded><![CDATA[This is a very simple QoS implementation.&#160; In one of my earlier posts I configured two L3 switc]]></content:encoded>
</item>
<item>
<title><![CDATA[routing: IP Forwarding в Linux]]></title>
<link>http://guruway.wordpress.com/2009/11/27/routing-ip-forwarding-%d0%b2-linux/</link>
<pubDate>Thu, 26 Nov 2009 19:08:27 +0000</pubDate>
<dc:creator>guruway</dc:creator>
<guid>http://guruway.wordpress.com/2009/11/27/routing-ip-forwarding-%d0%b2-linux/</guid>
<description><![CDATA[Метод для ubuntu: cat &gt;&gt; /etc/network/options ip_forward=yes Метод для любой линухи: cat &gt;]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Метод для ubuntu:<br />
<strong>cat &#62;&#62; /etc/network/options<br />
ip_forward=yes<br />
</strong><br />
Метод для любой линухи:<br />
<strong>cat &#62;&#62; /proc/sys/net/ipv4/ip_forward<br />
sysctl net.ipv4.ip_forward = 1<br />
</strong><br />
Метод изменения значения на лету:<br />
<strong>sysctl -w net.ipv4.ip_forward=1<br />
</strong>или<br />
<strong>echo 1 &#62; /proc/sys/net/ipv4/ip_forward</strong></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Modificar el routing en mvc.net (2 parte)]]></title>
<link>http://mvcnet.wordpress.com/2009/11/26/modificar-el-routing-en-mvc-net-2-parte/</link>
<pubDate>Thu, 26 Nov 2009 07:39:38 +0000</pubDate>
<dc:creator>mvcnet</dc:creator>
<guid>http://mvcnet.wordpress.com/2009/11/26/modificar-el-routing-en-mvc-net-2-parte/</guid>
<description><![CDATA[Vamos a ver un poco mas a fondo el routing de mvc, desde mvc proponen un modelo &#8216;controlador]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Vamos a ver un poco mas a fondo el routing de mvc, desde mvc proponen un modelo &#8216;controlador&#8217; -&#62; &#8216;action&#8217; -&#62; &#8216;parametros&#8217; al viejo estilo de get, a primera vista parece poco flexible y se nos ocurren aplicaciones pero siempre dependiendo de escribir las pertinentes acciones en los controladores, ademas por cada nueva accion hay que escribir su correspondiente vista &#8230;. no pinta muy bien visto asi.</p>
<p>Propongo el siguiente ejemplo, una web que tiene de coches, motos y furgonetas de ocasion, el ejemplo lo he centrado en los coches, al final deberia tener el mismo controlador y action para los tres casos y en cualquiera de los modelos que tengamos en catalogo, estariamos hablando de una hipotetica pantalla que nos listaria los coches disponibles con una marca y modelo concretos:</p>
<p>Vamos al lio: nos creamos un proyecto mvc</p>
<p><a href="http://mvcnet.wordpress.com/files/2009/11/dibujo1.jpg"><img class="alignnone size-full wp-image-35" title="Crear proyecto mvc" src="http://mvcnet.wordpress.com/files/2009/11/dibujo1.jpg" alt="" width="450" height="323" /></a></p>
<p>Abrimos el archivo global.axa.cs</p>
<p><a href="http://mvcnet.wordpress.com/files/2009/11/dibujo2.jpg"><img class="alignnone size-full wp-image-37" title="Dibujo2" src="http://mvcnet.wordpress.com/files/2009/11/dibujo2.jpg" alt="" width="200" height="339" /></a></p>
<p>Nuestra intencion es desde un mismo metodo action del controlador &#8216;Listado&#8217; poder atender todas las peticiones, asi los parametros de entrada van por delante del controlador siendo &#8217;sector&#8217;-&#62;&#8217;marca&#8217;-&#62;&#8217;modelo&#8217;-&#62;&#8217;controlador&#8217;, en el global.axa.xs queda asi:</p>
<p><a href="http://mvcnet.wordpress.com/files/2009/11/dibujo3.jpg"><img class="alignnone size-full wp-image-38" title="Nueva ruta en el global.axa" src="http://mvcnet.wordpress.com/files/2009/11/dibujo3.jpg" alt="" width="450" height="246" /></a></p>
<p>Lo siguiente es crearnos el controlador  &#8216;Listado&#8217; con el metodo Index, es el invocado desde global.axa por defecto y es donde esperamos los atributos &#8217;sector&#8217;, &#8216;marca&#8217; y &#8216;modelo&#8217;</p>
<p><a href="http://mvcnet.wordpress.com/files/2009/11/dibujo4.jpg"><img class="alignnone size-full wp-image-39" title="controlador y action" src="http://mvcnet.wordpress.com/files/2009/11/dibujo4.jpg" alt="" width="450" height="101" /></a></p>
<p>Ahora ya podemos crearnos la vista, primero crear una carpeta con el nombre &#8216;Listado&#8217; y dentro creamos las vista Index (coincidente con el nombre del action), con el viewData podemos devolver el tag titulo que antes informamos en al action.</p>
<p><a href="http://mvcnet.wordpress.com/files/2009/11/dibujo5.jpg"><img class="alignnone size-full wp-image-40" title="View Listado" src="http://mvcnet.wordpress.com/files/2009/11/dibujo5.jpg" alt="" width="450" height="107" /></a></p>
<p>Ahora ya solo nos queda probarlo, mejor compilar antes y sobre el puerto de servidor que nos proponga nuestro vs ponemos &#8216;/coches/alfa/147/listado&#8217;, ahora ya estamos viendo la potencia del mvc, podemos poner los parametros donde queramos, en este caso por delante del controlador , p.ej</p>
<p><a href="http://mvcnet.wordpress.com/files/2009/11/dibujo6.jpg"><img class="alignnone size-full wp-image-41" title="browser con url 1" src="http://mvcnet.wordpress.com/files/2009/11/dibujo6.jpg" alt="" width="402" height="346" /></a></p>
<p>Pero tambien podemos usar el clasico paso de parametros por get, para este caso solo es necesario modificar el controlador, en este caso vamos a añadir los parametros &#8216;orden&#8217; y &#8216;pag&#8217;:</p>
<p><a href="http://mvcnet.wordpress.com/files/2009/11/dibujo7.jpg"><img class="alignnone size-full wp-image-42" title="controlador con parametros get" src="http://mvcnet.wordpress.com/files/2009/11/dibujo7.jpg" alt="" width="450" height="78" /></a></p>
<p>Tb necesitamos modificar la vista para recibir los parametros como lo hicimos la anterior vez, y la url podria acabar siendo algo asi &#8216;coches/alfa/147/Listado?orden=precio&#38;pag=1&#8242;, p.ej:</p>
<p><a href="http://mvcnet.wordpress.com/files/2009/11/dibujo8.jpg"><img class="alignnone size-full wp-image-36" title="Browser con paraemtros get" src="http://mvcnet.wordpress.com/files/2009/11/dibujo8.jpg" alt="" width="425" height="371" /></a></p>
<p>Ya esta, con esto tendriamos por un lado el listado de los vehiculos y por otro el control del orden y la paginacion, todo centralizado en el mismo controlador y action al permitir parametros de entrada opcionales,  mas compacto y limpio dificil.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Take ME to the Student Services Blog!]]></title>
<link>http://mtsierra.wordpress.com/2009/11/23/click-below/</link>
<pubDate>Mon, 23 Nov 2009 21:39:59 +0000</pubDate>
<dc:creator>mtsierra</dc:creator>
<guid>http://mtsierra.wordpress.com/2009/11/23/click-below/</guid>
<description><![CDATA[Click the link to be taken to the Mt Sierra Student Services Blog! http://mtsierracollege.mtsierra.e]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Click the link to be taken to the Mt Sierra Student Services Blog!</p>
<p><a href="http://mtsierracollege.wordpress.com">http://mtsierracollege.mtsierra.edu</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[OSPF - Part 4]]></title>
<link>http://ccnablog.globalknowledge.com/2009/11/23/ospf-part-4/</link>
<pubDate>Mon, 23 Nov 2009 16:18:36 +0000</pubDate>
<dc:creator>gkmktgjll</dc:creator>
<guid>http://ccnablog.globalknowledge.com/2009/11/23/ospf-part-4/</guid>
<description><![CDATA[Let’s talk about some issues that arise when we scale an OSPF internetwork up to a large size. As us]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Let’s talk about some issues that arise when we scale an OSPF internetwork up to a large size. As usual when it comes to scalability, there are three issues involved:</p>
<ul>
<li>Bandwidth</li>
<li>RAM</li>
<li>CPU</li>
</ul>
<p>First, as the internetwork grows, there are more routers. Recall that with link-state protocols such as OSPF, every router’s LSA (Link State Advertisement) is flooded throughout the internetwork. Obviously, the more routers, the more LSAs must be flooded, which results in more LSU (Link State Update) packets, consuming more bandwidth on the links.</p>
<p>Second, as the LSAs are flooded, each router makes a copy of each LSA, which it keeps in its LSDB (Link State Database). Therefore, the more routers, the larger will be each router’s LSDB, and a larger LSDB requires more RAM to store it. Also, since there are a lot of prefixes, the resulting routing table will be large, requiring even more RAM.</p>
<p>Third, every time a router’s LSDB changes, the router runs Dijkstra’s SPF algorithm to generate its revised routing table. The larger the internetwork, the larger the LSDB, and the more frequently it’s likely to be changing. Thus, each router is running SPF more often on a larger LSDB, consuming more CPU cycles.</p>
<p>The bottom line is that since bandwidth, RAM, and CPU cost money (and we don’t have infinite money) there is some limit to how large an OSPF autonomous system can grow. There are two solutions to this scalability problem</p>
<ul></ul>
<ol>
<li>Limit OSPF to small internetworks (bad idea!)</li>
<li>Modify OSPF to enhance its scalability (good idea!)</li>
</ol>
<ul></ul>
<p>Of the two options, the latter was used, and we call it “multi-area OSPF”. What we do is divide the OSPF autonomous system into regions called “areas”. An example of a multi-area OSPF topology is shown here:</p>
<p><a href="http://gkccnablog.wordpress.com/files/2009/11/ospf_part4_figs.jpg"><img class="aligncenter size-full wp-image-537" title="OSPF_Part4_Figs" src="http://gkccnablog.wordpress.com/files/2009/11/ospf_part4_figs.jpg" alt="" width="419" height="272" /></a></p>
<p><strong>Here’s how it works </strong></p>
<p>A router that lies completely within an area is called an “internal router”. Internal routers, such as R1, know the entire topology for that specific area (in R1’s case it’s Area 1). Using SPF on its LSDB, R1 builds its routing table by calculating the best path from itself to any prefix within Area 1. At this point, R1 knows the best route to all prefixes within Area 1. Likewise, internal routers R3 and R5 calculate their routing tables for Area 0 and Area 2, respectively.</p>
<p>A router that is attached to more than one area is called an Area Border Router (ABR), and it maintains an LSDB for each area to which it is attached. R2, for example, is an ABR which connects Area 0 and Area 1. R2 runs SPF on its Area 0 and Area 1 LSDBs, and the results go into its routing table. Thus, R2 knows the best path from itself to all prefixes within Area 0 and Area 1. In addition, R2 now advertises the prefixes that lie within Area 0 into Area 1, and vice-versa. Note that only the prefixes and their metrics are advertised, not the existence of individual routers within an area. Likewise, R4, the ABR between Area 2 into Area 0, advertises prefixes between them.</p>
<p>For reasons of fault-tolerance, it’s possible that there could be two or more ABRs joining two areas. Since each ABR advertises the cost for each prefix from its perspective, the routers in the area receiving the advertisements can make optimal routing decisions about the prefixes that lie in the other area. At this point, all routers know the best route to all prefixes within the areas to which they are attached, and to the prefixes within the adjacent areas.</p>
<p>Furthermore, the Area 1 prefixes that R2 is sending into Area 0 are flooded over to R4, which then floods them into Area 2. As a result, all routers in Area 2 know about the prefixes in Area 1. This happens in the opposite direction, as well, and when the flooding has completed, all routers will know about all of the prefixes within the entire OSPF autonomous system. Because it’s just the prefixes and their costs that are being advertised between areas, and not detailed topology information, this requires less bandwidth, RAM and CPU than if it were all one big OSPF area, with all routers knowing everything about the topology.</p>
<p>In the next installment, we’ll continue our discussion of multi-area OSPF, including some techniques to further increase the scalability.</p>
<p><strong>Author: Al Friebe</strong></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Movin' In]]></title>
<link>http://stusshed.wordpress.com/2009/11/23/movin-in/</link>
<pubDate>Mon, 23 Nov 2009 03:51:28 +0000</pubDate>
<dc:creator>Stuart</dc:creator>
<guid>http://stusshed.wordpress.com/2009/11/23/movin-in/</guid>
<description><![CDATA[It was definitely a weekend revolving around the new tool (understandably), from the pickup/delivery]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>It was definitely a weekend revolving around the new tool (understandably), from the pickup/delivery organising on Friday, the assembly (and getting it into the shed) Saturday, and commissioning it with some real tasks on Sunday.</p>
<p>If you were wondering how I was going to fit a 2.5m x 1m tool in my workshop, well, you were not the only one!  With a large pry bar!  Archimedes once remarked (paraphrasing) that with a firm place to stand he could move the Earth (with a long-enough lever that is).</p>
<div id="attachment_5718" class="wp-caption aligncenter" style="width: 276px"><a href="http://stusshed.wordpress.com/files/2009/11/torqueinstall-1.jpg"><img class="size-full wp-image-5718" title="torqueinstall-1" src="http://stusshed.wordpress.com/files/2009/11/torqueinstall-1.jpg" alt="" width="266" height="400" /></a><p class="wp-caption-text">Makin&#39; a Hole</p></div>
<p>Clearing space was a combination of moving the jointer to where the router table was, removing the corner bench and in future the sanders will (potentially) be on roll-outs from under the Torque, and the router table met an untimely end, with the top being amalgamated with the TWC.  A hole was born.</p>
<div id="attachment_5719" class="wp-caption aligncenter" style="width: 410px"><a href="http://stusshed.wordpress.com/files/2009/11/torqueinstall-2.jpg"><img class="size-full wp-image-5719" title="torqueinstall-2" src="http://stusshed.wordpress.com/files/2009/11/torqueinstall-2.jpg" alt="" width="400" height="314" /></a><p class="wp-caption-text">The Torque arrives in its new home</p></div>
<p>I did try the TWC along the back wall, but lost too much access around the unit.  The MDF top has yet to be added &#8211; will do so some time this week.</p>
<p>That 1300mm arm is huge &#8211; I&#8217;m going to fit the 600mm (or 900mm) arms for the majority of the jobs, and the 1300 will get used only when I need that much extension.  For some workshops it probably would remain, but that is the one compromise on space I will have to make.  Sure looks nice here (by the end of the weekend it sure ended up rather dusty!)</p>
<div id="attachment_5720" class="wp-caption aligncenter" style="width: 410px"><a href="http://stusshed.wordpress.com/files/2009/11/torqueinstall-3.jpg"><img class="size-full wp-image-5720" title="torqueinstall-3" src="http://stusshed.wordpress.com/files/2009/11/torqueinstall-3.jpg" alt="" width="400" height="266" /></a><p class="wp-caption-text">Adding the Router Table</p></div>
<p>Here I have added the router table (with Incra Positioner/Fence) to the end where there is some dead space (because of the way the tools are carried on the left side of the arm), so this really utilises that area. I&#8217;ve moved the bandsaw further back so I have adequate access to the router table, and it isn&#8217;t hard to swing the entire unit out from the wall if I need more in-feed area.  Since this photo, I have also replaced the first module of the top with a plain cast-iron wing &#8211; it won&#8217;t be a two-router table now (well it is, but one is overhead), and I&#8217;ve shortened the cast iron top to 3 wings from the original 5.  The MDF of the rest of the bed will be at the same height, so there is no shortage of area for the positioner now!  At 2.5m long, this may be the largest router table <a href="http://www.guinnessworldrecords.com/" target="_blank">in the world</a>!</p>
<div id="attachment_5721" class="wp-caption aligncenter" style="width: 410px"><a href="http://stusshed.wordpress.com/files/2009/11/torqueinstall-4.jpg"><img class="size-full wp-image-5721" title="torqueinstall-4" src="http://stusshed.wordpress.com/files/2009/11/torqueinstall-4.jpg" alt="" width="400" height="266" /></a><p class="wp-caption-text">The clamp roof</p></div>
<p>The clamp wall was a problem, both getting access to the clamps, and also having them interfere with the X axis of the TWC, so they have been moved to the roof.  If the clamps are any good, then it won&#8217;t be a problem where they are!  Added benefit &#8211; partway through a clamp-up, if I need another I just reach up!</p>
<div id="attachment_5722" class="wp-caption aligncenter" style="width: 410px"><a href="http://stusshed.wordpress.com/files/2009/11/torqueinstall-5.jpg"><img class="size-full wp-image-5722" title="torqueinstall-5" src="http://stusshed.wordpress.com/files/2009/11/torqueinstall-5.jpg" alt="" width="400" height="266" /></a><p class="wp-caption-text">Temporary Triton Mount</p></div>
<p>One minor glitch I had (and it will be rectified by the end of the week), is the router mount had support posts for a Makita (I think), and not the Triton &#8211; the Triton needs both a larger diameter and a longer post.  Converting the Triton to fit the table took a few seconds, as did reverting it back to standard operation.  I was surprised just how easy it was &#8211; a single circlip.  So that I could make use of the router before the parts arrive, I added the old Triton quick-release plate from the original Triton router table.  The setup is rather flimsy like this, but it got the job done.</p>
<div id="attachment_5723" class="wp-caption aligncenter" style="width: 410px"><a href="http://stusshed.wordpress.com/files/2009/11/torqueinstall-7.jpg"><img class="size-full wp-image-5723" title="torqueinstall-7" src="http://stusshed.wordpress.com/files/2009/11/torqueinstall-7.jpg" alt="" width="400" height="266" /></a><p class="wp-caption-text">Oven Doors</p></div>
<p>First job was the oven doors for the kid&#8217;s kitchen &#8211; setting the stops for the size of the opening, then routing it out.  I also used the same method for cutting hinge mortises.</p>
<div id="attachment_5724" class="wp-caption aligncenter" style="width: 410px"><a href="http://stusshed.wordpress.com/files/2009/11/torqueinstall-6.jpg"><img class="size-full wp-image-5724" title="torqueinstall-6" src="http://stusshed.wordpress.com/files/2009/11/torqueinstall-6.jpg" alt="" width="400" height="266" /></a><p class="wp-caption-text">Oven Shelf</p></div>
<p>The second job was creating the shelf in the oven.  Rather than just a plain shelf, I didn&#8217;t want the inside of the oven to look like a cupboard, so I cut parallel slots through using a 1/2&#8243; straight router bit, and moved the whole setup 30mm for each pass.  Again, something that could have been done other ways, but this was a very simple (and accurate) method.  It&#8217;s like using a machine with a built-in, adjustable jig.</p>
<p>So that was all I had time for in the end, but already it has been demonstrating for me just how functional the concept is.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Wireless MESH in INDONESIA - price]]></title>
<link>http://gudangwireless.wordpress.com/?p=128</link>
<pubDate>Sun, 22 Nov 2009 15:47:27 +0000</pubDate>
<dc:creator>gudangwireless</dc:creator>
<guid>http://gudangwireless.wordpress.com/?p=128</guid>
<description><![CDATA[Click to See Wireless MESH Story in Indonesia Click to see MESH features and MESH Application in Ind]]></description>
<content:encoded><![CDATA[Click to See Wireless MESH Story in Indonesia Click to see MESH features and MESH Application in Ind]]></content:encoded>
</item>
<item>
<title><![CDATA[wireless for surveillance system - INDONESIA]]></title>
<link>http://gudangwireless.wordpress.com/2009/11/19/wireless-for-surveillance-system-cctv-ipcamera/</link>
<pubDate>Thu, 19 Nov 2009 07:43:47 +0000</pubDate>
<dc:creator>gudangwireless</dc:creator>
<guid>http://gudangwireless.wordpress.com/2009/11/19/wireless-for-surveillance-system-cctv-ipcamera/</guid>
<description><![CDATA[wireless for surveillance system in Indonesia see the website here click the features Read this! MES]]></description>
<content:encoded><![CDATA[wireless for surveillance system in Indonesia see the website here click the features Read this! MES]]></content:encoded>
</item>
<item>
<title><![CDATA[Fundamentos de Routing, ya en Google Books]]></title>
<link>http://gilabeni.wordpress.com/2009/11/17/fundamentos-de-routing-ya-en-google-books/</link>
<pubDate>Tue, 17 Nov 2009 07:20:37 +0000</pubDate>
<dc:creator>gilabeni</dc:creator>
<guid>http://gilabeni.wordpress.com/2009/11/17/fundamentos-de-routing-ya-en-google-books/</guid>
<description><![CDATA[Un libro muy bueno si quieres aprender el tema de Routing. Yo me lo he leido y esta muy bien. Muy es]]></description>
<content:encoded><![CDATA[Un libro muy bueno si quieres aprender el tema de Routing. Yo me lo he leido y esta muy bien. Muy es]]></content:encoded>
</item>
<item>
<title><![CDATA[Google Versus Bing; KISS Handy Tip!]]></title>
<link>http://365lifez.wordpress.com/2009/11/16/google-versus-bing-kiss-handy-tip/</link>
<pubDate>Mon, 16 Nov 2009 07:00:16 +0000</pubDate>
<dc:creator>Orchid</dc:creator>
<guid>http://365lifez.wordpress.com/2009/11/16/google-versus-bing-kiss-handy-tip/</guid>
<description><![CDATA[Google Vs Bing ; Keep It Simple Smarty!! Like a midnight owl, trying to keep my eyes open while brow]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><h1>Google Vs Bing ; Keep It Simple Smarty!!</h1>
<p>Like a midnight owl, trying to keep my eyes open while browsing through the search engine index of web page results, something <em>Clicked</em> me.</p>
<p>While Google is my Best Friend forever and eternity, Microsoft has made an innovative come back with its latest Search Engine &#8220;Bing&#8221;. The day I heard about its launch on B.B.C  [British Broadcasting Corporation], I intuitively concluded that no matter how good it might be, it still won&#8217;t be able to grab the market from Google in full. This is the same principle that Microsoft had applied to its Products especially the Windows OS. The market of Apple has also been growing esp. in Europe and America yet Windows remain the most common household OS, as I would put it. Once people are accustomed to something, it takes a while to change their attitude, adaptation and attachment with something. It&#8217;s a huge Persuasion Game and Believe ME it&#8217;s Hard.</p>
<p>Still I find myself quite quick and sudden to make the leap to <em>Bing</em> in certain cases. My Love for Google hasn&#8217;t restricted me to explore and utilize other services like Bing. I am not sure if others agree with me on this though.</p>
<p>If I have to search for <em>&#8220;Images&#8221; </em>for instance, I would switch to Bing and prefer it over Google.  While searching for an article on Asp.net Routing on Google right now and not finding suitable results, I had a huge realization that I should try Bing instead for very solid and logical reasons. Though my reasons might seem to some as Blind psychology rather than logical, I would still stick to it.</p>
<p>Anything Microsoft, simply let Microsoft find it for you since it would index all its stuff properly and efficiently. My logical reasoning did prove correct when I was returned a number of results all matching my search criteria perfectly.</p>
<p>So, next time if I need to search for anything Microsoft, I would simple keep my love for Google aside for a while and try paying Microsoft&#8217;s Bing a Visit. However, in real time though it sure seems that both are competing neck to neck and producing nearly identical results.</p>
<p>Let me know what you think about this. Until that time&#8230;..Happy Visiting!!!</p>
<h1><span style="color:#ff0000;">Share It!</span> <img style="border:0;margin:0;padding:0;" src="http://getsocialserver.files.wordpress.com/2009/02/gs1002.png" alt="" /><a title="Add to Facebook" href="http://www.facebook.com/sharer.php?u=http://365lifez.wordpress.com/2009/11/16/" target="_blank"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.files.wordpress.com/2009/02/gs1012.png" alt="Add to Facebook" /></a><a title="Add to Digg" href="http://digg.com/submit?phase=2&#38;url=http%3A%2F%2F365lifez.wordpress.com%2F2009%2F11%2F16%2F&#38;title=Google%20Versus%20Bing%3B%20KISS%20Handy%20Tip!" target="_blank"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.files.wordpress.com/2009/02/gs1022.png" alt="Add to Digg" /></a><a title="Add to Del.icio.us" href="http://del.icio.us/post?url=http%3A%2F%2F365lifez.wordpress.com%2F2009%2F11%2F16%2F&#38;title=Google%20Versus%20Bing%3B%20KISS%20Handy%20Tip!" target="_blank"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.files.wordpress.com/2009/02/gs1032.png" alt="Add to Del.icio.us" /></a><a title="Add to Stumbleupon" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2F365lifez.wordpress.com%2F2009%2F11%2F16%2F&#38;title=Google%20Versus%20Bing%3B%20KISS%20Handy%20Tip!" target="_blank"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.files.wordpress.com/2009/02/gs1042.png" alt="Add to Stumbleupon" /></a><a title="Add to Reddit" href="http://reddit.com/submit?url=http%3A%2F%2F365lifez.wordpress.com%2F2009%2F11%2F16%2F&#38;title=Google%20Versus%20Bing%3B%20KISS%20Handy%20Tip!" target="_blank"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.files.wordpress.com/2009/02/gs1052.png" alt="Add to Reddit" /></a><a title="Add to Blinklist" href="http://www.blinklist.com/index.php?Action=Blink/addblink.php&#38;Description=&#38;Url=http%3A%2F%2F365lifez.wordpress.com%2F2009%2F11%2F16%2F&#38;Title=Google%20Versus%20Bing%3B%20KISS%20Handy%20Tip!" target="_blank"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.files.wordpress.com/2009/02/gs1062.png" alt="Add to Blinklist" /></a><a title="Add to Twitter" href="http://twitter.com/home/?status=Google%20Versus%20Bing%3B%20KISS%20Handy%20Tip!+%40+http%3A%2F%2F365lifez.wordpress.com%2F2009%2F11%2F16%2F" target="_blank"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.files.wordpress.com/2009/02/gs1072.png" alt="Add to Twitter" /></a><a title="Add to Technorati" href="http://www.technorati.com/faves?add=http%3A%2F%2F365lifez.wordpress.com%2F2009%2F11%2F16%2F" target="_blank"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.files.wordpress.com/2009/02/gs1082.png" alt="Add to Technorati" /></a><a title="Add to Furl" href="http://www.furl.net/storeIt.jsp?u=http%3A%2F%2F365lifez.wordpress.com%2F2009%2F11%2F16%2F&#38;t=Google%20Versus%20Bing%3B%20KISS%20Handy%20Tip!" target="_blank"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.files.wordpress.com/2009/02/gs1092.png" alt="Add to Furl" /></a><a title="Add to Newsvine" href="http://www.newsvine.com/_wine/save?u=http%3A%2F%2F365lifez.wordpress.com%2F2009%2F11%2F16%2F&#38;h=Google%20Versus%20Bing%3B%20KISS%20Handy%20Tip!" target="_blank"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.files.wordpress.com/2009/02/gs1102.png" alt="Add to Newsvine" /></a><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.files.wordpress.com/2009/02/gs1112.png" alt="" /></h1>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Mobility MESH Wireless in Indonesia - Feature ]]></title>
<link>http://gudangwireless.wordpress.com/2009/11/16/mobility-mesh-wireless-in-indonesia-feature/</link>
<pubDate>Mon, 16 Nov 2009 04:20:03 +0000</pubDate>
<dc:creator>gudangwireless</dc:creator>
<guid>http://gudangwireless.wordpress.com/2009/11/16/mobility-mesh-wireless-in-indonesia-feature/</guid>
<description><![CDATA[Mobility MESH Wireless in Indonesia – Next Generation Features Click more information here Multi-rad]]></description>
<content:encoded><![CDATA[Mobility MESH Wireless in Indonesia – Next Generation Features Click more information here Multi-rad]]></content:encoded>
</item>
<item>
<title><![CDATA["ExOr: Opportunistic Multi-Hop Routing for Wireless Networks"]]></title>
<link>http://everythingisdata.wordpress.com/2009/11/15/exor-opportunistic-multi-hop-routing-for-wireless-networks/</link>
<pubDate>Sun, 15 Nov 2009 22:08:29 +0000</pubDate>
<dc:creator>Neil Conway</dc:creator>
<guid>http://everythingisdata.wordpress.com/2009/11/15/exor-opportunistic-multi-hop-routing-for-wireless-networks/</guid>
<description><![CDATA[Wired networks are traditionally viewed as a unicast medium: packets are sent from A to B. Because t]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Wired networks are traditionally viewed as a unicast medium: packets are sent from <i>A</i> to <i>B</i>. Because the underlying medium can have a degree of sharing (e.g. multiple hosts connected to the same Ethernet hub), steps must be taken to avoid interference between concurrent senders (e.g. <a href="http://en.wikipedia.org/wiki/Carrier_sense_multiple_access_with_collision_detection">CSMA</a>).</p>
<p>In a wireless network, the medium is shared: any hosts in range of a radio transmission can receive it. If the goal is to use a traditional unicast routing protocol over a wireless link, this makes interference between senders a more challenging problem (e.g. as discussed in the <a href="http://everythingisdata.wordpress.com/2009/09/27/macaw-a-media-access-protocol-for-wireless-lans/">MACAW</a> paper). However, rather than viewing broadcast as an inconvenience we need to work around, the broadcast nature of wireless can also be leveraged to design new protocols that would be infeasible for a wired network.</p>
<p>A nice example of a broadcast-oriented protocol for wireless is &#8220;<a href="http://pdos.csail.mit.edu/papers/roofnet:exor-sigcomm05/roofnet_exor-sigcomm05.pdf">ExOr: Opportunistic Multi-Hop Routing for Wireless Networks</a>&#8220;. In a traditional routing design, a sender chooses the next hop that should receive a packet, and then unicasts the packet to that destination. In ExOr, a sender broadcasts a <i>batch</i> of packets to a group of nodes simultaneously. The set of batch recipients coordinate to try to ensure that each packet in the batch is forwarded onward. The recipient of a packet is only chosen <i>after</i> the packet is sent, which allows ExOr to &#8220;opportunistically&#8221; take advantage of links that have high loss rates. ExOr assumes that node reception probabilities are mostly independent and mostly decrease with distance &#8212; both of which are probably pretty reasonable assumptions.</p>
<h3>Design</h3>
<p>The source collects a batch of packets destined for the same host, and then chooses a <i>forwarding list</i> for the batch. The forwarding list is a list of nodes, sorted by the expected cost of delivering packets from that node to the eventual destination node. The cost metric is similar to <a href="http://everythingisdata.wordpress.com/2009/10/07/a-path-metric-for-multi-hop-wireless-routing/">ETX</a> (expected number of transmissions required to send the packet to the destination via unicast, including retransmissions); unlike ETX, it only considers the forward delivery probability. While it would be possible to including all possible recipient nodes in the forwarding list, this would increase the coordination cost among the forwarders, so ExOr only includes &#8220;likely&#8221; recipients in the list (estimated 10%+ chance of receiving a broadcast packet).</p>
<p>Each packet contains a <i>batch map</i>, which holds the sender&#8217;s estimate of the highest priority (according to the cost metric) node to have received each packet in the batch. When a node receives a packet, it uses the packet&#8217;s batch map to update its local batch map. This means that batch map information propagates through the nodes, carrying information about packet reception from high priority nodes to lower priority nodes.</p>
<p>After the source broadcasts a batch, each member of the forwarding list broadcasts, ordered by descending priority (ETX value). Each node broadcasts the packets it received, along with its updated batch map. Nodes coordinate to schedule their transmissions to try to avoid interference (e.g. by estimating when each node&#8217;s expected transmission time is, according to ETX value and batch map contents). The protocol continues cycling through the nodes in priority order. At the end of each cycle, the ultimate destination broadcasts its batch map 10 times; at the beginning of each cycle, the source resends packets that weren&#8217;t received by any node (by observing batch map contents). The ExOr scheme stops when 90% of the packets in a batch have been transferred, and uses a traditional routing policy to deliver the remainder of the batch.</p>
<h3>Discussion</h3>
<p>Overall, ExOr is a really neat idea. That said, it is at best a special-purpose solution, because of the high latency it incurs for batching and multiple transmission rounds. Similarly, the need for a split TCP proxy is pretty ugly. A complete solution to wireless routing would perhaps adaptively switch between latency-oriented and bandwidth-oriented routing techniques, depending on the nature of the traffic.</p>
<p>It seems arbitrary to me that ExOr works on a batch-by-batch basis&#8212;that almost seems like establishing a new TCP connection for each window&#8217;s worth of data. The amount of useful work done in each transmission round decreases, until the protocol imposes an arbitrary cutoff at 90% and switches to a traditional routing protocol. Instead, wouldn&#8217;t it be more sensible for ExOr to allow new packets to be inserted into the batch as the destination confirms the delivery of packets? This would essential emulate the &#8220;conservation of packets&#8221; principle from the <a href="http://everythingisdata.wordpress.com/2009/09/06/congestion-avoidance-and-control/">Van Jacobson</a> paper.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Comparison of Routing Protocols]]></title>
<link>http://theitaxis.wordpress.com/2009/11/15/comparison-of-routing-protocols/</link>
<pubDate>Sun, 15 Nov 2009 13:28:15 +0000</pubDate>
<dc:creator>Aniket</dc:creator>
<guid>http://theitaxis.wordpress.com/2009/11/15/comparison-of-routing-protocols/</guid>
<description><![CDATA[I Guess this should suffice for a fair understanding of the routing protocols mentioned. &nbsp; TABL]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I Guess this should suffice for a fair understanding of the routing protocols mentioned.</p>
<p>&#160;</p>
<table border="1" cellspacing="0" cellpadding="0" width="385">
<tbody>
<tr>
<td width="102" valign="top"><strong>TABLE 1</strong></td>
<td width="89" valign="top"><strong>RIP v1</strong></td>
<td width="89" valign="top"><strong>RIP v2</strong></td>
<td width="105" valign="top"><strong>IGRP</strong></td>
</tr>
<tr>
<td width="102" valign="top"><strong>Metric on which it is based</strong></td>
<td width="89" valign="top">Hop Count</td>
<td width="89" valign="top">Hop Count</td>
<td width="105" valign="top">Bandwidth / Delay</td>
</tr>
<tr>
<td width="102" valign="top"><strong>Administrative Distance</strong></td>
<td width="89" valign="top">120</td>
<td width="89" valign="top">120</td>
<td width="105" valign="top">100</td>
</tr>
<tr>
<td width="102" valign="top"><strong>Max Hop count</strong></td>
<td width="89" valign="top">15</td>
<td width="89" valign="top">15</td>
<td width="105" valign="top">255</td>
</tr>
<tr>
<td width="102" valign="top"><strong>VLSM Support</strong></td>
<td width="89" valign="top">NO</td>
<td width="89" valign="top">YES</td>
<td width="105" valign="top">NO</td>
</tr>
<tr>
<td width="102" valign="top"><strong>Uses Algorithm</strong></td>
<td width="89" valign="top">Bellman-Ford</td>
<td width="89" valign="top">Bellman-Ford</td>
<td width="105" valign="top">Bellman-Ford</td>
</tr>
<tr>
<td width="102" valign="top"><strong>Content of Routing Updates</strong></td>
<td width="89" valign="top">Full Table</td>
<td width="89" valign="top">Full Table</td>
<td width="105" valign="top">Full Table</td>
</tr>
<tr>
<td width="102" valign="top"><strong>Frequency of Routing Updates</strong></td>
<td width="89" valign="top">30 seconds</td>
<td width="89" valign="top">30 seconds</td>
<td width="105" valign="top">90 seconds</td>
</tr>
<tr>
<td width="102" valign="top"><strong>Update Address</strong></td>
<td width="89" valign="top">Broadcast</td>
<td width="89" valign="top">224.0.0.9</td>
<td width="105" valign="top">224.0.0.10</td>
</tr>
<tr>
<td width="102" valign="top"><strong>Protocol / Port</strong></td>
<td width="89" valign="top">UDP 520</td>
<td width="89" valign="top">UDP 520</td>
<td width="105" valign="top">IP protocol 9</td>
</tr>
<tr>
<td width="102" valign="top"><strong>Convergence</strong></td>
<td width="89" valign="top">Slow</td>
<td width="89" valign="top">Slow</td>
<td width="105" valign="top">Slow</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<table border="1" cellspacing="0" cellpadding="0" width="383">
<tbody>
<tr>
<td width="101" valign="top"><strong>TABLE 2</strong></td>
<td width="90" valign="top"><strong>EIGRP</strong></td>
<td width="90" valign="top"><strong>OSPF</strong></td>
<td width="102" valign="top"><strong>BGP</strong></td>
</tr>
<tr>
<td width="101" valign="top"><strong>Metric on which it is based</strong></td>
<td width="90" valign="top">Bandwidth / Delay</td>
<td width="90" valign="top">Cost</td>
<td width="102" valign="top">Many</p>
<p>(weight, path length, localpref, origin, age of the path, etc etc)</td>
</tr>
<tr>
<td width="101" valign="top"><strong>Administrative Distance</strong></td>
<td width="90" valign="top">Internal – 90</p>
<p>External &#8211; 170</td>
<td width="90" valign="top">110</td>
<td width="102" valign="top">Internal – 200</p>
<p>External &#8211; 20</td>
</tr>
<tr>
<td width="101" valign="top"><strong>Max Hop count</strong></td>
<td width="90" valign="top">224</td>
<td width="90" valign="top">-na-</td>
<td width="102" valign="top">-na-</td>
</tr>
<tr>
<td width="101" valign="top"><strong>VLSM Support</strong></td>
<td width="90" valign="top">YES</td>
<td width="90" valign="top">YES</td>
<td width="102" valign="top">YES</td>
</tr>
<tr>
<td width="101" valign="top"><strong>Uses Algorithm</strong></td>
<td width="90" valign="top">DUAL</td>
<td width="90" valign="top">Dijkstra</td>
<td width="102" valign="top">Best Path</td>
</tr>
<tr>
<td width="101" valign="top"><strong>Content of Routing Updates</strong></td>
<td width="90" valign="top">Only Changes</td>
<td width="90" valign="top">Only Changes</td>
<td width="102" valign="top">Only Changes</td>
</tr>
<tr>
<td width="101" valign="top"><strong>Frequency of Routing Updates</strong></td>
<td width="90" valign="top">Only when change occurs</td>
<td width="90" valign="top">Only when change occurs</td>
<td width="102" valign="top">Only when change occurs</td>
</tr>
<tr>
<td width="101" valign="top"><strong>Update Address</strong></td>
<td width="90" valign="top">224.0.0.10</td>
<td width="90" valign="top">224.0.0.5</td>
<td width="102" valign="top">-na-</td>
</tr>
<tr>
<td width="101" valign="top"><strong>Protocol / Port</strong></td>
<td width="90" valign="top">IP protocol 88</td>
<td width="90" valign="top">IP protocol 89</td>
<td width="102" valign="top">TCP 179</td>
</tr>
<tr>
<td width="101" valign="top"><strong>Convergence</strong></td>
<td width="90" valign="top">Very Fast</td>
<td width="90" valign="top">Fast</td>
<td width="102" valign="top">Medium</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Japan’s Manufacturing Techniques]]></title>
<link>http://asifjmir.wordpress.com/2009/11/15/japan%e2%80%99s-manufacturing-techniques/</link>
<pubDate>Sun, 15 Nov 2009 02:26:51 +0000</pubDate>
<dc:creator>Asif Mir</dc:creator>
<guid>http://asifjmir.wordpress.com/2009/11/15/japan%e2%80%99s-manufacturing-techniques/</guid>
<description><![CDATA[Nations are built not with bricks and stones but with the capacity to create and apply knowledge. Th]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Nations are built not with bricks and stones but with the capacity to create and apply knowledge. The result of knowledge creation and application in manufacturing and management practices is well demonstrated by Japan. Today we are witness to many industrialized economies that are strengthening their manufacturing activities simply by adopting these techniques.</p>
<p>The distinguishing characteristics associated with Japanese manufacturing techniques include an emphasis on designing and redesigning processes to optimize efficiency and a strong commitment to quality.</p>
<p>The manufacturing techniques that Japanese companies practice provide a competitive advantage and outstanding economic performance. The key for success is an understanding of the broad context of manufacturing culture, infrastructure and environment. These sound manufacturing and business techniques created and adopted by leading Japanese manufacturers have turned out to be the secret of their market leadership in many industries.</p>
<p>Following are a few of these concepts, which can help in managing any business set-up in a better way:</p>
<ul>
<li><em>Kaizen</em> is one such technique, which in Japanese means <em>‘improve.’</em> This is commonly recognized as practices focusing on continuous improvement in manufacturing activities, business activities in general, and even life in general, depending on interpretation and usage. By improving standardized activities and processes, <em>Kaizen</em> helps in eliminating waste.</li>
<li>Another management Japanese technique is the 5-S. It is a technique used to establish and maintain quality environment in an organization. It has five elements: <em>Seiri</em> (sorting out useful and frequently used materials and tools from unwanted and rarely used things); <em>Seiton</em> (keeping things in the right place systematically so that searching or movement time is minimized); <em>Seiso</em> (keeping everything around you clean and in a neat manner); <em>Seiketsu</em> (standardizing the above principles in everyday life) and <em>Shitsuke</em> (inculcating good habits and practicing them continuously). The 5-S practice helps everyone in the organization to live a better life.</li>
<li><em>Kanban</em> and ‘Just in Time’ are two other practices in inventory management practices that were pioneered by the Japanese automobile manufacturers, such as Toyota. Quality improvement, on the other hand, is the result of lower proportion of component scrap since the components spend less time in the supply chain.</li>
<li><em>Poka-yoke</em> is a process improvement focused on training of workers for mastering the increasingly complicated tasks to selectively redesign the tasks so they could be more easily and reliably mastered. It involves designing a foolproof process to eliminate the chance of errors.</li>
<li><em>Jidoka</em> is a practice by means of which an individual worker runs several machines simultaneously. Japan thus designs such machines that eliminate both error and the need for constant supervision.</li>
<li><em>Muda </em>is another technique that reduces wasteful activity in service processes. It ensures process efficiency and effectiveness.</li>
<li><em>Mura </em>curiously combines rigidity and flexibility and thus teaches service process improvement.</li>
<li>Reducing <em>Muri</em> means reducing physical strain. In services process improvement, <em>Muri </em>applies to convoluted and unnecessary routings, physical transfer, and distances paper files may have to travel for a process to complete.</li>
<li><em>Genchi Gembutsu </em>means going to the actual scene (<em>genchi) </em>and confirming the actual scene (<em>gembutsu)</em>. Observation of service processes at the point where it is actually delivered may unearth a host of problems such as lack of training, unnecessary steps, or a number of other areas that would benefit from small but significant process improvement ideas.</li>
</ul>
<p>This is a glimpse of manufacturing techniques that Japan has so intellectually created and so profoundly practiced in its manufacturing systems that even with no natural resources, it has acquired the status of one of the most industrialized nations. Can we learn from Japan?</p>
<p>My Consultancy–<a title="Asif J. Mir" href="http://www.asifjmir.com/" target="_blank">Asif J. Mir </a>- Management Consultant–transforms organizations where people have the freedom to be creative, a place that brings out the best in everybody–an open, fair place where people have a sense that what they do matters. For details please visit <a title="Asif J. Mir" href="http://www.asifjmir.com/" target="_blank">www.asifjmir.com</a>, <a href="http://www.youtube.com/asifjmir">Lectures</a>, <a title="Line of Sight" href="http://asifjmir.blogspot.com/" target="_blank">Line of Sight</a>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Modificar el routing en mvc.net]]></title>
<link>http://mvcnet.wordpress.com/2009/11/14/modificar-el-routing-en-mvc-net/</link>
<pubDate>Sat, 14 Nov 2009 18:40:14 +0000</pubDate>
<dc:creator>mvcnet</dc:creator>
<guid>http://mvcnet.wordpress.com/2009/11/14/modificar-el-routing-en-mvc-net/</guid>
<description><![CDATA[La modificacion del routing en mvc es el alma de la aplicacion, de verte recortado a tres niveles pu]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>La modificacion del routing en mvc es el alma de la aplicacion, de verte recortado a tres niveles puedes tener los que quieras, si jugar con los parametros de entrada no te sirvio, aqui podemos ver un ejemplo mas claro.</p>
<p>La configracion inicial dentro del global.axas.cs-&#62;RegisterRoutes te propone la particion en {controller}/{action}/{id}, por ejemplo: <a href="http://www.pepe.com/deportes/futbol?categoria=reina&#38;equipo=azul&#38;zona=vip">http://www.pepe.com/deportes/futbol?categoria=reina&#38;equipo=azul&#38;zona=vip</a> , donde el controlador es &#8216;deportes&#8217;, action es &#8216;futbol&#8217; y los parametros son &#8216;categoria, equipo y zona&#8217;</p>
<p>Ok, y si yo necesito una carpeta entre controlador y action el sitio podemos hacer algo asi: {controller}/{sport}/{action}/{id}, despues puedes hacer con tu variable sport lo que quieras.</p>
<p>Podeis ver el <a href="http://www.asp.net/learn/mvc/tutorial-05-cs.aspx">tutorial oficial de microsoft</a> con un ejemplo de routing</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[  AirAsia biggest promotion free airfares up for grabs]]></title>
<link>http://perthrelocationlatestnews.wordpress.com/2009/11/12/airasia-biggest-promotion-free-airfares-up-for-grabs/</link>
<pubDate>Thu, 12 Nov 2009 05:52:48 +0000</pubDate>
<dc:creator>infoatperthrelocation</dc:creator>
<guid>http://perthrelocationlatestnews.wordpress.com/2009/11/12/airasia-biggest-promotion-free-airfares-up-for-grabs/</guid>
<description><![CDATA[Free Seats are back! AirAsia, the world’s best low cost airline is today giving away 1 million free ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Free Seats are back! AirAsia, the world’s best low cost airline is today giving away 1 million free seats*, to over 70 hot destinations including China, India, Taiwan, Indonesia, Thailand, Singapore and many more across our extensive network of over 130 routes; stretching across 20 countries.</p>
<p>The free seats promotion kicks off from 11 &#8211; 15 November 2009 (booking period) for the travel period from 1 May – 30 October 2010. Guests may log on to www.airasia.com or mobile.airasia.com to find out more about these exciting great deals.</p>
<p>AirAsia’s Regional Head of Commercial, Kathleen Tan said, “To usher 2010, this is the biggest and most exciting promotion of the year. With no fuel surcharge, and no administration fee, it’s a real deal, offering fantastic value to our guests. When the economy is tough, people seek cheaper traveling options which offer them better value for money and there is no better option than flying with AirAsia for Free! This is also our gesture of saying a big thank you to our guests and the public who supported and contributed to AirAsia’s success. Without them, we would not have been conferred the recent “Airline of the Year 2009” award from the Centre for Asia Pacific Aviation (CAPA), flying over 80 million guests to date.”</p>
<p>“AirAsia always observe the importance of low fares to ensure everyone can fly; and bringing back our highly popular free seats promotion will give our guests the greatest value ever. What’s more? To compliment the free flights, GoHoliday, AirAsia’s one stop travel portal is also offering sizzling deals and fantastic packages, including “Free Rooms” for over 180 Asia Pacific hotels online at http://goholiday.airasia.com. With this incredible offer, guests can plan their holidays ahead to enjoy great bargains, take this opportunity to be creative and map their holiday routing via AirAsia’s ten hubs (Kuala Lumpur, Kota Kinabalu, Bangkok, Phuket, Bandung, Jakarta, Surabaya and Bali, Penang and Johor) across our network at ultra low fares. For instance, guests from Australia, Europe or the Middle East may explore exotic ASEAN and beyond to some of the world’s most popular island resorts such as Bali, Phuket, Langkawi, and vice versa. With these great deals, AirAsia’s guests with huge appetite for travel will be spoilt for choice as we not only cater to the leisure market but also the adventure seekers, diving enthusiasts, historical and heritage explorers, shopaholics, and keen golfers all within our vast route network.” concluded Kathleen.</p>
<p>Guests can fly from Kuala Lumpur to domestic destinations such as Penang, Kota Kinabalu, Kuching and many more from as low as RM6 (All In Fare)*. Popular international destinations such as Jakarta, Bali, Yogyakarta, Bangkok, Phuket and even Tianjin are offered from as low as RM25 (All In Fare)*.<br />
The best part is that, AirAsia’s long haul affiliate, AirAsia X recently launched routes such as Abu Dhabi, and Chengdu are also offered within the same period with special fares from as low as RM 99.00* (All In Fare)* only. AirAsia X highly in demand “Kangaroo Routes” to Australia such as Gold Coast, Melbourne and Perth are offered from as low as RM149.00 (All In Fare)* and the popular London route is also on offer from as low as RM499 (All In Fare)*.</p>
<p>Promotional seats are limited and available on first-come, first-served basis and made exclusively online via www.airasia.com and mobile.airasia.com.</p>
<p>Stay tuned! Follow AirAsia on Twitter, Facebook, and AirAsia’s Blog where we will provide real time updates on our latest promotion.</p>
<p>Source  :  <a href="http://www.tourismtravel.com">www.tourismtravel.com</a></p>
<p>&#160;</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[NetFPGA]]></title>
<link>http://everythingisdata.wordpress.com/2009/11/10/netfpga/</link>
<pubDate>Tue, 10 Nov 2009 22:03:30 +0000</pubDate>
<dc:creator>Neil Conway</dc:creator>
<guid>http://everythingisdata.wordpress.com/2009/11/10/netfpga/</guid>
<description><![CDATA[One of the challenges faced in networking research and education is the difficulty of accurately rec]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>One of the challenges faced in networking research and education is the difficulty of accurately recreating a network environment. Production routers are implemented as hardware devices, but designing and fabricating a new hardware design for research or teaching is very expensive. Modular software routers like <a href="http://read.cs.ucla.edu/click/">Click</a> enable research and education on routing in software, but don&#8217;t allow experimentation with hardware and physical-layer issues.</p>
<p><a href="http://yuba.stanford.edu/~casado/watson-stanford.pdf">NetFPGA</a> aims to rectify this, by providing an easy-programmable hardware platform for network devices (NICs, switches, routers, etc.). Users interact with NetFPGA remotely, uploading programs that configure FPGAs on the device appropriately, and then observing the results. The initial version of NetFPGA didn&#8217;t have a CPU: instead, software to control the device runs on another computer, and accesses hardware registers remotely (using special Ethernet packets that are decoded by the NetFPGA board). The second version of NetFPGA has an optional hardware CPU.</p>
<h3>Discussion</h3>
<p>This seems like a pretty incontrovertible &#8220;good idea.&#8221; One potential question is how the performance of an FPGA-based router compares to that of realistic production hardware &#8212; I&#8217;d suspect that NetFPGA-routers occupy a middle ground between software-only routers (easy to develop, poor performance) and production routers (difficult to program and expensive to fabricate, but good performance).</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[HSRP: Hot Standing Routing Protocol]]></title>
<link>http://ccnablog.globalknowledge.com/2009/11/10/hsrp-hot-standing-routing-protocol/</link>
<pubDate>Tue, 10 Nov 2009 20:28:27 +0000</pubDate>
<dc:creator>gkmktgjll</dc:creator>
<guid>http://ccnablog.globalknowledge.com/2009/11/10/hsrp-hot-standing-routing-protocol/</guid>
<description><![CDATA[Rodger Foster, our senior Cisco instructor, reviews how multiple gateways are used to provide redund]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/N5yAmMuTsd4&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' /><param name='allowfullscreen' value='true' /><param name='wmode' value='transparent' /><embed src='http://www.youtube.com/v/N5yAmMuTsd4&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' type='application/x-shockwave-flash' allowfullscreen='true' width='425' height='350' wmode='transparent'></embed></object></span></p>
<p>Rodger Foster, our senior Cisco instructor, reviews how multiple gateways are used to provide redundancy in the network. ﻿</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Manually unit testing routes in ASP.Net MVC]]></title>
<link>http://coderaptor.wordpress.com/2009/11/10/manually-unit-testing-routes-in-asp-net-mvc/</link>
<pubDate>Tue, 10 Nov 2009 15:45:05 +0000</pubDate>
<dc:creator>Paul Vencill</dc:creator>
<guid>http://coderaptor.wordpress.com/2009/11/10/manually-unit-testing-routes-in-asp-net-mvc/</guid>
<description><![CDATA[Wow, been a while since I blogged anything.  I&#8217;ve honestly been intending on opening up a new ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Wow, been a while since I blogged anything.  I&#8217;ve honestly been intending on opening up a new blog site that isn&#8217;t hosted on wordpress (using my own domain, etc) but just haven&#8217;t gotten around to it. So I&#8217;ll post this here and then move it when I finally get around to setting up the new blog.</p>
<p>The issue of this post is really a gut-level demo of how to unit test routes. I know that MVC Contrib offers some good helpers for doing it, but I was recently preparing an ASP.Net MVC class and I wanted a way of showing the students exactly what goes into the routing engine&#8217;s logic, and I felt that manually setting up testing was a good way to walk them through it.</p>
<p>In order to maximize reuse, and reduce code and so on, I chose to create an abstract base class that handled all the wiring of routes and encapsulated a few common operations critical to testing.   The base class is intended as the base of your test class, and so whatever classes you&#8217;re testing routes with can inherit from it.  Much of the concepts used in creating this class are thanks to Steve Sanderson&#8217;s wonderful Pro ASP.Net MVC book by apress.</p>
<p>Why that and not extension methods?  Well, I simply wanted to have more control over the flow of logic to let each test be more focused. </p>
<p>Without further ado&#8230;</p>
<p>Routing, as you may know, involves both inbound and outbound steps.  Inbound routing happens when the system wants to take a URL that someone&#8217;s trying to surf to, and turn it into an object representing the routedata associated with that URL (e.g. info about the controller, action, any input params, etc).</p>
<p>Outbound routing is the opposite, generating URLs based on a given route data object.  Bidirectional testing is critical.  This abstract class supports both, using the Moq framework. </p>
<p>I&#8217;ll cover usage of my class for now, and save an understanding of what my class is doing for another post (though I think it should be pretty apparent; there&#8217;s not much magic in there). </p>
<p>To use this class, you just have to inherit from it, and implement one abstract method. </p>
<p><code><br />
[TestClass]<br />
public class MyRouteTests : RouteTestBase<br />
{<br />
protected override void RegisterRoutes(System.Web.Routing.RouteCollection cfg)<br />
{<br />
MvcApplication.RegisterRoutes(cfg);<br />
}<br />
}</code></p>
<p>that override lets you customize the means by which your app registers its routes.  In htis case, my demo app was using the static method provided by the default MVC template, but obviously I could use other means if needed.</p>
<p>Once I&#8217;ve done that, I would want to setup a test for an inbound route like so:</p>
<p><code><br />
[TestMethod]<br />
public void SlashGoesToHomeIndex()<br />
{<br />
//Arrange<br />
string path = "~/";</p>
<p>// Act<br />
RouteData data = GetRouteData(path);</p>
<p>// Assert<br />
CoreInboundUrlAsserts(data, "home", "index");<br />
}</code></p>
<p>Which (if you look at the base class) asserts that my route configuration returned a route data object, an dthat route data object mapped to the HomeController&#8217;s Index action.</p>
<p>Doing a simple outbout route test is similarly straightforward:</p>
<p><code><br />
[TestMethod]<br />
public void HomeIndexGoesToSlash()<br />
{<br />
//Arrange<br />
string expected = "/";<br />
var data = new { controller = "home", action = "index", id = "" };</p>
<p>// Act<br />
var virtualPath = GenerateUrlViaMock(data);</p>
<p>// Assert<br />
Assert.AreEqual(expected, virtualPath.VirtualPath);<br />
}<br />
</code></p>
<p>And finally, the whole base class looks like this:</p>
<p><code><br />
public abstract class RouteTestBase<br />
{<br />
protected const string GET = "GET";<br />
protected const string POST = "POST";</code></p>
<p>protected void CoreInboundUrlAsserts(RouteData data, string controller, string action)<br />
{<br />
Assert.IsNotNull(data, &#8220;NULL Route data was returned&#8221;);<br />
Assert.IsNotNull(data.Route, &#8220;No route was matched&#8221;);<br />
Assert.AreEqual(controller, data.Values["controller"].ToString(), true, &#8220;Wrong controller&#8221;);<br />
Assert.AreEqual(action, data.Values["action"].ToString(), true, &#8220;Wrong action&#8221;);<br />
}</p>
<p>protected RouteData GetRouteData(string path)<br />
{<br />
return GetRouteData(path, GET);<br />
}</p>
<p>protected RouteData GetRouteData(string path, string httpMethod)<br />
{<br />
RouteCollection cfg = new RouteCollection();<br />
RegisterRoutes(cfg);<br />
var ctx = MakeMockHttpContext(path,httpMethod);<br />
return cfg.GetRouteData(ctx.Object);<br />
}</p>
<p>protected abstract void RegisterRoutes(RouteCollection cfg);</p>
<p>protected Mock MakeMockHttpContext(string url)<br />
{<br />
return MakeMockHttpContext(url, GET);<br />
}</p>
<p>protected Mock MakeMockHttpContext(string url, string httpMethod)<br />
{<br />
var mockHttpContext = new Mock();<br />
MockRequest(url, mockHttpContext, httpMethod);</p>
<p>// Mock response<br />
MockResponse(mockHttpContext);</p>
<p>return mockHttpContext;<br />
}</p>
<p>protected virtual void MockResponse(Mock mockHttpContext)<br />
{<br />
var mockResponse = new Mock();<br />
mockHttpContext.Setup(c =&#62; c.Response).Returns(mockResponse.Object);<br />
mockResponse.Setup(r =&#62; r.ApplyAppPathModifier(It.IsAny())).Returns(r =&#62; r);<br />
MockResponseTestSetups(mockResponse);<br />
}</p>
<p>protected virtual void MockRequest(string url, Mock mockHttpContext, string method)<br />
{<br />
Mock mockRequest = new Mock();<br />
mockHttpContext.Setup(c =&#62; c.Request).Returns(mockRequest.Object);<br />
mockRequest.Setup(r =&#62; r.AppRelativeCurrentExecutionFilePath).Returns(url);<br />
mockRequest.Setup(r =&#62; r.RequestType).Returns(method);<br />
mockRequest.Setup(r =&#62; r.HttpMethod).Returns(method);<br />
MockRequestTestSetups(mockRequest);<br />
}</p>
<p>///<br />
/// When overridden in child classses, adds additional setups to customize the request mock<br />
///<br />
///<br />
protected virtual void MockRequestTestSetups(Mock mockRequest)<br />
{<br />
// default do nothing unless the subclass wants to<br />
}</p>
<p>///<br />
/// When overridden in child classses, adds additional setups to customize the response mock<br />
///<br />
///<br />
protected virtual void MockResponseTestSetups(Mock mockResponse)<br />
{<br />
// default do nothing unless the subclass wants to<br />
}</p>
<p>protected VirtualPathData GenerateUrlViaMock(object values)<br />
{<br />
// Arrange<br />
RouteCollection cfg = new RouteCollection();<br />
RegisterRoutes(cfg);<br />
var ctx = MakeMockHttpContext(null);<br />
RequestContext context = new RequestContext(ctx.Object, new RouteData());</p>
<p>// Act<br />
return cfg.GetVirtualPath(context, new RouteValueDictionary(values));<br />
}<br />
}</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenVPN connected but No Surf in Ubuntu]]></title>
<link>http://jaidane.wordpress.com/2009/11/10/openvpn-connected-but-no-surf-in-ubuntu/</link>
<pubDate>Tue, 10 Nov 2009 00:26:47 +0000</pubDate>
<dc:creator>Maher</dc:creator>
<guid>http://jaidane.wordpress.com/2009/11/10/openvpn-connected-but-no-surf-in-ubuntu/</guid>
<description><![CDATA[If you&#8217;re using an OpenVPN Server to surf in Ubuntu, maybe you experienced this strange proble]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="text-align:left;">If you&#8217;re using an OpenVPN Server to surf in Ubuntu, maybe you experienced this strange problem : <span style="color:#ff9900;">you can connect but you cannot surf</span> <img class="alignnone size-full wp-image-161" title="icon_questiongif" src="http://jaidane.wordpress.com/files/2009/04/icon_questiongif.png" alt="icon_questiongif" width="18" height="18" /> !    <a href="http://jaidane.wordpress.com/2009/11/10/openvpn-connected-but-no-surf-in-ubuntu/#more-573"><span style="color:#ffff00;"><strong><span style="color:#fbea74;">This how to fix it..</span>.</strong></span></a></p>
<p><strong><br />
</strong></p>
<p><img class="aligncenter size-full wp-image-599" title="vpn" src="http://jaidane.wordpress.com/files/2009/11/vpn.png" alt="vpn" width="321" height="161" /></p>
<p><!--more--></p>
<p>Before we start check your current <a href="http://www.ip-adress.com/" target="_blank">IP online </a> and save it.</p>
<p>The first thing you have to know is that you shouldn&#8217;t use NetworkManager Applet to configure your OpenVPN Connexion, it seems that there&#8217;s a problem with vpn connections when using this applet (atleast with Intrepid), you can connect but traffic isn&#8217;t redirected correctly, so <span style="color:#b9f905;">let&#8217;s first make sure you&#8217;re correctly  connected</span><span style="color:#b9f905;"> !</span> The best thing to do is to download the configuration files from the OpenVPN Server&#8217;s website (just look in the forum if you don&#8217;t find it, it&#8217;s generally an archive file with a *.conf file and a *.crt file, this last one is the certificate) and use&#8217;em directly in a shell console.</p>
<p>Copy the archive content files to</p>
<p><span style="color:#f7e807;">/etc/openvpn/</span></p>
<p>Type :</p>
<p><span style="color:#f7e807;">cd /etc/openvpn &#38;&#38; sudo openvpn yourserver.conf</span></p>
<p>Enter your login and password and wait till you see :</p>
<p><span style="color:#f7e807;">Initialization Sequence Completed</span></p>
<p>It means that you&#8217;re in.</p>
<p>Now to <span style="color:#b9f905;">make sure that you&#8217;re not facing a routing problem</span>, just type :</p>
<p><span style="color:#f7e807;">route -n</span></p>
<p>If you see tunX connections with new IPs, it&#8217;s OK you&#8217;re connected, if one of your web connected peripheral connections (ethX, athX&#8230;) is showing the IP of your OpenVPN Server as a destination you&#8217;re correctly routed.</p>
<p>Now <span style="color:#b9f905;">try to ping the tunX IP with a gateway</span>, if you&#8217;ve got this message :</p>
<p><span style="color:#f7e807;">ping: sendmsg: Operation not permitted </span></p>
<p><span style="color:#ffcc00;">You got the fix ! It&#8217;s a SIMPLE FIREWALL PROBLEM</span> <img class="alignnone size-full wp-image-153" title="icon_biggringif" src="http://jaidane.wordpress.com/files/2009/04/icon_biggringif.png" alt="icon_biggringif" width="18" height="18" /><span style="color:#ffcc00;"> !</span></p>
<p>To solve it, you have to edit :</p>
<p><span style="color:#f7e807;">/etc/firestarter/user-pre</span></p>
<p>First thing to do is to make it writable (it&#8217;s a read-only file) then paste these lines and save the file :</p>
<p><span style="color:#f7e807;"># Allow OpenVPN traffic<br />
$IPT -A INPUT -i tun+ -j ACCEPT<br />
$IPT -A OUTPUT -o tun+ -j ACCEPT</span></p>
<p>Restart Firestarter :</p>
<p><span style="color:#f7e807;">sudo /etc/init.d/firestarter restart</span></p>
<p>It should work now <img class="alignnone size-full wp-image-80" title="icon_smilegif" src="http://jaidane.wordpress.com/files/2009/04/icon_smilegif.png" alt="icon_smilegif" width="18" height="18" /> ! Just re-check your <a href="http://www.ip-adress.com/" target="_blank">Online IP</a> to see if it changed !</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The Next Generation MESH in Indonesia - Mobility]]></title>
<link>http://gudangwireless.wordpress.com/2009/11/08/the-next-generation-mesh-in-indonesia-mobility/</link>
<pubDate>Sun, 08 Nov 2009 15:00:58 +0000</pubDate>
<dc:creator>gudangwireless</dc:creator>
<guid>http://gudangwireless.wordpress.com/2009/11/08/the-next-generation-mesh-in-indonesia-mobility/</guid>
<description><![CDATA[see the application : click here ! The wireless world website click here www.gudangwireless.com , bu]]></description>
<content:encoded><![CDATA[see the application : click here ! The wireless world website click here www.gudangwireless.com , bu]]></content:encoded>
</item>
<item>
<title><![CDATA["A Policy-Aware Switching Layer for Data Centers"]]></title>
<link>http://everythingisdata.wordpress.com/2009/11/08/a-policy-aware-switching-layer-for-data-centers/</link>
<pubDate>Sun, 08 Nov 2009 00:21:54 +0000</pubDate>
<dc:creator>Neil Conway</dc:creator>
<guid>http://everythingisdata.wordpress.com/2009/11/08/a-policy-aware-switching-layer-for-data-centers/</guid>
<description><![CDATA[Many data center networks are configured as a single Layer 2 network, with the switches configured i]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Many data center networks are configured as a single Layer 2 network, with the switches configured into a spanning tree to avoid routing loops (see the <a href="http://everythingisdata.wordpress.com/2009/09/17/floodless-in-seattle/">SEATTLE</a> paper for some more background on how this works). However, in practice, simply finding a Layer 2 path to the appropriate destination host is not enough: data centers also include various &#8220;middleboxes&#8221; (e.g. firewalls, load balancers, and SSL offloaders) that intercept and sometimes modify Ethernet frames in transit. To ensure that traffic is routed to middleboxes as appropriate, network administrators typically modify Layer 2 path selection. This has a number of problems:</p>
<ul>
<li><b>Correctness:</b> How can the administrator be assured that frames always traverse the appropriate sequence of middleboxes, even in the face of network churn and switch failures?</li>
<li><b>Flexibility:</b> Changing the middlebox routing policy should be easy to do.</li>
<li><b>Efficiency:</b> Frames should not be routed to middleboxes that aren&#8217;t interested in those frames.</li>
</ul>
<p>To address these problems, &#8220;<a href="http://www.eecs.berkeley.edu/Pubs/TechRpts/2008/EECS-2008-82.html">A Policy-Aware Switching Layer for Data Centers</a>&#8221; proposes that Layer 2 routing policies be specified in a declarative language at a centralized administrative location. These <i>policies</i> are compiled into then compiled into a set of <i>rules</i> that are installed onto &#8220;policy switches&#8221; (<i>pswitches</i>). Pswitches make Layer 2 routing decisions by consulting a policy table, rather than the &#8220;destination MAC =&#62; switch port&#8221; mapping table used in traditional Layer 2 switches. New policies can be deployed by simply modifying the centralized configuration, which then disseminates them to the appropriate pswitches.</p>
<p>Policies take the form &#8220;At location X, send frames like Y to Z&#8221;, where <i>Z</i> is a <i>sequence</i> of middlebox <i>types</i>. Writing policies in terms of middlebox types, rather than talking about individual middlebox instances, makes it easier to reason about the correctness and how to handle failures without violating the policy. Rules take the form &#8220;For frames that arrive from hop X like Y, send to hop Z.&#8221;</p>
<p>To avoid sending frames to middleboxes that are not interested in them, middleboxes are removed from the physical network data path&#8212;instead, pswitches explicitly forward frames to middleboxes as required. The authors argue that because data center interconnects are relatively low latency, this doesn&#8217;t have a major performance impact.</p>
<h3>Details</h3>
<p>Making this idea work in practical networks requires addressing a lot of details. For example:</p>
<ul>
<li>To support load balancers, the right-hand side of a policy can be a list of middlebox types. The pswitch uses a hash partitioning scheme that is careful to send all the packets belonging to either direction of a flow to the same destination.</li>
<li>To allow this work to be deployed without modifying the entire network, policy-based routing is implemented by encapsulating frames: to implement policy-based routing, a frame is encapsulated in another frame with a destination MAC of the next hop (middlebox or server) required by the policy. Frames are decapsulated before being delivered to middleboxes.</li>
</ul>
<h3>Discussion</h3>
<p>I like this paper. There are only two obvious concerns I can see: the deployment difficulties in any attempt to redesign how switches operate, and the performance concerns of (1) rule table lookups rather than normal Layer 2 routing (2) the additional latency of traversing middleboxes that are off the network data path. Compared with a traditional software-based router, their software-based pswitch implementation achieves 82% throughput and adds an additional 16% latency. Middleboxes deployed with this architecture suffer a lot more overhead: 40% throughput and twice the latency. Its hard to say how the performance of a hardware-based pswitch implementation would compare with regular hardware-based routers.</p>
<p>The authors argue that the additional hop required to traverse a middlebox is acceptable, because data center networks are typically low latency. This seems backward to me: data center applications might actually want to take advantage of low latency links (e.g. see <a href="http://www.stanford.edu/~ouster/cgi-bin/papers/ramcloud.pdf">RAMCloud</a>), and won&#8217;t like the network infrastructure adding additional latency overhead without a compelling reason.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA["Internet Indirection Infrastructure"]]></title>
<link>http://everythingisdata.wordpress.com/2009/11/06/internet-indirection-infrastructure/</link>
<pubDate>Fri, 06 Nov 2009 17:42:42 +0000</pubDate>
<dc:creator>Neil Conway</dc:creator>
<guid>http://everythingisdata.wordpress.com/2009/11/06/internet-indirection-infrastructure/</guid>
<description><![CDATA[&#8220;Internet Indirection Infrastructure&#8221; (i3) proposes a communication abstraction in which]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>&#8220;<a href="http://www.sigcomm.org/sigcomm2002/papers/i3.pdf">Internet Indirection Infrastructure</a>&#8221; (i3) proposes a communication abstraction in which applications send packets to <i>identifiers</i>, rather than network addresses. Receivers register <i>triggers</i> that express their interest in packets sent to a particular identifier&#8212; the i3 infrastructure takes care of the routing. i3 is designed to be a general-purpose substrate, which can be used to build communication patterns including multicast, anycast, load balanced server selection, and host mobility.</p>
<h3>Basic Model</h3>
<p>To register interest in data, a receiver registers a trigger for the pair (<i>id</i>, <i>addr</i>) &#8212; this specifies that packets sent to identifier <i>id</i> should be routed to IP address <i>addr</i>. Multiple receivers for a single ID can be registered, in which case the packet is delivered to all matching trigger addresses. i3 generalizes this basic model in a few ways:</p>
<ul>
<li><b>Inexact matching</b>. Identifiers are divided into two pieces: an &#8220;exact match prefix&#8221; of <i>k</i> bits, and a suffix that is used to do longest-prefix matches. That is, a trigger matches an identifier if the first <i>k</i> bits match exactly, and if no other trigger has a longer prefix match against the rest of the identifier.</li>
<li><b>Identifier stacks</b>. Rather than sending a packet to a single identifier, packets can instead be sent to a stack of identifiers. Similarly, triggers are generalized to mean &#8220;When a match for <i>id</i> is found, push <i>a</i>, <i>b</i>, &#8230; onto the stack.&#8221; i3 looks for a trigger that matches the first element of the stack; if no such trigger is found, the first element is popped from the stack. This continues until the stack is empty or a matching trigger is found; if a match is found, the trigger&#8217;s identifier stack is pushed onto the packet&#8217;s stack, and routing continues anew. i3 assumes that this process will eventually result in matching a trigger against an identifier holding an IP address. When that occurs, the packet&#8217;s data and the rest of the identifier stack is sent to the address.</li>
<li><b>Private triggers</b>. This is not an i3-level concept, but a design pattern that i3-using applications often follow. A &#8220;public&#8221; trigger is a trigger on a well-known identifier, and is used to initiate a session with a server; &#8220;private&#8221; triggers are used to communicate between pairs of end hosts. A pair of private trigger identifiers might be exchanged via a service&#8217;s public trigger identifier, and then subsequent communication will proceed via the private triggers.
</ul>
<h3>Implementation</h3>
<p>i3 is implemented on top of a distributed hash table (DHT); the authors use the <a href="http://everythingisdata.wordpress.com/2009/11/03/chord-a-scalable-peer-to-peer-lookup-service-for-internet-applications/">Chord DHT</a> in the paper. The DHT provides a service to find the node associated with a key; for the purposes of i3, this allows a packet sender to find the node that holds the triggers for the first identifier in the packet&#8217;s identifier stack (the DHT lookup is only done on the &#8220;exact match prefix&#8221; of the identifier). The target i3 node then finds the matching trigger, if any, by doing a longest-prefix match against trigger identifiers. Once a match is found, the packet is routed to the receiver address or addresses via IP, or another DHT lookup occurs (if the trigger contains an ID stack, not an address).</p>
<p>Senders cache the IP address of the i3 node responsible for each identifier. Hence, in the common case, routing an i3 packet requires two physical network traversals: one to get from the sender to the i3 node, and then another from the i3 node to the receiver.</p>
<h3>Example Usage</h3>
<p>i3 provides direct support for simple multicast; anycast is supported using inexact identifier matching, and appropriate choices for the inexact suffix of the identifier. Host mobility can be supported by simply updating a receiver&#8217;s trigger. Multicast trees can be implemented by constructing routing trees in i3, using the identifier stack feature (triggers that &#8220;invoke&#8221; triggers can essentially be used to construct an arbitrary graph, and to do recursive queries over graphs).</p>
<h3>Performance</h3>
<p>In the paper&#8217;s experiments, the latency to route the first packet to an identifier is about 4 times that of raw IP routing, because a Chord lookup must be done (after applying some standard Chord tricks to try to pick the &#8220;closest&#8221; Chord node among the alternatives as the ring is traversed). To reduce the latency required to route subsequent packets, i3 employs two techniques:</p>
<ul>
<li>Caching the address of the i3 node that owns a given identifier, as discussed above.</li>
<li>A receiver generates <i>k</i> random trigger identifiers, and then chooses the identifier that it can reach via IP with the lowest latency.</li>
</ul>
<p>By having each receiver generate 15-30 random triggers with this technique, the authors are able to reduce the i3 routing latency for subsequent packets send to an identifier to between 2 and 1.5 times more than raw IP.</p>
<h3>Discussion</h3>
<p>Overall, I liked this paper: it is an elegant idea that is explained well. A cynical view of this paper is that it isn&#8217;t all that innovative or &#8220;deep&#8221;: it is just a thin logic layer on top of a DHT. i3 is basically a generalization of the name-to-value lookup service provided by the DHT.</p>
<p>Both performance and security are serious issues with this design, and the paper didn&#8217;t really convince me that their approach addresses these problems.</p>
<p>I would have liked to see a performance comparison between IP-level multicast and i3.</p>
<p>It would be interesting to compare i3 with <a href="http://en.wikipedia.org/wiki/Group_communication_system">group communication systems</a> (GCS) that provide totally-ordered broadcast messages.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[OSPF, Part 2]]></title>
<link>http://ccnablog.globalknowledge.com/2009/11/06/ospf-part-2/</link>
<pubDate>Fri, 06 Nov 2009 14:50:26 +0000</pubDate>
<dc:creator>gkmktgjll</dc:creator>
<guid>http://ccnablog.globalknowledge.com/2009/11/06/ospf-part-2/</guid>
<description><![CDATA[In this installment, we’ll continue our look at OSPF (Open Shortest Path First). As we’ve seen, each]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>In this installment, we’ll continue our look at OSPF (Open Shortest Path First). As we’ve seen, each router originates a Link State Advertisement (LSA), which is flooded throughout the internetwork. The LSA contains prefix and metric information for each link to which that router is directly connected. Each router maintains a Link State Database (LSDB) which contains copies of all LSAs the router has learned. Thus, the LSDB represents the detailed topology of the internetwork. Using Dijkstra’s SPF algorithm, each router independently uses its copy of the LSDB to develop its routing table.</p>
<p>So that all routers know which router originated which LSA, each LSA is uniquely identified by the originating router’s OSPF router ID. Like an IP address, an OSPF router ID is a 32-bit binary value that is commonly represented in dotted-decimal format. An OSPF router ID is assigned or selected as follows:</p>
<ul>
<li>If a “router-id” command appears under the OSPF process, that’s it.</li>
<li>If not, it’s the highest IP address amongst the active loopback interfaces.</li>
<li>If there are no active loopbacks, it’s the highest IP address amongst the active physical interfaces.</li>
</ul>
<p>By <strong>active </strong>we mean not Administratively Down. In other words, a physical interface that’s Up/Down or Down/Down is still a candidate for OSPF router ID.</p>
<p>Note that although an OSPF router ID looks like an IP address, and may have been derived from an IP address, it is <em>not</em> an IP address. Instead, the router ID is used to uniquely identify the originator of a particular LSA within the LSDBs.</p>
<p><strong>Key point: </strong>If you’re setting the OSPF router IDs manually using either<strong> router-id </strong>commands or loopbacks, they had better be <em>unique</em>! If not, corruption of the LSDBs and of the resulting routing tables can occur.</p>
<p>Two OSPF neighbors-to-be begin in the <strong>Down</strong> state. Once one of the potential neighbors has sent a hello, the neighbors move to <strong>Init</strong> state. To go further, the routers must agree on the following items with regard to the link which connects them:</p>
<ul>
<li>The subnet of the link</li>
<li>The OSPF Hello and Dead intervals for the link</li>
<li>The OSPF area within which the link resides</li>
<li>Whether or not that area is an OSPF “stub” area</li>
<li>Authentication type and keystring (if configured)</li>
</ul>
<p>Assuming that the conditions are met, the neighbors proceed to <strong>Two-Way</strong>, which means that the neighbor relationship has been confirmed.</p>
<p>In the case of a point-to-point link (such as a serial link running HDLC or PPP), once the routers are Two-Way, they immediately proceed through <strong>Exstart</strong>, <strong>Exchange</strong>, and <strong>Loading</strong>, to <strong>Full</strong> state. Once they’ve reached Full state, their LSDBs are synchronized.</p>
<p>Next time, we’ll see how we handle LSDB synchronization on multi-access media, such as Ethernet LANs and Frame Relay WANs.</p>
<p><strong> Author: Al Friebe</strong></p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
