Вы находитесь на странице: 1из 257

SIMULACIN DE PROTOCOLOS DE ENRUTAMIENTO

PARA REDES MVILES AD-HOC MEDIANTE


HERRRAMIENTA DE SIMULACIN NS-3

INTRODUCCIN A LAS REDES


MANETS

Outline
1. Qu son las redes MANETs?
2. Para qu se utilizan?

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Heterogeneidad de los sistemas inalmbricos actuales I

I. Chlamtac, M. Conti, J. J-N. Liu, Mobile ad hoc networking: imperatives and challenges,
Ad Hoc Networks, Elsevier, 1 (2003).
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Heterogeneidad de los sistemas inalmbricos actuales II

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Mobile Ad Hoc Networks (MANETs)


Formada por un conjunto de estaciones mviles que se
comunican con tecnologa inalmbrica sin necesidad de
ninguna infraestructura preexistente.

Topologa dinmica.
Las rutas entre nodos pueden contener mltiples saltos.
rea de cobertura limitada.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Ventajas
Ventajas de las redes MANET:

Fcil y rpido despliegue.


Poca independencia con infraestructura.
Rentables econmicamente.
Principales aplicaciones:

Operaciones de emergencia
Actividades militares
reas remotas
Entornos civiles

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Desafos
Rango de transmisin inalmbrico limitado.

Interferencias
Medio de transmisin compartido, transmisin por difusin.

Intraferencias: problema de terminal oculto/terminal expuesto.


Paquetes perdidos debido a errores de transmisin.
Cambio de rutas debido a la movilidad.

Paquetes perdidos debido a la movilidad.


Frecuente particiones de red.
Restricciones de batera.
Problemas de seguridad.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

para qu se utilizan?

Escenarios
Entornos civiles:

Reuniones y congresos
Museos
Aeropuertos, Estadios de deportes
Comunicaciones Intervehiculares
Entornos domsticos

Entornos militares

Vehculos, soldados
Desastres naturales

Operaciones de bsqueda y rescate


Incendios
Redes de rea personal (PANs)

Telfono mvil, portatil, reloj, ear phone


Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Aplicaciones basadas en servicios

Servicios de salud

Servicios domticos

Servicios de educacin

Proveedor de
servicios

Servicios de localizacin

Servicios de informacin
Servicios contextuales
Servicios de negocio
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

10

Clasificacin de redes inalmbricas


Redes
Redes
Redes
Redes
Redes
Redes
Redes
Redes

de rea local inalmbrica (WLAN)


Mviles Ad Hoc (MANETs)
de rea personal inalmbrica (WPAN)
de rea corporal inalmbrica (WBAN)
de sensores (WSN)
intervehiculares (VANET)
inalmbricas malladas (WMN)
ubicuas

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

11

Loja - 2014

WLAN (Wireless Local Area Network)


Red de caractersticas similares a las redes de rea local
cableada.

Compartir recursos: software y hardware.


Medio compartido.
Cobertura entre 100-500m.

Las estaciones se conectan a travs de un punto de acceso


(PA)

Necesidad de infraestructura.
Movilidad.

SERVER

DISTRIBUTION SYSTEM
AP-A

BSS-A
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

AP-B

BSS-B

12

Ejemplo MANET (Mobile Ad Hoc NETwork)


Red privada temporal de pequea escala que se establece
alrededor de un grupo de personas que participan en tareas
colaborativas.

Miraveo

http://miraveo.com/default.aspx
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

13

WPAN (Wireless Personal Area Network)


Red que permite la comunicacin entre dispositivos de uso
personal en un rea reducida.
Cobertura entre 1-10m.

http://www.brunel.ac.uk/about/acad/sed/sedres/telecom/wncc/research/newprotocol

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

14

BAN (Body Area Networks)


Red que permite la comunicacin entre sensores
distribuidos por el cuerpo humano.

Cobertura entre 1-5m.


Bajo consumo
Baja capacidad

Tracker Fit Bit


http://www.youtube.com/watch?v=H4nEkb_JPeE&feature=player_embedded
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

15

WSN (Wireless Sensor Network)


Sistemas autnomos despleagadas de forma densa y
aleatoria.

Dispositivos equipados con sensores para temperatura,


vibracin, presin, sonido, movimiento,.
Las estaciones base recoge la informacin y la procesa.
Problemas de control de energia.
o Los nodos estn inactivos la mayoria del tiempo.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

16

VANET (Vehicular Area NETwork)


Permite comunicaciones entre vehculos, y entre vehculos y
dispositivos fijos de trafico.
Red sin infraestructura.
Objetivo: ofrecer seguridad y confort al conductor y
pasajeros.
Alertas de colisin, de que el coche de delante est frenando
Informacion sobre el estado de las carreteras, meteorolgica, alertas

de curvas peligrosas,
Entretenimiento: acceso a Internet, juegos interactivos entre coches
cercanos, chattings,
Informacin local: aparcamientos libres, precios de gasolina, servicios
de las gasolineras locales, informacin tursticas
Mantenimiento del coche: conexin con el mecnico cuando el coche
tiene problemas o de consulta.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

17

Loja - 2014

WMN (Wireless Mesh Network)


Dos tipos de dispositivos: router y clientes.
Principales aplicaciones:

Acceso a Internet
Comunicaciones de emergencia
Seguridad/vigilancia ciudadana
Militares

Internet

mesh router
mesh client

mesh router

mesh router
mesh client

mesh client
mesh router

mobile mesh client


Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

mesh router

mesh client
18

Redes bicuas
M. Weiser outlined a set of principles describing ubiquitous
computing:

The purpose of a computer is to help you do something else.


The best computer is a quiet, invisible servant.
The more you can do by intuition the smarter you are; the
computer should extend your unconscious.
Technology should create calm.
o calm technology can be describe as "that which informs but
doesn't demand our focus or attention.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

19

Tecnologas inalmbricas de soporte


Zigbee
Sin licencia
WSN
Area de cobertura reducida/Bajo consumo
Bluetooth
Sin licencia
BAN, PAN
Area de cobertura reducida
IEEE 802.11b, IEEE 802.11g,..
Sin licencia
WLAN, MANET, WSN, VANET, WMN
Cobertura de area local
WiMAX (IEEE802.16)
Licencia y necesidad de un sistema de infraestructura.
WMN
Cobertura de rea metropolitana.
Mayores velocidades, calidad de servicio.
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

20

SIMULACIN DE PROTOCOLOS DE ENRUTAMIENTO


PARA REDES MVILES AD-HOC MEDIANTE
HERRRAMIENTA DE SIMULACIN NS-3

Tecnologas de soporte: IEEE 802.11

Outline
1. Caractersticas del IEEE802.11
2. Capa fsica
3. Capa de Acceso al Medio (MAC)
4. Capa de gestin MAC
5. Movilidad
6. Seguridad
7. QoS
8. Ejemplos de dispositivos reales

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Introduccin: la ubicuidad de WLAN

Corporate WLAN
Semi--public WLAN
Semi

Home WLAN
Public WLAN

El usuario requiere acceso a Internet desde cualquier lugar.


WLAN provee de un acceso de banda ancha a Internet desde
cualquier sitio.
Acceso pblico a travs de Hot-spots.
IEEE802.11b (WiFi): sencillo, barato y rpido.
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Arquitectura bsica de red Internet con acceso inalmbrico


Local Distribution Network
Internet

WLAN Acces

Netscape

Apache

http

http

tcp

tcp

ip

ip
802.2

802.2

802.11

802.11

802.3

ip

802.2

802.2

802.2

802.3

802.3

802.3

IEEE 802.11

Client
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Access Point

Access Router
Loja - 2014

Server
4

Caractersticas de una arquitectura inalmbrica


El medio de transmisin: canal radio

Interferencias y ruido.
Las caractersticas del medio varan sobre el espacio y tiempo.
Medio compartido con dispositivos 802.11 no deseados.
Medio compartido con dispositivos no 802.11 (hornos
microondas,..)

Movilidad

Variacin de la fiabilidad del enlace.


Uso de las baterias, requiere gestin del consumo.
El usuario requiere de continuidad en la conexin.
Puede no existir conectividad total (estacin oculta).
Seguridad

No existen fronteras fsicas.


Solapamientos de LANs.
Internacionalmente existen distintas regulaciones.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Asignacin del espectro


Bandas de Industria, Ciencia y Medicina, ISM
(Industrial, Scientific and Medical).

Espectro sin licencia.

Bajo ancho de banda Interferencia de hornos microondas


IEEE 802.11b, IEEE 802.11g
Com. celulares

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

HIPERLAN
IEEE 802.11

IEEE802.11: configuracin ad hoc


Independiente

Una BSS (Basic Service Set)


Red Ad hoc.
Comunicacin directa.
Area de cobertura limitada.

Peer to Peer Network

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

IEEE802.11: configuracin infraestructura


Infraestructura

Puntos de acceso (AP) y estaciones.


El sistema de distribucin interconecta multiples BSS para
formar una nica red.
o Extiende el rea de cobertura ESS (Extended Service Set)
o Permite roaming.
El sistema de distribucin no est estandarizado, pero si los
servicios que proporciona.

SERVER

DISTRIBUTION SYSTEM
AP-A

BSS-A
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

AP-B

BSS-B

Estandarizacin de WLAN

IEEE

ETSI

IEEE 802.11
HiperLAN2
802.11e: QoS Enhacenments
802.11i: Security Enhancenments
802.11 a
5 GHz
54Mbit/s

802.11 g
2.4 GHz
54Mbit/s

802.11 b
2.4 GHz
11Mbit/s

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

2.4 GHz
2 Mbit/s

5 GHz
54Mbit/s

98

Loja - 2014

Arquitectura del protocolo 802.11


Station Management

Interacta con las capas de gestin de MAC y PHY.


MAC Layer Management

Gestin de consumo
Traspaso
MAC MIB
MAC

Acceso al medio
Fragmentacin
Encriptacin
PHY Layer Management

LLC =802.2
MAC

MAC
Sublayer

MAC Layer
Management

PLCP

PHY Layer
Management

PHY Sublayer

PMD
Sublayer

Station
Management

Sintonizar el canal
PHY MIB
PLCP (Physical Layer Convergence Protocol)

Deteccin de portadora Clear Channel Assessment (CCA)


Generar la trama PLCP
PMD

Modulacin y codificacin.
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

10

Capa fsica IEEE 802.11

Capa fsica (PMD): tipos I


Banda base Infrarrojos (IR).

1 y 2 Mbps, 16-PPM y 4-PPM (Pulse Position Modulation).


Frequency Hopping Spread Spectrum

Utiliza una de las 75 frecuencias. Cada 400ms salta a un


nuevo canal.

2,4GHz, 1 y 2 Mbps.
o
o

2/4 FSK con 1/2Mbps.


2,5 hops/s sobre 79 canales. (USA)

Direct Sequence Spread Spectrum

Utiliza 1 de los 11 canales solapados


2,4GHz, 1 y 2 Mbps.
o
o

DBPSK, DQPSK.
Ensanchamiento con 11 Bit Barker Code.

2,4GHz, 5,5 y 11Mbps. (802.11b)


o

CCK(Complementary Code Keying)/DQPSK

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

12

Capa fsica (PMD): tipos II


5 GHz OFDM (802.11a)

Puede soportar velocidades: 54, 48, 36, 24, 12 y 6 Mbps


Puede reducir la velocidad para alcanzar mayor cobertura.
Parmetros idnticos a HiperLAN2 PHY
La banda de 5GHz tiene ms canales y menos interferencias

2,4 GHz OFDM (802.11g)

Ratificado en junio 2003.


Modulacin OFDM y codificacin PBCC.
Compatible con 802.11b
Nuevas velocidades soportadas: 6,9,12,18,24,36,48 y 54.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

13

Loja - 2014

Frequency Hopping Spread Spectrum

Amplitude
1

Time

Frequency
9

10

11

12

Banda 2,4GHz con un ancho de banda de 83,5MHz.


Banda dividida en al menos 75 canales.
Cada canal tiene un ancho de banda aproximadamente 1MHz.
El transmisor y receptor saltan al unsono entre los canales de
una forma pseudo aleatoria.
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

14

Direct Sequence Spread Spectrum

WLAN-IEEE802.11 tutorial (Maximilian Riegel)


Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

15

Loja - 2014

Canales del 802.11

http://en.wikipedia.org/wiki/IEEE_802.11

El estndar define 14 canales.


Para evitar interferencias se recomienda el uso de los
canales 1, 6 y 11.
En Espaa, se utilizaba solamente 10 y 11
En USA, se utiliza los 11 primeros.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

16

OFDM

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

17

Loja - 2014

Capa fsica (PLCP): Physical Layer Convergence Protocol Trama

Scrambled Ones
128

SYN

16

SFD

PLCP Preamble

SIGNAL

16

SERVICE LENGTH

PLCP Header

16

CRC

PSDU

192 s

1 DBPSK
2 DQPSK
5.5 OR 11Mbps

PPDU

SYNC (ajuste de ganancia, deteccin de energia, seleccin de


antena, compensacin del offset de frecuencia)
SFD (Start Frame Delimiter, sincronizacin de bit)
SIGNAL (velocidad: 1, 2, 5.5,11 Mbps)
SERVICE (reservados)
LENGTH (nmero de octetos de PSDU)
CRC (CCITT CRC-16, proteje SIGNAL, SERVICE y LENGTH)
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

18

Capa MAC IEEE 802.11

Capa de Acceso al Medio: funcionalidades


Procedimientos de acceso al canal.
Direccionamiento de las PDUs.
Formato de trama.
Control de errores, fragmentacin y ensamblado de la MAC
MSU (MSDU).

Fragmentacin dependiento de los diferentes PHY.


Servicios de asociacin a un AP y de traspaso.
Funciones para la gestin de consumo de energa de las
estaciones.
Servicios de autentificacin y privacidad.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

20

Procedimientos de acceso al canal


Las funciones de coordinacin determinan cuando una
estacin puede transmitir y recibir.
Uso de la Funcin de Coordinacin Distribuida (DCF) para
compartir el medio de modo best effort.

CSMA/CA
El PHY se encarga de la deteccin del medio libre.
Uso de la Funcin de Coordinacin Puntual (PCF) para
transmisin sncrona.

Sondeo

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

21

Loja - 2014

CSMA/CA
DIFS
PIFS
SIFS
Busy Medium

Contention Window

Backoff-Window

Next Frame

DIFS: Distribuited Interframe Space


PIFS: PCF Interframe Space
SIFS: Short Interframe Space

Las estaciones esperan a que el medio este libre.


Si esta ocupado, seleccionan un tiempo aleatorio antes de
transmitir para evitar colisiones.
Se utiliza un algoritmo de backoff exponencial (se incrementa si
hay retransmisiones)

CWnew =min(CWmax,,CW*2); CWnew =CWmin

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

22

CSMA/CA + ACK protocol


DIFS
Contention Window
Busy Medium
Source

Backoff-Window

Data
SIFS ACK DIFS

DIFS

Destination
Backoff
Window Data

Next Frame

Busy Medium
Other

Defer Access

Si el medio est libre durante DIFS, entonces transmisin, si no


se pospone y se inicia el proceso de backoff.
El receptor envia el ACK si la trama es correcta.
Si no se recibe el ACK, se retransmite la trama despus de un
tiempo aleatorio.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

23

Loja - 2014

Ejemplo de Funcin de Coordinacin Distribuida (DCF)

Data
Source

SIFS ACK

Destination
DIFS
Busy Medium
Station 1

Busy Medium

DIFS

Busy
DIFS

Busy

Contention Window
Backoff-Window

Busy Medium

DIFS
Backoff
Window

Data

Station 2

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

24

Problema de la Estacin Oculta


Problema de la estacin oculta: las estaciones dentro de una
misma WLAN no se escuchan entre si.
Uso de tramas de control RTS/CTS con un campo de duracin.
(opcional)
CTS Range
RTS Range
Station B

RTS

Station A

Data

Station A

ACK
CTS

AP
Busy Medium based on CTS

Backoff-Window

Data

Station B
B cannot detect carrier from A
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

25

Loja - 2014

Funcin de Coordinacin Puntual (PCF)


CFP repetition interval
Contention free period

Beacon

D1 + Poll

Contention
period

D2 + Poll

CF END

AP
U1 + ACK

U2 + ACK

Stations

Se define una estructura supertrama donde se alternan periodos PCF


(sin contencin) con DCF (con contencin) que controla el AP.
Durante el PCF, el AP escruta a las estaciones.
Network Allocation Vector (NAV) indica la duracin del periodo de PCF.
PCF permite trfico con requerimientos de calidad de servicio.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

26

Formato de Trama
Bytes: 2
Frame
Control

802.11 MAC Header


6
6

Duration Addr 1
ID

Bits: 2

Protocol
Version

Type

Sub
Type

Addr 2

Addr 3

1
To DS

Seq.
Control

Addr 4

0-2312

Frame Body

From
DS

More
Frag

Pwr
Mgt

More
Data

CRC
1

WEP

Rsvd

Campo de control 16 bits:


Versin del protocolo 802.11
Tipo de trama: gestin, control o datos.
Subtipo dentro del tipo de trama: ACK (control), Solicitud de asociacin
(gestin).
Hacia DS (1 si la trama va hacia el sistema de distribucin).
De DS (1 si las tramas salen del sistema de distribucin).
Ms fragmentos, 1 en aquellas tramas a las que siguen ms fragmentos de la
MSDU actual.
Reintentar, retransmisiones de una previa.
Control de potencia, indica el modo de potencia de una estacin.
Ms datos se pone a 1 para indicar a una estacin en modo bajo consumo que
se encuentran almacenados en el AP ms MSDU para ella.
WEP (Wired Equivalent Privacy) es 1 si el cuerpo de trama contiene informacin
que ha sido procesada por el algoritmo criptogrfico.
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

27

Loja - 2014

Campo de direcciones
Hacia DS Desde Direcci 1
DS

Direccin2

Direccin3

Direccin4 Significado

Direccin
Destino

Direccin
Origen

ID BSS

N/A

Trama de
datos entre
estaciones del
mismo BSS

Direccin
Destino

ID BSS

Direccin
Origen

N/A

Trama de
datos de
salida del DS

ID BSS

Direccin
Origen

Direccin
Destino

N/A

Trama de
datos de
dirigida al DS

Direccin
del
receptor

Direccin
del emisor

Direccin
Destino

Direccin
Origen

Trama WDS
distribuida de
AP a AP

WDS (Wireless Distribution System)


BBS (Basic Service Set)
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

28

Gestin de la Capa MAC IEEE 802.11

Capa de Gestin MAC


La capa de gestin MAC es responsable:

Generacin de Beacon
Funcin de sincronizacin
Funcin de bsqueda (scanning)
Gestin del consumo de potencia

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

30

Generacin del Beacon


Beacon Interval

Beacon

Se utilizan para mantener el sincronismo de la red, para la


gestin del consumo y el traspaso.
El AP es el encargado de generar y enviar los beacons de forma
peridica.
Se puede postponer el envo de un beacon si el medio est
ocupado (CSMA).
El beacon contiene el instante en que fue enviado.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

31

Timing Synchronization Function (TSF)


Las estaciones mantiene un reloj local.

Utilizado para la gestin del consumo.


Utilizado para determinar cuando comienza el periodo DCF.
El AP controla la sincronizacin en las redes de
infraestructura.
Los relojes de todas las estaciones estn sincronizados.
Los beacon se utilizan para calibrar los relojes locales de las
estaciones.
No es necesario escuchar todos los beacon para
permanecer sincronizado.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

32

Consideraciones para la gestin de consumo de potencia


Los dispositivos mviles tienen baterias. Por lo tanto un uso
eficiente es importante para la movilidad.
Los protocolos LAN cableadas suponen que las estaciones
siempre estn listas para recibir.
Protocolo de gestin de consumo del 802.11:

Permite que el transceptor este en estado de ahorro de


energia (modo sleep) todo el tiempo posible.
Transparente a los protocolos existentes.
Flexible para soportar diferentes aplicaciones. (Es capaz de
compensar caudal por consumo).

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

33

Protocolo de Gestin de Consumo


Las estaciones inactivas (idle) ivernan.

El AP conoce que estaciones estn en este estado.


El AP almacena las tramas de las estaciones que ivernan.

AP anuncia que estaciones tienen tramas almacenadas.


Traffic Indication Map (TIM) se enva con cada beacon.
Las estaciones que ivernan se despiertan periodicamente y
escuchan los beacons.
TSF asegura que el AP y las estaciones en estado de ahorro
de energia estn sincronizadas.

Las estaciones se despiertan a escuchar el beacon.


El reloj local no se para.
BSS Independiente tambin tiene un procedimiento para la
gestin del consumo de energia. (Distribuido)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

34

Procedimiento para la gestin de consumo de potencia


TIM Interval

DTIM Interval

Broadcast

Broadcast

AP

Station
Weak up period

Weak up period
Poll and Tx Operation

Las estaciones se deben despertar antes de un DTIM (Delivery


Traffic Indication Message).
Si TIM indica que hay tramas almacenadas: la estacin envia
PS-Poll y permanece activa para recibir los datos.
Si no hay tramas almacenadas, la estacin vuelve a ivernacin.
Las tramas broadcast tambin se almacenan en el AP.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

35

Scanning (proceso de bsqueda)


El proceso de bsqueda (scanning) es un procedimiento
que se requiere para:

Encontrar y unirse a una red.


En el proceso de traspaso, para encontrar a un nuevo AP.
Inicializar un BSS independiente (red ad hoc).
Scanning Pasivo

La estacin descubre nuevas redes escuchando beacons.


Scanning Activo

Para cada canal, la estacin enva una trama de control Probe


y espera por un Probe Response.

Tanto los beacon como los Probe Response contienen la


informacin necesaria para unirse a la red.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

36

Ejemplo de Scanning Activo


La conexin inicial a un AP o la reassociacin siguen el mismo
proceso.
Pasos a seguir en la asociacin:

La estacin envia Probe.


APs enva Probe Response.
La estacin selecciona el mejor AP.
La estacin enva Association Request al AP seleccionado.
AP enva Association Response.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

37

Movilidad
La estacin decide que el enlace hacia su AP es de baja
calidad y utilizar la funcin de scanning para encontrar
otro AP.

station 3

station 5

station 6

station 7
station 4
station 2

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

station 1

38

Procedimiento de traspaso
La estacin enviar una trama de Request Reassociation al
nuevo AP.
Si el nuevo AP acepta:

Enva una Reassociation Response.


La estacin se enlazar al nuevo AP.
Puede comenzar el scan para otro nuevo AP.
AP indica Reassociation al sistema de distribucin.
Al viejo AP se le notifica por medio del sistema de distribucin.
o

station 3

station 5 station 6

station 7
station 2
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

station 4

Loja - 2014

Seguridad IEEE 802.11

station 1

39

Seguridad
Se puede pinchar y ver todos los paquetes de la WLAN.

Informacin valiosa: nmeros de tarjetas de crdito para


verficacin.

Cualquiera en el rea de cobertura del AP puede acceder a


la red.
WEP (Wired Equivalent Privacy) 1997.

802.11
Opcional
Mecanismo de encriptacin entre el cliente y el AP.
Sin la clave de encriptacin, el usuario no puede tx ni rx.

WEP

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

41

Seguridad: WEP
Provee un mecanismo de autenticacin:

Para el control del acceso.


Puede utilizar el sistema Abierto o mediante clave compartida.
WEP:

Cifrado de la informacin.
Usa el algoritmo RC4 basado en una clave de 64 bits (40 de
clave secreta, 24 del vector de iniciacin IV).
Solamente el campo de datos es encriptado.

WEP es un protocolo muy vulnerable:

Cortos IV y claves WEP estticas.


o

En redes con mucho trfico, la reutilizacin puede ocurrir


cada hora y se pueden extraer esos IV.
Las claves WEP son estticas, por lo que administradores
de las WLAN utilizan la misma clave durante mucho
tiempo.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

42

WPA (WiFi Protected Access)


WPA adopta la autenticacin de usuarios mediante el uso
de un servidor, donde se almacenan credenciales y
contraseas.
WPA permite la autenticacin mediante clave compartida.

PSK (Pre-Shared Key) similar al WEP.


Cifrado RC4.

Clave de 128 bits y IV (vector de inicializacin) de 48 bits.


TKIP (Protocolo de Integridad de Clave temporal)

Cambia claves dinmicamente a medida que el sistema es


utilizado.

MIC (Integridad del mensaje)

La comprobacin de redundancia cclica utilizado en WEP es


inseguro, ya que es posible alterar la informacin y actualizar
el CRC sin conocer la clave WEP.

Compatible con las tarjetas de red inalmbricas.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

43

802.11i
2004
Mejora del proceso de autenticacin
Message Integrity Check (MIC)
Nuevas claves de encriptacin (TKIP)
Nuevo algoritmo de encriptacin AES

Necesidad de hardware dedicado para la


encriptacin/desencriptacin.
o Actualizacin de equipos WLAN.

WPA2

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

44

QoS
IEEE 802.11e

Limitaciones en QoS IEEE 802.11


IEEE 802.11 diseado con dos modos de operacin DCF y
PCF.
DCF (Distributed Coordination Funtion)

Solo soporta servicios best-effort.


No soporta ningn tipo de prioridad para el acceso al medio.
No hay garanta de ancho de banda, retardo o variacin del
retardo.
Degradacin del caudal en condiciones de alta carga.

PCF (Point Coordination Function).

Soporta trficos de tiempo real.


El tiempo de transmisin de las estaciones escrutadas es
impredecible.
Tiempo de transmisin del beacon tambin es impredecible.

DCF y PCF no diferencian entre tipos de trfico o de


fuentes.
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

46

El estndar IEEE 802.11e


El grupo de trabajo Task Group E se forma en 2001. En
Julio de 2005 se aprueba IEEE 802.11e.
IEEE 802.11e extiende el dominio de aplicacin del 802.11
permitiendo servicios con requerimientos de QoS.
Compatible con 802.11.
Terminologa IEEE 802.11e:

AP con soporte QoS -> QAP (Quality AP)


Point Coordinator -> HC (Hybrid Coordinator)
BSS con QoS -> QBSS

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

47

El estndar IEEE 802.11e


Nuevo mecanismo QoS: HCF (Hybrid Coordination Function)

EDCA (Enhanced Distributed Channel Access)


HCCA (Hybrid Coordination Function Controlled Channel Access)
EDCA y HCCA definen categoras de trfico.
o
o

