<?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>Redes &#8211; Blog de Javier Smaldone</title>
	<atom:link href="https://blog.smaldone.com.ar/category/redes/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.smaldone.com.ar</link>
	<description>Todos los días se aprende algo viejo</description>
	<lastBuildDate>Thu, 24 Aug 2023 22:20:40 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
<site xmlns="com-wordpress:feed-additions:1">4035488</site>	<item>
		<title>La seguridad no es un producto, sino un proceso</title>
		<link>https://blog.smaldone.com.ar/2017/07/05/la-seguridad-no-es-un-producto-sino-un-proceso/</link>
					<comments>https://blog.smaldone.com.ar/2017/07/05/la-seguridad-no-es-un-producto-sino-un-proceso/#comments</comments>
		
		<dc:creator><![CDATA[Javier]]></dc:creator>
		<pubDate>Wed, 05 Jul 2017 19:58:54 +0000</pubDate>
				<category><![CDATA[Computación]]></category>
		<category><![CDATA[Redes]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">http://blog.smaldone.com.ar/?p=3433</guid>

					<description><![CDATA[(Columna publicada en Ámbito Financiero) Filtraciones de información como Wikileaks y Panama Papers, ataques al sistema electoral de los EE.UU., secuestros de información por ransomware, hackeos a las fuerzas de seguridad de la Argentina, robo de cuentas de email y redes sociales. La lista de noticias relacionadas con la seguridad informática crece a diario. Así &#8230; <a href="https://blog.smaldone.com.ar/2017/07/05/la-seguridad-no-es-un-producto-sino-un-proceso/" class="more-link">Sigue leyendo <span class="screen-reader-text">La seguridad no es un producto, sino un proceso</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p><a href="http://www.ambito.com/888862-la-seguridad-no-es-un-producto-sino-un-proceso"><em>(Columna publicada en Ámbito Financiero)</em></a></p>
<div class="centerpic"><img decoding="async" src="/files/seguridad/cerradura.jpg" alt="Cerradura" /></div>
<p>Filtraciones de información como Wikileaks y Panama Papers, ataques al sistema electoral de los EE.UU., secuestros de información por ransomware, hackeos a las fuerzas de seguridad de la Argentina, robo de cuentas de email y redes sociales. La lista de noticias relacionadas con la seguridad informática crece a diario. Así como la informática atraviesa cada vez más aspectos de nuestra vida y quehaceres, la vulneración de sistemas informáticos tiene cada día mayor impacto. Y así como la informática es una disciplina científica joven, más aún lo es la seguridad informática.</p>
<p><span id="more-3433"></span></p>
<p>Desde individuos hasta gobiernos, pasando por organizaciones de diverso tipo y tamaño, todos pueden ser eventualmente víctimas de ataques. Cómo protegerse es un problema al que el mundo presta cada día más atención. Desde fabricantes de dispositivos informáticos hasta los brazos armados de los Estados destinan cada día mayor presupuesto y esfuerzo a resolver esta problemática.</p>
<p>La situación en nuestro país es tan variada como en el resto del mundo, incluso cuando la Argentina destaca por el nivel y la cantidad de profesionales dedicados a la materia. Tomemos como ejemplo el penúltimo gran ataque con ransomware: Wannacry. Este tuvo un gran impacto mundial, aún cuando se basaba en un problema de seguridad que había sido solucionado más de un mes atrás. Pero la situación en el país fue bastante heterogénea, ya que ciertas organizaciones tuvieron que realizar un «apagón informático», en tanto que otras no tuvieron inconveniente alguno.</p>
<p>El panorama en la Argentina es mejor en el ámbito privado, ya que las empresas de mayor envergadura acostumbran contratar auditorías externas para controlar el estado de la seguridad de sus sistemas y procesos. En el Estado, lamentablemente, esta no es una práctica generalizada; y aunque en algunas áreas puntuales haya equipos de profesionales capacitados, en otras hay un completo abandono en la materia. En los últimos meses hemos sido testigos de esto a la luz de los hackeos del Ministerio de Seguridad, la Policía de Seguridad Aeroportuaria y la Policía Federal Argentina.</p>
<p>La seguridad no es un producto, sino un proceso. No basta la adquisición de equipamiento (hardware) y de programas (software), ni siquiera la correcta implantación de éstos en el ámbito organizacional. Para mantener un nivel de seguridad adecuado es necesaria además una permanente revisión y actualización de las políticas y los procedimientos. Las técnicas de ataque a sistemas informáticos evolucionan a la par de éstos, por lo que la actualización de las defensas debe seguir el mismo ritmo.</p>
<p>A diario crece la utilización de dispositivos informáticos para controlar dispositivos físicos. Los automóviles modernos, los electrodomésticos, las redes de distribución de energía e incluso dispositivos médicos como marcapasos o bombas de insulina se basan cada vez más en sistemas informáticos. Esto hace que la posibilidad de ataques con «bits» tenga cada vez mayor repercusión en el mundo real y tangible. Por ello la ciberdefensa se ha convertido hoy en el cuarto brazo armado de los Estados más importantes del mundo.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smaldone.com.ar/2017/07/05/la-seguridad-no-es-un-producto-sino-un-proceso/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3433</post-id>	</item>
		<item>
		<title>Feliz día, Internet</title>
		<link>https://blog.smaldone.com.ar/2012/05/17/feliz-dia-internet/</link>
					<comments>https://blog.smaldone.com.ar/2012/05/17/feliz-dia-internet/#comments</comments>
		
		<dc:creator><![CDATA[Javier]]></dc:creator>
		<pubDate>Thu, 17 May 2012 17:31:05 +0000</pubDate>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Libertad]]></category>
		<category><![CDATA[Redes]]></category>
		<guid isPermaLink="false">http://blog.smaldone.com.ar/?p=1353</guid>

					<description><![CDATA[Hoy 17 de mayo se celebra el día de Internet. Me pareció una buena idea volver a publicar (y «aggiornar» un poco) un viejo artículo que explica —en términos muy simples y para nada técnicos— qué es Internet. Aún muchos usuarios de los servicios de Internet desconocen los aspectos fundamentales que hacen de la llamada &#8230; <a href="https://blog.smaldone.com.ar/2012/05/17/feliz-dia-internet/" class="more-link">Sigue leyendo <span class="screen-reader-text">Feliz día, Internet</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Hoy 17 de mayo se celebra el <a href="http://es.wikipedia.org/wiki/D%C3%ADa_de_Internet">día de Internet</a>. Me pareció una buena idea volver a publicar (y «aggiornar» un poco) un viejo artículo que explica —en términos muy simples y para nada técnicos— <strong>qué es Internet</strong>. Aún muchos usuarios de los servicios de Internet desconocen los aspectos fundamentales que hacen de la llamada «red de redes» algo completamente innovador respecto de otras redes como la telefónica y la de radiodifusión.</p>
<p>Si bien se trata de un artículo del año 2003, cuando aún no existían Gmail, Youtube, Facebook ni Twitter. Notará, sin embargo, que las cosas no han cambiado mucho y que muchos han aprendido muy poco.</p>
<div class="centerpic"><img decoding="async" src="https://blog.smaldone.com.ar/files/internet/internet.jpg" /></div>
<p><span id="more-1353"></span></p>
<h2>Mundo de Extremos</h2>
<h3>Qué es Internet y Cómo Dejar de Confundirla con Otra Cosa</h3>
<p><em><a href="http://www.worldofends.com/">por Doc Searls y David Weinberger</a></em></p>
<p>Hay errores y errores.</p>
<p>De algunos errores aprendemos. Por ejemplo: pensar que vender juguetes para mascotas en la Web es una excelente forma de volverse rico. No volveremos a hacerlo de nuevo.</p>
<p>Otros errores insistimos en cometerlos una y otra vez. Por ejemplo, pensar que:</p>
<ul>
<li>&#8230;la Web, como la televisión, es una forma de mantener los ojos quietos mientras los anunciantes los rocían con mensajes.</li>
<li>&#8230;Internet es algo que las empresas de telecomunicaciones y de cable deben filtrar, controlar y, de algún modo, «mejorar».</li>
<li>&#8230;es algo malo para los usuarios comunicarse a través de distintos tipos de sistemas de mensajería instantánea en Internet.</li>
<li>&#8230;Internet sufre de una falta de regulación para proteger a las industrias que se sienten amenazadas por ella.</li>
</ul>
<p>Cuando se trata de Internet, muchos de nosotros sufrimos del <strong>Síndrome del Error Repetitivo</strong>. Esto es especialmente cierto para los editores de diarios y revistas, radio y televisión, televisión por cable, la industria discográfica, la industria cinematográfica y la industria telefónica, por nombrar sólo a seis.</p>
<p>Gracias a la enorme influencia de estas industrias en Washington, el Síndrome del Error Repetitivo también afecta a los legisladores, reguladores e inclusive a las cortes. El año pasado (2002) la radio de Internet, una prometedora nueva industria que amenazaba dar a los radioescuchas opciones que por lejos excedían cualquiera de las cada vez más uniformes (y tecnológicamente paleolíticas) emisoras de AM y FM, fue asesinada en la cuna. Las armas, las municiones y los gritos de aliento fueron provistos por la industria discográfica y la Ley de Copyright del Milenio Digital (<em>Digital Millennium Copyright Act</em>), que incorpora todos los miedos que sentían los dinosaurios de Hollywood cuando hicieron lobby a favor de la Ley a través del Congreso en 1998.</p>
<p><em>«Internet interpreta la censura como un daño y la rodea para esquivarla»</em>, según una famosa frase de <a href="http://www.toad.com/gnu/">John Gilmore</a>. Y es verdad. A la larga, la radio de Internet tendrá éxito. Los sistemas de mensajería instantánea interoperarán. Las compañías bobas se volverán listas o morirán. Las leyes estúpidas serán matadas o reemplazadas. Pero entonces, como dijo John Mainard Keynes, <em>«a la larga, estaremos todos muertos»</em>.</p>
<p>Todo lo que necesitamos hacer es poner atención a lo que <em>realmente es Internet</em>. No es difícil. La Red no es ingeniería espacial. No es ni siquiera ciencia de sexto grado. Podemos poner fin a la tragedia del Síndrome del Error Repetitivo durante nuestras vidas y economizar unos cuantos miles de millones de dólares en decisiones tontas, si solamente recordamos un hecho simple: <em><strong>la Red es un mundo de extremos</strong></em>. Usted está en un extremo; todo y todos los demás están en los otros extremos.</p>
<p>Claro, esta es una declaración simplista que afirma que todo el mundo tiene valor en Internet. Pero es también el hecho más básico y sólido sobre la arquitectura técnica de la Red. Y <em>el valor de Internet se basa en su arquitectura técnica</em>.</p>
<p>Afortunadamente, la verdadera naturaleza de Internet no es difícil de entender. De hecho, sólo un puñado de afirmaciones se encuentran entre el Síndrome del Error Repetitivo y la Iluminación.</p>
<h3>1. Internet no es complicada</h3>
<p>La idea detrás de Internet, en primer lugar, fue aprovechar el asombroso poder de la simplicidad; tan simple como la gravedad en el mundo real. Excepto que en vez de mantener pequeñas piedras sujetas a una gran piedra redonda, Internet fue diseñada para mantener pequeñas redes juntas, transformándolas en una gran red.</p>
<p>La forma de lograr esto fue hacer fácil, fácil, fácil para las redes el enviar y recibir datos hacia y desde otra red. Por lo tanto, Internet fue diseñada para ser la forma más simple concebible para enviar bits desde cualquier <strong>A</strong> hacia cualquier <strong>B</strong>.</p>
<h3>2. Internet no es una cosa. Es un acuerdo</h3>
<p>Cuando miramos los postes, vemos a las redes como cables. Y vemos a esos cables como partes de sistemas: el sistema telefónico, el sistema de alimentación eléctrica, el sistema de televisión por cable.</p>
<p>Cuando escuchamos la radio o miramos televisión, se nos dice en cada corte que las redes son fuentes de programación que es transmitida a través del aire o de los cables.</p>
<p>Pero Internet es diferente. No es un cableado. No es un sistema. Y no es una fuente de programación.</p>
<p>Internet es una forma para que todas las cosas que se dicen «redes» coexistan y trabajen de manera conjunta. Es trabajo <em>entre-redes</em> (<em>inter-net</em>work, en inglés). Literalmente.</p>
<p>Lo que hace que sea una <em>inter</em>-red es el hecho de que Internet es simplemente un protocolo: el Internet Protocol, para ser más exactos. Un protocolo es un acuerdo sobre como las cosas trabajan juntas.</p>
<p>Este protocolo no especifica qué puede hacer la gente con la red, qué puede construir en sus bordes, qué se puede decir, quién puede hablar. El protocolo simplemente dice: si usted quiere intercambiar bits con otros, así es como debe hacerlo. Si usted quiere poner una computadora o un teléfono celular o un refrigerador en la red, tiene que aceptar el acuerdo que representa Internet.</p>
<h3>3. Internet es estúpida</h3>
<p>El sistema telefónico, que no es Internet (al menos no aún), es terriblemente inteligente. Sabe quién está llamando a quién, donde están ubicados, si es una llamada de voz o de datos, qué tan lejos llega la llamada, cuánto cuesta, etc. Y provee servicios que sólo tienen que ver con una red telefónica: llamada en espera, identificador de llamada y otras muchas cosas que a las compañías telefónicas les encanta vender.</p>
<p>Internet, por otra parte, es estúpida. A propósito. Sus diseñadores se aseguraron de que la red más grande e inclusiva de todas sea tan tonta como una caja de piedras. (Ver «<a href="http://www.reed.com/Papers/EndtoEnd.html">End-to-End Arguments in System Design</a>«, de J.H. Saltzer, D.P. Reed, D.D. Clark y «<a href="http://www.isen.com/stupid.html">Rise of the Stupid Network</a>«, de David Isenberg).</p>
<p>Internet no sabe muchas cosas que una red inteligente, como la telefónica, conoce: identidades, permisos, prioridades, etc. Internet sólo sabe una cosa: este montón de bits necesita ir desde un extremo de la Red hasta otro.</p>
<p>Hay motivos técnicos por los cuales la estupidez es un buen diseño. La estupidez es robusta. Si un ruteador falla, los paquetes se rutean esquivándolo, lo que significa que la Red sigue de pié. Gracias a la estupidez, Internet acoge nuevos dispositivos y gente, de manera que crece rápidamente y en todas las direcciones. También es fácil para los arquitectos incorporar capacidades de acceso a la red en todo tipo de dispositivos inteligentes —filmadoras, teléfonos, regadores de jardín— que viven en los extremos de la Red.</p>
<p>La razón más importante por la que la estupidez es buena tiene poco que ver con la tecnología y mucho con el valor&#8230;</p>
<h3>4. Agregar valor a Internet disminuye su valor</h3>
<p>Suena extraño, pero es cierto. Si usted optimiza una red para un tipo de aplicación, la empeora para otros. Por ejemplo, si usted deja que la red dé prioridad a los datos de voz o vídeo, asumiendo que necesitan llegar más rápidamente, le está diciendo a otras aplicaciones que deberán esperar. Y ni bien haga eso, habrá transformado Internet de algo simple, para todos, en algo complicado, sólo para un propósito. Ya no es más Internet.</p>
<h3>5. Todo el valor de Internet crece en sus bordes</h3>
<p>Si Internet fuese una red inteligente, sus diseñadores habrían anticipado la importancia de un buen buscador y habrían incorporado capacidades de búsqueda dentro de ella. Pero dado que sus diseñadores fueron listos, la hicieron muy estúpida para eso. Por lo tanto, las búsquedas son un servicio que puede ser construido en uno de los millones de extremos de Internet. Dado que la gente puede ofrecer cualquier servicio que desee desde su extremo, los buscadores<br />
compiten, lo que se traduce en alternativas para los usuarios y asombrosa innovación.</p>
<p>Los buscadores son sólo un ejemplo. Dado que Internet mueve bits desde un extremo hasta otro, los innovadores pueden construir cualquier cosa que imaginen, contando con Internet para mover los datos por ellos. Usted no tiene que preocuparse por obtener permisos de los dueños de Internet o los administradores de sistemas o del Vice Presidente del Servicio de Prioritización. ¿Usted tiene una idea? Realícela. Y cada vez que lo haga, el valor de Internet crecerá.</p>
<p>Internet fue creada como un <em>mercado libre para la innovación</em>. Ésta es la clave del valor de Internet. Del mismo modo&#8230;</p>
<h3>6. El dinero va hacia los suburbios</h3>
<p>Si todo el valor de Internet está en sus bordes, la conectividad de Internet se vuelve un «commodity». Debe permitirse que eso suceda.</p>
<p>Existen buenos negocios en la provisión de «commodities», pero cada intento de agregar valor a Internet por sí misma debe ser resistido. Para ser más específicos: aquellos quienes proveen conectividad a Internet, inevitablemente desearán proveer contenidos y servicios adicionales, ya que la conectividad en sí misma sería demasiado barata. Manteniendo las dos funciones separadas, habilitaremos al mercado a fijar los precios que maximizarán el acceso y maximizarán también la innovación de contenidos y/o servicios. (Ver «<a href="http://www.netparadox.com/netparadox.html">The Paradox of the Best Network</a>«, de Isenberg y Weinberger).</p>
<h3>7. ¿El fin del mundo? No, un mundo de extremos. (The end of the world? Nah, the world of ends)</h3>
<p>Cuando <a href="http://www.searls.com/burton_interview.html">Craig Burton describe la arquitectura estúpida de Internet</a> como una esfera hueca enteramente formada por extremos, pinta una imagen que captura lo más destacable de su arquitectura: quite el valor del centro y habilitará un enloquecido florecimiento del valor entre los extremos conectados. Porque, por supuesto, cuando cada extremo está conectado, uno con uno y uno con todos, los extremos dejan de ser puntos finales.</p>
<p>¿Y qué hacemos nosotros, los extremos? Cualquier cosa que pueda ser hecha por cualquiera que desee mover bits.</p>
<p>¿Nota el orgullo en nuestra voz cuando decimos <em>«cualquier cosa»</em> y <em>«cualquiera»</em>? Proviene directamente desde la simple y estúpida arquitectura técnica de Internet.</p>
<p>Porque Internet es un acuerdo, no le pertenece a ninguna persona o grupo. Ni a las influyentes compañías que proveen su «columna vertebral» («backbone», en inglés). Ni a los ISPs que proveen nuestras conexiones. Ni a las empresas de alojamiento que alquilan nuestros servidores. Ni a las asociaciones de industrias que<br />
creen que ven amenazada su existencia por lo que el resto de nosotros hace en la Red. Ni a ningún gobierno, no importa que tan sinceramente crea que está tratando de mantener a sus ciudadanos seguros y satisfechos.</p>
<p>Conectarse a Internet es aceptar el crecimiento del valor en sus bordes. Y entonces ocurre algo realmente interesante. Estamos todos conectados en igualdad de condiciones. No importa la distancia. Los obstáculos desaparecen y, por primera vez, la necesidad humana de conectarse puede ser satisfecha sin barreras artificiales.</p>
<p>Internet nos da, por primera vez, los medios para transformarnos en un mundo de extremos.</p>
<h3>8. Las tres virtudes de Internet</h3>
<p>Estos son los hechos acerca de Internet. Ya ve, le dijimos que eran simples.</p>
<p>¿Pero, qué significan para nuestro comportamiento y, más importante aún, para el comportamiento de las mega-corporaciones y gobiernos que hasta ahora han actuado como si Internet les perteneciera?</p>
<p>Aquí están tres reglas básicas del comportamiento que están directamente ligadas a la naturaleza básica de Internet:</p>
<blockquote>
<ul>
<li><strong>Nadie la posee</strong></li>
<li><strong>Todos pueden usarla</strong></li>
<li><strong>Cualquiera puede mejorarla</strong></li>
</ul>
</blockquote>
<p>Examinemos más de cerca cada una&#8230;</p>
<h4>8.a. Nadie la posee</h4>
<p>Internet <em>no puede</em> ser poseída, ni siquiera por las empresas a través de cuyas «tuberías» fluye, porque es un acuerdo, no una cosa. Internet no sólo está en el dominio público, sino que <em>es</em> un dominio público.</p>
<p>Y esto es algo bueno:</p>
<ul>
<li>Internet es un recurso confiable. Podemos construir negocios sin tener que preocuparnos de que «Internet Inc.» vaya a forzarnos a actualizarnos, duplique su precio una vez que hayamos comprado o sea adquirida por uno de nuestros competidores.</li>
<li>No tenemos que preocuparnos por que algunas partes trabajen con un proveedor y otras con otro distinto, como ocurre con el negocio de los teléfonos celulares en los EE.UU. actualmente.</li>
<li>No tenemos que preocuparnos por que sus funciones básicas vayan a funcionar solamente con «plataformas» de Microsoft, Apple o AOL, porque están por encima de ellos, fuera de su control propietario.</li>
<li>La manutención de Internet está distribuida entre todos los usuarios, no concentrada en las manos de un proveedor que pueda quebrar. Todos nosotros somos un recurso más robusto de lo que puede ser cualquier grupo centralizado.</li>
</ul>
<h4>8.b. Todos pueden usarla</h4>
<p>Internet fue construida para incluir a cada habitante del planeta.</p>
<p>Es cierto, sólo una décima parte del mundo (unas 600 millones de personas) se conecta actualmente a Internet. Por eso la palabra «pueden» en la frase «Todos pueden usarla» está sujeta a las variaciones miserables de la suerte. Pero, si usted tiene la suerte de ser lo suficientemente rico para poseer una conexión y un dispositivo de conexión, la Red no le impone ningún obstáculo a su participación. No necesita que un administrador de sistemas se digne dejarlo participar. Internet intencionalmente deja los permisos del lado de afuera del sistema.</p>
<p>Es por eso que muchos de nosotros consideramos a Internet como un recurso natural. Nos aprovechamos de ella como si fuese una parte de la naturaleza humana que estaba esperando aparecer, de la misma manera que hablar y escribir ahora se sienten como parte de lo que significa ser humano.</p>
<h4>8.c. Cualquiera puede mejorarla</h4>
<p>Cualquiera puede hacer de Internet un mejor lugar para vivir, trabajar y criar niños. Empeorarla requiere de una gran estupidez, junto con una voluntad de acero.</p>
<p>Hay dos formas de mejorarla. Primero, puede construir un servicio en el borde de Internet, que esté disponible a quien lo desee. Hacerlo gratuito, hacer que la gente pague por él, poner un recipiente para que depositen monedas, lo que sea.</p>
<p>Segundo, puede hacer algo más importante: habilitar un conjunto de nuevos servicios «del extremo hacia la Red», mediante un nuevo acuerdo. Así es como fue creado el correo electrónico. Y los grupos de noticias. E inclusive la Web. Los creadores de estos servicios no hicieron simplemente aplicaciones finales y, seguramente, no manosearon el protocolo de Internet. En cambio, crearon nuevos protocolos que usan a Internet tal como es, de la misma  manera que el acuerdo sobre cómo codificar imágenes en papel que es usado por las máquinas de fax para utilizar las líneas telefónicas sin requerir ningún cambio en el sistema telefónico propiamente dicho.</p>
<p>Recuerde sin embargo, que si usted crea un nuevo acuerdo, para generar valor tan rápidamente como lo hizo Internet, tiene que ser abierto, no propietario y para todos. Este es exactamente el por qué la mensajería instantánea a fallado en alcanzar su potencial: los sistemas líderes de mensajería instantánea (el AIM de AOL, ICQ y el MSN Messenger de Microsoft) son territorios privados que pueden correr <em>sobre</em> la Red, pero que no son <em>parte de</em> la Red. Cuando AOL y Microsoft decidan que deben correr sus sistemas de mensajería instantánea usando un protocolo estúpido que nadie posea y que todos puedan usar, habrán mejorado Internet enormemente. Hasta entonces, sólo están siendo estúpidos, y no en el buen sentido de la palabra.</p>
<h3>9. Si Internet es tan simple, ¿por qué tantos se confunden sobre ella?</h3>
<p>¿Será porque las tres virtudes de Internet son la antítesis de la visión de los gobiernos y las empresas acerca del mundo?</p>
<ul>
<li><em>Nadie la posee</em>: Las empresas están definidas por lo que poseen, tal como los gobiernos están definidos por lo que controlan.</li>
<li><em>Todos pueden usarla</em>: En los negocios, vender bienes significa transferir derechos exclusivos de uso del vendedor al comprador; en los gobiernos, hacer leyes significa imponer restricciones a la gente.</li>
<li><em>Cualquiera puede mejorarla</em>: Empresas y gobiernos valorizan roles exclusivos.  Es sólo el trabajo de cierta gente hacer ciertas cosas, hacer los cambios apropiados.</li>
</ul>
<p>Empresas y negocios, por su naturaleza, están predispuestos a malinterpretar la naturaleza de Internet.</p>
<p>Existe otra razón por la cual Internet no ha hecho un gran trabajo explicándose a sí misma: «El Gran Dinero» preferiría mantenernos pensando que la Red es solamente televisión lenta.</p>
<p>Internet ha sido como Walt Whitman escribió en «Canción de mí mismo» («Song of Myself»): <em>No me preocupo por ser comprendido. Veo que las leyes elementales nunca piden disculpas.</em></p>
<p>Por otra parte, las leyes elementales de Internet nunca imaginaron que habría gente que basaría sus carreras en no entenderlas.</p>
<h3>10. Algunos errores que ya podemos dejar de cometer</h3>
<p>Las empresas cuyo valor proviene de distribuir contenido de formas que el mercado ya no desea —¿puedes oírnos, Industria Discográfica?— pueden dejar de pensar en los bits como si fueran átomos livianos. Nunca nos impedirán copiar los bits que queramos. En cambio, ¿por qué no nos dan algunas razones para preferir comprarles música a ustedes? Diablos, hasta les podríamos ayudar a vender sus cosas si nos lo pidieran.</p>
<p>Los funcionarios gubernamentales que han confundido el valor de Internet con el valor de sus contenidos, podrían darse cuenta de que al manosear el corazón de Internet están realmente disminuyendo su valor. De hecho, también podrían entender que tener un sistema que transporte todos los bits con igualdad, sin censura de gobiernos o empresas, es la fuerza más poderosa para la democracia y los mercados abiertos de la historia.</p>
<p>Los influyentes proveedores de servicios de redes —pista: comienza con «tele» y termina con «com»— podrían aceptar que la red estúpida va a devorar a sus redes inteligentes. Podrían morder esa bala ahora en vez de gastar miles de millones de dólares en los costos de demorar y pelear contra lo inevitable.</p>
<p>Las agencias federales responsables por la administración del espectro, podrían darse cuenta de que el valor de un espectro abierto es igual al verdadero valor de Internet.</p>
<p>Los que quieren censurar ideas, podrían darse cuenta de que Internet no puede distinguir entre un bit bueno y un bit malo, en ninguna circunstancia. Cualquier censura efectiva debería ocurrir en los extremos de la Red, y eso no funcionaría muy bien.</p>
<p>Tal vez las compañías que piensan que pueden forzarnos a escuchar sus mensajes —sus banners, sus gráficos entrometidos que se superponen con las páginas que estamos tratando de leer— se darán cuenta de que nuestra habilidad de movernos de sitio en sitio es intrínseca a la arquitectura de la Web. Podrían simplemente poner un banner que diga <em>«¡Hola! No entendemos lo que es Internet. Ah, por cierto, te odiamos.»</em></p>
<p>Ya es suficiente. Dejemos de machacar nuestras cabezas contra los hechos de la vida de Internet.</p>
<p>No tenemos nada que perder, excepto nuestra estupidez.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smaldone.com.ar/2012/05/17/feliz-dia-internet/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1353</post-id>	</item>
		<item>
		<title>Ataque de denegación de servicio en servidores web (Apache vulnerable)</title>
		<link>https://blog.smaldone.com.ar/2009/06/19/ataque-de-denegacion-de-servicio-en-servidores-web-apache-vulnerable/</link>
					<comments>https://blog.smaldone.com.ar/2009/06/19/ataque-de-denegacion-de-servicio-en-servidores-web-apache-vulnerable/#comments</comments>
		
		<dc:creator><![CDATA[Javier]]></dc:creator>
		<pubDate>Fri, 19 Jun 2009 17:32:50 +0000</pubDate>
				<category><![CDATA[Redes]]></category>
		<category><![CDATA[Seguridad]]></category>
		<guid isPermaLink="false">http://blog.smaldone.com.ar/?p=271</guid>

					<description><![CDATA[Acabo de enterarme (y de probar con todo éxito) de un nuevo ataque de denegación de servicio (DoS) para servidores web. Lamentablemente, hasta este momento, todas las versiones de Apache son vulnerables Realmente, es un ataque muy simple y que prácticamente no consume ancho de banda en el atacante, por lo que en este momento &#8230; <a href="https://blog.smaldone.com.ar/2009/06/19/ataque-de-denegacion-de-servicio-en-servidores-web-apache-vulnerable/" class="more-link">Sigue leyendo <span class="screen-reader-text">Ataque de denegación de servicio en servidores web (Apache vulnerable)</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Acabo de enterarme (y de probar con todo éxito) de un <a href="http://ha.ckers.org/slowloris/">nuevo ataque de denegación de servicio</a> (<strong>DoS</strong>) para servidores web. Lamentablemente, hasta este momento, todas las versiones de Apache son vulnerables</p>
<p>Realmente, es un ataque muy simple y que prácticamente no consume ancho de banda en el atacante, por lo que en este momento cualquiera puede (con un mínimo esfuerzo) dejar <strong>totalmente inaccesible</strong> cualquier sitio web que esté alojado en un servidor vulnerable.</p>
<p><span id="more-271"></span></p>
<h3>Para probar la vulnerabilidad</h3>
<p><a href="http://ha.ckers.org/slowloris/slowloris.pl">slowloris.pl</a></p>
<p><strong>Requerimientos:</strong></p>
<ul>
<li>perl</li>
<li>IO::Socket::INET (<code>perl -MCPAN -e 'install IO::Socket::INET'</code>)</li>
<li>IO::Socket::SSL (<code>perl -MCPAN -e 'install IO::Socket::SSL'</code>)</li>
<li>GetOpt::Long (<code>perl -MCPAN -e 'install GetOpt::Long'</code>)</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smaldone.com.ar/2009/06/19/ataque-de-denegacion-de-servicio-en-servidores-web-apache-vulnerable/feed/</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">271</post-id>	</item>
		<item>
		<title>Si me «robara» riocuarto.gov.ar&#8230;</title>
		<link>https://blog.smaldone.com.ar/2009/05/26/si-me-robara-riocuartogovar/</link>
					<comments>https://blog.smaldone.com.ar/2009/05/26/si-me-robara-riocuartogovar/#comments</comments>
		
		<dc:creator><![CDATA[Javier]]></dc:creator>
		<pubDate>Tue, 26 May 2009 19:47:41 +0000</pubDate>
				<category><![CDATA[Humor]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Redes]]></category>
		<category><![CDATA[Seguridad]]></category>
		<guid isPermaLink="false">http://blog.smaldone.com.ar/?p=230</guid>

					<description><![CDATA[Con relación al artículo anterior, en donde relaté el problema acontecido con el dominio riocuarto.gov.ar, me quedó dando vueltas en la cabeza la estúpida idea de alguien que afirmó que yo había sido el autor de tal ataque. Cuestiones éticas aparte, si hubiera tomado control de riocuarto.gov.ar no se me hubiera ocurrido hacer algo tan &#8230; <a href="https://blog.smaldone.com.ar/2009/05/26/si-me-robara-riocuartogovar/" class="more-link">Sigue leyendo <span class="screen-reader-text">Si me «robara» riocuarto.gov.ar&#8230;</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Con relación al <a href="https://blog.smaldone.com.ar/2009/05/26/rio-cuarto-se-retira-de-internet/">artículo anterior</a>, en donde relaté el problema acontecido con el dominio <strong>riocuarto.gov.ar</strong>, me quedó dando vueltas en la cabeza la estúpida idea de alguien que afirmó que yo había sido el autor de tal ataque.</p>
<p>Cuestiones éticas aparte, si hubiera tomado control de <strong>riocuarto.gov.ar</strong> no se me hubiera ocurrido hacer algo tan tonto como simplemente eliminar los datos de delegación. Por eso me quedé pensando (y dejo este artículo abierto a ideas y sugerencias): «¿Qué haría si tomara el control del dominio de la Municipalidad?».</p>
<p><span id="more-230"></span></p>
<h3>Disclaimer</h3>
<p>Como está visto que hace falta, aclaro: No estoy proponiendo a nadie que ataque nada (ni el DNS de la Municipalidad, ni ninguna otra cosa). Este es un artículo <strong>humorístico</strong>.</p>
<h3>Algunas ideas&#8230;.</h3>
<h4>Cambiar el MX</h4>
<p>Apuntar el registro MX a un servidor controlado por mí, derivando hacia él todo el tráfico de correo electrónico (SMTP). Luego, posiblemente, volver a inyectarlo hacia el servidor real. Si en 5 días no se dieron cuenta de que el dominio no estaba funcionando, imagino que en 1 año tampoco notarían esto.</p>
<p>¡Ah, por cierto! También estaría bueno tomar los mensajes más interesantes y publicarlos en un blog, justo en época de elecciones. <strong>:)</strong></p>
<h4>Agregar una entrada TXT</h4>
<p>Agregar una entrada TXT en el DNS, usando <a href="http://es.wikipedia.org/wiki/Sender_Policy_Framework">SPF</a>, para indicar que el único servidor SMTP válido del dominio <strong>riocuarto.gov.ar</strong> es W.X.Y.Z (alguna IP arbitraria de por ahí&#8230;). Apuesto que se hubieran pasado meses preguntándose por qué cuernos todo el correo enviado desde cuentas de <strong>riocuarto.gov.ar</strong> es tachado como spam por todos los servidores de Internet.</p>
<h4>Cambiar el host www</h4>
<p>Apuntarlo a <a href="http://www.cordobesitas.com.ar/">www.cordobesitas.com.ar</a> o algún sitio por el estilo (desconcertado va a quedar aquel que busque una foto del Intendente municipal&#8230;).</p>
<p>Otra muy buena sería redirigirlo a un servidor proxy que haga algunas modificaciones sobre el contenido original, como por ejemplo reemplazar todas las ocurrencias de <strong>«Jure»</strong> por <strong>«Jure en falso»</strong>, «<strong>Juez</strong>» o algo por el estilo. También se podría hacer algo más gracioso (e inofensivo) como <a href="http://ex-parrot.com/~pete/upside-down-ternet.html">dar vuelta todas las imágenes</a>.</p>
<h4>Definir hosts nuevos</h4>
<p>Cosas como, por ejemplo, <strong>quienlevantalabasuraen.riocuarto.gov.ar</strong>, <strong>deremate.riocuarto.gov.ar</strong> o <strong>lasgaritasmascarasdelmundo.riocuarto.gov.ar</strong>. Algo más divertido podría ser darle algo de contenido a estos sitios&#8230;</strong></p>
<h4>¿Ideas?</h4>
<p>Escucho ocurrencias&#8230; <strong>:)</strong></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smaldone.com.ar/2009/05/26/si-me-robara-riocuartogovar/feed/</wfw:commentRss>
			<slash:comments>13</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">230</post-id>	</item>
		<item>
		<title>Río Cuarto se retira de Internet</title>
		<link>https://blog.smaldone.com.ar/2009/05/26/rio-cuarto-se-retira-de-internet/</link>
					<comments>https://blog.smaldone.com.ar/2009/05/26/rio-cuarto-se-retira-de-internet/#comments</comments>
		
		<dc:creator><![CDATA[Javier]]></dc:creator>
		<pubDate>Tue, 26 May 2009 12:15:30 +0000</pubDate>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Política]]></category>
		<category><![CDATA[Redes]]></category>
		<category><![CDATA[Seguridad]]></category>
		<guid isPermaLink="false">http://blog.smaldone.com.ar/?p=214</guid>

					<description><![CDATA[Por alguna misteriosa razón, desde el día 21 de mayo del 2009, el dominio riocuarto.gov.ar ha desaparecido. ¿Qué significa esto? Que tanto los sitios web de los distintos organismos de la Municipalidad de Río Cuarto, como así también las direcciones de correo electrónico @riocuarto.gov.ar han dejado de existir. ¿Esto fue hecho adrede por los administradores &#8230; <a href="https://blog.smaldone.com.ar/2009/05/26/rio-cuarto-se-retira-de-internet/" class="more-link">Sigue leyendo <span class="screen-reader-text">Río Cuarto se retira de Internet</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Por alguna misteriosa razón, desde el día 21 de mayo del 2009, el dominio <strong>riocuarto.gov.ar</strong> ha desaparecido. ¿Qué significa esto? Que tanto los sitios web de los distintos organismos de la Municipalidad de Río Cuarto, como así también las direcciones de correo electrónico <strong>@riocuarto.gov.ar</strong>  han dejado de existir.</p>
<p>¿Esto fue hecho adrede por los administradores informáticos de la Municipalidad? ¿Fue un error involuntario? ¿Se trata acaso de <a href="https://blog.smaldone.com.ar/2009/04/20/atacan-el-sitio-web-de-la-municipalidad-de-rio-cuarto/">un nuevo ataque</a> conducido contra los sistemas de la Municipalidad de Río Cuarto? Es difícil determinar la causa, lo que más llama la atención es el absoluto silencio de los medios locales con respecto al tema.</p>
<p><span id="more-214"></span></p>
<h3>Delegación de dominio dada de baja</h3>
<p>En el sitio del <a href="http://www.nic.ar/">NIC Argentina</a> (el organismo oficial que administra los dominios <strong>.ar</strong>), puede verse (en la opción <strong>«Trámites vía web»</strong> -&gt;  <strong>«Trámites por nombre de dominio»</strong>) que la delegación del dominio <strong>riocuarto.gov.ar</strong> ha sido dada de baja:</p>
<div class="centerpic"><a href="/files/riocuarto.gov.ar/dns.png" target="_blank"><img decoding="async" src="/files/riocuarto.gov.ar/dns-small.png" alt="riocuarto.gov.ar en el NIC Argentina"></a></div>
<p>La situación es clara: El día 21 de mayo de 2009 a las 13:11 horas, mediante el trámite administrativo <strong>DEL3743701</strong> la delegación de DNS del dominio <strong>riocuarto.gov.ar</strong> fue dada de baja. Esto significa que fueron eliminados los datos de los servidores de nombres encargados de la resolución de dicho dominio. A partir de ese momento dejaron de funcionar, por ejemplo, tanto los sitios web de la Municipalidad y del Consejo deliberante como las direcciones de correo de los funcionarios y dependencias municipales.</p>
<h3>Posibles causas</h3>
<p>La misteriosa desaparición del dominio puede deberse a alguna de las siguientes causas:</p>
<ul>
<li><strong>Error de NIC Argentina:</strong> Algún administrador desprevenido, o alguna falla en el sistema del NIC ocasionaron la baja de la delegación. Esto es muy poco probable, ya que existe un trámite identificado mediante el cual se realizó la baja (<strong>DEL3743701</strong>).</li>
<li><strong>Error de un administrador de la Municipalidad de Río Cuarto:</strong> Algún administrador desprevenido realizó el trámite de baja de la delegación. Esto requiere la realización de un trámite vía web más la confirmación a través del correo electrónico. Cuesta creer que alguien pudiera cometer un error tan grosero (pero bueno, todo es posible&#8230;).</li>
<li><strong>Ataque a la Municipalidad:</strong> Alguien deliberadamente realizó el trámite de baja de la delegación. Esto requeriría de, al menos, acceso a la cuenta de correo electrónico utilizada ante NIC Argentina para la realización de trámites administrativos del dominio <strong>riocuarto.gov.ar</strong>. Si este fuera el caso, significa que alguien tomó control de dicha cuenta (o del servidor de correo), lo que implica un incidente bastante más grave aún.</li>
</ul>
<h3>Silencio de radio</h3>
<p>A la fecha de publicación de este artículo ya han transcurrido cinco días. Seguramente cualquier ciudadano que haya querido acceder a un sitio de la Municipalidad de Río Cuarto, o comunicarse por email con alguna autoridad, habrá notado la existencia del problema (ni hablar de quienes trabajan en el ámbito municipal). Sin embargo, no ha habido (hasta donde sé) ninguna comunicación oficial, ni medio de prensa que se haya hecho eco del incidente.</p>
<p>Cinco días sin sitios web, sin email (y vaya a saber con qué otros inconvenientes) no constituyen un incidente menor; máxime teniendo en cuenta <a href="https://blog.smaldone.com.ar/2008/11/27/rio-cuarto-e-ibm-el-romance-continua/">el abultado presupuesto</a> que nuestra Municipalidad destina al área informática (prometiéndonos «ciudades digitales» y «conectadas» cuando en este momento ni siquiera pueden recibir un mensaje de correo electrónico).</p>
<p>Una vez más, el resultado es lamentable.</p>
<h3>Actualización 1: (para los «técnicos»)</h3>
<p>Para comprobar que <strong>riocuarto.gov.ar</strong> en la práctica no existe como dominio en Internet, podemos hacer la siguiente prueba (en <strong>GNU/Linux</strong>):</p>
<blockquote><p><code>dig @ns1.retina.ar ns riocuarto.gov.ar</code></p></blockquote>
<p>Con esto, le estamos preguntando al servidor DNS <strong>ns1.retina.ar</strong>  (una de las autoridades de la zona <strong>gov.ar</strong>) cuál es el servidor de nombres del dominio <strong>riocuarto.gov.ar</strong>. La respuesta es nula. (Puede reemplazarse <strong>ns1.retina.ar</strong> por cualquiera de los otros NS de la zona <strong>gov.ar</strong>, que pueden a su vez obtenerse con el comando «<strong><code>dig ns gov.ar</code></strong>«.)</p>
<h3>Actualización 2: (26 de mayo de 2009, 11 hs)</h3>
<p>Según me comenta un amigo, los administradores acaban de enterarse del problema (porque alguien les avisó). Parece increible que hayan pasado 5 días sin siquiera notar el «inconveniente». Veremos cuánto más tardan ahora en solucionarlo&#8230;</p>
<h3>Actualización 3: (fui yo)</h3>
<p>Ahora, según dice gente de la Municipalidad, parece ser que el culpable del incidente fui yo. Según afirman, media hora después de dado de baja el dominio yo ya lo sabía (¿cómo lo sabrán, si ellos se enteraron recién hoy?). ¿Cómo lo hice? Supuestamente accedí a una de las cuentas de correo habilitadas para las gestiones ante el NIC.</p>
<p>No se si se habrá notado, pero en todo el artículo traté de utilizar terminología bastante neutra, sin calificativos que pudieran resultar ofensivos para los responsables del problema. Como todavía me queda media vuelta de rosca, antes de que se me zafe la tuerca del todo, voy a esperar los acontecimientos de las próximas horas (a ver si siguen echándome la culpa de su incompetencia), antes de despacharme con el arsenal de adjetivos que tengo en la punta de los dedos.</p>
<p>Por ahora, agradecido, señores. Si se enteraron de este problema fue por mi artículo (como ya antes se enteraron de varios problemas de seguridad en reuniones personales y sin que les haya cobrado un centavo). Denle nomás, échenme la culpa, trátenme de «bobo», vienen bárbaro&#8230;</p>
<h3>Actualización 4: (en vía de solución)</h3>
<p>Hace unos momentos uno de los administradores de la Municipalidad (a quien conozco, y que como suponía no fue el <a href="http://www.sinonimos.org/tonto">babieca</a> al que se le ocurrió matar al cartero) me comunicó que ya fue iniciado el trámite en el NIC Argentina para restablecer el funcionamiento de <strong>riocuarto.gov.ar</strong>.</p>
<p>Por mi parte (como ciudadano riocuartense), espero que se solucione a la brevedad, se aclare qué y cómo ocurrió, y no vuelva a suceder.</p>
<h3>Actualización 5: (la prensa se hace eco)</h3>
<p>Finalmente, a las 20 horas del día 26 de mayo, el diario <strong>Puntal</strong> publica <a href="http://www.puntal.com.ar/notiPortal.php?id=24611">una nota sobre el incidente</a>. Claro que, como lamentablemente era de esperarse, se trata de minimizar el problema. Según declara un responsable técnico al diario:</p>
<blockquote>
<p><em>“Esto provoca que al cargar la dirección www.riocuarto.gov.ar en el navegador no se encuentre el servidor, hasta tanto se realice el trámite que vuelve a relacionar el nombre con nuestro IP, que ya fue iniciado”.</em></p>
</blockquote>
<p>Claro, provoca eso&#8230; y varias cosas más. Entre ellas, que otros dominios como <strong>emos.gov.ar</strong> y <strong>concejoriocuarto.gov.ar</strong> tampoco funcionaran (ni para acceder a los sitios web, ni para el envío de correo electrónico, «pequeño detalle» que omiten). Por supuesto, tampoco dicen que el problema se produjo un jueves y fue detectado recién el martes siguiente.</p>
<p>Y luego, para colocar la guinda sobre la torta, dicen que:</p>
<blockquote>
<p><em>«se encuentran investigando &#8230; para intentar dilucidar si alguna persona ingresó con la contraseña intencionalmente o si se trata de algún error en los sistemas de NIC ARGENTINA»</em></p>
</blockquote>
<p>Claro, si, seguro. NIC Argentina tiene registrados más de un millón de dominios. Y tiene un error que permite a alguien modificar un dominio a su antojo. Y solamente le ocurre a la Municipalidad de Río Cuarto. Perfectamente probable, cómo no. (Me cerraba más la hipótesis de que había sido yo que accedí a la cuenta de correo.)</p>
<h3>Actualización 6: (¿final?)</h3>
<p>En este momento (27 de mayo de 2009) el dominio <strong>riocuarto.gov.ar</strong> está funcionando nuevamente.</p>
<p>El diario <strong>La Voz del Interior</strong> también <a href="http://www.lavoz.com.ar/Nota.asp?nota_id=520038">publicó la noticia</a> (de forma mucho más detallada y cercana a la realidad que <strong>Puntal</strong>). Nobleza obliga, tengo que agradecer a <strong>Nicolás Llamosas</strong> por haberme librado de los rumores difamatorios que circularon ayer por la Municipalidad (y, Nicolás, no era necesario el reconocimiento público por algún aporte previo, pero se agradece doblemente).</p>
<p>Ojalá NIC Argentina coopere brindando la información necesaria para intentar descubrir el origen de este incidente y ojalá se tomen las medidas para que este (u otro) ataque no pueda tener éxito en el futuro.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smaldone.com.ar/2009/05/26/rio-cuarto-se-retira-de-internet/feed/</wfw:commentRss>
			<slash:comments>24</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">214</post-id>	</item>
		<item>
		<title>Más sobre los ataques a sitios de Río Cuarto</title>
		<link>https://blog.smaldone.com.ar/2009/04/28/mas-sobre-los-ataques-a-sitios-de-rio-cuarto/</link>
					<comments>https://blog.smaldone.com.ar/2009/04/28/mas-sobre-los-ataques-a-sitios-de-rio-cuarto/#comments</comments>
		
		<dc:creator><![CDATA[Javier]]></dc:creator>
		<pubDate>Tue, 28 Apr 2009 15:04:44 +0000</pubDate>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Redes]]></category>
		<category><![CDATA[Seguridad]]></category>
		<guid isPermaLink="false">http://blog.smaldone.com.ar/?p=204</guid>

					<description><![CDATA[Luego de los ataques a LV16.com.ar y a riocuarto.gov.ar, parece que sigue la muela doliendo. Para terminar de dejar en claro de que se trata de un problema de ignorancia, se suma el diario Puntal con una nota periodística en la cual aparece la voz de supuestos expertos en seguridad. Un «hacker» riocuartense El primer &#8230; <a href="https://blog.smaldone.com.ar/2009/04/28/mas-sobre-los-ataques-a-sitios-de-rio-cuarto/" class="more-link">Sigue leyendo <span class="screen-reader-text">Más sobre los ataques a sitios de Río Cuarto</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Luego de los ataques a <a href="https://blog.smaldone.com.ar/2009/03/11/lv16-com-censura-o-ignorancia/">LV16.com.ar</a> y a <a href="https://blog.smaldone.com.ar/2009/04/20/atacan-el-sitio-web-de-la-municipalidad-de-rio-cuarto/">riocuarto.gov.ar</a>, parece que sigue la muela doliendo. Para terminar de dejar en claro de que se trata de un problema de <strong>ignorancia</strong>, se suma el diario Puntal con <a href="http://www.puntal.com.ar/notiPortal.php?id=22886"><strong>una nota periodística</strong></a> en la cual aparece la voz de supuestos <em>expertos en seguridad</em>.</p>
<p><span id="more-204"></span></p>
<h3>Un «hacker» riocuartense</h3>
<p>El primer entrevistado es un autoproclamado «<em>hacker</em>» que dice dedicarse a la seguridad informática (sería todo un hallazgo encontrar a un experto en la materia en la ciudad de Río Cuarto), quien hace afirmaciones como la siguiente:</p>
<blockquote>
<p>«Se­ría me­jor si no hu­bie­ra hac­kers. Por­que los hac­kers son la con­se­cuen­cia de la so­cie­dad.»</p>
</blockquote>
<p>Tal sinsentido se contradice con lo expresado por él mismo en otra parte de la entrevista, donde explica que:</p>
<blockquote>
<p>«Ser hac­ker sig­ni­fi­ca for­zar los sis­te­mas a lo má­xi­mo, eso im­pli­ca co­no­ci­mien­tos y ver si hay fa­llas de se­gu­ri­dad y có­mo es­tá he­cho, sim­ple­men­te eso. No ha­cer da­ño, ni nin­gu­na ac­ti­vi­dad ile­gal.»</p>
<p>«Una de las mo­ti­va­cio­nes de un hac­ker es el de­sa­fío mis­mo de ha­cer es­to y la bús­que­da de co­no­ci­mien­tos. Hay mu­chos hac­kers que vi­ven de eso, de la se­gu­ri­dad, con los co­no­ci­mien­tos que se van ad­qui­rien­do. Otro mo­ti­vo es el pen­sa­mien­to de que las co­sas de­ben es­tar bien he­chas. Y, cuan­do es­tán mal, se tra­ta de de­rri­bar­las pa­ra que se vuel­van a ha­cer bien.»</p></blockquote>
<p>Queda de manifiesto que el tal «Zar» (así es como se hace llamar) ni siquiera tiene bien en claro qué es ser un hacker. Si bien es cierta su definición, no se entiende por qué para él sería mejor que no hubiera personas con esa disposición, ni por qué son una consecuencia supuestamente indeseable de la sociedad (y menos se entiende cuando compara el «<em>hackeo</em>» con vender marihuana).</p>
<p>Para finalizar, con respecto al <a href="https://blog.smaldone.com.ar/2009/03/11/lv16-com-censura-o-ignorancia/">ataque al sitio de LV16</a> este personaje se despacha diciendo que:</p>
<blockquote>
<p>«Yo ubi­qué a es­te hac­ker, a par­tir de in­di­cios. Cru­zan­do da­tos se con­si­gue. Es un chi­co de 17 años, que vi­ve en Mar del Pla­ta, que per­te­ne­ce a un gru­po que se co­no­cen por Fa­ce­book y Mes­sen­ger, que con­si­guie­ron una re­ce­ta pa­ra hac­kear una pá­gi­na y que­rían ver si ser­vía. Fue ca­sual. Uno de ellos es de Ve­na­do Tuer­to. Pe­ro, al chi­co no le va a pa­sar na­da.»</p>
</blockquote>
<p>No se que datos habrá cruzado el tal «Zar», pero el autor de dicho ataque dejó <a href="https://blog.smaldone.com.ar/2009/03/11/lv16-com-censura-o-ignorancia/#comment-55236">un comentario en mi artículo sobre el tema</a> invitando a cualquiera a agregarlo a MSN. En breve publicaré una entrevista que le realicé, y donde queda de manifiesto lo errado de las especulaciones de este supuesto experto en seguridad.</p>
<h3>La guinda sobre la torta (y el helado en la frente)</h3>
<p>Más allá de lo anecdótico de las contradictorias y hasta simpáticas afirmaciones del supuesto hacker «Zar», realmente preocupa ver que el Dr. <strong>Oscar Taurian</strong> (Director del Centro de Cómputos de la Universidad Nacional de Río Cuarto) haga afirmaciones como esta:</p>
<blockquote>
<p>«Por ejem­plo, Cien­cias Eco­nó­mi­cas tie­ne el ser­vi­dor de­sac­tua­li­za­do y se lo pue­de usar pa­ra ata­car a las otras má­qui­nas.»</p>
</blockquote>
<p>El Dr. Taurian (que no es doctor en informática, sino en alguna otra cosa) parece desconocer una norma básica de la seguridad informática. Utilizando un medio público acaba de dar una excelente pista a cualquiera que desee atacar la red de la UNRC, apuntando con el dedo al servidor de la Facultad de Ciencias Económicas. Imagine el lector a un comisario declarando en un periódico que el Banco X tiene un pésimo sistema de seguridad. Totalmente ridículo.</p>
<h3>Fuentes confiables&#8230;</h3>
<p>Así cubre uno de los principales medios periodísticos de Río Cuarto el problema de la seguridad informática. Lo hace consultando a supuestos expertos que no son tales y publicando sus afirmaciones como hechos. ¿Se conducirán de la misma manera en otras áreas como la economía y la salud? Da que pensar.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smaldone.com.ar/2009/04/28/mas-sobre-los-ataques-a-sitios-de-rio-cuarto/feed/</wfw:commentRss>
			<slash:comments>20</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">204</post-id>	</item>
		<item>
		<title>Mi charla en las 8vas. JRSL</title>
		<link>https://blog.smaldone.com.ar/2008/09/02/mi-charla-en-las-8vas-jrsl/</link>
					<comments>https://blog.smaldone.com.ar/2008/09/02/mi-charla-en-las-8vas-jrsl/#comments</comments>
		
		<dc:creator><![CDATA[Javier]]></dc:creator>
		<pubDate>Wed, 03 Sep 2008 01:07:34 +0000</pubDate>
				<category><![CDATA[Charlas]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Redes]]></category>
		<category><![CDATA[Software libre]]></category>
		<guid isPermaLink="false">http://blog.smaldone.com.ar/?p=120</guid>

					<description><![CDATA[Tal como comenté en el artículo anterior, tuve la gran satisfacción de dar una charla en las 8vas. Jornadas Regionales de Software Libre, realizadas del 20 al 22 de agosto pasado en la Universidad de Belgrano. Aunque en algún momento estará disponible en el sitio del evento (junto con el video de la charla), no &#8230; <a href="https://blog.smaldone.com.ar/2008/09/02/mi-charla-en-las-8vas-jrsl/" class="more-link">Sigue leyendo <span class="screen-reader-text">Mi charla en las 8vas. JRSL</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Tal como comenté en el <a href="https://blog.smaldone.com.ar/2008/08/02/8vas-jornadas-regionales-de-software-libre/">artículo anterior</a>, tuve la gran satisfacción de dar una charla en las <a href="http://jornadas.cafelug.org.ar/">8vas. Jornadas Regionales de Software Libre</a>, realizadas del 20 al 22 de agosto pasado en la Universidad de Belgrano.</p>
<p>Aunque en algún momento estará disponible en el sitio del evento (junto con el video de la charla), no resití la tentación de publicar la presentación que utilicé.</p>
<h3>Experiencias en la implementación de un ISP con software libre</h3>
<ul>
<li><a href="/files/8jrsl/isp_software_libre.pdf">Presentación en formato PDF</a></li>
<li><a href="/files/8jrsl/isp_software_libre.odp">Presentación en formato ODP</a> (<a href="http://www.openoffice.org/">OpenOffice.org</a>)</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smaldone.com.ar/2008/09/02/mi-charla-en-las-8vas-jrsl/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">120</post-id>	</item>
		<item>
		<title>Cómo funciona el DNS</title>
		<link>https://blog.smaldone.com.ar/2006/12/05/como-funciona-el-dns/</link>
					<comments>https://blog.smaldone.com.ar/2006/12/05/como-funciona-el-dns/#comments</comments>
		
		<dc:creator><![CDATA[Javier]]></dc:creator>
		<pubDate>Tue, 05 Dec 2006 18:23:23 +0000</pubDate>
				<category><![CDATA[Redes]]></category>
		<guid isPermaLink="false">http://blog.smaldone.com.ar/2006/12/05/como-funciona-el-dns/</guid>

					<description><![CDATA[Siguiendo con la serie de artículos sobre redes y TCP/IP hoy realizaremos una breve introducción al «Sistema de Nombres de Dominio» (DNS, por «Domain Name System«). El DNS se utiliza principalmente para la resolución de nombres, esto es, decidir qué dirección IP pertenece a determinado nombre completo de host. También puede descargar este tutorial en &#8230; <a href="https://blog.smaldone.com.ar/2006/12/05/como-funciona-el-dns/" class="more-link">Sigue leyendo <span class="screen-reader-text">Cómo funciona el DNS</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Siguiendo con la <a href="https://blog.smaldone.com.ar/2006/11/21/tutorial-sobre-tcpip/">serie de artículos</a> sobre redes y <strong>TCP/IP</strong> hoy realizaremos una breve introducción al «<a href="http://es.wikipedia.org/wiki/Domain_Name_System"><em>Sistema de Nombres de Dominio</em></a>» (<strong>DNS</strong>, por «<a href="http://en.wikipedia.org/wiki/Domain_name_system"><em>Domain Name System</em></a>«).</p>
<p>El <strong>DNS</strong> se utiliza principalmente para la <em>resolución de nombres</em>, esto es, decidir qué <em>dirección <strong>IP</strong></em> pertenece a determinado nombre completo de <em>host</em>.</p>
<p><span id="more-84"></span></p>
<p><em>También puede <a href="https://blog.smaldone.com.ar/files/dns/introduccion_dns.tgz">descargar este tutorial en otros formatos</a> (HTML sin decoraciones y PDF).</em></p>
<h3>Usos del DNS</h3>
<p>El <strong>DNS</strong> se utiliza para distintos propósitos. Los más comunes son:</p>
<ul>
<li><strong>Resolución de nombres</strong>: Dado el nombre completo de un <em>host</em> (por ejemplo <em>blog.smaldone.com.ar</em>), obtener su <em>dirección <strong>IP</strong></em> (en este caso, <em>208.97.175.41</em>).</li>
<li><strong>Resolución inversa de direcciones</strong>: Es el mecanismo inverso al anterior. Consiste en, dada una <em>dirección <strong>IP</strong></em>, obtener el nombre asociado a la misma.</li>
<li><strong>Resolución de servidores de correo</strong>: Dado un <em>nombre de dominio</em> (por ejemplo <em>gmail.com</em>) obtener el servidor a través del cual debe realizarse la entrega del correo electrónico (en este caso, <em>gmail-smtp-in.l.google.com</em>).</li>
</ul>
<p>Por tratarse de un sistema muy flexible, es utilizado también para muchas otras funciones, tales como la obtención de claves públicas de <a href="http://es.wikipedia.org/wiki/Clave_p%C3%BAblica">cifrado asimétrico</a> y la validación de envío de e-mails (a través de mecanismos como <a href="http://es.wikipedia.org/wiki/SPF">SPF</a>).</p>
<h3>Terminología básica</h3>
<p>Antes de proseguir, es necesario introducir algunos términos básicos para evitar confusiones y ambigüedades. Otros términos más complejos serán tratados más adelante.</p>
<ul>
<li><strong>Host Name</strong>: El nombre de un <em>host</em> es una sola «<em>palabra</em>» (formada por letras, números y guiones). Ejemplos de nombres de <em>host</em> son «<em>www</em>«, «<em>blog</em>» y «<em>obelix</em>«.</li>
<li><strong>Fully Qualified Domain Name</strong> (<strong>FQDN</strong>): Es el «<em>nombre completo</em>» de un <em>host</em>. Está formado por el <em>hostname</em>, seguido de un punto y su correspondiente <em>nombre de dominio</em>. Por ejemplo, «<em>blog.smaldone.com.ar</em>«</li>
<li><strong>Domain Name</strong>: El <a href="http://es.wikipedia.org/wiki/Nombre_de_dominio"><em>nombre de dominio</em></a> es una sucesión de nombres concatenados por puntos. Algunos ejemplos son «<em>smaldone.com.ar</em>«, «<em>com.ar</em>» y «<em>ar</em>«.</li>
<li><strong>Top Level Domains</strong> (<strong>TLD</strong>): Los <a href="http://es.wikipedia.org/wiki/Dominio_de_nivel_superior"><em>dominios de nivel superior</em></a> son aquellos que no pertenecen a otro dominio. Ejemplos de este tipo son «<em>com</em>«, «<em>org</em>«, «<em>ar</em>» y «<em>es</em>«.</li>
</ul>
<h3>Arquitectura del DNS</h3>
<p>El sistema DNS funciona principalmente en base al <a href="http://es.wikipedia.org/wiki/Udp">protocolo <strong>UDP</strong></a>. Los requerimientos se realizan a través del <em>puerto</em> <strong>53</strong>.</p>
<p>El sistema está estructurado en forma de «<em>árbol</em>«. Cada <em>nodo</em> del árbol está compuesto por un grupo de servidores que se encargan de resolver un conjunto de dominios (<em>zona de autoridad</em>). Un servidor puede delegar en otro (u otros) la autoridad sobre alguna de sus sub-zonas (esto es, algún <em>subdominio</em> de la zona sobre la que él tiene autoridad). Un subdominio puede verse como una <em>especialización</em> de un dominio de nivel anterior. Por ejemplo, «<em>smaldone.com.ar</em>» es un subdominio de «<em>com.ar</em>«, que a su vez lo es del <strong>TLD</strong> «<em>ar</em>«.</p>
<p>El siguiente diagrama ilustra esto a través de un ejemplo:</p>
<div class="centerpic"><img decoding="async" src="https://blog.smaldone.com.ar/files/dns/zonas.png" alt="Zonas y delegación" /></div>
<p>Los «<em>root servers</em>» (o «<em>servidores raíz</em>«) tienen autoridad sobre el dominio raíz («.»), devolviendo los servidores con autoridad para cada uno de los <strong>TLD</strong>. Son fijos, ya que rara vez cambian, <a href="http://en.wikipedia.org/wiki/Root_nameserver">siendo actualmente 13</a>.</p>
<p>Tomemos como ejemplo el dominio «<em>com.ar</em>«. Este dominio pertenece al <strong>TLD</strong> «<em>ar</em>«.</p>
<p>Los servidores con autoridad sobre el dominio «<em>ar</em>» son:</p>
<p><code>ns-ar.ripe.net<br />
merapi.switch.ch<br />
uucp-gw-1.pa.dec.com<br />
uucp-gw-2.pa.dec.com<br />
ns.uu.net<br />
ns1.retina.ar<br />
athea.ar<br />
ctina.ar</code></p>
<p>En tanto que los servidores con autoridad sobre «<em>com.ar</em>» son:</p>
<p><code>merapi.switch.ch<br />
relay1.mecon.gov.ar<br />
ns.uu.net<br />
ns1.retina.ar<br />
athea.ar<br />
ctina.ar</code></p>
<p>Podemos ver que <em>ns.uu.net</em>, <em>ns1.retina.ar</em>, <em>athea.ar</em> y <em>ctina.ar</em> tienen autoridad tanto sobre «<em>com.ar</em>» como sobre «<em>ar</em>«.</p>
<h3>El proceso de resolución de nombres</h3>
<p>Cuando una aplicación (cliente) necesita resolver un <strong>FQHN</strong> envía un requerimiento al <em>servidor de nombres</em> configurado en el sistema (normalmente, el provisto por el <strong>ISP</strong>). A partir de entonces se desencadena el proceso de resolución del nombre:</p>
<ol>
<li>El servidor de nombres inicial consulta a uno de los <em>servidores raíz</em> (cuya <em>dirección <strong>IP</strong></em> debe conocer previamente).</li>
<li>Este devuelve el nombre del servidor a quien se le ha delegado la sub-zona.</li>
<li>El servidor inicial interroga al nuevo servidor.</li>
<li>El proceso se repite nuevamente a partir del punto 2 si es que se trata de una sub-zona delegada.</li>
<li>Al obtener el nombre del servidor con autoridad sobre la zona en cuestión, el servidor inicial lo interroga.</li>
<li>El servidor resuelve el nombre correspondiente, si este existe.</li>
<li>El servidor inicial informa al cliente el nombre resuelto.</li>
</ol>
<p>Ilustremos esto con un ejemplo concreto. Supongamos que el navegador necesita resolver el nombre «<em>blog.smaldone.com.ar</em>«.</p>
<ol>
<li>El sistema tiene configurado el servidor de nombres <em>200.49.156.3</em> (perteneciente al proveedor argentino <em>Fibertel</em>). Por lo tanto envía a éste el requerimiento de resolver «<em>blog.smaldone.com.ar</em>«.</li>
<li>El servidor de <em>200.49.156.3</em> envía la consulta <em>root server</em> <em>198.41.0.4</em>.</li>
<li>198.41.0.4 le informa que el servidor con autoridad sobre «<em>ar</em>» es <em>athea.ar</em>, cuya <em>dirección <strong>IP</strong></em> es <em>200.16.98.2</em>. (En realidad, informa la lista de todos los servidores con tal autoridad, pero para simplificar el ejemplo tomaremos solamente uno.)</li>
<li><em>200.49.156.3</em> envía nuevamente el requerimiento a <em>athea.ar</em> (el cual, recordemos, también tiene autoridad sobre «<em>com.ar</em>«).</li>
<li><em>athea.ar</em> responde que la autoridad sobre <em>smaldone.com.ar</em> la tiene <em>ns1.mydomain.com</em> cuya <em>dirección <strong>IP</strong></em> es <em>64.94.117.213</em>.</li>
<li><em>200.49.156.3</em> envía ahora la consulta a <em>ns1.mydomain.com</em>.</li>
<li><em>ns1.mydomain.com</em> informa que la <em>dirección <strong>IP</strong></em> de «<em>blog.smaldone.com.ar</em>» es <em>208.97.175.41</em>.</li>
<li>Finalmente, <em>200.49.156.3</em> devuelve este resultado a la aplicación que originó la consulta.</li>
</ol>
<h3>Mecanismos de caché</h3>
<p>Cada vez que un servidor de nombres envía una respuesta, lo hace adjuntando el tiempo de validez de la misma (<strong>TTL</strong> o «<em>tiempo de vida</em>«). Esto posibilita que el receptor, antes la necesidad de volver a resolver la misma consulta, pueda utilizar la información previamente obtenida en vez de realizar un nuevo requerimiento.</p>
<p>Esta es la razón por la cual los cambios realizados en el <strong>DNS</strong> no se propagan instantáneamente a través del sistema. Dependiendo de la naturaleza de los mismos (y de la configuración de cada servidor), la propagación puede tardar desde algunos minutos hasta varios días.</p>
<h3>Correo electrónico y resolución de nombres</h3>
<p>Normalmente los usuarios de correo electrónico redactan su mensajes usando un cliente de correo y enviándolo a través de un servidor <a href="http://es.wikipedia.org/wiki/SMTP"><strong>SMTP</strong></a> provisto por su <strong>ISP</strong> o a través de un sistema de <em>correo vía web</em> (<em>webmail</em>). En cualquier caso, una vez que el mensaje es recibido por el servidor, debe ser entregado al destinatario.  Aquí interviene el sistema <strong>DNS</strong>:</p>
<ol>
<li>El servidor del emisor solicita al <strong>DNS</strong> (de acuerdo al mecanismo analizado anteriormente), la entrada <strong>MX</strong> del dominio del receptor del mensaje. <strong>MX</strong> significa «<em>mail exchanger</em>«, esto es, el nombre del servidor (o los servidores) encargado de recibir los mensajes destinados a determinado dominio.</li>
<li>El <strong>DNS</strong> devuelve el <strong>FQHN</strong> y la <em>dirección <strong>IP</strong></em> del <em>mail exchanger</em>.</li>
<li>El servidor del emisor se conecta al puerto 25, mediante <strong>TCP</strong>, del servidor del destinatario y entrega el mensaje según el protocolo <strong>SMTP</strong>.</li>
<li>El proceso podrá continuar si el servidor receptor del mensaje no es el último de la cadena. Existen servidores que actúan como «<em>puertas de enlace</em>» o «<em>gateways</em>» de correo electrónico, y que se encargan de recibir los mensajes de determinados dominios para luego enviarlos a otros servidores.</li>
</ol>
<h3>Tipos de registro en un servidor de nombres</h3>
<p>Un servidor de nombres puede almacenar distinta información. Para ello, en cada zona de autoridad dispondrá de entradas de distinto tipo. Entre los más importantes se encuentran:</p>
<ul>
<li><strong>A (Address)</strong>: Este registro se utiliza para traducir nombres de <em>hosts</em> del dominio en cuestión a direcciones IP.</li>
<li><strong>CNAME (Canonical Name)</strong>: El <em>nombre canónico</em> es un alias para un <em>host</em> determinado. (No define una <em>dirección <strong>IP</strong></em>, sino un nuevo nombre.)</li>
<li><strong>NS (Name Server)</strong>: Especifica el servidor (o servidores) de nombres para un dominio.</li>
<li><strong>MX (Mail Exchange)</strong>: Define el servidor encargado de recibir el correo electrónico para el dominio.</li>
<li><strong>PTR (Pointer)</strong>: Especifica un «<em>registro inverso</em>«, a la inversa del registro <strong>A</strong>, permitiendo la traducción de <em>direcciones <strong>IP</strong></em> a nombres.</li>
<li><strong>TXT (Text)</strong>: Permite asociar información adicional a un dominio. Esto se utiliza para otros fines, como el almacenamiento de claves de cifrado, «<a href="http://en.wikipedia.org/wiki/DomainKeys"><em>DomainKeys</em></a>» o «<a href="http://es.wikipedia.org/wiki/SPF"><em>Sender Policy Framework</em></a>«.</li>
</ul>
<h3>Bind, «el» servidor de nombres</h3>
<p>Prácticamente el único software utilizado en los servidores de nombres de <em>Internet</em> es <a href="http://es.wikipedia.org/wiki/BIND"><strong>bind</strong></a> («<em>Berkeley Internet Name Domain</em>«), creado originalmente en la <em>Universidad de California</em>, y actualmente propiedad del <em>Internet Systems Consortium</em>.</p>
<p>Este programa, distribuido bajo una licencia libre, es utilizado en prácticamente todos los sistemas <em>Unix</em> del mundo. Esto ha sido considerado un problema de seguridad, al punto que se ha propuesto la migración de algunos <em>root servers</em> a otro sistema, ya que la aparición de algún problema de seguridad en <strong>bind</strong> podría implicar la caída de todo el <strong>DNS</strong> de <em>Internet</em>.</p>
<h3>Uso del DNS en una red local</h3>
<p>Ya en redes de tamaño medio (quizás más de 5 equipos) es conveniente la utilización de <strong>DNS</strong>. Esto nada tiene que ver con el <strong>DNS</strong> de <em>Internet</em> (aunque el servidor local puede estar vinculado a este sistema).</p>
<p>Básicamente, es conveniente montar un servidor local de <strong>DNS</strong> por los siguientes motivos:</p>
<ul>
<li><strong>Agilizar el acceso a Internet</strong>: Al tener un <em>servidor de nombres</em> en nuestra propia red local (que acceda al <strong>DNS</strong> de nuestro proveedor o directamente a los <em>root servers</em>) se agiliza el mecanismo de resolución de nombres, manteniendo en <em>caché</em> los nombres recientemente usados en la red y disminuyendo el tráfico hacia/desde <em>Internet</em>.</li>
<li><strong>Simplificar la administración de la red local</strong>: Al contar con un <strong>DNS</strong> propio (ya sea uno o varios servidores de nombres) es posible definir <em>zonas locales</em> (no válidas ni accesibles desde <em>Internet</em>) para asignar nombres a cada uno de los <em>hosts</em> de la <strong>LAN</strong>. De esta forma es posible, por ejemplo, referirnos a la impresora de red como «<em>hplaser.mired.local</em>» en vez de «<em>192.168.0.2</em>» y a nuestro servidor de correo interno como «<em>smtp.mired.local</em>» en vez de «<em>192.168.0.3</em>«. (Pensemos, por ejemplo, que ocurriría con las configuraciones de las aplicaciones si un día decidimos cambiar el esquema de <em>direcciones <strong>IP</strong></em> de nuestra red.)</li>
</ul>
<h3>Problemas del DNS</h3>
<p>El principal problema que presenta el <strong>DNS</strong> es que, al estar basado en <strong>UDP</strong> (protocolo de transporte que no garantiza la recepción de la información enviada), tanto las consultas como las respuestas pueden «<em>perderse</em>» (por ejemplo, a causa de congestionamiento en algún enlace de la red). Es común apreciar cómo, en el caso de servidores y redes no muy bien configuradas, la resolución de nombres se resiente sensiblemente ante cualquier anomalía (saturación de tráfico o del servidor de nombres local).</p>
<p>Otro inconveniente, que ya hemos hecho notar, es la lentitud de la propagación de las modificaciones en el sistema, producto de la propia arquitectura del mismo.</p>
<p>Pero quizás el mayor problema no sea inherente al sistema mismo, sino a la pésima configuración de los servidores de muchos <strong>ISP</strong>. <em>Fibertel</em>, el proveedor que utilizo, es un notable ejemplo de esta falencia. Una buena solución a esta situación es ejecutar un <em>servidor de nombres</em> en alguna PC de la red local, de forma tal que se comunique directamente con los <strong>root servers</strong> (evitando de esta forma pasar a través de los  servidores de nombres de nuestro proveedor).</p>
<h3>Herramientas para aprender más</h3>
<p>En sistemas <strong>Unix</strong> el comando <strong>dig</strong> (ver «<strong>man dig</strong>«) permite realizar requerimientos «<em>a mano</em>» para poder investigar un poco más sobre el funcionamiento del <strong>DNS</strong> y, cómo no, también para detectar y solucionar problemas en la red.</p>
<p>Los usuarios de sistemas <strong>Windows</strong> disponen del comando <strong>nslookup</strong> (aunque no tan potente como <strong>dig</strong>), para el mismo propósito.</p>
<h3>Lectura adicional</h3>
<ul>
<li>La <a href="http://es.wikipedia.org/wiki/Domain_Name_System">página de Wikipedia sobre <strong>DNS</strong></a> contiene bastante información y buenos enlaces sobre este tema.</li>
<li>El «<a href="http://www.insflug.org/COMOs/DNS-Como/DNS-Como.html"><em>DNS Cómo</em></a>» explica la configuración de <strong>bind</strong> en <strong>GNU/Linux</strong>.</li>
<li>El <a href="http://www.rfc-es.org/rfc/rfc1591-es.txt"><strong>RFC</strong> 1591</a> explica detalladamente la estructura del <strong>DNS</strong>.</li>
<li>Los <strong>RFC</strong> <a href="ftp://ftp.rfc-editor.org/in-notes/rfc1034.txt">1034</a> y <a href="ftp://ftp.rfc-editor.org/in-notes/rfc1035.txt">1035</a> (ambos en inglés), describen completamente el <strong>DNS</strong>.</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smaldone.com.ar/2006/12/05/como-funciona-el-dns/feed/</wfw:commentRss>
			<slash:comments>153</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">84</post-id>	</item>
		<item>
		<title>Tutorial sobre TCP/IP</title>
		<link>https://blog.smaldone.com.ar/2006/11/21/tutorial-sobre-tcpip/</link>
					<comments>https://blog.smaldone.com.ar/2006/11/21/tutorial-sobre-tcpip/#comments</comments>
		
		<dc:creator><![CDATA[Javier]]></dc:creator>
		<pubDate>Tue, 21 Nov 2006 08:00:29 +0000</pubDate>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Redes]]></category>
		<guid isPermaLink="false">http://blog.smaldone.com.ar/2006/11/21/tutorial-sobre-tcpip/</guid>

					<description><![CDATA[En este tutorial realizaremos la «disección» de una comunicación TCP/IP muy simple, con el fin de analizar qué ocurre a cada nivel. A través de este sencillo experimento, podremos recorrer los conceptos fundamentales de las redes TCP/IP, para reafirmar la idea de que este protocolo es muy simple. El objetivo es lograr, sin demasiados conocimientos &#8230; <a href="https://blog.smaldone.com.ar/2006/11/21/tutorial-sobre-tcpip/" class="more-link">Sigue leyendo <span class="screen-reader-text">Tutorial sobre TCP/IP</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>En este tutorial realizaremos la «<em>disección</em>» de una comunicación <strong>TCP/IP</strong> muy simple, con el fin de analizar qué ocurre a cada nivel.</p>
<p>A través de este sencillo experimento, podremos recorrer los conceptos fundamentales de las redes <strong>TCP/IP</strong>, para reafirmar la idea de que este protocolo <a href="https://blog.smaldone.com.ar/2006/11/02/tcpip-es-simple/">es muy simple</a>. El objetivo es lograr, sin demasiados conocimientos previos, una comprensión profunda de sus mecanismos.</p>
<p><span id="more-69"></span></p>
<p><em>También puede <a href="https://blog.smaldone.com.ar/files/tcpip/tutorial_tcpip.tgz">descargar este tutorial en otros formatos</a>  (HTML sin decoraciones y PDF).</em></p>
<h4>Requisitos previos</h4>
<p>No se requieren conocimientos de programación, aunque sí una base de conocimientos informáticos en general. Para continuar experimentando más allá de los expuesto aquí, se recomienda la utilización del programa <a href="http://www.wireshark.org/"><strong>Wireshark</strong></a> (antes conocido como <strong>Ethereal</strong>), disponible para <strong>GNU/Linux</strong>, <strong>Microsoft Windows</strong>, <strong>Mac OS/X</strong> y <strong>Solaris</strong> .</p>
<p>Quizás el requisito más importante sean las ganas de aprender, investigar, jugar y divertirse con redes <strong>TCP/IP</strong>.</p>
<h4>Referencias</h4>
<p>Cada vez que se introduzca un término relevante, el mismo contendrá un enlace a una página con mayor información, por lo general de la <a href="http://es.wikipedia.org/"><strong>Wikipedia</strong></a> y, de ser posible, en español (aunque se recomienda ampliamente visitar su equivalente en inglés).</p>
<p>Un libro muy recomendable y claro (en inglés) es «<a href="http://www.kohala.com/start/tcpipiv1.html"><em>TCP/IP Illustrated Volume 1</em></a>» de W. Richard Stevens.  Finalmente, la fuente de consulta definitiva, para conocer tanto los aspectos técnicos como la evolución historica de cada uno de los protocolos y normas, son los <a href="http://www.rfc-editor.org/rfc.html"><strong>Request for Comments</strong></a> (<strong>RFC</strong>), algunos de los cuales han sido <a href="http://www.rfc-es.org/">traducidos al español</a>.</p>
<h3>Nuestro experimento</h3>
<p>Estableceremos una conexión <a href="http://es.wikipedia.org/wiki/TCP/IP"><strong>TCP/IP</strong></a> entre un cliente y un servidor que intercambiarán información. Para ello, utilizaremos el servidor desarrollado en el <a href="https://blog.smaldone.com.ar/2006/11/06/programacion-para-redes-y-concurrencia-i/">tutorial sobre programación en redes</a> (no es necesario que lo lea completamente, si no le interesa la programación, pero sería conveniente que revise los conceptos introductorios y el protocolo definido).</p>
<p>Ejecutamos entonces el servidor en el <a href="http://es.wikipedia.org/wiki/Host"><em>host</em></a> <strong>100.0.0.1</strong>, utilizando el puerto <strong>2222</strong> (cualquiera de las versiones desarrolladas en el tutorial anterior sirve, ya que el protocolo es idéntico) y usamos el comando <strong>telnet</strong> para actuar como cliente desde el <em>host</em> <strong>200.0.0.1</strong> (el texto en <em>cursiva</em> es introducido por nosotros y el texto en <strong>negrita</strong> es la respuesta del servidor):</p>
<p><code>javier@200.0.0.1:~$ <em>telnet 100.0.0.1 2222</em><br />
Trying 100.0.0.1...<br />
Connected to 100.0.0.1.<br />
Escape character is '^]'.<br />
<strong>Bienvenido.</strong><br />
<em>salir</em><br />
<strong>Adios.</strong><br />
Connection closed by foreign host.<br />
javier@200.0.0.1:~$</code></p>
<p>Esto es todo. Ahora procederemos a analizar cómo se ha llevado a cabo esta comunicación  a distintos niveles de abstracción.</p>
<h3>Nivel de aplicación</h3>
<p>A «<a href="http://es.wikipedia.org/wiki/Nivel_de_aplicaci%C3%B3n"><em>nivel de aplicación</em></a>» (lo que «<em>ven</em>» los programas), la comunicación se ha desarrollado de la siguiente manera:</p>
<ol>
<li>El cliente se conecta al servidor.</li>
<li>El servidor envía el mensaje «<strong>Bienvenido.</strong>«.</li>
<li>El cliente envía el comando «<strong>salir</strong>«.</li>
<li>El servidor responde con el mensaje «<strong>Adios.</strong>«.</li>
<li>El servidor cierra la conexión.</li>
<li>El cliente cierra la conexión.</li>
</ol>
<p>Esto es prácticamente lo mismo que podemos observar de la salida del comando <strong>telnet</strong> utilizado, lo cual no es casual; intencionalmente a este nivel se ocultan todos los detalles de implementación, que aparecerán cuando analicemos los niveles inferiores.</p>
<h3>Nivel de transporte</h3>
<p>El protocolo utilizado a «<a href="http://es.wikipedia.org/wiki/Nivel_de_transporte"><em>nivel de transporte</em></a>» es <strong>TCP</strong>. Este protocolo es el encargado de establecer la conexión y dividir la información en <em>paquetes</em>, garantizando que los mismos son entregados correctamente (sin pérdidas y en el orden apropiado).</p>
<p>Cabe resaltar aquí que el otro protocolo de transporte de <strong>TCP/IP</strong>, <a href="http://es.wikipedia.org/wiki/User_Datagram_Protocol"><strong>UDP</strong></a> no garantiza ni el arribo de todos los paquetes enviados, ni el orden en que estos llegan a destino. Por esto es mucho más simple, no incluyendo algunas de las características de <strong>TCP</strong> como números de secuencia y asentimientos.</p>
<p>A continuación analizaremos algunos aspectos del protocolo <a href="http://es.wikipedia.org/wiki/Transmission_Control_Protocol"><strong>TCP</strong></a>.</p>
<h4>Puertos y direcciones</h4>
<p>El protocolo <strong>TCP</strong> se basa en <a href="http://es.wikipedia.org/wiki/Direcci%C3%B3n_IP"><strong>direcciones IP</strong></a> para identificar los equipos (<em>hosts</em>) desde donde provienen y hacia donde se envían los paquetes.</p>
<p>Los <a href="http://es.wikipedia.org/wiki/TCP#Puertos_TCP"><strong>puertos</strong></a> (<em>ports</em>) son valores numéricos (entre 0 y 65535) que se utilizan para identificar a los procesos que se están comunicando. En cada extremo, cada proceso interviniente en la comunicación utiliza un puerto único para enviar y recibir datos.</p>
<p>En conjunción, dos pares de puertos y direcciones IP identifican univocamente a dos procesos en una red <strong>TCP/IP</strong>.</p>
<h4>Números de secuencia</h4>
<p><strong>TCP</strong> garantiza que la información es recibida en orden. Para ello, cada paquete enviado tiene un <em>número de secuencia</em>. Cada uno de los dos procesos involucrados mantiene su propia secuencia, que se inicia con un valor aleatorio y luego va incrementándose según la cantidad de bytes enviados.</p>
<p>Por ejemplo, si un paquete tiene número de secuencia <em>x</em> y contiene <em>k</em> bytes de datos, el número de secuencia del siguiente paquete emitido será <em>x</em> + <em>k</em>. (<em>Sí, el número de secuencia va contando la cantidad de bytes enviados por cada host</em>.)</p>
<h4>Paquetes y acuses de recibo</h4>
<p><strong>TCP</strong> también asegura que toda la información emitida es recibida. Para ello, por cada paquete emitido, debe recibirse un <a href="http://es.wikipedia.org/wiki/ACK">asentimiento</a> (en inglés «<em>acknowledgement</em>«, abreviado <strong>ACK</strong>). Si pasado determinado tiempo no se recibe el <strong>ACK</strong> correspondiente, la información será retransmitida.</p>
<p>El <strong>ACK</strong> hace referencia al número de secuencia (que ha su vez involucra la cantidad de bytes enviados). Por ejemplo, para comunicar que se ha recibido correctamente el paquete cuyo número de secuencia es <em>x</em>, que contiene <em>k</em> bytes, se enviará un <strong>ACK</strong> con el valor <em>x</em> + <em>k</em> (que coincide con el próximo número de secuencia a utilizar por parte del emisor del paquete en cuestión). Si el número de secuencia inicial es <em>x</em>, un valor de <strong>ACK</strong> <em>t</em> significa que el receptor ha recibido correctamente los primeros <em>t</em>&#8211;<em>x</em> bytes (en este sentido, el <strong>ACK</strong> es acumulativo).  </p>
<p>El <strong>ACK</strong> no es un paquete especial, sino un campo dentro de un paquete <strong>TCP</strong> normal. Por esto, puede ocurrir que se envíe un paquete a solo efecto de asentir una determinada cantidad de bytes, o como parte de un paquete de otro tipo (por ejemplo, aprovechando el envío de nuevos datos, para comunicar la recepción de datos anteriores). De hecho, aunque ya se haya enviado un paquete exclusivamente de <strong>ACK</strong> con un valor <em>t</em>, si luego se envía un paquete de datos, puede repetirse en él el <strong>ACK</strong> con el mismo valor <em>t</em>, sin que esto confunda al emisor de los datos que se están asintiendo. (Por simplicidad, en nuestro ejemplo hemos eliminado esta información redundante).</p>
<h4>Otros campos de un paquete TCP</h4>
<p>El protocolo <strong>TCP</strong> incorpora mecanismos tales como control de integridad de los datos (<em>checksum</em>), prevención de congestiones, entre otros, que no serán mencionados aquí por la simplicidad de este tutorial.</p>
<h4>Inicio y fin de la conexión</h4>
<p>Para dar comienzo a la conexión, el cliente envía un paquete <a href="http://es.wikipedia.org/wiki/SYN"><strong>SYN</strong></a> al puerto e <strong>IP</strong> en donde «<em>escucha</em>» el servidor, con un número de secuencia inicial aleatorio. Este último, responde con otro paquete <strong>SYN</strong>, con un número de secuencia inicial aleatorio y un <strong>ACK</strong> con el número de secuencia del paquete <strong>SYN</strong> recibido, más uno. El cliente  envía un paquete con el <strong>ACK</strong> del <strong>SYN</strong> recibido, y una vez hecho esto la conexión se encuentra establecida y puede darse comienzo a la transmisión de datos (iniciada por cualquiera de las partes, según el protocolo de aplicación que utilicen).</p>
<p>La razón por la cual se intercambian números de secuencia aleatorios es para evitar que se confunda el inicio de dos conexiones diferentes y algunos ataques que se basan en falsear el comienzo de una conexión (<a href="http://es.wikipedia.org/wiki/Spoofing"><em>spoofing</em></a>).</p>
<p>La siguiente figura ilustra el establecimiento de una conexión <strong>TCP</strong>, llamada «<em>negociación de tres pasos</em>» o «<em>3-way handshake</em>«:</p>
<div class="centerpic"><img decoding="async" src="https://blog.smaldone.com.ar/files/tcpip/inicio.png" alt="Inicio de una conexión TCP" /></div>
<p>Para finalizar la conexión, uno de los dos procesos envía un paquete <strong>FIN</strong>, a lo que el otro responderá con un <strong>ACK</strong>. A su vez, el otro proceso puede enviar un paquete <strong>FIN</strong> (recibiendo también un <strong>ACK</strong>) y la conexión quedará cerrada definitivamente.</p>
<p>Nótese que el segundo proceso puede no enviar el paquete <strong>FIN</strong>. Esto significa que ese extremo de la conexión no se cerrará, pudiendo aún enviar datos a través de la misma. De lo contrario, en caso de desear terminar la conexión, puede combinar el <strong>ACK</strong> y el <strong>FIN</strong> en un solo paquete (esta es la situación más común).</p>
<p>La siguiente figura ilustra la forma general de terminación de una conexión <strong>TCP</strong>:</p>
<div class="centerpic"><img decoding="async" src="https://blog.smaldone.com.ar/files/tcpip/fin.png" alt="Fin de una conexión TCP" /></div>
<h4>Análisis a nivel de transporte</h4>
<p>Habiendo revisado los conceptos más relevantes, analizaremos ahora la conexión realizada desde el punto de vista del <a href="http://es.wikipedia.org/wiki/TCP">protocolo <strong>TCP</strong></a>. Supondremos que el puerto utilizado por el cliente es <strong>4683</strong> (el del servidor, recordemos, es <strong>2222</strong>).</p>
<p>La siguiente figura muestra una visión simplificada de esta conexión:</p>
<div class="centerpic"><img decoding="async" src="https://blog.smaldone.com.ar/files/tcpip/sesion.png" alt="Sesión TCP" /></div>
<p><a href="https://blog.smaldone.com.ar/files/tcpip/sesion_big.png">(Ver imagen ampliada)</a></p>
<p>Veamos qué función cumple cada paquete:</p>
<ol>
<li>El cliente envía un <strong>SYN</strong> al servidor, con número de secuencia <em>x<sub>0</sub></em>.</li>
<li>El servidor responde con un paquete <strong>SYN</strong>, con número de secuencia <em>y<sub>0</sub></em> y un <strong>ACK</strong> con <em>x<sub>0</sub>+1</em> (en adelante, <em>x<sub>1</sub></em>).</li>
<li>El cliente envía un paquete <strong>ACK</strong> del <strong>SYN</strong> que acaba de recibir, con valor <em>y<sub>0</sub>+1</em> (en adelante, <em>y<sub>1</sub></em>). (A partir de este momento la conexión se encuentra establecida y puede comenzar el intercambio de datos entre las aplicaciones.)</li>
<li>El servidor envía un paquete <strong>PSH</strong> («<em>push</em>«) conteniendo la cadena «<strong>Bienvenido.&bsol;n</strong>» (12 bytes), con número se secuencia <em>y<sub>1</sub></em>. (El caracter «<strong>&bsol;n</strong>«, <em>newline</em>, representa el fin de línea.)</li>
<li>El cliente envía un <strong>ACK</strong> por la correcta recepción del paquete anterior. El número de <strong>ACK</strong> es <em>y<sub>1</sub>+12</em> (que llamaremos <em>y<sub>2</sub></em> y será el próximo número de secuencia utilizado por el servidor).</li>
<li>El cliente envía la cadena «<strong>salir&bsol;r&bsol;n</strong>«, con número de secuencia <em>x<sub>1</sub></em>. (Los caracteres «<strong>&bsol;r&bsol;n</strong>» representan el fin de línea. Ver nota al final de la sección.)</li>
<li>El servidor envía el <strong>ACK</strong> correspondiente, con el valor <em>x<sub>1</sub></em> más la longitud de «<strong>salir&bsol;r&bsol;n</strong>» (<em>7</em>), que llamaremos <em>x<sub>3</sub></em>.</li>
<li>El servidor envía la cadena «<strong>Adios&bsol;n</strong>» (7 bytes), con número de secuencia <em>y<sub>2</sub></em>.</li>
<li>El cliente envía el <strong>ACK</strong> con el valor <em>y<sub>2</sub>+7</em> (en adelante, <em>y<sub>3</sub></em>).</li>
<li>El servidor cierra su lado de la conexión enviando un paquete <strong>FIN</strong>, con secuencia <em>y<sub>3</sub></em>.</li>
<li>El cliente, que también cierra su conexión, envía un paquete <strong>FIN</strong> con secuencia <em>x<sub>3</sub></em>, con el <strong>ACK</strong> del paquete anterior (<em>y<sub>3</sub>+1</em>).</li>
<li>El servidor envía el <strong>ACK</strong> del anterior paquete <strong>FIN</strong> (con valor <em>x<sub>3</sub>+1</em>), con lo cual la conexión finaliza.</li>
</ol>
<p><em><strong>Nota:</strong> En este ejemplo podemos ver un error en el diseño del protocolo de aplicación, ya que el servidor representa los fines de línea con el caracter «<strong>&bsol;n</strong>» («newline», código ASCII 10), en tanto que el cliente está usando los caracteres «<strong>&bsol;r&bsol;n</strong>» («newline» y «carriage return», códigos ASCII 10 y 13, respectivamente). Esta última es la forma de representación más utilizada en aplicaciones <strong>TCP/IP</strong>.</em></p>
<h3>Nivel de red</h3>
<p>Antes de realizar el análisis a «<a href="http://es.wikipedia.org/wiki/Nivel_de_red"><em>nivel de red</em></a>» (<a href="http://es.wikipedia.org/wiki/Protocolo_de_Internet">protocolo <strong>IP</strong></a>) vamos a suponer que tenemos la siguiente topología:</p>
<div class="centerpic"><img decoding="async" src="https://blog.smaldone.com.ar/files/tcpip/red_ip.png" alt="Red IP" /></div>
<p>El cliente se ejecuta en el <em>host</em> cuya dirección IP es <strong>200.0.0.1</strong>. El mismo está conectado a la red local <strong>200.0.0.0/24</strong> y su <a href="http://es.wikipedia.org/wiki/Router"><em>gateway</em></a> («<em>router</em>«, «<em>enrutador</em>» o «<em>puerta de enlace</em>«) es el <em>host</em> <strong>200.0.0.21</strong>.</p>
<p>La dirección de red local está compuesta por la <em>dirección de red</em> propiamente dicha, <strong>200.0.0.0</strong>, y la <a href="http://es.wikipedia.org/wiki/M%C3%A1scara_de_red"><em>máscara de red</em></a>, <strong>24</strong> (que también puede ser representada como <strong>255.255.255.0</strong>). Esto significa que los primeros <strong>24</strong> bits de cualquier dirección serán interpretados como identificador de la red, en tanto que los últimos <strong>8</strong> identificarán a cada <em>host</em> (recordemos que, aunque la notación usual es escribir las direcciones IP como cuatro números decimales separados por puntos, en realidad se componen de 32 bits).</p>
<p>Por ejemplo, en el contexto de esta red, la dirección <strong>200.0.0.45</strong> será considerada una dirección local (por coincidir los primeros <strong>24</strong> bits con los de la dirección de red). Esto significa que cualquier paquete destinado a dicha dirección IP, será entregado «<em>localmente</em>» (o sea, directamente a través del <em>protocolo de enlace</em>, como veremos más adelante).</p>
<p>En el caso de una dirección de destino «no-local», los paquetes serán entregados al <em>gateway</em> <strong>200.0.0.21</strong> (usando el <em>protocolo de enlace</em>), quien será luego el encargado de entregar el paquete al <em>host</em> de destino (si este perteneciera a alguna red local a la que dicho <em>gateway</em> esté conectado), o reenviarlo a través de otro <em>gateway</em> (en caso contrario).</p>
<p>De la misma manera el servidor, cuya <strong>dirección IP</strong> es <strong>100.0.0.1</strong>, pertenece a la red <strong>100.0.0.0/24</strong>, cuyo <em>gateway</em> es <strong>100.0.0.35</strong>.</p>
<h4>Análisis a nivel de red</h4>
<p>A nivel IP no hay demasiado que agregar. Aquí se realiza el «<em>ruteo</em>» (o «<em>encaminamiento</em>«) de los paquetes provenientes de la capa de transporte (que en este nivel se denominan «<em>datagramas</em>«) desde la dirección IP de origen hasta la de destino (alternando estos roles <strong>100.0.0.1</strong> y <strong>200.0.0.1</strong> según sea el emisor el servidor o el cliente, respectivamente).</p>
<p>Un campo interesante que se añade es el <a href="http://es.wikipedia.org/wiki/Tiempo_de_Vida"><strong>TTL</strong></a> («<em>tiempo de vida</em>» o «<em>time to live</em>«), que tiene un valor inicial en el <em>host</em> que produce el paquete (generalmente <strong>64</strong>) y luego es decrementado por cada <em>gateway</em> por el que pasa. Si un <em>gateway</em> recibe un paquete con el campo <strong>TTL</strong> en <strong>cero</strong>, el mismo es descartado y se genera un paquete del protocolo <a href="http://es.wikipedia.org/wiki/Internet_Control_Message_Protocol"><strong>ICMP</strong></a> (usado para control y mensajes de error) dirigido a su emisor, indicando que dicho paquete ha excedido la cantidad máxima de saltos. Esta medida es implementada para evitar que, quizás por un error de ruteo, un paquete quede indefinidamente «dando vueltas» por la red.</p>
<p>En este ejemplo supondremos que el enrutamiento de paquetes es simple (estático), para facilitar las explicaciones. Existen casos complejos en donde se utiliza enrutamiento dinámico, en los cuales paquetes pertenecientes a la misma comunicación pueden enviarse por caminos distintos, alterando inclusive el orden en que llegan al destino (y hasta pudiendo producirse pérdidas).</p>
<p>Debemos tener en cuenta que estamos usando el llamado <a href="http://es.wikipedia.org/wiki/IPv4"><strong>IPv4</strong></a> (IP versión 4), ya que también existe el <a href="http://es.wikipedia.org/wiki/IPv6"><strong>IPv6</strong></a> (IP versión 6), cuya aplicación se está difundiendo rápidamente en Internet y que soluciona muchos inconvenientes que presenta el anterior.</p>
<h3>Nivel de enlace</h3>
<p>El «<a href="http://es.wikipedia.org/wiki/Nivel_de_enlace_de_datos"><em>nivel de enlace</em></a>» es el nivel más cercano al «<a href="http://es.wikipedia.org/wiki/Nivel_f%C3%ADsico"><em>nivel físico</em></a>» y es totalmente independiente del protocolo <strong>TCP/IP</strong>. Existen gran variedad de tecnologías de este tipo; siendo las más comunes <a href="http://es.wikipedia.org/wiki/Ethernet"><strong>Ethernet</strong></a>, <a href="http://es.wikipedia.org/wiki/Wi-Fi"><strong>WiFi</strong></a>, <a href="http://es.wikipedia.org/wiki/Point-to-Point_Protocol"><strong>PPP</strong></a>, <a href="http://es.wikipedia.org/wiki/Frame_Relay"><strong>Frame Relay</strong></a>, <a href="http://es.wikipedia.org/wiki/Asynchronous_Transfer_Mode"><strong>ATM</strong></a>, entre otras.</p>
<p>Supondremos el caso más común: una red <a href="http://es.wikipedia.org/wiki/Ethernet">Ethernet</a>. Este protocolo se basa en el uso de direcciones de 6 bytes (48 bits), que no son «<em>ruteables</em>» (aquí no existen <em>gateways</em>), por lo cual se utiliza en <a href="http://es.wikipedia.org/wiki/LAN">redes de área local</a> (<strong>LANs</strong>). Cada dispositivo <strong>Ethernet</strong> tiene asociada una dirección única (asignada por el fabricante del mismo), la que usualmente se denomina <a href="http://es.wikipedia.org/wiki/MAC_address"><strong>MAC Address</strong></a>.</p>
<h4>Resolución de direcciones</h4>
<p>Supongamos que el <em>host</em> <strong>200.0.0.1</strong> quiere enviar un paquete IP al <em>host</em> <strong>200.0.0.33</strong>. Como ambos están en la misma red local (los primeros 24 bits de sus direcciones coinciden), lo único que debe hacer es averiguar cuál es la dirección <strong>Ethernet</strong> de este último. Para ello, se utiliza el protocolo <a href="http://es.wikipedia.org/wiki/Protocolo_de_resoluci%C3%B3n_de_direcciones"><strong>ARP</strong></a> («<em>Address Resolution Protocol</em>«).</p>
<p>El funcionamiento es muy simple. El host <strong>200.0.0.1</strong> envía un paquete (en terminología de <strong>Ethernet</strong> se denomina «<em>frame</em>«) a la dirección <strong>ff:ff:ff:ff:ff:ff</strong> (las direcciones <strong>Ethernet</strong> se denotan con seis bytes en <a href="http://es.wikipedia.org/wiki/Hexadecimal">hexadecimal</a> separados por dos puntos), que es la dirección de <em>broadcast</em> (que llega a todos los <em>hosts</em> de la red) preguntando quién tiene la dirección IP <strong>200.0.0.33</strong>. Dicha solicitud <strong>ARP</strong> tiene como origen la dirección <strong>Ethernet</strong> del emisor (supongamos, <strong>00:30:b8:80:dd:11</strong>). </p>
<p>El poseedor de esa dirección IP le responderá con otro <em>frame</em> con su dirección <strong>Ethernet</strong> como origen (supongamos, <strong>01:4e:bb:a1:01:8b</strong>). De ahora en más, cada vez que el <em>host</em> <strong>200.0.0.1</strong> quiera enviar un paquete IP al <em>host</em> <strong>200.0.0.33</strong>, enviará un <em>frame</em> <strong>Ethernet</strong> proveniente de la dirección <strong>00:30:b8:80:dd:11</strong> a la dirección  <strong>01:4e:bb:a1:01:8b</strong>, conteniendo el paquete original. (La información sobre las direcciones <strong>ARP</strong> se almacenan en cada <em>host</em> en una tabla que tiene una duración de algunos minutos.)</p>
<h4>Fragmentación</h4>
<p>Puede ocurrir que el tamaño de los paquetes producidos por la capa de red (<strong>IP</strong>, en nuestro caso) sean de un tamaño mayor al máximo que puede transmitir el medio físico utilizado (<a href="http://es.wikipedia.org/wiki/MTU"><strong>MTU</strong></a> o «<em>unidad máxima de transferencia</em>«. Por esto, puede ocurrir que los paquetes se <em>fragmenten</em>, para acomodarse a esta limitación.</p>
<p>Esta situación puede volver a presentarse a lo largo del camino «físico» que recorra la información, siendo responsabilidad de cada <em>gateway</em> el fragmentar y reensamblar los paquetes para preservar los datos.</p>
<h4>Análisis a nivel de enlace</h4>
<p>Volviendo ahora a nuestro experimento, el <em>host</em> donde se ejecuta la aplicación cliente (<strong>200.0.0.1</strong>) debe enviar paquetes IP al <em>host</em> en donde se ejecuta el servidor (<strong>100.0.0.1</strong>). Claramente, éste último no pertenece a su red local, por lo cual deberá enviarlo a través del <em>gateway</em>.</p>
<p>Para ello, usando el protocolo <strong>ARP</strong> averigua la dirección <strong>Ethernet</strong> del <em>gateway</em> (cuya dirección IP, recordemos, es <strong>200.0.0.21</strong>), que supondremos es <strong>00:01:02:ed:41:61</strong>. Una vez hecho esto, envía un frame <strong>Ethernet</strong> (con origen<br />
<strong>00:30:b8:80:dd:11</strong> y destino <strong>00:01:02:ed:41:61</strong>), conteniendo el paquete IP cuyo origen es <strong>200.0.0.1</strong> y con destino a <strong>100.0.0.1</strong>.</p>
<p>El <em>gateway</em> recibirá el <em>frame</em> (puesto que la dirección <strong>Ethernet</strong> de destino es la suya) y dentro de él encontrará un paquete IP dirigido a <strong>100.0.0.1</strong>. Decrementará el campo <strong>TTL</strong> y, en base a las reglas definidas en su «<em>tabla de <a href="http://es.wikipedia.org/wiki/Enrutamiento">enrutamiento</a></em>» (o «<em>tabla de ruteo</em>«), lo reenviará hacia el <em>gateway</em> correspondiente (usando el protocolo asociado al medio físico mediante el cual esté conectado con éste).</p>
<p>Una situación similar se presenta considerando los paquetes emitidos por el <em>host</em> <strong>100.0.0.1</strong> hacia <strong>200.0.0.1</strong>.</p>
<p>De esta manera, el mismo paquete IP va atravesando distintos <em>gateways</em> a través de distintos medios físicos (que involucran diferentes protocolos de enlace), hasta llegar al <em>host</em> de destino. Por ejemplo, el paquete original puede llegar al primer <em>gateway</em> a través de un <em>frame</em> <strong>Ethernet</strong>, ser enviado por este al <em>gateway</em> del proveedor de Internet a través de un paquete <strong>PPP</strong>, atravesar una red <strong>ATM</strong> en Internet, luego llegar por un enlace <strong>Frame Relay</strong> al <em>gateway</em> de la red de destino, y ser entregado en otro <em>frame</em> <strong>Ethernet</strong> al <em>host</em> de destino.</p>
<h3>El camino de la información a través de las distintos niveles</h3>
<p>La siguiente figura ilustra un ejemplo del camino que sigue la información desde la aplicación que la produce, a través de los distintos niveles o capas de cada protocolo.</p>
<div class="centerpic"><img decoding="async" src="https://blog.smaldone.com.ar/files/tcpip/pila.png" alt="Las distintas capas" /></div>
<p><a href="https://blog.smaldone.com.ar/files/tcpip/pila_big.png">(Ver imagen ampliada)</a></p>
<p><em><strong>Nota:</strong> Este ejemplo es una simplificación de la realidad. Se han omitido muchos otros datos que forman parte de cada protocolo (controles de error, delimitadores, indicadores de longitud, etc.), que no son relevantes en el contexto de este tutorial.</em></p>
<ol>
<li><strong>Nivel de aplicación</strong>: La aplicación (en este caso, el programa cliente), escribe la cadena «<strong>salir&bsol;n</strong>«.</li>
<li><strong>Nivel de transporte</strong>: En la capa <strong>TCP</strong> forma un paquete agregando el número de secuencia (<strong>20</strong>), puerto de origen (<strong>4781</strong>) y puerto de destino (<strong>2222</strong>).</li>
<li><strong>Nivel de red</strong>: En la capa <strong>IP</strong> se forma un paquete (<em>datagrama</em>) añadiendo la dirección IP origen (<strong>200.0.0.1</strong>), destino (<strong>100.0.0.1</strong>), el <strong>TTL</strong> (<strong>64</strong>) y un valor que identifica el protocolo del paquete encapsulado (<strong>0x06</strong>, valor hexadecimal que representa al protocolo <strong>TCP</strong>).</li>
<li><strong>Nivel de enlace</strong>: En la capa <strong>Ethernet</strong> se forma un nuevo paquete (<em>frame</em>) agregando las direcciones <strong>Ethernet</strong> de origen (<strong>00:30:b8:80:dd:11</strong>) y destino (<strong>00:01:02:ed:41:61</strong>, la dirección del gateway, cuya IP es <strong>200.0.0.21</strong>). Se añade además el identificador del tipo de protocolo del paquete contenido (el valor <strong>0x800</strong> corresponde al protocolo <strong>IP</strong>).</li>
<li><strong>Nivel físico</strong>: El <em>frame</em> formado es enviado a través del medio físico que vincula los <em>hosts</em> de la red local (típicamente, <a href="http://es.wikipedia.org/wiki/Cable_de_par_trenzado">cable de par trenzado</a>).</li>
</ol>
<p>Como puede apreciarse, tanto el protocolo <strong>IP</strong> como <strong>Ethernet</strong> «<em>encapsulan</em>» a otros protocolos. Esto permite realizar distintas combinaciones, creando «<em>túneles</em>» (como en el caso del ampliamente difundido y utilizado <a href="http://es.wikipedia.org/wiki/PPPoE"><strong>PPPoE</strong></a>).</p>
<h3>Software, modelo conceptual y hardware</h3>
<p>El siguiente diagrama muestra la relación entre cada uno de los componentes lógicos analizados, su implementación y la división entre <em>hardware</em> y <em>software</em>.</p>
<div class="centerpic"><img decoding="async" src="https://blog.smaldone.com.ar/files/tcpip/capas.png" alt="Relación entre los componentes" /></div>
<h3>Para finalizar</h3>
<p>En este tutorial hemos recorrido cada uno de los principales componentes del protocolo <strong>TCP/IP</strong> y analizado su función a través de un ejemplo concreto (aunque simple).</p>
<p>Deliberadamente, hemos omitido algunos puntos importantes, como el sistema <a href="http://es.wikipedia.org/wiki/Domain_Name_System">DNS</a> (que posibilita la utilización de nombres en vez de direcciones IP), la asignación automática de direcciones IP (a través del protocolo <a href="http://es.wikipedia.org/wiki/DHCP">DHCP</a>), y algunos detalles sobre <a href="http://es.wikipedia.org/wiki/Protocolo_de_Internet#Direccionamiento_IP_y_enrutamiento">direccionamiento y enrutamiento</a> IP. (Quizás algunos de ellos sean motivo de próximos tutoriales.)</p>
<p>Es el deseo del autor que a través de la lectura del presente tutorial se haya podido lograr un panorama general acerca del funcionamiento de las redes <strong>TCP/IP</strong>, posibilitando al lector su avance hacia temas (y, por qué no, experimentos) más complejos e interesantes.</p>
<p>Las críticas, sugerencias y comentarios son bienvenidos y agradecidos.</p>
<p><em>(Recuerde que puede <a href="https://blog.smaldone.com.ar/files/tcpip/tutorial_tcpip.tgz">descargar este tutorial en otros formatos</a>  (HTML sin decoraciones y PDF).)</em></p>
<p><em><strong>Actualización del 5 de diciembre de 2006</strong>: He publicado un artículo sobre <a href="https://blog.smaldone.com.ar/2006/12/05/como-funciona-el-dns/">el funcionamiento del <strong>DNS</strong></a>, uno de los temas no cubiertos por el presente tutorial.</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smaldone.com.ar/2006/11/21/tutorial-sobre-tcpip/feed/</wfw:commentRss>
			<slash:comments>61</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">69</post-id>	</item>
		<item>
		<title>TCP/IP es simple</title>
		<link>https://blog.smaldone.com.ar/2006/11/02/tcpip-es-simple/</link>
					<comments>https://blog.smaldone.com.ar/2006/11/02/tcpip-es-simple/#comments</comments>
		
		<dc:creator><![CDATA[Javier]]></dc:creator>
		<pubDate>Thu, 02 Nov 2006 13:04:19 +0000</pubDate>
				<category><![CDATA[Educación]]></category>
		<category><![CDATA[Redes]]></category>
		<guid isPermaLink="false">http://blog.smaldone.com.ar/2006/11/02/tcpip-es-simple/</guid>

					<description><![CDATA[Parece increible, pero la realidad nos muestra que muchos informáticos desconocen totalmente los principios del funcionamiento de Internet y las redes IP en general (aún muchos que trabajan en áreas relacionadas). En muchos casos, no ayudan ni el pésimo nivel de muchas materias universitarias (algunos analistas son formados sin siquiera una introducción a las redes), &#8230; <a href="https://blog.smaldone.com.ar/2006/11/02/tcpip-es-simple/" class="more-link">Sigue leyendo <span class="screen-reader-text">TCP/IP es simple</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Parece increible, pero la realidad nos muestra que muchos informáticos desconocen totalmente los principios del funcionamiento de Internet y las redes IP en general (aún muchos que trabajan en áreas relacionadas).</p>
<p>En muchos casos, no ayudan ni el pésimo nivel de muchas materias universitarias (algunos analistas son formados sin siquiera una introducción a las redes), ni el afán de ocultar la realidad de muchos libros de texto. No me ocuparé del primer caso (al menos por ahora), pero sí quiero hacer hincapié en el segundo.</p>
<p><span id="more-57"></span></p>
<p>Muchos textos nos presentan algunas definiciones, en términos demasiado amplios y poco técnicos, para luego guiarnos por distintas configuraciones (típicamente usando ejemplos sobre la plataforma <strong>Windows</strong>, plagados de capturas de pantallas y cuadros de diálogo). Parecen querer esquivar, a toda costa, los detalles «<em>duros</em>» detrás de todo esto: el conjunto de protocolos <strong>TCP/IP</strong>. Apenas se detienen en lo indispensable:  direccionamiento <strong>IP</strong> y algo (lo menos posible) sobre enrutamiento de paquetes (o ruteo).</p>
<p>Así es que luego aparecen informáticos que creen que un «<em>puerto</em>» abierto es algo peligroso y poco recomendable, que son incapaces de detectar la causa del menor problema en la red («<em>se cayó la red</em>«, es todo lo que pueden decir) y gente que habla de «<em>puertas de enlace</em>» y «<em>conectividad limitada o nula</em>» sin tener la menor sospecha de qué significan estas cosas.</p>
<p>Es notable el caso de la bibliografía producida por empresas como <strong>Microsoft</strong> y <strong>Cisco</strong> que, con la promesa de introducir al lector al campo de las redes informáticas, lo único que hacen es tratar de «<em>capturarlo</em>» en el mundo de sus productos. Esto se logra, por ejemplo, redefiniendo todas las palabras que les sea posible a su terminología propia, impidiendo al desafortunado lector el poder relacionar los conocimientos adquiridos con otros textos. De esta forma se forman «<em>especialistas</em>» que desconocen los fundamentos y las cuestiones más generales.</p>
<p>Más allá del por qué de este enfoque poco útil (aunque tan usual), lo importante es destacar que el protocolo <strong>TCP/IP</strong> es <em>extremadamente simple</em>.</p>
<p><strong>TCP/IP</strong> fue diseñado a principios de la década de los &#8217;70 con el objetivo de interconectar redes de gran tamaño. Si nos detenemos a pensar en las capacidades de las computadoras de la época, sumando el hecho de que no podía desperdiciarse equipamiento en las funciones de la red, resulta claro que el protocolo a diseñar debía ser <em>simple</em> y no requerir de gran poder de cómputo para su implementación.</p>
<p>La simpleza de <strong>TCP/IP</strong> ha sido la clave del éxito de <strong>Internet</strong> y es la razón por la cual ésta está dejando obsoleta a otras redes <em>complejas</em> como el sistema de telefonía. (Un excelente artículo, «<a href="http://www.hyperorg.com/misc/stupidnet.html">The rise of the stupid network</a>«, analiza esto de forma muy clara.)</p>
<p>Desde un punto de vista «<em>no técnico</em>» la simpleza de Internet está claramente explicada en el artículo «<a href="http://www.worldofends.com/">World of Ends</a>» (traducido al castellano como «<a href="http://www.smaldone.com.ar/documentos/docs/mundodeextremos.html">Mundo de Extremos</a>«).</p>
<p>Para aquellos con una base de conocimientos técnicos, he aquí una serie de sugerencias:</p>
<ul>
<li>En <strong>Wikipedia</strong> hay una página dedicada a los <a href="http://es.wikipedia.org/wiki/Familia_de_protocolos_de_Internet">protocolos de Internet</a> con abundante información sobre cada uno de ellos y con enlaces muy recomendables.</li>
<li>El mejor libro que he leído sobre <strong>TCP/IP</strong> es «<a href="http://www.kohala.com/start/tcpipiv1.html">TCP/IP Illustrated Volume 1</a>» de W. Richard Stevens.</li>
<li>Existen herramientas muy útiles, como <a href="http://www.wireshark.org/">WireShark</a> (antes llamado <em>Ethereal</em>), que permiten capturar tráfico de la red y analizarlo. Así es posible «<em>ver</em>» cómo funcionan los protocolos. Un experimento muy simple, por ejemplo, es capturar el tráfico mientras uno abre una página web en su navegador.</li>
<li>Ejercitar el pensamiento crítico. Buscar, indagar y experimentar acerca del funcionamiento de las redes.</li>
<li>Para profundizar tanto como se desee, no es necesario comprar ningún libro. Toda la documentación de los protocolos de Internet y su evolución está disponible a través de los «<a href="http://www.rfc-editor.org/rfc.html">Request For Comments</a>«, o <strong>RFC</strong> (gran cantidad de ellos <a href="http://www.rfc-es.org/">traducidos al castellano</a>).</li>
</ul>
<p>Es penoso ver a programadores que no saben en dónde ni cómo se ejecutan sus aplicaciones. Por más que posean una herramienta de desarrollo que, con hacer un clic, les genere un sistema cliente/servidor muy complejo; sin comprender lo que hay «<em>detrás</em>» jamás serán capaces de descubrir el origen de ciertos errores («<em>en mi PC corria bien, pero cuando lo subo al servidor no anda</em>«).</p>
<p>También es triste ver a informáticos recomendando la compra de dispositivos de red (switches, routers, etc.) para solucionar problemas que podrían resolverse con un direccionamiento IP apropiado.</p>
<p>Lo más lamentable de esto es que la solución es muy simple, y está al alcance de cualquiera. Realmente&#8230; ¿quién no quiere comprender <strong>cómo funciona Internet</strong>?</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smaldone.com.ar/2006/11/02/tcpip-es-simple/feed/</wfw:commentRss>
			<slash:comments>12</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">57</post-id>	</item>
	</channel>
</rss>
