PROTOCOLOS: (IP, SSH, TELNET, SMTP, POP DNS, DHCP, HTTP, FTP, ARP, ICMP, TCP, UDP, NAT)

 

PROTOCOLOS: (IP, SSH, TELNET, SMTP, POP DNS, DHCP, HTTP, FTP, ARP, ICMP, TCP, UDP, NAT)

 

El protocolo de internet (en inglés: Internet Protocol; cuya sigla es IP) es un protocolo de comunicación de datos digitales clasificado funcionalmente en la capa de red según el modelo internacional OSI.

Su función principal es el uso bidireccional en origen o destino de comunicación para transmitir datos mediante un protocolo no orientado a conexión que transfiere paquetes conmutados a través de distintas redes físicas previamente enlazadas según la norma OSI de enlace de datos.

Una dirección IP es un número que identifica de manera lógica y jerárquicamente a una interfaz de un dispositivo (habitualmente una computadora) dentro de una red que utilice el protocolo de Internet (Internet Protocol), que corresponde al nivel de red o nivel 3 del modelo de referencia OSI. Por ejemplo, si un equipo dispone de una tarjeta de red Ethernet y otra WiFi, tendrá una dirección IP asignada a cada una si las está usando. Dicho número no se ha de confundir con la dirección MAC que es un número físico que es asignado a la tarjeta o dispositivo de red (viene impuesta por el fabricante y no varía en toda su vida útil), mientras que la dirección IP puede cambiarse, por ejemplo, cambiando la red a la cual está conectado el equipo.

El usuario al conectarse desde su hogar a Internet utiliza una dirección IP. Esta dirección puede cambiar al reconectar. A la posibilidad de cambio de dirección de la IP se denomina dirección IP dinámica. Existe un protocolo para asignar direcciones IP dinámicas llamado DHCP (Dynamic Host Configuration Protocol).

SSH (o Secure SHell, en español: intérprete de órdenes seguro) es el nombre de un protocolo y del programa que lo implementa cuya principal función es el acceso remoto a un servidor por medio de un canal seguro en el que toda la información está cifrada. Además de la conexión a otros dispositivos, SSH permite copiar datos de forma segura (tanto archivos sueltos como simular sesiones FTP cifradas), gestionar claves RSA para no escribir contraseñas al conectar a los dispositivos y pasar los datos de cualquier otra aplicación por un canal seguro tunelizado mediante SSH y también puede redirigir el tráfico del (Sistema de Ventanas X) para poder ejecutar programas gráficos remotamente. El puerto TCP asignado es el 22.

 

Es un protocolo que facilita las comunicaciones seguras entre dos sistemas usando una arquitectura cliente/servidor y que permite a los usuarios conectarse a un host remotamente. A diferencia de otros protocolos de comunicación remota tales como FTP o Telnet, SSH encripta la sesión de conexión, haciendo imposible que alguien pueda obtener contraseñas no encriptadas. SSH está diseñado para reemplazar los métodos más viejos y menos seguros para registrarse remotamente en otro sistema a través de la shell de comando, tales como telnet o rsh. Un programa relacionado, el scp, reemplaza otros programas diseñados para copiar archivos entre hosts como rcp. Ya que estas aplicaciones antiguas no encriptan contraseñas entre el cliente y el servidor.

 

Seguridad

SSH trabaja de forma similar a como se hace con telnet. La diferencia principal es que SSH usa técnicas de cifrado que hacen que la información que viaja por el medio de comunicación vaya de manera no legible, evitando que terceras personas puedan descubrir el usuario y contraseña de la conexión ni lo que se escribe durante toda la sesión; aunque es posible atacar este tipo de sistemas por medio de ataques de REPLAY y manipular así la información entre destinos.

El protocolo SSH proporciona los siguientes tipos de protección:

Después de la conexión inicial, el cliente puede verificar que se está conectando al mismo servidor al que se conectó anteriormente.

El cliente transmite su información de autenticación al servidor usando una encriptación robusta de 128 bits.

Todos los datos enviados y recibidos durante la sesión se transfieren por medio de encriptación de 128 bits, lo cual los hace extremadamente difícil de descifrar y leer.

El cliente tiene la posibilidad de reenviar aplicaciones X11 desde el servidor. Esta técnica, llamada reenvío por X11, proporciona un medio seguro para usar aplicaciones gráficas sobre una red.

Ya que el protocolo SSH encripta todo lo que envía y recibe, se puede usar para asegurar protocolos inseguros. El servidor SSH puede convertirse en un conducto para convertir en seguros los protocolos inseguros mediante el uso de una técnica llamada reenvío por puerto.

