2. Modelo de Referência TCP/IP
Camada de Aplicação
Camada de Transporte
Camada de Rede
Camada de Enlace de Dados
Camada de Física
Redes de Computadores
A Camada de Rede
3. 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 Computadores
A Camada de Rede
4. 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 Computadores
A Camada de Rede
5. 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 Computadores
A Camada de Rede
6. 1. Prestação de serviços à Camada de Transporte
Estrutura Interna da Camada de Rede:
Circuitos Virtuais (CVs)
Datagramas
Redes de Computadores
A Camada de Rede
7. Estrutura Interna da Camada de Rede
Circuitos Virtuais
Redes de Computadores
A Camada de Rede
8. Estrutura Interna da Camada de Rede
Circuitos Virtuais
CV com origem no roteador A e destino D:
No do CV
Rota
0
1
A–E–F–D
2
A–B–F-D
3
A–E–C-D
4
Redes de Computadores
A–B–C-D
A–E–C–B–F-D
A Camada de Rede
9. 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 Computadores
A Camada de Rede
10. 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 Computadores
A Camada de Rede
11. 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 Computadores
A Camada de Rede
12. 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 subrede
Redes de Computadores
A Camada de Rede
13. Estrutura Interna da Camada de Rede
Circuitos Virtuais x Datagramas
Item
Sub-rede de Datagramas
Sub-rede de CVs
Roteamento
Cada pacote é roteado de A rota é definida quando o
forma independente
CV é estabelecido e todos os
pacotes seguem esta rota
Efeito de falhas no
roteador
Nenhum, exceto para
Todos os CVs que passam
pacotes perdidos durante através do equipamento
a queda
parado são encerrados
Controle de
Difícil
congestionamentos
Redes de Computadores
Fácil
A Camada de Rede
14. 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
Redes de Computadores
Fácil, se for possível alocar
recursos suficientes com
antecedência para cada CV
A Camada de Rede
15. 2. Roteamento
• 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.
Redes de Computadores
A Camada de Rede
16. 2. Roteamento
Propriedades de um Algoritmo de 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 Computadores
A Camada de Rede
17. 2. Roteamento
Propriedades de um Algoritmo de 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 Computadores
A Camada de Rede
18. 2. Roteamento
Propriedades de um Algoritmo de Roteamento
Equidade
Ser imparcial.
Otimização
Obter a melhor situação possível.
Redes de Computadores
A Camada de Rede
19. 2. Roteamento
Classes de Algoritmos de Roteamento
• Adaptativos
• Não adaptativos
Redes de Computadores
A Camada de Rede
20. 2. Roteamento
Classes de Algoritmos de Roteamento
Adaptativos
Baseiam suas decisões de roteamento em
medidas, ou estimativas, do tráfego da rede
e na topologia.
Redes de Computadores
A Camada de Rede
21. 2. Roteamento
Classes de Algoritmos de 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 Computadores
A Camada de Rede
22. 2. Roteamento
Exemplos de Algoritmos de 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 Computadores
A Camada de Rede
23. 2. Roteamento
Exemplos de Algoritmos de 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 Computadores
A Camada de Rede
24. 2. Roteamento
Exemplos de Algoritmos de 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 Computadores
A Camada de Rede
25. 2. Roteamento
Exemplos de Algoritmos de Roteamento
Roteamento por estado de enlace
Este algoritmo prevê que cada roteador da subrede deve fazer o seguinte:
1.Descobrir seus vizinhos
endereços de rede.
e
aprender
seus
2.Medir o retardo, ou o custo, até cada um de
seus vizinhos.
Redes de Computadores
A Camada de Rede
26. 2. Roteamento
Exemplos de Algoritmos de Roteamento
Roteamento por estado de enlace
1. Criar um pacote que informe tudo o que ele
acabou de aprender.
2. Enviar esse
roteadores.
pacote
a
todos
os
outros
3. Calcular o caminho mais curto até cada um
dos outros roteadores.
Redes de Computadores
A Camada de Rede
27. 2. Roteamento
Exemplos de Algoritmos de 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 Computadores
A Camada de Rede
28. 2. Roteamento
Exemplos de Algoritmos de 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 Computadores
A Camada de Rede
29. 2. Roteamento
Exemplos de Algoritmos de 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 Computadores
A Camada de Rede
30. 2. Roteamento
Roteamento para hosts móveis
Os hosts móveis trouxeram um problema novo para
as redes: antes de rotear um pacote para um host
móvel é preciso localizá-lo.
Redes de Computadores
A Camada de Rede
31. Firewall
É uma barreira de proteção entre o tráfego
corporativo e as redes externas.
Redes de Computadores
A Camada de Rede
32. Firewall
O Firewall é o único caminho de entrada e de
saída da rede corporativa para as redes externas.
Redes de Computadores
A Camada de Rede
33. Firewall
Roteadores:
• Verificam se os pacotes obedecem
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 Computadores
A Camada de Rede
a
34. Firewall
Gateway:
Atua na camada de Aplicação. Por exemplo:
• Correio eletrônico (tamanho da mensagem,
conteúdo, etc.)
• Pacotes incompletos.
• Etc.
Redes de Computadores
A Camada de Rede
35. 3. Controle de Congestionamento
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.
Redes de Computadores
A Camada de Rede
36. 3. Controle de Congestionamento
Redes de Computadores
A Camada de Rede
37. 3. Controle de Congestionamento
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.
Redes de Computadores
A Camada de Rede
38. 3. Controle de Congestionamento
Causas possíveis:
• 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 Computadores
A Camada de Rede
39. 3. Controle de Congestionamento
Causas possíveis:
• 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 Computadores
A Camada de Rede
40. 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 Computadores
A Camada de Rede
41. 3. Controle de Congestionamento
As soluções podem ser agrupadas em duas
categorias:
Loops Abertos
Loops Fechados
Redes de Computadores
A Camada de Rede
42. 3. Controle de Congestionamento
Soluções em Loops Abertos:
• 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 Computadores
A Camada de Rede
43. 3. Controle de Congestionamento
Soluções em Loops Abertos:
• 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 Computadores
A Camada de Rede
44. 3. Controle de Congestionamento
Soluções em Loops Fechados:
• 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 Computadores
A Camada de Rede
45. 3. Controle de Congestionamento
Redes de Computadores
A Camada de Rede
46. 3. Controle de Congestionamento
Prevenção
Fechados:
de
Congestionamento
em
Loops
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 Computadores
A Camada de Rede
47. 3. Controle de Congestionamento
Redes de Computadores
A Camada de Rede
48. 3. Controle de Congestionamento
Redes de Computadores
A Camada de Rede
49. O Protocolo IP
Um datagrama IP consiste de duas partes:
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 Computadores
A Camada de Rede
51. O Protocolo IPv4
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 Computadores
A Camada de Rede
52. 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.
• FO (Fragment Offset): número do fragmento de um
determinado datagrama.
Redes de Computadores
A Camada de Rede
53. O Protocolo IPv4
Cabeçalho:
• Protocolo: informa à camada de Rede o processo de
Transporte que deverá ser aplicado ao datagrama: TCP
ou UDP.
Redes de Computadores
A Camada de Rede
54. O Protocolo IPv4
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 Computadores
A Camada de Rede
55. O Protocolo IPv4
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 Computadores
A Camada de Rede
56. O Protocolo IPv6
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 Computadores
A Camada de Rede
57. O Protocolo IPv6
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 Computadores
A Camada de Rede
58. O Protocolo IPv6
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 Computadores
A Camada de Rede
60. O Protocolo IPv6
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 Computadores
A Camada de Rede
61. O Protocolo IPv6
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 Computadores
A Camada de Rede
62. O Protocolo IPv6
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 Computadores
A Camada de Rede
63. O Protocolo IPv6
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 Computadores
A Camada de Rede