Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e...

69
Ambiente de Experimentação Teste de efetividade de algoritmos de adaptação de vídeo

Transcript of Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e...

Page 1: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Ambiente de Experimentação

Teste de efetividade de algoritmos de adaptação de

vídeo

Page 2: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Tópicos:● Servidor

● Aplicação de teste

● Manipulação tráfego com TC e HTB

● Cenários

● Estudo para de gráficos

Page 3: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

ServidorRequisitos:

Page 4: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

ServidorRequisitos:

1. Servidor Físico

1

Page 5: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

ServidorRequisitos:

1. Servidor Físico2. Pilha LAMP

1

2

Page 6: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

ServidorRequisitos:

1. Servidor Físico2. Pilha LAMP

1

2

Page 7: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

ServidorRequisitos:

1. Servidor Físico2. Pilha LAMP 3. Vídeos

1

2

3

Page 8: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

ServidorRequisitos:

1. Servidor Físico2. Pilha LAMP 3. Vídeos

1

2

3

Page 9: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

ServidorRequisitos:

1. Servidor Físico2. Pilha LAMP 3. Vídeos4. Aplicação server

1

2

3

4

Page 10: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

ServidorRequisitos:

1. Servidor Físico2. Pilha LAMP 3. Vídeos4. Aplicação server

1

2

3

4

Page 11: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

ServidorRequisitos:

1. Servidor Físico2. Pilha LAMP 3. Vídeos4. Aplicação server5. Rotas Log

1

2

3

45

Page 12: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

ServidorRequisitos:

1. Servidor Físico2. Pilha LAMP 3. Vídeos4. Aplicação server5. Rotas Log

1

2

3

45

Page 13: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Servidor

Page 14: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Servidor

ServerClients

Internet

Page 15: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

4. Aplicação server:

Aciona o servidor para que o mesmo fique esperando (ouvindo) requisições realizadas por aplicações clientes (app).

Servidor

Page 16: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

5. Rota para log:

Servidor

Page 17: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

5. Rota para log:

Servidor

Page 18: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

5. Rota para log:

Servidor

Page 19: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

5. Rota para log:

Servidor

Page 20: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Aplicação de testePara usar e/ou editar o código fonte da app, faz-se necessário:

1. Android Studio. Download disponível em:

https://developer.android.com/studio/index.html

2. Conta GitHub para criar fork do projeto. Código Fonte disponível em:

https://github.com/juninhocruzg3/VideoStreaming

Page 21: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Aplicação de testeNome: Video-Streaming

● Player reprodução● Geração de logs de

chunk e travamentos

● Geração de gráficos

para avaliação.

Page 22: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Aplicação de testeNome: Video-Streaming

● Player reprodução● Geração de logs de

chunk e travamentos

Page 23: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Aplicação de testeNome: Video-Streaming

● Player reprodução● Geração de logs de

chunk e travamentos

Page 24: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Aplicação de testeNome: Video-Streaming

● Player reprodução● Geração de logs de

chunk e travamentos

Page 25: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Aplicação de testeAtravés da aplicação colhemos logs (informações) relativas a reprodução do vídeo e suas adaptações ao longo do tempo.

Page 26: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Aplicação de testeAtravés da aplicação colhemos logs (informações) relativas a reprodução do vídeo e suas adaptações ao longo do tempo.

Page 27: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Aplicação de testeAo final da reprodução enviamos as informações para o servidor atráves da aplicação server e rotas de post específica.

Page 28: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Aplicação de testeAo final da reprodução enviamos as informações para o servidor através da aplicação server e rotas de post específica.

Page 29: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Aplicação de testePara visualização dos resultados,

apenas deve-se entrar com o nome da equipe, escolher a sessão que deseja.

Page 30: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Aplicação de testePara visualização dos resultados,

apenas deve-se entrar com o nome da equipe, escolher a sessão que deseja.

Page 31: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Aplicação de testePara visualização dos resultados,

apenas deve-se entrar com o nome da equipe, escolher a sessão que deseja.

Page 32: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Manipulação tráfego com TC e HTB● O que é TC?