Hay diferentes estructuras de criptografía que pueden ser aplicadas a la hora de usar el protocolo SSH en esa demanda. Son, básicamente, tres alternativas:

 

·         Simétrica

·         Asimétrica

·         Hashing

 

Telnet (Teletype Network1​) es el nombre de un protocolo de red que nos permite acceder a otra máquina para manejarla remotamente como si estuviéramos sentados delante de ella. También es el nombre del programa informático que implementa el cliente. Para que la conexión funcione, como en todos los servicios de Internet, la máquina a la que se acceda debe tener un programa especial que reciba y gestione las conexiones. El puerto que se utiliza generalmente es el 23

Funcionamiento

Telnet solo sirve para acceder en modo terminal, es decir, sin gráficos, pero es una herramienta muy útil para arreglar fallos a distancia, sin necesidad de estar físicamente en el mismo sitio que la máquina que los tenga. También se usaba para consultar datos a distancia, como datos personales en máquinas accesibles por red, información bibliográfica, etc.

Aparte de estos usos, en general telnet se ha utilizado (y aún hoy se puede utilizar en su variante SSH) para abrir una sesión con una máquina UNIX, de modo que múltiples usuarios con cuenta en la máquina, se conectan, abren sesión y pueden trabajar utilizando esa máquina. Es una forma muy usual de trabajar con sistemas UNIX.

Problemas de seguridad y SSH

Su mayor problema es de seguridad, ya que todos los nombres de usuario y contraseñas necesarias para entrar en las máquinas viajan por la red como texto plano (cadenas de texto sin cifrar). Esto facilita que cualquiera que espíe el tráfico de la red pueda obtener los nombres de usuario y contraseñas, y así acceder él también a todas esas máquinas. Por esta razón dejó de usarse, casi totalmente, hace unos años, cuando apareció y se popularizó el SSH, que puede describirse como una versión cifrada de telnet -actualmente se puede cifrar toda la comunicación del protocolo durante el establecimiento de sesión (RFC correspondiente, en inglés- si cliente y servidor lo permiten, aunque no se tienen ciertas funcionalidades extra disponibles en SSH).

Seguridad

Hay 3 razones principales por las que el telnet no se recomienda para los sistemas modernos desde el punto de vista de la seguridad:

 

·         Los dominios de uso general del telnet tienen varias vulnerabilidades descubiertas a lo largo de los años, y varias más que podrían aún existir.

·         Telnet, por defecto, no cifra ninguno de los datos enviados sobre la conexión (contraseñas inclusive), así que es fácil interferir y grabar las comunicaciones, y utilizar la contraseña más adelante para propósitos maliciosos.

·         Telnet carece de un esquema de autenticación que permita asegurar que la comunicación esté siendo realizada entre los dos anfitriones deseados, y no interceptada entre ellos.

El Protocolo Simple de Transferencia de Correo (en inglés: Simple Mail Transfer Protocol o SMTP) es un protocolo de red utilizado para el intercambio de mensajes de correo electrónico entre computadoras u otros dispositivos (PDA, teléfonos móviles, impresoras, etc.). Se encuentra en la capa de aplicación del modelo OSI1​.

El funcionamiento de este protocolo se da en línea, de manera que opera en los servicios de correo electrónico. Sin embargo, posee algunas limitaciones en cuanto a la recepción de mensajes en el servidor de destino (cola de mensajes recibidos), por lo que se ejecuta normalmente en relación con otros, como POP3 o IMAP, otorgando a SMTP la tarea específica de enviar correos y delegando la de recibirlos a los protocolos antes mencionados.

En informática se utiliza el Post Office Protocol (POP3, Protocolo de Oficina de Correo o "Protocolo de Oficina Postal") en clientes locales de correo para obtener los mensajes de correo electrónico almacenados en un servidor remoto, denominado Servidor POP. Es un protocolo de nivel de aplicación en el Modelo OSI.

Las versiones del protocolo POP, informalmente conocido como POP1 (RFC 918) y POP2, (RFC 937) se han quedado obsoletas debido a las últimas versiones de POP3. En general cuando se hace referencia al término POP, se refiere a POP3 dentro del contexto de protocolos de correo electrónico.1

Órdenes

Para establecer una conexión a un servidor POP, el cliente de correo abre una conexión TCP en el puerto 110 del servidor. Cuando la conexión se ha establecido, el servidor POP envía al cliente POP y después las dos máquinas se envían entre sí otras órdenes y respuestas que se especifican en el protocolo.

