Fundamentos de WiFi (802.11), 1a parte

¿Cómo funciona WiFi? (en realidad, el protocolo MAC – control de acceso al medio). Empecemos (aunque será tema de varios posts)

Situación de partida: tenemos varios nodos, en la misma frecuencia (no olvidar), que quieren transmitir paquetes. Para ello, tenemos a otro nodo, “central”, que llamaremos punto de acceso (access point), y que hará dos cosas: anunciar la existencia de dicha red y conectar la red inalámbrica con “el resto del mundo”.

Total, que en un caso típico hay N nodos que quieren transmitir paquetes, y 1 nodo “especial” que se va a encargar de centralizar la comunicación. Tenemos 2 sentidos en la transmisión:
– “Uplink”: cuando un nodo transmite hacia el resto del mundo, que se lo manda al punto de acceso
– “Downlink”: en sentido contrario
(es “raro” que los nodos se mande información entre sí)

Olvidémonos por un momento de los sentidos de la comunicación, y consideremos sólo el envío de un paquete. Supongamos que los N+1 nodos (contando al access point) quieren transmitir. ¿Cómo hacen para compartir el medio? Porque si dos o más transmiten a la vez se produce una colisión, y toda la información se pierde (y se pierde tiempo, y se pierde energía). Muy desagradable. Hay dos opciones para coordinarse:
a) el punto de acceso va otorgando una especie de “testigo” a los usuarios, para que transmitan ordenadamente. Esto se llama PCF y no lo usa nadie 🙂
b) nos ponemos de acuerdo para intentar evitar las colisiones. Esto se llama DCF y es lo que se suele usar. Su funcionamiento es como sigue:

Primero, se divide el tiempo en ranuras (o slots). Habrá ranuras “llenas”, si alguien transmitió, y ranuras “vacías”. Con la debida sincronización, todo el mundo puede estar de acuerdo en definir una ranura como llena, y se esperará a que termine antes de transmitir (lo que es una ventaja frente a un tiempo “no ranurado”, en el que la posibilidad de “pisar” una transmisión es mayor).

Luego, antes de transmitir, elijo un numero de forma aleatoria entre 0 y un valor (llamado CW, ventana de contienda). Ése será el número de ranuras (llenas o vacías) que tengo que contar, antes de transmitir. De esta forma, si alguien más quiere transmitir, lo más probable es que tengamos números diferentes y no colisionemos. Si hay más gente, o tenemos mala suerte, transmitiremos a la vez, habrá una colisión y lo que se hará es elegir un nuevo número entre 0 y el doble de CW: así, muucha mala suerte hay que tener para volver a coincidir. (este sistema se llama “aloha ranurado”, o “csma/ca”)

El proceso se repite hasta que a) se transmita con éxito o b) superemos un número máximo de reintentos (típicamente, ocho), en cuyo caso el paquete no se transmitirá.

Problema: TODOS los nodos se comportan exactamente igual, por lo que si todo el mundo quiere transmitir, todos se llevarán el mismo ancho de banda. Incluyendo al punto de acceso. Así que reciben (1/N+1) el ancho de banda disponible (para 802.11b, nunca superior a 8 Mbps… esto ya lo contaré). ¿Qué implicaciones tiene esto? Pensemos en, por ejemplo, la naturaleza asimétrica de la navegación web (envío poco y quiero recibir páginas muy gordas): tenemos que el punto de acceso, que tiene que enviar mucha información, tiene la misma prioridad de acceso que los nodos (que tienen que enviar poca).

Y para voz sobre wifi también tiene sus problemillas… pero eso lo contaré otro día.

Anuncios

3 comentarios en “Fundamentos de WiFi (802.11), 1a parte

  1. […] En el mejor caso posible, todo el tiempo disponible lo emplearemos para la transmisión de tramas. Esto es: ni colisiones, ni  proceso de backoff (representado en la figura por los numeritos, y que intenté explicar aquí). En el mejor caso posible (repito), las estaciones “se coordinarán” (magia) para que al llegar una trama el medio justo esté libre, y transmitir sin mayor complicación. […]

  2. Sr. Pablo Serrano.- yo poseo un Servicio de Internet Satelital en un pueblo muy remoto, tengo mi Vsat que me dá servicio Hispasat y el internet satelital lo tengo en mi router Nera.- éste internet deseo retransmitirlo a 4 punto remotos. mi pregunta es si puedo llevar este internet a través de access point. o qué sistema se puede utilizar?
    Atentamente.
    Miguel Percy

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s