Do inglês Traffic Control, ferramenta do sistema linux disponível a partir do kernel 2.2 para controlar o tráfego de rede.

● Diferenças entre controle de tráfego e controle de banda:

Banda (ou bandwidth): É a diferença entre os limites superior e inferior de uma frequência, geralmente medida em hertz.

Tráfego: Quantidade de informações digitais transmitidas, geralmente medida em bits por segundo (b/s).

Page 33: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Manipulação tráfego com TC e HTBConceitos

Para utilizarmos o controle de tráfego com HTB temos que saber que o Linux possui os seguintes componentes para o controle de tráfego, são eles:

■ qdisc

■ class

■ filters

Page 34: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Manipulação tráfego com TC e HTB■ QDISC

■ Os qdiscs (qdisc é abreviação de Queueing Discipline - algo como Disciplina de Enfileiramento)

nada mais são do que as filas de saída dos pacotes. O Linux possui dois tipos de qdisc:

classless e classfull.

■ Os qdiscs classless não podem conter classes definidas pelo usuário, porém os qdiscs classfull

podem conter subclasses definidas pelo usuário, podendo desta forma separar e atribuir

quantidades de banda diferentes para cada tipo de fluxo definido.

Page 35: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Manipulação tráfego com TC e HTBCLASSFULL QDISCS

O HTB é um qdisc com suporte a classes, por isso ele pode ser usado como um qdisc (escalonador) ou apenas

uma classe. Quando utilizado com uma classe, ele possui o parâmetro opcional "default", que indica a

subclasse por onde o pacote deve ir quando não for classificado por nenhum filtro definido pelo usuário.

Como escalonador o HTB possui, dentre outros, os seguintes parâmetros :

■ rate - velocidade de transmissão dos pacotes.

■ ceil - velocidade total da classe superior. Utilizado para fazer o "borrowing", ou seja, empréstimo de banda

excedente de uma classe para outra.

Page 36: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Manipulação tráfego com TC e HTB■ CLASS

■ As classes só existem em qdiscs classfull, elas são utilizadas para dividir o tráfego, para assim

se necessário dar um tratamento diferenciado. Existem dois tipos de classes, as "leafs" (ou

"folhas"), que são classes que não possuem "filhos" e as "inner" (ou "internas"), que são

classes que possuem "filhos".

■ FILTER

■ Os filtros têm a função de separar o tráfego entre as diversas classes de um qdisc classfull.

Esta função é feita através de classificadores.

Page 37: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Manipulação tráfego com TC e HTBCLASSIFICADORES

Os classificadores no Linux são utilizados para identificar certas características e/ou padrões dos

pacotes e fluxo, permitindo assim a separação em classes.

U32:

O u32 é um classificador muito bom e que possui uns parâmetros interessantes, no qual é

possível identificar IP de origem/destino, porta de origem/destino e até mesmo o protocolo.

Page 38: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Manipulação tráfego com TC e HTB➔ Disciplinas de controle de tráfego● Classless

PFIFO (Packet First In First Out)

PFIFO Fast (Packet First In First Out Fast - default no Kernel Linux)

RED (Random Early Detection)

SFQ (Stochastic Fair Queuing)

TBF (Token Bucket Filter)

Page 39: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Manipulação tráfego com TC e HTB● Classful

CBQ (Class Based Queueing)

PRIO (Hierarchy Token Bucket)

HTB (Priority class)

Page 40: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Manipulação tráfego com TC e HTB● Classful

CBQ (Class Based Queueing)

PRIO (Hierarchy Token Bucket)

HTB (Priority class)

Atualmente, a melhor alternativa para o controle de tráfego é a associação do HTB com o PRIO.

Page 41: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Manipulação tráfego com TC e HTBTC usa as seguintes unidades de medidas:

kbps: Kilobytes por segundos

mbps: Megabytes por segundos

kbit: Kilobits por segundos

mbit: Megabits por segundos

bps: Bytes por segundos

Page 42: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Manipulação tráfego com TC e HTBAs quantidades de dados podem ser especificadas em:

kb or k: Kilobytes

mb or m: Megabytes

mbit: Megabits

kbit: Kilobits