Como parte de esta comunicación, al cliente POP se le pide que se autentifique (Estado de autenticación), donde el nombre de usuario y la contraseña del usuario se envían al servidor POP. Si la autenticación es correcta, el cliente POP pasa al Estado de transacción, en este estado se pueden utilizar órdenes LIST, RETR y DELE para mostrar, descargar y eliminar mensajes del servidor, respectivamente. Los mensajes definidos para su eliminación no se quitan realmente del servidor hasta que el cliente POP envía la orden QUIT para terminar la sesión. En ese momento, el servidor POP pasa al Estado de actualización, fase en la que se eliminan los mensajes marcados y se limpian todos los recursos restantes de la sesión.[cita requerida]

 

Es posible conectarse manualmente al servidor POP3 haciendo Telnet al puerto 110. Es muy útil cuando envían un mensaje con un fichero muy largo que no se quiere recibir.

 

·         USER <nombre> Identificación de usuario (Solo se realiza una vez).

·         PASS <password> Envía la clave del servidor.

·         STAT Da el número de mensajes no borrados en el buzón y su longitud total.

·         LIST Muestra todos los mensajes no borrados con su longitud.

·         RETR <número> Solicita el envío del mensaje especificando el número (no se borra del buzón).

·         TOP <número> <líneas> Muestra la cabecera y el número de líneas requerido del mensaje especificando el número.

·         DELE <número> Borra el mensaje especificando el número.

·         RSET Recupera los mensajes borrados (en la conexión actual).

·         UIDL <número> Devuelve una cadena identificatoria del mensaje persistente a través de las sesiones. Si no se especifica <número> se devuelve una lista con los números de mensajes y su cadena identificatoria de los mensajes no borrados.

·         QUIT Salir.

·          

El sistema de nombres de dominio (DNS) es el directorio telefónico de Internet. Las personas acceden a la información en línea a través de nombres de dominio como nytimes.com o espn.com. Los navegadores web interactúan mediante direcciones de Protocolo de Internet (IP). El DNS traduce los nombres de dominio a direcciones IP para que los navegadores puedan cargar los recursos de Internet.

Cada dispositivo conectado a Internet tiene una dirección IP única que otros equipos pueden usar para encontrarlo. Los servidores DNS suprimen la necesidad de que los humanos memoricen direcciones IP tales como 192.168.1.1 (en IPv4) o nuevas direcciones IP alfanuméricas más complejas, tales como 2400:cb00:2048:1::c629:d7a2 (en IPv6).

 

El proceso de solución de DNS supone convertir un nombre de servidor (como www.ejemplo.com) en una dirección IP compatible con el ordenador (como 192.168.1.1). Se da una dirección IP a cada dispositivo en Internet, y esa dirección será necesaria para encontrar el dispositivo apropiado de Internet, al igual que se usa la dirección de una calle para encontrar una casa concreta. Cuando un usuario quiere cargar una página, se debe traducir lo que el usuario escribe en su navegador web (ejemplo.com) a una dirección que el ordenador pueda entender para poder localizar la página web de ejemplo.com.

Para entender el proceso de la resolución de DNS, es importante conocer los diferentes componentes de hardware por los que debe pasar una consulta de DNS. Para el navegador web, la búsqueda de DNS se produce "en segundo plano" y no requiere ninguna interacción del ordenador del usuario, aparte de la solicitud inicial.

Los 10 pasos de una búsqueda DNS:

·         Un usuario escribe “ejemplo.com” en un navegador web y la consulta recorre Internet y es recibida por un solucionador de DNS recursivo.

·         El solucionador consulta a continuación un servidor de nombres raíz de DNS (.).

·         El servidor raíz responde a continuación al solucionador con la dirección de un servidor de DNS de dominio de primer nivel (TLD) (p.ej. .com o .net), que almacena la información para sus dominios. Al buscar ejemplo.com, nuestra solicitud se dirige al TLD .com.

·         El solucionador hará a continuación una solicitud al dominio de primer nivel .com.

·         El servidor TLD responderá a continuación con la dirección IP del servidor de nombres del dominio, ejemplo.com.

·         Finalmente, el solucionador recursivo envía una consulta al servidor de nombres del dominio.

·         Por ejemplo, la dirección IP se devolverá al solucionador desde el servidor de nombres.

·         El solucionador de DNS responderá a continuación al navegador web con la dirección IP del dominio solicitado inicialmente.

·         Una vez que los 8 pasos de la búsqueda del DNS han devuelto la dirección IP para ejemplo.com, el navegador podrá hacer la solicitud para la página web:

·         El navegador hará una solicitud de HTTP a la dirección IP.

·         El servidor en esa dirección IP devuelve la página web para que se procese en el navegador (paso 10).

