Aula10

28
Tecnologias de Redes de Computadores Gustavo Sousa Pavani Universidade Federal do ABC (UFABC) 2º Quadrimestre - 2016 Aula 10

Transcript of Aula10

Tecnologias de Redes de Computadores

Gustavo Sousa Pavani

Universidade Federal do ABC (UFABC)

2º Quadrimestre - 2016

Aula 10

2 Gustavo S. Pavani

Reserva de recursos

A capacidade de regular o tráfego implica garantir que

todos os pacotes de um mesmo fluxo sigam a mesma rota.

Ao se estabelecer uma rota, é necessário garantir a

capacidade necessária de:

– Largura de banda;

– Espaço de buffer;

Alguns buffers podem ser reservados para um fluxo específico.

– Ciclos de CPU.

Retardo pode ser grande, em vista do tempo que o pacote fica

enfileirado antes de ser enviado.

Seja a capacidade média de processamento de pacotes por segundo

igual a , a taxa média de chegadas de pacotes por segundo igual a

e = / .

O retardo médio é dado por

1

11T

3 Gustavo S. Pavani

Controle de admissão - 1

Quando um fluxo é oferecido a um roteador, ele deve

determinar se aceita ou rejeita esse fluxo, em função da

sua capacidade e da quantidade de compromissos que já

assumiu com outros fluxos.

– Não é simplesmente questão de comparar os recursos solicitados

com a capacidade excedente do roteador.

Dificuldade da aplicação em descrever as necessidades do fluxo.

Algumas aplicações são mais tolerantes que outras na negociação dos

recursos necessários ao fluxo.

– O conjunto dos parâmetros específicos negociados é chamado de

especificação dos fluxos.

Ao longo da rota, cada roteador examina e modifica os parâmetros

conforme o necessário. As modificações somente podem reduzir o

fluxo.

Quando a especificação chega no destino, os parâmetros podem ser

estabelecidos.

4 Gustavo S. Pavani

Controle de admissão - 2

Especificação de fluxo, baseada nas RFCs 2210 e 2211.

Mapeamento entre a especificação de fluxo em um

conjunto de reserva de recursos é específico da

implementação e não é padronizado.

– Quanto mais restrita, melhor.

5 Gustavo S. Pavani

Roteamento proporcional

A maioria dos algoritmos de roteamento tenta achar um

melhor caminho para cada destino e enviar todo o tráfego

para esse destino pelo melhor caminho.

Um abordagem diferente, é dividir o tráfego

correspondente a cada destino entre vários caminhos.

– Um método simples é dividir o tráfego igualmente ou torná-lo

proporcional à capacidade dos enlaces de saída.

6 Gustavo S. Pavani

Programação de pacotes - 1

Um fluxo pode receber muito mais recursos do que permite sua capacidade e prejudicar todos os outros fluxos, pois um transmissor agressivo pode capturar a maior parte dos roteadores por onde passam seus pacotes. – Para evitar esse problema, foram criados vários algoritmos de

programação de pacotes.

Enfileiramento justo. – Os roteadores têm filas separadas para cada linha de saída, uma

para cada fluxo.

Quando uma linha fica ociosa, o roteador varre as filas em rodízio, tomando o primeiro pacote da fila seguinte. Desse modo, com n hosts competindo por uma dada linha de saída, cada host chega a enviar um dentre cada n pacotes.

Problema: oferece mais largura de banda para hosts com pacotes grandes do que para hosts que utilizam pacotes pequenos.

– Solução: simular um rodízio byte a byte, classificando os pacotes em ordem de término e enviando-os nessa ordem.

7 Gustavo S. Pavani

Programação de pacotes - 2

– Problema: dá a todos os hosts a mesma prioridade.

Em muitas situações, é necessário dar maior largura de banda a

alguns hosts.

– Solução: enfileiramento justo ponderado, onde há pesos, de forma

que esses hosts possam receber dois ou mais bytes por pulso.

Às vezes, o peso é igual ao número de fluxos que saem de uma

máquina, de forma que cada processo recebe uma largura de banda

