Redes de Computadores
Redes de Computadores
Revisão
Revisão
A Camada de Rede
A Camada de Rede
Parte 5
Parte 5
2011 2011Camada de Aplicação Camada de Transporte
Modelo de Referência TCP/IP
Camada de Rede
Camada de Enlace de Dados Camada de Física
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 4. Compatibilizar problemas de comunicação em
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
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.
tipo e topologia das sub-redes utilizadas.
• Os endereços da rede, passados para a camada de Transporte, devem ser uniformes.
1. Prestação de serviços à Camada de Transporte
Estrutura Interna da Camada de Rede:
Circuitos Virtuais (CVs)
Estrutura Interna da 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 - D 1 A – E – F – D 2 A – B – F - D 3 A – E – C - D
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.
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.
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 O número de sequência Soma de verificação
Sentido da transmissão, pois ela é full-duplex Etc.
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. de destino completos.
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 Cada pacote contém um
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
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
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 necessárias?
Qualidade de serviço
Difícil Fácil, se for possível alocar
recursos suficientes com antecedência para cada CV
• 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.
2. Roteamento
conexão a decisão da rota será tomada.
• Independente do algoritmo de roteamento
adotado, ele deve observar algumas
Propriedades de um Algoritmo de Roteamento
2. Roteamento
Correção
Funcionar sem erros.
Simplicidade Simplicidade
De fácil entendimento e manutenção.
Estabilidade
Em condições normais, manter constante sua forma de operação.
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 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.
Propriedades de um Algoritmo de Roteamento 2. Roteamento Equidade Ser imparcial. Otimização Otimização
Classes de Algoritmos de Roteamento
2. Roteamento
• Adaptativos • Adaptativos
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.
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.
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 origem e um destino pode variar, dependendo do
• Menor número de hops
• Menor distância geográfica
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 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
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 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.
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:
rede deve fazer o seguinte:
1. Descobrir seus vizinhos e aprender seus endereços de rede.
Exemplos de Algoritmos de Roteamento
2. Roteamento
Roteamento por estado de enlace
3. Criar um pacote que informe tudo o que ele acabou de aprender.
acabou de aprender.
4. Enviar esse pacote a todos os outros roteadores.
5. Calcular o caminho mais curto até cada um dos outros roteadores.
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 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
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.
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.
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 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
Roteamento para hosts móveis
2. Roteamento
Os hosts móveis trouxeram um problema novo para as redes: antes de rotear um pacote para um host móvel é preciso localizá-lo.
É uma barreira de proteção entre o tráfego corporativo e as redes externas.
Firewall
O Firewall é o único caminho de entrada e de saída da rede corporativa para as redes externas.
Roteadores:
Firewall
• Verificam se os pacotes obedecem a
critérios pré-estabelecidos. Por exemplo:
Porta 23 para operações via Telnet. Porta 23 para operações via Telnet. Porta 78 para acesso à rede X.
Gateway:
Firewall
Atua na camada de Aplicação. Por exemplo:
• Correio eletrônico (tamanho da mensagem,
conteúdo, etc.) conteúdo, etc.) • Pacotes incompletos. • Etc. Firewall Roteador Roteador Gateway
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
3. Controle de Congestionamento
comportamento de todos os hosts, todos os roteadores, todos os buffers nos roteadores e tudo o que está envolvido no processo de comunicação.
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.
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. 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.
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é origem retransmite o pacote várias vezes até que ele seja aceito pelo roteador de destino, gerando mais congestionamentos no destino e na origem.
3. Controle de Congestionamento
A solução do congestionamento tem de ser global para a rede e não somente para um roteador isolado.
As soluções podem ser agrupadas em duas categorias: 3. Controle de Congestionamento Loops Abertos Loops Fechados Loops Fechados
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 • Uma vez que o sistema esteja em operação, não
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.
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 • Enviar essas informações para lugares onde
alguma providência possa ser tomada.
• Ajustar a operação do sistema para corrigir o
3. Controle de Congestionamento
Congestionamento
B
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 pode-se redesenhar a sub-rede, para evitar esta situação.
3. Controle de Congestionamento
Congestionamento
B
3. Controle de Congestionamento
B
A
Um datagrama IP consiste de duas partes:
O Protocolo IP
Cabeçalho Texto
O cabeçalho contém as informações de controle do IP, e o campo de texto contém um segmento do arquivo transmitido.
Cabeçalho: O Protocolo IPv4 Versão do protocolo Identificação do datagrama FO Comprimento total do datagrama IHL Tipo de serviço MF DF Tempo de vida
Protocolo Soma de verificação Tempo de vida
(em hops) Protocolo Soma de verificação
Endereço de origem
Endereço de destino
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.
O Protocolo IPv4
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.
O Protocolo IPv4
datagrama possuem este flag, exceto o último.
• FO (Fragment Offset): número do fragmento de um determinado datagrama.
Cabeçalho:
• Protocolo: informa à camada de Rede o processo de Transporte que deverá ser aplicado ao datagrama: TCP ou UDP.
Cabeçalho:
• Opções:
Nível de segurança do datagrama.
Sequência de endereços IP entre a origem e o
O Protocolo IPv4
Sequência de endereços IP entre a origem e o destino.
Lista mínima de roteadores pelos quais o pacote deve percorrer.
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.
O Protocolo IPv4
administrador da rede.
Timestamp – Os roteadores ao longo do trajeto devem anexar a data e a hora na qual o pacote transitou por eles.
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
O Protocolo IPv6
(Internet das Coisas), o IPv4 precisou evoluir para se tornar mais flexível e abrangente, surgindo, assim, o
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.
O Protocolo IPv6
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)
Principais objetivos:
Dar mais importância ao tipo de serviço, particularmente no caso de dados em tempo real.
Permitir multidifusão.
O Protocolo IPv6
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.
Cabeçalho:
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.
O Protocolo IPv6
Prioridade
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.
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
O Protocolo IPv6
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.
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.