Serviços Diferenciados no NS2
“Tutoriais NS2” on-line, Xuan Chen, 2002
(Adaptado)
1
Serviços Diferenciados

Definição de um pequeno número de
classes de serviço




Com requisitos de QoS associados
Com filas de espera diferenciadas
Marcação e Classificação de tráfego em
classes de serviço
Tratamento diferenciado dos pacotes

De acordo com a classe
2
Serviços Diferenciados
Grupos de Trabalho

IETF





Descrição da arquitectura –RFC 2475
Campo DS –RFC 2774
PHBs – RFC 2397 2598
Internet Drafts
TF-Tant

Ambiente experimental de teste de
arquitectura e de serviços
3
Serviços Diferenciados

QoS na Internet para agregações de fluxos



Sem estado para cada fluxo de dados
Sem sinalização para cada nó
DS-Field




Pacotes são marcados para receber serviços
diferenciados nos Domínios DS
Campo TOS do IPv4 ou Traffic Class do IPv6
Identifica o PHB (Per-Hop Behavior)
Valores do DS-Field são chamados de DSCP
(DiffServ Code Point)
4
Contratos e Serviços

SLA: Service Level Agreement





Contrato de serviço bilateral
Identifica perfil de tráfego (ex. r = 1 Mbps, b = 100
Kb)
Serviço: “tratamento global de um determinado
subconjunto do tráfego de um utilizador dentro
de um Domínio DS, ou fim a fim”
PHBs + regras de policiamento = vários serviços
O grupo de trabalho da IETF não vai normalizar
os serviços fim a fim (para os utilizadores)
5
Contratos e serviços

Para obter serviços diferenciados


Cliente pode ser outro ISP
Aspectos técnicos do contrato


Especificação de Nível de Serviço (Service Level
Agreement –SLS)
Especifica




Serviços pretendidos
Perfil de tráfego
Propriedades temporais do tráfego
Regras de condicionamento de tráfego
6
Especificação do Nível de Serviço
Parâmetros de Especificação de Serviços


Identificação do Fluxo
Descrição do tráfego



Tratamento ao excesso



Que fazer ao tráfego fora de perfil: descarte,
remarcação,calibração?
Desempenho: débito, atraso, perda, jitter


Características do tráfego e parâmetros de conformidade
Taxa de pico, parâmetros de token-bucket (b,r), MTU
min/max
Garantias qualitativas e quantitativas
Temporização: activação/cancelamento do serviço
Fiabilidade: tempo entre falhas
7
Arquitetura de Serviços Diferenciados
Modelo Lógico
SLA: Service Level Agreement
Fonte
SLA
Destino
Domínio
SLA
SLA
SLA
SLA
Domínio
Domínio
Domínios proporcionam serviços especificados no SLA aos seus
8
clientes
Arquitetura de Serviços
Diferenciados Modelo Físico
Policiamento de tráfego nos encaminhadores de fronteira
Encaminhadores
internos dão
tratamento aos
pacotes de acordo
com o PHB indicado
no DSCP
9
Arquitetura de Serviços Diferenciados
Domínio DS
Mundo
Exterior
SLA deve
ser
estabelecido
Nós
Interiores
Nós de
Fronteira
Efectua
Condicionamento
de Tráfego
Nós de
Fronteira
Nós
Interiores
Efectua
Condicionamento
de Tráfego
Mundo
Exterior
SLA deve
ser
estabelecido
Pacotes são adicionados a
agregações de comportamento
(behavior aggregates - BA)
de acordo com o DS field
10
Per-Hop Behavior (PHB)

Descreve o comportamento na expedição do
tráfego agregado num nó DS



Determina estratégia de alocação de recursos
para construção de serviços diferenciados
É especificado em termos de


Pacotes com o mesmo DCSP
Prioridade na obtenção de recursos (buffers, largura de
banda) e características de tráfego (atraso, perdas)
É concretizado por mecanismos de


Gestão de Filas (ex. RED)
Escalonamento (ex. WFQ, CBQ,...)
11
PHPs Normalizados

PHB EF (Expedited Forwarding) (RFC 2598)




Expedição expresso (acelerada)
Baixa perda, atraso e variação do atraso (jitter)
Preferência total de encaminhamento
PHB AF (Assured Forwarding) (RFC 2597)