equivalente.

8 Gustavo S. Pavani

Serviços integrados - 1

IETF definiu uma arquitetura para multimídia de fluxos.

– Algoritmos baseados em fluxo ou serviços integrados (RFC

2205 até 2210).

Foca nas aplicações de unidifusão e multidifusão (multicasting).

RSVP – Resource reSerVation Protocol.

– Descrito inicialmente na RFC 2205.

– É empregado para fazer reservas de recursos.

Permite que vários transmissores enviem dados para vários grupos de

receptores. Torna possível que vários receptores individuais mudem

livremente de canais. Otimiza o uso da largura de banda ao mesmo

tempo que otimiza o desempenho.

– Na sua forma mais simples, o protocolo utiliza roteamento por

multicasting com árvores de amplitude.

Informações extras transmitidas periodicamente ao grupo a fim de

informar aos roteadores ao longo da árvore que devem manter certas

estruturas de dados em suas respectivas memórias.

9 Gustavo S. Pavani

Serviços integrados - 2

– Exemplo: Hosts 1 e 2 são transmissores do multicasting e os hosts

3, 4 e 5 são os receptores do multicasting.

Uso de árvores de multicasting para cada grupo.

10 Gustavo S. Pavani

Serviços integrados - 3

– Para obter uma melhor recepção e eliminar o congestionamento, qualquer

um dos receptores de um grupo pode enviar uma mensagem de reserva

pela árvore para o transmissor.

A mensagem é propagada com a utilização do algoritmo de encaminhamento

pelo caminho inverso. Em cada hop, o roteador detecta a reserva e guarda a

largura de banda necessária. Se não há largura de banda disponível, ele deve

reportar a falha.

No momento em que a mensagem retorna à origem, a largura de banda já terá

sido reservada ao longo de todo o caminho entre o transmissor e o receptor.

11 Gustavo S. Pavani

Serviços integrados - 4

– Ao fazer uma reserva, um receptor pode opcionalmente especificar

uma ou mais origens a partir das quais deseja receber

informações.

Deve especificar se as opções são fixas ou se tem o desejo de manter

em aberto a opção de alterar essas opções mais tarde.

Os roteadores utilizam essas informações para otimizar o

planejamento da largura de banda.

Por exemplo, dois receptores só são configurados para compartilhar

um caminho se ambos concordarem em não alterar as origens

posteriormente.

Assim, a largura de banda reservada é desacoplada da opção pela

origem. Quando um receptor reserva a largura de banda, ele pode

alternar para outra origem e manter a parte do caminho que for válida

para a nova origem.

12 Gustavo S. Pavani

Serviços diferenciados - 1

Os serviços integrados têm a desvantagem de exigirem uma

configuração antecipada antes de estabelecer um fluxo.

– Isso não se ajusta bem quando existem milhares ou milhões de

fluxos.

– Além disso, eles mantém o estado interno por fluxo nos roteadores.

– Finalmente, o RSVP (e assemelhados) possui uma implementação

complexa, além de exigir trocas complexas entre roteadores a fim de

configurar os fluxos.

O IETF criou uma abordagem mais simples para oferecer

qualidade de serviço, que não requer configuração

antecipada e que não envolve toda a rota do fluxo.

– Qualidade de serviço baseada na classe.

– O IETF padronizou uma arquitetura baseada para ela, que é

chamada de arquitetura de serviços diferenciados (RFC 2474 e

2475).

13 Gustavo S. Pavani

Serviços diferenciados - 2

Os serviços diferenciados podem ser oferecidos por um

conjunto de roteadores que formam um domínio

administrativo.

– Se define um conjunto de classes de serviço com regras de

encaminhamento correspondentes.

Uso do campo Tipo de serviço.

Como não há nenhuma configuração antecipada, nenhuma reserva de

recursos e nenhuma negociação fim a fim para cada fluxo, a

implementação dos serviços diferenciados é bem mais simples do que

a dos serviços integrados.

Encaminhamento expedido (Expedited forwarding)

– Descrito na RFC 3246.