Page 43: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Manipulação tráfego com TC e HTB➔ Como funciona o HTB

O HTB funciona de forma hierárquica e controla os pacotes que saem de uma determinada placa de rede. O pacote entra e é armazenado no buffer. Assim, só resta controlar sua saída do buffer para a rede.

Page 44: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Manipulação tráfego com TC e HTB➔ Como funciona o HTB

O HTB funciona de forma hierárquica e controla os pacotes que saem de uma determinada placa de rede. O pacote entra e é armazenado no buffer. Assim, só resta controlar sua saída do buffer para a rede.

Page 45: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Manipulação tráfego com TC e HTBO HTB possui um elemento principal conhecido como root, que receberá a designação numérica 1:0 ou, simplesmente 1:. o root possui um subordinado imediato, que controla o tráfego máximo total possível. Esse subordinado é uma classe e receberá a designação 1:1

Page 46: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Manipulação tráfego com TC e HTBO HTB possui um elemento principal conhecido como root, que receberá a designação numérica 1:0 ou, simplesmente 1:. o root possui um subordinado imediato, que controla o tráfego máximo total possível. Esse subordinado é uma classe e receberá a designação 1:1

Page 47: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Manipulação tráfego com TC e HTBCONFIGURAÇÃO DO CONTROLE DE TRÁFEGO

A configuração do controle de tráfego é feita toda através do comando tc, que tem a forma geral mostrada abaixo:

tc [opções] OBJETOS PARÂMETROS

Os OBJETOS do tc, como já foram conceituados, são: qdisc, class, filters.

Exemplos de comandos:

# tc qdisc

Utilizamos o objeto qdisc para adicionar, remover ou listar qdiscs.

Page 48: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Manipulação tráfego com TC e HTBADICIONANDO E REMOVENDO QDISCS

Para adicionar um qdisc precisamos indicar a interface, qual é o "handle" ou "identificador" do qdisc, quem é o

"pai" do qdisc e por final o tipo de qdisc e suas opções. Se estivermos adicionando um "qdisc root", seu pai

será o root, já para uma classe X:Y, devemos usar o "parent X:Y".

Adicionando um qdisc classfull e definindo a classe padrão:

# qdisc add dev eth0 root handle 1: htb default 10

Adicionando qdisc a uma classe:

# tc qdisc add dev eth0 parent 1:10 handle 10: sfq perturb 10

Para remover qdiscs basta substituir a opção "add" por "del".

Page 49: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Manipulação tráfego com TC e HTBLISTAR QDISCS

Para listar qdiscs basta utilizar a opção "show" seguida da interface de rede, por exemplo:

# tc qdisc show dev eth0

TC CLASS

As "class" funcionam como uma subdivisão de classes dentro do qdisc classfull, permitindo desta

forma a separação do tráfego entre outras class/qdiscs.

Page 50: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Manipulação tráfego com TC e HTBLISTANDO CLASSES

Para listar classes basta utilizar a opção "show". Temos ainda como parâmetro a opção -s, que

mostra a quantidade de bytes enviados e pacotes e a opção -d, que mostra a descrição da

classe, com seu tipo e opções adicionadas, como exemplo abaixo.

# tc -s -d class dev eth0 root

Page 51: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Manipulação tráfego com TC e HTBHTB já com algumas classes (dentro de um script em shell bash):

#!/bin/bash

tc qdisc del dev eth0 root

tc qdisc add dev eth0 root handle 1:0 htb default 40

tc class add dev eth0 parent 1:0 classid 1:1 htb rate 100mbit

tc class add dev eth0 parent 1:1 classid 1:10 htb rate 100kbit ceil 300kbit prio 0 # DNS / ACK / SYN

tc class add dev eth0 parent 1:1 classid 1:20 htb rate 500kbit ceil 800kbit prio 1 # E-MAIL

tc class add dev eth0 parent 1:1 classid 1:30 htb rate 1200kbit ceil 1600kbit prio 2 # HTTP / HTTPS

tc class add dev eth0 parent 1:1 classid 1:40 htb rate 300kbit ceil 500kbit prio 3 # GERAL

Page 52: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Manipulação tráfego com TC e HTB

