Jun 13

Diferenciar TCP y UDP

diferentes protocolos Leyendo el otro día una pregunta sobre comunicaciones en un foro, vi que después de haberle respondido sobre como establecer un enlace TCP, la persona que tenia la duda, pregunto:  ¿Entonces si conecto dos cables ya tendré establecida la comunicación?.

 Mucha de la gente que se aproxima a las comunicaciones entre ordenadores y se les habla de una serie de siglas como RJ45, TCP/IP, UDP, POP3, etc. se les forma un pequeño batiburillo mental, en el cual confunden conceptos básicos. Es por ello, que aunque iba a intentar hablar de dos conceptos que son el TCP y el UDP, voy a intentar explicar antes a que zona de la comunicación pertenecen para que nadie se pierda en el camino.conexiones cableadas

 Simplificando mucho, una comunicación la comprenden una parte física, como cables, conectores, redes (cableadas, ópticas, inalámbricas, etc.). Otra parte lógica, como los programas de comunicaciones y utilidades diversas y una parte que podríamos llamarla normativa o protocolaria en cuanto a la comunicación (no confundir con los protocolos físicos de cableados y similares).

 Cuando hablamos de la parte normativa, nos referimos a un acuerdo por las dos partes de una comunicación, es decir, cómo se van a entender. Contestan a preguntas como:

 -¿Podrán hablar las dos partes o solo hablara uno?.

 -¿Se confirmara por el receptor cada mensaje que llegue?

 -¿Qué tamaño máximo tendrá cada mensaje?

 -¿Cómo se informara de la cantidad de datos del mensaje?

 -¿Se podrán volver a pedir los mensajes que no lleguen?

 -¿Cómo sabremos que los datos enviados son los mismos que los recibidos?

 -Si hay varios comunicándose al mismo tiempo ¿Cómo sabré de quien es cada mensaje?.

comunicacion TCP Es en esta parte “normativa” en la que tenemos que centrarnos al diferenciar los protocolos TCP y UDP. En el primero se da prioridad a la fiabilidad de los datos frente a la velocidad de comunicación, en el caso del UDP, es al contrario. No importa que se pierda algún dato, pero es importante que lleguen la mayor cantidad de datos posibles.

 Para que lo entendamos, el TCP es necesario para cualquier transferencia de datos que deba ser correcta, como nuestro nombre, números de cuenta, firmas digitales, etc. En cambio el UDP es interesante para transferir por ejemplo imágenes de la televisión, de una película o en definitiva elementos de streaming que no son excesivamente críticos si se pierde algún dato, pero que es importante que mantenga la constancia y velocidad en los datos suministrados.TCP y UDP

 Es por ello que se dice que el protocolo TCP esta orientado a conexión, puesto que las dos maquinas conversan y se ponen de acuerdo mediante un canal establecido para la comunicación entre ellas, de forma que nada se pierda ni se altere, mientras que el protocolo UDP, no establece previamente la comunicación con la maquina de destino ni la maquina origen espera contestación por los datos enviados a la maquina destino, por tanto en este caso se habla de una comunicación unidireccional.

 

Jun 05

RS232 y Handshaking – (III)

 El handshaking o “apretón de manos” es una técnica usada para que una comunicación se establezca de forma correcta, o lo que es lo mismo, para que los datos puedan ser transmitidos correctamente ambos extremos de una comunicación, deben estar sincronizados en cuanto a: 

 – Velocidad de los datos.

 – Cantidad de información soportada

 – Solución de los problemas por bloqueo de alguna de las partes.

 Es en estos casos cuando el handshaking es útil. Las formas más comunes de handshaking con RS-232, son el handshaking por software y el handshaking por hardware.RS232 Handshaking hardware

*** Handshaking Hardware ***

 El Handshaking Hardware se realiza utilizando las lineas auxiliares de los cables de hardware para el control de la comunicación.

 – Igual que las líneas Tx y Rx, las líneas RTS/CTS y DTR/DSR funcionan conjuntas y de forma cruzada.

El primer par es RTS (Request to Send) y CTS (Clear to Send).

 – Cuando el receptor está listo para recibir datos, activa RTS; este valor será leído por el que transmite, en su CTS indicando que está libre para enviar datos.