El protocolo DHCP es uno de los más utilizados por los routers, tanto domésticos como también profesionales, además, de forma predeterminada cualquier cliente cableado o WiFi está configurado para obtener una dirección IP por DHCP. Aunque continuamente estamos utilizando el DHCP, seguramente no conozcas para qué sirve exactamente, sus funcionalidades y también cómo funciona y qué mensajes se intercambian entre el servidor y los clientes. Hoy en RedesZone os vamos a explicar todo lo que debes saber sobre el protocolo DHCP.

Qué es y para qué sirve este protocolo

El protocolo DHCP (Protocolo de configuración dinámica de host) o también conocido como «Dynamic Host Configuration Protocol«, es un protocolo de red que utiliza una arquitectura cliente-servidor. Por tanto, tendremos uno o varios servidores DHCP y también uno o varios clientes, que se deberán comunicar entre ellos correctamente para que el servidor DHCP brinde información a los diferentes clientes conectados. Este protocolo se encarga de asignar de manera dinámica y automática una dirección IP, ya sea una dirección IP privada desde el router hacia los equipos de la red local, o también una IP pública por parte de un operador que utilice este tipo de protocolo para el establecimiento de la conexión.

Cuando tenemos un servidor DHCP en funcionamiento, todas las direcciones IP que ha proporcionado a diferentes clientes se guardan en un listado donde se relaciona la IP que se le ha proporcionado (dirección lógica) y la dirección MAC (dirección física de la tarjeta de red). Gracias a este listado, el servidor DHCP se asegura de no proporcionar a dos equipos diferentes la misma dirección IP, lo que ocasiona un caos en la red local. A medida que el servidor va asignando direcciones IP, también tiene en cuenta cuándo pasa un determinado tiempo y caducan, quedando libres para que otro cliente pueda obtener esta misma dirección IP. El servidor DHCP sabrá en todo momento quién ha estado en posesión de una dirección IP, cuánto tiempo ha estado, y cuándo se ha asignado a otro cliente.

El protocolo DHCP incluye varias formas de asignación de direcciones IP, dependiendo de la configuración que realicemos y el escenario, podremos usar una forma de asignación u otra:

  • Manual o estática: el servidor DHCP nos permitirá configurar un listado de parejas IP-MAC con el objetivo de que siempre se le proporcione a un cliente una determinada dirección IP, y que esta dirección no cambie nunca.
  • Automática: el servidor DHCP se encarga de proporcionar una dirección IP al cliente que realiza la solicitud, y estará disponible para este cliente hasta que la libere. Existen routers que internamente están configurados para proporcionar direcciones IP privadas de forma secuencial, sin embargo, hay firmwares que están diseñados para proporcionar una dirección IP específica dentro del rango y que no es secuencial, en base a un algoritmo interno y la dirección MAC que se haya conectado.
  • Dinámica: este método permite reutilización dinámica de las direcciones IP.

Aunque el protocolo DHCP es muy conocido por proporcionar la dirección IP, máscara de subred y la puerta de enlace, tres parámetros básicos y fundamentales, también es capaz de proporcionar otra información de cara a los clientes, como los siguientes parámetros que son configurables y opcionales:

  • Servidor DNS primario y secundario.
  • Nombre DNS.
  • MTU para la interfaz.
  • Servidor y dominio NIS.
  • Servidores NTP.
  • Servidor de nombre WINS para Windows.
  • Otras opciones avanzadas.

Un aspecto muy importante es que, si un sistema Windows no es capaz de obtener una dirección IP a través del cliente DHCP en una red, se inicia un proceso llamado APIPA (Automatic Private Internet Protocol Addressing). Este proceso APIPA que usan los sistemas operativos cuando no se puede obtener una dirección IP por DHCP, este protocolo se encarga de asignar una dirección IP privada de clase B en el rango 169.254.0.0/16 con su correspondiente máscara de subred 255.255.0.0. Este bloque de direccionamiento se conoce como «link-local» para redes IPv4. Aunque los sistemas operativos se autoconfigure esta dirección IP privada, cada 5 minutos volverán a consultar si hay un servidor DHCP en la red para que les proporcione una dirección IP privada de clase A, B o C habitual. Cuando no funciona el servidor DHCP o no lo tenemos configurado, podéis comprobar la dirección IP que se configura automáticamente si consultamos la IP privada que tenemos en nuestro equipo.

Una vez que ya conocemos qué es el protocolo DHCP y sus principales características, vamos a ver su funcionamiento y qué mensajes se intercambian.

Funcionamiento y mensajes de intercambio

