miércoles, 31 de diciembre de 2014

Para los que comprais online en Amazon...

Si vais a realizar alguna compra en Amazon en estas fechas de regalos, no olvideis que podeis darme una comision si usais mi enlace de afiliado. Solo teneis que entrar en este enlace: http://acerswap-recovery.blogspot.com.es/p/si-te-ha-gustado-mi-trabajo-quizas.html y presionar sobre el banner de Amazon (si teneis algun bloqueador de publicidad no os aparecerá, desactivadlo un momento). Hecho eso, por cada compra que realiceis (es anonimo, no se que habeis comprado) me daran una comision al haber sido yo quien os ha recomendado la tienda. Vosotros no pagais mas y Amazon me da un dinerito extra (que apenas seran unos centimos que me darán para una aplicacion para movil o una canción, pero se agradece).

Un saludo y feliz salida y entrada de año.

Proyecto Redes: Parte II

Hoy voy a mostrar lo que explique ayer de forma teorica en una forma mas gráfica. Para ello he combinado varios elementos para diseñar una Internet pequeñita. Lo primero, veamos el diseño:


Vamos a usar ese diseño a lo largo de todo el tutorial, podeis ir familiarizandoos con el. Existen cosas que aun no voy a explicar, pero las he ido poniendo igual.

Veamos que es lo que tiene. Por un lado tenemos la "nube", con un diseño de malla. Un monton de routers conectados entre si y a distintos servidores. Desconocemos como estan conectados, solo sabemos que existen esos servidores. A esa nube he conectado dos redes locales con diseño de estrella, una que sera la "mia" (donde he puesto el simbolo de una persona junto a un ordenador) y otra de mi "amigo 2". Tambien he puesto a un "amigo 1" que esta conectado a la nube a traves de un telefono movil.

Veremos que existen dispositivos conectados a mas de una red, en particular los routers que unen las redes locales a la nube. Cada equipo tiene una IP (al menos) por cada red a la que pertenece, y cada equipo de una red no tiene por que conocer lo que hay pasado un router. Dicho de otra manera, para cualquier equipo de la nube todos los equipos de "mi" red local son un unico equipo con una unica IP. En la red local de mi Amigo 2 un equipo puede tener la misma IP local que un equipo de mi red local.

Para terminar con el diseño, mi Amigo 1 tiene una conexion directa a la nube con una unica IP desde su smartphone. Anteriormente, la gente se conectaba directamente con un "modem" desde su equipo a la linea telefonica. Ahora el router que nos facilita nuestro proveedor de Internet incorpora el modem (o similar). Por eso se denominan en realidad "modem-router", aunque se use principalmente la denominacion "router".

Sigamos con la comunicacion. Supongamos que quiero acceder al servidor marcado como "Tienda online". Para ello mi equpo manda varios paquetes con una solicitud. ¿A donde los manda? A su puerta de enlace, que es el router, y el router a la nube. Y una vez que esta en la nube, cada paquete puede ir por un camino dependiendo de la velocidad de cada enlace o de su saturacion. No todos los paquetes tienen que seguir el mismo camino, pueden ser tan simples como el trazado en verde o tan complejos como el que he trazado en color azul. En cualquier caso, todos los paquetes se reuniran en el destino para reconstruir esa solicitud, y un mensaje de "recibido correctamente" llegara a cada router intermedio por el que haya pasado.



La respuesta de la Tienda online llegara de nuevo a mi router por un camino cualquiera, y mi router al ver que es una respuesta a mi solicitud la reenviara a mi equipo (en cuantos paquetes sea necesario). A que existan varios caminos se le denomina "redundancia". Eso si, si se cortase un camino para el que no hay alternativa (por ejemplo, el que sale directamente de la Tienda online), no seria posible acceder.

Con este segundo post queda completamente explicado lo que introduje en el anterior. Las dudas las planteais en los comentarios, para que puedan verlas los demas.

martes, 30 de diciembre de 2014

Proyecto Redes: Parte I

Comienzo con una definicion directa de lo que es una red informatica: es la union de dos o mas ordenadores para intercambiar informacion, directa o mediante dispositivos intermedios.

La idea basica es hacer que un equipo A pueda enviar datos a un equipo B. Para ello se establece un cableado (o por ondas de radio) de alguna de las siguientes formas, aunque solo voy a comentar el de "Estrella" y el de "Malla" (imagen vilmente hotlinkeada de la Wikipedia):

Topología de red.png


Casi todos podreis reconocer la topologia de Estrella en vuestras casas, con todos los dispositivos conectados a un router que os ha facilitado la compañia que os provee Internet (ISP, Internet service provider). Tecnicamente, actua como "switch" (tambien llamado "conmutador", aunque menos habitualmente).

