Modelos de Red
P2P | Peer to Peer | Igual a Igual: En el modelo igual a igual tenemos dos computadoras que comparten archivos. Algunos ejemplos de redes P2P son el compartimiento de archivos con Bit Torrent o mensajería instantánea con WhatsApp. En este modelo, ambas computadoras son servidores ya que sirven archivos.
Cliente / Servidor: En este modelo, una computadora es el servidor y las otras son los clientes; el servidor suministra archivos y otros datos a estos últimos. Algunos ejemplos de redes cliente/servidor son las tiendas en línea y la banca por Internet.
Enrutadores e Interruptores
Con los conmutadores podemos conectar físicamente a las computadoras dentro de una red de área local (LAN), mientras que un enrutador conecta dos o más redes. En la siguiente figura se observa una topología de red: la red 1 con dos computadoras conectadas a través del enrutador con la red 2.
Un servidor puede compartir (servir) archivos con las computadoras en su propia red, pero también puede hacerlo a través del enrutador a computadoras en otra red; por su parte, el enrutador hace esto con la ayuda de protocolos.
Protocolos de Red
Los protocolos son reglas y estándares utilizados para conectar 2 o más computadoras y compartir información y archivos. Un protocolo verifica que todo se realice de acuerdo con las reglas.
Protocolos de Control de Transmisión (TCP)
Controla las conexiones de red en un área local (LAN), y es la manera como las comportudoras se comunican dentro de una red.
TCP controla el tráfico de paquetes de datos (unidad de datos). Imagina que envias un gran documento PDF desde tu computadora a otra; TCP divide el documento en paquetes de datos mas pequeños y luego los envía a la computadora receptora a través de una conexión de red.
Handshake (Apretón de Manos TCP)
A Continuación se muestra un diagrama de secuencia UML para mostrar el apretón de manos de tres vías TCP. UML es el lenguaje de modelado más utilizado por los desarrolladores de software para elaborar el diagrama de flujo de sistemas y procesos complejos.
En este diagrama de secuencia (diagrama de flujo), el cliente y el servidor se conectan (Handshake), mientras que TCP asegura que los paquetes se reciben en el orden correcto en la computadora.
Puertos
TCP usa un esquema de direccionamiento para permitir que las computadoras se comuniquen dentro de una LAN. Este esquema utiliza números de puerto: la computadora transmisora recibe un numero y la receptora, un segundo numero de puerto. Dichos números varían de 0 a 65535, y se dividen de la siguiente manera (El protocolo garantiza que si no se recibe un paquete de datos este se retransmite):
Encabezado
TCP envía cada paquete de datos con su respectivo encabezado. Un encabezado contiene 2 tipos de información:
– La metainformación sobre el paquete relevante, cómo datos para el envío.
– El contenido o Payload (Carga útil) del paquete.
La siguiente tabla muestra la reproducción de la estructura de un encabezado TCP.
A continuación se explica la estructura de los encabezados:
- Puerto de Origen: Es el de la aplicación o dispositivo que envía el paquete.
- Puerto de Destino: Es el de la aplicación o dispositivo que recibe el paquete.
- Número de Secuencia: Es el número de orden del paquete.
- Número de Confirmación: Indica el número del siguiente paquete.
- Banderas:
- ACK: Acusa de recibido el paquete, confirma si el paquete anterior fue recibido.
- RST: Rechaza el paquete / reinicio de la conexión.
- SYN: Conexión realizada.
- FIN: Termina la conexión.
En la siguiente figura observamos en Wireshark el encabezado de un paquete con la bandera ACK levantada.
Protocolo de transferencia de archivos(FTP)
FTP es un protocolo para transferir archivos de computadora entre un cliente y un servidor en una red informática. El protocolo realiza los siguientes pasos:
1. El cliente FTP se pone en contacto con el servidor FTP a través del puerto 21
y especifica el protocolo de transporte TCP
2. El cliente obtiene la conexión
3. El cliente envía una solicitud de archivo al servidor de archivos
4. El servidor de archivos abre una conexión TCP con el cliente y ejecuta la
transferencia de los mismos
5. Después de la transferencia de archivos, el servidor de archivos finaliza
la conexión