109.1 Lección 2
Certificación: |
LPIC-1 |
---|---|
Versión: |
5.0 |
Tema: |
109 Fundamentos de redes |
Objetivo: |
109.1 Fundamentos de los protocolos de Internet |
Lección: |
2 de 2 |
Introducción
Al principio de este subtema vimos que la pila TCP/IP está compuesta por una serie de protocolos diferentes. Hasta ahora hemos estudiado el protocolo IP, que permite la comunicación entre máquinas mediante direcciones IP, máscaras, rutas, etc.
Para que un host pueda acceder a un servicio disponible en otro host, además del protocolo de direccionamiento IP en la capa de red, será necesario utilizar un protocolo en la capa de transporte como los protocolos TCP y UDP.
Estos protocolos realizan esta comunicación a través de puertos de red. Así que además de definir una dirección IP de origen y de destino, se utilizarán los puertos de origen y de destino para acceder a un servicio.
El puerto se identifica mediante un campo de 16 bits, lo que proporciona un límite de 65535 puertos posibles. Los servicios (destino) utilizan los puertos del 1 al 1023, que se denominan puertos privilegiados porque tienen acceso de root al sistema. El origen de la conexión utilizará el rango de puertos de 1024 a 65535, llamados puertos no privilegiados, o puertos de socket.
Los puertos utilizados por cada tipo de servicio están estandarizados y controlados por IANA (Internet Assigned Numbers Authority). Esto significa que en cualquier sistema, el puerto 22 es utilizado por el servicio SSH, el puerto 80 por el servicio HTTP y así sucesivamente.
La siguiente tabla contiene los principales servicios y sus respectivos puertos.
Puerto | Servicio |
---|---|
20 |
FTP (data) |
21 |
FTP (control) |
22 |
SSH (Secure Socket Shell) |
23 |
Telnet (Remote connection without encryption) |
25 |
SMTP (Simple Mail Transfer Protocol), Sending Mails |
53 |
DNS (Domain Name System) |
80 |
HTTP (Hypertext Transfer Protocol) |
110 |
POP3 (Post Office Protocol), Receiving Mails |
123 |
NTP (Network Time Protocol) |
139 |
Netbios |
143 |
IMAP (Internet Message Access Protocol), Accessing Mails |
161 |
SNMP (Simple Network Management Protocol) |
162 |
SNMPTRAP, SNMP Notifications |
389 |
LDAP (Lightweight Directory Access Protocol) |
443 |
HTTPS (Secure HTTP) |
465 |
SMTPS (Secure SMTP) |
514 |
RSH (Remote Shell) |
636 |
LDAPS (Secure LDAP) |
993 |
IMAPS (Secure IMAP) |
995 |
POP3S (Secure POP3) |
En un sistema Linux, los puertos de servicio estándar aparecen en el archivo /etc/services
.
La identificación del puerto de destino deseado en una conexión se realiza utilizando el caracter :
(dos puntos) después de la dirección IPv4. Así, cuando se busca acceder al servicio HTTPS que es atendido por el host IP 200.216.10.15
, el cliente debe enviar la solicitud al destino 200.216.10.15:443
.
Los servicios mencionados anteriormente, y todos los demás, utilizan un protocolo de transporte en función de las características requeridas por el servicio, siendo TCP y UDP los principales.
Protocolo de Control de Transmisión (TCP)
TCP es un protocolo de transporte orientado a la conexión. Esto significa que se establece una conexión entre el cliente a través del puerto de socket, y el servicio a través del puerto estándar de servicio. El protocolo se encarga de garantizar que todos los paquetes se entreguen correctamente, verificando la integridad y el orden de los mismos, incluyendo la retransmisión de paquetes perdidos por errores de red.
Así, la aplicación no necesita implementar este control de flujo de datos, ya que está garantizado por el protocolo TCP.
Protocolo de Datagramas de Usuario (UDP)
UDP establece una conexión entre el cliente y el servicio, pero no controla la transmisión de datos de esa conexión. Es decir, no comprueba si los paquetes se han perdido, o si están fuera de servicio, etc. La aplicación es responsable de implementar los controles que sean necesarios.
Al haber menos control, UDP permite un mejor rendimiento en el flujo de datos, lo que es importante para algunos tipos de servicios.
Protocolo de mensajes de control de Internet (ICMP)
ICMP es un protocolo de la capa de red de la pila TCP/IP y su función principal es analizar y controlar los elementos de la red, haciendo posible, por ejemplo:
-
Control del volumen de tráfico
-
Detección de destinos inalcanzables
-
Redirección de rutas
-
Comprobación del estado de los hosts remotos
Es el protocolo utilizado por el comando ping
, que se estudiará en otro subtema.
IPv6
Hasta ahora hemos estudiado la versión 4 del protocolo IP, es decir, IPv4. Esta ha sido la versión estándar utilizada en todos los entornos de red e Internet. Sin embargo, tiene limitaciones, especialmente en lo que respecta al número de direcciones disponibles, y con una realidad ya actual de que todos los dispositivos estarán de alguna manera conectados a Internet (véase IoT), es cada vez más común utilizar la versión 6 del protocolo IP, comúnmente escrita como IPv6.
IPv6 trae consigo una serie de cambios, nuevas implementaciones y características, así como una nueva representación de la propia dirección.
Cada dirección IPv6 tiene 128 bits, divididos en 8 grupos de 16 bits, representados por valores hexadecimales.
Por ejemplo:
2001:0db8:85a3:08d3:1319:8a2e:0370:7344
Abreviaturas
IPv6 define formas de acortar las direcciones en algunas situaciones. Revisemos la siguiente dirección:
2001:0db8:85a3:0000:0000:0000:0000:7344
La primera posibilidad es reducir las cadenas de 0000
a sólo 0
, lo que resulta:
2001:0db8:85a3:0:0:0:0:7344
Además, en el caso de las cadenas de grupo con un valor de 0
, se pueden omitir, como se indica a continuación:
2001:0db8:85a3::7344
Sin embargo, esta última abreviatura sólo puede hacerse una vez en la dirección. Véase el ejemplo:
2001:0db8:85a3:0000:0000:1319:0000:7344 2001:0db8:85a3:0:0:1319:0:7344 2001:0db8:85a3::1319:0:7344
Tipos de direcciones IPv6
IPv6 clasifica las direcciones en 3 tipos:
- Unicast
-
Identifica una única interfaz de red. Por defecto, los 64 bits de la izquierda identifican la red, y los 64 bits de la derecha identifican la interfaz.
- Multicast
-
Identifica un conjunto de interfaces de red. Un paquete enviado a una dirección de multidifusión se enviará a todas las interfaces que pertenezcan a ese grupo. Aunque es similar, no debe confundirse con la difusión, no existe en el protocolo IPv6.
- Anycast
-
Esto también identifica un conjunto de interfaces en la red, pero el paquete reenviado a una dirección anycast será entregado sólo a una dirección de ese conjunto, no a todas.
Diferencias entre IPv4 e IPv6
Además de la dirección, se pueden señalar otras diferencias entre las versiones 4 y 6 del protocolo IP. Estas son algunas de ellas:
-
Los puertos de servicio siguen los mismos estándares y protocolos (TCP, UDP), la diferencia está sólo en la representación del conjunto de IP y puertos. En IPv6 la dirección IP debe estar protegida con
[]
(corchetes):- IPv4
-
200.216.10.15:443
- IPv6
-
[2001:0db8:85a3:08d3:1319:8a2e:0370:7344]:443
-
IPv6 no implementa el cometido de difusión exactamente como existe en IPv4. Sin embargo, se puede conseguir el mismo resultado enviando el paquete a la dirección
ff02::1
, llegando a todos los hosts de la red local. Algo similar a utilizar224.0.0.1
en IPv4 para la multidifusión como destino. -
A través de la función SLAAC (Stateless Address Autoconfiguration), los hosts IPv6 son capaces de autoconfigurarse.
-
El campo TTL (Time to Live) de IPv4 ha sido sustituido por el “Hop Limit” en la cabecera IPv6.
-
Todas las interfaces IPv6 tienen una dirección local, llamada dirección link-local, con el prefijo
fe80::/10
. -
IPv6 implementa el Neighbor Discovery Protocol (NDP), que es similar al ARP utilizado por IPv4, pero con mucha más funcionalidad.
Ejercicios guiados
-
¿Qué puerto es el predeterminado para el protocolo SMTP?
-
¿Cuántos puertos diferentes hay disponibles en un sistema?
-
¿Qué protocolo de transporte garantiza que todos los paquetes se entreguen correctamente, verificando la integridad y el orden de los mismos?
-
¿Qué tipo de dirección IPv6 se utiliza para enviar un paquete a todas las interfaces que pertenecen a un grupo de hosts?
Ejercicios de exploración
-
Mencione 4 ejemplos de servicios que utilizan el protocolo TCP por defecto.
-
¿Cuál es el nombre del campo en el paquete de cabecera IPv6 que implementa el mismo recurso de TTL en IPv4?
-
¿Qué tipo de información es capaz de descubrir el Protocolo de Descubrimiento de Vecinos (NDP)?
Resumen
Esta lección cubre los principales protocolos de transporte y servicios utilizados en la pila TCP/IP.
Otro tema importante fue la versión 6 del Protocolo IP, incluyendo las direcciones IPv6 y las principales diferencias con IPv4.
Se abordaron los siguientes temas:
-
La correlación entre los números de puerto y los servicios
-
TCP (Protocolo de Control de Transmisión)
-
UDP (User Datagram Protocol)
-
ICMP (Internet Control Message Protocol)
-
La dirección IPv6 y cómo se puede abreviar
-
Tipos de direcciones IPv6
-
Principales diferencias entre IPv4 e IPv6
Respuestas a los ejercicios guiados
-
¿Qué puerto es el predeterminado para el protocolo SMTP?
25
-
¿Cuántos puertos diferentes hay disponibles en un sistema?
65535
-
¿Qué protocolo de transporte garantiza que todos los paquetes se entreguen correctamente, verificando la integridad y el orden de los mismos?
TCP
-
¿Qué tipo de dirección IPv6 se utiliza para enviar un paquete a todas las interfaces que pertenecen a un grupo de hosts?
Multicast
Respuestas a los ejercicios de exploración
-
Mencione 4 ejemplos de servicios que utilizan el protocolo TCP por defecto.
FTP, SMTP, HTTP, POP3, IMAP, SSH
-
¿Cuál es el nombre del campo en el paquete de cabecera IPv6 que implementa el mismo recurso de TTL en IPv4?
Hop Limit
-
¿Qué tipo de información es capaz de descubrir el Protocolo de Descubrimiento de Vecinos (NDP)?
NDP es capaz de obtener diversa información de la red, incluyendo otros nodos, direcciones duplicadas, rutas, servidores DNS, pasarelas, etc.