Cada equipo necesita identificarse de alguna forma en una red, y para eso se usa la llamada IP, que equivaldria a un numero de telefono. En el estandar IPv4, que es el que encontrareis habitualmente, esta formada por cuatro bloques de numeros del 0 al 255 separados por puntos. Así, por ejemplo, la IP 192.168.1.100 sería una IP válida. Esta IP se combina con lo que se denomina Mascara de red, que sirve para acotar redes mas pequeñas y no voy a explicar.

Entonces, si un equipo quiere mandar un mensaje con informacion a un equipo distinto crea un "paquete" (en la jerga tecnica se llama asi) en el que indica entre otras cosas su IP, la IP del otro equipo y sus respectivos puertos (eso si lo explico, pero otro dia) y dentro de ese paquete introduce el mensaje que quiere enviar.

Ahora bien, ¿quien establece esa IP? Pues la establece el que diseña la red, que puede ser el usuario o algun otro dispositivo de la red.

Esto esta muy interesante, pero nos limita a una red pequeña, en un domicilio o una empresa, lo que se llama red local. La pregunta clave es ¿sería posible conectar una red con otra? La respuesta es sencilla: ¡si!

¿Os suena que se denomina a Internet la "red de redes"? Pues a esto se refieren. Para conectar una red con otra uno de los dispositivos actua como "puerta de enlace" o "gateway". Ese dispositivo generalmente es un aparato llamado "router" (o "encaminador", menos utilizado). Su funcion es diferenciar el trafico de datos que se tiene que quedar dentro de la propia red y el que tiene que salir hacia otras redes.

Para diferenciarlo, existen unas direcciones IP restringidas para redes locales, que son las que comienzan por 10.x.x.x o 192.168.x.x (hay alguna mas, pero estas son las habituales). Si un paquete tiene como origen y destino una IP que está dentro de esas redes locales, el router lo bloquea. Si no, lo procesa cambiando una serie de datos y lo deja pasar. Los routers tienen dos IPs, una para la red local (que la pone el propietario de la red local) y otra para la red externa, que la pone el ISP.

Entre routers se establece una conexion mas compleja. Principalmente se usa un diseño de Malla, para reducir la saturacion en ciertos puntos de la red mediante la redundancia y para solucionar problemas de no disponibilidad. El diseño es tremendamente complejo, asi que se suele representar como una "nube".

Vamos a dejarlo aqui, que me lanzo y cuento todo el "temario" en un solo post. Nos vemos en la siguiente parte, y si teneis alguna duda me la comentais en este post (a ser posible comentarios con nombre, que Anonimo queda muy feo).



Reconocimientos: «Topología de red» por Original uploader was Yearofthedragon at es.wikipedia - Originally from es.wikipedia; description page is/was here.. Disponible bajo la licencia CC BY-SA 3.0 vía Wikimedia Commons.

lunes, 29 de diciembre de 2014

Proyecto redes: planteamiento

Por fin voy a ponerme con el proyecto de explicar las redes de manera comprensible y breve (al que llevo dandole vueltas en la cabeza desde 2010). En el, pretendo explicar los conceptos basicos del funcionamiento de las redes de comunicacion, Internet y todo aquello que hace posible que entremos en una pagina web o compartamos archivos. Tened en cuenta lo siguiente: muchas de las cosas que explique no seran 100% correctas, ya sea porque prefiero que sean comprensibles y entendais el concepto, ya sea porque no soy un especialista en la materia. Como no tengo experiencia en esto, voy a hacer un listado de cosas que quiero explicar y ya vere como lo hago.
- Topologias de red, modems, routers.
- Redes de redes, gateways.
- Diseño de malla y redundancia.
- Concepto de paquete, IP y puerto. Redirección NAT.
- DNS. Bloqueos y como se eluden, proxys, VPN.

Esta vez no tengo prevision de tiempo. Dudo tambien si sacar tutoriales (algo tedioso si tengo que hacerlo con Windows, Linux, OSX, Internet Explorer, Firefox, Chrome, Opera y Safari, y mas teniendo en cuenta que no soy usuario asiduo de muchos de estos sistemas operativos y prograamas) o dejar que cada cual experimente (algo que la gran mayoria no hareis).

Una vez definidos los detalles del proyecto ya no hay marcha atras y no me queda mas que ponerme en marcha.

Deseadme suerte.

domingo, 28 de diciembre de 2014

¿Que datos le mandamos a un tracker de Torrents?

Hace poco en varios trackers aparecio un mensaje recordando a los usuarios que los torrents no son tan anonimos como se creen. En realidad el P2P no es ni ha sido seguro en cuanto a la privacidad. Ahora bien, ¿que informacion queda realmente?

