1 Serviços Diferenciados no NS2 Tutoriais NS2 on-line, Xuan Chen, 2002 (Adaptado)

Preview:

Citation preview

1

Serviços Diferenciados no NS2

“Tutoriais NS2” on-line, Xuan Chen, 2002 (Adaptado)

2

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

3

Serviços DiferenciadosGrupos 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

4

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)

5

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)

6

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

7

Especificação do Nível de ServiçoParâmetros de Especificação de Serviços

Identificação do Fluxo Descrição do tráfego

Características do tráfego e parâmetros de conformidade Taxa de pico, parâmetros de token-bucket (b,r), MTU

min/max Tratamento ao excesso

Que fazer ao tráfego fora de perfil: descarte, remarcação,calibração?

Desempenho: débito, atraso, perda, jitter Garantias qualitativas e quantitativas

Temporização: activação/cancelamento do serviço Fiabilidade: tempo entre falhas

8

Domínios proporcionam serviços especificados no SLA aos seus clientes

SLA: Service Level Agreement

SLASLA

SLA

SLA

SLADomínio

Domínio

Domínio

Fonte

Destino

Arquitetura de Serviços DiferenciadosModelo Lógico

9

Policiamento de tráfego nos encaminhadores de fronteira

Encaminhadores internos dão

tratamento aos pacotes de acordo

com o PHB indicado no DSCP

Arquitetura de Serviços Diferenciados Modelo Físico

10

Arquitetura de Serviços Diferenciados

Domínio DS

Nós Interiores

Nós deFronteira

Nós Interiores

Nós deFronteira

Efectua Condicionamento

de Tráfego

Efectua Condicionamento

de Tráfego

Pacotes são adicionados a agregações de comportamento

(behavior aggregates - BA)de acordo com o DS field

MundoExterior

SLA deveser

estabelecido

MundoExterior

SLA deveser

estabelecido

11

Per-Hop Behavior (PHB) Descreve o comportamento na expedição do

tráfego agregado num nó DS Pacotes com o mesmo DCSP

Determina estratégia de alocação de recursos para construção de serviços diferenciados

É especificado em termos de 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,...)

12

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”

13

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

14

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

15

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)

16

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

17

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 meanPktSize $packetSize$qE1C set numQueues_ 1$qE1C setNumPrec 2…$qE1C configQ 0 0 20 40 0.02

Tamanho médio dos pacotes

Nº Filas Físicas

Nº Filas Virtuais

Probabilidade de Descarte

Limites RED: inferior e superior (em pacotes)

Nº da fila física a configurar

Nº da fila virtual a configurar

18

Configuração das queues

DropTail

RED minmáx

chegadas partidas

partidas

queue link

avg>=min

avg >máx Drop?

N

NN

S

S SDescarta ou Marca tudo

Descarta ou Marca aleatoriamente

Pr[descarte] = Pmaxavg - min

max - min

q

avg = avg (1-x) + x q

19

Queues Físicas e Virtuais

Packet 4 11

Packet 3 10

physical queue

Diffserv queue

v1v0

scheduler

12

20

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

Algoritmo de escalonamento

a usar

Debito máximoFila física

21

Políticas e policiadores (edges) Adicionar entradas na tabela de políticas…

$qE1C addPolicyEntry [$s1 id] [$dest id] TokenBucket 10 $cir0 $cbs0

Adiconar entradas na tabela de policiadores

$qE1C addPolicerEntry TokenBucket 10 11

Identificação do(s) fluxosa que a política se aplica

Classificador/Policiador a usar

22

Token BucketToken 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).

23

Policiadores suportados TSW2CM and TSW3CM Token bucket Single rate three color marker Two rate three color marker

24

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…

25

Estatísticas$qE1C printPolicyTable$qE1C printPolicerTable

$qE1C printStatsPackets Statistics======================== CP TotPkts TxPkts ldrops edrops -- ------- ------ ------ ------All 12494 5056 7438 0 10 2503 2503 0 0 11 2495 10 2480 5

Recommended