Grupo de PHBs de expedição assegurada
4 classes de serviços com 3 níveis de descarte
Define tratamentos diferenciados aos pacotes, do
tipo “melhor que o melhor esforço”
12
Arquitectura DiffServ

Três componentes principais:

Gestor de políticas e de recursos…




Cria políticas…
Distribui as políticas pelos routers…
Edge routers: fazem marcação dos pacotes
Core routers: PHB
13
Routers DiffServ


A diferenciação faz-se no interior dos routers
Os routers Diffserv tem dois novos blocos funcionais:
condicionador de tráfego e um policiador
14
DiffServ no NS2 passo a passo



Definir os nós fronteira e interiores (Edge
Routers e Core Routers)
Configurar as filas de espera (Queues)
Adicionar política:



Entradas na tabela de políticas (policy table)
Entradas na tabela de PHBs (PHB table)
Obter resultados (estatísticas de uso)
15
Configuração dos “Routers”
A distinção faz-se ao nível dos links:
 Distinguir os links entre “edge” e “core”
 Usar filas de espera “dsRED” em vez de “DropTail”
$ns simplex-link $e1 $core 10Mb 5ms dsRED/edge
$ns simplex-link $core $e1 10Mb 5ms dsRED/core
Os links “edge” são os de entrada no domínio
16
Configuração das queues

Aceder às queues:
set qE1C [[$ns link $e1 $core] queue]
set qCE1 [[$ns link $core $e1] queue]

Configurar uma a uma:
$qE1C
$qE1C
$qE1C
…
$qE1C
meanPktSize $packetSize
set numQueues_ 1
setNumPrec 2
Tamanho médio
dos pacotes
Nº Filas Físicas
Nº Filas Virtuais
configQ 0 0 20 40 0.02
Nº da fila física a configurar
Nº da fila virtual a configurar
Probabilidade de Descarte
Limites RED: inferior e superior
(em pacotes)
17
Configuração das queues
partidas
chegadas
DropTail
queue
link
máx min
RED
avg>=min
partidas
N
S
avg >máx
Descarta ou
Marca tudo
S
N
Drop?
Descarta ou S
Marca aleatoriamente
N
q
Pr[descarte] = Pmax
avg - min
max - min
avg = avg (1-x) + x q
18
Queues Físicas e Virtuais
Packet 3 0 1
Packet 4 1 1
v0
v1 2 1
physical queue
scheduler
Diffserv queue
19
Configuração das queues


Configurar o escalonador (necessário quando há
múltiplas filas)
Definir o algoritmo a usar:
 RR, PRI, WRR, etc..
$qCE2 setSchedularMode PRI
$qCE2 addQueueRate 0 3000000
Fila física
Algoritmo de
escalonamento
a usar
Debito máximo
20
Políticas e policiadores (edges)

Adicionar entradas na tabela de políticas…
$qE1C addPolicyEntry [$s1 id] [$dest id] TokenBucket 10 $cir0 $cbs0
Identificação do(s) fluxos
a que a política se aplica
Classificador/Policiador a usar

Adiconar entradas na tabela de policiadores
$qE1C addPolicerEntry TokenBucket 10 11
21
Token Bucket
Token Bucket:



bucket pode armazenar b tokens (tamanho de burst)
tokens são gerados à taxa de r token/sec, excepto se o bucket
estiver cheio
No intervalo de tempo t, o nº de pacotes admitido é menor ou
igual a (r t + b).
22
Policiadores suportados




TSW2CM and TSW3CM
Token bucket
Single rate three color marker
Two rate three color marker
23
Tabelas PHB

Para que filas (física e virtual) vão os pacotes
marcados em cada classe:
$qE1C addPHBEntry 10 0 0
$qE1C addPHBEntry 11 0 1

Nos routers do interior só é necessária esta tabela,
porque a marcação já foi feita na entrada do domínio
pelos routers de fronteira…
24
Estatísticas
$qE1C printPolicyTable
$qE1C printPolicerTable
$qE1C printStats
Packets Statistics
========================
CP TotPkts TxPkts ldrops edrops
-- ------- ------ ------ -----All 12494
5056
7438
0
10
2503
2503
0
0
11
2495
10
2480
5
25
Download

PPT