¿Cuál es la responsabilidad de una dirección IP, MAC y de puerto?

tl; dr

Los puertos nos permiten mapear aplicaciones con números, o como nos gusta llamarlos, ¡puertos! Es posible que tenga 30 aplicaciones abiertas en su máquina, todas enviando datos de red, el sistema operativo necesita una forma de identificar cada una y lo hace a través de los puertos. Esto se hace en la capa de transporte.

A continuación, tenemos la dirección IP, así es como los enrutadores en Internet saben cómo enviar sus datos al destinatario. Esto existe en la capa de red . La capa de red es bastante complicada. Básicamente, las direcciones IP son absolutamente cruciales para las redes modernas, como Internet.

Por último, tenemos direcciones MAC. La dirección MAC permite que las computadoras en la MISMA red (la misma subred) se comuniquen. Así es como su máquina sabe cómo enviar todos sus datos encapsulados al enrutador. Las direcciones MAC existen en la capa de enlace de datos.

Las redes informáticas son un tema extremadamente complicado, así que no se desanime si esto realmente no tiene sentido. ¡Busca un buen libro en redes de computadoras que explique estos conceptos mucho mejor que yo, y lee, lee y lee!

—————————————————————————————————————-

Explicaré esto en orden, relevante para el modelo TCP / IP (DoD). El ‘puerto’ básicamente permite que su computadora establezca una conexión lógica con qué aplicación realizó qué solicitud de red. Existen puertos en la capa de transporte. Por ejemplo, un servidor web normalmente se ejecuta en HTTP (puerto 80) y HTTPS (puerto 443). Cuando una computadora quiere conectarse a un servidor web, incluye el puerto previsto en la PDU de la capa de transporte (una PDU significa unidad de datos de protocolo y esencialmente podemos pensar en esto como un paquete de datos: la palabra técnica es ‘segmento de transporte’) .

Una PDU de capa de transporte se ve así

Digamos que estamos intentando acceder a google.com.

El cálculo que genera la solicitud pondrá el puerto de destino como ‘443’ para HTTPS, ya que desea conectarse a un servidor web (y los servidores web usan HTTPS). El puerto de origen será un puerto aleatorio generado por el sistema operativo. No se preocupe por todas las demás cosas en la PDU, no puedo explicarlo sin escribir un ensayo.

Si escribe netstat -y en CMD en su máquina con Windows, le mostrará todas las conexiones TCP actuales.

En mi máquina, puede ver la conexión TCP realizada al servidor web de Google (la última entrada)

Aquí, muestra mi dirección IP privada con un puerto de origen aleatorio (50718). Recuerde, este puerto de origen aleatorio es lo que mi sistema operativo decidió para mí. Así es como mi sistema operativo sabe dónde enviar los datos que Google me envía. La imagen también muestra el puerto de destino: la dirección del servidor web de Google con el sufijo ‘https’ al final, esto solo significa el puerto 443.

A continuación, se realiza el gramo de datos IP.

Cuando se construye un gramo de datos IP en una máquina, la información IP se coloca en los campos ‘fuente’ y ‘destino’. Básicamente, la IP de origen es la máquina que está construyendo el gramo de datos (en el ejemplo anterior, la IP de origen sería 192.168.0.12, cuando los datos llegan al enrutador, el enrutador reemplaza la dirección de IP de origen con mi IP pública, porque los enrutadores en Internet no pueden enrutar a una dirección IP como 192.168.0.12!) y el destino es la IP de la máquina a la que la máquina de origen desea enviar el gramo de datos IP; en el ejemplo anterior, este es uno de busca servidores web (108.177.125.189).

Así es como se ve un paquete IPv4

Puede ver los campos de dirección de origen y destino allí, no se preocupe por las otras cosas.

Por último, la dirección MAC.

