Ethernet abarca dos capas del modelo OSI para trabajar, el Data Link Layer y el Physical Layer, y entre sus definiciones describe las características necesarias del medio para poder transmitir, más no habla de configuraciones de cableado o algo similar, es importante recordar esto.
Ethernet usa un protocolo llamado Carrier Sense Multiple Access with Collision Detection (CSMA/CD) para poder compartir el medio entre los diferentes dispositivos sin que ocurra que dos hosts quieran transmitir al mismo tiempo sobre el medio de red y fue creado precisamente con este propósito, ya que es vital evitar las colisiones en el medio para asegurar que los mensajes que se intercambian entre los nodos lleguen de manera íntegra, y se logra ya que todos los hosts conectados reciben los mensajes y los examinan, ya que se encuentran en el mismo dominio de colisión, y sabemos que un switch, un bridge, un router, pueden cambiar ésto, pero hablamos de hosts conectados a un bus, que es como se desarrolló Ethernet.
La manera en la que funciona este protocolo es la siguiente:
Cuando un host quiere transmitir en el medio, primero revisa que no haya presencia de señal en el medio; en caso de que no sea así, envía su frame; pero constantemente se está revisando el medio para detectar transmisiones de otro nodo (Carrier Sense Multiple Access). Si el host detecta otra señal en el cable, enviará una señal de congestión (jam signal) que hará que todos los nodos dejen de transmitir y esperarán un tiempo aleatorio para volver a intentar enviar mensajes al medio.
Ese tiempo aleatorio se determina con un algoritmo llamado de Backoff, y si la colisión se repite 15 veces, los nodos tendrán un timeout, es decir, su oportunidad de acceder al medio se ha terminado y deben esperar nuevamente su oportunidad.
Ahora bien, ¿qué pasa cuando una colisión ocurre?
- Se envía una jam signal a todos para informar la colisión
- Se invoca el algoritmo de Backoff en los nodos y dejan de transmitir.
- Todos los nodos tienen la misma prioridad para entrar al medio cuando el tiempo de Backoff termina.
- Debido a los timers de backoff, se crea un retardo (delay)
- Baja el throughput (capacidad del enlace o link)
- Se ocasiona una congestión.