¿Cómo se leen los datos enviados por la computadora desde la red?

Esa es una pregunta enorme, enorme y una respuesta completa es el nivel de postgrado, o al menos un gran libro que vale la pena leer.

La computadora generalmente está conectada a la red mediante un cable. (WiFi funciona de manera similar pero es aún más complejo).

El cable Ethernet tiene ocho cables dispuestos en cuatro pares. Cada par de cables tiene un voltaje variable entre sus dos cables. En cualquier momento dado, el voltaje puede tener uno de cinco valores diferentes. Si etiquetamos esos voltajes 0,1,2,3 y 4, juntos los cuatro pares pueden tener 5x5x5x5 = 625 estados diferentes en cualquier momento.

Esos estados se asignan a 8 bits de datos (256 estados diferentes). Debido a que la mayoría de los estados no se utilizan, la computadora generalmente puede saber cuándo los datos están dañados.

Esos bytes se utilizan para implementar el nivel más bajo de protocolo de red. Esto proporciona suficiente información para que la computadora reconozca dónde comienzan y dónde terminan los datos. Comienza con siete bytes de 1s y 0s alternos, y termina con doce bytes de ceros.

Entre estos dos están los datos, que se llama un “paquete”, el primer byte es un 10101011 constante, diseñado simplemente para finalizar los alternados y ceros y marcar el inicio de los datos reales, y los siguientes seis son la dirección MAC de la computadora a la que se envía el paquete. Se utiliza una dirección MAC de todos los 1 para enviar un paquete a todas las computadoras en la red. A continuación se encuentra la dirección MAC de la computadora que envió el mensaje, y a continuación hay dos bytes que describen el tipo de protocolo que se utiliza en el resto del paquete. Eso deja entre 46 y 1500 bytes para la carga útil de Ethernet. A Ethernet no le importa cuáles son esos datos. Simplemente observa el tipo de dos bytes y pasa los datos al siguiente nivel de protocolo. Entre la carga útil y el final del paquete hay un número de verificación de error (CRC) de cuatro bytes. Esto se utiliza para permitir que la computadora verifique que el paquete no se haya dañado. Si el CRC está equivocado, ignorará silenciosamente todo el paquete y esperará al siguiente.

Hasta ahora podemos obtener un paquete de datos de una computadora en una red Ethernet a otra computadora en la misma red Ethernet. Eso está muy bien, pero Facebook no está en la misma red Ethernet que su computadora, por lo que necesitamos una manera de hacer que los datos pasen de una red a otra hasta que encuentre la computadora a la que quiere llegar.

Eso se hace mediante el Protocolo de Internet, el bit “IP” de “TCP / IP”. Si el número de tipo Ethernet es 2048, la carga útil debe entenderse como un paquete IP (versión 4). Hay muchas cosas allí, vea IPv4 – Wikipedia si tiene curiosidad, pero entre otras cosas están las direcciones IP de cuatro bytes para la computadora que envió el paquete y la computadora a la que se envía, junto con otro número de protocolo de dos bytes. Entonces, la mayor parte del paquete es solo carga útil nuevamente para pasar al siguiente nivel de protocolo.

Entonces, si su computadora desea enviar datos a Facebook, la dirección IP de destino en el paquete IP será para el servidor de Facebook. Sin embargo, la dirección MAC de Ethernet será la dirección de su enrutador. Su enrutador recibe el paquete, determina que es para una computadora fuera de su casa y lo pasa por el cable del teléfono. Del mismo modo, un paquete de Facebook ingresa a su enrutador desde el exterior y su enrutador agrega un protocolo Ethernet que lo envuelve con una dirección de destino de su computadora.

Uno de los protocolos que puede ser la carga útil de IP es TCP. El trabajo de TCP es manejar las conexiones entre programas específicos en cada extremo de la conversación. IP ha hecho una conexión entre dos computadoras. Ahora TCP hace una conexión entre dos programas. Lo hace con números de puerto. Una conexión TCP está entre un puerto en su computadora y un puerto en la otra computadora. Por lo general, uno de esos, el que está en el servidor, es un número bien conocido. Por ejemplo, todos los servidores de World-Wide-Web usan el número de puerto 80 a menos que haya alguna razón para ocultarlos.

TCP maneja toda la detección de errores, retransmite datos perdidos y desecha datos duplicados, por lo que proporciona una secuencia de bytes simple a lo que sea que esté escuchando un puerto. Ya no hay paquetes, solo un flujo continuo de bytes.

Uno de los protocolos que utiliza TCP es HTTP (Protocolo de transferencia de hipertexto). Cuando le da una dirección web a su navegador web, las primeras letras son el nombre del protocolo que utilizará. Eso es lo que significa “http:” al comienzo de cada dirección web (https es http encriptada). Su navegador web realiza una conexión TCP al puerto 80 del servidor web y le envía una solicitud de una página. El navegador web responde con un número de estado y el contenido de la página. Si todo va bien, el estado es 200. Si algo sale mal, el estado mostrará lo que sucedió. Statii en el rango de 300 son redirecciones. Las estadísticas en el rango de 500 son violaciones de seguridad. Mientras que las estadísticas en el rango de 400 significan que la página no se pudo recuperar por alguna razón, la más famosa, por supuesto, es 404: la página no existe.

Richard Urwin da una respuesta detallada, pero si desea una metáfora simplificada:

Los datos que debe enviar una aplicación descienden por la pila de procesamiento y se asignan a una ruta establecida previamente. La ruta tiene una dirección de origen y de destino que ayuda a la computadora en el otro extremo a enviar los datos a la aplicación correcta. Estas direcciones se llaman puertos.

A medida que avanza por la pila, se dividirá en pequeñas parcelas, o lo que llamamos paquetes. Estos también tienen una dirección de origen y una de destino, solo que esta vez para encontrar la computadora remota a través de la red. Estas direcciones se llaman direcciones IP.

Por último, las parcelas se envolverán en otra parcela llamada marco. El marco tiene una fuente y un destino, pero esta vez solo para encontrar el siguiente enrutador en la red, esta dirección solo es localmente significativa. Estas se llaman direcciones MAC o de hardware.

En el receptor, el marco llega con la dirección de destino de la tarjeta de red y se desenvuelve. El paquete tiene la dirección de destino de la computadora y las parcelas se ensamblan en el mensaje original. El mensaje completo se envía a la aplicación utilizando el número de puerto para su identificación.

Ambas computadoras tienen que usar el mismo protocolo. El protocolo definiría cómo se preparan, envían, transportan, reciben y procesan los datos. Por ejemplo, internet usa un protocolo llamado TCP / IP