He leído en una LAN que los datos se transmiten en paquetes para permitir que solo una estación transmita en un momento dado, entonces, ¿cómo podría aplicarse esto en las fiestas LAN de videojuegos si solo un dispositivo va a transmitir en un determinado momento? hora ?
Los datos generalmente se transmiten en paquetes. Debido a que el medio es compartido, solo una estación a la vez puede transmitir un paquete.
Stalling, Data and Computer Communications , 5th ed.Pearson
Respuestas:
Solo se permite la transmisión de un dispositivo a la vez. En cualquier otro momento, otro dispositivo puede transmitir.
¿Cómo puedes tener una conversación en una mesa si solo una persona puede hablar en cualquier momento?
fuente
Algunos protocolos de LAN, en algunos medios, son half duplex. Eso significa que solo un host en una LAN puede enviar una trama en un momento dado. El ejemplo clásico de esto es el ethernet original, pero el ejemplo moderno es Wi-Fi.
El ethernet original funcionaba con coaxial, y usaba CSMA / CD (Acceso múltiple con detección de portadora con detección de colisión) para detectar colisiones a las que enviaban dos hosts al mismo tiempo, y luego enviaba una señal de interferencia porque los datos estaban corruptos. Cada host retrocedería un tiempo aleatorio e intentaría reenviar, pero los hosts primero escucharon el medio para ver si algún otro host estaba enviando.
Hoy, Wi-Fi utiliza un medio compartido: las ondas de radio. Solo un host a la vez puede enviar. Wi-Fi utiliza CSMA / CA (Acceso múltiple de detección de operador con prevención de colisión) para tratar de evitar colisiones.
En términos humanos, cada cuadro utilizado en el medio es bastante pequeño, y no permanece en el medio por mucho tiempo, por lo que al turnarse y compartir el medio, los anfitriones nos parecen, a los humanos lentos, usar el medio simultáneamente.
fuente
La respuesta (ingenua) es, o más bien solía ser, simple: se traduce en que cada remitente tiene que esperar una pequeña fracción de segundo. No hay forma de evitar esto porque así es como funciona la red a nivel físico, pero tampoco es un gran problema ya que estamos hablando de unos pocos microsegundos (micro, no mili).
La respuesta algo menos ingenua sería que, a menos que LAN también incluya WLAN, su presupuesto está desactualizado (incorrecto). En una WLAN, aún no tiene muchas opciones. Mientras una estación está enviando, ninguna otra estación puede enviar (a menos que utilicen un canal no superpuesto completamente diferente, pero en realidad son dos redes, no una, por lo que una sería trampa).
Las computadoras en una LAN moderna de "juegos" generalmente se conectarán a través de al menos 100BASE-TX, más probablemente 1000BASE-T, las cuales son compatibles con la operación full-duplex para empezar. Esto significa que puede enviar y recibir en el mismo cable físico (bueno, un cable diferente dentro del cable, pero aún) al mismo tiempo. Por lo tanto, la noción de tener que esperar mientras el cable está ocupado ya no es tan claro, ya que el envío ya no interfiere con la recepción. Solo el tráfico proveniente de varios otros remitentes interfiere independientemente.
Además, los cables hoy en día casi sin excepción se enchufarán a un conmutador (en lugar de a un concentrador) que, en principio (dependiendo de la calidad del hardware) puede enviar y recibir de forma independiente en cada puerto al mismo tiempo, y que en principio (de nuevo, dependiendo de la calidad del hardware) tiene suficiente ancho de banda interno para procesar N veces el rendimiento teórico máximo para N puertos. Su millaje puede variar ligeramente ya que la calidad del interruptor varía. Algunos conmutadores muy baratos tendrán N puertos, pero solo el ancho de banda suficiente correspondiente a la mitad de los datos que se pueden enviar a través de N puertos al mismo tiempo. A menudo, incluso eso es (sorprendentemente) lo suficientemente bueno.
Por lo tanto, todavía tendrá algunos retrasos ocasionales e inevitables debido a que los paquetes deben estar en cola cuando dos computadoras en la red envían casi al mismo tiempo al mismo destino (el conmutador toma esa decisión, no la tarjeta de red de su computadora) , pero en su mayor parte "simplemente funcionará". Tenga en cuenta que incluso cuando no "solo funciona", funciona de todos modos, solo toma un microsegundo o dos más para recibir los datos.
fuente
Ese libro está un poco anticuado, consulte información sobre cómo evolucionó Ethernet y la diferencia entre half-duplex y full duplex:
https://en.wikipedia.org/wiki/Ethernet#Evolution
fuente
Esto es cierto para las implementaciones de Ethernet de la vieja escuela (10base2, 10base5 et al ... así como 10baseT y 100baseT SI se usó un concentrador sin conmutación) que realmente utilizaba un medio compartido física o lógicamente (planta de cableado) para conectar más de dos transmisiones puertos aptos. Si dos estaciones se transmiten accidentalmente al mismo tiempo, la señal en ese medio compartido se confunde: los puertos de red se diseñaron para detectar tales señales confusas y enviar otra señal al medio, que aún podría leerse correctamente sobre los datos confusos e indicar a todos que todas sus transmisiones no son válidas y tendrán que repetirse después de un tiempo de espera. El problema con estas configuraciones era que si algo cargaba la red a su límite con paquetes pequeños, el ancho de banda alcanzable terminaba significativamente por debajo del máximo teórico,
En una Ethernet totalmente conmutada (como se obtendría al construirla con cualquier parte comúnmente disponible en una tienda después de ca. 2004. "Completamente conmutada" porque existen formas híbridas (ed) donde se compartieron múltiples medios compartidos (con más de 2 puertos) separados por conmutadores), siempre hay dos puertos (uno en el conmutador, el otro en una computadora u otro dispositivo conectado) que comparten un medio. Cualquier ethernet tipo "T" tiene pares de cables separados para cada dirección, por lo que entre dos puertos siempre será posible que ambos transmitan y reciban al mismo tiempo. Un conmutador siempre ordenará paquetes de múltiples remitentes en una secuencia válida y lo transmitirá donde decida que necesita enviarlos, a menos que esté realmente sobrecargado (lo que es poco probable que ocurra en una situación de red doméstica).
Para completar, algunos otros sistemas LAN cableados no Ethernet (hoy en día raramente utilizados) (por ejemplo, Token Ring, FDDI) usaron diferentes métodos para disciplinar el acceso medio, en algunos casos negociando positivamente el privilegio de enviar antes de que alguien pudiera transmitir una carga útil.
WIFI también tiene que lidiar con un problema de medio compartido, y también el hecho de que dos transmisores en conflicto podrían tener una visibilidad diferente para diferentes receptores. Se utiliza un algoritmo llamado CSMA / CA para resolver esto.
fuente
En una red de 10 Mb / s, un paquete de tamaño completo tarda aproximadamente 1 ms en transmitirse. La mayoría de los paquetes de juegos son mucho más pequeños, por lo que no se da cuenta de esta latencia y podría obtener cientos de actualizaciones por segundo con bastante facilidad. El gran retraso proviene de una distancia de al menos 18 ms por 1000 millas. Esta es la corriente de luz y no se puede evitar. Otros paquetes en el cable pueden agregar a esa latencia, eso se llama jitter.
fuente
En cada videojuego siempre hay un retraso entre el momento en que un jugador ofrece información (presionando un botón, moviendo un joystick, etc.) y la reacción a eso. Incluso hay un retraso perceptible entre la computadora que detecta un cambio de control y ese cambio aparece en el siguiente cuadro en la pantalla *, por lo que algunos jugadores reducirán la configuración de gráficos (haciendo que el juego sea menos bonito) para mantener 60 FPS.
Las redes también introducirán este retraso por varias razones, una de las cuales es porque los jugadores no pueden recibir dos mensajes al mismo tiempo. Si otras dos computadoras intentan enviar un mensaje al mismo tiempo, una se apagará y dejará que la otra vaya primero (en un medio de transmisión compartido, como WiFi) o un conmutador recibirá ambas al mismo tiempo, pero enviará una antes de otro al destino (Ethernet moderna con cable).
Sin embargo, los retrasos en una LAN son pequeños y se ven reducidos por la cantidad de retraso (decenas o incluso cientos de veces mayor) que se produce al jugar en Internet.
Entonces, ¿cómo puede funcionar eso? Por lo general, los juegos modelarán al otro jugador, prediciendo el movimiento futuro en función del movimiento actual, para que lo veas moverse suavemente en una determinada dirección, incluso si tu computadora no siempre recibe actualizaciones inmediatas sobre dónde está realmente. (El código que hace esto a menudo se denomina código de red ). Es por eso que los jugadores a veces saltan repentinamente de un lugar a otro; la predicción se desincronizó con lo que realmente estaba sucediendo, a menudo debido a un retraso de la red.
* Esto generalmente no se percibe como "vi un retraso" pero "los controles se sienten lentos" o similares.
fuente