El tracker almacena una serie de datos (pongo los nombres en ingles porque asi los encontrareis en todas partes):
-info_hash: si me leeis habitualmente os sonara la palabra hash. Es una serie alfanumerica generada a partir de los datos de los archivos y que identifica al torrent. Son 20 bytes, lo que son muchisimas combinaciones, en decimal son 115.292.150.000.000.000, redondeando.
-ip: este es el identificador del equipo en Internet. En el protocolo bittorrent hace falta pedir a la otra persona que te envie su archivo. Pues el tracker se guarda la IP para informar a los demas de que estas compartiendo.
-port: el puerto. Sin un puerto valido, la IP no sirve para nada.
-peer_id: el programa al comenzar una nueva descarga se autoasigna un identificador de manera aleatoria. Su finalidad no me queda muy clara, mas alla de reconocer cuanto tiempo lleva compartiendo el mismo usuario.
-uploaded: la cantidad de informacion que se ha enviado a otros usuarios.
-downloaded: la cantidad de informacion descargada.
-left: lo que le queda por recibir. En principio deberia ser el tamaño del torrent menos la cantidad descargada, pero como la informacion descargada puede estar corrupta o no haberse bajado por completo algunos bloques, es un valor igual o mayor.
-update-time: la fecha y hora en que se actualizó esta información.
-expire-time: la fecha y hora en que esta información deja de tener validez, ya que queda obsoleta.

Estos datos son los que almacena un TRACKER (el sistema que se encarga de enviar la informacion entre clientes torrent) como podria ser istole.it o publicbt.com, no los que almacena un PORTAL (que es quien proporciona los archivos .torrent, el que guarda el ratio, los foros, etc...).

Los usuarios comparten alguna informacion mas, tal como la version del programa que utilizan, las partes en particular que tienen del archivo y poco mas.

En cualquier caso, en todas las comunicaciones por Internet aparece, como en las cartas, una IP y puerto de un remitente y una IP y puerto del destinatario. Siempre se puede meter un equipo intermedio, pero al final tu IP aparece por algun lado.

Un saludo y felices fiestas.

PD. Olvidaba dar credito a quien lo merece.
En http://www.bittorrent.org/beps/bep_0003.html está la especificacion sobre el protocolo escrita por el desarrollador original y en http://jonas.nitro.dk/bittorrent/bittorrent-rfc.html teneis el RFC sobre el protocolo. La informacion sobre la base de datos la he sacado de la propia base de datos del tracker que tengo montado en Altervista, basado en el software OpenTracker.

miércoles, 24 de diciembre de 2014

Fin del seeding de Love myself or you

Ultimamente he comprobado que el rendimiento de mi Raspberry Pi se ha visto mermado, y muy posiblemente se deba a la caida de los trackers publicos que soportan los torrents de Love myself or you. Esto esta generando una sobrecarga en el dispositivo, lo que impide que pueda usarla para mis propias descargas aparte del seeding de Love myself or you.

Por tanto, y muy a mi pesar, voy a dejar de ser un seed permanente de la serie. Si bien me gustaria mantenerme como tal durante mas tiempo, me temo que no es posible. Despues de casi dos meses, ya deberia haber seeds suficientes que puedan suplirme.

En cualquier caso, si en algun momento algun archivo necesita fuentes podeis pedirme que de forma temporal me ponga a seedear con solo dejarme un mensaje. En un maximo de 24 horas empezare a seedear.

Un saludo a todos, mis disculpas a los que esten descargando la serie y muy felices fiestas a todos.

sábado, 6 de diciembre de 2014

Problemas al seedear Love myself or you (resuelto)

Hara casi dos semanas, tuve un problema con la tarjeta SD de la Raspberry pi que uso para seedear Love myself or you. No arrancaba, así que tuve que borrarla y cargar un backup que tenia, de febrero. Lo malo es que este backup no tenia debidamente optimizado el rTorrent (ni tampoco tiene instalado JDownloader o aMule) y por lo visto se satura al alcanzar cierto numero de archivos (seguramente el hecho de que mi disco esté ocupado al 98% tambien tiene que ver).

Con el rTorrent inutilizado, estuve realizando pruebas hasta que ayer decidi rendirme y probar a instalar Transmission, pero este satura mi conexion y la interfaz no cumple mis necesidades, asi que he probado Deluge y aunque no me va tan "de lujo" como rTorrent, si me da mas opciones.

Pronto tendre una nueva tarjeta SD con la que experimentar y un disco duro nuevo, asi que no tardaré en volver a estar a plena potencia, pero al menos ya estoy seedeando de nuevo.

Un saludo y perdonad por las molestias.