Trfico de baja prioridad: correo electrnico.


Trfico de alta prioridad: Voice over Wireless LAN (VoWLAN)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

48

EDCA (Enhanced Distributed Channel Access) I


Revisin de DCF (IEEE802.11):

CSMA/CA
Transmite la trama directamente si el medio est libre durante
DIFS (DCF InterFrame Space)
Backoff time=rand[0,CW]; CWmin<CW<CWmax
Transmisin de la trama cuando expira el backoff.

Cmo proveer prioridades?

Se definen cuatro categoras de acceso (AC) que gestionan


cuatro colas con diferentes prioridades.
Se reemplaza DIFS con AIFS (Arbitration InterFrame Space).
Cada AC define sus propios valores de AIFS, Cwmin y Cwmax
Se define Transmission Opportunity (TXOP) como el tiempo
mximo que una estacin puede transmitir desde que obtiene
el derecho a transmitir.
o

Se define mediante el tiempo de inicio y duracin.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

49

EDCA (Enhanced Distributed Channel Access) II

Timing with 802.11a


aSlotTime: 9s
SIFS: 16 s
DIFS: 34 s
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

50

EDCA (Enhanced Distributed Channel Access) III


Mapeo a una AC

AIFS[0]
CWmin[0]
CWmax[0]

AIFS[1]
CWmin[1]
CWmax[1]

AIFS[2]
CWmin[2]
CWmax[2]

AIFS[3]
CWmin[3]
CWmax[3]

Acceso paralelo al mismo intervalo, la AC con mayor prioridad transmite;


las otras actan como si una colisin hubiese ocurrido.
TX
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

51

Loja - 2014

EDCA (Enhanced Distributed Channel Access) IV

http://www.networkworld.com/news/tech/2003/0623techupdate.html

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

52

Mapeo de la prioridades de usuario a los AC


Priority 801.D UP

801.D desig.

AC

Designation

Lowest

BE (Best Effort)

AC_BE

Best effort

BK (Background) AC_BK

Background

Spare

AC_BK

Background

EE (Excelent
Effort)

AC_BE

Best effort

CL (Ctrl. Load)

AC_VI

Video

VI (Video)

AC_VI

Video

VO (Video)

AC_VO

Voice

NC (Netw. Ctrl)

AC_NC

Voice

Highest 7

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

53

Loja - 2014

Caractersticas de las categoras de acceso


Access
Category

CWmin Cwmax

AIFSN

TXOPlimit

AC_BK=AC3

15

1023

AC_BE=AC2

15

1023

AC_VI=AC1

15

3.008

AC_VO=AC0

1.504

AIFS[AC]=SIFS+AIFSN[AC]*aSlotTime
Menores valores de AIFS, Cwmin y Cwmax , menor es el

retardo para acceder al medio.


TXOP se utiliza para diferenciar diferentes prioridades en una
misma AC.
o

TXOP=0 una sola MSDU

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

54

HCCA (Hybrid Coordination Function Controlled

Channel Access)
Extiende el funcionamiento de PCF.
Durante el CFP, Controlled Access Phase (CAP):

HC escruta a las estaciones y da permiso para acceder al


canal.
HC especifica el tiempo de inicio y la duracin mxima para
cada transmisin (TXOP).
Se diferencias distintos tipos de flujo.

Durante el Contention Period,

Se utilizan las reglas EDCA.


HC puede escrutar a una estacin durante el CP ganando el
acceso al medio de transmisin despus de un intervalo PIFS .

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

55

Loja - 2014

56

HCF Superframe

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Ejemplos de dispositivos reales

Ejemplo de parametros fisicos en un dispositivo real

Cisco Aironet 802.11a/b/g Wireless CardBus Adapter

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

58

Ejemplo de en un dispositivo real

Configuracin AP

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

59

SIMULACIN DE PROTOCOLOS DE ENRUTAMIENTO


PARA REDES MVILES AD-HOC MEDIANTE
HERRRAMIENTA DE SIMULACIN NS-3

Encaminamiento en MANETs

Outline
1. Conceptos generales de las redes ad hoc
2. Conceptos generales sobre protocolos de encaminamiento
3. Protocolos de enrutamiento

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Mobile Ad Hoc Networks (MANETs)


Redes formadas por nodos mviles con conexin
inalmbrica.
Sin infraestructura previa
Las rutas contienen varios saltos
Las rutas varan en el tiempo
Problemas de particionamiento

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Tipos de redes ad hoc


Entornos completamente simtricos.

Todos los nodos tienen las mismas capacidades y


responsabilidades.

Entornos asimtricos. Pueden variar:

los rangos de transmisin


la duracin de las bateras
la capacidad de proceso
la velocidad de movimiento
capacidad de enrutamiento
Algunos nodos pueden tener mayores responsabilidades
(nodos lider)
tecnologas inalmbricas (bit rate,..)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Variaciones en las redes ad hoc


Patrones de movilidad

Gente esperando en el aeropuerto


La red de taxis
Movimientos militares
Personal area network

Caractersticas de la movilidad

Velocidad
Prediccin de movimientos
Patrn de movimiento
o La direccin
Uniformidad entre los nodos.
o

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Conceptos generales sobre protocolos de


enrutamiento

Conceptos generales sobre enrutamiento


Objetivo: Enviar los mensajes de un nodo a otro hasta
llegar al destino.

Cul es el mejor camino?


o
o
o

El ms corto (menos nodos)


El ms rpido (menor retardo)
Otros factores: bateras, ancho de banda

Quin decide: la fuente o los nodos intermedios?


o

Source routing. (servicio ereo)


La fuente decide el camino
Los nodos intermedios reenvian el mensaje al siguiente nodo.

hop-by-hop routing. (servicio correo)


La fuente espeficica el destino en la cabecera del mensaje.
Los nodos intermedios observan la direccin destino y consultan en sus
tablas de enrutamiento para seleccionar el siguiente salto.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Encaminamiento en redes ad hoc I


Caractersticas del enrutamiento en una MANET:

Gran probabilidad de fallo en el enlace, lo que causa

frecuentes cambios de ruta.


Topologa dinmica (sin predicciones).
Ancho de banda limitado.
Cada dispositivo potencialmente puede comportarse como un
router.
No hay administrador.

Aparecen nuevos criterios de enrutamiento:

Estabilidad de las rutas.


Consumo de potencia.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Encaminamiento en redes ad hoc II


Se han propuesto muchos protocolos:

Algunos especficos.
Otros adaptados de las redes cableadas.
Ninguno funciona bien en todos los entornos.
Funciones de un protocolo de encaminamiento:

Descubrimiento de la ruta:
o

Necesito hablar con Pepe, donde est?

Mantenimiento de la rutas:
o
o

Dnde se fue Pepe?


Dnde se fue el chico que saba donde estaba Pepe?

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Descubrimiento y mantenimiento de las rutas


Dos filosofas bsicas para el descubrimiento de rutas:

Conocimiento de la topologa de la red.


Pregunta-respuesta.

Procedimientos para el mantenimiento de las rutas:

Intercambio peridico de mensajes.


Escucha de mensajes.
Temporizadores.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

10

Clasificacin de los protocolos de enrutamiento MANET


Protocolos Proactivos

Se mantiene en cada nodo informacin actualizada acerca de


la topologa de red.
Los tradicionales protocolos de estado de enlace y vectordistancia son proactivos.

Protocolos reactivos

Solamente se busca una ruta cuando se necesita.


Protocolos hbridos

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

11

Caractersticas Protocolos Proactivos


Protocolos Proactivos

Peridicamente envan informacin de las rutas, por ejemplo


cada T segundos.
Se crean tablas de enrutamiento.
Si T es demasiado grande, las rutas pueden quedar obsoletas,
y eso puede producir ms retardo y prdidas.
Si T es demasiado pequeo, saturacin de informacin de
control, tambin puede causar retardo y prdidas.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

12

Caractersticas Protocolos Reactivos


Protocolos reactivos

Solamente se busca una ruta cuando se necesita.


Se utiliza la ruta hasta que la comunicacin finaliza.
Se busca una nueva ruta cuando la anterior falla.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

13

Caractersticas de los protocolos de enrutamiento


Tiempo de espera para el descubrimiento de una ruta

Los protocolos proactivos tienen una latencia menor gracias al


conocimiento de la topologa de la red que tiene cada nodo.
Los protocolos reactivos tienen mayor latencia.
o Mayor retardo porque antes de transmitir hay que buscar la
ruta.

Informacin de control del descubrimiento y del


mantenimiento de la ruta.

Los protocolos reactivos pueden tener un overhead menor


porque buscan rutas nicamente cuando es necesario.
Los protocolos proactivos pueden tener un overhead mayor
porque siempre estn actualizando las rutas.

Qu solucin adoptar depende del tipo de trfico y del tipo


de movilidad.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

14

Ejemplo de protocolos
http://en.wikipedia.org/wiki/List_of_ad-hoc_routing_protocols

Proactivos:

OLSR Optimized Link-State Routing


RFC 3626.
TBRF Topology-Based Reserve Path Forwarding
o RFC 3684.
o

Reactivos:

AODV - Ad hoc On-demand Distance Vector routing


RFC 3561
DSR Dynamic Source Routing
o RFC 4728
o

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Protocolos de enrutamiento

15

Protocolos de enrutamiento
Flooding controlado
DSR
AODV
OLSR

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

17

Flooding for Data Delivery


Sender S broadcasts data packet P to all its neighbors
Each node receiving P forwards P to its neighbors
Sequence numbers used to avoid the possibility of
forwarding the same packet more than once
Packet P reaches destination D provided that D is reachable
from sender S
Node D does not forward the packet

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

18

Flooding for Data Delivery


Y
Z
S

E
F

G
H

K
I

Represents a node that has received packet P


Represents that connected nodes are within each others transmission range
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

19

Loja - 2014

Flooding for Data Delivery


Y

Broadcast transmission
Z
S

E
F

G
H

K
I

D
N

Represents a node that receives packet P for the first time


Represents transmission of packet P
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

20

Flooding for Data Delivery


Y
Z
S

E
F

G
H

K
I

Node H receives packet P from two neighbors: potential for collision

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

21

Loja - 2014

Flooding for Data Delivery


Y
Z
S

E
F

G
H

K
I

D
N

Node C receives packet P from G and H, but does not forward


it again, because node C has already forwarded packet P once
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

22

Flooding for Data Delivery


Nodes J and K both broadcast packet P to node D
Since nodes J and K are hidden from each other, their
transmissions may collide
=> Packet P may not be delivered to node D
at all, despite the use of flooding

Y
Z

E
F

G
H

K
I

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

N
23

Loja - 2014

Flooding for Data Delivery


Y
Z
S

E
F

G
H

K
I

D
N

Node D does not forward packet P, because node D is the intended


destination of packet P
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

24

Flooding for Data Delivery


Flooding completed
Nodes unreachable from S do not receive packet P (e.g., node Z)
Y
Z
S

E
F

G
H

K
I

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

25

Loja - 2014

Flooding for Data Delivery


Flooding may deliver packets to too many nodes (in the worst
case, all nodes reachable from sender may receive the packet)
Y
Z
S

E
F

G
H

K
I

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

J
D

Loja - 2014

26

Ventajas del flooding


Sencillo
Robusta, porque la entrega de paquetes se puede realizar
por mltiples rutas.
Es ms eficiente cuando la tasa de envio de paquetes de
informacin es ms baja que el overhead de los procesos
de busqueda y mantenimiento de rutas.

Por ejemplo en el caso de que los nodos transmitan pocos


mensajes de datos de tamao pequeo y que la topologa
cambie a menudo.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

27

Desventajas del flooding


Overhead potencialmente muy alto.

En el peor de los casos todos los nodos alcanzables por la


fuente recibirn los datos.

Potencialmente la entrega de datos es menos fiable debido


a posibles colisiones y al uso del modo broadcast que no
lleva asociado el paquete de reconocimiento ACK.
o
o

Broadcasting in IEEE 802.11 MAC is unreliable


In our example, nodes J and K may transmit to node D
simultaneously, resulting in loss of the packet

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

28

Aspectos a tener en cuenta sobre el flooding


Muchos protocolos utilizan el flooding (limitado) de los
paquetes de control, en vez de los paquetes de datos.
Los paquetes de control se utilizan para descubrir rutas.
Las rutas establecidas se utilizan posteriormente para
enviar los paquetes de datos.
La sobrecarga que se debe al flooding de los paquetes de
control se compensa gracias a los paquetes de datos
transmitidos entre los floodings consecutivos de paquetes
de control.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

29

Loja - 2014

30

Protocolos de enrutamiento
Flooding controlado
DSR
AODV
OLSR

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Dynamic Source Routing (DSR)

How does it work?

When node S wants to send a packet to node D, but does not


know a route to D, node S initiates a route discovery

Source node S floods Route Request (RREQ)


Each node appends own identifier when forwarding RREQ

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

31

Loja - 2014

Route discovery process

Route Discovery in DSR


Y
Z
S

E
F

G
H

K
I

D
N

Represents a node that has received RREQ for D from S

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

32

Route discovery process

Route Discovery in DSR


Y

Broadcast transmission
[S]

E
F

G
H

K
I

Represents transmission of RREQ


[X,Y]

Represents list of identifiers appended to RREQ

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

33

Loja - 2014

Route discovery process

Route Discovery in DSR


Y
Z
S

[S,E]
F

[S,C]

K
I

D
N

Node H receives packet RREQ from two neighbors: potential for


collision
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

34

Route discovery process

Route Discovery in DSR


Y
Z
S

E
F

[S,E,F]

G
H
[S,C,G]

Node C receives RREQ from G and H, but does not forward


it again, because node C has already forwarded RREQ once
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

35

Loja - 2014

Route discovery process

Route Discovery in DSR


Nodes J and K both broadcast RREQ to node D
Since nodes J and K are hidden from each other, their
transmissions may collide
Y
Z
S

E
C

G
H

D
[S,C,G,K]

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

[S,E,F,J]

Loja - 2014

36

Route discovery process

Route Discovery in DSR


Y
Z
S

[S,E,F,J,M]

G
H

Node D does not forward RREQ, because node D is the


intended target of the route discovery
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

37

Loja - 2014

Route discovery process

Route Discovery in DSR

Destination D on receiving the first RREQ, sends a Route


Reply (RREP)

It does not required flooding.


RREP is sent on a route obtained by reversing the route
appended to received RREQ
RREP includes the route from S to D on which RREQ was
received by node D

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

38

Route discovery process

Route Reply in DSR


Y
Z
S

RREP [S,E,F,J,D]

G
H

Represents RREP control message

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

39

Loja - 2014

Route discovery process

Route Reply in DSR


Route Reply can be sent by reversing the route in Route
Request (RREQ) only if links are guaranteed to be bidirectional

To ensure this, RREQ should be forwarded only if it


received on a link that is known to be bi-directional

If unidirectional (asymmetric) links are allowed, then


RREP may need a route discovery for S from node D

Unless node D already knows a route to node S


If a route discovery is initiated by D for a route to S, then
the Route Reply is piggybacked on the Route Request from
D.

If IEEE 802.11 MAC is used to send data, then links


have to be bi-directional (since ACK is used)
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

40

Data transmission process

Data packet transmission

Node S on receiving RREP, caches the route included in the


RREP
When node S sends a data packet to D, the entire route is
included in the packet header

hence the name source routing


Intermediate nodes use the source route included in a
packet to determine to whom a packet should be forwarded

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

41

Loja - 2014

Data Delivery in DSR


Y
Z

DATA [S,E,F,J,D]
S

E
F

G
H

K
I

D
N

Packet header size grows with route length


Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

42

When to Perform a Route Discovery?

When node S wants to send data to node D, but does not


know a valid route node D

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

43

Loja - 2014

Cmo mejorar el protocolo?

DSR Optimization: Route Caching


Cada nodo guarda en cache todas las rutas que pueda
descubrir.

When node S finds route [S,E,F,J,D] to node D, node S also


learns route [S,E,F] to node F
When node K receives Route Request [S,C,G], node K learns
route [K,G,C,S] to node S
When node F forwards Route Reply RREP [S,E,F,J,D], node F
learns route [F,J,D] to node D
When node E forwards Data [S,E,F,J,D] it learns route
[E,F,J,D] to node D

A node may also learn a route when it overhears Data packets

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

44

Use of Route Caching

When node S learns that a route to node D is broken, it


uses another route from its local cache, if such a route to D
exists in its cache. Otherwise, node S initiates route
discovery by sending a route request
Node X on receiving a Route Request for some node D can
send a Route Reply if node X knows a route to node D
Use of route cache

can speed up route discovery


can reduce propagation of route requests

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

45

Loja - 2014

Use of Route Caching

[S,E,F,J,D]

[E,F,J,D]

[F,J,D],[F,E,S]
F

[J,F,E,S] M

[C,S]
H

[G,C,S]

N
Z

[P,Q,R] Represents cached route at a node

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

46

Use of Route Caching: Can Speed up Route Discovery


When node Z sends a route request for node C, node K
sends back a route reply [Z,K,G,C] to node Z using a
locally cached route

[S,E,F,J,D] [E,F,J,D]
S

[F,J,D],[F,E,S]
F

[J,F,E,S] M

[G,C,S]
G

[C,S]
H

[K,G,C,S]

RREQ

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

47

Loja - 2014

Route Caching: Can Reduce Propagation of Route Requests


Route Reply (RREP) from node K limits flooding of RREQ.
In general, the reduction may be less dramatic.

[S,E,F,J,D]

[E,F,J,D]

[F,J,D],[F,E,S]
F

[J,F,E,S] M

[G,C,S]

[C,S]

[K,G,C,S]

RREQ
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

RREP

Z
48

Qu pasa cuando algn enlace se rompe?

Route Error (RERR)


J sends a route error to S along route J-F-E-S when its attempt
to forward the data packet S (with route SEFJD) on J-D fails

Nodes hearing RERR update their route cache to


remove link J-D

Y
RERR [J-D]
S

E
F

G
H

K
I

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

D
N

Loja - 2014

49

Route Caching: Problems


Stale caches can adversely affect performance

With passage of time and host mobility, cached routes may


become invalid

A sender host may try several stale routes (obtained from local
cache, or replied from cache by other nodes), before finding a
good route

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

50

Dynamic Source Routing: Advantages

Routes maintained only between nodes who need to


communicate

reduces overhead of route maintenance


Route caching can further reduce route discovery overhead
A single route discovery may yield many routes to the
destination, due to intermediate nodes replying from local
caches

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

51

Dynamic Source Routing: Disadvantages


Packet header size grows with route length due to
source routing
Flood of route requests may potentially reach all nodes
in the network
Care must be taken to avoid collisions between route
requests propagated by neighboring nodes

insertion of random delays before forwarding RREQ


Increased contention if too many route replies come
back due to nodes replying using their local cache

Route Reply Storm problem


Reply storm may be eased by preventing a node from
sending RREP if it hears another RREP with a shorter route

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

52

Dynamic Source Routing: Disadvantages

An intermediate node may send Route Reply using a stale


cached route, thus polluting other caches
This problem can be eased if some mechanism to purge
(potentially) invalid cached routes is incorporated.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

53

Loja - 2014

54

Protocolos de enrutamiento
Flooding controlado
DSR
AODV
OLSR

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Ad Hoc On-Demand Distance Vector Routing (AODV)


DSR includes source routes in packet headers

Resulting large headers can sometimes degrade performance,


particularly when data contents of
a packet are small

AODV attempts to improve on DSR by maintaining routing


tables at the nodes, so that data packets do not have to
contain routes
AODV retains the desirable feature of DSR that routes are
maintained only between nodes which need to
communicate

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

55

AODV II
Route Requests (RREQ) son reenviados de forma similar a
DSR
Cuando el nodo S quiere enviar un paquete al nodo D a
priori no conoce la ruta, por lo que debe iniciar un
descubrimiento de la ruta.
El nodo S enva por inundacin un paquete Route Request
(RREQ) .
Cuando un nodo retransmite un paquete Route Request
RREQ, preestablece la ruta de vuelta hacia la fuente.

AODV asume enlaces bidireccionales.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

56

AODV III
Cuando el destino recibe el paquete Route Request RREQ,
responde enviando un paquet Route Reply RREP.
El paquete Route Reply RREP recorre la ruta activada a
travs del envo del Route Request

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

57

Loja - 2014

Route Discovery process

Route Requests in AODV


Y
Z
S

E
F

G
H

K
I

D
N

Represents a node that has received RREQ for D from S

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

58

Route Discovery process

Route Requests in AODV


Y

Broadcast transmission
Z
S

E
F

G
H

K
I

Represents transmission of RREQ

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

59

Loja - 2014

Route Discovery process

Route Requests in AODV


Y
Z
S

E
F

G
H

K
I

D
N

Represents links on Reverse Path

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

60

Route Discovery process

Reverse Path Setup in AODV


Y
Z
S

E
F

G
H

K
I

Node C receives RREQ from G and H, but does not forward


it again, because node C has already forwarded RREQ once
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

61

Loja - 2014

Route Discovery process

Reverse Path Setup in AODV


Y
Z
S

E
F

G
H

K
I

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

J
D

Loja - 2014

62

Route Discovery process

Reverse Path Setup in AODV


Y
Z
S

E
F

G
H

K
I

Node D does not forward RREQ, because node D


is the intended target of the RREQ
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

63

Loja - 2014

Route Discovery process

Route Reply in AODV


Y
Z
S

E
F

G
H

K
I

D
N

Represents links on path taken by RREP

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

64

Route Discovery process

Route Reply in AODV


Un nodo intermedio puede tambin enviar un Route Reply
(RREP) si conoce una ruta ms reciente que la que se sabe
la fuente S.
Para determinar cuan reciente es una ruta se utilizan los
destination sequence numbers
La probabilidad de que un nodo intermedio enve un Route
Reply es inferior en AODV que en DSR

A cada nuevo descubrimiento de ruta desde la fuente al destino


se le asigna un nmero de secuencia ascendente. Si un nodo
intermedio conoce una ruta, pero con un nmero de secuencia
ms pequeo, entonces no podr enviar el paquete Route
Reply.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

65

Loja - 2014

Route Discovery process

Forward Path Setup in AODV


Forward links are setup when RREP travels along the
reverse path

Y
Z

E
F

G
H

K
I

D
N

Represents a link on the forward path

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

66

Data transmission process

Data Delivery in AODV


Routing table entries used to forward data packet.
Route is not included in packet header.

DATA
Z
S

E
F

G
H

K
I

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

M
D
N

Loja - 2014

67

Temporizadores
Despus de un intervalo de tiempo la entrada en la tabla de
encaminamiento del camino para la fuente (reverse path)
es eliminada.

Este tiempo debe ajustarse para que los RREP vuelvan a la


fuente.

Si durante un determinado tiempo no se utiliza una entrada


en la tabla de encaminamiento indicando un camino hacia
el destino (forward path) se elimina.

Esta entrada se elimina si no hay trfico aunque siga siendo


vlida.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

68

Mantenimiento de las rutas


Un enlace est activo si se reciben paquetes del nodo
vecino dentro del intervalo active_route_timeout.
Cuando el enlace se rompe, todos los nodos activos son
informados por medio de mensajes Route Error messages
RERR .
Los mensajes RERR actualizan el destination sequence
numbers.
RERR

B
E

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

RERR

69

Loja - 2014

Route Error
Cuando un nodo X no puede enviar RERR
un paquete P (desde el
nodo S al D) por el enlace (X,Y), genera un paquete RERR
Route Error.
S

X
RERR

Nodo X incrementa el nmero de secuencia para la ruta


almacenada en su tabla de encaminamiento. El nmero de
secuencia incrementada, N, se incluye en el RERR.
Cuando el nodo S recibe el RERR, inicia el descubrimiento
de una nueva ruta hacia D, utilizando un nmero de
secuencia N+1.
Cuando el nodo D recibe el RREQ con el nmero de
secuencia N+1, establecer su nmero de secuencia como
N+1, a menos de que exista una con mayor N+1.
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

70

Deteccin de un fallo de enlace


Se envan mensajes Hello de forma peridica entre los
nodos vecinos.
La ausencia de los mensajes Hello se utiliza como indicacin
del fallo en el enlace.
Fallos en la recepcin de los reconocimientos a nivel de
nivel MAC tambin pueden ser utilizados como indicacin
de enlace roto.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

71

Loja - 2014

Por qu utilizar nmeros de secuencia en AODV


1. To avoid using old/broken routes

To determine which route is newer


A
2. To prevent formation of loops

Assume that A does not know about failure of link C-D because
RERR sent by C is lost
Now C performs a route discovery for D. Node A receives the
RREQ (say, via path C-E-A)
Node A will reply since A knows a route to D via node B
Results in a loop (for instance, C-E-A-B-C )

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

72

Summary: AODV
Routes need not be included in packet headers
Nodes maintain routing tables containing entries only for
routes that are in active use
At most one next-hop per destination maintained at each
node

DSR may maintain several routes for a single destination


Unused routes expire even if topology does not change

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

73

Loja - 2014

74

Protocolos de enrutamiento
Flooding controlado
DSR
AODV
OLSR

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

OSLR (Optimized Link State Routing) I


Protocolo proactivo basado en mecanismos en los que los
nodos informan del estado de sus enlaces de forma
peridica.

Link state como el OSPF


o

Cada nodo reenva la informacin de estado recibida


de su vecino y la actualiza. Esa informacin
determinar el siguiente salto para cada destino.

Para limitar la informacin de control en OLSR, se reducen


los nodos vecinos que reenviarn la informacin de
estado.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

75

Loja - 2014

76

Tipos de inundacin

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

OSLR (Optimized Link State Routing) II


La informacin de estado del nodo X solamente es
reenviada por sus multipoint relays.
Los multipoint relays de un nodo X son sus nodos vecinos
tal que cada nodo vecino que est dos saltos de X est a un
salto de al menos un multipoint relay de X.
Los nodos C y E son los multipoint relays del nodo A.
F

B
A

J
E

C
G

K
D

Nodo que tiene informacin de estado para difundir.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

77

Loja - 2014

OSLR (Optimized Link State Routing) III


Solamente los nodos C y E reenvan la informacin recibida
por A.

B
A

J
E

C
G

H
K

Nodo que tiene informacin de estado para difundir.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

78

OSLR (Optimized Link State Routing) IV


Los nodos E y K son multipoint relays del nodo H.
El nodo K reenva la informacin recibida del nodo H.