La comunicación entre el servidor DHCP y los clientes DHCP que tengamos conectados en la red se realiza a través del protocolo UDP, un protocolo que ya conocemos de otros artículos y que es un protocolo no orientado a conexión. En el caso del servidor DHCP usamos el protocolo UDP puerto 67, en el caso de los clientes usamos el protocolo UDP en el puerto 68. Si tenemos un firewall bloqueando estos puertos, ya sea en el servidor o en el cliente, deberemos revisarlo y añadir una regla de aceptar para origen y/o destino estos puertos, de lo contrario el servicio no funcionará, y no podremos obtener las direcciones IP automáticamente.


¿Qué es HTTP?

El protocolo de transferencia de hipertexto (HTTP) constituye los cimientos de la red mundial, y se utiliza para cargar páginas web mediante enlaces de hipertexto. HTTP es un protocolo de capa de aplicación diseñado para transferir información entre los dispositivos conectados de la red, y se ejecuta sobre otras capas del conjunto de protocolos de la red. Un flujo típico sobre HTTP implica una máquina cliente que realiza una solicitud a un servidor, que a continuación envía un mensaje de respuesta.

¿Qué es una solicitud HTTP?

Una solicitud HTTP es la forma en que las plataformas de comunicación de Internet, como los navegadores web, piden la información que necesitan para cargar un sitio web.

Cada solicitud HTTP realizada por Internet lleva consigo una serie de datos codificados que contienen diferentes tipos de información. Una solicitud HTTP típica contiene:

 

·         tipo de versión de HTTP

·         una URL

·         un método HTTP

·         encabezados de solicitud HTTP

·         Cuerpo HTTP opcional.

Profundicemos en el funcionamiento de estas solicitudes y en cómo se puede utilizar el contenido de una solicitud para compartir información.

¿Qué es un método HTTP?

Un método HTTP, a veces denominado verbo HTTP, indica la acción que la solicitud HTTP espera del servidor consultado. Por ejemplo, dos de los métodos HTTP más comunes son "GET" y "POST"; una solicitud "GET" espera que se le devuelva información (normalmente en forma de página web), mientras que una solicitud "POST" suele indicar que el cliente está enviando información al servidor web (como información de un formulario, por ejemplo, un nombre de usuario y una contraseña enviados).

¿Qué son los encabezados de solicitud HTTP?

Los encabezados HTTP contienen información de texto almacenada en pares clave-valor, y se incluyen en cada solicitud HTTP (y en la respuesta, sobre lo que hablaremos más adelante). Estos encabezados comunican información básica, como por ejemplo qué navegador utiliza el cliente y qué datos solicita.

Ejemplo de encabezados de solicitud HTTP de la pestaña de red de Google Chrome:

encabezados de solicitud HTTP

¿Qué es un cuerpo de solicitud HTTP?

El cuerpo de una solicitud es la parte que contiene el "cuerpo" de la información que está transfiriendo la solicitud. El cuerpo de una solicitud HTTP contiene toda la información que se envía al servidor web, como un nombre de usuario y una contraseña, o cualquier otro dato introducido en un formulario.

¿Qué es una respuesta HTTP?

Una respuesta HTTP es lo que los clientes web (normalmente los navegadores) reciben de un servidor de Internet en respuesta a una solicitud HTTP. Estas respuestas comunican información valiosa basada en lo que se pidió en la solicitud HTTP.

Una respuesta HTTP típica contiene:

un código de estado HTTP

encabezados de respuesta HTTP

cuerpo de HTTP opcional

Vamos a desglosarlas:

 

El Protocolo de transferencia de archivos (en inglés File Transfer Protocol o FTP) es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol), basado en la arquitectura cliente-servidor. Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo.

El servicio FTP es ofrecido por la capa de aplicación del modelo de capas de red TCP/IP al usuario, utilizando normalmente el puerto de red 20 y el 21. Un problema básico de FTP es que está pensado para ofrecer la máxima velocidad en la conexión, pero no la máxima seguridad, ya que todo el intercambio de información, desde el login y password del usuario en el servidor hasta la transferencia de cualquier archivo, se realiza en texto plano sin ningún tipo de cifrado, con lo que un posible atacante puede capturar este tráfico, acceder al servidor y/o apropiarse de los archivos transferidos.

Para solucionar este problema son de gran utilidad aplicaciones como SCP y SFTP, incluidas en el paquete SSH, que permiten transferir archivos, pero cifrando todo el tráfico.

Ejemplos de Clientes FTPs

Entre los varios clientes FTP que existen, se pueden mencionar los siguientes:

·         net2ftp