– Há duas classes de serviços disponíveis: regular e expedido.

A vasta maioria do tráfego deve ser regular, mas uma pequena fração

é expedida, que deve trafegar pela sub-rede como se nenhum outro

pacote estivesse presente.

14 Gustavo S. Pavani

Serviços diferenciados - 3

– Um modo de implementar essa estratégia é programar os roteadores

para terem duas filas de saída para cada linha de saída: uma para

pacotes regulares e outra para pacotes expedidos.

Quando um pacote chega, ele é enfileirado conforme seu tipo.

Deve-se fornecer mais largura de banda a fila dos pacotes expedidos do

que a quantidade de pacotes expedidos que trafegam na rede em

relação aos pacotes regulares, para se obter um baixo retardo, mesmo

que a sub-rede estiver sob uma carga de tráfego pesada.

15 Gustavo S. Pavani

Serviços diferenciados - 4

Encaminhamento garantido – Descrito na RFC 2597.

– Especifica quatro classes de prioridade, cada uma com seus recursos.

Também define três probabilidades de descarte de pacotes que estejam sofrendo congestionamento: baixa, média e alta.

Considerados em conjunto, esses dois fatores definem 12 classes de serviço.

– O host transmissor ou o roteador de ingresso devem classificar os pacotes em uma das quatro classes de prioridade.

Os pacotes são marcados de acordo com sua classe. No IP há um campo de 8 bits (Type of Service) que pode ser usado para esse propósito.

– Os pacotes são passados por um filtro modelador/regulador que pode retardar ou descartar alguns deles para modelar os 4 fluxos em formas aceitáveis.

Pode ser usado o balde furado, o balde de símbolos ou qualquer esquema mais elaborado.

16 Gustavo S. Pavani

Serviços diferenciados - 5

17 Gustavo S. Pavani

Troca de rótulos e MPLS - 1

Uso de um rótulo (label) no início de cada pacote para

permitir que o roteamento seja feito com base no rótulo e

não no endereço de destino.

– Para rotear, basta fazer uma pesquisa em tabela, de forma que o

roteamento é feito com bastante rapidez. Também facilita a reserva

de recursos ao longo do caminho.

MPLS (MultiProtocol Label Switching)

– Definido na RFC 3031 e em várias outras.

– Problema de onde pôr o rótulo, pois não existia nenhum campo

disponível no pacote IP.

– Novo cabeçalho MPLS antes do cabeçalho IP.

Campo Label que contém o rótulo.

Campo QoS que indica a classe de serviço.

Campo S para indicar o empilhamento de rótulos.

Campo TTL.

18 Gustavo S. Pavani

Troca de rótulos e MPLS - 2

– O cabeçalho do MPLS não faz parte nem do pacote da camada de

rede nem do quadro da camada de enlace de dados.

Independente dessas camadas.

– O rótulo é usado como um índice da tabela, que determina a linha

de saída e o novo valor do rótulo.

Rótulo tem significado local.

19 Gustavo S. Pavani

Troca de rótulos e MPLS - 3

– É comum os roteadores agruparem vários fluxos de um mesmo

roteador ou LAN em um único rótulo.

Esses fluxos formam um FEC (Forwarding Equivalence Class).

Todos os pacotes são tratados do mesmo modo para fins de

encaminhamento.

– Há duas maneiras de se criar entradas na tabela de roteamento:

Orientada para dados: quando um pacote chega, o primeiro roteador

que ele acessa entra em contacto com o próximo roteador por onde o

pacote deve passar e pede que ele gere um rótulo para o fluxo. Uso

da técnica de threads coloridos para evitar laços.

Orientada a controle: Quando um roteador é inicializado, ele verifica

quais as rotas ele é o destino final. Em seguida, cria uma ou mais

FECs para elas, aloca um rótulo para cada uma e repassa os rótulos

para seus vizinhos. Esse mecanismo é repetido até que todos os

roteadores tomem conta do caminho. Os recursos podem ser

reservados à medida que o caminho é construído.

20 Gustavo S. Pavani

