Documentos de Académico
Documentos de Profesional
Documentos de Cultura
};
Fig. 30 Estructura del buffer
60
En la figura 30 se muestra el cdigo para crear struct sk_buff, que es la
estructura del buffer utilizado para almacenar momentneamente los datos que
llegan y se utiliza la biblioteca /include/linux/skbuff.h.
Todos los protocolos utilizan el mismo sk_buff. Los protocolos de transporte y los
drivers crean estructuras de paquete para los datos que les llegan. stos se
gestionan a travs de los buffers que se muestran en la figura 31.
Fig. 31 Estructura del buffer.
61
Fig. 32 Secuencia de envo
int tcp_sendmsg(struct sock *sk, struct msghdr *msg, int size)
{
struct iovec *iov;
struct tcp_opt *tp;
struct sk_buff *skb;
int iovlen, flags;
int mss_now;
int err, copied;
long timeo;
tp = &(sk->tp_pinfo.af_tcp);
lock_sock(sk);
TCP_CHECK_TIMER(sk);
flags = msg->msg_flags;
timeo = sock_sndtimeo(sk, flags&MSG_DONTWAIT);
/* Wait for a connection to finish. */
if ((1 << sk->state) & ~(TCPF_ESTABLISHED | TCPF_CLOSE_WAIT))
if((err = wait_for_tcp_connect(sk, flags, &timeo)) != 0) goto out_err;
/* This should be in poll */
clear_bit(SOCK_ASYNC_NOSPACE, &sk->socket->flags);
Fig. 33 Estructura del proceso de envio del mensaje
62
El mtodo tcp_sendmsg() mostrado en la figura 32 y visualizado
estructuralmente en la figura 33 ubicado en la biblioteca /net/ipv4/tpc.c realiza las
siguientes acciones:
Reserva memoria de sistema para los paquetes llamando a la la funcin
tcp_alloc_pskb()
Trocea los datos en unidades MTU y crea una estructura sk_buff para
almacenar cada MTU. Se copian los datos desde la memoria de usuario a
las estructuras sk_buff. Mediante csum_and_copy_from_user() se realiza
la copia y el clculo del cdigo de eror. Las estructuras sk_buff para un
mismo mensaje estn enlazadas.
Llama a tcp_write_xmit() para controlar que el receptor tiene disponible
una ventana de recepcin (segn el algoritmo de control de flujo de ventana
deslizante) y cuando se tiene el visto bueno (se utiliza un timer) se llama a
tcp_transmit_skb()
Fig. 34 cuadro no. 5 tcp_transmit_skb
63
El cuadro 5 de la figura 34, corresponde a tcp_transmit_skb() que es el compone
de la cabecera TCP para cada sk_buf y contiene la informacin del sock (se llama
segn el nmero de paquetes). Decide si se encolan o se envan (figura 35).
Fig. 35 Se procede a enviar el mensaje mediante un socket
64
int tcp_transmit_skb(struct sock *sk, struct sk_buff *skb)
{
if(skb != NULL) {
struct tcp_opt *tp = &(sk->tp_pinfo.af_tcp);
struct tcp_skb_cb *tcb = TCP_SKB_CB(skb);
int tcp_header_size = tp->tcp_header_len;
struct tcphdr *th;
int sysctl_flags;
int err;
#define SYSCTL_FLAG_TSTAMPS 0x1
#define SYSCTL_FLAG_WSCALE 0x2
#define SYSCTL_FLAG_SACK 0x4
sysctl_flags = 0;
if (tcb->flags & TCPCB_FLAG_SYN) {
tcp_header_size = sizeof(struct tcphdr) + TCPOLEN_MSS;
if(sysctl_tcp_timestamps) {
tcp_header_size += TCPOLEN_TSTAMP_ALIGNED;
sysctl_flags |= SYSCTL_FLAG_TSTAMPS;
}
if(sysctl_tcp_window_scaling) {
tcp_header_size += TCPOLEN_WSCALE_ALIGNED;
sysctl_flags |= SYSCTL_FLAG_WSCALE;
}
if(sysctl_tcp_sack) {
sysctl_flags |= SYSCTL_FLAG_SACK;
if(!(sysctl_flags & SYSCTL_FLAG_TSTAMPS))
tcp_header_size += TCPOLEN_SACKPERM_ALIGNED;
}
} else if (tp->eff_sacks) {
/* A SACK is 2 pad bytes, a 2 byte header, plus
* 2 32-bit sequence numbers for each SACK block.
*/
tcp_header_size += (TCPOLEN_SACK_BASE_ALIGNED +
(tp->eff_sacks * TCPOLEN_SACK_PERBLOCK));
}
th = (struct tcphdr *) skb_push(skb, tcp_header_size);
skb->h.th = th;
skb_set_owner_w(skb, sk);
Fig. 36 Estructura del envio del mensaje mediante un socket
65
/* Build TCP header and checksum it. */
th->source = sk->sport;
th->dest = sk->dport;
th->seq = htonl(tcb->seq);
th->ack_seq = htonl(tp->rcv_nxt);
*(((__u16 *)th) + 6) = htons(((tcp_header_size >> 2) << 12) | tcb->flags);
if (tcb->flags & TCPCB_FLAG_SYN) {
/* RFC1323: The window in SYN & SYN/ACK segments
* is never scaled.
*/
th->window = htons(tp->rcv_wnd);
} else {
th->window = htons(tcp_select_window(sk));
}
th->check = 0;
th->urg_ptr = 0;
if (tp->urg_mode &&
between(tp->snd_up, tcb->seq+1, tcb->seq+0xFFFF)) {
th->urg_ptr = htons(tp->snd_up-tcb->seq);
th->urg = 1;
}
if (tcb->flags & TCPCB_FLAG_SYN) {
tcp_syn_build_options((__u32 *)(th + 1),
tcp_advertise_mss(sk),
(sysctl_flags & SYSCTL_FLAG_TSTAMPS),
(sysctl_flags & SYSCTL_FLAG_SACK),
(sysctl_flags & SYSCTL_FLAG_WSCALE),
tp->rcv_wscale,
tcb->when,
tp->ts_recent);
} else {
tcp_build_and_update_options((__u32 *)(th + 1),
tp, tcb->when);
TCP_ECN_send(sk, tp, skb, tcp_header_size);
}
tp->af_specific->send_check(sk, th, skb->len, skb);
Fig. 37 Continuacin de la figura 36
En las figuras 36 y 37 se muestra el cdigo de la funcin tcp_transmit_skb(), el
cual se encuentra en la biblioteca /net(ipv4/tcp_output.c y Construye la cabecera
TCP y calcula el cdigo de error (checksum) para cada sk_buff con la informacin
disponible en sock. Se llama a esta funcin tantas veces como paquetes existan.
66
Fig. 38 Estructura en donde se toma la decisin de enviar o encolar el o los paquetes
Funcin tcp_transmit_skb() que se encuentra en la biblioteca
/net(ipv4/tcp_output.c, este llama a tcp_send_skb() (fig. 38) que decide si enva o
encola los paquetes aadiendo la correspondiente estructura sk_buff a la lista
enlazada (en los dos sentidos) con los paquetes pendientes de envo.
La funcin tcp_send_skb() tambin se encarga de actualizar el nmero de
secuencia de los paquetes (con la informacin disponible en sock)
Finalmente, tcp_transmit_skb() llama a ip_queue_xmit()
67
Fig. 39 Diagrama del proceso de salida del paquete
En el cuadro 6 de la figura 39 que corresponde a la funcin ip_queue_xmit() la
cual se encarga de poner la cabecera IP y llamar a dev_queue_xmit() para que
vaya transmitiendo cada paquete (figura 40).
En el cuadro 7 de la figura 39 que corresponde a la funcin dev_queue_xmit()
acta sobre la estructuras sk_buff de los paquetes pendientes.
La rutina socket() de la biblioteca de C devuelve un descriptor de fichero, las
llamadas a las funciones del sistema de E/S read() y write() pueden utilizarse.
Cuando un proceso se comunica a travs de la red utiliza las funciones que
proporciona la capa de sockets BSD. Esta capa se encarga de tareas similares a
las del sistema de ficheros virtuales y permite administrar una estructura de datos
general para los sockets.
Debajo est la capa de sockets INET que gestiona los extremos de comunicacin
para los protocolos TCP y UDP. Estos se manejan a travs de estructuras de
datos sock (sockets INET). Segn el tipo de socket, la capa que hay debajo es la
capa TCP, UDP, o directamente la capa IP. Debajo de la capa IP estn los
dispositivos, a los que la capa IP pasa los paquetes finales. Se asume que los
68
procesos que se comunican han creado sus sockets y se encuentran conectados
unos con otros a travs de connect() o accept().
Fig. 40 ip_queue_xmit()
69
int ip_queue_xmit(struct sk_buff *skb)
{
struct sock *sk = skb->sk;
struct ip_options *opt = sk->protinfo.af_inet.opt;
struct rtable *rt;
struct iphdr *iph;
/* Make sure we can route this packet. */
rt = (struct rtable *)__sk_dst_check(sk, 0);
if (rt == NULL) {
u32 daddr;
/* Use correct destination address if we have options. */
daddr = sk->daddr;
if(opt && opt->srr)
daddr = opt->faddr;
/* If this fails, retransmit mechanism of transport layer will
* keep trying until route appears or the connection times itself
* out.
*/
if (ip_route_output(&rt, daddr, sk->saddr,
RT_TOS(sk->protinfo.af_inet.tos) | RTO_CONN | sk->localroute,
sk->bound_dev_if))
goto no_route;
__sk_dst_set(sk, &rt->u.dst);
sk->route_caps = rt->u.dst.dev->features;
}
skb->dst = dst_clone(&rt->u.dst);
if (opt && opt->is_strictroute && rt->rt_dst != rt->rt_gateway)
goto no_route;
/* OK, we know where to send it, allocate and build IP header. */
iph = (struct iphdr *) skb_push(skb, sizeof(struct iphdr) + (opt ? opt->optlen : 0));
*((__u16 *)iph) = htons((4 << 12) | (5 << 8) | (sk->protinfo.af_inet.tos & 0xff));
iph->tot_len = htons(skb->len);
iph->frag_off = 0;
iph->ttl = sk->protinfo.af_inet.ttl;
iph->protocol = sk->protocol;
iph->saddr = rt->rt_src;
iph->daddr = rt->rt_dst;
skb->nh.iph = iph;
/* Transport layer set skb->h.foo itself. */
if(opt && opt->optlen) {
iph->ihl += opt->optlen >> 2;
ip_options_build(skb, opt, sk->daddr, rt, 0);
}
return NF_HOOK(PF_INET, NF_IP_LOCAL_OUT, skb, NULL, rt->u.dst.dev,
ip_queue_xmit2);
no_route:
IP_INC_STATS(IpOutNoRoutes);
kfree_skb(skb);
return -EHOSTUNREACH;
}
Fig. 41 estructua de cdigo en la que ip_queue_xmit() contruye la cabecera IP
70
En la figura 41 se enuncia el cdigo de la funcin ip_queue_xmit() que se
encuentra en la biblioteca /net/ipv4/ip_output.c y construye la cabecera IP, busca
la ruta, aade el cdigo de error (checksum), fragmenta y llama a
dev_queue_xmit() (fig. 42).
Fig. 42 La rutina dev_queue_xmit() se encarga de la transmisin del sk_buff correspondiente a
cada paquete, a travs de la tarjeta de red (a travs de una llamada a su controlador
71
int dev_queue_xmit(struct sk_buff *skb)
{
struct net_device *dev = skb->dev;
struct Qdisc *q;
if (skb_shinfo(skb)->frag_list &&
!(dev->features&NETIF_F_FRAGLIST) &&
skb_linearize(skb, GFP_ATOMIC) != 0) {
kfree_skb(skb);
return -ENOMEM;
}
/* Fragmented skb is linearized if device does not support SG,
* or if at least one of fragments is in highmem and device
* does not support DMA from it.
*/
if (skb_shinfo(skb)->nr_frags &&
(!(dev->features&NETIF_F_SG) || illegal_highdma(dev, skb)) &&
skb_linearize(skb, GFP_ATOMIC) != 0) {
kfree_skb(skb);
return -ENOMEM;
}
/* If packet is not checksummed and device does not support
* checksumming for this protocol, complete checksumming here.
*/
if (skb->ip_summed == CHECKSUM_HW&&
(!(dev->features&(NETIF_F_HW_CSUM|NETIF_F_NO_CSUM)) &&
(!(dev->features&NETIF_F_IP_CSUM) ||
skb->protocol != htons(ETH_P_IP)))) {
if ((skb = skb_checksum_help(skb)) == NULL)
return -ENOMEM;
}
/* Grab device queue */
spin_lock_bh(&dev->queue_lock);
q = dev->qdisc;
if (q->enqueue) {
int ret = q->enqueue(skb, q);
qdisc_run(dev);
spin_unlock_bh(&dev->queue_lock);
return ret == NET_XMIT_BYPASS ? NET_XMIT_SUCCESS : ret;
}
/* The device has no queue. Common case for software devices:
loopback, all the sorts of tunnels...
Really, it is unlikely that xmit_lock protection is necessary here.
(f.e. loopback and IP tunnels are clean ignoring statistics counters.)
However, it is possible, that they rely on protection
made by us here.
Check this and shot the lock. It is not prone from deadlocks.
Either shot noqueue qdisc, it is even simpler 8)
*/
if (dev->flags&IFF_UP) {
int cpu = smp_processor_id();
if (dev->xmit_lock_owner != cpu) {
spin_unlock(&dev->queue_lock);
spin_lock(&dev->xmit_lock);
dev->xmit_lock_owner = cpu;
Fig. 43 La rutina dev_queue_xmit() se encarga de la transmisin del sk_buff correspondiente a cada
paquete, a travs de la tarjeta de red (a travs de una llamada a su controlador)
72
En la figura 43 se encuentra el cdigo de la funcin dev_queue_xmit() la cual se
encuentra en la biblioteca /net/core/dev.c y se encarga de:
La rutina dev_queue_xmit() se encarga de la transmisin del sk_buff
correspondiente a cada paquete, a travs de la tarjeta de red (a travs de
una llamada a su controlador.
La funcin acta sobre las estructuras sk_buff de todos los paquetes
pendientes de envo de todas las aplicaciones que necesitan enviar a travs
del mismo dispositivo.
Las estructuras sk_buff se encuentran enlazadas a travs de una lista (en
una sola direccin) (Fig. 44).
Fig. 44 Diagrama explicativo de la interaccin
73
2.3.5 Ubicacin de las Funciones ejecutadas para enviar un mensaje a
travs de Sockets en Linux
Fig. 45 Ubicacin de las funciones ejecutadas para enviar un mensaje a travs de sockets en Linux
Otras estructuras o punteros que se incluyen en esta estructura de la figura 45
son:
- Cabecera de la cola de recibidos
- Cabecera de la cola de enviados
- Direccin fuente para el socket
- Colas extras para paquetes de respaldo, errneos, etc.
- Opciones TCP para el socket
74
2.3.6 Convenientes e Inconvenientes de la comunicacin con TCP/IP
en Linux.
Para culminar el captulo 2 de esta monografa, voy a enlistar de las
ventajas y desventajas de la transmisin de datos mediante TCP/IP en Linux:
Ventajas:
Ofrece interfaz de programacin (API): Sockets BSD
Transporte fiable
Proteccin entre aplicaciones
Control de flujo
Gestin de multitarea y multiusuario
Desventajas:
Cambios de contexto
Transferencias de datos entre el espacio de usuario y las estructuras
utilizadas por el sistema operativo
Tiempo que consume la ejecucin de las rutinas que implementan los
protocolos.
75
CAPITULO III
LAS WIRELESS LAN EN LINUX
76
3.1 LAS WIRELESS LAN
En los ltimos aos se ha producido un crecimiento espectacular en lo
referente al desarrollo y aceptacin de las comunicaciones mviles y en concreto
de las redes de rea local (Wireless LANs). La funcin principal de este tipo de
redes es la proporcionar conectividad y acceso a las tradicionales redes cableadas
(Ethernet, Token Ring...), como si de una extensin de stas ltimas se tratara,
pero con la flexibilidad y movilidad que ofrecen las comunicaciones inalmbricas.
El momento decisivo para la consolidacin de estos sistemas fue la conclusin del
estndar IEEE 802.11 el mes de junio de 1997. En este estndar se encuentran
las especificaciones tanto fsicas como a nivel MAC que hay que tener en cuenta a
la hora de implementar una red de rea local inalmbrica. Otro de los estndares
definidos y que trabajan en este mismo sentido es el ETSI HIPERLAN.
WLAN (ingls < Wireless Local Area Network) es un sistema de comunicacin de
datos inalmbrico flexible muy utilizado como alternativa a las redes LAN
cableadas o como extensin de stas. Utiliza tecnologa de radiofrecuencia que
permite mayor movilidad a los usuarios al minimizar las conexiones cableadas.
Las WLAN van adquiriendo importancia en muchos campos, como almacenes o
para manufactura, en los que se transmite la informacin en tiempo real a una
terminal central. Tambin son muy populares en los hogares para compartir el
acceso a Internet entre varias computadoras.
La norma 802.11 ha sufrido diferentes extensiones sobre la norma para obtener
modificaciones y mejoras. De esta manera, tenemos las siguientes
especificaciones:
802.11 Especificacin para 1-2 Mbps en la banda de los 2.4 GHz, usando salto de
frecuencias( FHSS) o secuencia directa (DSSS).
802.11b Extensin de 802.11 para proporcionar 11Mbps usando DSSS.
77
Wi-Fi (Wireless Fidelity) Promulgado por el WECA para certificar productos
802.11b capaces de interoperar con los de otros fabricantes.
802.11a Extensin de 802.11 para proporcionar 54Mbps usando OFDM.
802.11g Extensin de 802.11 para proporcionar 20-54Mbps usando DSSS y
OFDM. Es compatible hacia atrs con 802.11b. Tiene mayor alcance y menor
consumo de potencia que 802.11a.
3.1.1 Principios de las redes WLAN
3.1.1.1 Cmo trabajan
Se utilizan ondas de radio para llevar la informacin de un punto a otro
sin necesidad de un medio fsico guiado. Al hablar de ondas de radio nos
referimos normalmente a portadoras de radio, sobre las que va la informacin,
ya que realizan la funcin de llevar la energa a un receptor remoto. Los datos
a transmitir se superponen a la portadora de radio y de este modo pueden ser
extrados exactamente en el receptor final.
A este proceso se le llama modulacin de la portadora por la informacin que
est siendo transmitida. Si las ondas son transmitidas a distintas frecuencias
de radio, varias portadoras pueden existir en igual tiempo y espacio sin
interferir entre ellas. Para extraer los datos el receptor se sita en una
determinada frecuencia, frecuencia portadora, ignorando el resto. En una
configuracin tpica de LAN sin cable los puntos de acceso (transceiver)
conectan la red cableada de un lugar fijo mediante cableado normalizado. El
punto de acceso recibe la informacin, la almacena y la transmite entre la
WLAN y la LAN cableada. Un nico punto de acceso puede soportar un
pequeo grupo de usuarios y puede funcionar en un rango de al menos treinta
metros y hasta varios cientos. El punto de acceso (o la antena conectada al
punto de acceso) es normalmente colocado en alto pero podra colocarse en
cualquier lugar en que se obtenga la cobertura de radio deseada. El usuario
final accede a la red WLAN a travs de adaptadores. Estos proporcionan una
78
interfaz entre el sistema de operacin de red del cliente (NOS: Network
Operating System) y las ondas, mediante una antena.
3.1.1.2 Configuraciones de red para radiofrecuencia
Pueden ser de muy diversos tipos y tan simples o complejas como sea
necesario. La ms bsica se da entre dos ordenadores equipados con tarjetas
adaptadoras para WLAN, de modo que pueden poner en funcionamiento una red
independiente siempre que estn dentro del rea que cubre cada uno. Esto es
llamado red de igual a igual (peer to peer). Cada cliente tendra nicamente
acceso a los recursos del otro cliente pero no a un servidor central. Este tipo de
redes no requiere administracin o preconfiguracin.
Instalando un Punto de Acceso se puede doblar la distancia a la cul los
dispositivos pueden comunicarse, ya que estos actan como repetidores. Desde
que el punto de acceso se conecta a la red cableada cualquier cliente tiene acceso
a los recursos del servidor y adems gestionan el trfico de la red entre los
terminales ms prximos. Cada punto de acceso puede servir a varias mquinas,
segn el tipo y el nmero de transmisiones que tienen lugar. Existen muchas
aplicaciones en el mundo real con un rango de 15 a 50 dispositivos cliente con un
solo punto de acceso.
Los puntos de acceso tienen un alcance finito, del orden de 150 m en lugares u
zonas abiertas. En zonas grandes como por ejemplo un campus universitario o un
edificio es probablemente necesario ms de un punto de acceso. La meta es
cubrir el rea con clulas que solapen sus reas de modo que los clientes puedan
moverse sin cortes entre un grupo de puntos de acceso. Esto es llamado roaming.
iuparticulares de topologas, el diseador de la red puede elegir usar un Punto de
Extensin (EPs) para aumentar el nmero de puntos de acceso a la red, de modo
que funcionan como tales pero no estn enganchados a la red cableada como los
puntos de acceso. Los puntos de extensin funcionan como su nombre indica:
extienden el alcance de la red retransmitiendo las seales de un cliente a un punto
79
de acceso o a otro punto de extensin. Los puntos de extensin pueden
encadenarse para pasar mensajes entre un punto de acceso y clientes lejanos de
modo que se construye un puente entre ambos.
Uno de los ltimos componentes a considerar en el equipo de una WLAN es la
antena direccional. Por ejemplo: si se quiere una Lan sin cable a otro edificio a 1
km de distancia. Una solucin puede ser instalar una antena en cada edificio con
lnea de visin directa. La antena del primer edificio est conectada a la red
cableada mediante un punto de acceso. Igualmente en el segundo edificio se
conecta un punto de acceso, lo cual permite una conexin sin cable en esta
aplicacin.
3.1.1.3 Chipset
El Circuito Integrado Auxiliar o Chipset es un conjunto de circuitos integrados que
se encarga de realizar las funciones que el microprocesador delega en ellos.
Chipset traducido literalmente del ingls significa conjunto de circuitos integrados.
Se designa circuito integrado auxiliar al circuito integrado que es perifrico a un
sistema pero necesario para el funcionamiento del mismo. La mayora de los
sistemas necesitan ms de un circuito integrado auxiliar.
Contiene todas las instrucciones necesarias para operar la tarjeta inalmbrica.
3.2 LAS WIRELESS LAN EN LINUX
3.2.1 Chipset Prism
El chipset Prism es un circuito auxiliar integrado de los ms antiguos en el
mercado, desde que en el ao 1998 la empresa Intersil lo cre ha ido
evolucionando hasta convertirse en uno de los ms potentes chipsets en el medio.
El chipset Prism es uno de los ms usados por usuarios de GNU/Linux as como
BSD gracias a la integracin a la que goza este chipset ya que todos los
documentos del comit de evaluacin; notas, diseos de referencia, informes y
80
resmenes tcnicos sobre el chipset se pueden conseguir de forma gratuita en la
pgina web de Intersil
3.2.1.1 Funcionamiento
Tomemos el esquema de la primera versin del Chipset Prism para explicar su
funcionamiento:
La controladora MAC(situada a la derecha en el esquema) ya que realiza la mayor
parte de las operaciones bsicas del protocolo 802,11 es la encargada de
determinar si se puede utilizar la tarjeta en modo monitor (RFMON) y de la
insercin y manipulacin de marcos en los paquetes as como indicar si la tarjeta
puede cumplir la funcin de punto de acceso
La controladora MAC de los chipsets Prism 2,0 o superior posee un motor WEP
que agiliza el trabajo con este tipo de criptografa ahorrando ciclos de CPU al
ordenador.
Prism I ---- 802,11 original
Prism II ---- 802,11b
Prism III ---- 802,11a/b
Prism Indigo - 802,11
Prism GT ---- 802,11b/g
Prism Duette - 802,11a/b
Prism Nitro -- red IEEE 802.11g mejorada
Prism World Radio --802,11a, b, d, g, h, i y j
81
3.2.2 Chipset Hermes
El Chipset Hermes est desarrollado por Lucent. Es un chipset de cdigo cerrado,
no obstante Lucent public una parte del cdigo fuente necesario para controlar
las funciones bsicas de las tarjetas ORiNOCO, a partir del cual se cre el
controlador wvlan_cs. Actualmente el controlador wvlan_cs ha sido reemplazado
por el orinoco_cs.
Gran parte de las tarjetas con chipset Hermes poseen un conector de antena
superior a los MMCX de los chipset Prism o Aironet lo que hace que los problemas
de conexin antena/tarjeta sean casi nulos.
ORiNOCO 11a/b/g ComboCard
ORiNOCO 11a/b/g PCI Card
3.2.3 Chipset Atheros
Atheros WLAN chipsets destaca tecnologas de punta para ampliar la gama y
reducir el consumo de electricidad de redes inalmbricas 802.11. Cuando son
incorporados en dispositivos WLAN, los chipsets Atheros ofrecen a los usuarios
finales una amplia gama, una mayor duracin de la pila, e instrumentos de
direccin de red que la ayudan a reducir el costo, funcionamiento y posesin de
redes inalmbricas.
82
3.3 EJEMPLO DE LA INSTALACIN DE UNA TARJETA
INALAMBRICA EN LINUX
Hardware
Tarjeta SMC2335W, EZ Connect 2.4Ghz/5Ghz Universal Wireless Cardbus
Adapter
Software
Mdulo MadWifi para el ncleo Linux para la tarjeta con chipset Atheros
Situandote en el directorio /usr/src, crea un directorio para el mdulo madwifi y
situate dentro de l:
$md madwifi
$cd madwifi
Para obtener el mdulo de madwifi, como no hay en este momento una versin
publicada fuera del cvs, hay que utilizar este repositorio para obtener la versin en
curso, con el comando:
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/madwifi co madwifi
Preparando los fuentes del ncleo antes de compilar madwifi. Para compilar un
mdulo necesitas los ficheros de cabeceras del nucleo instalados en tu equipo.
Supn que tienes instalado el ncleo 2.4.25 para Intel Pentium II, III y superiores
en Debian del paquete que viene ya listo para instalar, vers que tienes instalado
el paquete:
kernel-image-2.4.25-1-686
Baja el paquete con las fuentes de esa versin del nucleo y descomprimelo:
$cd /usr/src
$apt-get install kernel-source-2.4.25
$tar jxvf kernel-source-2.4.25.tar.bz2
Adems, deja el fichero de opciones de compilacin con el que se esta trabajando
en el directorio del nucleo descomprimido, como si lo hubieras usado realmente
para compilar el nucleo... esto te deja este directorio del nucleo practicamente
igual que si hubieras hecho una compilacin del nucleo (pero sin los ficheros
temporales y sin el resultado final de la compilacin, claro):
83
cp /boot/config-2.4.25-1-686 /usr/src/kernel-image-2.4.25/.config
modificar /etc/kernel-pkg.conf e incluir en el "do_clean := No"
recompilar el nucleo: make-kpkg --revision=custom.1.0 kernel_image
Enlaza ahora el directorio donde est el nucleo con el directorio build del directorio
de modulos que estn en uso en tu actual nucleo:
ln -s /usr/src/kernel-source-2.4.25 /lib/modules/2.4.25-1-586tsc/build
Compilando el mdulo madwifi
Ponte en el directorio donde lo descomprimiste antes, y ejecuta make:
cd /usr/src/madwifi
make
make install
Ya est listo el mdulo.
Asegurate de que est conectada la tarjeta (conectala y si usas pcmcia_cs vers
algo como lo siguiente en tu syslog):
May 14 00:32:10 gordon kernel: cs: cb_alloc(bus 1): vendor 0x168c, device
0x0012
May 14 00:32:10 gordon kernel: PCI: Enabling device 01:00.0 (0000 -> 0002)
May 14 00:32:10 gordon cardmgr [419] : socket 0: ?CardBus hotplug device
Ya que pcmcia_cs no conoce nada sobre tu tarjeta, no carga el modulo, as que lo
cargas a mano:
modprobe ath_pci
y el syslog reflejar algo como esto:
May 14 00:32:33 gordon kernel: ath_hal: 0.9.8.6
May 14 00:32:34 gordon kernel: wlan: 0.7.3.1 BETA
May 14 00:32:34 gordon kernel: ath_pci: 0.8.5.4 BETA
May 14 00:32:34 gordon kernel: ath_pci: cache line size not set; forcing 8
May 14 00:32:34 gordon kernel: Setup queue (0) for WME_AC_BK
May 14 00:32:34 gordon kernel: Setup queue (1) for WME_AC_BE
May 14 00:32:34 gordon kernel: Setup queue (2) for WME_AC_VI
May 14 00:32:34 gordon kernel: Setup queue (3) for WME_AC_VO
May 14 00:32:34 gordon kernel: ath0: mac 4.2 phy 3.0 5ghz radio 1.7 2ghz radio
2.3
84
May 14 00:32:34 gordon kernel: ath0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps
24Mbps 36Mbps 48Mbps 54Mbps
May 14 00:32:34 gordon kernel: ath0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
May 14 00:32:34 gordon kernel: ath0: turbo rates: 6Mbps 9Mbps 12Mbps 18Mbps
24Mbps 36Mbps 48Mbps 54Mbps
May 14 00:32:34 gordon kernel: ath0: 802.11 address: 00:01:24:60:0d:6d
May 14 00:32:34 gordon kernel: ath0: Atheros 5211: mem=0x10400000, irq=11
Si quieres que el mdulo se cargue siempre al arrancar (por simplificar, no podrs
quitar y poner la tarjeta como lo haces habitualmente con una pcmcia que si est
contemplada por pcmcia_cs), aade este mdulo en /etc/modules:
ath_pci
Configurar la interface ath0 (ojo, no eth con e, si no con a)
Manualmente:
iwconfig ath0 essid redlibre mode managed rate auto
pump -i ath0
(necesitas tener instalado pump, claro, para obtener una direccion ip
automaticamente de tu servidor dhcp), o bien:
ifconfig ath0 10.0.0.1 netmask 255.255.255.0 broadcast 10.0.0.255
En el fichero /etc/network/interfaces:
auto ath0
iface ath0 inet static
address 10.0.0.1
network 10.0.0.0
netmask 255.255.255.0
broadcast 10.0.0.255
#mode 3 para 802.11g, 2 para 802.11b y 1 para 802.11a
#mode no es necesario, la tarjeta chequea en buscando un ap por todos los
canales
#up /sbin/iwpriv ath0 mode 3
up /sbin/iwconfig ath0 essid "redlibre" mode managed rate auto
85
CAPITULO 4
MODIFICACIONES A UN DRIVER
PARA CALIDAD DE SERVICIO.
SWAN
(Stateless Wireless Ad hoc Networks)
86
4.1 Stateless Wireless Ad hoc Networks
4.1.1 Resumen
Los sistemas inalmbricos se han convertido en el segmento de mayor y
ms rpido crecimiento en las telecomunicaciones, donde su principal
consecuencia han sido dotar de movilidad a los nodos de la red al liberarlos de sus
conexiones fsicas, adems tambin estn empezando a ofrecer mltiples
servicios con calidad (QoS) como una conversacin telefnica, la transferencia de
ficheros, acceso a la web o la realizacin de videoconferencia, sin restricciones de
lugar y de tiempo. Estos ejemplos de comunicacin inalmbrica espontnea entre
dispositivos se denomina redes Ad Hoc, permitiendo a los dispositivos establecer
la comunicacin, en cualquier momento y en cualquier lugar. En realidad, la
formacin de redes Ad Hoc como tal no es nueva, sino lo es nuevo es la forma de
configuracin y uso de sus elementos [6]. Una aproximacin para otorgar calidad
de servicio es la de diferenciar entre el conjunto de paquetes que circulan por la
red clasificando los paquetes en un nmero pequeo de tipos de servicios y utiliza
mecanismos de prioridad para proporcionar una calidad de servicio adecuada al
trfico. Este estudio preliminar se realizo aplicando servicios diferenciados con el
modelo SWAN [1] en el entorno del simulador ns2. SWAN es un modelo de red
sin estados, el cual usa algoritmos de control distribuidos para entregar servicios
diferenciados en MANET de una manera escalable y robusta. Estos algoritmos
aplican controles basados en retroalimentaciones para soportar servicios de
tiempo real soft y servicios diferenciados en redes inalmbricas Ad Hoc. El
modelo usa el rate control (rc) para trafico UDP y TCP best effort, y un admission
control (ac) para trafico UDP de tiempo real. SWAN aplica la notificacin explicita
de congestionamiento (ECN) para regular dinmicamente trafico de tiempo real
admitido. El novedoso aspecto de este modelo es que no requiere de QoS en la
capa MAC.
87
4.1.2 Introduccin
Los sistemas inalmbricos han capturado la atencin y la imaginacin del publico,
y se han convertido en el segmento de mayor y ms rpido crecimiento en las
telecomunicaciones, donde su principal consecuencia han sido dotar de movilidad a los
nodos de la red al liberarlos de sus conexiones fsicas (cableado), dichos nodos pueden
funcionar de encaminadores y de anfitriones (Host).
Los sistemas inalmbricos tambin estn empezando a ofrecer mltiples servicios con
calidad (Quality of Service QoS-) como una conversacin telefnica, la transferencia de
ficheros, acceso a la web o la realizacin de videoconferencia, sin restricciones de lugar y
de tiempo. Estos ejemplos de comunicacin inalmbrica espontnea entre dispositivos o
nodos podra ser definido de manera informal como un esquema, al que a menudo se
denomina formacin de redes Ad Hoc, que permite a los dispositivos establecer la
comunicacin, en cualquier momento y en cualquier lugar. En realidad, la formacin de
redes Ad Hoc como tal no es nueva, sino lo es nuevo es la forma de configuracin, de uso
y de sus elementos. [6]
4.1.3 Qu son las redes Ad Hoc?
Las redes Ad Hoc consisten en nodos mviles interconectados con enlaces
de comunicacin inalmbricos multisaltos que a diferencia de las redes
inalmbricas convencionales, las redes Ad Hoc no tienen una infraestructura fija
de red o administracin central, donde la topologa de estas redes cambia
dinmicamente con nodos mviles entrando o saliendo de la red, y con
consecuencias de que algunos enlaces de comunicacin llegan a ser invlidos [4],
por ello uno de los principales objetivos en este tipo de redes es encontrar una
trayectoria que tenga suficientes recursos para satisfacer las limitaciones del
retardo, ancho de banda, calidad de los datos multimedia (video, audio, etc) y/o
otras mtricas [5] enviando paquetes hacia otros nodos y ejecutar las aplicaciones
del usuario, adicionalmente tambin todos los nodos pueden ser mviles
dinmicamente, creando una red inalmbrica auto-creciente, auto-organizada y
auto-administrada. [6] Por lo tanto, las comunicaciones en estas redes se crearan
nicamente por interacciones entre sus nodos mviles inalmbricos, usando esas
88
interacciones para proporcionar el control de flujo necesario y funciones de
administracin, [4] pero siendo la comunicacin degradada en alguno casos por la
movilidad de sus nodos. Es decir, los nodos pueden entrar y salir de reas de
mayor interferencia, o alejarse repentinamente de una zona de cobertura de otro
nodo con el cual estableca una comunicacin. Adems, contrariamente a las
redes cableadas, el nmero de integrantes en una red de nodos mviles, puede
variar bastante dinmicamente, al punto de saturar dicha red.
4.1.4 Retos a superar en Ad Hoc.
De una forma resumida y no por orden de importancia, son numerosos los
retos que deben superarse para alcanzar los beneficios prcticos de las redes Ad
Hoc inalmbricas, tales como:
Encaminamiento efectivo (Throughput alto, perdida nula o baja de
paquetes, etc.)
Mtodos de control de acceso al medio ( o canal)
Administracin mvil
Seguridad
La calidad de servicio (QoS) de las aplicaciones multimedia, que es
afectada principalmente por el retardo y por la administracin del disponible
ancho de banda, entre otros factores. [4]
Conseguir elementos / equipos con potencia extremadamente baja para
evitar tener que recargar frecuentemente la batera.
Dispositivos de poco peso debido a que son porttiles y deben poder
llevarse encima (wearable).
Conseguir bajos costos en el mercado
Resolver el problema de las interferencias.
89
Conseguir interoperabilidad entre los diferentes equipos que estn
movindose dentro en la red, a travs de un eficiente modelo y protocolo de
encaminamiento.
Creacin de contenidos.
Los factores ambientales juegan un papel muy importante, no solo
limitando la distancia entre dos nodos, sino agregndole ruido, interferencia
y variedad de terrenos que obstruyen la seal. [6]
4.1.5 QoS en Redes Ad Hoc
El concepto de calidad de servicio (QoS) ha sido propuesto para evaluar las
prestaciones cuantitativas y cualitativas de un conjunto de requerimientos de
servicio que sern encontrados, otorgados y mantenidos por la red mientras
transporta un paquete desde el origen al destino, siendo una funcin de la red
satisfacer ese grupo de requerimientos en trminos de retardo esttico extremo a
extremo (end-to-end), disponibilidad de ancho de banda, probabilidad de prdidas
de paquetes en una conexin.[3]. Por ejemplo en multimedia esto puede incluir
calidad de imgenes, o tiempo de respuesta, al hecho que una imagen fue
producida o fue una respuesta a un estimulo ocurrido. La QoS puede estar
delimitada por un conjunto de condiciones, las cuales pueden ser:
Link constraints: especifican la restriccin en el uso de los enlaces, p.e.
tener ancho de banda disponible para cierta aplicacin.
Path constraints: especifica los requerimientos QoS extremo a extremo en
una simple trayectoria.
Tree constraints: especifica los requerimientos para un rbol multicast. [8]
El costo de transporte y el rendimiento total de la red pueden ser incluidos como
parmetros. El costo generalmente se describe en trminos monetarios por
proceso o en trmino de tiempo usado en un proceso. Es frecuentemente el caso
de que el costo ser usado para poner los lmites superiores e inferiores a las
90
otras caractersticas. El costo de un enlace tambin puede ser en funcin de la
utilizacin del buffer o ancho de banda. El costo total de una ruta (rbol) es el total
del costo de todos los enlaces en la trayectoria. La optimizacin del problema es
encontrar la trayectoria con menor costo entre todas las rutas factibles.
Obviamente que los recursos en la red de deben estar disponibles durante la
invocacin del servicio para la garanta QoS. La primera tarea esencial es
encontrar una adecuada ruta a travs de la red, entre el origen y el destino que
tendr los recursos necesarios disponibles para encontrar las caractersticas de
QoS para el servicio deseado. La tarea de reservacin recursos (pedir, identificar y
terminar) es el otro ingrediente indispensable de QoS. [4]
4.1.6 Caractersticas de los enlaces con QoS para esquemas de
tiempo real
Para tener trfico en tiempo real como voz, video en vivo, debe mantenerse
bajo cierto lmites el retardo total y la varianza del retardo, el cual se puede lograr
reduciendo hasta donde sea posible el nmero de saltos, o encaminadores
intermedios en el camino. Con cambios potencialmente impredecibles de topologa
en una red Ad Hoc este objetivo es difcil de lograr.
Aunque existen aplicaciones en tiempo real Blandas (soft) presentan cierta
tolerancia en cuanto a que los mensajes lleguen despus de su deadline.
Muchas de las aplicaciones multimedia estn en esta categora. Pero las
aplicaciones de Tiempo Real Duras (hard) permiten imponer cualquier restriccin
para establecer la comunicacin, pero una vez establecida no se permite que
ningn mensaje llegue despus de su deadline y mucho menos que se pierda
mensajes. En esta categora estn las aplicaciones industriales por ejemplo que
controlan robots o sistemas de seguridad.
Una aproximacin para otorgar calidad de servicio es diferenciar entre el conjunto
de paquetes que circulan por la red. Cuando se desarroll el concepto de
conmutacin de paquetes, se aplic un servicio de mejor esfuerzo, el cual trata los
paquetes sin hacer ninguna diferenciacin entre los diferentes tipos de flujos.
91
Todos los paquetes reciben la misma prioridad al momento de ser procesados por
el planificador de paquetes el cual se encarga de decidir cual paquete es el que va
a pasar primero al enlace. De esta manera, los paquetes son ms sensibles a los
retardos.
Una manera de mejorar este esquema del mejor esfuerzo, es tratar a los paquetes
de manera diferente, tomando la decisin de cmo procesarlo dependiendo del
contenido del encabezado del paquete. Los campos que son de utilidad en el
encabezado para el manejo del paquete son los campos de direccin fuente y
destino, el puerto de origen y destino, tipo de servicio (ToS) y el protocolo. El
encaminador basndose en estos datos puede tomar una decisin de cmo
procesar el paquete. Sin embargo, cuando la cantidad de paquetes es muy grande
varios cientos o miles de paquetes por segundo- esto puede repercutir en el
rendimiento del encaminador.
Si existen similitudes entre diferentes paquetes, es posible clasificar los paquetes
en grupos y tomar decisiones de cmo procesar los paquetes dependiendo del
grupo al que pertenezca un paquete. Este mecanismo se logra reservando ciertos
bits en el encabezado del paquete de hecho el campo de tipo de servicio del
protocolo Ipv4 estaba reservado para este propsito- y definir en l, el tipo de
servicio que se le debe aplicar al paquete de acuerdo a las polticas que se hayan
especificado para ese propsito. [7]
4.1.7 Servicios diferenciados (DiffServ)
El modelo de Servicios Diferenciados se basa en trfico sin reservacin.
Este modelo clasifica los paquetes en un nmero pequeo de tipos de servicios y
utiliza mecanismos de prioridad para proporcionar una calidad de servicio
adecuada al trfico. El objetivo principal de este mecanismo es asignar el ancho
de banda a diferentes usuarios en una forma controlada durante periodos de
congestin. Este mecanismo se aplica igualmente a aplicaciones tradicionales
basadas sobre TCP, tales como transferencia de archivos, accesos a bases de
datos o Servidores de Web, y nuevas clases de aplicaciones tales como audio o
video en tiempo real. [9] Los Servicios Diferenciados pueden proveer a los
92
usuarios, una expectativa predecible del servicio que las redes le proveer en
tiempos de congestin, y permite que diferentes usuarios obtengan diferentes
niveles de servicio de la red. [3]
4.1.8 Modelo SWAN: Service Differentiation in Stateless Wireless Ad
Hoc Networks
El objetivo de este punto es realizar estudios preliminares aplicando
servicios diferenciados con el modelo SWAN [1] en el entorno del simulador ns2.
SWAN es un modelo de red sin estados, el cual usa algoritmos de control
distribuidos para entregar servicios diferenciados en MANET de una manera
escalable y robusta. Estos algoritmos aplican controles basados en
retroalimentaciones para soportar servicios de tiempo real soft y servicios
diferenciados en redes inalmbricas Ad Hoc. El modelo usa el rate control (rc)
para trafico UDP y TCP best effort, y un admission control (ac) para trafico UDP de
tiempo real. SWAN aplica la notificacin explicita de congestionamiento (ECN)
para regular dinmicamente trafico de tiempo real admitido. El novedoso aspecto
de este modelo es que no requiere de QoS en la capa MAC. [2]
A continuacin se presenta la configuracin de la pc en la que fueron realizdas las
pruebas:
4.1.9 Hardware and Software requirement
Laptops/mini-laptops
At least Three Laptops: One for Server (source node), Intermediate node,
Client (destination node) with Intel Pentium or higher.
Wireless Adapter Card
For SWAN Admission Controller, D-Link Wireless Adapter Card (IEEE
802.11) is needed Wireless Adapter Card should be configured to AdHoc
mode. Linksys or Orinoco card may work as well.
For SWAN Rate Controller, Aironet Wireless Adapter Card (IEEE 802.11) is
needed.
93
Operating System
SWAN Project Testbed runs on Linux Kernel version 2.2.18. (RedHat Linux
7.3)
Complier
The SWAN Testbed is compiled by gcc compiler. Tcl/Tk 8.x is also needed.
Others
The libpcap package is needed. If /usr/include/pcap doesn't exist, you
should install it. (For download and installation, see 2.) MpegTv is used
for streaming video at destination node for SWAN Admission Controller.
4.1.10 Metodologa
El modelo se aplico en un entorno de simulacin MANET con protocolo
AODV (Fig. 46), evaluando los parmetros de: Throughput, Retardo medio y
Paquetes perdidos.
El entorno de simulacin considera los siguientes escenarios:
Fuentes de video: 1 y 19 (Trafico de tiempo real)
Fuentes de FTP: 1 y 19 (Trafico de tiempo no real)
rea de simulacin: 500x2500 mts.
100 nodos
Tiempo de simulacin de 100 seg.
Tiempo de pausa de 20 seg.
Movimiento Random Waypoint (RWP)
94
Fig. 46 Metodologa del modelo aplicado
4.1.11 Resultados y conclusiones
a) 19 Fuentes de tiempo real (video) y 1 de tiempo no real (FTP)
Se observa que cuando esta activado el admission control (ac), el
throughput de tiempo real aumenta debido a que se le da prioridad, y por lo tanto
su retado medio y cantidad de paquetes perdidos disminuyen. Fig. 47
95
Fig. 47 Resultados obtenidos con el modulo admission control
96
Fig. 48 Resultados obtenidos con el modulo admission control
b) Fuente de tiempo real (video) y 19 de tiempo no real (FTP).
Se puede observar que aqu tambin al igual que el punto anterior, el aplicar la
diferenciacin de servicio mejora o disminuye las prestaciones evaluadas con un
trafico mayoritariamente de tiempo no real. Fig. 49.
Fig. 49 resultados con un trafico mayoritariamente de tiempo real
97
Fig. 50 resultados con un trfico mayoritariamente de tiempo real
98
CONCLUSIN
99
Con las WLANs la red, por s misma, es mvil y elimina la necesidad de
usar cables y establece nuevas aplicaciones aadiendo flexibilidad a la red, y lo
ms importante incrementa la productividad y eficiencia en las empresas donde
est instalada. Un usuario dentro de una red WLAN puede transmitir y recibir voz,
datos y vdeo dentro de edificios, entre edificios o campus universitarios e inclusive
sobre reas metropolitanas a velocidades de 11 Mbit/s, o superiores.
Pero no solamente encuentran aplicacin en las empresas, sino que su extensin
a ambientes pblicos, en reas metropolitanas, como medio de acceso a Internet
o para cubrir zonas de alta densidad de usuarios (hot spots) en las prximas redes
de tercera generacin (3G) se ven como las aplicaciones de ms inters durante
los prximos aos Muchos de los fabricantes de ordenadores y equipos de
comunicaciones como son los PDAs (Personal Digital Assistants), mdems,
terminales de punto de venta y otros dispositivos estn introduciendo aplicaciones
soportadas en las comunicaciones inalmbricas.
Las nuevas posibilidades que ofrecen las WLANs son: permitir una fcil
incorporacin de nuevos usuarios a la red, ofrecer una alternativa de bajo costo a
los sistemas cableados, adems de la posibilidad para acceder a cualquier base
de datos o cualquier aplicacin localizada dentro de la red.
Dentro del enorme horizonte de las comunicaciones inalmbricas y la computacin
mvil, las redes inalmbricas van ganando adeptos como una tecnologa madura y
robusta que permite resolver varios de los inconvenientes del uso del cable como
medio fsico de enlace en las comunicaciones, muchas de ellas de vital
importancia en el trabajo cotidiano.
La tecnologa WLAN es una tecnologa madura perfectamente aplicable y
funcional hoy en da a un coste asequible pero haciendo especial hincapi, en que
si se decide implantar, se deben tomar medidas de seguridad.
Entre las medidas de seguridad que se deben tomar, las ms bsicas son una
correcta configuracin de la red para impedir el acceso a la misma de usuarios no
autorizados y hacer que la informacin circule de forma cifrada. Los dos mbitos
de aplicacin son en la empresa como sustitucin a las redes cableadas y en la
otra cara de la moneda est el surgimiento incipiente de las redes ciudadanas, que
se apoyan en esta tecnologa y en el software libre.
100
Realizando una profunda comparacin de la gama de redes inalmbricas con las
LANs cableadas, se llega a la conclusin que ambos sistemas de
telecomunicacin no son en absoluto excluyentes sino complementarios, ya que
es el sistema inalmbrico el que funciona con el usuario final, pero este sistema se
basa en los sistemas almbricos.
Con las redes inalmbricas se ofrece como gran prestacin el ahorro del costoso
cableado del edificio. Como punto negativo se tiene que comentar el inconveniente
de transmitir por un medio que cuenta con interferencias y otros factores no
propicios, lo que dificulta poder alcanzar velocidades comparables con las de las
redes almbricas.
En un futuro se puede prever la integracin de las dos tecnologas, es decir la
tecnologa almbrica y la inalmbrica, de manera que se aplique la que mejor
resultado tenga en cada uno de los casos que se presenten.
Para redes inalmbricas mviles, las prestaciones de los protocolos de
encaminamiento son afectadas por muchos factores, como la tecnologa
empleada, el comportamiento del nivel de enlace, movilidad, dispersin y
velocidad de los nodos, etc. Por otro lado el modelo SWAN tuvo buenas
prestaciones al tener baja tasa de paquetes perdidos, pero mostr un incremento
en el retardo medio y jitter debido a su naturaleza reactiva con tamao de
paquetes de 512 bytes. Sus prestaciones se mantuvieron mas estables y
eficientes en los escenarios altamente dinmicos. Tambin se observo que la
aplicacin de servicios diferenciados en MANET, mejora las prestaciones del
trafico en tiempo real, teniendo una mejor calidad de servicio extremo extremo.
Como resultados se espera que el lector de este trabajo haya sido capaz de
instalar el sistema operativo Linux, as como tambin, de instalar su tarjeta de red
inalmbrica para poder realizar sus pruebas y, basndose en los resultados aqu
mostrados, tener un punto de referencia con el que pueda comparar sus propios
datos.
Los resultados mostrados en el ltimo captulo esta basados en un experimento
mediante un simulador de redes y una configuracin punto a punto (Ad Hoc), y se
espera que en el futuro se implementen algoritmos que provean de calidad de
servicio a las redes de tipo infraestructura con salida a internet, alcanzando, con
101
esto, evitar al mximo perdida de informacin y por lo tanto optimizar la
transmisin de datos.
102
BIBLIOGRAFIA
Instant Byte S.L., http://www.instantbyte.com , ejemplo de Linux, 20 de julio de
2007.
http://sopa.dis.ulpgc.es/ii-aso/portal_aso/practicas/modulo.htm, 28 de agosto de
2007.
http://es.wikipedia.org/wiki/Linux, 15 de marzo de 2007
[1] G-S. Ahn, T. Campbell, A. Veres and L. Sun, Stateless Wireless Ad Hoc
Networks (SWAN). http://www.comet.columbia.edu/swan/draft-ahn-swan-manet-
00.txt. Columbia University, October 2002.
[2] G-S. Ahn, T. Campbell, A. Veres and L. Sun, SWAN: Service Differentiation in
Stateless Wireless Ad Hoc Networks, Proc. IEEE INFOCOM'2002, New York,
New York, 2002.
[3] S. Andreozzi, DiffServ simulations using the Network Simulator: Requirements,
Issues and Solutions, Masters Thesis, University of Pisa, 2001
[4] S. Chakrabarti and A. Mishra, QoS issues in Ad Hoc Wireless Networks, IEEE
Communication Magazine, February 2001.
[5] S. Chen and K. Nahrstedt, Distributed QoS routing with imprecise state
information, In 7th Int. Conf. on Computer Communications and Networks (IC3N),
October 1998, Urbana ,IL
[6] M. Fording, P. Johansson and P. Larsson, Wireless Ad Hoc Networking The
Art of Networking without a network , Ericsson Review Num 4, 2000
[7] P. Pieda, J. Ethridge, M. Baines and F. Shallwani, A Network Simulator
Differentiated Services Implementation, Open IP, Nortel Networks, July 26, 2002.
[8] A .Qayyum, L. Viennot and A. Laouiti, Multipoint relaying: An efficient
technique for flooding in mobile wireless networks, 35th Annual Hawaii
International Conference on System Sciences (HICSS'2002).
[9] V. Rexhepi, G. Karagiannis and G. Heijenk, "A Framework for QoS and Mobility
in the Internet Next Generation, EUNICE 2000 proceedings, September 2000.
Beck, M., et al.:Linux Kernel Programming. Tercera Edicin. Addison Wesley,
2002.
103
Herbert, T.F.:The Linux TCP/IP Stack: Networking for Embedded Systems.
Charles River Media, 2004 (Captulo 6)