·         WebDrive3​

·         Web-Ftp

·         Jambai FTP

·         ftp4net

·         PHP FTP Client

·         Asuk PHP FTP

·         Weeble File Manager

·         FileZilla4​

·         Transmit

Servidor FTP

Un servidor FTP es un programa especial que se ejecuta en un equipo servidor normalmente conectado a Internet (aunque puede estar conectado a otros tipos de redes, LAN, MAN, etc.). Su función es permitir el intercambio de datos entre diferentes servidores/ordenadores.

Por lo general, los programas servidores FTP no suelen encontrarse en los ordenadores personales, por lo que un usuario normalmente utilizará el FTP para conectarse remotamente a uno y así intercambiar información con él.

Las aplicaciones más comunes de los servidores FTP suelen ser el alojamiento web, en el que sus clientes utilizan el servicio para subir sus páginas web y sus archivos correspondientes; o como servidor de backup (copia de seguridad) de los archivos importantes que pueda tener una empresa. Para ello, existen protocolos de comunicación FTP para que los datos se transmitan cifrados, como el SFTP (Secure File Transfer Protocol).

 

(ARP, del inglés Address Resolution Protocol)

 

En redes de cómputo, el protocolo de resolución de direcciones (ARP, del inglés Address Resolution Protocol) es un protocolo de comunicaciones de la capa de enlace de datos,1​ responsable de encontrar la dirección de hardware (Ethernet MAC) que corresponde a una determinada dirección IP. Para ello se envía un paquete (ARP request) a la dirección de difusión de la red (broadcast, MAC = FF FF FF FF FF FF) que contiene la dirección IP por la que se pregunta, y se espera a que esa máquina (u otra) responda (ARP reply) con la dirección Ethernet que le corresponde. Cada máquina mantiene una caché con las direcciones traducidas para reducir el retardo y la carga. ARP permite a la dirección de Internet ser independiente de la dirección Ethernet, pero esto solo funciona si todas las máquinas lo soportan. De manera sencilla de explicar, el objetivo del protocolo ARP es permitir a un dispositivo conectado a una red LAN obtener la dirección MAC de otro dispositivo conectado a la misma red LAN cuya dirección IP es conocida.

ARP está documentado en el RFC 826. El protocolo de resolución de direcciones inverso (RARP) realiza, obviamente, la operación inversa y se encuentra descrito en el RFC 903.

En Ethernet, la capa de enlace trabaja con direcciones físicas. El protocolo ARP se encarga de traducir las direcciones IP a direcciones MAC (direcciones físicas). Para realizar esta conversión, el nivel de enlace utiliza las tablas ARP, cada interfaz tiene tanto una dirección IP como una dirección física MAC.

ARP se utiliza en cuatro casos referentes a la comunicación entre dos hosts:

 

·         Cuando dos hosts están en la misma red y uno quiere enviar un paquete a otro.

·         Cuando dos hosts están sobre redes diferentes y deben usar un gateway o router para alcanzar otro host.

·         Cuando un router necesita enviar un paquete a un host a través de otro router.

·         Cuando un router necesita enviar un paquete a un host de la misma red.

Tablas ARP

Ejemplificando, para localizar al señor "XY" entre 150 personas: preguntar por su nombre a todos, y el señor "X" debe responder.

Cuando a A le llegue un mensaje con dirección origen IP y no tenga esa dirección en su caché de la tabla ARP, enviará su trama ARP a la dirección broadcast (física = FF:FF:FF:FF:FF:FF), con la IP de la que quiere conocer su dirección física. Entonces, el equipo cuya dirección IP coincida con la pregunta, responderá a A enviándole su dirección física. En este momento, A ya puede agregar la entrada de esa IP a la caché de su tabla ARP.

Las entradas de la tabla se borran cada cierto tiempo, ya que las direcciones físicas de la red pueden cambiar (por ejemplo: si se estropea una tarjeta de red y hay que sustituirla, o simplemente algún usuario de la red cambia de dirección IP).

El protocolo de mensajes de control de Internet

El protocolo de mensajes de control de Internet (en inglés: Internet Control Message Protocol y conocido por sus siglas ICMP) es parte del conjunto de protocolos IP. Es utilizado para enviar mensajes de error e información operativa indicando, por ejemplo, que un host no puede ser localizado o que un servicio que se ha solicitado no está disponible. Estos mensajes del protocolo ICMP se envían a la dirección IP de origen del paquete.

Siendo un protocolo de la "Capa de Red" ICMP difiere de los protocolos de la "Capa de Transporte" (tales como TCP y UDP), en que no es generalmente usado para intercambiar información entre sistemas, ni tampoco por las aplicaciones de usuario (con excepción de algunas herramientas como ping y traceroute, que emplean mensajes ICMP con fines de diagnóstico).