El MAC permite que la máquina fuente envíe una trama de ethernet al dispositivo que se encargará del ‘enrutamiento’ del gramo de datos IP. Ahora, técnicamente el enrutador ni siquiera mira esta información porque existen enrutadores en la capa 3, donde se encuentran todos los datos IP. La capa 2 es para ‘interruptores’, pero no entraré en detalles sobre eso aquí. Solo sepa que los marcos de ethernet existen en la capa 2 y están ‘conmutados’, no ‘enrutados’. Ahora, si está intentando comunicarse con una máquina en la misma subred, el MAC es extremadamente importante. Facilita la comunicación entre dispositivos en la misma subred. Así como la información de IP de origen y destino identifica los dispositivos de red, hay campos de origen y destino en un marco de ethernet.

Supongamos que desea comunicarse con un servidor web en la misma red que el suyo. No necesitaría un enrutador porque no abandona su red, se queda en la misma red: su LAN. Aquí es donde entra la dirección MAC, permite que los dispositivos en la misma red se comuniquen. Los conmutadores son responsables de reenviar tramas de ethernet por la red.

Un marco típico de Ethernet se ve así

La fuente MAC es la dirección MAC de la tarjeta de red en la computadora que realiza la solicitud y, por supuesto, la dirección MAC de destino pertenece al dispositivo al que desea reenviar todos sus datos. Cuando su máquina está creando el marco de ethernet, colocará su conmutador local como el MAC de destino.

Si eres como, ¡oye! No tengo un interruptor, bueno, tú sí. Esas cosas que se anuncian como ‘enrutadores’ en eBay tienen conmutadores, puntos de acceso, enrutadores y todo tipo de cosas integradas en una pequeña caja.

El MAC se cambia en cada ‘salto’ de red: en cada red que atraviesan sus datos en Internet, se cambia el MAC. Así como la dirección IP permite que dos redes se comuniquen, la MAC permite que los ‘dispositivos’ en la misma red se comuniquen.

Entonces, eso es lo que son los puertos, IP y MAC, pero cómo se integran todas estas funciones diferentes. Bueno, eso es a través de un proceso conocido como ‘encapsulación’.

Desde el segmento TCP con los puertos, hasta el datagrama IP con las direcciones IP, y ahora al marco de Ethernet con las direcciones MAC, cada ‘capa’ que atravesamos está encapsulada.

Entonces, en última instancia, el producto final es 1 y 0 en un cable físico (u ondas de radio). Pero, la encapsulación nos permite agrupar los datos (puertos, IP, etc.) en pequeños paquetes que podemos enviar a la siguiente ‘capa’ de la pila de red.

En la imagen de arriba, puede ver en verde, el segmento TCP está encapsulado en los datos del paquete IP (la carga útil del paquete IP), luego, el gramo de datos IP (azul) está encapsulado en el marco de Ethernet. El marco de ethernet está representado en rojo.

Aquí hay otro diagrama que ilustra lo mismo, pero es un poco más fácil de entender.

Y otro diagrama …

Espero que todo eso tenga sentido.

Ahora, hay algunas otras capas en juego (es decir, la capa de aplicación), pero no iré allí porque es demasiada información para una respuesta de Quora.

A partir de la capa 2 en la pila de red, la dirección MAC designa la dirección física del dispositivo, que es una dirección de 6 bytes. La dirección física del dispositivo (dirección MAC) está codificada por el proveedor en la memoria flash o en la NIC.

En la capa 3 tenemos una dirección IP, designa la dirección lógica del dispositivo. Normalmente, si sigue IPv4, la dirección será de 32 bits; si sigue IPv6, será una dirección de 128 bits. De una lista de interfaces físicas, la dirección IP descubre la red exacta donde está presente la NIC.

La dirección del puerto está en la capa 4 (capa de transporte: TCP / UDP). Cuando el paquete llega a la máquina destinada, puede haber cientos de procesos en ejecución, ¿cómo identificará la máquina a qué aplicación particular está destinado el paquete?

Esto se hace con la ayuda de la dirección del puerto. Todas y cada una de las aplicaciones o procesos se ejecutan en un puerto en particular. Por ejemplo, HTTP se ejecuta en el puerto 80, Telnet en el puerto 23, ssh en el puerto 22, etc.