El nodo E no la reenva porque ya la envi.

B
A

J
E

C
G

K
D

Nodo que tiene informacin de estado para difundir.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

79

OSLR (Optimized Link State Routing) V


Cada nodo transmite la lista de vecinos de forma peridica.
(mensajes hello)
A
E
H

Solo se transmiten entre vecinos.


As todos los nodos podrn conocer los vecinos que tienen a 2
saltos.
Los nodos sabrn si son multipoint relay.

OLSR enva por inundacin la informacin de estado a partir


de los multipoint relays.

Mensajes TC (Control Topologa)


En cada nodo se construye la base de datos topolgica, se
computa el rbol de caminos mnimos (mediante el algoritmo
de Dijkstra) y se calcula la tabla de enrutamiento hacia todas
las posibles destinaciones.

Las rutas utilizadas por OLSR solamente incluyen los


multipoint relays como nodos intermedios.
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

80

Resumen
Se han estudiado las caractersticas de las redes adhoc:
mviles, sin necesidad de infraestructura, multisalto.
Se han analizado los problemas especficos del
enrutamiento en redes adhoc: poco robusta, topologa
dinmica, ancho de banda limitado, cada nodo es un router.
Protocolos de encaminamiento reactivos y proactivos.

Flooding controlado.
DSR (Dynamic Source Routing)
AODV (Ad Hoc On-Demand Distance Vector Routing)
OLSR (Optimized Link State Routing)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

81

Bibliografa para protocolos de enrutamiento en MANET


Nitin H. Vaidya, Tutorial on Mobile Ad Hoc Networks:
Routing, MAC and Transport Issues,
http://www.crhc.uiuc.edu/wireless/tutorials.html
David B. Johson, David A. Maltz, Yih-Chun Hu, The
Dynamic Source Routing Protocol for Mobile Ad Hoc
Networks, RFC 4728. 1996.
Charles E. Perkins, Elizabeth M. Belding-Royer, Samir Das,
Ad hoc On-Demand Distance Vector (AODV) Routing, RFC
3561.1999.
T. Clausen, P. Jacquet, A. Laouiti, Optimized Link State
Routing Protocol, RFC 3626. 1999.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

82

SIMULACIN DE PROTOCOLOS DE ENRUTAMIENTO


PARA REDES MVILES AD-HOC MEDIANTE
HERRRAMIENTA DE SIMULACIN NS-3

Protocolos de enrutamiento con servicios de


localizacin

Outline
1. Introduccin
2. Sistemas de localizacin
3. Servicios de localizacin
4. Protocolos de enrutamiento

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Conceptos generales

Qu es un sistema/servicio de localizacin?
Sistema de localizacin proporciona la posicin geogrfica,
ms o menos exacta, de una entidad mvil.

Posicin que se ofrece al propio dispositivo mvil


Evento que se transmite a un servidor remoto de forma
transparente

Un servicio de localizacin es una base de datos con


informacin de posicin de los nodos.
El objetivo de un servicio de localizacin es el mapeo
dinmico de la direccin lgica de un nodo con su posicin
fsica en la red.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Conceptos generales

Qu es un servicio de localizacin?
Las dos operaciones bsicas asociadas a un servicio de
localizacin son:

Actualizacin de la posicin
El nodo mvil debe ir informando de su posicin.
La consulta de la posicin de un nodo
o Si un emisor necesita localizar a un nodo dentro de la red.
o

Es un servicio que proporciona el nivel de red.


o

Routing, forwarding and localization

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Conceptos generales

Ejemplo de Servicio de localizacin en redes con infraestructura


En redes mviles con infraestructura como GSM la posicin
de un nodo queda almacenada en el Home Location
Register/Visitor Location Register.
HLR/VLR son servidores centralizados.
Position LookUp N

N
(x,y)

Position Update (N, (x,y))

N is at (x,y)
Location Service
(Base de Datos)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Conceptos generales

Ejemplo de Servicio de localizacin en redes ad hoc


En una red ad hoc los nodos deben implementar este
servicio por ellos mismos.
Servidor de localizacin est distribuido entre los nodos.

Alguno o todos los nodos mantienen la informacin de la


posicin.
Los nodos pueden tener una copia de toda o parte de la base
de datos.
N

(x,y)
Position LookUp N

Position Update (N, (x,y))

N is at (x,y)
Location Servers

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Sistemas de localizacin

Sistemas de localizacin

Sistema de localizacin: Principios bsicos


Clasificacin de los sistemas de localizacin:

Sistemas de localizacin para exteriores


Sistemas de localizacin para interiores
Sistema de localizacin se basan en el tratamiento de
seales:

Retardos de propagacin y desfase de seales


Potencia de seal recibida
Receptores:

Cada vez ms pequeos y baratos.


Precisin receptor satlite (20m) y telefona (100m).
Tecnologas:

Tecnologas inalmbricas estndar:


o
o

Mviles, satlites
WirelessLAN, Bluetooth, RFID (Radio-frequency
identification),NFC (Near field communication)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

GPS

Sistema de localizacin para exteriores: GPS I


Global Positioning System (GPS)

Sistema compuesto por 26 satlites.


Ofrece informacin de localizacin, velocidad y hora.
Basado en el concepto de triangulacin
Cobertura global y gran precisin (<m)
Controlados por la fuerza Area EEUU

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

GPS

Sistema de localizacin para exteriores: GPS II


Determining Position
A GPS receiver "knows" the location of the
satellites, because that information is
included in satellite transmissions. By
estimating how far away a satellite is, the
receiver also "knows" it is located
somewhere on the surface of an imaginary
sphere centered at the satellite. It then
determines the sizes of several spheres, one
for each satellite. The receiver is located
where these spheres intersect.
http://www.nasm.si.edu/gps/work.html

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

10

Galileo

Sistema de localizacin para exteriores: Galileo


Galileo

Propuesta europea de posicionacimiento global por satlite


30 satlite
Vocacin comercial:
Servicio gratuito de posicin (error < 5 metros)
o Servicios de pago de mayor precisin
Compatibilidad GPS y Galileo
o Pendientes de acuerdo
Se espera poner en marcha en 2014
o

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

11

Loja - 2014

Servicio LCS

Sistema de localizacin de exteriores de telefona mvil


Servicio LCS (Location Service)

Define la funcionalidad, interfaces y mensajes necesarios para


localizar terminales en una red de telefona mvil (GSM, UMTS,
etc).

Categoras LCS:

LCS Comercial
Proporciona servicios de valor aadido a los usuarios.
LCS Interno
o Utilizados por la propia operadora de acceso. Medidas de
trfico, informacin de cobertura, servicios suplementarios
LCS de Emergencia
o Permiten dar asistencia a llamadas de emergencia.
Obligatorio en algunos pases. Ofrecen la posicin del
llamante a los servicios que responden a la llamada.
LCS Legal
o Utilizados para combatir delitos.
o

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

12

Servicio LCS

Mecanismos de posicionamiento para LCS


Algunas tcnicas de localizacin:

Identificacin de la clula (Cell ID)


Cell ID + Timing Advanced (TA)
Cell ID + Timing of Arrival (TOA)
Enhanced Observer Time Difference (E-OTD)
Angle Of Arrival (AOA)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

13

Loja - 2014

Servicio LCS

Cell ID (Identificacin de la clula )


Mtodo muy sencillo
La posicin del terminal, MS, se estima a partir de la
identificacin de la estacin base.
La exactitud de la estimacin depende del area de
covertura de la clula.

Femtocell: pocos metros


Urbano: 500m-2km
Rural: hasta 30km

Dimetro de la celda:
- 50 m (indoor picocell)
- 30 km (rural macrocell)
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

14

Servicio LCS

Cell ID + TA (Timing Advanced )


Utilizado en GSM, GPRS

TA se calcula en la estacin base y se enva al MS para la


sincronizacin en un sistema TDMA.

En UMTS se consiguen medidas del RTT (Round Trip Time)


con exactitud mayores de 36m
El RTT o TA se utiliza para calcular la distancia entre la
estacin base y el MS.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

15

Loja - 2014

Servicio LCS

Cell ID + TOA (Timing of Arrival )


Varias estaciones base miden el TOA de una seal enviada
desde el MS.

El retardo de transmisin se resuelve tomando


diferencias de tiempo.

La diferencia entre dos TOA define una hiperbola.


Tres TOA definen una localizacin 2D.
?
trama

r1

TOA1
TOA2

?
TOA3

TDOA21=TOA2-TOA1=(r2-r1)/c
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

r2

trama
TOA3=?+ D3/c
Loja - 2014

16

Servicio LCS

E-OTD Enhanced Observer Time Difference (OTDOA UMTS)


Mtodo parecido anterior, pero ahora las medidas las
realiza el propio terminal mvil
Se calcula la posicin a partir del tiempo de llegada de una
seal enviada por varias estaciones base.
El MS compara el tiempo de llegada de las seales y
estima su distancia a cada BS. Calcula su posicin final
por medio de triangulacin.
Se necesita modificar el software de los MS GSM.
Los terminales UMTS ya estn actualizados.
trama
El MS mide diferencias de tiempo
entre estaciones base.
Si la red no est perfectamente
sincronizada, el MS tiene que
conocer las diferencias en el tiempo
entre las estaciones base
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

trama

trama

17

Loja - 2014

Servicio LCS

E-OTD Enhanced Observer Time Difference (OTDOA UMTS)


Se introduce un nuevo dispositivo, el LMU (Location
Measurement Unit) tiene un reloj GPS con el que puede
medir los tiempos de transmisin de cada estacin base de
forma precisa.

EL LMU informa a las BSs de la diferencias de sincronizacin.


La red enva informacin adicional al MS para que pueda
obtener la posicin mediante triangulacin (TDOA).
LMU
Informacin
adicional

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

18

Servicio LCS

AOA (Angle of Arrival )


El ngulo de llegada de las seales desde el MS a diferentes
BS.
La posicin se calcula basado en el AOA en diferentes BS y
el centro de localizacin, LMU, calcula la posicin.
NodeB with directional
antenna

trama

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

19

Loja - 2014

Ejemplos de aplicacin para sistemas de localizacin para


exteriores

PET TRACKING PACK

Casio Satellite Navi GPS watch

Localizador para personas con Alzhimer


Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

20

Sistemas de localizacin en interiores

Sistemas de localizacin para interiores I


Triangulacin de radiofrecuencia

Se miden las distancias a varios puntos a partir de las seales


recibidas y la interseccin determina la posicin.
Se suele utilizar la potencia de la seal recibida.
o A menor potencia, ms lejano se encuentra el objeto que
emiti la seal.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

21

Loja - 2014

Sistemas de localizacin en interiores

Sistemas de localizacin para interiores II


Vector de potencias (distancia mnima)

Conocer la situacin de los APs


Fase de entrenamiento: almacenamiento de las seales
obtenidas de los distintos APs por el usuario en diferentes
puntos.
Estimacin de la posicin a partir de los niveles ms cercanos
al vector de seales.

V1=(P11, P12 ,P13)


Vm=(Pm1, Pm2 ,Pm3)V4=(P41, P42 ,P43)
V2=(P21, P22 ,P23)
V3=(P31, P32 ,P33)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

22

Sistemas de localizacin en interiores

Sistemas de localizacin para interiores III


Balizas de infrarrojos y radiofrecuencia

La localizacin depende de la asociacin de objetos con zonas


o balizas (fingerprint).
Se basa en la recoleccin de informacin del entorno a priori.
Esta informacin es clasificada y almacenada en una base de
datos.
El mvil mide la huella y la enva al centro de localizacin
donde se debe encontrar la mejor asociacin de esta huella
con una localizacin.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

23

Loja - 2014

Ejemplos

Ejemplos de sistemas de localizacin


EKAHAU

http://www.ekahau.com/
RSS de los APs
Wi-Fi tags
AeroScout

http://www.aeroscout.com/
http://www.aeroscout.com/solutions
Wi-Fi y RFID
Utilizan el mtodo de tiempo de llegada o de potencia de seal
recibida para determinar la posicin del mvil o de la etiqueta
RFID o WiFi.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

24

Ekahau Real Time Location System (RTL)


Wi-Fi Based Asset Management and People Tracking Solution
For Hospitals and Other Enterprises

Small, battery-powered Wi-Fi tags are attached to the tracked assets, or are carried by people.
Alternatively, existing Wi-Fi devices like phones, tablets or laptops can be tracked.
Ekahau RTLS processes the locations, rules, messages, and environmental data - and turns this
information into maps, alerts, and reports.
The system also allows you to monitor environmental conditions wirelessly, such as temperature
and humidity.
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

25

Ekahau Real Time Location System (RTLS)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

26

Servicios de localizacin

DREAM
Virtual Home
Grid-like structure

Servicio de localizacin

Servicios de Localizacin reactivos


Una solucin simple para la localizacin de los nodos
consiste en la inundacin de los mensajes de solicitud de
localizacin a travs de la red.

Solucin no escalable
Para redes pequeas.
Mejora: Controlar el rea de inundacin

Incrementar gradualmente hasta que el nodo es localizado el


nmero de saltos involucrados en la propagacin de la
inundacin.

Inundacin es un servicio de localizacin reactivo.

No se mantiene informacin

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

28

Servicios de localizacin

Servicios de Localizacin proactivos


Dividen su funcionamiento en dos fases:

Construyen y mantienen estructuras de datos que almacenan la


informacin de posicin de cada nodo.
Solicitan informacin a estas estructuras.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

29

DREAM

Distance Routing Effect Algorithm for Mobility (DREAM)


DREAM servicio de localizacin proactivo.
Todos los nodos mantienen informacin de localizacin de todos
los otros nodos.
Cada nodo utiliza la tcnica de inundacin para transmitir su
localizacin.
Para reducir el overhead el nodo puede controlar la frecuencia de
los mensajes de actualizacin y el nmero de hops a los cuales
se entregan esos mensajes.

Los nodos ms cercanos se actualizan ms frecuentemente.


o

La exactitud de la posicin de un nodo decrece con la distancia del nodo.

El campo time-to-live se utiliza para controlar que lejos se propaga


el mensaje
Efecto de la distancia: Cuanto mayor es la distancia que separa a
dos nodos, ms despacio parece que se mueven uno con respecto a
otro
o

Por lo tanto la falta de exactitud con la distancia se ecualiza.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

30

Virtual Home

Virtual Home
Servicios de localizacin que seleccionan un nodo de una
subred de nodos para almacenar la posicin.

La funcin del home location server est distribuido en varios


nodos de la red ad hoc.
A cada nodo se le asocia un virtual home donde se almacena
su posicin.
La asociacin entre el nodo y su virtual home se realiza a
travs de una funcin hash que se aplica a su identificador de
nodo.
La solicitud de posicin de un nodo es dirigida a su virtual
home donde la informacin est almacenada.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

31

Loja - 2014

Grid-like structure

Grid-like structure I
Subconjunto de nodos actan como servidores de
localizacin
Se asume una estructura cuadriculada que se superpone en
la red ad hoc.

Todos los nodos conocen a priori esta estructura.


La cuadrcula se organiza en una jerarqua de cuadrados
que simplifican la actualizacin y la consulta.

La jerarqua de la cuadrcula y el identificador del nodo definen

para cada nodo mvil su conjunto de servidores.


Un nodo desconoce sus servidores, pero el protocolo define un
procedimiento distribuido y independiente para reconocerlos.
El nodo solamente enva su posicin hacia los nodos de la
cuadrcula.
Cada nodo en la cuadrcula, encuentra el servidor para ese
nodo.
Se utiliza el mismo procedimiento para resolver las consultas.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

32

Grid-like structure II

Localization server:
the least ID greater than B

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

33

Loja - 2014

Grid-like structure III

How does A find the location of B?

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

34

Protocolos de enrutamiento

LAR
DREAM
GEDIR

Protocolos de enrutamiento con servicios de localizacin


Para enviar los paquetes se necesita la posicin de los
nodos.

sistemas de localizacin: GPS u otros mecanismos.


Los paquetes de datos y control se envan haca la zona
geogrfica donde se sabe que est el nodo destino.
Se adaptan rpido a los cambios de topologa

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

36

LAR

Location-Aided Routing (LAR)


LAR 1998.
Exploits location information to limit scope of route
request flood

Location information may be obtained using GPS


Expected Zone is determined as a region that is expected
to hold the current location of the destination

Expected region determined based on potentially old location


information, and knowledge of the destinations speed

Route requests limited to a Request Zone that contains the


Expected Zone and location of the sender node

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

37

Loja - 2014

LAR

Expected Zone in LAR


X = last known location of node
D, at time t0
Y = location of node D at current
time t1, unknown to node S
r = (t1 - t0) * estimate of Ds
speed

X
Y

Expected Zone
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

38

LAR

Request Zone in LAR


Network Space

Request Zone

r
B

X
Y

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

39

LAR

LAR (Location Aided Routing )


Only nodes within the request zone forward route requests

Node A does not forward RREQ, but node B does.


Request zone explicitly specified in the route request
Each node must know its physical location to determine
whether it is within the request zone
If route discovery using the smaller request zone fails to
find a route, the sender initiates another route discovery
(after a timeout) using a larger request zone

the larger request zone may be the entire network


Rest of route discovery protocol similar to DSR

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

40

LAR

Advantatges and disadvantages (LAR)


Advantages

reduces the scope of route request flood


reduces overhead of route discovery
Disadvantages

Nodes need to know their physical locations


Does not take into account possible existence of obstructions
for radio transmissions

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

41

Loja - 2014

DREAM

Distance Routing Effect Algorithm for Mobility (DREAM) I


Uses location and speed information (like LAR)
Utiliza el servicio de localizacin DREAM:

Todos los nodos almacenan la informacin de todos los nodos.


Nodes periodically broadcast their physical location
Nearby nodes are updated more frequently, far away nodes
less frequently

DREAM uses flooding of data packets as the routing


mechanism (unlike LAR)

DREAM uses location information to limit the flood of data


packets to a small region

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

42

DREAM

Distance Routing Effect Algorithm for Mobility (DREAM) II


Expected zone

Node A, on receiving the


data packet, forwards it to
its neighbors within the
cone rooted at node A

A
S

S sends data packet to all neighbors


in the cone rooted at node S

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

43

Loja - 2014

GEDIR

Geographic Distance Routing (GEDIR) I


Location of the destination node is assumed known
Each node knows location of its neighbors
Each node forwards a packet to its neighbor closest to the
destination
Route taken from S to D shown below

A
S

E
F

C
G

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

obstruction

44

GEDIR

Geographic Distance Routing (GEDIR) II


The algorithm terminates when same edge traversed twice
consecutively
Algorithm fails to route from S to E

Node G is the neighbor of C who is closest from destination E,


but C does not have a route to E

A
S

E
F

C
G

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

obstruction

Loja - 2014

45

GEDIR

Routing with Guaranteed Delivery


Improves on GEDIR
Guarantees delivery (using location information) provided
that a path exists from source to destination
Routes around obstacles if necessary

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

46

Referencias

References
S. Basagni, I. Chlamtac, V. Syrotiuk, B. Woodward, A
distance routing effect algorithm for mobility (DREAM),
MOBICOM, 98.
J. Li, J. Jannotti, D. De Couto et al, A scalable location
service for geographic ad hoc routing, MOBICOM 2000.
Young-Bae Ko and Nitin H. Vaidya, Location-Aided Routing
(LAR) in mobile ad hoc networks, Wireless Networks, Vol.6,
2000.
Xu Lin , Ivan Stojmenovic ,GPS based distributed routing
algorithms for wireless networks, Unpublished manuscript,
2000.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

48

SIMULACIN DE PROTOCOLOS DE ENRUTAMIENTO


PARA REDES MVILES AD-HOC MEDIANTE
HERRRAMIENTA DE SIMULACIN NS-3

Routing Protocol Performance in MANETs

Outline
1. Introduction
2. Qualitative metrics
3. Quantitative metrics
4. Quality-aware metrics
5. References

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Introduction
To judge the merit of a routing protocol, metrics are
needed to measure its suitability and performance.
Routing protocol characteristics:

Operates over a wide range of mobile networking contexts


Reacts efficiently to topological changes and traffic demands
Qualitative metrics. Desirable properties of MANET routing
protocols as distributed operation, loop-freedom,
Quantitative metrics. Measurable parameters can be used
to assess the performance of any routing protocol as
throught, delay,..

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Introduction. Network Context


Network size--measured in the number of nodes
Network connectivity-- the average number of neighbors of
a node
Topological rate of change--the speed with which a
network's topology is changing
Mobility--when, and under what circumstances, is temporal
and spatial topological correlation relevant to the
performance of a routing protocol? In these cases, what is
the most appropriate model for simulating node mobility in a
MANET?

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Qualitative metrics
Distributed operation
Loop freedom. Avoid a small fraction of packets spinning
around in the network for arbitrary time periods

TTL Solutions
Demand-based operation. Adapt the routing protocol to the
traffic pattern on a demand to optimize network energy and
bandwitdh resources

Internet access
Energy conversation

Acomodate inactive nodes


Unidirectional link support
Security

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Quantitative metrics
How well does the protocol work?
Throughput
End to end delay
Routing Acquisition Time. Time required to establish route
when requested for on-demand routing protocols.
Percentage out-of-order delivery.
Average hop count
Average number of data bits transmitted/data bit delivered.
Average number of control bits transmitted/data bit
delivered.

Control bits = routing control packets + header data packets


Average number of control and data packets/data packet
delivered.
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Quality-aware metrics I
When nodes are not mobile, high quality routes can be
found.

The stationary topology in WMN benefits from routes with


more capacity or less error probability.

ETX (Expected Transmission count). Expected number of


transmissions a node requires to successfully transmit a
packet to a neighbor.

The chosen route is the one with the lowest sum of ETX
How to calculate ETX?
o
o
o
o

In a link ETX=1/(dforward+dreverse)
dforward=Received probes from A/Sent probes from A
dreverse=Received probes from B/Sent probes from A
Each node periodically broadcasts probes containing the number of
received probes from each neigbor.
A

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Quality-aware metrics II
ML (Minimum Loss).

The chosen route is the one with the lowest end to end loss
probability. MLendtoend=Mllink1*Mllink*.....*MLlinkn
How to calculate ML?
o
o
o
o

In a link ML=1/(dforward+dreverse)
dforward=Dropped probes from A/Sent probes from A
dreverse=Dropped probes from B/Sent probes from A
Each node periodically broadcasts probes containing the number of
received probes from each neigbor.

The multiplication to find Mlendtoend reduces the number of route


changes

Drawbacks:

ETX and ML do not take into account different bandwidth links


and data packet sizes
They may not follow the link variations because they are based
on average values computed on a time-window interval.
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Quality-aware metrics III


ETT (Expected Transmission Time) is the time a data
packet requires to be transmitted successfully to each
neigbor.

ETT adjusts ETX to different PHY rates and data-packet sizes.


The chosen route is the one with the lowest ETT
How to calculate ETT?
o

o
o

ETT=ETX*t where t is the average time a single data packet


requires to be delivered
t can be calculated as data-packet size/ estimated Bandwidth
To estimated Bandwidth depends on the firmware.
To periodically estimate it through this proccess:
the node sends two packets (a small and a large packet).
Each neighbor measures the interarrival time and reports back to the
sender.

Bandwidth= large packet size/(minimum interarrival time )


A
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

References
[RFC2501] S. Corson, J. Macker, Mobile Ad hoc
Networking (MANET): Routing Protocol Performance. RFC
2501. January 1999.
M. E. M. Campista, P.M. Esposito et al, Routing Metrics and
Protocols for Wireless Mesh Networks, IEEE Network,
January 2008. pp. 6-18.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

10

SIMULACIN DE PROTOCOLOS DE ENRUTAMIENTO


PARA REDES MVILES AD-HOC MEDIANTE
HERRRAMIENTA DE SIMULACIN NS-3

MODELADO DE SERVICIOS

Contenidos

1. Introduccin
2. Servicio telefnico
3. Servicios mviles
4. Servicios de distribucin de audio y video
5. Servicios de datos

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Definicin de Servicio de Telecomunicacin

Conjunto de facilidades y medios (fsicos y lgicos) gestionados


por un proveedor de servicio que ste pone a disposicin de los
usuarios, con unas normas de acceso y utilizacin, para
satisfacer las necesidades de telecomunicaciones de los
clientes

Elementos necesarios:
Elementos fsicos (equipos, medios de transmisin, etc.) y
lgicos (protocolos, sealizacin)

Proveedor de servicios
Clientes o usuarios del servicio
Informacin que se intercambia

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Clasificacin de los servicios (ITU)


Servicios Portadores
Proporcionan la capacidad necesaria para la transmisin de seales
entre puntos de terminacin de red (PTR) normalizados (pueden usar
redes conmutadas o no conmutadas). Ej: ADSL

Servicios Finales o Teleservicios


Proporcionan la capacidad completa para la comunicacin entre
usuarios, incluidas las funciones del equipo terminal, segn
procedimientos especficos de cada servicio. Ej: Videoconferencia

PTR
Terminal

Red
Servicio portador

PTR
Terminal

Teleservicio
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Trfico
Informacin originada por un servicio de telecomunicacin
y entregada hacia la red que lo transporta

Aplicacin

Aplicacin

Terminal 1

Nodo n

Nodo 1

Terminal 2

Las caractersticas del trfico dependen del servicio y del


modo en que los datos son transportados
Conmutacin de circuitos vs. paquetes
Servicios de voz, video, datos, etc.
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Definicin del modelo de trfico


Abstraccin matemtica, ms o menos compleja, que
trata de representar alguna o varias caractersticas
estadsticas de un tipo de trfico real
Utilidad: anlisis, diseo y/o optimizacin de redes y
servicios mediante
resultados de simulacin con modelos de trfico
anlisis matemtico (ej. T de colas para trfico de Poisson)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Servicio telefnico
Telefona bsica: comunicacin de voz entre terminales
telefnicos conectados a PTR de la RTB
Rango de frecuencias audibles: 20Hz-20kHz
El canal vocal telefnico se limita a 300-3400Hz
Transmisin analgica en el bucle de abonado y digital en
el resto
El servicio telefnico bsico incluye:
Nmero telefnico perteneciente a la red pblica
Instalacin de un PTR (la alimentacin del telfono proviene
de la central local)
Buzn de voz
Facturacin detallada