La utilidad ping es una versión simplificada de traceroute. Un ping probará la velocidad de la conexión entre dos dispositivos, e informará exactamente del tiempo que tarda un paquete de datos en llegar a su destino y volver al dispositivo del remitente. Aunque el ping no proporciona datos sobre el enrutamiento o los saltos, sigue siendo una métrica muy útil para calibrar la latencia entre dos dispositivos. Los mensajes ICMP de solicitud de eco y de respuesta de eco se utilizan habitualmente para realizar un ping.

Desgraciadamente, los ataques a la red pueden aprovecharse de este proceso, creando medios de alteración como el ataque de inundación de ICMP y el ataque de ping de la muerte.

 

 

¿Cómo funciona ICMP?

A diferencia del protocolo de Internet (IP), ICMP no está asociado a un protocolo de la capa de transporte como TCP o UDP. Esto hace que ICMP sea un protocolo sin conexión: un dispositivo no necesita abrir una conexión con otro dispositivo antes de enviar un mensaje ICMP. El tráfico IP normal se envía utilizando TCP, lo que significa que dos dispositivos que intercambian datos primero llevarán a cabo un protocolo de enlace TCP para asegurarse de que ambos dispositivos estén listos para recibir datos. ICMP no abre una conexión de esta manera. El protocolo ICMP tampoco permite apuntar a un puerto específico en un dispositivo.

Información técnica

TCP es usado en gran parte de las comunicaciones de datos. Por ejemplo, gran parte de las comunicaciones que tienen lugar en Internet emplean TCP.

Funciones de TCP

En la pila de protocolos TCP/IP, TCP es la capa intermedia entre el protocolo de red (IP) y la capa de aplicación. Muchas veces las aplicaciones necesitan que la comunicación a través de la red sea confiable. Para ello se implementa el protocolo TCP que asegura que los datos que emite el cliente sean recibidos por el servidor sin errores y en el mismo orden que fueron emitidos, a pesar de trabajar con los servicios de la capa IP, la cual no es confiable. Es un protocolo orientado a la conexión, ya que el cliente y el servidor deben anunciarse y aceptar la conexión antes de comenzar a transmitir los datos a ese usuario que debe recibirlos.

Características del TCP

·         Permite colocar los segmentos nuevamente en orden cuando vienen del protocolo IP.

·         Permite el monitoreo del flujo de los datos para así evitar la saturación de la red.

·         Permite que los datos se formen en segmentos de longitud variada para "entregarlos" al protocolo IP.

·         Permite multiplexar los datos, es decir, que la información que viene de diferentes fuentes (por ejemplo, aplicaciones) en la misma línea pueda circular simultáneamente.

·         Por último, permite comenzar y finalizar la comunicación amablemente.

 

Formato de los segmentos TCP

En el nivel de transporte, los paquetes de bits que constituyen las unidades de datos de protocolo TCP se llaman "segmentos". El formato de los segmentos TCP se muestra en el esquema segmento TCP.

Funcionamiento del protocolo en detalle

Las conexiones TCP se componen de tres etapas:

·         Establecimiento de conexión (3-way handshake)

·         Transferencia de datos

·         Fin de la conexión.

 

¿Qué es el User Datagram Protocol (UDP/IP)

El User Datagram Protocol, o UDP, es un protocolo de comunicación que se utiliza en Internet para transmisiones sujetas a limitaciones temporales, como la reproducción de vídeo o las búsquedas en DNS. Acelera las comunicaciones al no establecer formalmente una conexión antes de transferir los datos. Esto permite que los datos se transfieran muy rápido, pero también puede hacer que los paquetes se pierdan en tránsito — y crear oportunidades para vulnerabilidades en forma de ataques DDoS.

¿Cómo funciona UDP?

Como todos los protocolos de redes, el UDP es un método estandarizado para transferir datos entre dos ordenadores en una red. Comparado con otros protocolos, el UDP realiza este proceso de forma sencilla: envía paquetes (unidades de transmisión de datos) directamente a un ordenador de destino, sin establecer primero una conexión, ni indicar el orden de dichos paquetes, ni comprobar si han llegado como estaba previsto. (Los paquetes UDP se llaman "datagramas").

TCP versus UDP

El UDP es más rápido pero menos fiable que el TCP, otro protocolo de transporte habitual. En una comunicación TCP, los dos ordenadores comienzan estableciendo una conexión mediante un proceso automatizado llamado "protocolo de enlace". Un ordenador no transferirá realmente paquetes de datos al otro hasta que no se haya completado el protocolo de enlace.

