Cómo NO calcular capacidad de voz en WiFi

¿Cuántas conversaciones de voz caben en una WiFi? Pregunta interesante donde las "haiga"…

Empecemos por decir cuál NO es la respuesta.

Supongamos un codificador malo, G.711, que genera 80 octetos cada 10 ms. Es decir, 64 kbps. Supongamos una red 802.11b, que transmite a una tasa de pico de 11 Mbps.

Si no nos olvidamos de que por cada conversación hay DOS flujos (uno uplink, y otro downlink), llegaremos a la siguiente cuenta (errónea):

2 x N x Ancho_de_banda = 11 Mbps

De donde salen… ¡N=86 conversaciones de voz! ¡Muchas! Y en condiciones bastante "malas" de funcionamiento (no consideramos codificadores eficientes, ni multiplexión estadística). Aunque hemos supuesto 11 Mbps, que no es poca cosa.

¿86 parece un número razonable? Porque yo dije 10 en su día (y se me comían vivo) La respuesta, en próximos capítulos.

(Nota anecdótica: Herme García utilizó en un comentario-el 16- un margen del 10%, lo que daría un valor de 8.6 conversaciones, curiosamente más razonable -para mí-)

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.

FON: pues no va a poder ser (al menos, no para mí)

Ya le hemos dado un poco de estopa. Ahora quería seguir "un paso adelante": tenía la firme convicción de "hacerme" de FON (entre otras cosas, porque me gusta mucho el router), cuando hete aquí que en el proceso de compra del router aparece…

Conozco y acepto las Condiciones de la Promoción, y estoy autorizado para compartir el servicio de acceso a Internet por mi proveedor.

¡Ayyyyyy! ¡Al largero! ¡Lástima! Mi proveedor NO me deja compartir el servicio… (qué país)

Pues me voy a quedar con las ganas de "trastear" con un cacharrillo de esos, a ver si lo de FON me gustaba o no (y a ver por dónde le sacábamos las cosquillas). De momento.

(por cierto, en los propios foros de FON tratan sobre el tema legal, y la verdad es que tira "un poco" para atrás. Y sí, ya sé que todo esto es bien conocido, que no hace falta ser ingeniero, etc)

Y digo yo: ¿esto no supone un problemilla para el desarrolo de FON? Sugerencia (ésta es gratis): que los filantropóticos creen un fondo para pagar las multas de los foneros.

“Calentando motores” con FON

Si querés (je) un poco de estopa sobre FON, el amigo Varis tiene algunas opiniones (ver aquí).

Pero yo no voy a ser menos.

Aunque en próximas ediciones contaré un poco más de qué va el “rollo” de WiFi, basta con decir unas cosillas:

  • En una red WiFi, no hay forma de limitar la cantidad de usuarios autorizados que pueden transmitir tráfico. Es decir, no hay un control de acceso, sólo autorización. No te dicen “la red está sobrecargada, vuelva más tarde”. Es como un garito de mala muerte con un “puerta” que siempre dice “entra, que se está muy bien”. Cuando la cosa está cargada, por cada uno que entra, se fastidian todos un poco más.
  • Tampoco hay forma de evitar que otro transmita en mi banda de frecuencia. Estamos en una banda (2,4 GHz) libre, cualquiera puede emitir ahí siempre que no se pase de una potencia. No es como los teléfonos móviles, que cada compañía tiene la exclusividad de un canal: aquí “todos tenemos derechos” (y nadie deberes, lo que me resulta familiar…)
  • Y hay 11 canales, lo que significa que más de 11 puntos de acceso en una localización (suponiendo uno en cada canal, que sólo es fácil con planificación centralizada) es una situación “delicada”.
  • Un punto de acceso puede dar soporte a unas… 10 (más o menos) conversaciones de voz, y en condiciones razonables.

Ahora pensemos en una urbe grande, Madrid. Un estadio, el Bernabeu. Tenemos a 80.000 personas. Llega un argentino que nos quiere dar “cobertura WiFi” para que funcione el Skype y nos ahorremos unos leurillos en la factura (si fuese jazztel, lo mismo no está tan interesado en que ahorremos). Supongamos que estamos en “el futuro”, y que todos tenemos teléfono WiFi, o Skype, o PDA o como queráis llamarlo. Hay 5.000 personas (1 de cada 16) que pueden usar el servicio. Y como mucho quieren hablar por teléfono a la vez unas 1.000 personas (por dar unas cifras, a mi juicio, modestas).

1000 conversaciones = 100 puntos de acceso.

Martin, me tienes que convencer a 100 foneros que estén cerca del estadio, y ojo a las frecuencias que me ponés, vaya a ser que se pisen las transmisiones y la gente no pueda hablar y deduzca -erróneamente- que esto del WiFi es un rollo (las tecnologías no se inventan rollos, es la gente). Y por si esto fuera poco:

  • Hay que controlar que por cada punto de acceso no entran más de los que caben, o se fastidian todos (cosa no trivial)
  • El bluetooth o cualquier otro dispositivo puede meter interferencias, a ver qué hacemos. Es más:
  • Cualquier otra red “no FON” (¿antifon?) puede pisar las transmisiones, y no hay nada que hacer (las protestas, al maestro armero)

Y todo esto para conversaciones de voz, que no es, ni mucho menos, la aplicación que más tráfico genera. Esperemos que, en el “mundo FON”, a la gente no le dé por usar eMule, o videoconferencias, o streaming… pero éstas son aplicaciones que no interesan a nadie

Tsh! Varsavsky! despierta! Fíchame! (Es lo que queremos todos, ¿no?)

Permaneced atentos, que esto no ha hecho más que empezar… ¡frente a las palabras embaucadoras, la frialdad de los números! (TM)

La cuenta de la vieja en menéame: romper contraseñas

Acabo de leer en meneame.net un artículo… ¡en portada! Que trata sobre el tiempo para romper una contraseña según el alfabeto de la contraseña, el tamaño de la clave y la potencia del que quiere romper la clave.

Resumen del artículo: a 10 kilómetros por hora, recorres 10 kilómetros en 1 hora. A 100 kilómetros por hora, recorres 10 kilómetros en 6 minutos y 100 kilómetros en 1 hora (etc). Es decir: tiempo = espacio / velocidad.

En realidad, lo que dice es que si tienes 10 símbolos y cada símbolo se escoge de un alfabeto de tamaño 2, tienes 2x2x2…x2 (10 veces) posibles claves. 1024 claves, vaya. Que a 512 claves probadas por segundo, son 2 segundos para recorrer todo el espacio.

GUAU. Toma nivel. Dadle más meneos. Que corra la voz.

Pero vamos a ver, ¿tan caro está el kilo de sentido común? ¿Ya no se enseña aritmética básica en la escuela? O quizás el mérito del artícuo es éste: saber hacer cuentas que ya pocos adolescentes saben… (la educación, divino tesoro escondido).

“No, es que son valores de referencia para el mundo real”. Claro, nos olvidamos de que en el mundo “real” a los tres intentos te quedas un rato sin poder probar (no sólo pasa en los cajeros), y que los símbolos no son “para nada” equiprobables… ¿Alguien ha metido en su clave, alguna vez, uno o más de uno de estos caracteres: “#$£%&'()*+,-./:;<=>?@[\]^_`{|}~” ? ¿Acaso se puede ser tan paranoico?