El siguiente par es DTR ( Data Terminal Ready) y DSR (Data Set Ready).

 – Se utilizan sobre todo para comunicaciones por módem, indican los estados del puerto serie y del módem.

 – Si el módem se encuentra preparado para que el PC envíe datos, activa DTR para indicar que ha realizado una conexión telefónica. El valor será leído por el DSR del PC y este comienza a enviar datos.

DTR/DSR se suelen usar para indicar que el sistema está listo para comunicarse.

RTS/CTS se suelen usar para paquetes individuales de datos.Utiliza bytes de datos como caracteres de control para el control de la comunicación.

*** Handshaking Software ***RS232 - Handshaking software

 El sistema mas común de handshaking por software, es utilizar los caracteres XON y XOFF enviados por el receptor para pausar al transmisor durante la comunicación.

 – Los cables necesarios para la comunicación siguen siendo TxD, RxD, y GND, ya que los caracteres de control se envían a través de los cables como si fueran datos.

 – Si el transmisor comienza a enviar datos a alta velocidad y el receptor se da cuenta que su búffer de entrada,se está llenando, debido a que la CPU está ocupado en otras tareas, el receptor envía XOFF (19 dec. o 13 hex.) hasta que el búffer este vacío. Una vez que listo, el receptor envía XON (17 dec. o 11 hex.) para continuar.

 Los inconvenientes de este método son que los números 17 dec. y 19 dec. no pueden usarse en la comunicación y aunque estos valores no representen carácter ninguno, si la transmisión de datos es binaria, puede que estos valores sean transmitidos como datos y falle la comunicación.

Ver tambien:

Longitudes de los cables (y II)

Una de cables

Conexionado RS232 – (I)

RS232, DTE, DCE y cruce de cables – (II)

May 31

RS232, DTE, DCE y cruce de cables – (II)

Pines del RS232 Las tres conexiones principales de un cable RS232, son: TxD => Transmisión de Datos. RxD => Recepción de datos y GND (Ground) => Cable común para la transmisión y recepción de datos. Esto, lo describí en una entrada antigua, pero quizás haya que matizar un poco más.

 En primer lugar, cuando se establece una comunicación, solo debe existir un cruce de hilos entre equipos finales de transmisión de datos, es decir, solo deben cruzarse una vez los cables para que la transmisión de datos de un equipo vaya a la recepción del otro y viceversa. Hay que tener esto muy presente cuando usemos adaptadores y conversores en los cables

DTE - DCE En segundo lugar, los equipos que van a comunicarse pueden ser de dos tipos: DTE (Equipo terminal de Datos) y DCE (Equipo de comunicación de datos). Del primer tipo (DTE) podría ser un PC cualquiera y del segundo tipo (DCE), podría ser por ejemplo un módem telefónico o un conversor de RS232 a RS485. Esto significa que entre el equipo DTE y el DCE más próximo, no deberemos invertir los cables. Pongamos un ejemplo para verlo mas claro:

conversor RS232 a Fibra optica En dos casas diferentes tenemos dos ordenadores conectados por RS232 a un módem telefónico cada uno de ellos y estos módems se están comunicando por la línea telefónica. El cruce de los datos, lo esta haciendo la propia compañía telefónica al enviar al auricular de un módem, lo que esta enviando el micrófono del otro módem. Por lo tanto, las conexiones entre los módems y los PCs, no debe ir cruzada, pues entre los dos PCs ya existe un cruzamiento de los cables.

null modem RS232 Existe otra opción. Supongamos que ambos módems nos dijeran que están configurados como DTE. En ese caso, habría que cruzar los cables desde los PCs a los módems, de forma que de extremo a extremo, tendríamos tres cruzamientos de cables. Si nos fijamos, podremos simplificar esta imagen pensando que cada par de cruces de cables se anulan uno al otro y finalmente solo queda un cruce de cables en toda la línea.

 Si usamos un par de conversores de RS232 a RS485 o RS422 para poder usar distancias de más de 15 metros, deberemos usar la misma filosofía. El cruce lo haremos en la parte del RS485 o RS422, dejando directos los cables del RS232 a los conversores. OJO con los conmutadores DTE/DCE de los conversores, en ambos lados deben estar configurados de la misma forma para que no haya un número par de cruces de cables por lo explicado anteriormente.

 Ver tambien:

 – Longitudes de los cables (y II)

 – Una de cables

 – Conexionado RS232 – (I)

