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
Publicar un comentario