teleprocessamento e redes capítulo 4: camada de rede prof. fábio m. costa inf / ufg
TRANSCRIPT
Teleprocessamento e Redes
Capítulo 4:
Camada de Rede
Prof. Fábio M. Costa
INF / UFG
Prof. Fábio M. Costa - INF / UFG2
Visão Geral
Serviço oferecidos pela camada de rede Organização interna da camada de rede Algoritmos de roteamento – visão geral Controle de congestionamento Interconexão de redes A camada de rede na Internet A camada de rede em redes ATM – visão
geral
Prof. Fábio M. Costa - INF / UFG3
No contexto da pilha de protocolos...
Prof. Fábio M. Costa - INF / UFG4
Função básica da Camada de Rede
Determinar caminhos para a transmissão de pacotes Conduzir pacotes através da rede, passando por
vários nodos, da origem até o destino– Nodo: Roteador ou Host
Primeira camada que se ocupa com transmissão de dados fim-a-fim
Origem Destino
R1
R2
R3R4
R5
Sub-rede
Prof. Fábio M. Costa - INF / UFG5
Fução básica da Camada de Rede (2)
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
applicationtransportnetworkdata linkphysical
applicationtransportnetworkdata linkphysical
Prof. Fábio M. Costa - INF / UFG6
Pressupostos básicos
Conhecimento da topologia da rede Capacidade de escolher caminhos
otimizados Evitar a sobrecarga de certos enlaces ou
roteadores Lidar com as incompatibilidades entre redes
diferentes– Quando origem e destino se encontram em redes
com características diferentes
Prof. Fábio M. Costa - INF / UFG7
Serviço oferecido pela Camada de Rede
Requisitos fundamentais:– Independentes da tecnologia da rede subjacente– Isolar a Camada de Transporte das questões
relativas ao tamanho, tipo e topologia das sub-redes presentes
– Usar um esquema de endereçamento uniforme
Dois tipos mutuamente excludentes de serviços:– Serviço orientado a conexões– Serviço sem conexões
Prof. Fábio M. Costa - INF / UFG8
Serviço sem conexões
Defendido pela comunidade ligada à Internet Argumentos principais:
– A função da sub-rede é mover bits de um lado para o outro
SEND_PACKET, RECEIVE_PACKET
– A sub-rede é inerentemente não-confiável, independentemente de seu design
Hosts devem aceitar o fato, sendo que os mesmos são responsáveis pelo controle de erros e de fluxo
Tornar a sub-rede o mais simples possível Movendo a complexidade adicional para os
hosts (computadores dos usuários)
Prof. Fábio M. Costa - INF / UFG9
Serviço orientado a conexões
Defendido pela comunidade ligada às companhias telefônicas
Principais argumentos:– Sub-rede deve prover um serviço confiável
Funções como controle de erros e de fluxo são realizadas pela sub-rede
– Usuários (hosts) não devem se preocupar com estes “detalhes”
Apropriado no caso de terminais “burros”: telefone
Remove a complexidade dos hosts Sub-rede mais complexa
Prof. Fábio M. Costa - INF / UFG10
Organização interna da Camada de Rede
Rede baseada em Circuitos Virtuais
X
Rede baseada em Datagramas
Circuitos Virtuais (VC)– rota fixa no estabelec. da
conexão– roteadores mantém
tabela de VCs ativos– análogo ao sistema
telefônico
Datagramas– rota determinada para
cada pacote individual– pacotes podem seguir
rotas diferentes– análogo ao sistema
postal
Prof. Fábio M. Costa - INF / UFG11
Sub-rede baseada em Circuitos Virtuais
Cada roteador mantém uma tabela de VCs:– Uma entrada para cada VC passando por ele– Indicando a interface de rede através da qual
pacotes de cada VC devem ser encaminhados
Cada VC recebe um número único no contexto de um roteador– O mesmo VC pode ser identificado através de
números diferentes em roteadores distintos
Pacotes são identificados pelo número do VC ao qual pertencem
Prof. Fábio M. Costa - INF / UFG12
Sub-rede baseada em Circuitos Virtuais (2)
Protocolo de sinalização– Usado para o estabelecimento de circuitos virtuais– Antes que transferência de dados real possa ocorrer
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
5. Data flow begins 6. Receive data
1. Initiate call 2. incoming call
3. Accept call4. Call connected
Prof. Fábio M. Costa - INF / UFG13
Sub-rede baseada em Datagramas
Cada roteador mantém uma tabela indicando:– A interface de rede através da qual cada roteador
existente pode ser atingido Interface usada para encaminhar pacotes destinados
àquele roteador específico
– Tabela de rotas
Pacotes (datagramas) devem conter o endereço completo do destino– Roteadores usam este endereço para verificar, em
suas tabelas de rotas, qual interface usar para encaminhar cada pacote recebido
Prof. Fábio M. Costa - INF / UFG14
Sub-rede baseada em Datagramas (2)
Não é necessário tempo inicial de preparação da conexão
Dados começam a ser transmitidos imediatamente
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1. Send data 2. Receive data
Prof. Fábio M. Costa - INF / UFG15
Circuitos Virtuais e Datagramas:Comparação
Aspecto Sub-rede baseada em Datagramas
Sub-rede baseada em VCs
Estabelecimento de circuito
Não necessário Necessário. Overhead inicial
Endereçamento Cada pacote contém o endereço completo do destino
Cada pacote contém um pequeno número identificando o VC
Informação de estado
Sub-rede stateless Cada VC requer uma entrada na tabela de VCs
Roteamento Cada pacote roteado independente
Rota escolhida quando do estabelecim. do VC
Efeito de falhas de roteadores
Nenhum. Pacotes podem seguir outra rota
VCs passando pelo roteador são terminados
Controle de congestionamento
Difícil Resolvido com a reserva de buffers para cada VC
Prof. Fábio M. Costa - INF / UFG16
Estrutura Interna da Sub-rede e Tipos de Serviço
Tipo de sub-rede
Tipo de serviço
(camada superior) Datagrama Circuito Virtual
Sem-conexãoUDP
sobre
IP
UDP
sobre
IP
sobre
ATM
Orientado a conexãoTCP
sobre
IP
ATM AAL1
sobre
ATM
Prof. Fábio M. Costa - INF / UFG17
Roteamento
Principal função da camada de rede– Pacotes passam por múltiplos nós intermediários
até chegar ao destino– Achar o “melhor” dentre vários caminhos
alternativos (de acordo com algum critério)– Em redes de difusão (broadcast):
Dispensa roteamento internamente Mas não se origem e destino estiverem em redes
diferentes
Prof. Fábio M. Costa - INF / UFG18
Algoritmos de Roteamento
Parte do software de camada de rede responsável por decidir o caminho a ser seguido pelos pacotes– Geralmente executado passo-a-passo
Em redes baseadas em Datagrama:– Roteamento é (ou pode ser) feito individualmente
para cada pacote
Em redes baseadas em Circuito Virtual:– Roteamento por sessão: caminho fixo seguido
por todos os pacotes de um mesmo VC
Prof. Fábio M. Costa - INF / UFG19
Algoritmos de Roteamento: Propriedades desejáveis
Corretude– Caminhos calculados deve conduzir ao destino
endereçado Simplicidade
– Facilidade de implementação e baixo custo computacional
Robustez– Funcionar continuamente, a despeito de falhas de
nodos (roteadores), mudanças de topologia da rede, variações nos padrões de tráfego
– Algoritmo distribuído
Prof. Fábio M. Costa - INF / UFG20
Algoritmos de Roteamento: Propriedades desejáveis (2)
Estabilidade– O algoritmo deve convergir (de maneira
determinística, de preferência)
Justiça (Fairness)– O algoritmo não deve favorecer alguns nodos
(roteadores) em detrimento de outros distribuição de carga deve ser balancea entre os nodos oportunidade de transmissão de pacotes deve ser igual
para todos os nodos (hosts).
Optimalidade– Em nível global da rede Vs. no nível de cada sessão
Prof. Fábio M. Costa - INF / UFG21
OBS.: Justiça Vs. Optimalidade
Optimizar throughput de tráfego global– Sessões independentes entre: A e A´, B e B´, C e C´
Vs. Justiça para com todos os hosts
– Comunicação entre X e X´ pode ficar prejudicada
Prof. Fábio M. Costa - INF / UFG22
Critérios para otimização
Duas metas conflitantes:1) Minimizar o atraso médio de transmissão (fim-a-
fim) de pacotes
2) Maximizar o throughput global da rede– Meta (2) requer que a rede opere no limite de
sua capacidade Com as filas de pacotes nos roteadores sempre cheias
– Filas mais longas: aumenta-se o tempo que cada pacote tem que esperar para ser roteado Conseqüentemente, aumenta-se o atraso fim-a-fim
dos pacotes
Prof. Fábio M. Costa - INF / UFG23
Otimização: Solução de compromisso
Minimizar o número de roteadores intermediários que um pacote tem que
percorrer Tende a melhorar o atraso fim-a-fim Reduz a quantidade de largura de banda
consumida por cada sessão de comunicação– Tende a melhorar o throughput global da rede
Rede capaz de suportar mais sessões
Prof. Fábio M. Costa - INF / UFG24
Categorias de Algoritmos de Roteamento
Algoritmos não-adaptativos (ou estáticos)– Caminhos são computados previamente (off-line) e
então descarregados nos roteadores
Algoritmos adaptativos– Rotas são computadas dinamicamente– Cálculo de rotas é feito periodicamente, baseado
nas condições atuais da rede Análise de variáveis em âmbito local ou global Métricas: distância, número de hops, estimativa de delay Refletindo mudanças na topologia e nas características
de tráfego
Prof. Fábio M. Costa - INF / UFG25
Princípio da Optimalidade
Se o roteador J está no caminho ótimo do roteador I para o roteador K, então o caminho ótimo de J para K também segue a mesma rota
I J K
Melhor caminho de I para K
Melhor caminho de J para K
Prof. Fábio M. Costa - INF / UFG26
Árvore de “sorvedouro”
O conjunto de rotas ótimas de todas os nodos-origem para um dado nodo de destino forma uma árvore cuja raiz é o nodo de destino
Pode haver mais do que uma árvore de sorvedouro para uma mesma rede
Prof. Fábio M. Costa - INF / UFG27
Árvore de “sorvedouro” (2)
Cada roteador pode ter uma visão diferente da árvore– Ex.: devido a mudanças na topologia da rede, as
quais podem não ser percebidas por todos os roteadores ao mesmo tempo
Mecanismo usado pelos roteadores para obter informações de topologia para montar a árvore: dependente de protocolo
Provê um modelo genérico para algoritmos de roteamento (juntamente com o princípio da optimalidade)
Prof. Fábio M. Costa - INF / UFG28
Roteamento por Caminho Mais Curto
Constrói-se um grafo da sub-rede– nodos representando roteadores– arestas representando enlaces de comunicação
Melhor rota entre um dado par de roteadores
Rota mais curta entre os dois nodos correspondentes no grafo
Prof. Fábio M. Costa - INF / UFG29
Métricas para se calcular o custo de um caminho
Número de saltos (hops) ou enlaces intermediários
Distância geográfica Tempo médio de enfileiramento e
transmissão nos roteadores Largura de banda dos enlaces Carga de tráfego nos enlaces Custo monetário da comunicação
Ou uma função de várias destas métricas
Prof. Fábio M. Costa - INF / UFG30
Exemplo
Métrica: número de saltos:– rota ABCD (3 saltos) melhor que rota ABEFHD (5 saltos)
Métrica: distância geográfica:– rota ABEFHD (dist.=10) melhor que rota ABCD (dist.=12)
Prof. Fábio M. Costa - INF / UFG31
Algoritmo de Djikstra† para caminhos mínimos
Cada nodo é rotulado com sua distância a partir do nodo origem da rota– ao longo da melhor rota conhecida até então
Inicialmente:– Nenhuma rota é conhecida– Todos os nodos são rotulados com distância
infinita
À medida em que o algoritmo prossegue, rótulos podem mudar, refletindo melhores caminhos encontrados
Prof. Fábio M. Costa - INF / UFG32
Algoritmo de Djikstra† para caminhos mínimos (2)
Rótulo:– tentativo: não se sabe se reflete a melhor rota– permanente: rótulo representa a melhor rota
I.e., nodo correspondente faz parte da melhor rota
Inicialmente, todos os rótulos são tentativos Ao se descobrir que o rótulo de um nodo
representa a melhor rota da origem até tal nodo, este rótulo é tornado permanente– Não pode ser mais alterado
Repete até chegar ao nodo de destino
Prof. Fábio M. Costa - INF / UFG33
Exemplo: Rota mais curta de A para D
Prof. Fábio M. Costa - INF / UFG34
Roteamento Hierárquico
Rede é dividida em regiões Algoritmo de roteamento é executado
independentemente em cada região Apenas os nodos (roteadores) que conectam
uma região à outra têm conhecimento de regiões externas
Melhor escalabilidade
Prof. Fábio M. Costa - INF / UFG35
Roteamento Hierárquico: Exemplo
Prof. Fábio M. Costa - INF / UFG36
Roteamento para Hosts Móveis
Prof. Fábio M. Costa - INF / UFG37
Controle de Congestionamento
Quando o número de pacotes presentes na rede está acima de sua capacidade
Tráfego ligeiramente acima do limite:
– Roteadores começam a perder pacotes
Tráfego muito acima do limite:
– Colapso
Prof. Fábio M. Costa - INF / UFG38
Congestionamento: Principais causas
Vazão de pacotes que chegam em um roteador é maior do que a vazão de saída de pacotes
– Ex.: tráfego chegando por várias linhas, mas com uma única linha de saída
– Overflow do buffer (fila) do roteador
Fila
Roteador
Prof. Fábio M. Costa - INF / UFG39
Congestionamento: Principais causas (2)
Baixa capacidade de processamento nos roteadores– Roteador não consegue processar todo o tráfego
que chega– Overflow das filas do roteador
Enlaces de baixa capacidade– Efeito semelhante
Melhorar em um ponto apenas não resolve o problema– Deve-se eliminar todos os “gargalos” na rede
Prof. Fábio M. Costa - INF / UFG40
Congestionamento: Principais causas (3)
Processo de re-alimentação– Congestionamento causa o descarte de pacotes– Pacotes descartados são retransmitidos– Aumentando o congestionamento ainda mais
Prof. Fábio M. Costa - INF / UFG41
Controle de Congestionamento: Princípios gerais
Soluções de loop aberto:– Prevenção de congestionamento através de um
bom design da rede e de seus protocolos– Técnicas mai comun:
Controle de admissão de tráfego: quando aceitar novas conexões ou pacotes para transmitir
Decisões de escalonamento apropriadas: balancear a carga entre os roteadores da rede
– Técnica essencialmente preventiva
Prof. Fábio M. Costa - INF / UFG42
Controle de Congestionamento: Princípios gerais (2)
Soluções de loop fechado:– Baseadas em retro-alimentação (feedback)
Monitorar o sistema para detectar congestionamentos Informar hosts e roteadores p/ que tomem a ação
apropriada (ex.: reduzir envio de pacotes) Ajustar a operação do sistema para corrigir o problema
– Principais métricas: % de pacotes perdidos, tamanho médio das filas, % de
pacotes que sofrem timeouts, atraso médio dos pacotes
– Cuidar para não acentuar o congestionamento Não enviar pacotes de controle de congestionamento
desnecessariamente. Ex.: usar piggybacking
Prof. Fábio M. Costa - INF / UFG43
Controle de Congestionamento: Princípios gerais (3)
Aumentar temporariamente a quantidade de recursos da rede para lidar com a carga de tráfego extra– Fazendo-se valer da redundância incorporada à
rede para fins de tolerância a falhas Roteadores e enlaces redundantes
– Contratação temporária de mais recursos Aumentar a largura de banda dos enlaces
Medidas drásticas:– Recusa ou degradação do serviço prestado aos
usuários
Prof. Fábio M. Costa - INF / UFG44
Controle de Congestionamento: Onde aplicar
Essencialmente uma tarefa “fim-a-fim”
Em redes baseadas em circuitos virtuais– Na própria camada de Rede
Em redes baseadas em datagramas– Na camada de Transporte
Técnicas auxiliares podem ser empregadas na camada de Enlace
Prof. Fábio M. Costa - INF / UFG45
Políticas de Prevenção de Congestionamento
Prof. Fábio M. Costa - INF / UFG46
Modelamento de Tráfego
Tráfego de dados geralmente não segue um padrão de fluxo constante– Transmissão em “rajadas”– Torna mais difícil o controle de congestionamento
Modelamento de tráfego (traffic shaping):– Regular o tráfego de forma a:
Impor uma certa regularidade (eliminando rajadas) Controlar a taxa de transmissão
– Baseado em um acordo entre o usuário e a sub-rede
Prof. Fábio M. Costa - INF / UFG47
Modelamento de Tráfego (2)
Requer policiamento do tráfego pela sub-rede– Para verificar se o usuário está obedecendo o
acordo firmado inicialmente, quanto à: Taxa de transmissão (vazão) Regularidade do tráfego
– Mais simples de implantar em redes de circuito virtual
– Em redes de datagrama: implementado na camada de Transporte (fim-a-fim)
Prof. Fábio M. Costa - INF / UFG48
Controle de Congestionamento: Algoritmo do “Balde furado” (leaky bucket)
Prof. Fábio M. Costa - INF / UFG49
Resumo dos Tópicos Abordados
Serviço oferecido pela camada de Rede Protocolos de Roteamento Controle de Congestionamento Interconexão de Redes Camada de Rede na Internet
Prof. Fábio M. Costa - INF / UFG50
Interconexão de Redes
Diversidade de tecnologias de rede incompatíveis, mas que precisam ser interligadas
Prof. Fábio M. Costa - INF / UFG51
Dispositivos de interconexão de redes
Camada Dispositivo Funcionalidade
Física Repetidor Cópia de bits entre segmentos de cabo distintos
Enlace Ponte Armazenar e retransmitir quadros com base no endereço de destino
Rede Roteador multi-protocolo
Armazenar e retransmitir quadros, rotear pacotes, compatibilizar protocolos de rede diferentes
Transporte Gateway de transporte
Conectar duas redes no nível de transporte
Aplicação Gateway de aplicação
Conectar duas partes de uma mesma aplicação suportada por protocolos de aplicação diferentes
Prof. Fábio M. Costa - INF / UFG52
“Half- and Full Gateways”
Prof. Fábio M. Costa - INF / UFG53
Diferenças entre redes
Prof. Fábio M. Costa - INF / UFG54
Duas abordagens básicas para interconexão
Concatenação de circuitos virtuais Interconexão baseada em datagramas (i.e.,
sem conexão) Tunelamento (tunneling)
Prof. Fábio M. Costa - INF / UFG55
Concatenação de Circuitos Virtuais
Roteadores concatenam circuitos virtuais estabelecidos dentro das redes conectadas
Problemas ao conectar redes com características diferentes em relação à confiabilidade
Prof. Fábio M. Costa - INF / UFG56
Interconexão Baseada em Datagramas
Cada pacote tratado independentemente Pacotes podem seguir rotas diferentes, passando
por diferentes roteadores e redes
Prof. Fábio M. Costa - INF / UFG57
Problemas com Interconexão Baseada em Datagramas
Redes com protocolos diferentes– Pacotes de uma rede não podem trafegar na outra– Conversão de protocolos só faz sentido se os dois
protocolos forem suficientemente semelhantes
Esquemas de endereçamento diferentes– Ex.: endereços IP de 32 bits versus endereços
decimais utilizados pelo protocolo OSI CLNP– Conversão de endereços pode requerer grandes
bases de dados: difícil de gerenciar
Prof. Fábio M. Costa - INF / UFG58
Comparação
Concatenação de circuitos virtuais
– Reserva adiantada de buffers evita congestionamento
– Garante seqüência dos pacotes– Cabeçalhos mais curtos– Elimina duplicação de pacotes– Tabelas de VCs em memória– Rotas fixas– Vulnerável a falhas de
roteadores– Impossível de implementar se
alguma rede intermediária for baseada em datagramas
Interconexão baseada em datagramas
– Sujeito a congestionamentos– Roteamento adaptável– Robustez frente a falhas de
roteadores– Cabeçalhos mais longos– Pode ser empregado na
interconexão de redes baseadas em datagramas e redes de circuito virtual
Prof. Fábio M. Costa - INF / UFG59
Tunneling
Aplicável quando as redes de origem e destino da conexão são do mesmo tipo
– Mas os dados devem passar por redes intermédiárias com características diferentes
Pacote original (inteiro) é transmitido dentro do campo de payload de um pacote da rede intermediária
Na rede de destino, o pacote é removido e transmitido normalmente até seu endereço final
Técnica comum ao se conectar duas redes locais através de uma rede pública de longa distância
Prof. Fábio M. Costa - INF / UFG60
Tunneling (2)
Prof. Fábio M. Costa - INF / UFG61
Tunneling: Analogia
Prof. Fábio M. Costa - INF / UFG62
Roteamento Inter-Redes
Semelhante ao roteamento dentro de uma única rede
– Mas realizado de forma hierárquica Roteamento interno: dentro de cada rede Roteamento externo: entre as redes interconectadas
Prof. Fábio M. Costa - INF / UFG63
Roteamento entre Sistemas Autônomos
Cada rede interconectada pode ser independente das demais
Protocolo de roteamento próprio Diferentes políticas de administração do
tráfego– Ex.: Diferentes leis ao cruzar fronteiras nacionais
Diferentes mecanismos para atribuir custo ao serviço de transmissão de dados
Diferentes qualidades de serviço Faz do roteamento uma tarefa mais
complexa
Prof. Fábio M. Costa - INF / UFG64
Fragmentação de Pacotes
Diferentes redes possuem limites diferentes quanto ao tamanho máximo de pacotes
Problema ao se transmitir um pacote através de uma rede intermediária cujo tamanho máximo permitido seja menor– Se for uma rede intermediária, pode-se tentar
contorná-la– Se for a rede de destino, a única saída é
fragmentar o pacote em vários pacotes menores a serem transmitidos separadamente
Remontagem do pacote original no destino
Prof. Fábio M. Costa - INF / UFG65
Fragmentação de Pacotes: Transparente Vs. Não-Transparente
Prof. Fábio M. Costa - INF / UFG66
Fragmentação Transparente
Hosts não precisam se preocupar com a remontagem, que é feita pela rede
Todos os pacotes devem deixar a rede intermediária através do mesmo roteador– Para que o pacote original possa ser remontado– Não permite explorar rotas alternativas
Overhead gerado por sucessivas fragmentações e remontagens de pacotes
Prof. Fábio M. Costa - INF / UFG67
Fragmentação Não-Transparente
Hosts devem ser capazes de remotar os pacotes Aumenta o overhead de cabeçalho
– cada fragmento é um pequeno pacote com cabeçalho completo
Cada fragemento pode passar por uma rota diferente
Um dado fragmento pode necessitar fragementação– ao passar por uma rede com limite ainda mais estrito
Remontagem depende do esquema de numeração dos fragmentos
– que precisa ser robusto na presença de perdas de pacotes
Prof. Fábio M. Costa - INF / UFG68
Esquema de Numeração dos Fragmentos
Prof. Fábio M. Costa - INF / UFG69
Firewalls
Segregação de tráfego Impedir que tráfego expúrio entre na rede
– vírus, worms, hackers, spam
Impedir que informações valiosas deixem a rede de maneira não autorizada– informações confidenciais, segredos de negócio
Impedir tipos de acesso que podem trazer vulnerabilidades à rede– telnet
Prof. Fábio M. Costa - INF / UFG70
Estrutura de uma Firewall
Prof. Fábio M. Costa - INF / UFG71
Firewall: Filtro de Pacotes
Roteador equipado com funcionalidade adicional para:– aceitar ou descartar pacotes de acordo com
algum critério programado endereços de origens e destinos aceitáveis endereços de origens e destinos bloqueados protocolos de aplicação aceitáveis (ex.: web, e-mail)
Dois filtros, localizados em redes distintas– Impedindo comunicação direta entre a parte
externa e a parte interna da firewall– Filtro interno: checa pacotes que saem– Filtro externo: checa pacotes que chegam
Prof. Fábio M. Costa - INF / UFG72
Firewall: Gateway de Aplicação
Examina os dados que entram e saem da rede no nível das aplicações
Ex.: um gateway de e-mail examinaria o conteúdo das mensagens:– cabeçalho– texto da mensagem– tamanho da mensagem
Prof. Fábio M. Costa - INF / UFG73
Firewalls e Redes sem Fio
Firewalls são baseadas na suposição de que não há outros meios de comunicação entre a rede interna e a rede externa
Esta suposição é inválida no caso de redes sem fio
...
Prof. Fábio M. Costa - INF / UFG74
A Camada de Rede na Internet
O protocolo IP Endereços IP Sub-redes Protocolos de controle Protocolos de roteamento Multicasting IP Móvel Classless InterDomain Routing IPv6
Prof. Fábio M. Costa - INF / UFG75
A Camada de Rede na Internet
Prof. Fábio M. Costa - INF / UFG76
Modelo típico de comunicação
Camada de Transporte (TCP, UDP, etc.)
Camada de Rede (IP)
Stream de dados
...Datagramas
(≤64KB)
Camada de Transporte
Camada de Rede (IP)
Stream
...Datagramas
(≤64KB)
...
Fragmentosde datagramas
Prof. Fábio M. Costa - INF / UFG77
O Protocolo IP (Internet Protocol): Formato de Pacote
Ordem de Transmissão dos Bits (Big Endian)
Máx: 40 bytes (10 words)
Prof. Fábio M. Costa - INF / UFG78
Pacotes IP
Versão– Número da versão do protocolo IP utilizada– Atualmente: 4– Permite transição suave entre versões diferentes do
protocolo
Prof. Fábio M. Costa - INF / UFG79
Pacotes IP
IHL (Internet Header Length)– Comprimento do cabeçalho do pacote (em palavras de 32
bits)– Mínimo: 5 (20 bytes); Máximo: 15 (60 bytes)
Prof. Fábio M. Costa - INF / UFG80
Pacotes IP
Tipo de serviço– Permite solicitar vários tipos de serviço diferentes– 3 bits de precedência: prioridade do pacote (0: normal, 7:
máx.)– 3 bits de flags: Delay, Throughput, Reliability– Na prática, este campo é ignorado pelos roteadores
Prof. Fábio M. Costa - INF / UFG81
Pacotes IP
Comprimento total– Cabeçalho + Dados– Máx.: 65.535 bytes
Prof. Fábio M. Costa - INF / UFG82
Pacotes IP
Identificação– Usado no caso de datagramas fragmentados– Indica a qual datagrama o fragmento pertence Fragmentos são transmitidos como pacotes. Isto é, um datagrama pode ser transmitido em um ou mais
pacotes.
Prof. Fábio M. Costa - INF / UFG83
Pacotes IP
Bit DF (Don´t Fragment)– Impede que roteadores fragmentem um datagrama
Bit MF (More Fragments)– Indica se o fragmento é (0) ou não o último na seqüência de
fragmentos que compõem um datagrama
Prof. Fábio M. Costa - INF / UFG84
Pacotes IP
Fragment Offset– Indica a posição, dentro do datagrama original, onde tem início
o fragmento
Prof. Fábio M. Costa - INF / UFG85
Pacotes IP
Time to Live– Contador utilizado para limitar o tempo de vida de um pacote
na rede– Decrementado a cada roteador intermediário pelo qual um
pacote passa no percurso da origem até o destino– Evita que pacotes fiquem trafegando na rede indefinidamente
Prof. Fábio M. Costa - INF / UFG86
Pacotes IP
Protocol– Identifica o protocolo de Transporte que gerou os dados
contidos no pacote– Útil quando o IP vai entregar um datagrama à camada de
transporte no destino: que processo chamar– Cada protocolo de Transporte tem um número padrão (RFC
1700)
Prof. Fábio M. Costa - INF / UFG87
Pacotes IP
Header Checksum– Código de detecção de erros do cabeçalho– IP não checa erros na parte de dados do pacote– Deve ser re-computado em cada roteador intermediario:
cabeçalho pode mudar ao longo do caminho (campo time to live)
Prof. Fábio M. Costa - INF / UFG88
Pacotes IP
Endereços de Origem e de Destino– 32 bits– Identificam a origem e o destino do pacote
Prof. Fábio M. Costa - INF / UFG89
Pacotes IP
Campo de Opções
Prof. Fábio M. Costa - INF / UFG90
Endereços IP
Endereço único atribuído a computadores ou roteadores presentes na Internet
Composição:– Número da rede– Número da máquina (host)
Máquinas conectadas a mais de uma rede:– através de várias interfaces de rede– um endereço IP para identificar cada interface
5 Classes de endereços: A, B, C, D, E
Prof. Fábio M. Costa - INF / UFG91
Endereços IP
Prof. Fábio M. Costa - INF / UFG92
Endereços IP: Classes
Classe A– 126 redes com até 16 milhões de hosts cada
Classe B– 16.382 redes com até 64K hosts cada
Classe C– 2 milhões de redes com até 254 hosts cada
Classe D:– Endereços de multicast
Classe E: reservada para uso futuro
Prof. Fábio M. Costa - INF / UFG93
Endereços IP: Formato
Notação decimal pontuada Ex.: 192.41.6.20, 200.18.197.65 Primeiro e último números de cada rede:
– este host e broadcast na rede, respectivamente
Prof. Fábio M. Costa - INF / UFG94
Sub-redes
Partição de uma rede IP em várias redes– Efeito no endereçamento e roteamento interno– Externamente: visto como uma única rede
Permite um melhor aproveitamento de endereços de rede– Um mesmo número de rede IP pode ser
particionado em várias redes físicas (ex.: LANs)
Subnet mask– Indica quais bits do endereço identificam a sub-
rede e quais identificam uma máquina específica
Prof. Fábio M. Costa - INF / UFG95
Subnet Mask
Exemplo:– Rede classe C: 200.18.162.0– Subnet mask: 255.255.255.192– Divide a rede classe C original em 4 sub-redes:
200.18.162.0 a 63, 200.18.162.64 a127, 200.18.162.128 a 191, 200.18.162.192 a 255
1o. e último endereços: this host e broadcast na sub-rede
Prof. Fábio M. Costa - INF / UFG96
Processamento de Pacotes nos Roteadores: Sem Sub-redes
Cada roteador tem uma tabela de rotas, com dois tipos de entradas:– (rede, 0): rota para chegar a uma rede distante– (esta_rede, host): rota para máquinas locais
Rotas: interface de rede através da qual um pacote deve ser transmitido para chegar ao destino (rede ou host)
Rota default: utilizada quando o roteador não conhece a rede de destino do pacote
Prof. Fábio M. Costa - INF / UFG97
Processamento de Pacotes nos Roteadores: Com Sub-redes
Dois novos tipos de entradas na tabela de rotas:– (esta_rede, sub-rede, 0): rota para chegar a uma das
outras sub-redes– (esta_rede, sub-rede, host): rota para chegar a um host
na sub-rede onde está o roteador
Ao receber um pacote para encaminhamento (destinado a outra sub-rede):
– Endereço IP AND subnet mask: para isolar o número da rede e sub-rede e então fazer o lookup na tabela de rotas
Roteador não precisa manter rotas individuais para hosts em outras sub-redes
Prof. Fábio M. Costa - INF / UFG98
Tabela de rotas em um roteador de pequeno porte: Exemplo
fmc@zeus:~> netstat -rKernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface200.137.197.128 apollo.inf.ufg. 255.255.255.192 UG 40 0 0 eth1200.137.197.192 artemis.inf.ufg 255.255.255.192 UG 40 0 0 eth1200.137.197.0 * 255.255.255.192 U 40 0 0 eth1200.137.197.64 * 255.255.255.192 U 40 0 0 eth0default ares.inf.ufg.br 0.0.0.0 UG 40 0 0 eth1
fmc@zeus:~>
fmc@zeus:~> netstat -nrKernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface200.137.197.128 200.137.197.2 255.255.255.192 UG 40 0 0 eth1200.137.197.192 200.137.197.6 255.255.255.192 UG 40 0 0 eth1200.137.197.0 0.0.0.0 255.255.255.192 U 40 0 0 eth1200.137.197.64 0.0.0.0 255.255.255.192 U 40 0 0 eth00.0.0.0 200.137.197.1 0.0.0.0 UG 40 0 0 eth1fmc@zeus:~>
Prof. Fábio M. Costa - INF / UFG99
Topologia da rede
zeus.inf.ufg.br
eth0 eth1
200.137.197.64 200.137.197.0
apollo200.18.197.2
200.137.197.128
artemis200.18.197.6
200.137.197.192
ares.inf.ufg.br
200.137.197.1
UFGNetUFGNet
Prof. Fábio M. Costa - INF / UFG100
Outro exemplo de tabela de rotas: ares.inf.ufg.br
Destination Gateway Genmask Flags MSS Window irtt Iface
200.137.192.0 0.0.0.0 255.255.255.0 U 1500 0 0 eth0
200.137.197.0 0.0.0.0 255.255.255.192 U 1500 0 0 eth1200.137.197.64 200.137.197.11 255.255.255.192 UG 1500 0 0 eth1200.137.197.128 200.137.197.2 255.255.255.192 UG 1500 0 0 eth1200.137.197.192 200.137.197.6 255.255.255.192 UG 1500 0 0 eth1192.168.0.0 200.137.197.18 255.255.255.0 UG 1500 0 0 eth1192.168.40.0 200.137.197.18 255.255.255.0 UG 1500 0 0 eth10.0.0.0 200.137.192.1 0.0.0.0 UG 1500 0 0 eth0
Ver esboço da topologia da rede no próximo slide
Prof. Fábio M. Costa - INF / UFG101
Prof. Fábio M. Costa - INF / UFG102
Protocolos de Controle da Internet
Monitoramento, configuração e controle do funcionamento da camada de rede
Pacotes destes protocolos são encapsulados em pacotes IP para transmissão
ICMP ARP RARP BOOTP DHCP
Prof. Fábio M. Costa - INF / UFG103
ICMP – Internet Control Message Protocol
Usado pelos roteadores para:– Reportar eventos anômalos– Testar a rede
Exemplo: utilitário ping– Envia um pacote de requisição de “eco” e
aguarda a resposta– Efetua medições:
Tempo de resposta % de pacotes perdidos
Prof. Fábio M. Costa - INF / UFG104
ICMP: Tipos de mensagens
Prof. Fábio M. Costa - INF / UFG105
ARP – Address Resolution Protocol
Roteadores (camada de rede): utilizam endereços IP de 32 bits
LAN (camada de enlace): utiliza endereços MAC (ex.: endereços Ethernet de 48 bits)
Transmissão de um pacote na rede local:– Encapsular o pacote em um quadro Ethernet– Mapear o endereço IP em um endereço Ethernet
Protocolo ARP dispensa a necessidade de extensas tabelas de mapeamento
Normalmente não usado se destino em outra rede
Prof. Fábio M. Costa - INF / UFG106
ARP: Funcionamento
Host de origem do pacote IP efetua o broadcast de um pacote ARP contendo:– Endereço IP do host de destino– Endereços IP e Ethernet do host de origem
Host de destino responde com outro pacote ARP contendo seu próprio end. Ethernet– Aproveita o endereço Ethernet recebido do host de
origem
Mapeamentos de endereços são guardados em uma cache (para evitar outros broadcasts)
Prof. Fábio M. Costa - INF / UFG107
ARP: Exemplo
Prof. Fábio M. Costa - INF / UFG108
RARP – Reverse Address Resolution Protocol
Dado um endereço Ethernet, qual o endereço IP correspondente?
Útil ao inicializar uma estação sem disco (ou, mais genericamente, estações que não conhecem seu endereço IP)
– Tudo o que a estação conhece é seu endereço MAC– O endereço IP da estação pode mudar caso esta seja
movida para uma rede diferente Estação faz um broadcast RARP, contendo seu
endereço MAC (ex.: end. Ethernet de 48 bits) Servidor RARP responde com o endereço IP da
estação– Cada rede local deve ter um servidor RARP
Prof. Fábio M. Costa - INF / UFG109
Protocolos mais sofisticados para a configuração inicial de estações
BOOTP– Endereço IP da estação– Endereço IP do servidor de arquivos contendo a imagem de
memória de estações sem disco– Endereço IP do roteador default– Subnet mask a ser usada
DHCP (Dynamic Host Configuration Protocol)– Flexível quanto ao tipo de informação de configuração a ser
fornecido pelo servidor Utilizam broadcast no nível do protocolo UDP
– propagado pelos roteadores– permite que servidor BOOTP/DHCP esteja em uma rede
diferente
Prof. Fábio M. Costa - INF / UFG110
Protocolos de Roteamento na Internet
Rede dividida em:– Sistemas Autônomos (AS)– Backbone conectando os sistemas autônomos
Interior Gateway Routing Protocol– Usado dentro de um AS– OSPF – Open Shortest Path First
Exterior Gateway Routing Protocol– Usado no Backbone da Internet– BGP – Border Gateway Protocol
Prof. Fábio M. Costa - INF / UFG111
Estrutura deRoteamentona Internet
Prof. Fábio M. Costa - INF / UFG112
OSPF: Características Gerais
Protocolo de domínio público (aberto) Supore a diversas métricas diferentes
– distância física, atraso, etc.
Dinâmico: capaz de se adaptar a mudanças Roteamento baseado em tipo de serviço
– Ex.: pode escolher rotas diferentes para tráfego de tempo-real e tráfego não-tempo-real
Permite balanceamento de carga– Divide a carga entre rotas alternativas
Suporte a redes hierárquicas Suporte a medidas de segurança básicas
Prof. Fábio M. Costa - INF / UFG113
OSPF: Funcionamento Básico
Definir rotas ótimas dentro de um mesmo sistema autônomo
Roteadores adjacentes trocam informações de estado dos links (custo) entre si
– Atualizadas periodicamente
Cada roteador constrói sua visão (grafo) da rede– A partir da qual rotas “ótimas” são computadas– Rota: próximo nodo no caminho até o destino
Algoritmo hierárquico– Rede dividida em áreas ligadas por um backbone– Roteador na “borda” de uma área: rotas até o backbone– Rotas parciais são conectadas: área 1 + backbone + área 2
Prof. Fábio M. Costa - INF / UFG114
OSPF: Grafoda Rede
Prof. Fábio M. Costa - INF / UFG115
BGP: Características Básicas
Protocolo de roteamento que leva em conta questões de natureza política
– Necessário quando se conecta sistemas autônomos com objetivos conflitantes
Ex.: ASes pertencentes a empresas concorrentes
Permite a inclusão de políticas de roteamento. Exemplos:
– Um AS não aceita ser intermediário no roteamento de pacotes para outros ASes
– Não permitir que tráfego seja roteado através de certos ASes
Políticas: configuráveis manualmente– Não são definidas como parte do protocolo
Prof. Fábio M. Costa - INF / UFG116
BGP: Funcionamento Básico
Distance Vector Algorithm Roteadores trocam entre si informações
sobre rotas completas Rotas são escolhidas com base em
– Métricas de custo– Políticas de roteamento
Atualizações periódicas– Rotas alternativas podem substituir rotas com
problemas
Prof. Fábio M. Costa - INF / UFG117
BGP: Exemplo
Prof. Fábio M. Costa - INF / UFG118
Internet Multicasting
Envio de um mesmo pacote para um grupo de receptores simultaneamente– Ex.: atualização de réplicas de um BD distribuído,
tele-conferência Suporte a multicast no IP: endereços Classe D
– 224.0.0.0 a 239.255.255.255– Cada endereço classe D: um grupo de hosts– Até cerca de 250 milhões de grupos
Sem garantias de confiabilidade– Best-effort: Alguns membros do grupo podem não
receber o pacote
Prof. Fábio M. Costa - INF / UFG119
Internet Multicasting (2)
Endereços de grupo permanentes– 224.0.0.1: todos os sistemas em uma LAN– 224.0.0.2: todos os roteadores em uma LAN– 224.0.0.5: todos os roteadores OSPF em uma LAN
Endereços de grupo temporários– Devem ser criados explicitamente– Processo requisita ao seu host:
entrada e saída no grupo
– Host mantém uma tabela dos grupos aos quais seus processos estão associados
Prof. Fábio M. Costa - INF / UFG120
Internet Multicasting (3)
Implementação através de roteadores habilitados a reconhecer endereços Classe D– Roteadores de Multicast
Protocolo IGMP (Internet Group Management Protocol)– Permite a um roteador de multicast saber quais
grupos têm membros em sua LAN Consultas periódicas aos hosts Host respondem com os endereços de grupo pertinentes
Prof. Fábio M. Costa - INF / UFG121
Internet Multicasting (4)
Roteamento de multicasts– Spanning tree (árvore de espalhamento)– Roteadores de multicast trocam entre si
informações sobre os grupos existentes– Cada roteador constrói para si uma spanning tree
para cada grupo “passando” por ele– Roteadores não pertencentes a um grupo não
participam do algoritmo (para aquele grupo específico)
Prof. Fábio M. Costa - INF / UFG122
IP Móvel
Endereços IP são ligados a localizações fixas– Ex.: 200.137.197.65 => host 65 na rede 200.137.197
Host móvel (HM)– Migrar para uma rede diferente significaria ter que
assumir um novo endereço IP...– ...E provavelmente ter que anunciá-lo para boa parte
dos roteadores na Internet
Pacotes enviados ao host móvel devem ser entregues– Independente de sua localização física
Prof. Fábio M. Costa - INF / UFG123
IP Móvel
Prof. Fábio M. Costa - INF / UFG124
IP Móvel: Requisitos
Cada HM deve poder utilizar seu endereço IP original em qualquer lugar/rede
Não fazer mudanças no software de hosts fixos
Não fazer mudanças no software e tabelas de rotas dos roteadores
Maioria dos pacotes enviados para HMs não deve fazer desvios na rede
Sem overhead quando o HM está em sua rede original (i.e., em casa)
Prof. Fábio M. Costa - INF / UFG125
IP Móvel: Funcionamento
Rede que aceita visitantes (hosts móveis):– Deve criar um agente estrangeiro (foreign agent)
Rede que permite a mobilidade de seus hosts:– Deve criar um agente “de casa” (home agent)
Na chegada de um HM a uma rede estrangeira:– HM registra-se com o agente estrangeiro local– Agente estrangeiro contacta o agente da rede
original do HM (home agent), indicando o endereço de desvio dos pacotes enviados ao HM
Prof. Fábio M. Costa - INF / UFG126
IP Móvel: Funcionamento (2)
Na chegada de um pacote endereçado ao HM em sua rede original:– Pacote chega por um dado roteador da rede– Roteador difunde um pacote ARP para obter o
endereço MAC (Ethernet) do host– Home agent responde com seu próprio endereço
MAC– Roteador transmite o pacote para o home agent– Home agent encapsula o pacote original em um
outro pacote IP (tunneling) e o envia ao foreign agent atual
– Foreign agent recebe o pacote, desencapsula o pacote original e o entrega ao HM
Prof. Fábio M. Costa - INF / UFG127
IP Móvel: Funcionamento (3)
Evitando futuros redirecionamentos:– Ao receber o primeiro pacote endereçado a um
HM distante...– ...Home agent envia o endereço do agente
estrangeiro (da rede onde o HM se encontra) para o transmissor...
– ...De forma que novos pacotes sejam enviados diretamente para a rede na qual o HM se encontra atualmente
Prof. Fábio M. Costa - INF / UFG128
IP Móvel: Outras questões
Invalidação de tabelas ARP quando HM migra HM sendo seu próprio agente estrangeiro Como encontrar um agente
– Agentes (home e estrangeiro) anunciam sua presença a quem possa interessar
Através de broadcasts (difusão) na rede local
– HMs difundem requisição pelo agente estrangeiro
HMs que deixam uma rede estrangeira abruptamente: registro no agente válido por tempo determinado
Segurança: agente estrangeiro deve provar que, de fato o verdadeiro HM está em sua rede