Page 53: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Manipulação tráfego com TC e HTBPense nisso…

Page 54: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Manipulação tráfego com TC e HTBFoi necessário criar script em python para que a cada janela de tempo fosse

modificado os valores para largura de banda, perda de pacote e atrasos. Código completo de controle de tráfego (shell script) e código para modificação de valores de acordo com o tempo de cenários estabelecidos, disponíveis em:

https://github.com/VDBergF/Scenario

Page 56: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

CenáriosOs cenários que constituem o ambiente, foram coletados por um projeto italiano chamado Neubot. Neubot é um projeto de pesquisa e desenvolvimento que estuda a Internet, executando medições a partir das bordas. Estudando o desempenho em banda larga, neutralidade de rede e censura na Internet. E desenvolvendo software de código aberto e publicar os dados coletados pelo software como dados abertos.

Page 57: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

CenáriosPublicações relacionadas:

● Simone Basso, Antonio Servetti, Enrico Masala, Juan Carlos De Martin

Measuring DASH Streaming Performance from the End Users Perspective using Neubot

21-24 March 2014

Proceedings of the ACM Multimedia Systems (MMSys) 2014

● Giuseppe Futia, Enrico Zimuel, Simone Basso, Juan Carlos De Martin

The NeuViz Data Visualization Tool for Visualizing Internet-Measurements Data

3 March 2014

Mondo Digitale

Page 58: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

CenáriosOs cenários são tratados por turnos. De forma a executar testes com cenários específicos colhidos pela manhã, tarde ou noite, dependendo do horário do teste, um destes é usado ou simulado para retratar a largura de banda de determinados horários.

Page 59: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

CenáriosLargura de banda medida

a partir da operadora Claro,

no estado de São Paulo no

horário de 10 às 12h

Page 60: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

CenáriosLargura de banda medida

a partir da operadora Claro,

no estado de São Paulo no

horário de 19 às 23h.

Page 61: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

CenáriosPara os testes da disciplina serão realizadas sessões de 15 minutos com 3 (três) clientes compartilhando a mesma rede, porém da mesma equipe.

Page 62: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

CenáriosExemplo de entrada para as sessões.

1ª coluna horário coleta.

2ª coluna tempo e. segundos que a coleta foi

feita.

3ª coluna largura de banda observada.

Page 63: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Estudo para geração de gráficosComo a qualidade de uma sessão é medida?

Page 64: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Estudo para geração de gráficosComo a qualidade de uma sessão é medida?

● Quantitativas:

● Qualitativas:

Page 65: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Estudo para geração de gráficosComo a qualidade de uma sessão é medida?

● Quantitativas:- Taxa média de bits

● Qualitativas:- Stalls (Travamentos)- Instabilidade (Amplitude e quantidade)- Justiça

Page 66: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Estudo para geração de gráficos● Taxa média de bits:- média da taxa de bit de segmento.

f(i), função que retorna o bitrate do segmento i.Di, duração do segmento.Ts, tempo de sessão.

Page 67: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Estudo para geração de gráficos● Instabilidade:- Instabilidade do algoritmo de adaptação.- Captura o impacto da captura de troca de qualidade para o usuário.- Valor entre 0-1 (maior instabilidade)- Observa a instabilidade nos últimos k segmentos.

bx,t taxa de bits do segmento i.K, tamanho da janela em segmentos.W(i) = k-i (Função de penalidade linear)

Page 68: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser

Estudo para geração de gráficos● Justiça:- Mede o grau de justiça no compartilhamento dos recursos;- Relação entre o recurso esperado (cenário ideal), e o recurso recebido- Valor entre 0-1(Justo).

N, número de clientes;Xi , é a razão entre a quantidade de recursos esperado pelo recursos recebidoRecurso esperado = razão entre a taxa média do conjunto de vídeo pela quantidade de clientes, multiplicado pela média de largura de banda (cenário)Recurso recebido = taxa média de bits;

Page 69: Experimentação Ambiente de algoritmos de adaptação de ... · Manipulação tráfego com TC e HTB CLASSFULL QDISCS O HTB é um qdisc com suporte a classes, por isso ele pode ser