Posibilidad de contratar servicios suplementarios

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Red inteligente
En los sistemas de comunicacin previos a la Red
Inteligente (RI), todos los elementos residen en los
sistemas de conmutacin
Servicios resultantes:
Poca flexibilidad
No existe acceso a datos centralizados
RED INTELIGENTE: Plataforma basada en la interconexin
de nodos, donde residen aplicaciones informticas,
centrales de conmutacin y sistemas de bases de datos
en tiempo real, para proveer la generacin de servicios
Arquitectura de red orientada a servicios
Facilita el desarrollo, control y gestin de dichos servicios

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Otros servicios asociados a la Red Telefnica


Transmisin de datos (servicios portadores)
Mdem en banda vocal
hasta 56kbps
Mdem ADSL
hasta 6.1Mbps
Red Digital de Servicios Integrados (RDSI)
o

Acceso bsico (BRI): 144kbps (o hasta 2 canales de voz)

Acceso primario (PRI): 2Mbps (o hasta 30 canales de voz)

Transmisin de imgenes
Fax: transmisin de imagen digital a 9600 bps (Grupo III)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Voz sobre IP (VoIP)


Objetivo: transmisin de voz usando IP como
portadora de la voz

La voz es codificada y transmitida sobre redes de


conmutacin de paquetes y no sobre redes de
conmutacin de circuitos

Adems de digitalizar la voz es necesario ofrecer


todas las funciones propias de una red telefnica:

Sealizacin (llamada)
Servicios suplementarios: reenvo de llamadas,
mensajera, etc.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

10

Caractersticas del trfico de voz


Voz sobre conmutacin de circuitos
La intensidad de trfico de voz se suele medir en Erlangs

1 Erlang = 1 circuito en uso durante 1 hora


N Erlangs =

NumLlamadas DuracinMediaLlamada( s )
3600s

Duracin de la llamada
Tendencia exponencial negativa
Valor medio tpico: 2 o 3 minutos
Se suele aplicar la frmula de Erlang-B para
determinar la probabilidad de bloqueo:

Ic
E B (c , I ) = c c ! k
I

k =0 k !

c: n de circuitos
I: Intensidad de trfico en Erlangs

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

11

Loja - 2014

Caractersticas del trfico de voz


Voz sobre conmutacin de paquetes
El trfico de voz (sobre paquetes) se caracteriza por tener
perodos de conversacin (ON) y silencio (OFF)
Throughput

Tasa constante (CBR)

ON

OFF

ON

Conversacin

Silencio

OFF

Conversacin

tiempo

Silencio

Normalmente se modela mediante 2 estados (ON y OFF)


Tiempo de permanencia en cada estado sigue una distribucin
estadstica exponencial f(t) de media t0

t0 (ON OFF ) = 227 ms

EJEMPLO
30%

ON

OFF

70%

f (t ) =

t
1
exp
t0
t0

t0 (OFF ON ) = 596 ms
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

12

Caractersticas del trfico de voz


Voz sobre conmutacin de paquetes
Durante el perodo ON, se suele modelar asumiendo constantes
los dos parmetros bsicos que controlan la fuente:
Tamao medio de paquete
Tiempo medio entre paquetes
OFF
ON
OFF

Tiempo entre paquetes


Codificador

Tamao de
paquete (bytes)
G. 711 (PCM)
160
G. 726
80
RPE-LTP (GSM) 32.5 (260 bits)
G. 729
20
G. 723.1
20
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

ON

OFF

Tamao de paquete

Tiempo entre
paquetes (ms)
20
20
20
20
30

Throughput Calidad subjetiva


(kbps)
(MOS: 1-5)
64
4.1
32
3.85
13
3.5
8
3.92
5.3
3.65

Loja - 2014

13

Requisitos de calidad del servicio de voz


Velocidad garantizada
Depende de la tasa binaria generada por el codificador
Calidad de la voz
Bit Error Rate (BER) < 10-6 (ITU G.113)
Retardo bajo
Para telefona de calidad: <200 ms extremo a extremo
(ITU G.114)

Mnimo jitter (variacin del retardo)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

14

Reduccin del jitter en redes de paquetes


Forma de minimizar el efecto del jitter
Pequeo buffer a nivel de aplicacin (0-75ms)
Amortigua las variaciones del retardo
Proporciona una tasa constante a su salida
Paquetes con retardo demasiado alto son descartados

Buffer (0-75ms)
data

data

data

data

data

data

data

jitter

data

data

Velocidad constante

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

15

Loja - 2014

Requisitos de retardo entre extremos (ITU G.114)

Excelente

Bueno

Tolerable

Mala

Muy mala
0
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

100

200

300

Loja - 2014

400

500

Retardo (ms)
16

Servicios mviles

Radiobsqueda (paging)
Radio Mvil Privada y sistemas troncales (trunking)
Servicios mviles va satlite
Telefona Mvil
SMS
MMS

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

17

Radiobsqueda (paging)
El sistema enva un aviso a un usuario en particular o
grupo de usuarios
El aviso puede consistir en un bip, cadena de caracteres
Servicio unidireccional
Los primeros sistemas datan de los aos 60
Existen sistemas de cobertura reducida, local o amplia
Se basa en una red de estaciones emisoras
Receptores sencillos, baratos y de bajo consumo

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

18

Radio Mvil Privada y Sistemas Troncales


Servicio de radiotelefona de grupo cerrado de usuarios
Bidireccional (semidplex o full-dplex)
Conexin directa entre terminales mviles
Requiere disciplina de uso
Alcances reducidos
Sistema troncal (trunking)
Varios grupos cerrados de usuarios comparten
infraestructuras y recursos radio

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

19

Servicios mviles va satlite


Servicios mviles martimo y aeronutico
Primeros servicios va redes terrestres a baja frecuencia
Actualmente: redes de satlites en rbita de gran cobertura
(INMARSAT, IRIDIUM, GLOBALSTAR, ODYSSEY)

Servicios de control de flotas


Gestin de vehculos
Comunicacin de voz y datos
Llamadas de emergencia
Ejemplo: EUTELTRACS
Posicionamiento
Clculo de la posicin mediante retardos de propagacin
Ejemplo: GPS, GALILEO, GLONASS, BEIDOU
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

20

Telefona mvil
Sistema de comunicaciones inalmbricas y mviles que
proporciona los mismos servicios que la red de telefona
fija clsica
Bidireccional (full-dplex), no requiere disciplina de uso
por parte del usuario
No hay conexin directa entre terminales, siempre a
travs de estaciones base (posibilitando tarificacin)
Conexin con otras redes de telefona y de datos

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

21

Telefona mvil: Servicios GSM (2G)


Teleservicios
Voz digital sobre conmutacin de circuitos a 13 kbps (Full
Rate, FR) 6.5 kbps (Half Rate, HR)
Mensajes cortos (SMS)
Fax (grupo III)
Mensajes Multimedia (MMS)
Requiere soporte GPRS

Servicios portadores
Transmisin de datos hasta 9600 bps (o mayores con GPRS)
Servicios suplementarios
Buzn de voz
Desvo / retencin de llamadas
Restriccin de llamadas
Indicacin de llamada en espera
Ocultacin de identidad
Multiconferencia
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

22

Servicio de Mensajes Cortos (SMS)


Intercambio de mensajes de texto entre terminales
mviles
Garantiza la recepcin de los mensajes aunque los
destinatarios no se encuentren disponibles en el momento
de la transmisin
Los mensajes de texto son procesados por un centro de
mensajes cortos (SMSC, Short Message Service Center) que
se encarga de almacenarlos hasta que son enviados

Se transmite por canales de sealizacin

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

23

Servicio de Mensajera Multimedia (MMS)


Permite enviar y recibir en un mismo mensaje: texto con
formato, sonido, imgenes, animaciones y/o vdeo a otro
telfono mvil o a una direccin de correo
Un MMS consiste en un paquete de datos dividido en
objetos que pueden contener imgenes, sonidos o texto
El paquete incluye una cabecera que muestra el origen y
destino del paquete
El lenguaje de presentacin de los mensajes es el SMIL
(Synchronized Multimedia Integration Language)
SMIL consiste en un conjunto de etiquetas XML que describen
el contenido, sincronizacin, temporizacin, posicin, etc.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

24

Clases de contenidos MMS

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

25

Servicios de distribucin de audio y vdeo


Radiodifusin sonora
o
o

Analgica
Digital (DAB)

Televisin Digital
o
o
o
o

TV Digital Terrestre (TDT)


TV Digital va Satlite
TV por Cable (CATV)
Televisin por ADSL

Streaming
Caractersticas del trfico de audio y video

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

26

Radiodifusin sonora
Servicio de radiodifusin unidireccional de audio
mediante ondas electromagnticas desde un centro de
difusin y destinada a la recepcin del pblico en general
Pueden emplear redes terrenales o de satlite

Red Terrenal:
o
o

Red primaria (emisores)


Red secundaria
(re-emisores)

Tecnologa:

Analgica
Digital (DAB)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

27

Televisin digital
Difusin de las seales de TV que utiliza la tecnologa
digital para transmitir video/audio, y opcionalmente,
otros servicios interactivos
Ventajas de la TV digital frente a la analgica
Mejor calidad tanto de imagen como de sonido
Facilita la incorporacin de nuevos servicios
Mayor nmero de canales

Tecnologas de acceso a la Televisin Digital:


Ondas Terrestres (TDT)
Satlite
Cable (CATV)
ADSL
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

28

Tecnologa streaming
Surgi en 1995 como nueva forma de difusin de
contenidos multimedia
El contenido de vdeo y/o audio es transmitido en flujo
(stream), el cual es consumido por la aplicacin receptora
a medida que van llegando los datos que lo componen
Unidireccional (video/audio), Bidireccional (sealizacin)
Arquitectura cliente-servidor

Red
Buffering
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

29

Loja - 2014

Funcionamiento de streaming
Re-buffering: necesidad de llenar de nuevo el buffer por no
haber ms datos disponibles

Interrupcin en el servicio
Servidor

Cliente

Bytes
Retardo de
red no
constante

buffer
Re-buffering

384 kbps
retardo

buffer

Tiempo (s)
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

30

Caractersticas del trfico de audio


Los requisitos de throughput vienen determinados por:

Frecuencia de muestreo
Bits/muestra
Mono/estreo
Algoritmo de compresin
Audio:
Calidad CD
Frecuencia muestreo

44.1 kHz

Bits /muestra

16

Mono/estreo

Estreo

Throughput (sin comprimir)

1.4Mbps

Throughput (comprimido)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

128kbps

31

Loja - 2014

Caractersticas del trfico de audio


Dependiendo del algoritmo de compresin, el throughput
resultante puede ser CBR o VBR (preferente)

Mayor compresin implica menor calidad y mayor consumo


de CPU
Throughput

VBR

CBR

tiempo

La compresin MPEG es la ms eficiente y da mayor


calidad (proporciona trfico VBR), pero consume mucha
CPU e introduce mucho retardo

Se utiliza para audio de alta calidad


No puede emplearse en aplicaciones interactivas como la
videoconferencia o voz sobre IP

La familia de compresores G.72x son menos eficientes


pero ms rpidos
usados para servicios interactivos
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

32

Codificadores de audio
Formato

Frec. Muestreo
(kHz)

Canales

Throughput por
canal (kbps)

Uso

PCM (G.711)

64

Telefona

ADPCM (G.721)

32

Telefona

SB-ADPCM (G.722)

16

48/56/64

Vdeoconferenc.

MP-MLQ (G.723.1)

6,3/5,3 variable

Telefona Internet

ADPCM (G.726)

16/24/32/40

Telefona

E-ADPCM (G.727)

16/24/32/40

Telefona

LD-CELP (G.728)

16

Telefona/Videoc.

CS-ACELP (G.729)

Telefona Internet

RPE-LTP (GSM 06.10)

13

Telefona GSM

CELP (FS 1016)

4,8

LPC-10E (FS 1015)

2,4

CD-DA / DAT

44,1 / 48

705,6/768

MPEG-1 Layer I

32 / 44,1 / 48

192-256 variable

MPEG-1 Layer II

32 / 44,1 / 48

96-128 variable

MPEG-1 Layer III (MP3)

32 / 44,1 /48

64 variable

Hi-Fi Internet

MPEG-2 AAC

32 / 44,1 / 48

5.1

32-44 variable

Hi-Fi Internet

Bajo
Retardo

Elevado
retardo

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Audio Hi-Fi

33

Loja - 2014

Modelo de trfico de audio


Sin perodos de silencio
Se suele modelar:
Tiempo entre paquetes:
o

Fijo o variable (1050 ms)

Tamao de los paquetes


o

Paquetes de pequeo tamao, fijo o variable (20-160 bytes)

Eficiencia baja en Internet debido a las cabeceras

EJEMPLO
Aplicacin

12 bytes

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

8.0 kbps

RTP

DATOS

12.8 kbps

UDP

RTP

DATOS

16.0 kbps

IP

UDP

RTP

DATOS

24.0 kbps

IP

UDP

RTP

DATOS

31.2 kbps

20 bytes
18 bytes
Enlace Ethernet

DATOS

8 bytes

Transporte
Red

20 bytes, 20 ms/paq

Loja - 2014

34

Modelo de trfico de audio


Cuando el trfico es VBR, alguno de los 2 parmetros
(tiempo entre paquetes, tamao de paquete) es variable

En ese caso, se suele utilizar una PDF Lognormal o Pareto


Truncada para esas variables

( ln x )2
1

exp
si x > 0
f ( x) = x 2 2
2 2

resto
0

b
si b x b / c

f ( x) = (1 c ) x +1

0
resto

donde , b 0 y b x b/c

Pareto
Truncada

Lognormal

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

35

Loja - 2014

Trfico de vdeo
Los compresores de video pueden proporcionar una tasa:

CBR (ms sencilla la codificacin y decodificacin)


VBR (mejor calidad y eficiencia de compresin)
Los estndares de compresin de video ms extendidos
(MPEG-2 = H.262, H.263, MPEG-4 = H.264) utilizan VBR
debido a que utilizan compresin espacial y temporal

Audio+Video:
QCIF

Audio+Video:
Resolucin SD

Audio+Video:
Resolucin HD720p

Tamao

176x144

720x576

1280x720

Fotogramas/s

8-15 fps

25 fps

50 fps

Mono

Estreo

Estreo

32-64kbps

1.5 Mbps

8 Mbps

Audio
Bitrate
(comprimido)
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

36

Ejemplo de modelo de trfico de vdeo


PDF Pareto Truncada ( Log-normal) para el tamao de
los paquetes y tiempo entre paquetes

Velocidad
Media

Tamao de paquete

Tiempo entre paquetes

64 kbps

Distribucin: Pareto truncada


Media = 50 bytes
Max = 250 bytes
= 1.2

Distribucin: Pareto truncada


Mean = 6 ms
Max = 12.5 ms
= 1.2

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

37

Caractersticas del trfico de datos


Muy dependiente de la aplicacin en particular
Los modelos de trfico ms extendidos estn asociados a:

Trfico web
Transferencia de ficheros

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

38

Modelo de trfico web


Suele utilizarse un modelo estructural de varios niveles:

NIVEL DE SESIN: Desde que abre el navegador hasta que


termina de navegar. Est formado por la lectura de 1 ms
pginas web.
NIVEL DE PGINA: Consulta por parte del usuario de una
pgina Web, formada por un conjunto de ficheros (HTML,
sonido, imgenes estticas, vdeo), que sern transferidos a
travs de una o varias conexiones TCP.
NIVEL DE PAQUETE: definido por el tamao de los paquetes
y el tiempo entre llegadas de los mismos.
Pgina

Tiempo de lectura

1 paquete
de la sesin
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Sesin

Loja - 2014

Paquete

ltimo paquete
de la sesin
39

Modelo de trfico web


embedded
objects

A nivel de pgina:
Objeto principal
Objetos secundarios

embedded
objects

main object

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

40

Modelo de trfico web


Variable

Distribucin

Parmetros

PDF

Tamao del
objeto principal

Lognormal
Truncada

Media = 10710 bytes


Std dev = 25032 bytes
Min = 100 bytes
Max = 2 Mbytes

(ln x )2
, x 0
2 x

2 2
= 1.37, = 8.35

Tamao del
objeto
secundario

Lognormal
Truncada

Media = 7758 bytes


Std dev = 126168 bytes
Min = 50 bytes
Max = 2 Mbytes

Nmero de
objetos
secundarios por
pgina

Pareto
Truncada

Media = 5.64
Max = 53

fx =

exp

( ln x ) 2
, x 0
2
2 x
2

= 2.36, = 6.17
fx =

exp

k
f x = +1 , k x < m

k
f x =
m

,x = m

= 1.1, k = 2, m = 55

Nota: Restar k al nmero


aleatorio para obtener N
Tiempo de
lectura

Exponencial

Tiempo de
procesamiento

Exponencial

Tamao de
paquete

Determinista

Media = 30 s

f x = e

,x 0

= 0.033

Media = 0.13 s

f x = e

,x 0

= 7.69

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Media = (MTU - Cabeceras TCP/IP)


41

Loja - 2014

Modelo de trfico FTP


Suele utilizarse un modelo de 2 parmetros:
Tamao medio de fichero
Tiempo entre ficheros

Variable

Distribucin

Parmetros

PDF

Tamao de fichero

Lognormal
Truncada

Media = 2 Mbytes
Std Dev = 0.722 Mbytes
Max = 5 Mbytes

Exponencial

Media = 180 s

(ln x )2
, x 0
2x

2 2
= 0.35, = 14.45
x
,x 0
f x = e

Tiempo entre
ficheros
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

fx =

exp

= 0.006
Loja - 2014

42

SIMULACIN DE PROTOCOLOS DE ENRUTAMIENTO


PARA REDES MVILES AD-HOC MEDIANTE
HERRRAMIENTA DE SIMULACIN NS-3

INSTALACIN DE NS-3

Introduccin a la herramienta
NS-3 es un simulador de redes de eventos discretos
Cada evento ocurre en un instante determinado y modifica el
estado del sistema

La simulacin no recorre de forma progresiva el tiempo

(simulador de tiempo continuo), sino que va saltando en el


tiempo de un evento al evento siguiente
Las simulaciones son ms rpidas

Aplicaciones: usos en investigacin y educacin


Software abierto, de uso pblico, desarrollado en comn a
travs de las contribuciones de sus usuarios
El Proyecto ns-3 arranc su andadura en 2006
Trata de sintonizar con las lneas de investigacin ms
actuales en materia de redes de comunicaciones
Bajo nivel de compatibilidad con ns-2

Simulacin de Redes

Loja - 2014

Introduccin a la herramienta
Objetivo: construccin de un ncleo de simulacin slido

(validado), sencillo de depurar y bien documentado


(relativamente)
Facilita la extraccin de los resultados de simulacin
(trazas) para su posterior anlisis
Sistema operativo: Linux (nativo o mquina virtual)
El ncleo de simulacin soporta redes estructuradas sobre
el modelo IP y tambin no basadas en IP:

Wi-Fi
WiMAX
LTE
Redes de sensores, redes cableadas TCP/IP, aplicaciones, etc.

Ejemplo de su evolucin:
Agosto 2013 ns-3.18
Diciembre 2013 ns-3.19
Simulacin de Redes

Loja - 2014

Introduccin a la herramienta
Compilacin y ensamblado
Se realiza mediante WAF para configurar, compilar, limpiar, instalar y
desinstalar programas.

Est desarrollado en el lenguaje PYTHON (instalar antes de su uso)


Se ejecuta desde lnea de comandos: ./waf
antenna
bridge
core

aodv

config-store

csma
dsdv

energy

network
point-to-point
sixlowpan
tap-bridge
uan
wave

csma-layout

dsr

emu

fd-net-device

internet
mobility

Simulacin de Redes

applications

buildings

flow-monitor

lte
mpi

mesh
netanim (no Python)

nix-vector-routing
point-to-point-layout
spectrum
test (no Python)
virtual-net-device
wifi

olsr

Mdulos incluidos

propagation
stats
topology-read
visualizer
wimax

Loja - 2014

Introduccin a la herramienta
Los scripts se pueden desarrollar principalmente en dos lenguajes:

CPP
PYTHON
Un ejemplo de ejecucin de un programa en ns3 es:
./waf --run scratch/scratch-simulator
El ejecutable se encuentra en el directorio build, si se quiere ejecutar
directamente sera necesario actualizar enlaces simblicos (sudo ln).
El fichero scratch-simulator.cc es:
Cabecera tpica de C
Utilizado para depuracin

Programa principal
Muestra mensaje en pantalla
Simulacin de Redes

Loja - 2014

Prerrequisitos
Instalacin de C++
$ sudo apt-get install gcc g++ python
Instalar estos paquetes sin verificacin [s/N]? y

Instalacin de Python
$ sudo apt-get install gcc g++ python python-dev
Instalacin de Mercurial
$ sudo apt-get install mercurial
Instalacin de Bazaar
$ sudo apt-get install bzr
Depurador
$ sudo apt-get install gdb valgrind
Librera GSL (GNU Scientific Library)
$ sudo apt-get install gsl-bin libgsl0-dev libgsl0ldbl

Simulacin de Redes

Loja - 2014

Prerrequisitos
Analizador flex y generador bison
$ sudo apt-get install flex bison libfl-dev
Instalacin de tcpdump (lectura de salidas pcap)
$ sudo apt-get install tcpdump
Instalacin de libreras estadsticas
$ sudo apt-get install sqlite sqlite3 libsqlite3-dev
Instalacin de libreras XML
$ sudo apt-get install libxml2 libxml2-dev
Sistema GTK (toolkit basado en objetos)
$ sudo apt-get install libgtk2.0-0 libgtk2.0-dev
Mquinas virtuales en ns-3
$ sudo apt-get install vtun lxc

Simulacin de Redes

Loja - 2014

Prerrequisitos
Chequeo de cdigo python
$ sudo apt-get install uncrustify
Documentacin (doxygen)
$ sudo apt-get install doxygen graphviz imagemagick
$ sudo apt-get install texlive texlive-extra-utils texlive-latexextra

Visualizacin de manuales y tutorial (con sphinx y dia)


$ sudo apt-get install python-sphinx dia
Instalacin de visualizador pyviz de ns-3
$ sudo apt-get install python-pygraphviz python-kiwi pythonpygoocanvas libgoocanvas-dev

Mdulo openflow
$ sudo apt-get install libboost-signals-dev libboost-filesystemdev

Soporte de emulador MPI (Message Passing Interface)


$ sudo apt-get install openmpi-bin openmpi-common openmpidoc libopenmpi-dev

Simulacin de Redes

Loja - 2014

Prerrequisitos
Enlaces modificados con python
$ sudo apt-get install gcc-multilib

Simulacin de Redes

Loja - 2014

Instalacin usando Bake


$
$
$
$
$
$
$
$
$
$

mkdir workspace
cd workspace
hg clone http://code.nsnam.org/bake
export BAKE_HOME=`pwd`/bake
export PATH=$PATH:$BAKE_HOME
export PYTHONPATH=$PYTHONPATH:$BAKE_HOME
cd bake
./bake.py check
./bake.py configure e ns-3.18
bake .py show
qt4 - missing

$ sudo apt-get install qt4-dev-tools


$ ./bake.py show
qt4 - OK
Simulacin de Redes

Loja - 2014

10

Instalacin usando Bake


$ cd ../..
$ ./bake.py download v
Centro de Software: instalar gccxml

$ ./bake.py build -vvv

Simulacin de Redes

Loja - 2014

11

Loja - 2014

12

Prueba de funcionamiento
$ cd source/ns-3.18
$ ./test.py c core
$ ./waf run hello-simulator

Simulacin de Redes

Instalacin de aplicaciones
Gnuplot en Centro de Software

Prueba de funcionamiento
$ gnuplot
gnuplot> exit

Wireshark en Centro de Software

Aparecer el icono en la barra lateral

Simulacin de Redes

Loja - 2014

13

SIMULACIN DE PROTOCOLOS DE ENRUTAMIENTO


PARA REDES MVILES AD-HOC MEDIANTE
HERRRAMIENTA DE SIMULACIN NS-3

Primeros pasos con ns-3.


Ejemplos sencillos

Outline
Introduccin
Primer ejemplo de ns3. Enlace punto a punto.
Segundo ejemplo de ns3. Dos nodos inalmbricos en
configuracin ad hoc

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Qu podemos simular en ns3?


Redes inalmbricas como WIFI, WIMAX, LTE, redes de sensores,
redes ad hoc
Redes fijas basadas en TCP/IP
Distintas aplicaciones y protocolos

Para definir los escenarios de simulacin y las redes a


simular se usan scripts.
Se pueden desarrollar principalmente en dos lenguajes: CPP
y PYTHON

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Simulacin de redes ad hoc


Respecto a redes de ad hoc se debe profundizar en los
siguiente modelos:
o

Antenna Module

Optimized Link State Routing (OLSR)

Ad Hoc On-Demand Distance Vector (AODV)

DSDV Routing

DSR Routing

Mobility

Propagation models

Wifi

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Estructura de un programa en ns3


Ejemplo. scratch-simulator.cc
Cabecera tpica de C

#include "ns3/core-module.h"
NS_LOG_COMPONENT_DEFINE
("ScratchSimulator");

Se utiliza para habilitar/deshabilitar mensajes por


consola

using namespace ns3;