May 23

Conexionado RS232 – (I)

conector DB9 A pesar de haber realizado una entrada casi exclusivamente para hablar de los elementos de hardware de la comunicación mediante RS232, me han llegado preguntas desde diferentes lugares para que explique un poco más sobre el tema, así que vamos a ello.

 Existen dos conectores estandarizados para la comunicación por RS232, uno tiene 25 pines (DB25) y el otro 9 pines (DB9). La nomenclatura de DB hace referencia al conector que visto de forma frontal tiene forma de letra “D” un poco estirada y el numero hace referencia al numero de pines o conexiones que tiene el conector.conectores DB9

 Cada conector de diferente tamaño, puede ser de dos tipos, Macho (Male) o Hembra (Female). Cuando se fabrican cables a mano, soldando nosotros mismos los conectores, es MUY IMPORTANTE fijarse en la numeración de los pines, pues el pin número 1 del conector macho, se encuentra en la parte opuesta al pin número 1 del conector hembra, como es natural para poderse conectar correctamente. Es también importante recordar lo comentado en otra entrada sobre la longitud de los cables.Pines del RS232

 Para poder convertir un tipo de conector en otro, solo hay que ver que pines de un conector, corresponden al otro. Para conectar dos conectores machos (M=M) o hembras (F=F) o un macho a un hembra (M=F) del mismo tamaño, solo hay que conectar pin a pin en los mismos números, es decir 1=1, 2=2, 3=3,… 25=25. En cambio, cuando queremos conectar un conector de 9 pines con uno de 25, debemos saber la correspondencia de los pines de uno al otro. He creado un dibujo para ello y al mismo tiempo nos servirá para intentar explicar algunas funciones de cada uno de ellos.

conversores DB9-DB25 Vemos por ejemplo que el pin 1 del DB9 (9 pines) corresponde al pin 8 del DB25 (25 pines). Siguiendo la secuencia, irían conectados 2=3, 3=2, 4=20, 5=7, 6=6, 7=4, 8=5 y 9=22. Como podemos ver, en el conector de nueve pines tiene todas sus conexiones ocupadas, mientras que en el de 25 quedan muchas libres. No debemos preocuparnos por ellas, en el RS232 “estándar”, no se usan.

 Si realizamos un cable con estas conexiones, nos debería servir para convertir de un tipo de conector a otro, cualquier equipo que use RS232. Repito: OJO con la numeración de los pines.

 En la siguiente parte hablaremos del cruce de cables y como debieran ir conectados los cables en una comunicación “normal”.

May 19

La inseguridad inalámbrica (Software)

Seguridad Wifi Como el titulo de la entrada hace referencia a la seguridad de la parte inalambrica de la comunicación, voy a obviar los ataques a la parte cableada, tal como hacía en la anterior entrada cuando hacia referencia a elementos como sniffers.

Cuando intentamos enlazar dispositicos moviles ya sea por IRDA o bluetooth, lo lógico es que el dispositivo al que nos conectamos, nos pregunte si queremos permitir la conexion del otro dispositivo. En cambio, cuando hacemos lo mismo con dispositivos wifi, no suele hacerlo. Entre otras cosas porque no puede haber una persona pendiente del dispositivo de enlace para confirmar cada conexión.Infrarrojos

Para evitar este problema, se establecieron sistemas de proteccion y seguridad de acceso a los dispositivos. Hay protección a nivel de usuario y contraseña, a nivel de IP o de dirección MAC, proteccion por encriptación, por puertos e incluso por rangos.

El nivel de seguridad de una red es igual al más inseguro de sus puntos y es por ello que las protecciónes Wep quedaron pronto superadas por la WPA y la WPA-2, con sus claves encriptadas. Conjuntamente con listas blancas con direcciones MAC y rangos de IP’s con permiso de conexión nos hacen sentirnos mas seguros y en la mayoria de casos así suele ser.

conexiones wifi Para un piso o una casa unifamiliar, puede ser suficiente el desarrollo de unas medidas mínimas de seguridad, a no ser que tengamos unos vecinos sin red o con unas mínimas habilidades informáticas y que nuestra red esté en su radio de alcance (ver anterior entrada).

