Flujo de Paquetes
Todas las comunicaciones de Internet se realizan mediante el intercambio o flujo de paquetes o datos, que son la unidad mínima de datos transmitida por la red. Para que cada paquete pueda llegar a su destino, independientemente de donde se encuentren las máquinas que se comunican, debe llevar anexada la información referente a la dirección IP de cada máquina en comunicación, así como el puerto a través del que se comunican. La dirección IP de un dispositivo lo identifica de manera única dentro de una red. Los puertos de comunicación también son una parte muy importante de la que el Firewall deberá verificar y controlar también, debido a que la mayoría de comunicaciones se realizan bajo protocolos los cuales realizan el envió de paquetes mediante puertos tales como:
TCP es el protocolo de comunicación que garantiza que los datos serán entregados en su destino sin errores y en el mismo orden en que se transmitieron.
TCP usa el concepto de número de puerto para identificar a las aplicaciones emisoras y receptoras. Cada lado de la conexión TCP tiene asociado un número de puerto (de 16 bits sin signo, con lo que existen 65536 puertos posibles) asignado por la aplicación emisora o receptora. Los puertos son clasificados en tres categorías: bien conocidos, registrados y dinámicos/privados. Los puertos bien conocidos son asignados por la Internet Assigned Numbers Authority (IANA), van del 0 al 1023 y son usados normalmente por el sistema o por procesos con privilegios. Las aplicaciones que usan este tipo de puertos son ejecutadas como servidores y se quedan a la escucha de conexiones. Algunos ejemplos son: FTP (21), SSH (22), Telnet (23), SMTP (25) y HTTP (80). Los puertos registrados son normalmente empleados por las aplicaciones de usuario de forma temporal cuando conectan con los servidores, pero también pueden representar servicios que hayan sido registrados por un tercero (rango de puertos registrados: 1024 al 49151). Los puertos dinámicos/privados también pueden ser usados por las aplicaciones de usuario, pero este caso es menos común. Los puertos dinámicos/privados no tienen significado fuera de la conexión TCP en la que fueron usados (rango de puertos dinámicos/privados: 49152 al 65535, recordemos que el rango total de 2 elevado a la potencia 16, cubre 65536 números, del 0 al 65535)
User Datagram Protocol (UDP) es un protocolo del nivel de transporte basado en el intercambio de datagramas (Encapsulado de capa 4 Modelo OSI), este protocolo no garantiza que los datos serán entregados en su destino sin errores y en el mismo orden en que se transmitieron.
UDP utiliza puertos para permitir la comunicación entre aplicaciones. El campo de puerto tiene una longitud de 16 bits, por lo que el rango de valores válidos va de 0 a 65.535. El puerto 0 está reservado, pero es un valor permitido como puerto origen si el proceso emisor no espera recibir mensajes como respuesta.
- Los puertos 1 a 1023 se llaman puertos bien conocidos y en sistemas operativos tipo Unix enlazar con uno de estos puertos requiere acceso como súper usuario.
- Los puertos 1024 a 49.151 son puertos registrados.
- Los puertos 49.152 a 65.535 son puertos efímeros y son utilizados como puertos temporales, sobre todo por los clientes al comunicarse con los servidores.
- https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
Para facilitarnos el entendimiento
- MikroTik ha creado diagramas para ayudarnos a la configuración avanzada en el flujo de paquetes.
- Es bueno estar familiarizado con ellos para saber qué está pasando con los paquetes y en qué orden irán.
- Para este curso, se analizara superficialmente y de manera simple los gráficos.
- https://wiki.mikrotik.com/wiki/Packet_Flow
Diagrama de flujo de paquetes en Bridge o Capa 2 (MAC)
En este diagrama la parte de Ruteo se encuentra simplificada como un cuadro (Layer 3)
Diagrama de flujo de paquetes en Ruteo o Capa 3 (IP)
En este diagrama la parte de Bridge se encuentra simplificada como un cuadro (Bridging)