int main (int argc, char *argv[])
{
NS_LOG_UNCOND ("Scratch Simulator");

Programa principal
Se muestra el mensaje
Se ejecuta hasta que no haya un
STOP o no haya eventos

Simulator::Run ();
Simulator::Destroy ();

Se libera memoria.

Cmo se ejecuta?
./waf --run scratch/scratch-simulator
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Mensajes de logs
LOG functionality: macros which allow developers to send
information to the std::clog output stream.

All logging messages are disabled by default.


To enable selected logging messages, use the
ns3::LogComponentEnable funtion or use the NS_LOG
environment variable
LogComponentEnable("UdpEchoClientApplication", LOG_LEVEL_INFO);
LogComponentEnable("UdpEchoServerApplication", LOG_LEVEL_INFO);
o

This will result in the application printing out messages as packets


are sent and received during the simulation.

$ export NS_LOG=UdpEchoClientApplication=level_all

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Mensajes de logs
Existen 7 niveles de mensajes de log:
LOG_ERROR Log error messages

(associated
macro:
NS_LOG_ERROR);
LOG_WARN

Log
warning
messages
(associated
macro:
NS_LOG_WARN);
LOG_DEBUG Log relatively rare, ad-hoc debugging messages
(associated macro: NS_LOG_DEBUG);
LOG_INFO Log informational messages about program progress
(associated macro: NS_LOG_INFO);
LOG_FUNCTION Log a message describing each function called (two
associated macros: NS_LOG_FUNCTION, used for member functions,
and NS_LOG_FUNCTION_NOARGS, used for static functions);
LOG_LOGIC Log messages describing logical flow within a function
(associated macro: NS_LOG_LOGIC);
LOG_ALL Log everything mentioned above (no associated macro).
NS_LOG_UNCOND Log the associated message unconditionally (no
associated log level).

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Modelo de ns3
Con ns3 se crean un dispositivos o nodos que puede tener
distintas interfaces, aplicaciones, direcciones IP, etc

El proceso es muy parecido al que haramos en una instalacin


de una red en un laboratorio

Nivel

Clases de ns3 (ejemplos)

Aplicacin

UdpEchoClientHelper

Transporte
Red

Ipv4AddressHelper

Enlace

PointToPointHelper

Fsico

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Empezamos con un enlace punto a punto (first.cc) I

Interfaz punto a punto


Servidor
10.0.0.2

Cliente

Node

10.0.0.1

Enlace

Enlace

Application

Application

Protocol stack

Protocol Stack

NetDevice

Interfaz
Punto a punto
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Channel

PtP Protocol

NetDevice

Interfaz
Punto a punto

Loja - 2014

Empezamos con un enlace punto a punto (first.cc) II


Objetivo: dos nodos que se comunican a travs de una
aplicacin Cliente-Servidor.

El programa comienza incluyendo los mdulos que se van a


utilizar:
#include
#include
#include
#include
#include

"ns3/core-module.h"
"ns3/network-module.h"
"ns3/internet-module.h"
"ns3/point-to-point-module.h"
"ns3/applications-module.h"

using namespace ns3;


NS_LOG_COMPONENT_DEFINE ("FirstScriptExample");
LogComponentEnable ("UdpEchoClientApplication", LOG_LEVEL_INFO);
LogComponentEnable ("UdpEchoServerApplication", LOG_LEVEL_INFO);

Finaliza de la manera usual:


Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Simulator::Run ();
Simulator::Destroy ();
Return 0;

Loja - 2014

10

Empezamos con un enlace punto a punto (first.cc) III


Definicin de los nodos:
NodeContainer nodes;
nodes.Create (2);

Definicin del canal punto a punto:


pointToPointHelper pointToPoint;
pointToPoint.SetDeviceAttribute ("DataRate", StringValue ("5Mbps"));
pointToPoint.SetChannelAttribute ("Delay", StringValue ("2ms"));
o

Las clases Helper ayudan a crear elementos con valores por


defecto, slo hay que cambiar estos valores con SetAttribute

Una vez definido el enlace, se crean los interfaces y se unen a


los nodos
NetDeviceContainer devices;
devices = pointToPoint.Install (nodes);

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

11

Empezamos con un enlace punto a punto (first.cc) V


Nivel de aplicacin.
o

Llamada a la funcin UdpEchoServerApplication y


UdpEchoClientApplication
Utilizacin de los Helper para configurar estas funciones.

El servidor. El servidor se encuentra en el nodo 1, estar


activo desde el primer segundo hasta el dcimo de la
simulacin y se usa el puerto nmero 9.

Puerto del servidor


UdpEchoServerHelper echoServer (9);
ApplicationContainer serverApps = echoServer.Install (nodes.Get (1));
La aplicacin del servidor se instala en el nodo 1

serverApps.Start (Seconds (1.0));


serverApps.Stop (Seconds (10.0));

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

12

Empezamos con un enlace punto a punto (first.cc) VI


Nivel de aplicacin. El cliente.
o

El cliente har peticiones al puerto 9 de la IP del nodo 1, slo har


una peticin con un paquete de 1024 bytes. El cliente se instalar
en el nodo 0.

UdpEchoClientHelper echoClient (interfaces.GetAddress (1), 9);


El Helper para la configuracin del cliente requiere dos parmetros:
La interfaz destino y el puerto destino
echoClient.SetAttribute ("MaxPackets", UintegerValue (nPackets));
echoClient.SetAttribute ("Interval", TimeValue (Seconds (1.0)));
echoClient.SetAttribute ("PacketSize", UintegerValue (1024));
Se dan valores a ciertos parmetros

ApplicationContainer clientApps = echoClient.Install(nodes.Get(0));


Se instala sobre el nodo 0
clientApps.Start (Seconds (2.0));
clientApps.Stop (Seconds (10.0));
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

13

Cmo se ejecuta y que resultados obtenemos?


Se ejecuta con la siguiente instruccin:
./waf --run scratch/first

Resultados: Mensajes de log a nivel de aplicacin.


'build' finished successfully (55.759s)
At time 2s client sent 1024 bytes to 10.1.1.2 port 9
At time 2.25732s server received 1024 bytes from 10.1.1.1 port 49153
At time 2.25732s server sent 1024 bytes to 10.1.1.1 port 49153
At time 2.51465s client received 1024 bytes from 10.1.1.2 port 9

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

14

Ficheros de resultados I
Hay que aadir ms cdigo para obtener resultados que se
puedan procesar.
Para conseguir un fichero de traza similar a los de ns2 se
aade el siguiente cdigo:
AsciiTraceHelper ascii;
pointToPoint.EnableAsciiAll (ascii.CreateFileStream ("first.tr"));

Con el helper AsciitraceHelper se pueden registrar en un


fichero de datos las trazas de los paquetes.
+ 2 /NodeList/0/DeviceList/0/$ns3::PointToPointNetDevice/TxQueue/Enqueue
ns3::PppHeader (Point-to-Point Protocol: IP (0x0021)) ns3::Ipv4Header (tos 0x0
DSCP Default ECN Not-ECT ttl 64 id 0 protocol 17 offset (bytes) 0 flags [none]
length: 1052 10.1.1.1 > 10.1.1.2) ns3::UdpHeader (length: 1032 49153 > 9) Payload
(size=1024)
r 2.25732 /NodeList/1/DeviceList/0/$ns3::PointToPointNetDevice/MacRx
ns3::Ipv4Header (tos 0x0 DSCP Default ECN Not-ECT ttl 64 id 0 protocol 17 offset
(bytes) 0 flags [none] length: 1052 10.1.1.1 > 10.1.1.2) ns3::UdpHeader (length:
1032 49153 > 9) Payload (size=1024)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

15

Ficheros de resultados II
Cada lnea se corresponde con un evento.
En este caso se estn monitorizando los eventos que
ocurren en las colas de transmisin de todos los
dispositivos punto a punto.
+

2
/NodeList/0/DeviceList/0/$ns3::PointToPointNetDevice/TxQueue/Enqueue
ns3::PppHeader (
Point-to-Point Protocol: IP (0x0021))
ns3::Ipv4Header (
tos 0x0 ttl 64 id 0 protocol 17 offset 0 flags [none]
length: 1052 10.1.1.1 > 10.1.1.2)
ns3::UdpHeader ( length: 1032 49153 > 9)
Payload (size=1024)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

16

Ficheros de resultados III. Ficheros pcap


Existen helper que pueden crear ficheros de traza en el
formato .pcap
Se crea un fichero para cada interfaz que se nombran de la
forma myfirst-0-0.pcap y myfirst-1-0.pcap
pointToPoint.EnablePcapAll (myfirst");

Se pueden leer con:

Wireshark
Desde consola con:
$ tcpdump -nn -tt -r myfirst-0-0.pcap
reading from file myfirst-0-0.pcap, link-type PPP (PPP)
2.000000 IP 10.1.1.1.49153 > 10.1.1.2.9: UDP, length 1024
2.514648 IP 10.1.1.2.9 > 10.1.1.1.49153: UDP, length 1024
$ tcpdump -nn -tt -r myfirst-1-0.pcap
reading from file myfirst-1-0.pcap, link-type PPP (PPP)
2.257324 IP 10.1.1.1.49153 > 10.1.1.2.9: UDP, length 1024
2.257324 IP 10.1.1.2.9 > 10.1.1.1.49153: UDP, length 1024
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

17

Simulando redes ad hoc


Respecto al ejemplo anterior, las redes ad hoc mviles
tienen varias peculiaridades:

Los nodos se unen a un medio compartido.


Los protocolos de encaminamiento son especficos: OLSR,
AODV,..etc.
Los nodos son mviles y se mueven dentro de un espacio

La configuracin se puede dividir en cuatro pasos.

Creacin de los nodos inalmbricos ad hoc y configuracin del


canal
Movilidad
Instalacin de la pila de protocolos, asignacin de direcciones
y establecimiento del protocolo de enrutamiento.
Configuracin de las aplicaciones que generan el flujo de datos

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

18

Dos nodos fijos inalmbricos ad hoc (wifi-quiet-adhoc.cc) I


Objetivo: dos nodos ad hoc que se comunican a travs de
una aplicacin Cliente-Servidor.

Respecto al ejemplo anterior cambiamos los nodos conectados


mediante un enlace punto a punto a nodos inalmbricos
comunicndose mediante IEEE802.11

Se aaden nuevas libreras:


#include "ns3/mobility-module.h
#include "ns3/wifi-module.h"

Activar las trazas de los dispositivos WiFi


WifiHelper wifi;
if (verbose)
{
wifi.EnableLogComponents (); // Turn on all Wifi logging
}
wifi.SetStandard (WIFI_PHY_STANDARD_80211b);

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

19

Dos nodos fijos inalmbricos ad hoc (wifi-quiet-adhoc.cc) II


Creacin de los nodos y eleccin de su capa fsica y MAC
NodeContainer nodes;
nodes.Create (2);
YansWifiPhyHelper wifiPhy = YansWifiPhyHelper::Default ();
NqosWifiMacHelper wifiMac = NqosWifiMacHelper::Default ();
wifi.SetRemoteStationManager ("ns3::ConstantRateWifiManager",
"DataMode",StringValue (phyMode),
"ControlMode",StringValue (phyMode));
wifiMac.SetType ("ns3::AdhocWifiMac"); // Set it to adhoc mode
YansWifiChannelHelper wifiChannel;
wifiChannel.SetPropagationDelay
("ns3::ConstantSpeedPropagationDelayModel");
wifiChannel.AddPropagationLoss
("ns3::FixedRssLossModel","Rss",DoubleValue (rss));
wifiPhy.SetChannel (wifiChannel.Create ());
NetDeviceContainer devices = wifi.Install (wifiPhy, wifiMac, nodes);
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

20

Dos nodos fijos inalmbricos ad hoc (wifi-quiet-adhoc.cc) III


Movilidad. En este caso los nodos son fijos.
MobilityHelper mobility;
//Posicin inicial
Ptr<ListPositionAllocator> positionAlloc =
CreateObject<ListPositionAllocator> ();
positionAlloc->Add (Vector (0.0, 0.0, 0.0));
positionAlloc->Add (Vector (5.0, 0.0, 0.0));
mobility.SetPositionAllocator (positionAlloc);
//Eleccin del modelo de movilidad
mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
mobility.Install (c);

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

21

Dos nodos fijos inalmbricos ad hoc (wifi-quiet-adhoc.cc) IV


Trazas.
AsciiTraceHelper ascii;
wifiPhy.EnableAsciiAll (ascii.CreateFileStream ("wifi-quiet-adhoc.tr"));
wifiPhy.EnablePcap ("wifi-quiet-adhoc", devices);

Ejecutar
./waf --run scratch/wifi-quiet-adhoc
Resultados. Mensajes de log

'build' finished successfully (14.872s)


At time 2s client sent 1024 bytes to 10.1.1.2 port 9
At time 2.0201s server received 1024 bytes from 10.1.1.1 port 49153
At time 2.0201s server sent 1024 bytes to 10.1.1.1 port 49153
At time 2.03696s client received 1024 bytes from 10.1.1.2 port 9

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

22

Ficheros de resultados I
Fichero .tr
t 2.009 /NodeList/0/DeviceList/0/$ns3::WifiNetDevice/Phy/State/Tx
ns3::WifiMacHeader (DATA ToDS=0, FromDS=0, MoreFrag=0, Retry=0,
MoreData=0 Duration/ID=0usDA=ff:ff:ff:ff:ff:ff, SA=00:00:00:00:00:01,
BSSID=00:00:00:00:00:01, FragNumber=0, SeqNumber=0) ns3::LlcSnapHeader
(type 0x806) ns3::ArpHeader (request source mac: 00-06-00:00:00:00:00:01
source ipv4: 10.1.1.1 dest ipv4: 10.1.1.2) ns3::WifiMacTrailer ()
r 2.0097 /NodeList/1/DeviceList/0/$ns3::WifiNetDevice/Phy/State/RxOk
ns3::WifiMacHeader (DATA ToDS=0, FromDS=0, MoreFrag=0, Retry=0,
MoreData=0 Duration/ID=0usDA=ff:ff:ff:ff:ff:ff, SA=00:00:00:00:00:01,
BSSID=00:00:00:00:00:01, FragNumber=0, SeqNumber=0) ns3::LlcSnapHeader
(type 0x806) ns3::ArpHeader (request source mac: 00-06-00:00:00:00:00:01
source ipv4: 10.1.1.1 dest ipv4: 10.1.1.2) ns3::WifiMacTrailer ()

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

23

Ficheros de resultados II
$ tcpdump -nn -tt -r wifi-quiet-adhoc-0-0.pcap
reading from file wifi-quiet-adhoc-0-0.pcap, link-type IEEE802_11_RADIO (802.11 plus
radiotap header)
2.009000 2009000us tsft 1.0 Mb/s 2412 MHz 11b ARP, Request who-has 10.1.1.2
(ff:ff:ff:ff:ff:ff) tell 10.1.1.1, length 28
2.010458 2010458us tsft 1.0 Mb/s 2412 MHz 11b -79dB signal -101dB noise ARP, Reply
10.1.1.2 is-at 00:00:00:00:00:02, length 28
2.010468 2010468us tsft 1.0 Mb/s 2412 MHz 11b Acknowledgment
RA:00:00:00:00:00:02
2.011202 2011202us tsft 1.0 Mb/s 2412 MHz 11b IP 10.1.1.1.49153 > 10.1.1.2.9: UDP,
length 1024
2.020412 2020412us tsft 1.0 Mb/s 2412 MHz 11b -79dB signal -101dB noise
Acknowledgment RA:00:00:00:00:00:01
2.026802 2026802us tsft 1.0 Mb/s 2412 MHz 11b -79dB signal -101dB noise ARP,
Request who-has 10.1.1.1 (ff:ff:ff:ff:ff:ff) tell 10.1.1.2, length 28
2.026852 2026852us tsft 1.0 Mb/s 2412 MHz 11b ARP, Reply 10.1.1.1 is-at
00:00:00:00:00:01, length 28
2.027870 2027870us tsft 1.0 Mb/s 2412 MHz 11b -79dB signal -101dB noise
Acknowledgment RA:00:00:00:00:00:01
2.036956 2036956us tsft 1.0 Mb/s 2412 MHz 11b -79dB signal -101dB noise IP
10.1.1.2.9 > 10.1.1.1.49153: UDP, length 1024
2.036966 2036966us tsft 1.0 Mb/s 2412 MHz 11b Acknowledgment
RA:00:00:00:00:00:02
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

24

Ficheros de resultados III


$ tcpdump -nn -tt -r wifi-quiet-adhoc-1-0.pcap
reading from file wifi-quiet-adhoc-1-0.pcap, link-type IEEE802_11_RADIO (802.11 plus
radiotap header)
2.009704 2009704us tsft 1.0 Mb/s 2412 MHz 11b -79dB signal -101dB noise ARP,
Request who-has 10.1.1.2 (ff:ff:ff:ff:ff:ff) tell 10.1.1.1, length 28
2.009754 2009754us tsft 1.0 Mb/s 2412 MHz 11b ARP, Reply 10.1.1.2 is-at
00:00:00:00:00:02, length 28
2.010772 2010772us tsft 1.0 Mb/s 2412 MHz 11b -79dB signal -101dB noise
Acknowledgment RA:00:00:00:00:00:02
2.020098 2020098us tsft 1.0 Mb/s 2412 MHz 11b -79dB signal -101dB noise IP
10.1.1.1.49153 > 10.1.1.2.9: UDP, length 1024
2.020108 2020108us tsft 1.0 Mb/s 2412 MHz 11b Acknowledgment
RA:00:00:00:00:00:01
2.026098 2026098us tsft 1.0 Mb/s 2412 MHz 11b ARP, Request who-has 10.1.1.1
(ff:ff:ff:ff:ff:ff) tell 10.1.1.2, length 28
2.027556 2027556us tsft 1.0 Mb/s 2412 MHz 11b -79dB signal -101dB noise ARP, Reply
10.1.1.1 is-at 00:00:00:00:00:01, length 28
2.027566 2027566us tsft 1.0 Mb/s 2412 MHz 11b Acknowledgment
RA:00:00:00:00:00:01
2.028060 2028060us tsft 1.0 Mb/s 2412 MHz 11b IP 10.1.1.2.9 > 10.1.1.1.49153: UDP,
length 1024
2.037270 2037270us tsft 1.0 Mb/s 2412 MHz 11b -79dB signal -101dB noise
Acknowledgment RA:00:00:00:00:00:02
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

25

Mensajes de log
./waf --run scratch/wifi-quiet-adhoc verbose=1
WifiPhy:GetPayloadDurationMicroSeconds(1088, DsssRate1Mbps)
size=1088 mode=DsssRate1Mbps rate=1000000
DcfManager:NotifyTxStartNow(0x8710dc8, +8896000.0ns)
+2028060080.0ns 0x8710dc8 tx start for +8896000.0ns
DcfManager:UpdateBackoff(0x8710dc8)
DcfManager:GetBackoffStartFor(0x8710dc8, 0x872be40)
DcfManager:GetAccessGrantStart(0x8710dc8)
DcfManager:MostRecent(0x8710dc8, +2027566080.0ns, +10000.0ns, +2027880080.0ns,
+2009714016.0ns, +2037306080.0ns, +10000.0ns, +10000.0ns)
access grant start=+2037306080.0ns, rx access start=+2027566080.0ns, busy access
start=+10000.0ns, tx access start=+2027880080.0ns, nav access start=+2009714016.0ns
DcfManager:MostRecent(0x8710dc8, +2028060080.0ns, +2037346080.0ns)
DcfManager:GetBackoffStartFor(0x8710dc8, 0x86f0908)
DcfManager:GetAccessGrantStart(0x8710dc8)
DcfManager:MostRecent(0x8710dc8, +2027566080.0ns, +10000.0ns, +2027880080.0ns,
+2009714016.0ns, +2037306080.0ns, +10000.0ns, +10000.0ns)
access grant start=+2037306080.0ns, rx access start=+2027566080.0ns, busy access
start=+10000.0ns, tx access start=+2027880080.0ns, nav access start=+2009714016.0ns
DcfManager:MostRecent(0x8710dc8, +2027920080.0ns, +2037346080.0ns)
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

26

References
http://www.nsnam.org/docs/release/3.19/doxygen/
Ns-3 tutorial.
http://www.nsnam.org/docs/release/3.19/tutorial/singleht
ml/index.html

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

27

SIMULACIN DE PROTOCOLOS DE ENRUTAMIENTO


PARA REDES MVILES AD-HOC MEDIANTE
HERRRAMIENTA DE SIMULACIN NS-3

Services in ns-3

Outline
1. Services in ns-3

Sockets

UDP

TCP

Bulk Application

FTP

On off Application

2. Exercises
3. References

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Ns3 model

Level

Ns3 classes

Aplicacin

Udp Application
Socket

Transporte
Red

Ipv4AddressHelper

Enlace

PointToPointHelper

Fsico

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Services in ns-3. Socket


Socket definition: the combination of an IP address and a
port number [RFC 793]

Socket pair consists of the client IP address, client port


number, server IP address and server port number
Socket pair identifies the two end points that identifies a TCP
connection in Internet.

A Ns-3 socket is a dynamic object often created by


Applications to communicate between Nodes.
It is based on BSD socket API (Berkeley sockets).

Berkeley sockets (or BSD sockets) is a computing library with


an programming interface (API) for internet sockets and Unix
domain sockets used for inter-process communitation.
It became the standard interface for connecting to the Internet.
The BSD sockets API is written in the C.
Some functions: socket(), bind(), listen(), connect(),..

TCP sockets, UDP sockets.


Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Services in ns-3. Socket Example


//Receiver socket on n1
Ptr<Socket> recvSink = Socket::CreateSocket (n.Get (1),
"ns3::UdpSocketFactory);
InetSocketAddress local = InetSocketAddress (Ipv4Address::GetAny
(), 4477);
recvSink->Bind (local);
recvSink->SetRecvCallback (MakeCallback (&ReceivePacket));
//Sender socket on n0
Ptr<Socket> source = Socket::CreateSocket (n.Get (0),
"ns3::UdpSocketFactory);
InetSocketAddress remote = InetSocketAddress (i.GetAddress (1),
4477);
source->Connect (remote);
//Schedule SendPacket
Simulator::ScheduleWithContext (source->GetNode ()->GetId (),
Seconds (1.0), &SendPacket,
source, packetSize, packetCount,
interPacketInterval);
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Services in ns-3. UDP I


Ns-3 implements User Datagram Protocol described in RFC
768.

It implements a connectionless, unreliable datagram packet


service. Packets may be reordered or duplicated before they
arrive. UDP generates and checks checksums to catch
transmission errors.

UDP client sends packets to a UDP server


A UDP client. Sends UDP packet carrying sequence number
and time stamp in their payloads.

MaxPackets, Interval, RemoteAddress, RemotePort, Packet


Size, StartTime, StopTime

A UDP server. Receives UDP packets from a remote host.

Port, PacketWindowSize, StartTime, StopTime


Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Services in ns-3. UDP Server configuration


Server configuration
#include "ns3/applications-module.h
// Create one UDP Server application on node one.
uint16_t port = 4000;
UdpServerHelper server (port);
ApplicationContainer apps = server.Install (n.Get (1));
apps.Start (Seconds (1.0));
apps.Stop (Seconds (10.0));

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Services in ns-3. UDP Client Configuration


Client configuration
// Create one UDP Client application to send UDP datagrams from
//node zero to node one
uint32_t MaxPacketSize = 1024;
Time interPacketInterval = Seconds (0.05);
uint32_t maxPacketCount = 320;
UdpClientHelper client (serverAddress, port);
client.SetAttribute ("MaxPackets", UintegerValue (maxPacketCount));
client.SetAttribute ("Interval", TimeValue (interPacketInterval));
client.SetAttribute ("PacketSize", UintegerValue (MaxPacketSize));
apps = client.Install (n.Get (0));
apps.Start (Seconds (2.0));
apps.Stop (Seconds (10.0));
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Services in ns-3. TCP I


Ns-3 implements Transport Control Protocol described in
RFC 793
TCP Reno, New Reno, Tahoe, Westwood, Westwood ++
TCP attributes can be tunned by ns3::TcpSocket Class
Reference

This class exists solely for hosting TcpSocket attributes


SndBufSize: maximum transmit buffer size (bytes)
RcvBufSize: maximum receive buffer size (bytes)
SegmentSize: TCP maximum segment size in bytes
SlowStartThreshold: TCP slow start threshold (bytes)
InitialCwnd: TCP initial congestion window size (segments)
ConnTimeout: TCP retransmission timeout when opening
connection (seconds)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Services in ns-3. TCP II


ConnCount: Number of connection attempts (SYN

retransmissions) before returning failure


DelAckTimeout: Timeout value for TCP delayed acks, in
seconds
DelAckCount: Number of packets to wait before sending a
TCP ack
TcpNoDelay: Set to true to disable Nagle's algorithm
PersistTimeout: Persist timeout to probe for rx window

Config::SetDefault ("ns3::TcpSocket::SegmentSize", UintegerValue


(tcp_adu_size));

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

10

Services in ns-3. Variants TCP


TCP Tahoe. This class contains the Tahoe implementation of
TCP.

Tahoe is not officially published in RFC.


In summary, Tahoe has slow start, congestion avoidance and
fast retransmit.
Config::SetDefault("ns3::TcpL4Protocol::SocketType",
TypeIdValue (TcpTahoe::GetTypeId()));

TCP Reno. This class contains the Reno implementation of


TCP, according to RFC2581.
Config::SetDefault("ns3::TcpL4Protocol::SocketType",
TypeIdValue (TcpReno::GetTypeId()));

TCP NewReno. This class contains the NewReno


implementation of TCP, as of RFC2582.
Config::SetDefault("ns3::TcpL4Protocol::SocketType",
TypeIdValue (TcpNewReno::GetTypeId()));

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

11

Services in ns-3. Variants TCP


TCP Westwood and Westwood ++.

They are the two modifications of TCP Reno that employ the
AIAD (Additive Increase/Adaptive Decrease) congestion control
paradigm.
They try to estimate the network's bandwidth using the
received ACKs and use the estimated bandwidth value to
adjust the congestion window after a loss occurs.
The difference between Westwood and Westwood+ is their
bandwidth sampling interval. Westwood samples the
bandwidth every ACK reception while Westwood+ performs
the sampling every RTT.
Config::SetDefault("ns3::TcpL4Protocol::SocketType",
TypeIdValue (TcpWestwood::GetTypeId()));

TCP SACK, TCP Vegas and SCPS-TP Under development

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

12

Services in ns-3. BulkSendApplication I


This traffic generator simply sends data as fast as possible
up to MaxBytes or until the application is stopped if
MaxBytes is zero.
Once the lower layer send buffer is filled, it waits until
space is free to send more data, essentially keeping a
constant flow of data.
TCP sockets can be used, but UDP sockets can not be used.
Attributes:

SendSize: The amount of data to send each time.


Remote: The address of the destination
MaxBytes: The total number of bytes to send. Once these
bytes are sent, no data is sent again. The value zero means
that there is no limit.
Protocol: The type of protocol to use.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

13

Services in ns-3. Example BulkSendApplication


// Create a BulkSendApplication and install it on node 0
uint16_t port = 9; // well-known echo port number
BulkSendHelper source ("ns3::TcpSocketFactory",
InetSocketAddress (i.GetAddress (1), port));
source.SetAttribute ("MaxBytes", UintegerValue (maxBytes));
ApplicationContainer sourceApps = source.Install (nodes.Get (0));
sourceApps.Start (Seconds (0.0));
sourceApps.Stop (Seconds (10.0));
// Create a PacketSinkApplication and install it on node 1
PacketSinkHelper sink ("ns3::TcpSocketFactory",
InetSocketAddress (Ipv4Address::GetAny (),
port));
ApplicationContainer sinkApps = sink.Install (nodes.Get (1));
sinkApps.Start (Seconds (0.0));
sinkApps.Stop (Seconds (10.0));

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

14

Services in ns-3. FTP Application


There is not a FTP Application but it can be generated by
BulkSendApplication

BulkSendHelper ftp("ns3::TcpSocketFactory", Address());


ftp.SetAttribute ("Remote", remoteAddress);
ftp.SetAttribute ("SendSize", UintegerValue (tcp_adu_size));
ftp.SetAttribute ("MaxBytes", UintegerValue
(int(data_mbytes*1000000)));
ApplicationContainer sourceApp = ftp.Install (sources.Get(i));
sourceApp.Start (Seconds (start_time*i));
sourceApp.Stop (Seconds (stop_time - 3));

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

15

Services in ns-3. On Off Application


Generate traffic to a single destination according to an On
Off pattern.

This traffic generator follows an On/Off pattern: after


Application::StartApplication is called, "On" and "Off" states
alternate.
The duration of each of these states is determined with the
onTime and the offTime random variables.
o
o
o

During the "Off" state, no traffic is generated.


During the "On" state, CBR traffic is generated.
This CBR traffic is characterized by the specified "data rate" and
"packet size".

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

16

Services in ns-3. Example On Off Application I


// On Off Application UDP Protocol
#include "ns3/applications-module.h
// Create a UDP packet sink to receive packets.
uint16_t port = 50000;
Address sinkAddress (InetSocketAddress (interfaces.GetAddress (0),
port));
PacketSinkHelper packetSinkHelper ("ns3::UdpSocketFactory",
sinkAddress);
ApplicationContainer serverApps = packetSinkHelper.Install
(nodes.Get(0));
serverApps.Start (Seconds (1.0));
serverApps.Stop (Seconds (100.0));

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

17

Services in ns-3. Example On Off Application II


// On Off Application

Config::SetDefault("ns3::OnOffApplication::PacketSize",UintegerValue
(137));
Config::SetDefault ("ns3::OnOffApplication::DataRate", StringValue
("140kb/s"));
OnOffHelper onOffHelper ("ns3::UdpSocketFactory", Address ());
onOffHelper.SetAttribute ("OnTime", StringValue
("ns3::ConstantRandomVariable[Constant=1]"));
onOffHelper.SetAttribute ("OffTime", StringValue
("ns3::ConstantRandomVariable[Constant=0]"));

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

18

Services in ns-3. Example On Off Application III


// On Off Application
ApplicationContainer sourceon_off;
AddressValue remoteAddress (InetSocketAddress
(interfaces.GetAddress (0), port));
onOffHelper.SetAttribute ("Remote", remoteAddress);
sourceon_off.Add (onOffHelper.Install (nodes.Get(1)));
sourceon_off.Start (Seconds (5.0));
sourceon_off.Stop (Seconds (50.0));

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

19

Model description in ns-3. References


TCP/IP Illustrated, Volume 1: The Protocols, AddisonWesley, 1994.
Ns-3 tutorial and manual

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

20

Exercises

Services in ns-3. Exercise 1


Model a 2 nodes connected by a point to point link of 1Mbps
and 1ms delay
On off Aplication over UDP

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

22

Services in ns-3. Exercise 2


Model a 2 nodes connected by a point to point link of 1Mbps
and 1ms delay
Ftp Application
TCP New Reno

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

23

SIMULACIN DE PROTOCOLOS DE ENRUTAMIENTO


PARA REDES MVILES AD-HOC MEDIANTE
HERRRAMIENTA DE SIMULACIN NS-3

ALGORITMOS DE ADAPTACIN
VELOCIDAD BINARIA

Contenidos
1. Auto Rate Fallback (ARF)
2. Adaptive Auto Rate Fallback (AARF)
3. Adaptive Auto Rate Fall back with Collision Detection
(AARF-CD)

4. Collision-Aware Rate Adaptation (CARA)


5. Robust Rate Adaptation Algorithm (RRAA)

Todos los algoritmos son conformes a las normas IEEE 802.11

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Rate Adaptation (RA)

Diferentes tasas especificadas en las normas


o
o
o

802.11b: 1, 2, 5.5, 11 Mbps


802.11a: 6, 9, 12, 18, 24, 36, 48, 54 Mbps
802.11g: 12 regmenes binarios (11a+11b)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Loja - 2014

Rate Adaptation (RA)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Rate Adaptation (RA)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Auto Rate Fallback (ARF)

Algoritmo de optimizacin de la velocidad binaria para


sistemas LAN 802.11
Cada transmisor aumenta su tasa despus de un
nmero mnimo de transmisiones con xito a una
cierta velocidad
Despus de un nmero fijo de transmisiones errneas
consecutivas, se disminuye la tasa binaria a un valor
menor anteriormente usado
Ejemplo de implementacin (ARF primitivo):
Cuando ocurren dos errores de transmisin
consecutivos, se disminuye la tasa binaria y se
pone en marcha un temporizador
Si se producen 10 transmisiones correctas (ack) o
expira el temporizador, se aumenta la tasa binaria
y se reinicia el temporizador
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Auto Rate Fallback (ARF)

Ejemplo (continuacin):

Cuando se incrementa la tasa, si la primera


transmisin (probing tx) no es correcta,
inmediatamente se disminuye la tasa binaria y se
reinicia el temporizador
El esquema adolece principalmente de dos defectos:
Si las condiciones del canal varan muy rpidamente, el
sistema no llega a adaptarse nunca
o

Las interferencias producidas por paquetes transmitidos por otros


transmisores 802.11 se limitan al intervalo de un solo paquete
La tasa no se decrementa hasta que se producen 2 errores o no se
incrementa hasta experimentar 10 transmisiones correctas
no se adapta a los cambios a nivel intrapaquete

Si las condiciones del canal son estticas, tratar de aumentar


la tasa cada 10 transmisiones correctas, teniendo que
decrementarla de nuevo cuando la probing tx resulte errnea,
con la consiguiente prdida de throughput de la aplicacin
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Loja - 2014

Auto Rate Fallback (ARF)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Auto Rate Fallback (ARF)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Loja - 2014

10

Auto Rate Fallback (ARF)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Adaptive Auto Rate Fallback (AARF)

Lo habitual es que las condiciones del canal sean


estticas
Ejemplo: usuarios de laptops que se sitan en un determinado
lugar de una oficina y no se desplazan mientras lo utilizan

En esos casos, ARF no es ptimo (siempre trata de


aumentar la tasa despus de Nup transmisiones con
xito, provocando fallos y las consiguientes
retransmisiones)

AARF se basa en la modificacin del valor de Nup de


forma dinmica, teniendo en cuenta la historia de las
condiciones del canal

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

11

Adaptive Auto Rate Fallback (AARF)

Ejemplo de implementacin de AARF


Si el probing falla, se decrementa la tasa (igual que en ARF) y
se multiplica por 2 (con un lmite mximo de 50) el nmero de
transmisiones consecutivas con xito necesarias para
incrementar la tasa, Nup

Cuando se decrementa la tasa por dos paquetes fallidos


consecutivos, se restablece el valor primitivo de Nup (nmero
de paquetes consecutivos con xito necesarios para
incrementar la tasa)

Con esta estrategia se aumenta el perodo entre


intentos fallidos de incrementar la tasa (menor
nmero de retransmisiones, mejor throughput)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

12

Adaptive Auto Rate Fallback (AARF)


Modo de transmisin

ARF

10

20

30

40

50

60

70

80

90 100 110 120 130 140 150 160 170 180 190 200 210

Iteracin

Modo de transmisin

AARF
1

10

20

30

50

90

170

Iteracin

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

13

Adaptive Auto Rate Fallback (AARF)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

14

Adaptive Auto Rate Fallback (AARF)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

15

Adaptive Auto Rate Fallback (AARF)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

16

Adaptive Auto Rate Fallback (AARF)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

17

Adaptive Auto Rate Fallback with Collision Detection (AARF-CD)

Mecanismo RTS/CTS
o

se pone en funcionamiento:
cuando se produce error no estando activado RTS
despus de incrementar la tasa
se detiene:
despus de recibir un cierto nmero de tramas sin
error
despus de decrementar la tasa

El nmero de tramas correctas consecutivas


necesarias para incrementar la tasa es
adaptativo (AARF)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

18

Adaptive Auto Rate Fallback with Collision Detection (AARF-CD)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

19

Collision-Aware Rate Adaptation (CARA)

ARF no tiene en cuenta las colisiones que se producen


en entorno multi-usuario (con estaciones escondidas),
y decrementa la tasa cuando se producen los fallos de
transmisin debidos a dichas colisiones

Distincin entre errores debidos a colisiones y debidos


a prdidas de propagacin para tomar la decisin
correcta de adaptacin de tasa de transmisin
Cuando se producen errores por colisin, el decremento de la
tasa de transmisin puede ser menos agresivo que en el caso
de errores de canal

Si se producen colisiones, el decremento de la tasa de


transmisin producir an ms colisiones (mayores tiempos de
transmisin
mayor probabilidad de colisionar con estaciones
escondidas)
es necesario distinguir entre fallos por colisiones y fallos por el
canal
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

20

Collision-Aware Rate Adaptation (CARA)

Uso del mecanismo RTS/CTS (Request To Send/Clear


To Send) y de la funcionalidad CCA (Clear Channel
Assessment), incluidos en el estndar IEEE 802.11
RTS/CTS: acorta el intervalo vulnerable a la colisin,
pero slo se utiliza para tramas con gran longitud
uso muy marginal en redes inalmbricas

IEEE 802.11e, 802.11g: se contempla el empleo de las


tramas RTS/CTS, y la consiguiente reserva de un
intervalo de transmisin en el canal, aunque el tamao
del mensaje a transmitir no supere el umbral (incluyendo
el envo de una trama CTS con direccin igual a la del
transmisor, para compatibilidad hacia atrs de la norma)

CCA: si se detecta un nivel de energa por encima de un


cierto umbral, se concluye que el canal est ocupado
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

21

Collision-Aware Rate Adaptation (CARA)


RTS Probing:

La probabilidad de error por prdidas de propagacin del


canal en la transmisin de una trama RTS es
despreciable (pequea longitud, tasa robusta)
los errores en las tramas RTS siempre se deben a
colisiones

Los errores de datos posteriores a la transmisin de


RTS/CTS tienen necesariamente que deberse al canal de
propagacin, y nunca a colisiones
Aplicando seguidamente ARF, todos los decrementos de
tasa se debern a errores de propagacin, y no habr
decrementos innecesarios debidos a colisiones
El envo de tramas RTS/CTS consume ancho de banda y
recursos en la red (habitualmente deshabilitado en las
redes)
Puede limitarse su uso nicamente a los casos en que se
produzcan prdidas de paquetes

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

22

Collision-Aware Rate Adaptation (CARA)


CARA utiliza el mecanismo CCA para que el transmisor
pueda detecta la colisin de su propia trama con otras
tramas transmitidas

Se usa como mecanismo suplementario a RTS Probing


Se trata de estimar el nivel de ocupacin del canal
Cuando el paquete transmitido es muy largo, no se
puede detectar la energa de otra trama ms corta
transmitida simultneamente por otra estacin
Cuando CCA falla, se activa RTS Probing

No funciona cuando existen estaciones escondidas

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

23

Collision-Aware Rate Adaptation (CARA)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

24

Collision-Aware Rate Adaptation (CARA)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

25

Robust Rate Adaptation Algorithm (RRAA)


ARF, AARF y CARA no pueden adaptarse a todos
los cambios del canal (SNR muy cambiante)
RRAA (Robust Rate Adaptation Algorithm) se
basa en dos principios:
o Obtencin de estadsticas a corto plazo (ventana

temporal deslizante)
o Uso adaptativo de tramas RTS
Slo cuando sea necesario (colisiones), evitando el
overhead resultante en la medida de lo posible
Filtrar o distinguir los fallos debidos a colisiones de
los debidos al canal

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

26

Robust Rate Adaptation Algorithm (RRAA)

Obtencin de estadsticas a corto plazo (ventana


temporal deslizante)
o
o
o
o
o

Aprovechar los tiempos de coherencia del canal


Promediado de las prdidas durante la ventana
reducir la tasa
Prdidas de propagacin > PMTL
Prdidas de propagacin > PORI
incrementar la tasa
Cualquier otro caso
mantener la misma tasa

Los umbrales PMTL y PORI deben disearse para que el


throughput efectivo resultante despus de cambiar la
tasa permanezca invariante
o

Ejemplo: mismos bps efectivos a 11 Mbps (con errores)


que a 5.5 Mbps (sin errores)

Si se recibe una trama con error, se calculan las


prdidas promediadas sin esperar a que termine la
ventana (suponiendo las tramas que restan sin error)
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

27

Robust Rate Adaptation Algorithm (RRAA)


Ventajas RRAA:
Robusto frente a los cambios aleatorios del canal
No reduce la tasa tanto como ARF en presencia de
estaciones escondidas
Buena respuesta a la movilidad (dependiendo de la
longitud de la ventana de estimacin)
Para su aplicacin no requiere que se produzcan
patrones deterministas de tramas errneas/correctas

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

28

Robust Rate Adaptation Algorithm (RRAA)


Inconvenientes de RRAA:
La decisin del tamao de la ventana de estimacin es
compleja
o
o

Ventanas muy largas no proporcionan adaptacin al canal


Ventanas muy cortas dan lugar a decisiones errneas sobre
la tasa de transmisin

Las estaciones poco activas tardan mucho en completar


el nmero de paquetes de la ventana de estimacin
la
estimacin se torna obsoleta
Es necesario modificar el nmero de paquetes de la
ventana en funcin de la tasa (tiempo de transmisin)
Los sistemas 802.11a no implementan RTS
No funciona bien cuando hay muchas estaciones (se
suele desactivar la adaptacin de tasa)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

29

Robust Rate Adaptation Algorithm (RRAA)

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

30

SIMULACIN DE PROTOCOLOS DE ENRUTAMIENTO


PARA REDES MVILES AD-HOC MEDIANTE
HERRRAMIENTA DE SIMULACIN NS-3

MODELOS DE CANAL

Modelos de propagacin

El modelo de canal de propagacin determina si los


nodos inalmbricos tienen conexin
Las libreras de ns-3 contienen 11 modelos de
propagacin
Tipos de modelos:

Deterministas
Empricos
Estocsticos

Simulacin de Redes

complejidad
precisin

Loja - 2014

Modelos de propagacin en ns-3


La herramienta de simulacin ns-3 incluye un total de 11
modelos de propagacin (www.nsnam.org/docs/release/3.18/doxygen/group__propagation.html):
Potencia recibida fija
Matriz de prdidas
De alcance mximo
Prdidas de propagacin aleatorias
COST-Hata
Espacio libre (expresin de Friis)
Logaritmo de la distancia
3 x logaritmo de la distancia
Tierra plana (dos rayos)
Jakes
Nakagami
Simulacin de Redes

Loja - 2014

Modelos de propagacin en ns-3

Simulacin de Redes

Loja - 2014

Modelos de propagacin en ns-3

Simulacin de Redes

Loja - 2014

Modelos de propagacin en ns-3

Simulacin de Redes

Loja - 2014

Modelos de propagacin en ns-3

Simulacin de Redes

Loja - 2014

Modelos de propagacin en ns-3

Simulacin de Redes

Loja - 2014

Modelo de potencia recibida fija (FixedRssLossModel)

Se fija un valor predefinido de potencia que alcanza


al receptor

Simulacin de Redes

Loja - 2014

Modelo de matriz de prdidas (MatrixPropagationLossModel)

Se genera un matriz de dimensin MxN (M


transmisores, N receptores)

El elemento (i,j) de la matriz modela las prdidas de


propagacin existentes entre el transmisor i-simo y
el receptor j-simo

Simulacin de Redes

Loja - 2014

10

Modelo de alcance mximo (RangePropagationLossModel)


Se determina una distancia mxima de alcance de la seal
transmitida

Todos los receptores que estn dentro del alcance


mximo, reciben la seal

Los receptores que se encuentren fuera del alcance


mximo, no obtienen seal recibida (-1000 dBm)

Simulacin de Redes

Loja - 2014

11

Modelo de alcance mximo (RangePropagationLossModel)

Simulacin de Redes

Loja - 2014

12

Modelo de prdidas aleatorias (RandomPropagationLossModel)


Las prdidas de propagacin siguen una distribucin
aleatoria

Simulacin de Redes

Loja - 2014

13

Modelo de prdidas aleatorias (RandomPropagationLossModel)

Simulacin de Redes

Loja - 2014

14

Modelo de COST 231


Modelo emprico, basado en medidas realizadas en
entornos urbanos
d

h
B

hB
hm

hroof

hm
W
b

mvil

base
Simulacin de Redes

15

Loja - 2014

Modelo de COST 231


Lrts: Prdidas por reflexin edificio-calle (reflection terrace to street)

Lrts = 16,9 10 log W + 10 log f (MHz) + 20 log hm + Lori

(Lrts 0)

hm = hroof hm
Lori: Prdidas por orientacin de la calle respecto a LOS

35
10 + 0,3571( )

Lori = 2,5 + 0,075 [( ) 35 ] 35 < 55


4 0,114 [( ) 55 ] 55 < 90

Lmsd: Prdidas por difraccin multipantalla (multi screen diffraction)

Lmsd = Lbsh + ka + kd log d (km) + k f log f (MHz) 9 logb


Lbsh: Prdidas por altura de estacin base
(slo aplicable para hB>0)

Simulacin de Redes

Loja - 2014

(L

msd

Lbsh = 18log(1+ hB )
hB = hB hroof
16

Modelo de COST 231


ka: Prdidas cuando la antena de la BS est por debajo de hroof

54
hB 0

k a = 54 0,8 hB
hB < 0 d 0,5 km
54 1,6 h d (km) h < 0 d < 0,5 km
B
B

hB = hB hroof

kd: Prdidas por difraccin

18

h
kd =
18 15 B

hroof

hB 0
hB < 0

kf: Dependencia de la frecuencia

f MHz

0.7 925 1

kf = 4 +
1.5 f MHz 1
925

Simulacin de Redes

ciudades medianas y centros suburbanos

centros metropolitanos
17

Loja - 2014

Modelo de Hata
L50 = 69.55 + 26.16 log f - 13.82 log hB - a(hm) + (44.9-6.55 log hB) log d
Correccin por altura del mvil
a(hm) = 0 para hm = 1,5 m

d (km)

Ciudad media-pequea
a(hm) = (1,1 log f - 0,7) hm - (1,56 log f -0,8)
Ciudad grande
a(hm) = 8,29 (log 1,54 hm)2 -1,1
a(hm) = 3,2 (log 11,75 hm)2 - 4,97

hB, hm (m)
f (MHz)

f 200 MHz
f 400 MHz

Correccin por tipo de entorno no urbano


Zona Suburbana

Zona Rural

Simulacin de Redes

L50= L50 (urbano) 2[log(f / 28)]2 5,4

L50=L50 (urbano) 4,78(logf )2 +18,33log f 40,94


Loja - 2014

18

Modelo de COST-Hata (Cost231PropagationLossModel)

Simulacin de Redes

Loja - 2014

19

Modelo de COST-Hata (Cost231PropagationLossModel)

Simulacin de Redes

Loja - 2014

20

Modelo espacio libre o de Friis (FriisPropagationLossModel)


Analtico

Condiciones de espacio libre


o
o

Slo transmisor y receptor (sin obstculos)


Slo un camino de propagacin (onda espacial)
Lnea de visin directa (Line Of Sight, L.O.S.)

Ptx
Prx

L.O.S.

f (c/)

receptor

transmisor

Teora de ondas planas (d>>)

Prx = Ptx
4

Prx d 2

Prx (dBm ) = Ptx (dBm ) 32.4 20 log f MHz 20 log d km + Gtx (dB ) + Grx (dB )
Simulacin de Redes

Loja - 2014

21

Modelo espacio libre o de Friis (FriisPropagationLossModel)

Simulacin de Redes

Loja - 2014

22

Modelo espacio libre o de Friis (FriisPropagationLossModel)

Simulacin de Redes

Loja - 2014

23

Modelo espacio libre o de Friis (FriisPropagationLossModel)

Simulacin de Redes

Loja - 2014

24

Logaritmo de la distancia (LogDistancePropagationLossModel)

Espacio libre (cota


superior, d-2)

Parmetros de las
medidas

Simulacin de Redes

Las prdidas
aumentan en
entornos con mayor
densidad de
obstculos

Loja - 2014

25

Logaritmo de la distancia (LogDistancePropagationLossModel)

Simulacin de Redes

Loja - 2014

26

Logaritmo de la distancia (LogDistancePropagationLossModel)

Simulacin de Redes

Loja - 2014

27

Logaritmo de la distancia (LogDistancePropagationLossModel)

Simulacin de Redes

Loja - 2014

28

3 log de la distancia (ThreeLogDistancePropagationLossModel)

Simulacin de Redes

Loja - 2014

29

3 log de la distancia (ThreeLogDistancePropagationLossModel)

Simulacin de Redes

Loja - 2014

30

3 log de la distancia (ThreeLogDistancePropagationLossModel)

Simulacin de Redes

Loja - 2014

31

3 log de la distancia (ThreeLogDistancePropagationLossModel)

Simulacin de Redes

Loja - 2014

32

2 Rayos -Tierra Plana (TwoRayGroundPropagationLossModel)


Analtico
Condiciones de propagacin en Tierra plana

Transmisor, receptor y superficie de la Tierra nicamente


Transmisor a una altura hB del suelo
Receptor a una altura hm del suelo
La superficie de la Tierra es un plano ideal (-1)
Modelo de mxima atenuacin con la distancia
d >>

hB hm

Prx Ptx

hB

(hB hm )2 G
d4

tx

Grx

Prx d 4

hm
d
Simulacin de Redes

Loja - 2014

33

2 Rayos -Tierra Plana (TwoRayGroundPropagationLossModel)

Simulacin de Redes

Loja - 2014

34

2 Rayos -Tierra Plana (TwoRayGroundPropagationLossModel)

Simulacin de Redes

Loja - 2014

35

2 Rayos -Tierra Plana (TwoRayGroundPropagationLossModel)

Simulacin de Redes

Loja - 2014

36

2 Rayos -Tierra Plana (TwoRayGroundPropagationLossModel)

Simulacin de Redes

37

Loja - 2014

Propagacin multicamino
La seal se propaga desde el transmisor hasta el receptor siguiendo
mltiples trayectorias o caminos (multitrayecto)

Las longitudes de los caminos recorridos por los diferentes rayos son
distintas

los desfases son distintos

CONSECUENCIA
Cuando se combinan dos ondas con
distintas fases, el resultado puede ser:
a) Constructivo
b) Destructivo (iguales amplitudes, caso peor)
c) Caso intermedio entre los anteriores

Simulacin de Redes

Loja - 2014

38

Propagacin multicamino
Sucesin de interferencias constructivas y destructivas

Simulacin de Redes

39

Loja - 2014

Propagacin multicamino
5

Ganancia multicamino (dB)

0
-5
5
-10
0
-15
-5
-20
-10

-15
-25
-20
-30
-25
-35
-30
-40
0
-35
-40
0

Simulacin de Redes

200

400

600

800

1000

1200

1400

1600

1800

2000

24

28

32

36

40

tiempo (ms)
4

12

16

20

distancia ( )
Loja - 2014

40

Modelo de Jakes (JakesPropagationLossModel)

Simulacin de Redes

Loja - 2014

41

Modelo de Jakes (JakesPropagationLossModel)

Simulacin de Redes

Loja - 2014

42

Modelo de Jakes (JakesPropagationLossModel)

Simulacin de Redes

Loja - 2014

43

Modelo de Nakagami (NakagamiPropagationLossModel)

Simulacin de Redes

Loja - 2014

44

Modelo de Nakagami (NakagamiPropagationLossModel)

Simulacin de Redes

Loja - 2014

45

Modelo de Nakagami (NakagamiPropagationLossModel)

Simulacin de Redes

Loja - 2014

46

Modelo de Nakagami (NakagamiPropagationLossModel)

Simulacin de Redes

Loja - 2014

47

Ejemplo de uso de modelos de propagacin


./waf --run "scratch/main-propagation-loss" | gnuplot

Genera un fichero llamado main-propagation-loss.pdf con


las grficas de potencia recibida con la distancia y sus
histogramas para Nakagami
./waf --run "scratch/main-propagation-loss" >> datosprop
gnuplot datosprop

Genera un fichero llamado datosprop para gnuplot


Gnuplot genera el fichero main-propagation-loss.pdf con
las grficas
Simulacin de Redes

Loja - 2014

48

Ejemplo de uso de modelos de propagacin


Copiar jakes-propagation-model-example en scratch/
Modificar valor Simulator::Stop (Seconds (10));
./waf --run "scratch/jakes-propagation-model-example >>
jakesprop

Genera un fichero llamado jakesprop con los valores


aleatorios de potencia recibida en el tiempo
$ gnuplot
gnuplot> set terminal png size 640,480
gnuplot> set output jakesresults.png"
gnuplot> plot jakesprop" using 1:2 title Modelo de Jakes with
linespoints
gnuplot> exit

Genera un fichero llamado jakesresults con la grfica

Simulacin de Redes

Loja - 2014

49

Otros modelos disponibles en ns-3

Okumura-Hata
static TypeId tid = TypeId ("ns3::OkumuraHataPropagationLossModel")

ITU-R 1411
static TypeId tid = TypeId ("ns3::ItuR1411LosPropagationLossModel")
static TypeId tid = TypeId
("ns3::ItuR1411NLosOverRooftopPropagationLossModel")

Kun 2600 MHz


static TypeId tid = TypeId ("ns3::Kun2600MhzPropagationLossModel")

Simulacin de Redes

Loja - 2014

50

SIMULACIN DE PROTOCOLOS DE ENRUTAMIENTO


PARA REDES MVILES AD-HOC MEDIANTE
HERRRAMIENTA DE SIMULACIN NS-3

Mobility in ns-3

Contenidos
1. Mobility models

Introduction

Random Walk Model

Random WayPoint Model

Gauss Markov Model

2. Model description in ns-3

Design

Mobility model Classes and subclasses

3. Examples
4. Tracing and Netanim
5. References
6. Exercises
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Mobility models. Introduction


A mobility model should attempt to mimic the movements
of real mobile nodes.

Changes in speed and direction must occur in reasonable time


slots.
They are important to evaluate protocols in ad hoc networks.

Classification:

Entity mobility models in which mobile node movements are


independent of each other.
Group mobility models in which mobile node movements are
dependent on each other.
o
o

A group of solders in a military scenario


Police officers attempting to catch an escaped criminal

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Mobility models. Introduction. Entity mobility models


Random Walk Mobility Model

A simple mobility model based on random directions and speeds


Random Waypoint Mobility Model

A model that includes pause times between changes in


destination and speed

Random Direction Mobility Model

A model that forces MNs to travel to the edge of the simulation


area before changing direction and speed.

A Boundless Simulation Area Mobility Model

A model that converts a 2D rectangular simulation area into a


torus-shaped simulation area.

Gauss-Markov Mobility Model

A model that uses one tuning parameter to vary the degree of


randomness in the mobility pattern.

City Section Mobility Model:

A simulation area that represents streets within a city.


Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Mobility models. Introduction. Group mobility models


Exponential Correlated Random Mobility Model

A group mobility model that uses a motion function to create


movements.

Column Mobility Model

A group mobility model where the set of MNs form a line and are
uniformly moving forward in a particular direction.

Nomadic Community Mobility Model

A group mobility model where a set of MNs move together from


one location to another.

Pursue Mobility Model

A group mobility model where a set of MNs follow a given


target.

Reference Point Group Mobility Model

A group mobility model where group movements are based


upon the path traveled by a logical center.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Mobility models. Random Walk Mobility Model


Einstein 1926
Mimic erratic movement
Memoryless because it retains no knowledge concerning its
past location and speed values.
A mobile node moves from its current location to a new
location by randomly choosing a direction and speed in which
to travel
Each movement occurs in either a constant time interval or a
constant distance
If a mobile reaches a simulation boundary, it bounces off the
simulation border with an angle determined by the incoming
direction.
Simplified by assigning the same speed to every mobile node

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Mobility models. Random Walk Mobility Model


Traveling patterns

[Camp 2002]

If the time or distance is short, the traveling patterns are


random patterns restricted to a small portion of the
simulation area.
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Mobility models. Random Waypoint Mobility Model


Bettsetter 2003
The most used
Memoryless because it retains no knowledge concerning its
past location and speed values
It includes pause times between changes in direction and/or
speed

A mobile node begins by staying in one location for a certain


period of time (pause time).
A random destination in the simulation area and an uniformly
distributed speed is choosen between [min_speed,max_speed]
Upon arrival, the mobile pauses before starting the process again

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Mobility models. Random Waypoint Mobility Model


Traveling pattern

Initial localization (133,180); speed Uniform[0,10m/s]


Similar to Random Walk if pause is zero.

[Camp 2002]

High variability in average mobile neighbor percentage during


the initialization

Recommendation: long simulation runs


Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Mobility models. Gauss-Markov


Tolety 1999
Memory model
Initially each mobile is assigned a current speed and direction
At fixed intervals of time, n, movement occurs by updating the
speed and direction of each mobile
Speed, sn, and direction, dn, at time n depends on n-1 using
the following equations:
sn = sn1 + (1 ) s+ (1 2 ) s xn1

d n = d n1 + (1 )d + (1 2 )d xn1

[0,1] is the tuning parameter used to vary the randomness

=0 random values; =1 lineal motions


At each time interval the next location is calculated based on
the current location, speed, and direction of movement.
xn = xn1 + sn1 cos d n1
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

yn = yn1 + sn1 sin d n1


Loja - 2014

10

Mobility models. Gauss-Markov


Gauss-Markov model can eliminate the sudden stops and sharp
turns that appeared in the Random WayPoint Model.
Drawback is more complex because it has more parameters.
Traveling pattern

[Camp 2002]

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Model description in ns-3

11

Model description in ns-3


The mobility support in |ns3| includes:

a set of mobility models which are used to track and maintain


the cartesian position and speed of an object.
a "course change notifier" trace source which can be used to
register listeners to the course changes of a mobility model
a number of helper classes which are used to place nodes and
setup mobility models.

The source code for mobility lives in the directory


``src/mobility``
Information:

http://www.nsnam.org/docs/release/3.18/doxygen/group__m
obility.html

The design includes mobility models, position allocators,


and helper functions.
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

13

Model description in ns-3. Design: MobilityModel


``MobilityModel`` objects track the evolution of position
with respect to a cartesian coordinate system.

Nowadays ns3 uses the Cartesian coordinate system only.


The mobility model is typically aggregated to an
``ns3::Node`` object
The base class ``ns3::MobilityModel`` is subclassed for
different motion behaviors.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

14

Model description in ns-3. Design: Position Allocators


The initial position of objects is typically set with a
PositionAllocator.
These types of objects will lay out the position on a canvas.
Position allocators usually used only at beginning, to lay out
the nodes initial position. However, some mobility models
(e.g. RandomWaypoint) will use a position allocator to pick
new waypoints.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

15

Model description in ns-3. Design: Helpers


Most users interact with the mobility system using mobility
helper classes.
The MobilityHelper combines a mobility model and position
allocator, and can be used with a node container to install
mobility capability on a set of nodes.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

16

Model description in ns-3. Classes and Subclasses


MobilityModel base class

GetPosition
Position and Velocity attributes
GetDistanceFrom
CourseChangeNotification

MobilityModel Subclasses

ConstantPosition
ConstantVelocity
o

Mobility model for which the current speed does not change once it
has been set and until it is set again explicitely to a new value.

ConstantAcceleration
o

Mobility model for which the current acceleration does not change
once it has been set and until it is set again explicitely to a new
value

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

17

Model description in ns-3. Classes and Subclasses


MobilityModel Subclasses

GaussMarkov
RandomDirection2D
o

The movement of objects is based on random directions: each


object pauses for a specific delay, chooses a random direction and
speed and then travels in the specific direction until it reaches one
of the boundaries of the model. When it reaches the boundary, it
pauses, selects a new direction and speed.

RandomWalk2D
o

Each instance moves with a speed and direction choosen at


random with the user-provided random variables until either a
fixed distance has been walked or until a fixed amount of time. If
we hit one of the boundaries (specified by a rectangle), of the
model, we rebound on the boundary with a reflexive angle and
speed. This model is often identified as a brownian motion model.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

18

Model description in ns-3. Classes and Subclasses


MobilityModel Subclasses

RandomWaypoint
o

Each object starts by pausing at time zero for the duration


governed by the random variable "Pause". After pausing, the
object will pick a new waypoint (via the Position Allocator) and a
new random speed via the random variable "Speed", and will
begin moving towards the waypoint at a constant speed. When it
reaches the destination, the process starts over (by pausing).

SteadyStateRandomWaypoint
o

This model based on random waypoint mobility (RWM) model for


case when speed, pause and position are uniformly distributed
random variables. The difference is that the initial values of this
parameters are not from uniform distribution but from stationary
distribution of RWM model. The implementation of this model is
2D-specific and with nonzero nodes speeds.

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

19

Model description in ns-3. Classes and Subclasses


src/mobility/model/position-allocator.h
src/mobility/model/position-allocator.cc

PositionAllocator

ListPositionAllocator
GridPositionAllocator
RandomRectanglePositionAllocator (2D)
o

Allocate random positions within a rectangle according to a pair of


random variables

RandomBoxPositionAllocator (3D)
RandomDiscPositionAllocator
o

Allocate random positions within a disc according to a given


distribution for the polar coordinates of each node with respect to
the provided center of the disc.

UniformDiscPositionAllocator
o

Allocate the positions uniformely (with constant density) randomly


within a disc

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

20

Examples

Model description in ns-3. Example 1


Two fixed nodes.

ConstantPositionMobilityModel allows nodes to remain in a fixed


position during the simulation
// n0

n2

#include "ns3/mobility-module.h
NodeContainer c;
c.Create (2);
MobilityModeMobilityHelper mobility;
Ptr<ListPositionAllocator> positionAlloc =
CreateObject<ListPositionAllocator>();
positionAlloc->Add (Vector (0.0, 0.0, 0.0));
positionAlloc->Add (Vector (5.0, 0.0, 0.0));
mobility.SetPositionAllocator (positionAlloc);
mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
mobility.Install (c);
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

22

Model description in ns-3. Example 2


2-D grid topology.

ConstantPositionMobilityModel allows nodes to remain in a fixed


position during the simulation
//
//
//
//
//
//
//
//
//

The default layout is like this, on a 2-D grid.


n20
n15
n10
n5
n0

n21
n16
n11
n6
n1

n22
n17
n12
n7
n2

n23
n18
n13
n8
n3

n24
n19
n14
n9
n4

the layout is affected by the parameters given to


GridPositionAllocator;
// by default, GridWidth is 5 and numNodes is 25..

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

23

Model description in ns-3. Example 2


2-D grid topology.

ConstantPositionMobilityModel allows nodes to remain in a fixed


position during the simulation
MobilityHelper mobility;
mobility.SetPositionAllocator ("ns3::GridPositionAllocator",
"MinX", DoubleValue (0.0),
"MinY", DoubleValue (0.0),
"DeltaX", DoubleValue (distance_x),
"DeltaY", DoubleValue (distance_y),
"GridWidth", UintegerValue (5),
"LayoutType",StringValue("RowFirst"));
mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
mobility.Install (c);

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

24

Model description in ns-3. Example 3


RandomDiscPositionAllocator
(main-random-walk.cc )
NodeContainer c;
c.Create (100);
MobilityHelper mobility;
mobility.SetPositionAllocator
("ns3::RandomDiscPositionAllocator",
"X", StringValue ("100.0"),
"Y", StringValue ("100.0"),
"Rho", StringValue
("ns3::UniformRandomVariable[Min=0|Max=30]"));

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

25

Model description in ns-3. Example 3


class RandomDiscPositionAllocator : public PositionAllocator
227 {
228 public:
229 static TypeId GetTypeId (void);
230 RandomDiscPositionAllocator ();
231 virtual ~RandomDiscPositionAllocator ();
233 void SetTheta (Ptr<RandomVariableStream> theta);
234 void SetRho (Ptr<RandomVariableStream> rho);
235 void SetX (double x);
236 void SetY (double y);
238 virtual Vector GetNext (void) const;
239 virtual int64_t AssignStreams (int64_t stream);
240 private:
241 Ptr<RandomVariableStream> m_theta;
242 Ptr<RandomVariableStream> m_rho;
243 double m_x;
244 double m_y;
245 };
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

26

Model description in ns-3. Example 4


RandomWalk2dMobilityModel
mobility.SetMobilityModel ("ns3::RandomWalk2dMobilityModel",
"Mode", StringValue ("Time"),
"Time", StringValue ("2s"),
"Speed", StringValue
("ns3::ConstantRandomVariable[Constant=1.0]"),
"Bounds", StringValue
("0|200|0|200"));
mobility.InstallAll ();
mobility.SetMobilityModel ("ns3::RandomWalk2dMobilityModel",
"Bounds", RectangleValue (Rectangle (-50, 50, -50, 50)));
mobility.Install (wifiStaNodes);

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

27

Model description in ns-3. Example 5


Gauss Markov Mobility model
MobilityHelper mobility;
mobility.SetMobilityModel ("ns3::GaussMarkovMobilityModel",
"Bounds", BoxValue (Box (0, 150000, 0, 150000, 0, 10000)),
"TimeStep", TimeValue (Seconds (0.5)),
"Alpha", DoubleValue (0.85),
"MeanVelocity", StringValue ("ns3::UniformRandomVariable[Min=800|Max=1200]"),
"MeanDirection", StringValue ("ns3::UniformRandomVariable[Min=0|Max=6.283185307]"),
"MeanPitch", StringValue ("ns3::UniformRandomVariable[Min=0.05|Max=0.05]"),
"NormalVelocity",
StringValue ("ns3::NormalRandomVariable[Mean=0.0|Variance=0.0|Bound=0.0]"),
"NormalDirection",
StringValue ("ns3::NormalRandomVariable[Mean=0.0|Variance=0.2|Bound=0.4]"),
"NormalPitch",
StringValue ("ns3::NormalRandomVariable[Mean=0.0|Variance=0.02|Bound=0.04]"));
mobility.SetPositionAllocator ("ns3::RandomBoxPositionAllocator",
"X", StringValue ("ns3::UniformRandomVariable[Min=0|Max=150000]"),
"Y", StringValue ("ns3::UniformRandomVariable[Min=0|Max=150000]"),
"Z", StringValue ("ns3::UniformRandomVariable[Min=0|Max=10000]"));
mobility.Install (wifiStaNodes);
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

28

Tracing and Netanim

Model description in ns-3. Trace events


Mobility model predefined course change trace source to
originate trace events
void CourseChange(std::string context, Ptr<const MobilityModel> model)
{ Vector position = model->GetPosition ();
NS_LOG_UNCOND (context << " x = " << position.x << ",
y = " << position.y); }

This code just pulls the position information from the


mobility model and unconditionally logs the x and y position
of the node

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

30

Model description in ns-3. Trace events


CourseChange function has to be called every time the
wireless node changes its position.
It is done using the Config::Connect function.
std::ostringstream oss;
oss <<
"/NodeList/" << wifiStaNodes.Get (nWifi - 1)->GetId () <<
"/$ns3::MobilityModel/CourseChange";
Config::Connect (oss.str (), MakeCallback (&CourseChange));

What we do here is to create a string containing the tracing


namespace path of the event to which we want to connect.
/NodeList/7/$ns3::MobilityModel/CourseChange

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

31

Loja - 2014

Model description in ns-3. Example Trace events


Every course change event on node seven will be hooked
into our trace sink, which will in turn print out the new
position.
/NodeList/7/$ns3::MobilityModel/CourseChange
/NodeList/7/$ns3::MobilityModel/CourseChange
/NodeList/7/$ns3::MobilityModel/CourseChange
/NodeList/7/$ns3::MobilityModel/CourseChange
/NodeList/7/$ns3::MobilityModel/CourseChange
/NodeList/7/$ns3::MobilityModel/CourseChange
/NodeList/7/$ns3::MobilityModel/CourseChange

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

x
x
x
x
x
x
x

=
=
=
=
=
=
=

10, y = 0
9.41539, y = -0.811313
8.46199, y = -1.11303
7.52738, y = -1.46869
6.67099, y = -1.98503
5.6835, y = -2.14268
4.70932, y = -1.91689

32

Model description in ns-3. Netanim


NetAnim is an offline animator based on the Qt 4 toolkit.
It currently animates the simulation using an XML trace file
collected during simulation.
It cames with ns-3 software (netanim-3.103)
Information: http://www.nsnam.org/wiki/NetAnim
What does it do?
o Animate packets over wired-links and
wireless-links
o Packet timeline with regex filter on packet
meta-data.
o Node position statistics with node
trajectory plotting.
o Print brief packet-meta data on packets

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

33

Model description in ns-3. Netanim. Installation


Prerequisites

mercurial
QT4 development packages (recommended version 4.7)
Debian/Ubuntu Linux distribution:
apt-get install mercurial
apt-get install qt4-dev-tools

Building and Starting


cd netanim
make clean
qmake NetAnim.pro
make

Using NetAnim. It is a two-step process.

Step 1: Generate the animation XML trace file during


simulation using "ns3::AnimationInterface" in the ns-3 code
base
Step 2: Load the XML trace file generated in Step 1 with the
offline animator (NetAnim).
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

34

Model description in ns-3. Netanim. XML Generation


They must be applied just before the "Simulation::Run"
statement.
#include "ns3/netanim-module.h"
[....]
AnimationInterface::SetNodeDescription (c, "ADHOC_NODO");//Optional
AnimationInterface::SetNodeColor (c, 0, 255, 0); // Optional (verde)
AnimationInterface anim ("wifi-adhoc-animation.xml"); // Mandatory
anim.EnablePacketMetadata (true); // Optional

Run the ns-3 code base to generate xml file


Open the xml file with Netanim
cd netanim
./NetAnim &
(Open the file from the Menu)
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

35

References
[Camp 2002] Camp, T; Boleng, J ;Davies, V A survey of
mobility models for ad hoc network research, Wireless
communications and mobile computing, 2 (5), pp.483-502.
2002.
Ns-3 tutorial and manual
Netanim: http://www.nsnam.org/wiki/NetAnim

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

36

Exercises

Model description in ns-3. Exercise 1


Model a Wireless Mesh Network (WMN) with 10 nodes
It is static
Initial position is a line with a distance between nodes of
200m
Visualize with Netanim

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

38

Model description in ns-3. Exercise 2


Model a mobile ad hoc network with 50 nodes.
At the beging they are situated randomly in a rectangle
1000*500
Random Waypoint Mobility Model
Visualize with Netanim

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

39

SIMULACIN DE PROTOCOLOS DE ENRUTAMIENTO


PARA REDES MVILES AD-HOC MEDIANTE
HERRRAMIENTA DE SIMULACIN NS-3

ESTADSTICA

Contenidos
1. Introduccin
2. Procesos ergdicos y estacionarios
3. Sesgo, varianza, intervalo de confianza
4. Efecto del promediado
5. Longitud de las simulaciones

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Introduccin

Simulacin Monte Carlo:

Alternativa software al experimento o prueba de

campo
Obtencin de conclusiones acerca de las
propiedades del sistema simulado

Estadstica:

Los resultados directos de una simulacin son

muestras de procesos aleatorios (variables


aleatorias inherentes al sistema)
las conclusiones sern de carcter estadstico
Se realizar una estimacin de los parmetros de
inters del sistema

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Procesos ergdicos y estacionarios

Procesos estacionarios

Las propiedades estadsticas son invariantes en el tiempo


Para que un proceso sea ergdico, tiene que ser
estacionario

Cicloestacionario: las propiedades se repiten


peridicamente en el tiempo

Procesos ergdicos

La media temporal de una realizacin equivale a la media


de obtenida de varias realizaciones
se puede extrapolar los resultados de una sola
realizacin del proceso

La ergodicidad puede asegurarse para procesos


gaussianos (Teorema del Lmite Central)
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Sesgo, varianza, intervalo de confianza

Estacionariedad y ergodicidad afectan a la generalizacin de


los resultados de la simulacin

La calidad de la estimacin de un parmetro viene dada por


la diferencia (error) entre el parmetro estimado y su valor
real

La calidad de la estimacin puede cuantificarse:

Sesgo
Varianza
Intervalo de confianza

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Sesgo, varianza, intervalo de confianza

Sesgo
Diferencia entre la media de las estimaciones y su valor
real

Garantiza cierta proximidad entre el valor estimado y el


valor real

Consistencia: propiedad por la que el sesgo tiende a cero


segn aumenta el tamao muestral

Varianza
Diferencia entre el valor cuadrtico medio y el cuadrado
del valor medio

Da idea de la dispersin en los valores estimados


Tambin tiende a anularse cuando el nmero de
muestras crece (solucin de compromiso N
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

2)
6

Sesgo, varianza, intervalo de confianza

Intervalo de confianza
Es la medida ms descriptiva de la calidad de la
estimacin: asocia una probabilidad a la dispersin

Se define como el rango de valores estimados entre los


que el valor real estar con una cierta probabilidad 1-

1- es el llamado nivel de confianza (valores tpicos


95%~99%, = 0.01~0.05).

Valor verdadero = Estimacin () Incertidumbre (U)


Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Efecto del promediado


Qu ocurre cuando se realizan varias simulaciones de
un mismo parmetro y se promedian sus resultados?
d.e.p.

d.e.p.
M-Average
filter

in2

in2 / M
1/M

Gp= (1 / M) 2 = 1/M
h[n]

out = in / M

Las M muestras promediadas deben ser


estadsticamente independientes entre s.

0
0

La incertidumbre (U) puede modelarse como ruido


gaussiano con desviacin

Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

Longitud de las simulaciones


Cul es la longitud (N) mnima de una simulacin?

Ejemplo:
Simulacin de un evento con probabilidad p
(probabilidad de error de bloque, PER)
1
N 2
p
: error relativo de la estimacin

( p)
p

Para estimar una PER de 10-5 con error relativo 1 %,


se necesitarn simular 109 paquetes.
Simulacin de Protocolos de
Enrutamiento para MANET con
ns-3

Loja - 2014

SIMULACIN DE PROTOCOLOS DE ENRUTAMIENTO


PARA REDES MVILES AD-HOC MEDIANTE
HERRRAMIENTA DE SIMULACIN NS-3

Extraccin de resultados en ns-3

Outline
Tracing genrico
Generacin de trazas pcap.
Generacin de grficas con gnuplot.
Flow Monitor

Simulacin de Redes

Loja - 2014

Outline
Tracing genrico
Generacin de trazas pcap.

Ficheros con paquetes capturados por un dispositivo de red


en formato .pcap.
Se pueden generar mediante el mecanismo de tracing
genrico o con trace helpers especficos.
Pueden procesarse con software compatible como Wirsehark
o tcpdump.

Generacin de grficas con gnuplot.

Ficheros ascii de salida de simulacin con datos interpretables


por gnuplot escritos mediante el mecanismo de tracing
genrico.
Clases especficas integradas (GnuplotHelper y Gnuplot).

Flow Monitor

Clase especficas integradas


Fichero de salida xml que pueden leerse con NetAnim o scripts
Simulacin de Redes

Loja - 2014

Tracing genrico

Tracing en NS3. Trace Sources.


Sealizan eventos durante la simulacin.
Proporcionan datos asociados al evento:

Un paquete.
Parmetros del modelo que han cambiado con el evento.
Cada objeto ns3 cuenta con una lista de trace sources
asociadas documentadas en la API.

Ejemplo: Fragmento de la pgina de la clase YansWifiPhy en


Doxygen. Observar que las trace sources no son propias sino
heredadas (estn definidas en la clase padre WifiPhy).

Simulacin de Redes

Loja - 2014

Tracing en NS3. Trace Sources.


La informacin proporcionada por la trace source, se indica
en la lista de atributos como TracedCallback o como
TracedValue.

Ejemplo: Fragmento de la pgina de la clase WifiPhy en


Doxygen. Se observan atributos tipo TracedCallback. Si se
desea utilizar la trace source PhyRxEnd, esta lista nos dice que
la informacin proporcionada es tipo <Ptr<const> Packet>

Simulacin de Redes

Loja - 2014

Tracing en NS3. Trace Sources.


Ejemplo: Fragmento de la pgina de la clase TcpNewReno en
Doxygen. Se observan atributos tipo TracedValue. Si se desea
utilizar la trace source m_Cwnd (Congestion Window), esta
lista nos dice que la informacin proporcionada es tipo
<uint32_t>

Simulacin de Redes

Loja - 2014

Tracing en NS3. Trace Sinks.


Funciones que se ejecutan cuando se produce el
evento de la trace source a la que estn conectadas.
Reciben como parmetro un objeto del tipo indicado por el
TracedCallback o TracedValue de su trace source.

Si es TracedValue, la funcin debe incluir dos parmetros uno


para el valor antiguo y otro para el nuevo.
Si es TracedCallback, slo es necesario un parmetro.

Pueden incluir otros parmetros.


No devuelven ningn valor (void).

Simulacin de Redes

Loja - 2014

Tracing en NS3. Trace Sinks.


Ejemplo 1: Trace Sink para la Trace Source PhyRxEnd de
YansWifiPhy
Parmetro extra aadido por el usuario

static void
RxEndTraceSink (Ptr<PcapFileWrapper> file, Ptr<const Packet> p)
{
file->Write(Simulator::Now(), p);
Parmetro obligatorio para una trace
sink diseada para conectar con la
}
trace source PhyRxEnd de la clase
YansWifiPhy. Indicado por el atributo
TracedCallback correspondiente en
Doxygen.

Ejemplo 2: Trace Sink para la Trace Source


CongestionWindow de TcpNewReno
Dos parmetros (valor
antiguo, valor nuevo) puesto
static void
que es TracedValue. Ningn
Cwndchange(uint32_t oldCwnd, uint32_t newCwnd) parmetro extra en este caso.
{
NS_LOG_UNCOND (Simulator::Now ().GetSeconds () << "\t" << newCwnd);
}
Simulacin de Redes

Loja - 2014

Tracing en NS3. Conexin de Trace Sinks a Trace Sources.


Sin contexto:

Realizacin de una llamada a la funcin miembro


TraceConnectWithoutContext sobre el objeto que contiene la
trace source.
Parmetros:
o
o

Nombre de la trace source.


Llamada a MakeCallback con la referencia de la funcin trace sink.

Ejemplo:
ns3TcpSocket->TraceConnectWithoutContext("CongestionWindow",
MakeCallback (&CwndChange));

ns3TcpSocket es un puntero a la instancia del objeto que contiene la


trace source.
Ptr<Socket> ns3TcpSocket = Socket::CreateSocket (nodes.Get (0),
TcpSocketFactory::GetTypeId ());

o
o

Simulacin de Redes

CongestionWindow es el nombre de la trace source.


CwndChange es el nombre de la funcin trace sink que queremos
conectar a la trace source indicada.

Loja - 2014

10

Tracing en NS3. Conexin de Trace Sinks a Trace Sources.


Con el subsistema Config:

Todos los objetos en la simulacin tienen asignado un


identificador, el Config Path. El esquema para construir el
config path de un objeto est indicado en la pgina Doxygen
de su clase.

Para la conexin se utiliza la funcin Config::Connect. No es


necesario disponer de una variable con el objeto que contiene
la trace source, ste es directamente accesible con el config
path.
Parmetros:
o
o

Simulacin de Redes

Config path de la trace source que queremos conectar.


Llamada a MakeCallback con la referencia de la funcin trace sink.

Loja - 2014

11

Tracing en NS3. Conexin de Trace Sinks a Trace Sources.


Con el subsistema Config:
Ejemplo:
Config::Connect ("/NodeList/0/$ns3::MobilityModel/CourseChange",
MakeCallback (&CourseChange));
o

Simulacin de Redes

La llamada a Config::Connect se realiza directamente, no como mtodo


sobre una instancia de objeto.
/NodeList/0/$ns3::MobilityModel/CourseChange es el config path de la trace
source con la que se desea conectar.
CourseChange es el nombre de la trace sink que queremos conectar con la
trace source indicada.

Loja - 2014

12

Tracing en NS3. Ejemplo 1 (I)


TcpNewReno

Trace Source: CongestionWindow, indica un cambio el


tamao de la ventana TCP.
Protected Attributes:
TracedValue< uint32_t > m_Cwnd

Trace Sink:
static void
Cwndchange(uint32_t oldCwnd, uint32_t newCwnd)
{
NS_LOG_UNCOND (Simulator::Now ().GetSeconds () << "\t" << newCwnd);
}

Conexin a la trace source (en el programa principal):


Ptr<Socket> ns3TcpSocket = Socket::CreateSocket (nodes.Get (0),
TcpSocketFactory::GetTypeId ());
ns3TcpSocket->TraceConnectWithoutContext("CongestionWindow",
MakeCallback (&CwndChange));

Simulacin de Redes

Loja - 2014

13

Tracing en NS3. Ejemplo 1 (II)


TcpNewReno

Resultado: cada vez que se notifica un cambio en la ventana


de congestin TCP, la trace sink escribe en el log el momento
de la simulacin en que se ha producido el cambio y el valor
de la nueva ventana. La salida por pantalla de la simulacin
contendr lneas del tipo:
9.23434
9.24266
9.25098
9.2593
9.26762
9.27594
9.28426
9.29258
9.3009
9.30922
9.31754

Simulacin de Redes

8694
8727
8759
8791
8823
8855
8887
8919
8951
8983
9014

Loja - 2014

14

Tracing en NS3. Ejemplo 2 (I)


MobilityModel

Trace Source: CourseChange, indica un cambio en el vector


de posicin o en el de velocidad de un nodo mvil.
Private Attributes:
TracedCallback< Ptr< const MobilityModel > > m_courseChangeTrace

Trace Sink:
void
CourseChange (std::string context, Ptr< const MobilityModel >
model)
{
Vector position = model->GetPosition();
NS_LOG_UNCOND (context << "x= " << position.x << ", y = " <<
position.y);
}

Simulacin de Redes

15

Loja - 2014

Tracing en NS3. Ejemplo 2 (II)


MobilityModel

Conexin a la trace source (en el programa principal):


std::ostringstream oss;
oss <<
"/NodeList/" << wifiNodes.Get (0)->GetId () <<
"/$ns3::MobilityModel/CourseChange";
Config::Connect (oss.str (), MakeCallback (&CourseChange));

Resultado: cada vez que se notifica un cambio de curso, la


trace sink escribe en el log el path de la trace source y la
nueva posicin. La salida por pantalla de la simulacin
contendr lneas del tipo:
/NodeList/7/$ns3::MobilityModel/CourseChange
/NodeList/7/$ns3::MobilityModel/CourseChange
/NodeList/7/$ns3::MobilityModel/CourseChange
/NodeList/7/$ns3::MobilityModel/CourseChange

Simulacin de Redes

Loja - 2014

x
x
x
x

=
=
=
=

10, y = 0
9.06541, y = -0.355733
9.19429, y = 0.635927
8.9534, y = 1.60648

16

Generacin de ficheros pcap

Generacin de trazas pcap


1. Trace Sources y Trace Sinks.
Consiste en utilizar el mecanismo de tracing para generar
archivos pcap.
Las trace sources que corresponden con eventos
relacionados con paquetes proporcionan el paquete
completo como informacin.

Ejemplo: la trace source PhyRxEnd de WifiPhy notifica que un


paquete ha sido recibido correctamente. Este paquete es el
parmetro que se pasa a la trace sink conectada.

La clase PcapHelper proporciona una manera cmoda de


generar un archivo .pcap para Wireshark con el contenido
de estos paquetes.

Simulacin de Redes

Loja - 2014

18

Generacin de trazas pcap


1. Trace Sources y Trace Sinks.
Ejemplo: PointToPointNetDevice

Trace Source: PhyRxEnd, indica que la recepcin de un


paquete se ha completado.
Private Attributes:
TracedCallback< Ptr< const Packet > > m_phyRxEndTrace

Trace Sink:
static void
RxEnd (Ptr<PcapFileWrapper> file, Ptr<const Packet> p)
{
file->Write(Simulator::Now(), p);
}

Conexin a la trace source (en el programa principal):


PcapHelper pcapHelper;
Ptr<PcapFileWrapper> file = pcapHelper.CreateFile (capture.pcap,
std::ios::out, PcapHelper::DLT_PPP);
devices.Get (1)->TraceConnectWithoutContext(PhyRxEnd,
MakeBoundCallback (&RxEnd, file));

Resultado: archivo capture.pcap (para Wireshark) con todos


los paquetes recibidos correctamente por el dispositivo de red.
Simulacin de Redes

Loja - 2014

19

Generacin de trazas pcap


2. TraceHelpers
Permiten la generacin automtica de ficheros .pcap
como resultados de la simulacin.
Existen dos tipos de TraceHelpers:

DeviceHelper. Activa la captura para parejas nodo/dispositivo


de red.
o

Ejemplo: capturar todos los paquetes del dispositivo wifi del nodo
servidor.

ProtocolHelper. Activa la captura para parejas


protocolo/interfaz.
o

Simulacin de Redes

Ejemplo: capturar todos los paquetes ipv4 de la interfaz eth0.

Loja - 2014

20

Generacin de trazas pcap


2. TraceHelpers
Device Helpers.

Los objetos tipo Helper para dispositivos de red (CsmaHelper,


YansWifiPhyHelper), disponen de los mtodos EnablePcap y
EnablePcapAll.
EnablePcap es un mtodo sobrecargado que permite
especificar un prefijo de archivo de salida, un dispositivo o
conjunto de dispositivos y si se desea activar modo promiscuo.
La seleccin de dispositivos puede hacerse mediante:
o

Un puntero a NetDevice.

helper.EnablePcap ("prefix", nd); //nd es tipo <Ptr>NetDevice


o

Un nombre declarado para el dispositivo en el servicio de nombres.

helper.EnablePcap ("prefix", "server/ath0");


o

Todos los dispositivos de un NetDeviceContainer.

helper.EnablePcap ("prefix", ndc); //ndc es tipo NetDeviceContainer


o

Todos los dispositivos de un NodeContainer.

helper.EnablePcap ("prefix", nodec); //nodec es tipo NodeContainer


o

Una pareja ID de nodo e ID de dispositivo.

helper.EnablePcap ("prefix", 21, 1); //dispositivo 1 del nodo 21

Simulacin de Redes

Loja - 2014

21

Generacin de trazas pcap


2. TraceHelpers
Device Helpers.

EnablePcapAll permite activar la captura en todos los


dispositivos de sistema del tipo del Helper sobre el que se
llama.
Los archivos generados por estos mtodos se nombran
automticamente con el patrn <prefijo>-<node id>-<device
id>.pcap. Ejemplo: test1-0-0.pcap
Los mtodos que seleccionan un nico dispositivo permiten
especificar un nombre de archivo en lugar de un prefijo
mediante un cuarto parmetro booleano.
Ejemplos:
o

Activar captura en el dispositivo csma de ndice 0 de un contenedor


(csmaDevices) en modo promiscuo.
CsmaHelper csma;
csma.EnablePcap ("test1", csmaDevices.Get(0), true);

Activar captura en todos los dispositivos sin modo promiscuo (por


defecto).
YansWifiPhyHelper phy;
phy.EnablePcapAll ("test1");

Simulacin de Redes

Loja - 2014

22

Generacin de trazas pcap


2. TraceHelpers
Protocol Helpers.

Funcionamiento anlogo a Device Helper. La clase


InternetStackHelper dispone de mtodos similares a
EnablePcap y EnablePcapAll en dos versiones: IPv4 e IPv6.
EnablePcapIpv4 es un mtodo sobrecargado que permite
especificar un prefijo de archivo de salida, un dispositivo o
conjunto de dispositivos y si se desea activar modo promiscuo.
La seleccin de dispositivos puede hacerse mediante:
o

Un puntero a protocolo Ipv4 y un ID de interfaz.

helper.EnablePcapIpv4 ("prefix", ipv4, 0); //ipv4 es tipo <Ptr>Ipv4


o

Un nombre declarado para el protocolo y un ID de interfaz.

helper.EnablePcapIpv4 ("prefix", "serverIpv4", 1);


o

Todos los dispositivos de un InterfaceContainer.

helper.EnablePcapIpv4 ("prefix", ifcs); //ifcs es tipo


Ipv4InterfaceContainer
o

Todos los dispositivos de un NodeContainer.

helper.EnablePcapIpv4 ("prefix", nc); //nc es tipo NodeContainer


o

Una pareja ID de nodo e ID de interfaz.

helper.EnablePcapIpv4 ("prefix", 21, 1); //interfaz 1 del nodo 21


Simulacin de Redes

Loja - 2014

23

Generacin de trazas pcap


2. TraceHelpers
Protocol Helpers

EnablePcapIpv4All permite activar la captura en todas las


interfaces.
helper.EnablePcapIpv4All ("prefix");

EnablePcapIpv6 y EnablePcapIpv6All siguen el mismo


esquema de funcionamiento.
Los archivos generados por estos mtodos se nombran
automticamente con el patrn <prefijo>-n<node id>i<device id>.pcap.
Los mtodos que seleccionan una nica interfaz permiten
especificar un nombre de archivo en lugar de un prefijo
mediante un cuarto parmetro booleano.
Ejemplos:
o

Activar captura en la interfaz 0 de un nodo (accesible mediante le


puntero node).
Ptr<Ipv4> ipv4 = node->GetObject<Ipv4> ();
InternetStackHelper helper;
helper.EnablePcapIpv4 ("test1", ipv4, 0);

Simulacin de Redes

Loja - 2014

24

Generacin de trazas pcap


3. Wireshark
Software analizador de protocolos.
Permite abrir capturas en formato .pcap como las
generadas por ns3 mediante los mecanismos anteriores.

Una vez abierta, la captura puede analizarse con las


herramientas disponibles en Wireshark del mismo modo
que una captura de red real (no simulada).

Simulacin de Redes

Loja - 2014

25

Generacin de trazas pcap


3. Wireshark
La ventana principal contiene:

Lista de los paquetes de la captura

Interpretacin del paquete seleccionado

Contenido binario (hexadecimal) del paquete seleccionado

Simulacin de Redes

Loja - 2014

26

Generacin de trazas pcap


3. Wireshark
Una de las operaciones ms habituales es el filtrado de la
captura.

Filtros predefinidos en analyze -> display filters.


o

Cuadro de dilogo filter expressions con todos los campos


admitidos.

En el cuadro filter de la pantalla principal es posible escribir


cualquier expresin vlida.
Ejemplos:
o

Mostrar slo trfico SMTP (puerto 25) e ICMP:

tcp.port == 25 or icmp
o

Mostrar solo trfico en rango (local) de direcciones IP.

ip.src==192.168.0.0/16 and ip.dst==192.168.0.0/16

Simulacin de Redes

Loja - 2014

Generacin de grficas con Gnuplot

27

Generacin de Grficas con Gnuplot


1. Trace Sources y Trace Sinks
Utilizacin del mecanismo de tracing para generar
ficheros ascii.
Los ficheros ascii se preparan con el contenido deseado
para poder importarlos directamente desde gnuplot.
Se utiliza la clase AsciiTraceHelper para obtener el stream
de salida que nos permite escribir en fichero.

Simulacin de Redes

Loja - 2014

29

Generacin de Grficas con Gnuplot


1. Trace Sources y Trace Sinks
Ejemplo: TcpNewReno (I)

Trace Source: CongestionWindow, indica un cambio el


tamao de la ventana TCP.
Protected Attributes:
TracedValue< uint32_t > m_Cwnd

Trace Sink:
static void
Cwndchange (Ptr<OutputStreamWrapper> stream, uint32_t oldCwnd,
uint32_t newCwnd)
{
*stream->GetStream () << Simulator::Now ().GetSeconds () << "\t" <<
newCwnd << std::endl;
}

Simulacin de Redes

Loja - 2014

30

Generacin de Grficas con Gnuplot


1. Trace Sources y Trace Sinks
Ejemplo: TcpNewReno (II)

Conexin a la trace source (en el programa principal):


Ptr<Socket> ns3TcpSocket = Socket::CreateSocket (nodes.Get (0),
TcpSocketFactory::GetTypeId ());
AsciiTraceHelper asciiTraceHelper;
Ptr<OutputStreamWrapper> stream = asciiTraceHelper.CreateFileStream
("test1.cwnd");
ns3TcpSocket->TraceConnectWithoutContext("CongestionWindow",
MakeCallback (&CwndChange, stream));

Generacin de la grfica (test1.png) a partir del fichero de


salida test1.cwnd mediante el comando gnuplot en un
terminal linux:
$ gnuplot
gnuplot> set terminal png size 640,480
gnuplot> set output "test1.png"
gnuplot> plot "test1.cwnd" using 1:2 title Congestion Window
with linespoints
gnuplot> exit

Simulacin de Redes

Loja - 2014

31

Generacin de Grficas con Gnuplot


1. Trace Sources y Trace Sinks
Ejemplo: TcpNewReno (III)

Resultado: archivo test1.png

Simulacin de Redes

Loja - 2014

32

Generacin de Grficas con Gnuplot


2. Clase GnuplotHelper
Utiliza el sistema Data Collection de ns3.
La clase GnuplotHelper trabaja con sondas (probes) que
se conectan a una trace source.
Cada instancia produce automticamente tres archivos:
datos, control y un script que genera la grfica (hay que
ejecutarlo por separado).
El mtodo configurePlot establece los parmetros de la
grfica:

Prefijo de los archivos generados.


Ttulo de la grfica.
Etiqueta del eje X.
Etiqueta del eje Y.

Simulacin de Redes

Loja - 2014

33

Generacin de Grficas con Gnuplot


2. Clase GnuplotHelper
El mtodo PlotProbe configura la sonda:

Tipo de sonda (definido por el tipo de datos que lee).


Valores

Paquetes

DoubleProbe

PacketProbe

Uinteger8Probe

Ipv4PacketProbe

Uinteger16Probe

Ipv6PacketProbe

Uinteger32Probe

ApplicationPacketProbe

BooleanProbe

Ruta de acceso a la trace source (path).


Tipo de salida de la sonda
o
o

Output para valores numricos.


OutputBytes para paquetes.

Nombre de la serie de datos.


Valor que indica la posicin del nombre de la serie en la
grfica.

Simulacin de Redes

Loja - 2014

34

Generacin de Grficas con Gnuplot


2. Clase GnuplotHelper
Ejemplo: TcpNewReno (I)

Trace Source: CongestionWindow, indica un cambio el


tamao de la ventana TCP.
Protected Attributes:
TracedValue< uint32_t > m_Cwnd

Configuracin de la grfica:
GnuplotHelper plotHelper;
plotHelper.ConfigurePlot("test2", "Congestion Window vs. Time",
"Time (Seconds)", "Window Size");

Configuracin de la sonda (en el socket 0 del nodo 0):


probeName = "ns3::Uinteger32Probe";
oss << "/NodeList/" << nodes.Get(0)->GetId () <<
"/$ns3::TcpL4ProtocolSocketList/0/$ns::TcpNewReno/CongestionWindow";
plotHelper.PlotProbe(probeName, probeTrace, "Output", "Serie 1",
GnuplotAggregator::KEY_BELOW);

Simulacin de Redes

Loja - 2014

35

Generacin de Grficas con Gnuplot


2. Clase GnuplotHelper
Ejemplo: TcpNewReno (II)

Resultados:
o
o
o

test2.dat
test2.plt
test2.sh

La ejecucin del script test2.sh genera la grfica test2.png.

Simulacin de Redes

Loja - 2014

36

Generacin de Grficas con Gnuplot


3. Clase Gnuplot
Gnuplot es una clase genrica para representar conjuntos
de datos:

2D Clase Gnuplot2dDataset.
3D Clase Gnuplot3dDataset.
Los puntos se aaden llamando Add(x, y[,z ]) sobre el dataset
correspondiente.
El mtodo AddDataset de Gnuplot permite establecer el
conjunto de datos de la instancia.

Mtodos para configurar la grfica:

SetTitle
SetTerminal
SetLegend
AppendExt

El archivo final se genera con GenerateOutput

Simulacin de Redes

Loja - 2014

37

Generacin de Grficas con Gnuplot


3. Clase Gnuplot
Ejemplo (I):

Declaraciones iniciales:
using namespace std;
string fileNameWithNoExtension = "plot-2d";
string graphicsFileName = fileNameWithNoExtension + ".png";
string plotFileName = fileNameWithNoExtension + ".plt";
string plotTitle = "2-D Plot";
string dataTitle = "2-D Data";

Instanciar y configurar el objeto Gnuplot


Gnuplot plot (graphicsFileName);
plot.SetTitle (plotTitle);
plot.SetTerminal ("png");
plot.SetLegend ("X Values", "Y Values");
plot.AppendExtra ("set xrange [-6:+6]");

Simulacin de Redes

Loja - 2014

38

Generacin de Grficas con Gnuplot


3. Clase Gnuplot
Ejemplo (II):

Configurar y rellenar el conjunto de datos:


Gnuplot2dDataset dataset;
dataset.SetTitle (dataTitle);
dataset.SetStyle (Gnuplot2dDataset::LINES_POINTS);
double x;
double y;
for (x = -5.0; x <= +5.0; x += 1.0)
{
y = x * x;
// Add this point.
dataset.Add (x, y);
}

Simulacin de Redes

Loja - 2014

39

Generacin de Grficas con Gnuplot


3. Clase Gnuplot
Ejemplo (III):

Asociar el dataset a la instancia de Gnuplot y generar la


grfica:
plot.AddDataset (dataset);
ofstream plotFile (plotFileName.c_str());
plot.GenerateOutput (plotFile);
plotFile.close ();

Resultado: archivo plot-2d.plt. Para obtener la grfica


(plot-2d.png) se ejecuta el siguiente comando
$ gnuplot plot-2d.plt

Simulacin de Redes

Loja - 2014

40

Generacin de Grficas con Gnuplot


4. Clase GnuplotCollection
Esta clase nos permite agrupar varios objetos Gnuplot
de modo que sus grficas se impriman en un solo archivo.
No es necesario llamar a setTerminal ni a GenerateOutput
para cada objeto Gnuplot.
Los Gnuplot se aaden a la instancia de GnuplotCollection
con el mtodo AddPlot.
Para generar el fichero de salida se llama al mtodo
GenerateOutput sobre el objeto GnuplotCollection.
Ejemplo:
GnuplotCollection gnuplots ("test3.pdf");
gnuplots.AddPlot (plot1);
gnuplots.AddPlot (plot2);
gnuplots.AddPlot (plot3);
std::ofstream plotFile ("results.plt");
gnuplots.GenerateOutput (plotFile);
plotFile.close();

Para obtener test3.pdf se ejecuta:


Simulacin de Redes

Loja - 2014

Flow-monitor

$ gnuplot results.plt

41

Flow-monitor
Object that monitors and reports back packet flows
observed during a simulation
FlowMonitorHelper
Configurable attributes:

MaxPerHopDelay: The maximum per-hop delay that should

be considered. Packets still not received after this delay are to


be considered lost.
StartTime: The time when the monitoring starts.
DelayBinWidth: The width used in the delay histogram.
JitterBinWidth: The width used in the jitter histogram.
PacketSizeBinWidth: The width used in the packetSize
histogram.
FlowInterruptionsBinWidth: The width used in the
flowInterruptions histogram.
FlowInterruptionsMinTime: The minimum inter-arrival time
that is considered a flow interruption.

Simulacin de Redes

Loja - 2014

43

Flow-monitor. Metrics I
Structure that represents the measured metrics of an
individual packet flow.

bytesDropped. Number of lost bytes.


delayHistogram. Histogram of the packet delays.
delaySum. Contains the sum of all end-to-end delays for all

received packets of the flow.


flowInterruptionsHistogram. histogram of durations of flow
interruptions
jitterHistogram. Histograma of the packet jitters.
jitterSum. Contains the sum of all end-to-end delay jitter
(delay variation) values for all received packets of the flow.
lastDelay. Contains the last measured delay of a packet. It is
stored to measure the packet's Jitter.
lostPackets. Total number of packets that are assumed to be
lost.

Simulacin de Redes

Loja - 2014

44

Flow-monitor. Metrics II
packetsDropped. This attribute also tracks the number of
lost packets and bytes, but discriminates the losses by
a reason code.
o

For instance, in the Ipv4FlowProbe case the following reasons


are currently defined: DROP_NO_ROUTE (no IPv4 route found for
a packet), DROP_TTL_EXPIRE (a packet was dropped due to an
IPv4 TTL field decremented and reaching zero), and
DROP_BAD_CHECKSUM (a packet had bad IPv4 header checksum
and had to be dropped).

packetSizeHistogram. Histogram of the packet sizes.


rxBytes. Total number of received bytes for the flow.
rxPackets. Total number of received packets for the flow.
timeFirstRxPacket. Contains the absolute time when the first
packet in the flow was received by an end node, i.e. the time
when the flow reception starts

Simulacin de Redes

Loja - 2014

45

Flow-monitor. Metrics III


timeFirstTxPacket. Contains the absolute time when the first

packet in the flow was transmitted, i.e. the time when the flow
transmission starts
timeLastRxPacket.Contains the absolute time when the last
packet in the flow was received, i.e. the time when the flow
reception ends
timeLastTxPacket. Contains the absolute time when the last
packet in the flow was transmitted, i.e. the time when the flow
transmission ends
timesForwarded. Contains the number of times a packet has
been reportedly forwarded, summed for all received packets in
the flow.
txBytes. Total number of transmitted bytes for the flow.
txPackets.Total number of transmitted packets for the flow.

Simulacin de Redes

Loja - 2014

46

Flow-monitor. Results (xml outfile) I


A xml file with the stadistics is written by flow-monitor
void
ns3::FlowMonitor::SerializeToXmlFile(std::string fileNa
me,bool enableHistograms,bool enableProbes )
Serializes the results to an file in XML format.
Parameters

fileName: name or path of the output file that will be created


enableHistograms: if true, include also the histograms in the
output
enableProbes: if true, include also the per-probe/flow pair
statistics in the output
flow_nodes->SerializeToXmlFile(estadistics.xml", true, true);

Simulacin de Redes

Loja - 2014

47

Flow-monitor. xml outfile II


A xml file with the stadistics is written by flow-monitor
<?xml version="1.0" ?>
<FlowMonitor>
<FlowStats>
<Flow flowId="1" timeFirstTxPacket="+12605791.0ns"
timeFirstRxPacket="+13471457.0ns"
timeLastTxPacket="+98741290415.0ns"
timeLastRxPacket="+98749197517.0ns" delaySum="+1425662426.0ns"
jitterSum="+1626024514.0ns" lastDelay="+7907102.0ns"
txBytes="13836" rxBytes="13836" txPackets="124" rxPackets="124"
lostPackets="0" timesForwarded="0">
<delayHistogram nBins="122" >
<bin index="0" start="0" width="0.001" count="9" />
<bin index="1" start="0.001" width="0.001" count="36" />
<bin index="2" start="0.002" width="0.001" count="11" />
<bin index="3" start="0.003" width="0.001" count="7" />
<bin index="4" start="0.004" width="0.001" count="8" />

Simulacin de Redes

Loja - 2014

48

Flow-monitor. How to read a xml file


There are some options:

NetAnim.
By means of a this script:
o
o

..src/flowmonitor/example/flowmon-parse-results.py
./waf --pyrun "src/flow-monitor/examples/flowmon-parseresults.py Results_simple_wifi.xml

By programming a function in the .cc

Simulacin de Redes

Loja - 2014

49

Flow-monitor . Example
#include "ns3/flow-monitor-module.h
// Install FlowMonitor on all nodes
FlowMonitorHelper flujo;
Ptr<FlowMonitor> flow_nodes = flujo.InstallAll();
flow_nodes->SetAttribute("DelayBinWidth", DoubleValue(0.01));
flow_nodes->SetAttribute("JitterBinWidth", DoubleValue(0.01));
flow_nodes->SetAttribute("PacketSizeBinWidth", DoubleValue(1));
Simulator::Run ();
flow_nodes->SerializeToXmlFile(estadistics.xml", true, true);
Simulator::Destroy ();

Simulacin de Redes

Loja - 2014

50

Flow-monitor . Results I
The outfile, filename.xml, can be open by NetAnim

Simulacin de Redes

Loja - 2014

51

Flow-monitor. Results II
..src/flowmonitor/example/flowmon-parse-results.py
./waf --pyrun "src/flow-monitor/examples/flowmonparse-results.py Results_simple_wifi.xml"

FlowID: 55 (UDP 10.0.0.16/49154 --> 10.0.0.15/14)


TX bitrate: 4.28 kbit/s
RX bitrate: 3.73 kbit/s
Mean Delay: 107.22 ms
Packet Loss Ratio: 16.13 %
FlowID: 56 (UDP 10.0.0.20/49154 --> 10.0.0.19/14)
TX bitrate: 4.28 kbit/s
RX bitrate: 4.00 kbit/s
Mean Delay: 78.26 ms
Packet Loss Ratio: 9.68 %

Simulacin de Redes

Loja - 2014

52

Flow-monitor. Results III


// Print per flow statistics
Ptr<Ipv4FlowClassifier> classifier =
DynamicCast<Ipv4FlowClassifier> (flowmon.GetClassifier ());
std::map<FlowId, FlowMonitor::FlowStats> stats = monitor>GetFlowStats ();
for (std::map<FlowId, FlowMonitor::FlowStats>::const_iterator
iter = stats.begin (); iter != stats.end (); ++iter){
Ipv4FlowClassifier::FiveTuple t = classifier->FindFlow (iter>first);
if ((t.sourceAddress == Ipv4Address("10.1.1.1") &&
t.destinationAddress == Ipv4Address("10.1.1.25")){
NS_LOG_UNCOND("Flow ID: " << iter->first << " Src Addr "
<< t.sourceAddress << " Dst Addr " << t.destinationAddress);
NS_LOG_UNCOND("Tx Packets = " << iter>second.txPackets);
NS_LOG_UNCOND("Rx Packets = " << iter>second.rxPackets);
NS_LOG_UNCOND("Throughput: " << iter->second.rxBytes *
8.0 / (iter->second.timeLastRxPacket.GetSeconds()-iter>second.timeFirstTxPacket.GetSeconds()) / 1024 << " Kbps");}}
Simulacin de Redes

Loja - 2014

Referencias

53

References
Ns-3 tutorial and manual
Gnuplot:
http://www.nsnam.org/docs/manual/html/gnuplot.html
Netanim: http://www.nsnam.org/wiki/NetAnim

Simulacin de Redes

Loja - 2014

55

Вам также может понравиться