Cuando un adaptador de red Gigabit recibe datos, ¿cómo recibe los bits? ¿Lo está viendo todo en una secuencia de 0 y 1? ¿O hay de alguna manera múltiples transmisiones de 0 y 1 entrando al mismo tiempo?
Por ejemplo ... digamos que hay dos dispositivos de envío y un dispositivo de recepción.
Los dispositivos 1 y 2 comienzan a enviar datos de red al dispositivo 3 al mismo tiempo.
Mi suposición es que desde el punto de vista del adaptador de red del dispositivo 3, todos los 0 y 1 se encuentran en una sola secuencia de datos. Puede determinar qué datos provienen del Dispositivo 1 o 2, pero los datos siguen siendo solo una secuencia de millones / billones de bits.
¿Estoy totalmente equivocado? :)
ethernet
layer1
networking
shihku7
fuente
fuente
Respuestas:
Depende.
Mientras que muchos PHY de Ethernet transmiten datos de forma puramente en serie (por ejemplo, 100BASE-TX, 1000BASE-SX, 10GBASE-SR), algunos dividen el flujo de datos en múltiples carriles que se transmiten en paralelo.
Más comúnmente, 1000BASE-T, la variante común de gigabit sobre cobre, divide el flujo de datos codificados en cuatro carriles y transmite cada uno por separado en uno de los cuatro pares trenzados en un cable Cat-5. Todas las variantes de par trenzado desde gigabit hacia arriba usan estos cuatro carriles.
Algunos PHY de fibra de alta velocidad (10G +) también usan múltiples carriles sobre hasta dieciséis fibras (con fibra multimodo y corto alcance) o longitudes de onda (con fibra monomodo y largo alcance).
Sin embargo, todo se transmite en tramas que se ejecutan desde una única fuente a un único destino. Los marcos son generalmente atómicos, es decir. siempre se transmiten de una pieza. Cada trama solo transporta datos desde una única conexión / aplicación específica. Su encabezado contiene las direcciones de origen y destino, por lo que puede encontrar su camino a través de la red.
Cuando la red recibe dos tramas de diferentes fuentes para el mismo puerto de destino al mismo tiempo, una de las tramas debe ponerse en cola hasta que el puerto del conmutador hacia el destino haya terminado de transmitir la primera trama.
Esto supone que las fuentes y el destino se ejecutan a la misma velocidad, lo cual no es necesariamente cierto. Podría tener un servidor de archivos conectado por un enlace de 1 Gbit / s y diez clientes cada uno enviando velocidad máxima en sus enlaces de 100 Mbit / s sin colas (significativas). Esto se acerca un poco a su sugerencia de "secuencias múltiples", solo que estas secuencias están intercaladas en el nivel de trama, no en el nivel de bits.
La velocidad en un puerto de red puede ser de miles o incluso millones de tramas en un solo segundo, por lo que desde una perspectiva humana es imposible diferenciar múltiples flujos, todo parece 'simultáneo'.
fuente
Ignore la parte de Gigabit por ahora, y enfóquese un poco en su parte de "2 dispositivos están enviando al mismo tiempo".
En los medios compartidos , esto puede suceder y ser un problema. La mayoría de las transmisiones inalámbricas son medios compartidos, y Ethernet, en el pasado, solía ser:
Ahora, si dos dispositivos se envían al mismo tiempo, pueden suceder dos cosas:
usa alguna forma de multiplexación (división de tiempo, división de frecuencia ...) que permite "canales" separados para que uno pueda escuchar un canal específico y no ser molestado por los demás. Esto se usa mucho para transmisiones inalámbricas, mucho menos para transmisiones cableadas (WDM / DWDM en fibras es una excepción).
o si dos o más dispositivos están enviando al mismo tiempo en el mismo canal, entonces obtienes lo que se llama una colisión : como cuando dos personas están hablando al mismo tiempo, no puedes entender lo que dice, los dispositivos receptores no son capaces de decodificar los datos enviados por cualquiera de los dispositivos (o más a menudo, pueden decodificarlos, pero no tiene sentido y no pasarán las comprobaciones de CRC).
Aquí es donde entraron esquemas como CSMA-CD (Acceso múltiple con detección de portadora, detección de colisión):
Esto fue bastante divertido, y en redes con poca carga funcionó bastante bien, pero tan pronto como el tráfico se volvió significativo, terminarías con toneladas de colisiones, lo que a su vez aumenta el uso de los medios compartidos, lo que a su vez resulta en más colisiones, así que podría ponerse bastante mal.
La respuesta a esto fue cambiar a redes conmutadas full-duplex . Hubs solo repitió la señal sin pensar. Los interruptores, por otro lado, realmente reciben un marco y luego lo reenvían en el enlace de destino (bono adicional: el marco no se envía a todos, solo al destino en la mayoría de los casos).
Si dos dispositivos se envían al mismo dispositivo de destino, entonces el conmutador pondrá en cola uno de los cuadros, por lo que los dos cuadros que se enviaron al mismo tiempo en realidad llegan uno después del otro al destino.
Más allá de eso, en el nivel físico, es bastante posible que los datos se intercambien a través de varios pares o incluso varios cables en paralelo. Si esto se hace a nivel de bit o si se envían tramas completas en cada par / cable depende de la tecnología exacta utilizada. Pero creo que esa no era realmente tu pregunta.
fuente
Este caso particular es complejo.
En cuanto a 1000baseT.
Primero: cuando decimos en general que dos dispositivos están transmitiendo al mismo tiempo, normalmente no están enviando bits en el mismo instante en el mismo medio. Si lo hacen, hay una colisión y todos los dispositivos de escucha lo resuelven (eventualmente, a través de varios esquemas de detección de colisión). Por lo tanto, dos dispositivos de transmisión tendrán acceso al medio en momentos ligeramente diferentes. Pero en 1000baseT solo hay dos dispositivos en un conjunto dado de pares; normalmente un dispositivo es un conmutador y el otro es un host.
En segundo lugar, 1000baseT transmite dos bits de datos a la vez en un par, codificados de manera compleja a cinco niveles de voltaje. Entonces es una serie de dígitos de base 4 en el cable, no una serie de dígitos de base 2.
Tercero, 1000baseT puede transmitir en ambas direcciones al mismo tiempo, en el mismo par. Puede separar la señal saliente de la entrante por un circuito llamado híbrido.
Ethernet Gigabit sobre otros medios se comporta de manera diferente. Velocidades más lentas, por ejemplo, 10baseT y 100baseT tienen esquemas más simples. 10baseT sobre un hub realmente tiene colisiones reales; over switches normalmente está organizado por el switch para que los marcos salientes se pongan en cola; si es full duplex no hay colisiones en absoluto.
fuente
Asumiendo todos los enlaces de Ethernet con cable aquí.
Cuando dos dispositivos en el mismo segmento de red envían al mismo tiempo, sin importar a quién envíen, eso se llama colisión . Ninguno de los mensajes llega cuando ocurre una colisión. Afortunadamente, los remitentes tienen la capacidad de detectar colisiones. Cuando sucede, cada remitente elegirá una cantidad aleatoria de tiempo (pequeñas fracciones de segundo) para esperar e intentar nuevamente, y repetirá el proceso hasta que finalmente solo un remitente esté activo.
Pero esto ya casi nunca sucede.
En cambio, hoy en día la mayoría de las conexiones cableadas se realizan a través de redes conmutadas , donde cada dispositivo (tanto emisores como receptores) están todos conectados a su propio puerto separado en un conmutador. Los datos se dividen en paquetes (realmente: tramas ), y el conmutador se asegurará de que solo un paquete esté activo en cada puerto a la vez. Si un enlace está ocupado, el conmutador almacenará y reenviará otras tramas al receptor cuando el enlace vuelva a estar disponible.
Con este esquema, la única forma de tener colisiones es cuando hay más de un dispositivo conectado al conmutador o entre sí a través de un concentrador no conmutado (los puertos en algunos modelos de "enrutador" wifi doméstico aún no están conmutados), o cuando un El enlace entre un conmutador y un dispositivo funciona en modo semidúplex .
En cambio, tratamos con congestión . Es posible que no tengamos colisiones, pero un host popular en la red puede tener dispositivos que deseen enviar más datos y paquetes de los que admitirá el enlace, de modo que el búfer se llene. Pero esa es otra cuestión.
fuente
Creo que necesita obtener una comprensión básica de cómo funciona ethernet. Por ejemplo, el host emisor enviará un preámbulo de unos alternos y ceros para llamar la atención del host receptor. Cuando el host receptor ve dos en una fila, sabe que el marco es el siguiente. Una vez que se transmite la trama, debe haber silencio en la línea durante 96 bits antes de que se envíe otra trama.
Diferentes estándares de Ethernet utilizarán diferentes codificaciones. Por ejemplo, 100Base-T usa 4B5B que envía cinco bits por cada cuatro bits de datos.
fuente
(Para esta pregunta, supongo que se trata de una red compartida Hub).
Si. Independientemente de la implementación de PHY, es un flujo de entrada único. Las comunicaciones de múltiples dispositivos no pueden llegar con éxito a una sola NIC (dirección MAC) al mismo tiempo.
"flujo único" sí, pero en su ejemplo de dos dispositivos que envían simultáneamente, no habrá flujo de datos que lleguen para su posterior procesamiento; los "cuadros" de 1s y 0s colisionarán.
No, no puede. Cuando las señales se combinan, se detecta una colisión y el cuadro se descarta.
El título de su pregunta es una declaración correcta, pero su discusión en su publicación Q sugiere que su comprensión e hipótesis estaban equivocadas.
Más lejos
fuente