Download - Aula 6 a camada de rede
A Camada de RedeA Camada de Rede
Redes de ComputadoresRedes de Computadores
Redes de ComputadoresRedes de Computadores
A Camada de Rede
Redes de ComputadoresRedes de Computadores A Camada de RedeA Camada de Rede
Camada de Aplicação
Camada de Transporte
Camada de Rede
Camada de Enlace de Dados
Camada de Física
Modelo de Referência TCP/IP
A Camada de RedeA Camada de Rede
Funções Principais
1. Prestar serviços à Camada de Transporte.
2. Estabelecer rotas da origem ao destino.
3. Selecionar rotas menos congestionadas
4. Compatibilizar problemas de comunicação em rotas que atravessem redes diferentes.
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
1. Prestação de serviços à Camada de Transporte
Em algumas redes as camadas de Rede e de Transporte estão em equipamentos distintos.
• Sub-rede• Interface concessionária/usuário• Define a responsabilidade da
concessionária
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
1. Prestação de serviços à Camada de Transporte
Objetivos:
• Os serviços devem ser independentes da tecnologia da sub-rede.
• Para a camada de Transporte, não interessa o número, tipo e topologia das sub-redes utilizadas.
• Os endereços da rede, passados para a camada de Transporte, devem ser uniformes.
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
1. Prestação de serviços à Camada de Transporte
Estrutura Interna da Camada de Rede:
Circuitos Virtuais (CVs)
Datagramas
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Estrutura Interna da Camada de Rede
Circuitos Virtuais
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Estrutura Interna da Camada de Rede
Circuitos Virtuais
CV com origem no roteador A e destino D:
No do CV Rota
0 A – B – C - D1 A – E – F – D2 A – B – F - D3 A – E – C - D4 A – E – C – B – F - D
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Estrutura Interna da Camada de Rede
Circuitos Virtuais - Características
• Os roteadores devem “lembrar” para onde enviar os pacotes de cada circuito virtual aberto que passa por ele. Cada roteador deve manter uma tabela para cada CV ativo.
• Os CVs A – B – C – D (com origem em A) e B – C – D (com origem em B) geram um conflito de rotas, o que exige um algoritmo para arbitrar esta situação.
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Estrutura Interna da Camada de Rede
Circuitos Virtuais - Características
• Cada pacote de bits deve conter:
O número do CV
O número de sequência
Soma de verificação
Sentido da transmissão, pois ela é full-duplex
Etc.
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Estrutura Interna da Camada de Rede
Datagramas - Características
• Os roteadores contém tabelas indicando as linhas de saída possíveis para uma determinada linha de entrada.
• Os datagramas devem conter o endereço de origem e de destino completos.
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Estrutura Interna da Camada de Rede
Circuitos Virtuais x Datagramas
Item Sub-rede de Datagramas Sub-rede de CVs
Configuração do circuito
Desnecessário Obrigatório
Endereçamento Cada pacote contém os endereços completos da origem e do destino
Cada pacote contém um número único de CV
Informações sobre a conexão
Não tem Cada CV estabelecido exige controle na tabela da sub-rede
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Estrutura Interna da Camada de Rede
Circuitos Virtuais x Datagramas
Item Sub-rede de Datagramas Sub-rede de CVs
Roteamento Cada pacote é roteado de forma independente
A rota é definida quando o CV é estabelecido e todos os pacotes seguem esta rota
Efeito de falhas no roteador
Nenhum, exceto para pacotes perdidos durante a queda
Todos os CVs que passam através do equipamento parado são encerrados
Controle de congestionamentos
Difícil Fácil
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Estrutura Interna da Camada de Rede
Circuitos Virtuais x Datagramas
Item Sub-rede de Datagramas Sub-rede de CVs
Onde está a complexidade das funções necessárias?
Na camada de Transporte Na camada de Rede
Qualidade de serviço
Difícil Fácil, se for possível alocar recursos suficientes com antecedência para cada CV
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
• Se a sub-rede utiliza datagramas internamente, a cada pacote que chega deve ser decidida qual a rota a seguir.
• Se a sub-rede utiliza CVs, somente a cada nova conexão a decisão da rota será tomada.
• Independente do algoritmo de roteamento adotado, ele deve observar algumas propriedades básicas para que o algoritmo seja utilizável.
2. Roteamento
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Propriedades de um Algoritmo de Roteamento
2. Roteamento
Correção Funcionar sem erros.
Simplicidade De fácil entendimento e manutenção.
Estabilidade Em condições normais, manter constante sua
forma de operação.
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Propriedades de um Algoritmo de Roteamento
2. Roteamento
Robustez Isolar uma rede de grande porte de falhas de
hardware e de software, do número de hosts, do número de roteadores, do número de linhas e de mudanças na topologia, não exigindo a reinicialização da rede a cada ocorrência de falha.
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Propriedades de um Algoritmo de Roteamento
2. Roteamento
Equidade Ser imparcial.
Otimização Obter a melhor situação possível.
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Classes de Algoritmos de Roteamento
2. Roteamento
• Adaptativos
• Não adaptativos
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Classes de Algoritmos de Roteamento
2. Roteamento
Adaptativos
Baseiam suas decisões de roteamento em medidas, ou estimativas, do tráfego da rede e na topologia.
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Classes de Algoritmos de Roteamento
2. Roteamento
Não Adaptativos
Baseiam suas decisões de roteamento no algoritmo, independentemente do tráfego na rede, e com base na topologia atual.
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Exemplos de Algoritmos de Roteamento
2. Roteamento
Roteamento pelo caminho mais curto
O conceito de caminho mais curto entre uma origem e um destino pode variar, dependendo do
• Menor número de hops
• Menor distância geográfica
• Menor tempo para percorrer o caminho
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Exemplos de Algoritmos de Roteamento
2. Roteamento
Roteamento por inundação (flooding)
Cada pacote de entrada é enviado para todas as linhas de saída, exceto para aquela em que chegou (conexões ponto-a-ponto).
Este algoritmo gera uma vasta quantidade de pacotes duplicados, e há a necessidade de uma técnica para minimizar este efeito.
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Exemplos de Algoritmos de Roteamento
2. Roteamento
Roteamento por inundação (flooding)
Uma das técnicas possíveis é a adoção de contador de hops no cabeçalho do pacote, o qual é decrementado cada vez que o pacote passa por um roteador. Quando o contador zerar, o pacote é descartado.
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Exemplos de Algoritmos de Roteamento
2. Roteamento
Roteamento por estado de enlace
Este algoritmo prevê que cada roteador da sub-rede deve fazer o seguinte:
1.Descobrir seus vizinhos e aprender seus endereços de rede.
2.Medir o retardo, ou o custo, até cada um de seus vizinhos.
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Exemplos de Algoritmos de Roteamento
2. Roteamento
Roteamento por estado de enlace
1. Criar um pacote que informe tudo o que ele acabou de aprender.
2. Enviar esse pacote a todos os outros roteadores.
3. Calcular o caminho mais curto até cada um dos outros roteadores.
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Exemplos de Algoritmos de Roteamento
2. Roteamento
Roteamento hierárquico
À medida em que as redes aumentam de tamanho, as tabelas de roteamento dos roteadores crescem proporcionalmente.
Não apenas a memória do roteador é consumida por tabelas cada vez maiores, mas também é necessário dedicar maior tempo da CPU para percorrê-las e mais largura de banda para enviar as informações dos status delas.
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Exemplos de Algoritmos de Roteamento
2. Roteamento
Roteamento hierárquico
O roteamento hierárquico resolve esta situação, como já ocorre na rede telefônica.
Neste caso, os roteadores são divididos por regiões, com cada roteador conhecendo todos os detalhes sobre como rotear pacotes para destinos dentro de sua própria região, mas sem conhecer nada sobre a estrutura interna das outras regiões.
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Exemplos de Algoritmos de Roteamento
2. Roteamento
Roteamento por difusão (broadcasting)
Em algumas aplicações, os hosts precisam enviar mensagens a muitos outros hosts (ou a todos os outros hosts).
Por exemplo, para um relatório sobre o tempo, para a atualização do mercado de ações ou para programas de rádio é preciso enviar as informações por difusão a todas as máquinas que queiram recebê-las.
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Roteamento para hosts móveis
2. Roteamento
Redes de ComputadoresRedes de Computadores
Os hosts móveis trouxeram um problema novo para as redes: antes de rotear um pacote para um host móvel é preciso localizá-lo.
A Camada de RedeA Camada de Rede
É uma barreira de proteção entre o tráfego corporativo e as redes externas.
Firewall
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
O Firewall é o único caminho de entrada e de saída da rede corporativa para as redes externas.
Firewall
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Roteadores:
Firewall
• Verificam se os pacotes obedecem a critérios pré-estabelecidos. Por exemplo:
Porta 23 para operações via Telnet.
Porta 78 para acesso à rede X.
Não aceitar tráfego UDP.
Etc.
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Gateway:
Firewall
Atua na camada de Aplicação. Por exemplo:
• Correio eletrônico (tamanho da mensagem, conteúdo, etc.)
• Pacotes incompletos.
• Etc.
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Visa garantir que a sub-rede seja capaz de transportar o tráfego demandado.
É uma questão global que envolve o comportamento de todos os hosts, todos os roteadores, todos os buffers nos roteadores e tudo o que está envolvido no processo de comunicação.
3. Controle de Congestionamento
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
3. Controle de Congestionamento
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Na situação de congestionamento os roteadores não conseguem dar vazão aos pacotes recebidos e perdem parte deles. No limite, nenhum pacote é entregue.
3. Controle de Congestionamento
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Causas possíveis:
3. Controle de Congestionamento
• Roteadores lentos ou sobrecarregados.
• A vazão das linhas de entrada é maior que aquela das linhas de saída.
• Várias linhas de entrada direcionam pacotes para uma única linha de saída, e não buffers suficientes no roteador para armazenar os pacotes.
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Causas possíveis:
3. Controle de Congestionamento
• Quando o roteador de destino descarta um pacote por estar congestionado, o roteador de origem retransmite o pacote várias vezes até que ele seja aceito pelo roteador de destino, gerando mais congestionamentos no destino e na origem.
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
3. Controle de Congestionamento
A solução do congestionamento tem de ser global para a rede e não somente para um roteador isolado.
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
As soluções podem ser agrupadas em duas categorias:
3. Controle de Congestionamento
Loops Abertos
Loops Fechados
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Soluções em Loops Abertos:
3. Controle de Congestionamento
• Tentam resolver o problema com um bom projeto.
• Uma vez que o sistema esteja em operação, não são feitas correções nos processos ativos.
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Soluções em Loops Abertos:
3. Controle de Congestionamento
• Ferramentas utilizadas:
Decidir quando aceitar mais tráfego.
Decidir quando e quais pacotes serão descartados.
Programar decisões nos pontos da rede.
As ações são efetivadas sem levar em conta o estado atual da rede.
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Soluções em Loops Fechados:
3. Controle de Congestionamento
• Monitorar o sistema para detectar quando e onde ocorreu congestionamento.
• Enviar essas informações para lugares onde alguma providência possa ser tomada.
• Ajustar a operação do sistema para corrigir o problema.
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
3. Controle de Congestionamento
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Prevenção de Congestionamento em Loops Fechados:
3. Controle de Congestionamento
Caso esta conexão estivesse programada para passar por um dos roteadores congestionados pode-se redesenhar a sub-rede, para evitar esta situação.
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
3. Controle de Congestionamento
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
3. Controle de Congestionamento
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Um datagrama IP consiste de duas partes:
O Protocolo IP
O cabeçalho contém as informações de controle do IP, e o campo de texto contém um segmento do arquivo transmitido.
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Cabeçalho:
O Protocolo IPv4
Redes de ComputadoresRedes de Computadores
A Camada de RedeA Camada de Rede
Cabeçalho:
• IHL: tamanho do cabeçalho, em quantidade de palavras de 32 bits.
• Tipo de serviço: o host informa à sub-rede os padrões de confiabilidade e velocidade desejados.
Redes de ComputadoresRedes de Computadores
O Protocolo IPv4
A Camada de RedeA Camada de Rede
Cabeçalho:
• DF (Don’t Fragment): não fragmente o datagrama pois a máquina de destino não poderá recompô-lo.
•MF (More Fragments): todos os fragmentos de um datagrama possuem este flag, exceto o último.
• FO (Fragment Offset): número do fragmento de um determinado datagrama.
Redes de ComputadoresRedes de Computadores
O Protocolo IPv4
A Camada de RedeA Camada de Rede
Cabeçalho:
• Protocolo: informa à camada de Rede o processo de Transporte que deverá ser aplicado ao datagrama: TCP ou UDP.
Redes de ComputadoresRedes de Computadores
O Protocolo IPv4
A Camada de RedeA Camada de Rede
Cabeçalho:
•Opções:
Nível de segurança do datagrama.
Sequência de endereços IP entre a origem e o destino.
Lista mínima de roteadores pelos quais o pacote deve percorrer.
Redes de ComputadoresRedes de Computadores
O Protocolo IPv4
A Camada de RedeA Camada de Rede
Cabeçalho:
•Opções (continuação):
Os roteadores ao longo do trajeto devem anexar seu endereço IP ao campo “Opções” para análise do administrador da rede.
Timestamp – Os roteadores ao longo do trajeto devem anexar a data e a hora na qual o pacote transitou por eles.
Etc.
Redes de ComputadoresRedes de Computadores
O Protocolo IPv4
A Camada de RedeA Camada de Rede
Com a crescente utilização da Internet pelas indústrias, pelo setor de serviços, pelo setor educacional, pelo governo, pelos centros de pesquisa, pelas pessoas em geral e, proximamente, pelos dispositivos entre si (Internet das Coisas), o IPv4 precisou evoluir para se tornar mais flexível e abrangente, surgindo, assim, o
IPv6
Redes de ComputadoresRedes de Computadores
O Protocolo IPv6
A Camada de RedeA Camada de Rede
Principais objetivos:
Aceitar bilhões de hosts, mesmo com alocação de espaço de endereços ineficiente (o IPv6 tem endereços mais longos que o IPv4, com 16 bytes).
Reduzir o tamanho das tabelas de roteamento.
Simplificar o protocolo, de modo a permitir que os roteadores processem os pacotes com mais rapidez.
Oferecer mais segurança (autenticação e privacidade) do que o IPv4.
Redes de ComputadoresRedes de Computadores
O Protocolo IPv6
A Camada de RedeA Camada de Rede
Principais objetivos:
Dar mais importância ao tipo de serviço, particularmente no caso de dados em tempo real.
Permitir multidifusão.
Permitir que um host mude de lugar sem precisar mudar o endereço.
Permitir que o protocolo evolua no futuro.
Permitir a coexistência entre protocolos novos e antigos durante anos.
Redes de ComputadoresRedes de Computadores
O Protocolo IPv6
A Camada de RedeA Camada de Rede
Cabeçalho:
Redes de ComputadoresRedes de Computadores
O Protocolo IPv6
A Camada de RedeA Camada de Rede
Versão
Especifica o número da versão do protocolo. Para o IPv6 ela é 0110. Este é o único campo que tem o mesmo significado e posição no cabeçalho tanto para o IPv4 quanto para o IPv6.
Prioridade
Especifica a prioridade do pacote de dados.
Redes de ComputadoresRedes de Computadores
O Protocolo IPv6
A Camada de RedeA Camada de Rede
Rótulo de Controle
Designa pacotes que precisam de tratamento especial. Um de seus usos é para prover qualidade de serviço: largura de banda necessária, tempos de retardo máximos, etc.
Redes de ComputadoresRedes de Computadores
O Protocolo IPv6
A Camada de RedeA Camada de Rede
Comprimento dos Dados do Usuário
Especifica o comprimento dos dados do usuário que seguem o cabeçalho.
Próximo Cabeçalho
Especifica o tipo de cabeçalho que segue o cabeçalho do IPv6. Outros cabeçalhos podem ser inseridos entre os cabeçalhos IPv6 e o TCP (ou UDP): cabeçalho para autenticação, para criptografia, etc.
Redes de ComputadoresRedes de Computadores
O Protocolo IPv6
A Camada de RedeA Camada de Rede
Limite de Hops
Especifica o número máximo de vezes que o pacote de dados pode passar de um roteador para outro sem atingir seu destino.
Redes de ComputadoresRedes de Computadores
O Protocolo IPv6