Pero cuando hablamos de empresas, la cosa cambia. Los sistemas de protección de datos, filtrado y encriptación, se vuelven necesarios, cuando no, imprescindibles. Afortunadamente los organismos oficiales comenzaron a ponerse las pilas luego de sufrir varios ataques tanto la casa real como la moncloa. Pero aún así, la mayoria de politicos siguen sin ser conscientes de la importancia de sus datos y trastean alegremente con sus moviles y portatiles.WPA-2 Crackeada

Cualquier dato que se lance eter para que lo recoja otro equipo, puede ser interceptado por personas no deseadas, e incluso pueden llegar a conseguir entrar en nuestro sistema, gracias a los datos que nosotros mismos hemos transmitido.

Para que nos hagamos una imagen mental, una conexión inalambrica con nuestro banco, es como gritarle al cajero del banco, desde la puerta de éste, la cantidad de dinero que queremos, sin importarnos quien escuche tanto dentro como fuera del banco.

Hay que actuar de forma racional, tanto en la vida real, como en la red. La comunicación debe establecerse, pero con una serie de medidas que nos aseguren un mínimo de privacidad y seguridad.


May 16

La inseguridad inalámbrica (Hardware)

Comunicacion por internet. Cuando comunicamos dos dispositivos, hay diferentes formas de hacerlo. Una que todos conocemos, es por medio de Internet. La comunicacion de dos dispositivos en internet, es intrinsecamente insegura, pero vamos a explicarlo un poco más para entender a que nos referimos.

En primer lugar, la comunicación puede ser por cables, bien por medio de par trenzado con conectores RJ45, o bien por fibra optica, por medio del cual alcanzariamos altas velocidades, siempre que nos lo permitiera nuestro proveedor.pescando datos

Bajo este sistema de conexión, podriamos pensar que no hay nadie que pudiera capturar nuestros datos por el camino a no ser que cortaran los cables de la conexión, pero lo primero que debemos saber es que nuestros datos pasan por diferentes servidores en su camino hacia nuestro destino, y alguno de ellos, puede almacenar los datos que pasan por el.

sniffer Otro sistema, seria el uso de herramientas como sniffers y que se encargarian de escuchar lo que circula por una red, para almacenarlo o analizarlo. Estos sistemas los usan los hackers para analizar comunicaciones en las redes. Este tipo de sistema puede ser usado dentro de una corporación de forma mas fácil de lo que creemos. Pero para ello, necesitamos tener acceso a un PC que esté conectado en la red de la empresa.comunicación inalambrica

En un sistema de comunicación inalambrico, nos afectan dos variables, una es la del alcance y otra es la de la direccionalidad. Esto significa que una transmision inalambrica que emita de forma omnidireccional (hacia todas partes), actua como un faro, si su luz es debil, tiene poco alcance y puede que alcance solo los dispositivos más cercanos, pero si tiene una luz potente, puede que haya dispositivos lejanos que la lleguen a ver y eso no nos interese.

Comunicación direccional Cuando el dispositivo es direccional, la comunicacion solo puede establecerse con otro dispositivo que se encuentre en su direccion de comunicación, mientras que los que no estan encarados con esa dirección, no sabrán que se está comunicando. Es una comunicación más segura, pero tambien es menos flexible, puesto que tienen que estar encarados el emisor y el receptor. Estos se han usado en algunos casos, entre dos edificios cercanos de una misma empresa, entre los que no se ha podido echar un mazo de cables de fibra optica.

Esto que hemos comentado, es la parte fisica (Hardware) de la seguridad, en otra entrada, intentare hablar de la parte lógica (Software) de estos mismos elementos.

Mar 01

Fibra Monomodo y Multimodo

Comportamiento de la fibra A peticion de un amigo que cuando vio otra entrada sobre la fibra óptica, me pidio que hablara sobre ello, aquí os pongo una explicacion lo más clara que puedo sobre la fibra óptica monomodo y multimodo.

Si disparamos una escopeta en la que hayamos cargado un cartucho con perdigones, cuando estos salgan del cañón, cada perdigón sale hacia un lado y esto hace que se forme una especie de nube de perdigones. Evidentemente este tipo de disparo tiene una distancia limitada.conducción Multimodo

Si por el contrario, disparamos un fusil con bala, esta, al ocupar todo el espacio del cañón, recibe más impulso, con lo cual llega mas lejos y además tiene una trayectoria mucho más rectilínea.

