<?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>Bosque Viejo &#187; redes</title>
	<atom:link href="http://bosqueviejo.net/category/redes/feed/" rel="self" type="application/rss+xml" />
	<link>http://bosqueviejo.net</link>
	<description>Sitio web sobre programación, software libre, redes, servidores, ofimática... y todo lo relacionado con la informática que nos rodea</description>
	<lastBuildDate>Sun, 22 Jan 2012 01:02:42 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Redirigiendo tráfico</title>
		<link>http://bosqueviejo.net/2012/01/06/redirigiendo-trafico/</link>
		<comments>http://bosqueviejo.net/2012/01/06/redirigiendo-trafico/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 23:40:15 +0000</pubDate>
		<dc:creator>bombadil</dc:creator>
				<category><![CDATA[redes]]></category>
		<category><![CDATA[administración de sistemas]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[routing]]></category>

		<guid isPermaLink="false">http://bosqueviejo.net/?p=1190</guid>
		<description><![CDATA[ He estado revisando para cambiar el servidor a otro nuevo, con una versión limpia y actualizada de Debian (la nueva versión Squeeze), por lo que, toca migrarlo todo.
Esto puede constituir un pequeño desastre para todos los servicios que tengo montados, ya que hay que copiar todos los datos al nuevo servidor, tirar el servicio antes para que los datos no cambien, y levantar los servicios en el nuevo, asegurándose de que todo funcione&#8230; vale, por ahí, ya sé que van a ser un par de horas&#8230; pero el DNS&#8230; con su propia caché y demás, eso sí puede ser un gran problema.
Por ese motivo me puse a buscar y, a modo de post-it, me lo dejo aquí escrito para futuro, y por si alguien lo necesita también. Básicamente es: cómo redirigir el tráfico de un servidor a otro, empleando iptables.
Redirigiendo&#8230;
Vale, estoy en el antiguo servidor, tengo email y web. Los puertos por los que llega la comunicación, todos TCP, y posibilidad de SSL, pero en eso no hay mayor problema. En esencia tengo que cuidarme de las peticiones a los puertos: 80 (http), 443 (https), 25 (smtp), 465 (ssmtp), 110 (pop3), 995 (pop3s), 143 (imap) y 993 (imaps).
Buscando, vi [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://bosqueviejo.net/wp-content/uploads/redes-150x150.jpg" alt="" title="redes" width="150" height="150" class="alignleft size-thumbnail wp-image-1194" /> He estado revisando para cambiar el servidor a otro nuevo, con una versión limpia y actualizada de Debian (la nueva versión <a href="http://bosqueviejo.net/2011/02/14/debian-squeeze-liberada/">Squeeze</a>), por lo que, toca migrarlo todo.</p>
<p>Esto puede constituir un pequeño desastre para todos los servicios que tengo montados, ya que hay que copiar todos los datos al nuevo servidor, tirar el servicio antes para que los datos no cambien, y levantar los servicios en el nuevo, asegurándose de que todo funcione&#8230; vale, por ahí, ya sé que van a ser un par de horas&#8230; pero el DNS&#8230; con su propia caché y demás, eso sí puede ser un gran problema.</p>
<p>Por ese motivo me puse a buscar y, a modo de post-it, me lo dejo aquí escrito para futuro, y por si alguien lo necesita también. Básicamente es: <strong>cómo redirigir el tráfico de un servidor a otro</strong>, empleando iptables.</p>
<h3>Redirigiendo&#8230;</h3>
<p>Vale, estoy en el antiguo servidor, tengo email y web. Los puertos por los que llega la comunicación, todos TCP, y posibilidad de SSL, pero en eso no hay mayor problema. En esencia tengo que cuidarme de las peticiones a los puertos: 80 (http), 443 (https), 25 (smtp), 465 (ssmtp), 110 (pop3), 995 (pop3s), 143 (imap) y 993 (imaps).</p>
<p>Buscando, vi <a href="http://www.simplehelp.net/2009/04/15/how-to-redirect-traffic-to-another-machine-in-linux/">esta web sobre como redireccionar tráfico</a>, por lo que, escribí:</p>

<div class="wp_syntax"><div class="code"><pre class="shell" style="font-family:monospace;">echo 1 &gt;/proc/sys/net/ipv4/ip_forward
export IP=XXX.XXX.XXX.XXX
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination $IP
iptables -t nat -A POSTROUTING -p tcp -d $IP --dport 80 -j MASQUERADE</pre></div></div>

<p><strong>NOTA</strong>: como es lógico, hay que cambiar XXX.XXX.XXX.XXX por la IP del servidor al que se quieren redireccionar las peticiones al puerto 80.</p>
<p>Lo que hacen estos comandos es:</p>
<ol>
<li>Indica al kernel que puede hacer <em>forward</em> de los paquetes que pasen por su interfaz de red.</li>
<li>Indica al sistema que los paquetes entrantes al puerto 80 sean dirigidos a la $IP indicada.</li>
<li>Indica al sistema que los paquetes que deban de salir, se <em>emascaren</em> modificando su IP de origen por la propia.</li>
</ol>
<p>Con esto conseguimos que la comunicación hacia el puerto 80 pase sin problemas al otro servidor. Lo único, es que se <em>desvirtúan</em> las estadísticas, ya que para el servidor web, todas las peticiones son del servidor que redirecciona las peticiones, pero si es un recurso temporal (como es mi caso), no tiene mucha o mayor importancia <img src='http://bosqueviejo.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3>¿Cómo funciona el enrutado?</h3>
<p>Encontré también <a href="http://billauer.co.il/ipmasq-html.html">otra página</a> donde se explica bastante bien (aunque algo esquemática) la forma en que funciona el enrutado de paquetes empleando <tt>iptables</tt>, el gráfico:</p>
<p><a href="http://bosqueviejo.net/wp-content/uploads/ipmasq-html1x.gif"><img src="http://bosqueviejo.net/wp-content/uploads/ipmasq-html1x-300x243.gif" alt="" title="ipmasq-html1x" width="300" height="243" class="aligncenter size-medium wp-image-1195" /></a></p>
<p>Como puede verse, el paquete pasa por la cadena de reglas PREROUTING al entrar, es procesado y, cuando se detecta que es para otra máquina, se pasa a FORWARD y después a POSTROUTING, donde se pueden agregar reglas de modificación antes de que el paquete sea entregado a su destino.</p>
<p>Recomiendo echar un vistazo al enlace dado para ampliar más sobre el tema.</p>
<h3>Conclusiones</h3>
<p>Nada es perfecto al 100%, por ejemplo, esto mismo lo probé con XMPP, y no funciona correctamente, ya que la comunicación de s2s del protocolo espera que los mensajes lleguen del dominio (e IP) al que se solicita información, mientras que, estos mensajes, en su mayoría, al estar direccionados al dominio, no es la misma IP. No obstante, como medida temporal y sobretodo para HTTP, el apaño lo da.</p>
]]></content:encoded>
			<wfw:commentRss>http://bosqueviejo.net/2012/01/06/redirigiendo-trafico/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>¿Cómo funciona el sistema web?</title>
		<link>http://bosqueviejo.net/2010/11/16/como-funciona-el-sistema-web/</link>
		<comments>http://bosqueviejo.net/2010/11/16/como-funciona-el-sistema-web/#comments</comments>
		<pubDate>Tue, 16 Nov 2010 13:03:41 +0000</pubDate>
		<dc:creator>bombadil</dc:creator>
				<category><![CDATA[redes]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[navegador web]]></category>
		<category><![CDATA[uri]]></category>
		<category><![CDATA[url]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://bosqueviejo.net/?p=531</guid>
		<description><![CDATA[Hace ya tiempo escribí una entrada parecida basándome en el sistema de correo, hoy el tema que nos ocupa es la web. El sistema web es el medio más usado por todos los usuarios de Internet, constituyéndose como el sistema asociado por defecto a la idea preconcebida que se tiene sobre Internet: páginas web.
Conceptos
Antes de comenzar a entrar en el tema, vamos a definir algunos conceptos muy útiles y a tener en cuenta, para no perdernos. Es importante conocer estas palabras y el significado que conllevan para poder entender, a posteriori, cómo funciona el sistema web:

web: en inglés, telaraña, se refiere al entramado que se imagina cuando de una página se pasa a otra enlazándose entre sí todas ellas, formando una imagen como de telaraña, o web.
URL: Uniform Resource Locator, o lo que quiere decir como Localizador de Recurso Uniforme. En sí es la dirección completa de un recurso que se solicita a través de Internet (y más específicamente del protocolo HTTP). Este tiene la forma:
http://host:port/uri
 o
https://host:port/uri

URI: Uniform Resource Identifier, o Identificador de Recurso Uniforme. Lo que es la parte de la ruta dentro de la URL, como se había visto más arriba. La URI puede contener, a su vez, [...]]]></description>
			<content:encoded><![CDATA[<p>Hace ya tiempo escribí una entrada parecida basándome en <a href="http://bosqueviejo.net/2009/04/06/como-funciona-el-sistema-de-correo/">el sistema de correo</a>, hoy el tema que nos ocupa es la web. El sistema web es el medio más usado por todos los usuarios de Internet, constituyéndose como el sistema asociado por defecto a la idea preconcebida que se tiene sobre Internet: páginas web.</p>
<h3>Conceptos</h3>
<p>Antes de comenzar a entrar en el tema, vamos a definir algunos conceptos muy útiles y a tener en cuenta, para no perdernos. Es importante conocer estas palabras y el significado que conllevan para poder entender, a posteriori, cómo funciona el sistema web:</p>
<ul>
<li><strong>web</strong>: en inglés, <em>telaraña</em>, se refiere al entramado que se imagina cuando de una página se pasa a otra enlazándose entre sí todas ellas, formando una imagen como de <em>telaraña</em>, o web.</li>
<li><strong>URL</strong>: Uniform Resource Locator, o lo que quiere decir como Localizador de Recurso Uniforme. En sí es la dirección completa de un recurso que se solicita a través de Internet (y más específicamente del protocolo HTTP). Este tiene la forma:
<pre>http://host:port/uri</pre>
<p> o
<pre>https://host:port/uri</pre>
</li>
<li><strong>URI</strong>: Uniform Resource Identifier, o Identificador de Recurso Uniforme. Lo que es la parte de la ruta dentro de la URL, como se había visto más arriba. La URI puede contener, a su vez, particiones, que se indicarán con la barra inclinada (/) y zona de consulta, que comenzará con el signo de interrogación (?) y tendrá pares de clave valor separados entre sí por el signo de igualdad (=) y entre cada par por el símbolo del ampersand (&#038;):
<pre>/miruta/mifichero.ext?clave1=valor1&#038;clave2=valor2</pre>
</li>
<li><strong>Host</strong>: del inglés máquina. Se refiere al nombre del servidor donde se alberga la URI que se solicita. El nombre debe de ser un nombre que se pueda resolver vía DNS, pudiendo ser un conjunto de letras, símbolos (válidos: guión (-) y subrayado (_)) y números: www.midominio.com</li>
<li><strong>Port</strong>: o puerto. Es el número en el que <em>escucha</em> el servidor web. No hace falta indicarlo explícitamente, a menos que sea diferente del puerto estándar, que es el 80. Se indica en formato decimal.</li>
<li><strong>Servidor web</strong>: es el programa que se mantiene a la <em>escucha</em> para atender las peticiones de los navegadores, a modo de servir las páginas web. También puede ejecutar códigos para generar páginas, imágenes y otros contenidos para cada petición. Hay servidores de pago y gratuitos, y libres, algunos ejemplos de los más usados: Apache, Cherokee y Microsoft IIS.</li>
<li><strong>Navegador web</strong>: es una aplicación de escritorio que permite, dando una URL, visualizar una página web, escrita en lenguaje HTML. Los navegadores web tienen la posibilidad de emplear plugins de forma que puedan: reproducir vídeos, sistemas interactivos Java, Flash, Silverlight, &#8230;; reproducir audio, usar hojas de estilo, o código JavaScript&#8230;; algunos ejemplos de navegadores web más usados son: Google Chrome, Mozilla Firefox, Microsoft Internet Explorer, Opera y Safari.</li>
</li>
</ul>
<h3>Peticiones: modo Cliente/Servidor</h3>
<p>El sistema web se diseño para ser de modo cliente/servidor. Eso quiere decir que hay un elemento activo, en este caso el navegador web, que haría las veces de cliente, y un elemento pasivo, en este caso el servidor web, que haría las veces de servidor.</p>
<p>La dinámica siempre es la misma, el cliente realiza una conexión a través de la red para solicitar una página web, mediante una URL, y el servidor responde a esta URL con un mensaje en el que puede indicarle el contenido de lo solicitado (200 OK), que no encuentra la página (404 Not Found), que no tiene acceso a ese recurso (403 Forbidden), que necesite autenticarse antes (401 Authorization Required), que el recurso solicitado está en otra ubicación (302 Redirect), etc.</p>
<h3>Formato de las Peticiones</h3>
<p>Las peticiones pueden ser de varios tipos, pero básicamente, se nombran, para navegadores, dos: GET y POST. Cuando un cliente realiza una petición de URL de forma normal, esta se realiza siempre vía GET. En cambio, cuando se realiza mediante el envío de un formulario, presionando en el botón de tipo <em>submit</em> de una página web, este puede realizarse mediante POST (a menos que se explicite, en el propio código HTML, que se hará mediante GET u otro método que soporte el navegador web).</p>
<p>Por tanto, una petición se envía en formato texto, como sigue:</p>
<pre>
GET / HTTP/1.1
Host: www.google.es
User-Agent: Mozilla Firefox
Connection: close
</pre>
<p>La petición se divide en:</p>
<ul>
<li><strong>Primera línea</strong>: es en la que se especifica el método de solicitud, seguida por la URI, y por último el protocolo usado (normalmente HTTP/1.1).</li>
<li><strong>Cabeceras</strong>: es el espacio destinado a dar información al servidor sobre la solicitud. Las cabeceras son frases cortas de letras y guiones que terminan con los dos puntos (:), para dar lugar al valor de la clave. El <em>host</em> se indica siempre para informar al servidor del dominio al que queremos solicitar la página, así como el <em>user-agent</em>, en el que le informamos desde qué navegador (o tipo de navegador) estamos realizando la petición. En este <a href="http://www.calinsoft.com/2010/09/historia-de-la-cadena-de-identificacion-de-los-navegadores">enlace</a> se puede ver cómo se construyen los user-agent para cada navegador, y el porqué son tan largos.</li>
<li><strong>Cuerpo del mensaje</strong>: una petición de tipo GET no suele tener cuerpo de mensaje, por lo que no se especifica una cabecera de tipo <em>Content-lenght</em>, que indicaría que hay cuerpo de mensaje, y el tamaño del mismo. También se puede indicar que el contenido irá por trozos. Entre la línea de cabeceras y el cuerpo, se deja siempre una línea en blanco.</li>
</ul>
<h3>Formato de la respuesta</h3>
<p>La respuesta que emite el servidor viene formada por una serie de líneas de texto en las que se indica el protocolo en el que se responde (normalmente HTTP/1.1), seguido de tres dígitos, el código de retorno, y un texto informativo sobre el retorno.</p>
<p>Al igual que en el caso de la solicitud, se incluyen cabeceras, y el cuerpo de la respuesta, que está separado de las cabeceras por una línea en blanco. Un ejemplo:</p>
<pre>
HTTP/1.1 200 OK
Date: Tue, 16 Nov 2010 02:30:00 GMT
Server: Apache/2.2.9 (Debian)
Content-Length: 4
Content-Type: text/plain

hola
</pre>
<p>En este caso, como se puede ver, el servidor también responde informando de su <em>huella</em> (la cabecera <em>Server</em>), donde especifica el tipo de servidor que es. En este caso, la respuesta tiene cuerpo de mensaje, de 4 bytes y de tipo texto plano (en formato MIME: <em>text/plain</em>).</p>
<h3>Tipos de Respuestas</h3>
<p>Las respuestas que puede dar un servidor web pueden ser:</p>
<table>
<tr>
<th>código</th>
<th>tipo</th>
</tr>
<tr>
<th>1xx</th>
<td>respuesta temporal, el cliente seguirá esperando por una respuesta definitiva</td>
</tr>
<tr>
<th>2xx</th>
<td>respuesta correcta</td>
</tr>
<tr>
<th>3xx</th>
<td>redirección</td>
</tr>
<tr>
<th>4xx</th>
<td>error de cliente (por no tener autorización, no encontrase la página o similar)</td>
</tr>
<tr>
<th>5xx</th>
<td>error de servidor (por fallo en el sistema servidor, de código o similar)</td>
</tr>
</table>
<p>Para más información sobre los códigos se puede ver el <a href="http://es.wikipedia.org/wiki/Anexo:C%C3%B3digos_de_estado_HTTP">anexo de códigos HTTP</a> de la wikipedia.</p>
<h3>Cookies</h3>
<p>Debido a que el sistema web es lo que se conoce como <em>stateless</em>, es decir, que cada petición se realiza independientemente de las anteriores y siguientes, por lo que, en muchos sitios, para poder establecer una sesión o identificar a un usuario para poder usar sus preferencias preguardadas, o información sobre su navegación en nuestro sitio, se usan las <a href="http://es.wikipedia.org/wiki/Cookie#Ideas_equivocadas">polémicas cookies</a>.</p>
<p>Una cookie es un dato que indica el servidor para el cliente, que debe de almacenarlo y enviarlo cada vez, hasta que se cumpla el tiempo límite en el que expira. Por ejemplo:</p>
<pre>
HTTP/1.1 200 OK
...
Set-Cookie: name=value; expire=Tue, 16-Nov-2010 15:00:00 GMT; path=/; domain=www.google.es
...
</pre>
<p>Las cookies tienen 4 partes, </p>
<ul>
<li>la primera se establece el par <strong>clave-valor</strong>, esto quiere decir que se establece, como si de una variable se tratase, el nombre de la cookie, con el valor que contendrá,</li>
<li>la segunda es la <strong>expiración de la cookie</strong>, o caducidad. Pasada esa fecha, la cookie debe de ser destruida del navegador web para no volver a ser usada,</li>
<li><strong>la ruta</strong>, en la tercera posición, es la URI base de la que cuelga la cookie. Para tenerla como referencia en su uso, y solo enviar la cookie cuando la ruta base se cumpla en la URI solicitada.</li>
<li>por último, se especifica el <strong>dominio</strong> para el que se configura la cookie. Este debe de ser igual a la cabecera <em>host</em> enviado en la petición, a menos que haya cambiado de dominio.</li>
</ul>
<p>Una vez el servidor ha enviado esta información al navegador web, el navegador almacena (o solicita antes si se desea almacenar) dicha información como cookie, para reenviarla cada vez que se visite el dominio con la misma URI base. El navegador realiza las peticiones de la siguiente forma:</p>
<pre>
GET / HTTP/1.1
Host: www.google.es
Cookie: name=value
...
</pre>
<p>El tema de las cookies y la privacidad ha sido muy discutido y hay legislaciones (la de EEUU y Europa) que han incluido artículos para su regulación, ya que puede ser empleado como un medio para minar nuestra privacidad. Esto se puede leer de forma más amplia en <a href="http://es.wikipedia.org/wiki/Cookie#Privacidad_y_cookies_de_terceros">este enlace</a>.</p>
<h3>Conclusiones</h3>
<p>El protocolo HTTP, en el que se basa el sistema web, es el más usado en internet, junto con el correo electrónico. Con este artículo se pretende dar una visión un poco más a bajo nivel sobre cómo funciona dicho sistema, y se espera ampliar en un futuro con más artículos referentes a otros aspectos que conforman y completan al propio protocolo.</p>
]]></content:encoded>
			<wfw:commentRss>http://bosqueviejo.net/2010/11/16/como-funciona-el-sistema-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pretty URLs</title>
		<link>http://bosqueviejo.net/2010/04/27/pretty-urls/</link>
		<comments>http://bosqueviejo.net/2010/04/27/pretty-urls/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 12:17:18 +0000</pubDate>
		<dc:creator>bombadil</dc:creator>
				<category><![CDATA[redes]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[rewrite]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://bosqueviejo.net/?p=430</guid>
		<description><![CDATA[Muchas veces hemos visto las URL de algunos sitios que tienen, tras una interrogación de cierre (?) una hilera de valores con iguales (=) separados por ampersand (&#038;). No obstante, hay otros muchos sitios que sus URLs, más específicamente sus URIs, son palabras en minúscula, con algunos guiones y números escasos, separados por barras inclinadas (/). Este último método es conocido con pretty urls.
Tener este tipo de URLs, o URIs en nuestro dominio, se puede hacer mediante la creación de directorios y especificando los ficheros dentro de los mismos que tengan los nombres (sin extensión) que queremos que se visualicen en la barra del navegador&#8230; pero no es nada útil y es complejo, sobre todo cuando se usan entornos como WordPress o similares, donde el contenido de la base de datos dicta lo que aparece en la página, y es totalmente dinámico.
La solución que se puede emplear: rewrite. En Apache, a través del módulo mod_rewrite, se pueden crear reglas de redireccionado de modo que una URL que es:
http://midominio.com/?p=129&#038;a=crea-usuario
Se puede convertir en:
http://midominio.com/crea-usuario/129
En el caso concreto, tan solo bastaría con agregar un bloque de configuración como el siguiente:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(.+)/([0-9]+)$    /index.php?p=$2&#038;a=$1

Para más información vea la [...]]]></description>
			<content:encoded><![CDATA[<p>Muchas veces hemos visto las URL de algunos sitios que tienen, tras una interrogación de cierre (?) una hilera de valores con iguales (=) separados por ampersand (&#038;). No obstante, hay otros muchos sitios que sus URLs, más específicamente sus URIs, son palabras en minúscula, con algunos guiones y números escasos, separados por barras inclinadas (/). Este último método es conocido con <em>pretty urls</em>.</p>
<p>Tener este tipo de URLs, o URIs en nuestro dominio, se puede hacer mediante la creación de directorios y especificando los ficheros dentro de los mismos que tengan los nombres (sin extensión) que queremos que se visualicen en la barra del navegador&#8230; pero no es nada útil y es complejo, sobre todo cuando se usan entornos como WordPress o similares, donde el contenido de la base de datos dicta lo que aparece en la página, y es totalmente dinámico.</p>
<p>La solución que se puede emplear: rewrite. En Apache, a través del módulo <em>mod_rewrite</em>, se pueden crear reglas de redireccionado de modo que una URL que es:</p>
<pre>http://midominio.com/?p=129&#038;a=crea-usuario</pre>
<p>Se puede convertir en:</p>
<pre>http://midominio.com/crea-usuario/129</pre>
<p>En el caso concreto, tan solo bastaría con agregar un bloque de configuración como el siguiente:</p>
<pre>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(.+)/([0-9]+)$    /index.php?p=$2&#038;a=$1
</pre>
<p>Para más información vea <a href="http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html">la documentación oficial de Apache</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://bosqueviejo.net/2010/04/27/pretty-urls/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>La Regla de los Nueves</title>
		<link>http://bosqueviejo.net/2009/11/04/la-regla-de-los-nueves/</link>
		<comments>http://bosqueviejo.net/2009/11/04/la-regla-de-los-nueves/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 15:15:41 +0000</pubDate>
		<dc:creator>bombadil</dc:creator>
				<category><![CDATA[redes]]></category>
		<category><![CDATA[administración de sistemas]]></category>
		<category><![CDATA[servidores]]></category>

		<guid isPermaLink="false">http://bosqueviejo.net/wordpress/?p=208</guid>
		<description><![CDATA[Esto es algo que aprendí, ahora hace ya unos 5 años, cuando comencé a instalar mi primer servicio de alta disponibilidad.
En un artículo sobre el tema, la alta disponibilidad, se decía que la disponibilidad de un servicio, servido únicamente por una máquina, normalmente es de un 90%, con lo que, a lo largo de un año (365 días) el servicio se ha mantenido en funcionamiento un máximo del 90%, aproximadamente, y ha tenido un tiempo de inactividad del 10% (más o menos unos 36 días).
Con sistemas de alta disponibilidad, es decir, teniendo más de una máquina siriviendo un servicio, la proporción se incrementa, pero siempre a razón de nueves. Es decir, con dos máquinas, tenemos una disponibilidad del 99%, con tres máquinas tenemos un 99,9%, con cuatro un 99,99% y así sucesivamente.
Como nota curiosa, hace poco leí que los sistemas desarrollados sobre Erlang/OTP tienen una alta disponibilidad de nueve nueves (99,9999999%), lo cual me parece algo increíble, pero totalmente cierto, ya que he probado la infraestructura y realmente es muy estable.
]]></description>
			<content:encoded><![CDATA[<p>Esto es algo que aprendí, ahora hace ya unos 5 años, cuando comencé a instalar mi primer servicio de alta disponibilidad.</p>
<p>En un artículo sobre el tema, la alta disponibilidad, se decía que la disponibilidad de un servicio, servido únicamente por una máquina, normalmente es de un 90%, con lo que, a lo largo de un año (365 días) el servicio se ha mantenido en funcionamiento un máximo del 90%, aproximadamente, y ha tenido un tiempo de inactividad del 10% (más o menos unos 36 días).</p>
<p>Con sistemas de alta disponibilidad, es decir, teniendo más de una máquina siriviendo un servicio, la proporción se incrementa, pero siempre a razón de nueves. Es decir, con dos máquinas, tenemos una disponibilidad del 99%, con tres máquinas tenemos un 99,9%, con cuatro un 99,99% y así sucesivamente.</p>
<p>Como nota curiosa, hace poco <a href="http://blog.toolshed.com/2007/09/999999999-uptim.html">leí</a> que los sistemas desarrollados sobre <a href="http://www.erlang.org/">Erlang/OTP</a> tienen una alta disponibilidad de nueve nueves (99,9999999%), lo cual me parece algo increíble, pero totalmente cierto, ya que he probado la infraestructura y realmente es muy estable.</p>
]]></content:encoded>
			<wfw:commentRss>http://bosqueviejo.net/2009/11/04/la-regla-de-los-nueves/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Escalado de Ruby on Rails</title>
		<link>http://bosqueviejo.net/2009/05/25/escalado-de-ruby-on-rails/</link>
		<comments>http://bosqueviejo.net/2009/05/25/escalado-de-ruby-on-rails/#comments</comments>
		<pubDate>Mon, 25 May 2009 11:34:41 +0000</pubDate>
		<dc:creator>bombadil</dc:creator>
				<category><![CDATA[redes]]></category>
		<category><![CDATA[desarrollo web]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[servidores]]></category>

		<guid isPermaLink="false">http://bosqueviejo.net/wordpress/?p=142</guid>
		<description><![CDATA[Después de liberar el primer proyecto escrito en Ruby on Rails, cuando lo pasamos a producción, nos dimos cuenta de que el sistema funcionaba realmente lento. En algunos casos, incluso, no respondía, con lo que buscamos información por internet y vimos:
Mongrel y Thin no son multi-hilo
Fue algo que nos sorprendió mucho, una aplicación servidora secuencial, que atiende las peticiones una a una y, en caso de que una petición se tarde un par de segundos (que las teníamos :-S ), el sistema se queda trabado durante todo ese tiempo.
Las soluciones posibles eran dos:

Phusion Passenger, también conocido como mod_rails, es un módulo para Apache que mantiene tantos hilos como peticiones se vayan gestionando, siempre con unos límites máximos y mínimos, tal y como apache suele hacerlo.
Ngnix + Thin, esta solución fue un poco más artesana, por decirlo de alguna forma, ya que consistía en configurar este servidor web como proxy inverso, para hacer el balanceo de peticiones entre todos los hilos de thin que se quieran cargar en el sistema. Descartamos en este punto a mongrel por comentarios que había leído en otros blogs.

Bien, por correr lo más posible, lanzamos tantos hilos como nos fue posible en la máquina que dedicamos [...]]]></description>
			<content:encoded><![CDATA[<p>Después de liberar el primer proyecto escrito en Ruby on Rails, cuando lo pasamos a producción, nos dimos cuenta de que el sistema funcionaba realmente lento. En algunos casos, incluso, no respondía, con lo que buscamos información por internet y vimos:</p>
<p><strong>Mongrel y Thin no son multi-hilo</strong></p>
<p>Fue algo que nos sorprendió mucho, una aplicación servidora secuencial, que atiende las peticiones una a una y, en caso de que una petición se tarde un par de segundos (que las teníamos :-S ), el sistema se queda trabado durante todo ese tiempo.</p>
<p>Las soluciones posibles eran dos:</p>
<ul>
<li><strong><a href="http://www.modrails.com/">Phusion Passenger</a></strong>, también conocido como <strong>mod_rails</strong>, es un módulo para Apache que mantiene tantos hilos como peticiones se vayan gestionando, siempre con unos límites máximos y mínimos, tal y como apache suele hacerlo.</li>
<li><strong>Ngnix + Thin</strong>, esta solución fue un poco más <em>artesana</em>, por decirlo de alguna forma, ya que consistía en configurar este servidor web como proxy inverso, para hacer el balanceo de peticiones entre todos los hilos de thin que se quieran cargar en el sistema. Descartamos en este punto a mongrel por comentarios que había leído en <a href="http://www.juantomas.net/2009/03/02/si-los-mongrels-te-dan-palo-yo-los-voy-thinear/">otros blogs</a>.</li>
</ul>
<p>Bien, por correr lo más posible, lanzamos tantos hilos como nos fue posible en la máquina que dedicamos al proyecto y, nos complació ver que podía aguantar hasta 40 hilos, sin que sus CPUs lo notasen apenas. Con lo que conseguimos un pool de 40 puertos dedicados a atender peticiones HTTP.</p>
<p>En otra máquina se configuró un proxy inverso. En el escenario de pruebas usamos nginx, aunque el tenerlo en la misma máquina y hacer pruebas masivas, nos dio como resultado que una cantidad importante de peticiones se perdían o transformaban en respuestas de tipo 500 por parte de nginx. Optamos entonces por un balanceador que tiene la compañía vía hardware, muy rápido y, a día de hoy el sistema web tira tan rápido y casi mejor que el que tenemos montado en PHP <img src='http://bosqueviejo.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>En el próximo artículo comentaré las configuraciones, arquitecturas y demás seguidas, sobre todo a nivel de nginx y thin, que es lo que realmente interesa.</p>
]]></content:encoded>
			<wfw:commentRss>http://bosqueviejo.net/2009/05/25/escalado-de-ruby-on-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>¿Cómo funciona el sistema de correo?</title>
		<link>http://bosqueviejo.net/2009/04/06/como-funciona-el-sistema-de-correo/</link>
		<comments>http://bosqueviejo.net/2009/04/06/como-funciona-el-sistema-de-correo/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 08:48:53 +0000</pubDate>
		<dc:creator>bombadil</dc:creator>
				<category><![CDATA[redes]]></category>
		<category><![CDATA[correo]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[maa]]></category>
		<category><![CDATA[mda]]></category>
		<category><![CDATA[mta]]></category>
		<category><![CDATA[mua]]></category>

		<guid isPermaLink="false">http://bosqueviejo.net/wordpress/?p=127</guid>
		<description><![CDATA[Esta es una pregunta que no todo el mundo se formula y, realmente, no es tan simple contestar. Quizás de todos los servicios de Internet, el sistema de correo es uno de los más complicados que existe (si no tenemos en consideración la VoIP, claro   ).
Conceptos
En principio, vamos a definir algunos términos que usaremos de forma natural en el resto del artículo, para adentrar lo que son los términos de funcionamiento del email:


MUA: (Mail User Agent, Agente de Usuario de Correo), es el sistema que se encarga de recibir y enviar emails usando los protocolos STMP (para el envío) y POP3 o IMAP (para la recepción). Ejemplos de MUA son evolution, kmail, sylpheed o incluso squirrelmail (los webmails).
MTA: (Mail Transfer Agent, Agente de Transferencia de Correo), es el sistema que se encarga de tomar el email de un MUA o de otro MTA y entregarlo a otro MTA o a un MDA, en caso de que el email pertenezca al dominio propio del MTA. Ejemplos de MTA son postfix, qmail, exim, cyrus y courier.
MDA: (Mail Delivery Agent, Agente de Entrega de Correo), es el sistema que se encarga de la recpeción del email por parte de un MTA, [...]]]></description>
			<content:encoded><![CDATA[<p>Esta es una pregunta que no todo el mundo se formula y, realmente, no es tan simple contestar. Quizás de todos los servicios de Internet, el sistema de correo es uno de los más complicados que existe (si no tenemos en consideración la VoIP, claro <img src='http://bosqueviejo.net/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' />  ).</p>
<h3>Conceptos</h3>
<p>En principio, vamos a definir algunos términos que usaremos de forma natural en el resto del artículo, para adentrar lo que son los términos de funcionamiento del email:</p>
<p><img src="http://bosqueviejo.net/wp-content/uploads/correo-300x95.gif" alt="" title="correo" width="300" height="95" class="aligncenter size-medium wp-image-408" /></p>
<ul>
<li><strong>MUA</strong>: (<em>Mail User Agent</em>, Agente de Usuario de Correo), es el sistema que se encarga de recibir y enviar emails usando los protocolos STMP (para el envío) y POP3 o IMAP (para la recepción). Ejemplos de MUA son evolution, kmail, sylpheed o incluso squirrelmail (los webmails).</li>
<li><strong>MTA</strong>: (<em>Mail Transfer Agent</em>, Agente de Transferencia de Correo), es el sistema que se encarga de tomar el email de un MUA o de otro MTA y entregarlo a otro MTA o a un MDA, en caso de que el email pertenezca al dominio propio del MTA. Ejemplos de MTA son postfix, qmail, exim, cyrus y courier.</li>
<li><strong>MDA</strong>: (<em>Mail Delivery Agent</em>, Agente de Entrega de Correo), es el sistema que se encarga de la recpeción del email por parte de un MTA, y lo almacena de la forma que tenga configurada. Los MDA pueden almacenar en disco, base de datos o llamar a otro programa para hacer el procesado de emails (p.ej: listas de correo, sistemas de control de incidencias, etc.). Ejemplos de MDA son procmail, maildrop&#8230; cyrus y courier implementan también sus propios MDA.</li>
<li><strong>MAA</strong>: (<em>Mail Access Agent</em>, Agente de Acceso de Correo), es el sistema que se encarga del acceso al correo almacenado. Sería como <em>la oficina de correos</em>, y por ello su protocolo más usado es POP3 (Post-Office Protocol version 3). Se encarga de hacer accesible lo buzones a equipos remotos. Ejemplos de MAA son dovecot, uw, qpopper&#8230; cyrus y courier implementan también sus propios MAA.</li>
</ul>
<h3>Funcionamiento</h3>
<p>Un ejemplo básico, desde el punto de vista de un usuario sería:</p>
<ul>
<li>Un usuario abre su MUA (evolution, por ejemplo), escribe un email desde su buzón <strong>yo@miemail.com</strong> a un amigo, que tiene la dirección de correo <strong>el@suemail.com</strong>.</li>
<li>Su programa MUA se conecta con el MTA que está en el dominio <strong>miemail.com</strong>, este MTA comprueba que el remitente es suyo, pero que el destinatario es de otro dominio, por lo que realiza un <em>relay</em> del email al MTA del dominio <strong>suemail.com</strong>.</li>
<li>El MTA del dominio <strong>suemail.com</strong> ve que el destinatario es propio, por lo que, libera el email a su MDA.</li>
<li>El MDA comprueba el usuario a través de los alias y las reglas configuradas en el equipo y libera el email en el soporte, buzón y carpeta que tiene configurados.</li>
<li>El usuario <em>el</em> se conecta a un webmail, que hace de MUA para leer sus emails.</li>
<li>Los MUA, para leer emails, ya sean aplicaciones en el equipo o webmails, se conectan a MAA para leer los emails vía POP3 o IMAP, y estos MAA acceden a los datos que han liberado los MDA, por lo que <em>el</em> puede leer el email de <em>yo</em>.</li>
</ul>
<p>Como dato a tener en cuenta, podemos ver las cabeceras del mensaje completas y aparecerán unas cabeceras redundantes que tienen por nombre <em>Received</em>. Estas cabeceras se agregan a cada paso por un MUA, MTA y MDA.</p>
<h3>Spam</h3>
<p>Por la forma de funcionamiento del protocolo SMTP (MTA), los antiguos programas que solo comprobaban el remitente y el destinatario, se veían en el problema de que esos datos se pueden <em>falsear</em> sin problemas, con lo que la veracidad de los mismos queda entredicho.</p>
<p>Para solventar estos problemas, se han desarrollado varios sistemas, antispam y de seguridad de conexión, que aseguran, en la medida de lo posible, que estos problemas no sucedan, pero aún así, hay una <em>guerra</em> entre desarrolladores de sistemas de correo para realizar sistemas cada vez más seguros, y <em>spammers</em> para el desarrollo de sistemas que salten esta seguridad.</p>
<p>Por ello, el uso de <em>filtros</em> es cada vez más común en los MTA, MDA e incluso los MUA.</p>
]]></content:encoded>
			<wfw:commentRss>http://bosqueviejo.net/2009/04/06/como-funciona-el-sistema-de-correo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Servidor de hora en GNU/Linux</title>
		<link>http://bosqueviejo.net/2008/12/29/servidor-de-hora-en-gnulinux/</link>
		<comments>http://bosqueviejo.net/2008/12/29/servidor-de-hora-en-gnulinux/#comments</comments>
		<pubDate>Mon, 29 Dec 2008 02:11:05 +0000</pubDate>
		<dc:creator>bombadil</dc:creator>
				<category><![CDATA[gnu/linux]]></category>
		<category><![CDATA[redes]]></category>
		<category><![CDATA[seguridad]]></category>
		<category><![CDATA[ntp]]></category>
		<category><![CDATA[servidores]]></category>

		<guid isPermaLink="false">http://bosqueviejo.net/wordpress/?p=40</guid>
		<description><![CDATA[En las redes internas de la mayoría de empresas, se sucede la necesidad, muchas veces, de tener sincronización horaria en las máquinas para mejorar el rendimiento y la calidad de los datos a almacenar, de cara  a anotaciones y lanzamiento de tareas programadas.
La sincronización horaria es completamente posible de llevar, simplemente, instalando un servidor de hora NTP dentro de nuestra red, para que nos haga de servidor de sincronización.
En España, generalmente, se suele usar hora.rediris.es como servidor de hora, puesto que es un sistema formado por varios servidores, algunos de ellos con el uso de relojes GPS.
Muchos sistemas ya tienen el servidor ntpd instalado. En otros habrá que hacer la instalación, ya sea del paquete con nombre: ntp, ntp-server, ntpd&#8230;
El archivo de configuración, normalmente: /etc/ntp.conf; debería de tener un contenido parecido a este:

driftfile /var/lib/ntp/ntp.drift
statsdir /var/log/ntpstats/
&#160;
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
&#160;
server hora.rediris.es
&#160;
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
&#160;
restrict 127.0.0.1
restrict ::1
&#160;
restrict 192.168.123.0  mask  255.255.255.0 notrust
&#160;
broadcast 192.168.123.255
disable auth
broadcastclient

Con esto, el servidor de hora recién instalado, servirá como repetidor para los equipos de la red interna. En caso [...]]]></description>
			<content:encoded><![CDATA[<p>En las redes internas de la mayoría de empresas, se sucede la necesidad, muchas veces, de tener sincronización horaria en las máquinas para mejorar el rendimiento y la calidad de los datos a almacenar, de cara  a anotaciones y lanzamiento de tareas programadas.</p>
<p>La sincronización horaria es completamente posible de llevar, simplemente, instalando un servidor de hora NTP dentro de nuestra red, para que nos haga de servidor de sincronización.</p>
<p>En España, generalmente, se suele usar <tt>hora.rediris.es</tt> como servidor de hora, puesto que es un <a href="http://www.rediris.es/ntp/drafts/">sistema</a> formado por varios servidores, algunos de ellos con el uso de relojes GPS.</p>
<p>Muchos sistemas ya tienen el servidor <b>ntpd</b> instalado. En otros habrá que hacer la instalación, ya sea del paquete con nombre: ntp, ntp-server, ntpd&#8230;</p>
<p>El archivo de configuración, normalmente: <tt>/etc/ntp.conf</tt>; debería de tener un contenido parecido a este:</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;">driftfile /var/lib/ntp/ntp.drift
statsdir /var/log/ntpstats/
&nbsp;
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
&nbsp;
server hora.rediris.es
&nbsp;
restrict -<span style="">4</span> default kod notrap nomodify nopeer noquery
restrict -<span style="">6</span> default kod notrap nomodify nopeer noquery
&nbsp;
restrict 127.0.0.1
restrict ::<span style="">1</span>
&nbsp;
restrict 192.168.123.0  mask  255.255.255.0 notrust
&nbsp;
broadcast 192.168.123.255
disable auth
broadcastclient</pre></div></div>

<p>Con esto, el servidor de hora recién instalado, servirá como <i>repetidor</i> para los equipos de la red interna. En caso de tener un solo equipo, en ese caso es mejor tomar el archivo de <tt>/etc/ntp.conf</tt> y modificarlo levemente para hacer que el sistema fucnione, y nada más.</p>
<p>Espero que os sirva de ayuda.</p>
]]></content:encoded>
			<wfw:commentRss>http://bosqueviejo.net/2008/12/29/servidor-de-hora-en-gnulinux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>¿Se nos hunde Internet?</title>
		<link>http://bosqueviejo.net/2008/10/06/%c2%bfse-nos-hunde-internet/</link>
		<comments>http://bosqueviejo.net/2008/10/06/%c2%bfse-nos-hunde-internet/#comments</comments>
		<pubDate>Mon, 06 Oct 2008 09:35:49 +0000</pubDate>
		<dc:creator>bombadil</dc:creator>
				<category><![CDATA[redes]]></category>
		<category><![CDATA[seguridad]]></category>

		<guid isPermaLink="false">http://bosqueviejo.net/wordpress/?p=19</guid>
		<description><![CDATA[Después de varias noticias algo catastrofistas, ha llegado la última que, en sí, podría afectar a todos los usuarios de Internet, puesto que se basa en el propio protocolo TCP/IP. Hasta el momento, la compañía sueca Outpost24, solo ha dejado caer la noticia y la promesa de extenderla en una conferencia.
En lo que llevamos de año, se han sucedido grandes vulnerabilidades de seguridad. La primera ha afectado la protocolo DNS, la segunda al  protocolo BGP y ha habido otra vulnerabilidad sobre SSL que ha afectado solo a las distribuciones Debian y derivadas del mismo.
Esta última vulnerabilidad afecta al TCP/IP, aunque matizan los expertos que, de momento, solo es supuesta y que no solo afecta a IP, sino al conjunto TCP/IP. De momento, hasta que sea publicada la vulnerabilidad de forma específica por la compañía sueca, estamos ante, incluso, un posible FUD.
De todas formas, Internet, la concepción de sus protocolos más usados (como DNS y SMTP), no estaban pensandos para ser seguros, sino prácticos, puesto que Internet era una red a la que pocos tenían acceso. Hoy en día, el enfoque ha cambiado, pero los protocolos siguen siendo los mismos y, quizás, el problema haya sido la forma de parcheo [...]]]></description>
			<content:encoded><![CDATA[<p>Después de varias noticias algo <em>catastrofistas</em>, ha llegado la última que, en sí, podría afectar a todos los usuarios de Internet, puesto que se basa en el propio protocolo TCP/IP. Hasta el momento, la compañía sueca Outpost24, solo ha dejado caer la noticia y la promesa de extenderla en una conferencia.</p>
<p>En lo que llevamos de año, se han sucedido grandes vulnerabilidades de seguridad. La primera ha afectado la <a href="http://www.hispasec.com/unaaldia/3546">protocolo DNS</a>, la segunda al <a href="http://www.hispasec.com/unaaldia/945/vulnerabilidad-bgp-routers-cisco"> protocolo BGP</a> y ha habido otra <a href="http://www.hispasec.com/unaaldia/3490">vulnerabilidad sobre SSL</a> que ha afectado solo a las distribuciones Debian y derivadas del mismo.</p>
<p>Esta última <a href="http://www.hispasec.com/unaaldia/3631">vulnerabilidad afecta al TCP/IP</a>, aunque matizan los expertos que, de momento, solo es supuesta y que no solo afecta a IP, sino al conjunto TCP/IP. De momento, hasta que sea publicada la vulnerabilidad de forma específica por la compañía sueca, estamos ante, incluso, un posible FUD.</p>
<p>De todas formas, Internet, la concepción de sus protocolos más usados (como DNS y SMTP), no estaban pensandos para ser seguros, sino prácticos, puesto que Internet era una red a la que pocos tenían acceso. Hoy en día, el enfoque ha cambiado, pero los protocolos siguen siendo los mismos y, quizás, el problema haya sido la forma de <em>parcheo</em> que se ha realizado sobre los protocolos existentes, en lugar de optar por desarrollar mejores protocolos orientados a las necesidades actuales.</p>
<p>¿Estamos ante una necesidad de cambio en los protocolos de Internet?, ¿se nos hunde Internet?, no lo creo&#8230; pero llegan momentos difíciles y quizás vientos de cambio <img src='http://bosqueviejo.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://bosqueviejo.net/2008/10/06/%c2%bfse-nos-hunde-internet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cloud Software</title>
		<link>http://bosqueviejo.net/2008/09/16/cloud-software/</link>
		<comments>http://bosqueviejo.net/2008/09/16/cloud-software/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 09:58:57 +0000</pubDate>
		<dc:creator>bombadil</dc:creator>
				<category><![CDATA[programación]]></category>
		<category><![CDATA[redes]]></category>
		<category><![CDATA[desarrollo web]]></category>

		<guid isPermaLink="false">http://bosqueviejo.net/wordpress/?p=15</guid>
		<description><![CDATA[Con este título, comienza a surgir una tendencia a usar más servicios en web. Esto viene acompañado de la liberación hace unos días de Google Chrome, el cual, aseguraban muchos expertos que no hace la competencia a Internet Explorer, Safari o Firefox, sino que se la hace a Windows.
Esto viene determinado porque el navegador se ha convertido en todo un sistema operativo en el que se ejecutan aplciaciones que se cargan de forma remota. Lo que ya habían visualizado hace años Sun con el uso de sus paquetes en forma de nombre de dominio y otros&#8230; pero de una forma mucho más transparente.
En el navegador web, solo hay que poner una dirección web (URL) y con ello se puede acceder a un software con el que se interactúa para: leer el correo (Gmail, Yahoo!, Hotmail&#8230;), tener la agenda de contactos (en los mismos webmails), escribir diarios (blogs como Blogger), organizar las fotos e imágenes (fotoblogs o galerías tipo Flickr)&#8230; e incluso tener acceso a bancos, tiendas, el Estado&#8230;
Microsoft ultima su Office Online, junto con aplicaciones de tipo Office que ya tenía en uso Google mediante Google Docs, y con ello, con todo en Internet, ¿qué más da ejecutar un Windows, [...]]]></description>
			<content:encoded><![CDATA[<p>Con este título, comienza a surgir una tendencia a usar más servicios en web. Esto viene acompañado de la liberación hace unos días de Google Chrome, el cual, aseguraban muchos expertos que <i>no hace la competencia a Internet Explorer, Safari o Firefox, sino que se la hace a Windows</i>.</p>
<p>Esto viene determinado porque el navegador se ha convertido en todo un sistema operativo en el que se ejecutan aplciaciones que se cargan de forma remota. Lo que ya habían visualizado hace años Sun con el uso de sus paquetes en forma de nombre de dominio y otros&#8230; pero de una forma mucho más transparente.</p>
<p>En el navegador web, solo hay que poner una dirección web (URL) y con ello se puede acceder a un software con el que se interactúa para: leer el correo (Gmail, Yahoo!, Hotmail&#8230;), tener la agenda de contactos (en los mismos webmails), escribir diarios (blogs como Blogger), organizar las fotos e imágenes (fotoblogs o galerías tipo Flickr)&#8230; e incluso tener acceso a bancos, tiendas, el Estado&#8230;</p>
<p>Microsoft ultima su <a href="http://office.microsoft.com/es-es/default.aspx">Office Online</a>, junto con aplicaciones de tipo Office que ya tenía en uso Google mediante <a href="http://docs.google.com/">Google Docs</a>, y con ello, con todo en Internet, ¿qué más da ejecutar un Windows, GNU/Linux, MacOS X&#8230;?</p>
]]></content:encoded>
			<wfw:commentRss>http://bosqueviejo.net/2008/09/16/cloud-software/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Redes en Linux</title>
		<link>http://bosqueviejo.net/2007/08/06/redes-en-linux/</link>
		<comments>http://bosqueviejo.net/2007/08/06/redes-en-linux/#comments</comments>
		<pubDate>Sun, 05 Aug 2007 23:18:58 +0000</pubDate>
		<dc:creator>bombadil</dc:creator>
				<category><![CDATA[gnu/linux]]></category>
		<category><![CDATA[redes]]></category>

		<guid isPermaLink="false">http://bosqueviejo.net/wordpress/?p=9</guid>
		<description><![CDATA[Este artículo ha pasado a formar parte de bosqueviejo.org, puede verlo en sus formatos html y pdf.
]]></description>
			<content:encoded><![CDATA[<p>Este artículo ha pasado a formar parte de <a href="http://bosqueviejo.org">bosqueviejo.org</a>, puede verlo en sus formatos <a href="http://bosqueviejo.org/?id=linux_network">html</a> y <a href="http://bosqueviejo.org/?id=linux_network&#038;pdf">pdf</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://bosqueviejo.net/2007/08/06/redes-en-linux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