Las comunicaciones UDP no pasan por este proceso. En su lugar, un ordenador simplemente puede empezar a enviar datos al otro:

 

¿Para qué sirve el UDP?

El UDP se suele utilizar en las comunicaciones sujetas a limitación temporal, en las que ocasionalmente es mejor dejar caer los paquetes que esperar. El tráfico de voz y vídeo se envía mediante este protocolo, porque ambos están sujetos a limitación temporal y están diseñados para soportar cierto nivel de pérdida. Por ejemplo, la VOIP (voz sobre IP), que utilizan muchos servicios telefónicos basados en Internet, funciona sobre UDP. Esto es así porque es preferible una conversación telefónica estática a una muy clara, pero con mucho retraso.

 

Esto también hace que el UDP sea el protocolo ideal para los videojuegos en línea. De forma similar, como los servidores DNS deben ser rápidos y eficientes, funcionan también mediante UDP.

 

Qué es NAT (Network Address Traslation)

Las direcciones IPv4 se encuentran formadas por 32 bits y permiten la creación de un total de 4.294.967.296 direcciones.

 

En el momento de su creación tenían la certeza de que esta cantidad sería suficiente para asignar una a cada dispositivo existente en el mundo, pero con el boom de internet la demanda aumentó hasta tal punto de no serlo.El número de IP disponibles era mucho menor que la cantidad de dispositivos que se estaban conectando a internet.

 

Cuando empezaba a estar claro que la demanda futura no se supliría y por ello se llevaron a cabo distintas estrategias provisionales:

 

Reservar algunos bloques de direcciones (direcciones privadas)

Uso de direccionamiento sin clase (CIDR)

NAT (traducción de dirección de red)

El protocolo de IPv4 permitía a los nodos u hosts conectarse a internet (haciendo uso de IP públicas). Cada empresa u organización acudía al RIR correspondiente y este asignaba un bloque de direcciones de acuerdo a sus necesidades, así ya podían tener conexión. El término de dirección IP pública hace referencia a todas aquellas que son enrutables en internet y no a que cualquier persona u organización puede utilizarlas públicamente sin contrato previo.

 

También se utilizaban las direcciones IP privadas, las cuales no son enrutables en internet y por ello, no es necesario pedir permiso a ninguna entidad para poder utilizarlas. Ocurre lo contrario que con las públicas, ya que pagamos por ellas y hacemos una solicitud formal a un ISP o un RIR dependiendo del tamaño de la organización/empresa/hogar que vaya a usarla.

Cómo funciona NAT

NAT significa traducción de direcciones IP. Es decir, su trabajo consiste en coger una dirección IP privada y traducirla a una dirección IP pública o viceversa. Se usa cuando necesitamos que nuestros dispositivos en la red (con IP privadas) se comuniquen a través de internet. Pero, ¿qué sentido tendría esto si podemos hacer uso de IP públicas directamente?

Para dar una solución provisional al problema de agotamiento de IPv4.

Para disminuir el costo elevado de obtención de IP públicas.

Para conectar miles de dispositivos a internet haciendo uso de una sola dirección IP pública.

Si queremos enviar un paquete desde nuestro PC a internet, se llevaría a cabo el siguiente proceso: Tenemos una IP local (por ejemplo: 192.168.1.30) en nuestro móvil o pc dentro de nuestra red. El DHCP se la enviará a la NAT para que la traduzca a la IP pública y salga a Internet. Internet lo que va a hacer es devolver el paquete a nuestra IP pública, la NAT va a traducir esa IP pública a la privada y la va a enviar al DHCP para que el dispositivo reciba el paquete de vuelta.

 

Con un ejemplo de nuestra vida cotidiana sería algo así: imaginaos que queremos hablar con un abogado de un despacho de abogados. Del despacho únicamente tenemos el número público (IP pública) pero al marcarlo nos contesta un secretario (NAT). Le indicamos que queremos hablar con el abogado (dispositivo), por lo que va a hacer uso del teléfono (router) que se encargará de enlazarnos o llevarnos hacia el abogado (dispositivo).

La mayor parte de los routers de hogares y empresas en la actualidad están haciendo uso de NAT. Traducen la IP privada de cada dispositivo a la pública que le fue asignada por su ISP o RIR.

Comentarios

Entradas populares de este blog

COMANDOS CON SUS PARAMETROS DE USOS (GETMAC, PING, NSLOOKUP, NETSTAT, IPCONFIG, TRACERT, PATHPING Y NETSH)