REDES DE COMPUTADORES
Camada de Rede
RELEMBRANDO AS CAMADAS
Dados
Aplicação
7
Aplicação
Apresentação
6
Apresentação
Sessão
5
Sessão
Transporte
4
Transporte
Rede
3
Rede
Enlace
2
Enlace
Físico
1
Físico
O Modelo OSI – Transmissão de dados
Dados
 A CAMADA DE REDE
 Fornece serviços para o nível de transporte, sendo,
freqüentemente, a interface entre a rede do cliente e a empresa de
transporte de dados (p.ex. Embratel).
 SUA PRINCIPAL FUNÇÃO É RECEBER BITS DE DADOS DA
CAMADA SUPERIOR, ORGANIZÁ-LOS EM BLOCOS DE DADOS
(PACOTES EM REDES COM CONEXÃO E DATAGRAMAS EM
REDES SEM CONEXÃO) E DETERMINAR A ”MELHOR” ROTA
PARA QUE ESTES PACOTES ALCANCEM SEU DESTINO,
TENDO COMO BASE ENDEREÇOS LÓGICOS DE ORIGEM E
DESTINO.
 A camada de rede deve:



Fornecer serviços independentes da tecnologia da subrede;
Esconder do nível de transporte o número, tipo e a topologia das
subredes existentes;
Oferecer ao nível de transporte um esquema de endereçamento
uniforme, independente da tecnologia da subrede (LAN, MAN, WAN).
Funções da camada de rede
 transporta pacote da estação
remetente à receptora
 protocolos da camada de rede em
cada estação, roteador
aplicação
transporte
rede
enlace
física
três funções importantes:
 determinação do caminho: rota
seguida por pacotes da origem ao
destino. Algoritmos de roteamento
(routing)
 comutação: mover pacotes dentro do
roteador da entrada à saída
apropriada (switching)
 estabelecimento da chamada:
algumas arquiteturas de rede
requerem determinar o caminho antes
de enviar os dados (call setup)
rede
enlace
física
rede
enlace
física
rede
enlace
física
rede
enlace
física
rede
enlace
física
rede
enlace
física
rede
enlace
física
rede
enlace
física
aplicação
transporte
rede
enlace
física
A transferência de dados pode ser feita sem ou com conexão, com
características indicadas na tabela a seguir.
 Operação (interna) do Nível de Rede
 Algoritmo de Roteamento
 Roteamento é o mecanismo pelo qual se escolhe o caminho (canal
de comunicação) que um pacote deve seguir para atingir seu
destino.
 Em redes sem conexão (datagrama), cada datagrama tem de
carregar seu endereço destino e a decisão de roteamento é tomada
em cada nó da rede, para cada datagrama que chega.
 Em redes com conexão (circuito virtual) os pacotes não precisam
carregar o endereço destino (só a identificação da conexão) e a
decisão de roteamento é tomada no estabelecimento da conexão,
após a qual todo pacote segue sempre o mesmo caminho roteamento por sessão.
 Um algoritmo de roteamento deve oferecer:






Correticidade (funciona);
Simplicidade (é fácil de entender/usar);
Robustez (suporta falhas na rede);
Estabilidade (fixa caminhos rapidamente);
Equanimidade (distribui carga de modo justo); e
Optimalidade (proporciona melhor caminho sempre).
 Um algoritmo de roteamento pode ser:

Não adaptativo, quando as decisões de roteamento
são definidas antecipadamente (pelo gerente da
rede, p. ex.) e colocadas nos roteadores quando
estes são ligados - roteamento estático;

Adaptativo, quando as decisões de roteamento são
[re]definidas continuamente, de acordo com a
estrutura da rede (topologia, carga, etc.) - roteamento
dinâmico.
 Nesse último caso, o algoritmo de roteamento
pode ser do tipo Vetor-Distância ou Estado-doEnlace, cujas características são resumidas na
tabela a seguir.
Controle de Congestionamento
 Congestionamento ocorre quando a quantidade de pacotes na
rede é muito grande (normalmente isso ocorre quando se
atinge um patamar da capacidade de carga dos canais de
comunicação).
Padrão de comportamento na ocorrência de
congestionamento
O que congestiona?

Pacotes chegando por canais de comunicação
rápidos, tendo de sair por canais mais lentos;

Roteadores lentos;