Interconexão de redes

Até agora supomos que havia uma única rede homogênea,

com cada máquina usando o mesmo protocolo em cada

camada.

Existem uma série de questões que surgem quando duas ou

mais redes são interconectadas para formar uma inter-rede.

21 Gustavo S. Pavani

Diferenças entre redes - 1

Quando os pacotes enviados por uma origem em uma

rede devem transitar por uma ou mais redes externas

antes de chegar à rede destino podem ocorrer muitos

problemas nas interfaces existentes entre as redes.

– Rede orientada a conexões e rede sem conexões.

– Conversões de protocolo.

– Conversões de endereço.

– Redes que não aceitam multicasting.

– Diferentes tamanhos máximos usados por redes distintas.

– Diferenças em qualidades de serviço.

– Diferenças nos mecanismos de controle de erro, fluxo e

congestionamento.

– Diferentes mecanismos de segurança, definições de parâmetro,

regras de contabilidade e mesmo leis de privacidade nacionais.

22 Gustavo S. Pavani

Diferenças entre redes - 2

23 Gustavo S. Pavani

Como conectar redes - 1

As redes podem ser interconectadas por diversos

dispositivos diferentes:

– Camada física: hubs ou repetidores.

– Camada de enlace de dados: pontes e switches.

– Camada de rede: roteador.

Se duas redes tiverem camada de rede distintas, o roteador deve ser

capaz de realizar a conversão entre os formatos de pacote. Nesse

caso, o roteador é dito multiprotocolo.

– Camada de transporte: gateway de transporte.

Exemplo: TCP e SNA.

– Camada de aplicação: gateway de aplicação.

Diferença entre o caso comutado e o caso roteado.

– No switch, o quadro inteiro é transportado, de acordo com o

endereço MAC.

Não precisa conhecer o protocolo de camada de rede que está sendo

usado para comutar os pacotes.

24 Gustavo S. Pavani

Como conectar redes - 2

– No roteador, o pacote é extraído do quadro e o endereço contido

no pacote é usado com o objetivo de definir para onde enviá-lo.

(a) Duas redes Ethernet conectadas por switch.

(b) Duas redes Ethernet conectadas por roteadores.

25 Gustavo S. Pavani

Circuitos virtuais concatenados - 1

No modelo de circuitos virtuais concatenados é

estabelecido uma conexão para um host de uma rede

distante, de forma semelhante ao modo como as conexões

normalmente são estabelecidas.

– A sub-rede percebe que o destino é remoto e cria um circuito

virtual até o roteador mais próximo da rede de destino.

– Em seguida, constrói um circuito virtual desse roteador até um

gateway exterior. Esse gateway registra a existência do circuito

virtual em suas tabelas e continua a construir um outro circuito

virtual até o roteador da próxima sub-rede.

– Esse processo continua até que o host de destino seja alcançado.

– Quando os pacotes de dados começam a fluir ao longo do

caminho, cada gateway transmite os pacotes que chegam, fazendo

a conversão entre os formatos de pacotes e números de circuito

virtuais, se necessário.

26 Gustavo S. Pavani

Circuitos virtuais concatenados - 2

Sequência de circuitos virtuais entre origem e destino

passando por um ou mais gateways.

– Funciona melhor se todas as redes têm aproximadamente as

mesmas propriedades.

27 Gustavo S. Pavani

Interconexão de redes sem conexões

Esse modelo não exige que todos os pacotes pertencentes

a uma mesma conexão percorram a mesma sequência de

gateways.

– Problemas de conversão de protocolo.

– Problemas de endereçamento. Exemplo: IP e SNA.

– Mas possibilita a interligação de sub-redes que não usam circuitos

virtuais.

28 Gustavo S. Pavani

Tunelamento

Quando os hosts de origem e destino estão no mesmo tipo

de rede, mas há uma rede de outro tipo entre eles, é

possível usar a técnica de tunelamento (tunneling).

– A rede intermediária pode ser considerada um grande túnel, que se

estende de um roteador multiprotocolo a outro.