Fibra monomodo En este simil, los perdigones serian la fibra multimodo y la bala la fibra monomodo.

En la fibra multimodo, la luz puede recorrer hasta mil trayectorias diferentes dentro de la fibra, a estas trayectorias se les llama modos. Alcanzan distancias de hasta 1 km. Y suelen ser fibras gruesas. Son más baratas de producir y más fáciles de interconectar.

En la fibra monomodo, las fibras son mucho mas delgadas y la luz solo lleva una trayectoria, lo cual permite alcanzar distancias de hasta 400 km. Son más caras de producir y mas dificiles de interconectar, aunque son las más usadas debido a las distancias que alcanzan y a que se pueden agrupar en mazos de muchas fibras, cientos de ellas; en poco espacio. Latiguillo Fibra Optica

En muchos equipos de música, DVDs, televisiones y diferentes aparatos electrónicos, podemos ver alguna conexión óptica para interconectarse. Esta interconexion se suele hacer con laltiguillos de fibra multimodo.

Para alcanzar distancias tan enormes con fibras monomodo, se suelen usar como emisores, laseres de alta intensidad y los mazos de cables van totalmente protegidos para evitar roturas y humedades.

Sobre los diametros, envolventes, conexiones, conducciones, conectores y emisores de luz hay informacion mas que sobrada en la red y no es proposito mio llegar a profundizar tanto. Para ello ya hay un monton de personas con blogs y foros estupendos especializados en estos temas.

Feb 24

Longitudes de los cables (y II)

Ethernet apantallado Una vez ya he explicado en la anterior entrada el tema de los Voltios, los Amperios y los Ohmios. Hemos visto sus problemas en cables delgados y en longitudes largas y he descrito los problemas derivados de la induccion, me meto ya en el meollo del asunto de las longitudes de los cables.

Por las explicaciones dadas, supongo que la mayoria teneis claro que los cables con señales que no sean de fibra optica, no deben colocarse por la misma canalizacion o una muy cercana, por la que vayan cables electricos. A partir de aquí comenzamos.Prolongador USB

Los cables de red de Pcs de tipo ethernet de par trenzado, estan preparados para distancias de 100 metros, pero si la velocidad es de 100Mb/s es conveniente que usemos cable de Categoria 5 apantallado FTP (Foiled Twister Pair) y que usemos conectores con cubierta metalica a la que conectaremos el apantallado del cable o un hilo metalico que se usa para la tierra. Tambien puede usarse el cable S/FTP, pero deberemos evitar el UTP.

Cable KVM Cuando la longitud de los cables ethernet es muy larga o van a pasar por lugares propensos a introducir inducciones en los cables, es conveniente usar fibra optica.

Para un cable USB 2.0 la longitud maxima aconsejada es de 5 metros con un cable de los que solemos comprar. Algunos de ellos en los extremos llevan una bobina para evitar los “ruidos” en el cable y otros usan cables más gruesos para que tengan menos resistencia y la señal pueda llegar mas lejos, pero es conveniente no alargar mas de 5 metros y no usar empalmes.

Conectores Video Digital

Cuando necesitamos alargar los cables de un teclado un monitor y un raton, se usan los llamados KVM (Keyboard, Video & Mouse). Estos cables suelen ser gruesos para evitar problemas por caidas de tensión y aunque hay hasta de 15 metros, yo no recomendaria mas alla de 10 m. De todas formas existen dispositivos que convierten estas señales y consiguen mediante un emisor y un receptor, alcanzar longitudes de hasta 150 metros (Ver KVM Extender)

Hay veces que solo necesitamos prolongar el cable del monitor. Hay que tener en cuenta el tipo de conexion que tiene nuestro monitor. Pues aparte de la habitual analogica VGA de 15 pines, actualmente se estan usando las de Video Digital y de estas hay de vatios tipos (DVI-A, DVI-D, DVI-D) y luego hay que saber si son Single o Dual. Lo ideal es echar un vistazo a las imagenes en internet para reconocerlos.

Los cables conectados a los puertos RS232, hoy en dia cada vez mas en desuso, pueden prolongarse hasta 15 metros, pero cuando queremos enviar la señal mas lejos, podemos colocar en el medio emisores y receptores de ethernet, RS485 o RS422 para esta funcion.