Roteadores com pouca memória para armazenar
pacotes temporariamente.
Como controlar fluxo?
 Modelo circuito aberto (open loop), propõe resolver os
problemas na fase de projeto/configuração dos
roteadores de modo a (tentar) garantir que não ocorra
congestionamento. Para ajustar alguma coisa, tem-se
de reinicializar tudo.
 Modelo circuito fechado (closed loop), propõe:
 Monitoração do sistema para detectar quando e onde o
congestionamento ocorre;
 Passagem dessas informações para pontos de controle onde
alguma ação pode ser tomada;
 Ajuste da operação do sistema para corrigir o problema.
 No modelo circuito fechado, o controle pode ser:

explícito, quando o ponto de congestionamento avisa
(de alguma forma) a origem dos pacotes (p.ex. ATM
com ABR);

implícito, quando a origem dos pacotes deduz que há
congestionamento fazendo observações localmente
(p.ex., pela demora no recebimento de confirmação
de entrega de pacotes, p.ex. TCP/IP).
Políticas de prevenção de congestionamento
 A tabela a seguir resume as políticas adotadas em diversas camadas de uma
pilha de protocolos que afetam o congestionamento.
Condicionamento de Tráfego (Traffic Shaping)
 Em redes que oferecem qualidade de serviço (Quality of
Service - QoS), as estações clientes podem ser forçadas
a transmitir a uma taxa uniforme, previamente acertada
com a rede antes do início da transmissão (via abertura
de conexão).
 Dessa forma, recursos podem ser reservados
antecipadamente, de modo que se possa garantir a não
sobrecarga da rede - o tráfego é, sempre que possível,
previsível.
 Esse tipo de controle (de modelo circuito aberto) é
largamente usado em redes ATM.
 Evidentemente, a rede deve também fazer um
monitoramento de tráfego (Traffic Monitoring) para evitar
que estações clientes gerem tráfego fora do padrão
solicitado para a rede.
Algoritmo do Balde Furado (Leaky Bucket Algorithm)
 Outro mecanismo (de modelo circuito aberto) é o do Balde Furado,
onde uma fila de tamanho finito age como um depósito de
contenção para suportar rajadas de tráfego descartando o mínimo
de pacotes e colocando-os para transmissão de modo controlado.
 O controle é feito enviando-se para a rede pacotes sempre em uma
velocidade constante (basicamente em função da capacidade do
canal, do tempo de propagação e do tamanho máximo do pacote
admitido) - tipo um pacote a dada ∆T.
 Em redes com pacotes de tamanho fixo (p.ex. ATM), tudo funciona
bem. Em redes com pacotes de tamanho variável, podem ser
transmitidos N pacotes de modo que a soma dos tamanhos dos N
pacotes não ultrapasse o tamanho máximo de pacote admitido.
 Se o número de pacotes não for exato, transmite-se N-1 pacotes e
o tempo restante não é utilizado.
Modelo do Balde Furado para Pacotes
Interconexão de Redes
 Problema: como interconectar redes
heterogêneas ?
 Três problemas com interconexão a nível de
enlace de dados :
Expansão difícil para diferentes tecnologias de
enlace de dados.
 Expansão difícil com o crescimento de número de
hospedeiros ou redes.
 Diferentes espaços de endereçamento.

Interconexão de redes
Dificuldade de Expansão com diferentes
tecnologias de enlace de dados
 Conversão entre estruturas de quadros.
 Problema de escalabilidade quando o
número de tecnologias de enlace de dados
aumenta.
Espaço de endereço MAC não
homogêneo
 O número de bits usado em endereço MAC
pode ser.
Endereços MAC de 48 bits do IEEE
 IBM recomenda outros endereços MAC
administrados localmente (ignorando os
endereços MAC embutidos).

 Cada endereço em uma tecnologia de enlace
de dados deve ser universalmente único,
mas a sua unicidade não é garantida quando
várias redes são atravessadas
A Solução da camada três para
interconexão de redes
 Substituir switches de LAN por switches de
camada três, mais conhecidos como
roteadores.
 Acrescentar software de IP a cada
hospedeiro final (junto com o todo conjunto
de softwares).
 Atribuir um endereço IP a cada interface de
rede.
A Solução da camada três para interconexão
de redes
IP: escalabilidade para as tecnologias de
enlace de dados
Endereçamento
 Ao nível de rede, cada elemento (máquina final ou
intermediária) precisa ser identificado de forma única na
rede, independente da tecnologia da subrede utilizada.
 Rede IP usa hierarquia para conseguir escalabilidade.
 Há pelo menos três níveis:



Um simples hospedeiro IP (servidor.san.uri.br)
Uma sub-rede IP (san.uri.br)
Um sistema autônomo (uri.br)
 Criação de um espaço de endereço para identificação
de interfaces de rede.
 Classes A a C para unicast e uma classe D para
multicast:
DATAGRAMA IP
número da versão
do protocolo IP
comprimento do
cabeçalho (bytes)
“tipo” dos dados (DS)
número máximo
de enlaces restantes
(decrementado a
cada roteador)
protocolo da camada
superior ao qual
entregar os dados
32 bits
comp. tipo de
comprimento
ver
cab serviço
início do
ident. 16-bits
bits
fragmento
sobre- camada
checksum
superior
vida
Internet
comprimento total
do datagrama
(bytes)
para
fragmentação/
remontagem
endereço IP de origem 32 bits
endereço IP de destino 32 bits
Opções (se tiver)
dados
(comprimento variável,
tipicamente um segmento
TCP ou UDP)
p.ex. temporizador,
registrar rota
seguida, especificar
lista de roteadores
a visitar.
Endereçamento IP
Um endereço de IP não identifica
um computador específico. Pelo
contrário, cada endereço de IP
identifica uma conexão entre
um computador e uma rede. Um
computador com conexões de rede
múltiplas (por exemplo, router) deve
ser atribuído um endereço IP para
cada conexão.
Endereçamento IP
Fornece uma abstração
Independente de
endereçamento de
hardware (MAC)
Utilizado por
 Protocolos de camada
mais altas
 Aplicações
Virtual
 só reconhecido por
software
Utilizado para toda a
comunicação numa
rede de interconexão
IPv4 inteiro de 32 bits
Valor distinto para
cada
Computador/interface
Endereçamento IP
Dividido em duas partes
prefixo identifica a rede
sufixo identifica o computador/interface
Autoridade global atribui um prefixo
distinto para a rede
Administrador local atribui sufixo
distinto para o computador/interface
Endereço IP
Endereço IP. Notação Decimal
 Representa cada octeto em decimal separado por pontos

Não é igual a nomes como www.xyz.com.br
129.194.69.68 = Endereço IP
129.194 = id-rede 1000 0001 1100 0010
69.68 = id-computador 0100 0101 0100 0100
 Quatro valores decimais por endereço de 32 bits
 Cada número decimal
representa oito bits
está entre 0 e 255 inclusivo
Endereço IP. Notação Decimal
7
0
8
15 16
23 24
31
1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0
146
164
2
70
Endereçamento hierárquico
9.0.0.0
139.82.0.0
IBM
PUC-RJ
36.0.0.0
Stanford
143.107.0.0
146.164.0.0
USP
UFRJ
Classe de Endereços IP
Número de redes e
hosts por classe
Intervalos de endereços
por classe
Endereços Reservados
 Identificador de rede não pode ser 127
 127 é reservado para fins de loop-back
 Os identificadores de rede e de hospedeiro
não podem ser 255 (todos os bits iguais a 1)
 255
é um endereço para difusão
 Os identificadores de rede e de hospedeiro
não podem ser 0 (todos os bits iguais a 0)

0 (zero) significa “somente esta rede”
 O identificador de hospedeiro deve ser único
na rede
Interconexão usando IP
Endereçamento IP
Problemas endereçamento original:
 Crescimento
de Internet
 Tamanho de tabela de routing
 Esgotamento de endereços
 Peso Administrativo
 Má utilização de endereços
Duas soluções foram introduzidas:
Endereçamento subrede (subnetting) é utilizado
dentro de uma organização para subdividir o endereço da
rede da organização.
Roteamento inter-domínio sem classes (classless
interdomain routing - CIDR) foi introduzido em 1993
para proporcionar um endereçamento IP mais eficiente e
flexível na Internet.
CIDR é conhecido também como endereçamento superrede (supernetting). Os endereçamentos subrede e
super-rede têm basicamente o mesmo conceito.
IETF (Internet Engineering Task Force) propôs também
uma outra solução mais abrangente para solucionar
completamente o problema de endereçamento: o IPv6.
O conceito de subrede
Exemplo de máscara de suberede
Roteamento Interdomínio sem Classes (CIDR)
Roteamento Interdomínio sem Classes (CIDR)
 O espaço de endereço IP é quebrado em
