Serviços Integrados
RSVP
Edgard Jamhour
Estratégias para Implantação de QoS
• Atualmente, duas estratégias de QoS sobre
redes IP estão em desenvolvimento:
– Serviços Integrados
• Baseado em um procolo de sinalização: RSVP
• Permite efetuar reserva de recursos fim-a-fim para garantir a
QoS de um dado fluxo, no momento em que o fluxo é criado.
– Serviços Diferenciados
• Não utiliza protocolo de sinalização.
• Utiliza um esquema de priorização de recursos baseado em
SLA (Service Level Agreements) previamente configurados.
Níveis de QoS
Reserva de Recursos Fim-a-Fim
Protocolo de Sinalização
Serviços
Integrados
Serviços
Diferenciados
Melhor Esforço
Priorização de Recursos
de Acordo com SLAs préestabelecidos
O primeiro pacote a
chegar é o primeiro a
ser atendido.
Serviços Integrados
• Serviços integrados definem duas classes de serviço:
• Serviço Garantido
– Define garantia de banda fim-fim, com atraso conhecido.
– Destinado a aplicações em tempo-real que não toleram atraso ou
perda de pacotes.
• Serviço de Carga Controlada
– Não provê garantias de QoS rígidas.
– Procura evitar a deterioração do QoS de cada fluxo, através de
mecanismos de antecipação de congestionamento.
– Destinado a aplicações que toleram um certo nível de atraso e
perda de pacotes.
Serviços Integrados sobre IP
Comparação com outras tecnologias
• Frame-Relay
– Trabalha apenas com priorização.
– Não tem procolo de sinalização.
• ATM
– Trabalha com priorização e reserva de recursos.
– Possui protocolo de sinalização próprio.
• IP
– Trabalha com priorização ou reserva de recursos.
– Utiliza o procolo de sinalização RSVP.
– Serviços integrados em IP podem utilizar recursos de QoS
disponíveis na camada de enlace.
• Integrated Services over Specific Lower Layers
RSVP: Resource Reservation Protocol
• Protocolo de sinalização que permite as aplicações
solicitarem Qos especiais para seus fluxos de dados.
1. Solicita conexão com o servidor
Aplicação
multimídi
a
com
suporte a
RSVP
2. Informa requisitos para o cliente (PATH)
3. Solicita Reserva (RESV)
Aplicaçã
o com
Suporte
a RSVP
4. Confirma Reserva (RESVconf)
Servidor
9001
Cliente
RSVP
• Padronizado pela RFC2205,Setembro de 1997.
– Complementada pelas RFCs 2206, 2207, 2210, 2380, 2745,
2747, 2961.
• Protocolo de controle, similar ao ICMP ou IGMP.
– Permite que os nós da rede recebem informações para
caracterizar fluxos de dados, definir caminhos e características
de QoS para esses fluxos ao longo desses caminhos.
• RSVP não é um protocolo de roteamento.
– Ele depende de outros protocolos para execução dessas
funções.
Arquitetura do RSVP
• As funções de implementação do QoS pelos nós
não são de responsabilidade do RSVP. Outros
módulos são especificados na arquitetura:
– Módulos de Decisão:
• Controle de Admissão: verifica se existem recursos para o
pedido.
• Controle de Política: verifica se o usuário pode pedir os
recursos.
– Módulos de Controle de Tráfego:
• Classificador: determina a classe do pacote
• Escalonador: implementa o QoS
Arquitetura do RSVP
Controle de
Admissão
Host
RSVP
aplicaçã
o
dados
Process
o
RSVP
Roteador
RSVP
RSVP
Processo
RSVP
Processo
roteamento
Controle de
Política
Controle de
Política
dados
Classificador
Classificador
Escalonador
Dados
Escalonador
RSVP é Unidirecional
• As reservas em RSVP são sempre unidirecionais.
• As reservas podem ser em unicast ou multicast.
• No RSVP o pedido de uma reserva sempre é iniciado pelo receptor.
– Os direitos da reserva são debitados na conta do cliente.
1. Solicita serviço
2. Especifica os requisitos
Servidor
3. Faz reserva
REDE
Cliente
Sessões RSVP
• Em RSVP, a política de QoS não é aplicada
individualmente sobre cada pacote, mas sim em
sessões.
• Uma sessão é definida como um fluxo de dados
para um mesmo destino, utilizando um mesmo
protocolo de transporte.
• Uma sessão é definida por três parâmetros:
– Endereço de destino
– Identificador de Protocolo (TCP ou UDP)
– Porta de destino (Opcional).
Sessões RSVP
• Podem ser de dois tipos:
Multicast
(239.0.64.240),TCP,[dstport])
Transmissor
IGMP
Endereço
Classe D
Os receptores
precisam formar
um grupo multicast
para poder receber
as mensagens.
Unicast
(168.100.64.5,TCP,5000)
Transmissor
Receptor
Receptor
Especificação de fluxo
• Um reserva em RSVP é caracterizada por uma
estrutura de dados denominada Flowspec.
• Flowspec é composta por dois elementos:
– Rspec (Reserve Spec):
• indica a classe de serviço desejada.
– Tspec (Traffic Spec):
• indica o que será Transmitido.
• OBS.
– Rspec e Tspec são definidas na RFC 2210 e são opacos para o RSVP.
O Token Bucket Model
• O modelo utilizado pelo RSVP é o Token Bucket.
– Este modelo é um método realiza para definir uma taxa de
transmissão variável com atraso limitado.
saída
(bytes/s)
d <= b/p
r bytes/s
p
r
R
b bytes
t
chegada
reserva
saída
R
p bytes/s
B
Serviço
Garantido se
r <= R
Tspec
• Assumindo o Token Bucket Model, Tspec é definido da
seguinte forma:
– r - taxa média em bytes/s
• Taxa de longo prazo: 1 a 40 terabytes/s
– b - tamanho do bucket (em bytes)
• Taxa momentânea: 1 a 250 gigabytes
– p - taxa de pico
– m - tamanho mínimo do pacote
• (pacotes menores que esse valor são contados como m bytes)
– M - MTU (tamanho máximo do pacote)
• Regra: seja T o tráfego total pelo fluxo num período T:
– T < rT + b
Rspec
• Assumindo o Token Bucket Model, Rspec
é definido da seguinte forma:
– R - taxa desejável
• Taxa média solicitada
– s - Saldo (slack) de retardo
• Valor excedente de atraso que pode ser utilizado
pelos nós intermediários.
• Ele corresponde a diferença entre o atraso
garantido se a banda R for reservada e o atraso
realmente necessário, especificado pela aplicação.
Mensagens RSVP
Encapsulado diretamente sobre IP
Msg Type: 8 bits
1 = Path
2 = Resv
3 = PathErr
4 = ResvErr
5 = PathTear
6 = ResvTear
7 = ResvConf
...
Objetos de
tamanho
variável
Session
FlowSpec
FilterSpec
AdSpec
PolicyData,
Etc.
Mensagem PATH
• PATH: enviada do transmissor para o receptor
– Descreve os requisitos de QoS para o receptor
• A mensagem PATH contém dois parâmetros básicos:
– Tspec: estrutura de dados que especifica o que será transmitido.
– Adspec (opcional): estrutura que especifica os recursos disponíveis.
• Utilizado para cálculo do Slack Term
PATH
Servidor
ADSPEC
TPEC
....
Cliente
ADSPEC
• ADSPEC é utilizado para cálculo do Slack Term:
– A folga de atraso permite aos roteadores acomodarem mais facilmente
as requisições de banda.
• Os parâmetros passados são os seguintes:
– hopCount:
• número de elementos intermediários
– pathBW:
• estimativa da largura de banda
– minLatency:
• estimativa do retardo de propagação
– composedMTU:
• MTU composta do referido caminho
Mensagem PATH
• A mensagem PATH define uma rota entre o transmissor
e o receptor.
– Todos os roteadores que recebem a mensagem PATH
armazenam um estado definido PATH state.
3
4
servidor
cliente
S
1) PATH
Estado: 1
2
1
2) PATH
Estado: S
C
3) PATH
Estado: 1
Estado: 2
Mensagem RESV (Reservation Request)
• RESV: Enviada do receptor para o transmissor
• A mensagem RESV contém dois parâmetros
– Flow Spec: Especifica a reserva desejada
• Service Class: Serviço Garantido ou Carga Controlada
• Tspec: requisitos do transmissor
• Rspec: taxa de transmissão solicitada
– Filter Spec: identifica os pacotes que devem de beneficiar da reserva
• Protocolo de transporte e número de porta.
RESV
Servidor
Flow Spec
Filter Spec
Service Class
IP origem
Rspec
Porta origem
ou
Flow Label
Tspec
....
Cliente
Service Class (Classes de Serviço)
• Serviço de Carga Controlada (RFC 2211)
– Rspec não é especificado, apenas Tspec.
– Não é feita reserva de banda.
– Os dispositivos evitam a deterioração das condições
da rede limitando o tráfego das aplicações.
• Limite (num intervalo T): < rT +b (bytes)
• Serviço Garantido (RFC 2212)
– RSpec e TSpec são especificados.
– É feita reserva de banda.
Mensagem RESV
• A mensagem RESV segue o caminho definido por PATH.
– Cada nó RSVP decide se pode cumprir os requisitos de QoS
antes de passar a mensagem adiante.
3
4
servidor
cliente
S
3) RESV
Estado: 1‘
2
1
2) RESV
Estado: S
C
1) RESV
Estado: 1
Estado: 2
Mensagem de Erro
• Quando um dispositivo de recebe a mensagem
RESV, ele:
– autentica a requisição
– alocar os recursos necessários.
• Se a requisição não pode ser satisfeita (devido a
falta de recursos ou falha na autorização), o
roteador retorna um erro para o receptor.
• Se aceito, o roteador envia a mensagem RESV
para o próximo roteador.
Mensagem de Erro
• Podem ser de dois tipos:
– Erros de Caminho (Path error)
• Caminho ambíguo.
– Erros de Reserva (Reservation Request error).
• Falha de admissão
– o solicitante não tem permissão para fazer a reserva.
• Banda indisponível.
• Serviço não suportado.
• Má especificação de fluxo.
Exemplo
S
5 Mb/s
4 Mb/s
R1
R2
2 Mb/s
4 Mb/s
R3
R4
Resv(R1,S1)
R1 = 2,5 Mb/s e S1= 0
S
R5
Resv(R1,S1)
R
Resv(R1,S1)
ResvErr
5 Mb/s
4 Mb/s
R1
R2
Resv(R1,S2)
3,5 Mb/s
2 Mb/s
R3
4 Mb/s
3,5 Mb/s
R4
Resv(R1,S2) Resv(R1,S2) Resv(R1,S1) Resv(R1,S1)
R5
R
Resv(R1,S1)
R1 = 3 Mb/s e S1= 10 ms, S2 = 10 ms – delay provocado por R3
RESVconf: Reservation Confirmation
• Enviada do transmissor até o receptor através do PATH.
• Esta mensagem confirma para o cliente que a reserva foi
bem sucedida.
3
4
servidor
cliente
S
1
2
C
RESVconf
Estado: 1‘
Estado: S
Estado: 1
Estado: 2
Tipos de Mensagem RSVP
• Mensagens Teardown:
– Enviada pelo cliente, servidor ou roteadores para
abortar a reserva RSVP.
– Limpa todas as reservas e informações de PATH.
3
4
servidor
S
1
3) TearDown
Estado: 1‘
cliente
2
2) TearDown
Estado: S
Estado: 1
C
1) TearDown
RSVP na Internet
• Para que o RSVP possa ser implementado na Internet,
utiliza-se técnicas de tunelamento para saltar os
roteadores que não suportam RSVP.
O endereço de destino das mensagens PATH é do próximo roteador
que suporta RSVP.
Nuvem
não RSVP
servidor
cliente
Problemas do RSVP
• No IPv4, o RSVP classifica os pacotes utilizando
informações do protocolo de transporte (portas)
• Isso causa problemas quando:
– Houver fragmentação.
• Solução: As aplicações devem transmitir as informações com
o mínimo MTU do caminho.
– IPsec ou outras técnicas de tunelamento podem
criptografar os pacotes:
• Uma extensão do IPsec foi proposta para suportar RSVP.
Desenvolvimento de Aplicações RSVP
• Serviços integrados necessitam que as aplicações sejam escritas de
maneira a usar o protocolo RSVP.
• Já estão disponíveis API para desenvolver aplicações RSVP em
várias plataformas:
• Em Windows
– Winsock 2 QoS API
• Em Java
– Várias implementações em universidades
– JQoSAPI: http://www-vs.informatik.uni-ulm.de/soft/JavaQoS/
• Em Linux
– Suporta RSVP, mas API estão disponíveis para serviços diferenciados.
Serviços Integrados na Internet
• A abordagem de serviços integrados não é vista como
apropriada para Internet.
• Estima-se que o RSVP seja pouco escalável pois:
– Muitas mensagens trocadas para estabelecimento da reserva.
– Os roteadores necessitam de manter informações de caminho
(operação stateful)
• Serviços diferenciados são uma proposta alternativa do
IETF para implementação de QoS em provedores e
Backbones na Internet.
Conclusão
• Serviços Integrados:
– Garantia das características de QoS para os fluxos numa
comunicação fim-a-fim.
– A rede nunca “admite” mais tráfego do que é capaz.
– Pouco escalável devido ao alto custo de manter o estado nos
roteadores.
• Serviços Diferenciados:
– Policiamento e priorização de tráfego em domínios de serviço
diferenciado.
– A rede pode eventualmente ficar sobre-carregada e não cumprir
as características de QoS solicitadas.
– Escalável, pois não precisa manter rígidas condições de estado
nos roteadores.
ANEXOS
Estilos de Reserva RSVP
Estilos de Reserva
• As reservas em RSVP podem ser feitas de formas diferentes
(estilos):
Seleção do Emissor Reserva
Distinta
Reserva
Compartilhada
Explícita
Filtro Fixo (FF)
Explícito
Compartilhado (SE)
Curinga
Não Definido
Filtro com Curinga
(WF)
Exemplo de WildCard Filter
• WildCard-Filter (WF)
– Estabelece uma única reserva para todos os emissores de uma
sessão (tipicamente multicast, onde só um transmite de cada vez).
– Só a maior requisição de reserva chega aos emissores.
– Sintaxe: WF (* {Q})
Exemplo de Fixed Filter
• Fixed-Filter (FF):
– Pacotes de emissores diferentes numa mesma sessão não
compartilham reservas.
– Mas as reservas são compartilhadas pelos receptores.
– Sintaxe: FF (S{Q}) ou FF(S1{Q1},S2{Q2},...}
Exemplo de Shared Explicit
• Shared-Explicit (SE):
– A reserva é propagada para todas as fontes no valor máximo
feito por cada receptor.
– Sintaxe: SE ((S1,S2,...){Q})
Download

Serviços Integrados