segmentos de linha.
 Cada segmento de linha é descrito por prefixo.
 Um prefixo é da forma x/y, onde x indica o prefixo
de todos os endereços no segmento de linha, e y
indica o comprimento do segmento.
 Por exemplo, o prefixo 128.9/16 representa o
segmento de linha que contém os endereços no
intervalo: 128.9.0.0 … 128.9.255.255
Roteamento Interdomínio sem Classes (CIDR)
Roteamento Interdomínio sem Classes (CIDR)
Agregação de prefixos
•Se um provedor de Internet presta serviço a várias companhias com vários
prefixos, pode (algumas vezes) agregá-los em um único prefixo. Os outros
roteadores podem reduzir o tamanho da tabela de endereço.
A Camada de Rede na Internet
Funções da camada de rede em estações, roteadores:
Camada de transporte: TCP, UDP
Camada
de rede
protocolo IP
•convenções de endereços
•formato do datagrama
•convenções de manuseio do pct
Protocolos de rot.
•seleção de rotas
•RIP, OSPF, BGP
Tabela
de rotas
protocolo ICMP
•relata erros
•“sinalização” de roteadores
Camada de enlace
Camada física
Enviando um datagrama da origem ao destino
tabela de rotas em A
rede dest. próx. rot.
223.1.1
223.1.2
223.1.3
datagrama IP:
aampos end. IP end. IP
misc origem dest
dados
A
223.1.1.4
223.1.1.4
1
2
2
223.1.1.1
 datagrama permanece
inalterado, enquanto passa
da origem ao destino
 campos de endereços de
interesse aqui
Nenlaces
223.1.2.1
B
223.1.1.2
223.1.1.4
223.1.1.3
223.1.3.1
223.1.2.9
223.1.3.27
223.1.2.2
223.1.3.2
E
Enviando um datagrama da origem ao destino
campos
dados
div. 223.1.1.1 223.1.1.3
Supomos um datagrama IP
originando em A, e
endereçado a B:
rede dest. próx. rot.
223.1.1
223.1.2
223.1.3
A
223.1.1.4
223.1.1.4
1
2
2
223.1.1.1
 procura endereço de rede de B
223.1.2.1
 descobre que B é da mesma
rede que A
 camada de rede remeterá
datagrama diretamente para B
num quadro da camada de
enlace
 B e A estão diretamente
ligados
Nenlaces
B
223.1.1.2
223.1.1.4
223.1.1.3
223.1.3.1
223.1.2.9
223.1.3.27
223.1.2.2
223.1.3.2
E
Enviando um datagrama da origem ao destino
campos
dados
div. 223.1.1.1 223.1.2.2
rede dest. próx. rot.
223.1.1
223.1.2
223.1.3
OrigemA, destino E:
 procura endereço de rede de E
 E numa rede diferente
A
A, E não ligados diretamente
tabela de rotas: próximo roteador
na rota para E é 223.1.1.4
camada de rede envia datagrama B
ao roteador 223.1.1.4 num
quadro da camada de enlace
datagrama chega a 223.1.1.4
continua…
Nenlaces
223.1.1.4
223.1.1.4
1
2
2
223.1.1.1





223.1.2.1
223.1.1.2
223.1.1.4
223.1.1.3
223.1.3.1
223.1.2.9
223.1.3.27
223.1.2.2
223.1.3.2
E
Enviando um datagrama da origem ao destino
campos
dados
div. 223.1.1.1 223.1.2.2
Chegando a 223.1.1.4,
destinado a 223.1.2.2
 procura endereço de rede de E
 E fica na mesma rede que a
interface 223.1.2.9 do roteador
 roteador, E estão diretamente
ligados
 camada de rede envia datagrama
p/ 223.1.2.2 dentro de quadro de
camada de enlace via interface
223.1.2.9
 datagrama chega a 223.1.2.2!!!
rede
dest.
223.1.1
223.1.2
223.1.3
A
próx.
rot. Nenl. interface
-
1
1
1
223.1.1.4
223.1.2.9
223.1.3.27
223.1.1.1
223.1.2.1
B
223.1.1.2
223.1.1.4
223.1.1.3
223.1.3.1
223.1.2.9
223.1.3.27
223.1.2.2
223.1.3.2
E
Download

Em redes com conexão