Você está na página 1de 89

Redes de Computadores II

Robson Augusto Siscoutto

robson@unoeste.br

Camada de Rede

1
Camada de Rede
Conteúdo Programático

 Serviços da camada de rede


 Roteamento: seleção de rotas
 Roteamento hierárquico
 Protocolo Internet – IPv4
 Protocolos de roteamento da internet
 Intra-domain
 Inter-domain

 Ipv6
2
Funções da Camada de Rede

 Transportar pacotes entre os aplicação


sistemas finais da rede transporter
ede
 A camada de rede deve ter uma enlace
rede
fisica
entidade em cada sistema final ou rede enlace rede
enlace fisica
roteador da rede fisica
enlace
fisica
rede
4 funções importantes: enlace
fisica rede
 Determinação de caminhos: rota enlace
escolhida pelos pacotes entre a fisica

origem e o destino. Algoritmos de rede


rede
roteamento enlace
enlace
fisica
 Comutação: mover pacotes entre as fisica
rede
portas de entrada e de saída dos enlace aplicação
roteadores fisica transporte
rede
 Estabelecimento de conexão: enlace
fisica
algumas arquiteturas de rede
exigem o estabelecimento de
circuitos virtuais antes da
transmissão de dados
 Controle de Congestionamento
3
Modelo do Serviço de Rede

Q: como escolher um
modelo de serviço para o
canal transportando Nível mais geral
pacotes da origem ao de abstração na
destino? camada de rede

? ?
 Banda-passante garantida?
circuito virtual
abstração de serviço

 Preservação dos intervalos


entre pacotes? ou

?datagrama
 Entrega sem perdas?
 Entrega em ordem?
 Realimentação de informação
de congestionamento?

R: O modelo de serviço de rede define as caracteristicas do


transporte de dados fim a fim entre uma borda da rede e
outra (sistemas finais) 4
Circuitos Virtuais (VC)

“A ligação entre a origem e o destino emula uma


ligação telefônica”
 Orientado ao desempenho
 A rede controla a conexão entre a origem e o destino

 Estabelecimento da conexão deve proceder o envio de dados. Camada


de rede determina o caminho entre o remetente e o destinatário – série de
enlaces e comutadores de pacote por meio dos quais o pacote do CV terão
de trafegar.

 Liberação da conexão após os dados.

 Cada pacote transporte um identificador do CV, não transporta o endereço


completo do destino
5
Circuitos Virtuais (VC)

 Cada roteador na rota mantém informação de estado


para conexão que passa por ele.
 A conexão de camada de transporte envolve apenas os sistemas
finais;

 A banda passante e os recursos do roteador podem ser


alocado por VC
 Controle de Qualidade de Serviço por VC

6
Circuitos Virtuais: Sinalização
 Mensagens de Sinalização: Usadas para estabelecer, manter e
encerrar Circuitos Virtuais
 Manter = atualizar tabelas nos roteadores
 Protocolos de Sinalização utilizados para trocar tais mensagens
 Usados em ATM, Frame-Relay e X-25, mas não na Internet

aplicação
6. Recebe Dados aplicação
transporte 5. Inicia Fluxo de dados
4. Chamada conectada 3. Aceita chamada transporte
rede
rede
enlace
enlace
fisica
fisica
1. Inicia Chamada 2. Chamada entrando
7
Redes Datagrama: o modelo da Internet
 Não existem conexões na camada de transporte
 Não há informação de estado de conexão nos roteadores
 Não existe conexão na camada de rede
 Pacotes tipicamente transportam o endereço de destino
 Pacotes para o mesmo destino podem seguir diferentes rotas

aplicação
aplicação
transporte
transporte
rede
rede
enlace 1. Envia dados 2. Recebe dados
enlace
fisica
fisica

8
Modelos de Serviço da Camada de Rede:
Parâmetros Garantidos
Arquitetura Modelo de Realim. de
de Rede Serviço Banda Perda Ordem Tempo Congestão

Internet Datagrama não não não não não (examina


perdas)
ATM CBR taxa sim sim sim não há
constante congestão
ATM VBR taxa sim sim sim não há
garantida congestão
ATM ABR mínimo não sim não sim
garantido
ATM UBR não não sim não não

• CBR – Constant bit rate, VBR – Variable bit rate, ABR –


available bit rate, UBR – unspecifed bit rate
9
Modelos de Serviço da Camada de Rede:
 Classes de serviços ATM
 Serviço de rede de taxa constante de bits (constant bit rate
– CBR)
 Objetivo: fazer com que a conexão da rede pareça uma conexão
dedicada
 Ideal para transmitir áudio a taxa constante de bits e trafego de
vídeo em tempo real;
 As células ATM são carregados através da rede de tal modo que se
garante:
 O atraso fim a fim sofrido pela célula
 Variabilidade do atraso fim a fim
 Fraçao de células perdidas ou entregues depois sejam menores
que do que alguns valores especificados.
 Taxa de transmissão alocada
10
Modelos de Serviço da Camada de Rede:

 Classes de serviços ATM


 Serviço de rede de taxa de bits não especificada –
UBR
 Não garante nada, a não ser a entrega das células na ordem
correta;
 Transferência de dados interativos, como e-mail e grupos de
discussões;

11
Modelos de Serviço da Camada de Rede:

 Classes de serviços ATM


 Serviço de rede de taxas de bits disponíveis –
ABR
 Modelo aperfeiçoado do UBR
 Garantia de uma taxa mínima de transmissão
 Realimentação sobre congestionamento feita
pela rede;
 Muito útil para tráfego Web
 Manter baixos os atrasos de transferência

12
Modelos de Serviço da Camada de Rede:

 Classes de serviços ATM


 Serviço de rede de taxas de bits variável –
VBR
 Em tempo real
 As taxas admissíveis de perda de células, atraso
e variância de atraso são especificadas como no
serviço CBR
 Serviços não em tempo real
 Garantem taxa de perda de células;

13
Datagrama versus Circuito Virtual

Internet ATM
 Dados trocados entre  Originário da telefonia
computadores
 Serviço elástico, requisitos de
 Conversação humana:
atraso não críticos  Tempos estritos,
 Sistemas finais inteligentes exigências de
 Podem adaptar-se, realizar confiabilidade
controle e recuperação de  Necessário para serviço
erros garantido
 A rede é simples, a  Sistemas finais “burros”
complexidade fica nas pontas
 Ex: Telefones
 Muitos tipos de enlaces
 Complexidade dentro da
 Características diferentes
 Difícil obter um serviço
rede
uniforme

14
Roteamento 5
3
Protocolo de Roteamento B C 5
2
OBJ: determinar “bons” caminhos A 2 1 F
(seqüência de roteadores) através da 3
rede da fonte ao destino. 1 2
Menor Custo. D E
1

Algoritmos de roteamento são • “bons” caminhos:


descritos por grafos: • tipicamente corresponde
 Nós do gráfico são
aos caminhos de menor
custo
roteadores
• caminhos redundantes
 Arestas do gráfico são (arestas com o mesmo
enlaces valor), vale o caminha mais
 Custo do enlace: atraso, curto
preço ou nível de congestão • Ex: caminho de menor
custo entre a fonte A e o
destino F
• A-D-E-F 15
Roteamento
 O problema de descobrir o caminho de menor
custo requer a identificação de uma serie de
enlaces:
 O primeiro enlace do caminho esteja conectado a fonte;

 O ultimo enlace no caminho esteja conectado ao destino;

 Para todo i, o enlace i e o i – 1 no caminho estejam conectados


ao mesmo nó, e

 Para o caminho de menor custo, a soma dos custos dos


enlaces no caminho seja a minima dentre todos os possiveis
caminhos entre a fonte e o destino.
 Se todos os custos forem iguais = menor numero de arestas

16
Classificação dos Algoritmos de Roteamento
Descentralizada:
Informação global ou  O calculo de menor custo é interativo e
descentralizada distribuído
 Roteadores só conhecem informações
Global: sobre seus vizinhos e os enlaces para
 Calcula o caminho de menor eles
 Processo de computação interativo, troca
custo entre uma fonte e um de informações com os vizinhos
destino usando conhecimento  algoritmos “Distance vector”
completo e global sobre a rede;
Outra Forma: Estático ou Dinâmico?
 Conectividade e custos
Estático:
 Todos os roteadores tem  As rotas mudam lentamente ao longo do

informações completas da tempo


 Dinâmico:
topologia e do custos dos  As rotas mudam mais rapidamente
enlaces  Atualizações periódicas
 Podem responder a mudanças no custo
dos enlaces
 algoritmos “Link state”
17
Algoritmo Link-state
Algoritmo de Dijkstra’s Notação:
 Topologia de rede e custo dos enlaces
são conhecidos por todos os nós.  C(i,j): custo do enlace do nó i
 Implementado via “link state ao nó j. Custo é infinito se não
broadcast” – cada roteador envia houver ligação entre i e j
informações ao outros rot.
 Todos os nós têm a mesma
informação  D(v): valor atual do custo do
 Computa caminhos de menor custo de caminho da fonte ao destino V
um nó (fonte) para todos os outros nós
 Fornece uma tabela de roteamento
para aquele nó
 P(v): nó predecessor ao longo
do caminho da fonte ao nó v,
 Convergência: após k iterações,
conhece o caminho de menor custo isto é, antes do v
para k destinos.
 N: conjunto de nós cujo
caminho de menor custo é
definitivamente conhecido

18
Algoritmo de Dijsktra’s
1 Inicialização:
2 N = {A}
3 para todos os nós v
4 se v é adjacente a A
5 então D(v) = c(A,v) // custo do enlace
6 senão D(v) = infty // sem conexão, custo infinito
7
8 Loop
9 ache w  N tal que D(w) é um mínimo
10 acrescente w a N
11 atualize D(v) para todo v adjacente a w e não em N:
12 D(v) = min( D(v), D(w) + c(w,v) )
13 /* novo custo para v é ou o custo anterior para v ou o menor
14 custo de caminho conhecido para w mais o custo de w a v */
15 até que todos os nós estejam em N

19
Exemplo: Algoritmo de Dijkstra’s
Infinito pois
não estão
Calcular a distância mínima de A para todos os outros nós.
ligados
diretamente

Passo início N D(B),p(B) D(C),p(C) D(D),p(D) D(E),p(E) D(F),p(F)


0 A 2,A 5,A 1,A infinito infinito
1 AD 2,A 4,D 2,D infinito
2 ADE 2,A 3,E 4,E
3 ADEB 3,E 4,E
4 ADEBC 4,E
5 ADEBCF
5
3
Notação: B C 5
2
 D(v): valor atual do custo do caminho da fonte A 2 1 F
ao destino V 3
1 2
 P(v): nó predecessor ao longo do caminho da D E
1
fonte ao nó v, isto é, antes do v 20
Discussão do Algoritmo de Dijkstra
Complexidade do Algoritmo: n nós
 Cada iteração: precisa verificar todos os
nós w, que não estão em N
 N*(n+1)/2 comparações: o(n**2)
 Implementações mais eficientes:
o(nlogn)

21
Algoritmo “Distance Vector”
Iterativo:
 Continua até que os nós Estrutura de Dados da Tabela
não troquem mais de Distância
informações.  Cada nó tem sua própria tabela
 Self-terminating: Não há  Linha para cada possível destino
sinal de parada.  Coluna para cada roteador vizinho
Assíncrono:  Exemple: no nó X, para destino Y
via vizinho Z:
 Os nós não precisam
trocar informações
simultaneamente!
Distribuído:
distância de X to
 Cada nós se comunica X = Y, via Z como prox. salto
apenas com os seus D (Y,Z)
vizinhos, diretamente Z
= c(X,Z) + minw{D (Y,w)}
conectados;
Caminho
 Troca de cálculos entre Caminho Mínimo calculado
Direto
vizinhos; pelos vizinhos de x
22
Exemplo de Tabela de Distância

1 custo via nó vizinho


B C E
7 D () A B D
A 8 2
1 A 1 14 5
E D
2
B 7 8 5

destino
E D
D (C,D) = c(E,D) + minw {D (C,w)}
= 2+2 =4 C 6 9 4
E D
D (A,D) = c(E,D) + min {D (A,w)}
w D 4 11 2
= 2+3 =5
E B
D (A,B) = c(E,B) + minw{D (A,w)} Ex: Distancia E – A passando por
= 8 + 6 = 14 A
Caminho Caminho
Direto Mínimo 23
Exemplo de Tabela de Distância

1 custo via nó vizinho


B C E
7 D () A B D
A 8 2
1 A 1 14 5
E D
2
B 7 8 5

destino
E D
D (D,B) = c(E,B) + minw{D (B,w)}
= 8 + 3 = 11 C 6 9 4
E B
D (B,B) = c(E,B) + min {D (B,w)}
w D 4 11 2
= 8+0 = 8
E C
D (C,A) = c(E,A) + minw{D (A,w)} Ex: Distancia E – A passando por
= 1+5 =6 A
24
Comparação dos Algoritmos LS e VD
Complexidade Robustez: o que acontece
 LS: com n nós, E links, o(ne) se um roteador funciona
mensagens enviadas mal?
 DV: trocas somente entre Ls:
vizinhos
 Tempo de convergência
 Nós podem advertir custos
incorretos para os enlaces.
varia  Cada nó calcula sua
Tempo de convergência própria tabela de
roteamento
 LS: algoritmo o(n**2) exige
o(ne) msgs Dv:
 Pode ter oscilações  Nó pode advertir caminhos
 DV: tempo de convergência com custo incorreto
varia  Tabela de cada nó é usada
 Podem haver loops de por outros
roteamento  Propagação de erros pela
 Problema da contagem ao
rede
infinito
25
Roteamento Hierárquico
Problemas do mundo real
• roteadores não são todos idênticos
• as redes não são “flat” na prática

Escala: com 50 milhões de Autonomia Administrativa


destinos:  Internet = rede de redes
 Não é possível armazenar todos  Cada administração de rede
os destinos numa única tabela de
rotas! pode querer controlar o
roteamento na sua própria
 As mudanças na tabela de rotas
rede
irão congestionar os enlaces!

26
Roteamento Hierárquico
 Agrega roteadores em roteadores de borda
regiões, “sistemas  Roteadores de interface de
autônomos ” (AS) um AS
 Rodam protocolos de
 Roteadores no mesmo roteamento intra-as com
AS rodam o mesmo os outros roteadores do AS
protocolo de  Também responsáveis por
enviar mensagens para
roteamento fora do AS
 Protocolo de roteamento  Rodam protocolo de
“Intra-as” roteamento inter-as
 Roteadores em com outros rotea-dores
de borda
diferentes AS podem
rodar diferentes
protocolos de
roteamento
27
Roteamento Intra-as and Inter-as
C.b Roteadores de Borda
B.a • realizam
A.a roteamento inter-
b A.c c AS entre si
a C a • realizam
b
a B roteamento intra-
d AS com outros
c roteadores do
A b
mesmo AS

Camada de rede
Roteamento inter-AS, Camada de enlace
intra-AS no roteador A.c
Camada fisica

28
Roteamento Intra-AS e Inter-AS
roteamento Inter-AS
C.b entre A e B
B.a
A.a Host
b A.c c h2
a C a
b
a B
Host d c roteamento Intra-
h1 b
A AS dentro do AS B
roteamento Intra-AS
dentro AS A

29
A camada de rede da Internet
Entidade de rede em roteadores ou hosts:
Camada de Transporte: TCP, UDP

Prot. de roteamento protocolo IP


•escolha de caminhos •endereçamento
•RIP, OSPF, BGP •formato dos datagramas
Camada de •tratamento de pacotes
Rede tabela
de rotas protocolo ICMP
•aviso de erros
•sinalização de rotas

Camada de enlace

Camada física

RIP – protocolo de informação de roteamento – roteamento intraAS, OSPF


– open shorstest path first – roteamento intraAS, BGP – border gateway
protocol – roteamento interAS 30
Endereçamento IP: Introdução
 endereço IP: identificador de 223.1.1.1
32-bits para interfaces de
roteadores e hosts 223.1.2.1
223.1.1.2
223.1.1.4 223.1.2.9

223.1.2.2
223.1.1.3 223.1.3.27
 Total de 232 endereços;
 Interface: conexão entre
roteador ou host e enlace
físico
223.1.3.1 223.1.3.2
 Roteador tem tipicamente
múltiplas interfaces
 Hosts podem ter múltiplas
interfaces
 endereços IP são associados
com interfaces, não com o 223.1.1.1 = 11011111 00000001 00000001 00000001
host ou com o roteador
223 1 1 1

31
Endereçamento IP
 Endereço IP: 223.1.1.1
 parte de rede (bits mais 223.1.2.1
significativos) 223.1.1.2
 parte de Host (bits menos 223.1.1.4 223.1.2.9
significativos)
223.1.2.2
223.1.1.3 223.1.3.27
 O que é uma rede? (na
perspectiva do endereço) LAN
 Interfaces de dispositivos
223.1.3.1 223.1.3.2
com a mesma parte de rede
no endereço IP;

 Podem fisicamente se rede consistindo de 3 redes IP


comunicar sem o auxílio de (para endereços IP começando com 223,
um rotedor; os primeiros 24 bits mais significativos
são o endereço de rede )

32
Endereços IP

33
Endereços IP
 Os bits de endereço para todos os hosts de uma
determinada rede compartilham um prefixo
comum  chamado de endereço de rede.

 Um endereço IP consiste de 32 bits, divididos em


dois ou três campos:
 Número de rede (network number)
 Número do host (host number)
ou então
 Número de rede (network number)
 Número de sub-rede (subnet number)
 Número de host (host number)

34
Endereços IP
 O roteador IP  usa o número de rede para
enviar os pacotes para a rede desejada.

 Uma vez na rede de destino  o número de


sub-rede (caso exista), é usado para enviar o
pacote à sub-rede correspondente.

 Após isso, o número de host é utilizado para


enviar o pacote à estação de destino.

35
Endereçamento IP
Como encontrar as redes 223.1.1.1 223.1.1.2
223.1.1.4
 Separe cada interface de
roteadores e hosts 223.1.1.3

223.1.9.2 223.1.7.0
 Criar ilhas de redes isoladas

 Técnica de nuvens
223.1.9.1 223.1.7.1
223.1.8.1 223.1.8.0

223.1.2.6 223.1.3.27

Sistema com seis 223.1.2.1 223.1.2.2 223.1.3.1 223.1.3.2


redes interconectadas

36
Endereços IP

endereçamento “class-full”:
28 rede
224 hosts

216 rede
216 hosts

224 rede
28 Hosts

37
Endereços IP
 Endereços Classe A
 Atribui 8 bits para o campo de rede e um total de 24 bits para o restante do
endereço.
 Esta classe pode endereçar quase 17 milhões de diferentes nós em uma rede. Um
endereço classe A é usado para redes muito grandes.

 Endereços Classe B
 Um endereço classe B atribui 16 bits para o campo de rede e um total de 16 bits
para o restante do endereço.
 Isto permite endereçar cerca de 65.000 diferentes nós em uma rede.

 Endereços Classe C
 Um endereço classe C atribui 24 bits para o campo de rede e 8 bits para o resto do
endereço.
 Isto permite endereçar 254 diferentes nós na rede.

 É possível determinar se um endereço é classe A, B, ou C examinando os


primeiros bits do endereço.
 Para um endereço classe A  o primeiro bit é sempre 0.
 Para um endereço classe B  os dois primeiros bits são 10.
 Para um endereço classe C  os três primeiros bits são 110.
38
Endereços IP
 Todos os endereços dentro de uma mesma rede IP têm o mesmo
network address  o mesmo tipo de classe.

 Após a classe e o número da rede serem atribuídos:


  o restante dos bits de endereço são alocados para o campo de
host ou subdividido em campos de sub-redes e de host.

 O que isso significa ?


  usuário de uma rede pode utilizar os bits usados para a
identificação de hosts e subdividi-los de tal forma a obter um
esquema de sub-redes e hosts
  ou seja uma sub-divisão do número de endereçamento de host para
aplicar como divisão de sub-redes.

 Por exemplo: Um endereço classe B pode ter 8 bits atribuídos


para o campo de sub-rede e 8 bits para o campo de host.
 Isto permite cerca de 256 sub-redes com cerca de 256 hosts
em cada uma.
39
Endereços IP
 Endereços de REDE
 Para se referir a uma rede particular  os bits dos
campos de sub-rede e de host são colocados como 0
 chamado endereço de rede.

 Para se referir a uma particular sub-rede  os bits do


campo de host são colocado como 0.

 Exemplos:
 O endereço classe B identificado como 137.4.0.0 refere-se à
rede 137.4. *.*
 O endereço classe C identificado como 200.17.28.0 refere-se à
rede 200.17.28.*
40
Endereços IP
 Endereços de broadcast
 Um endereço IP pode também se referir a um grupo de nós  endereço de
broadcast.

 Para se referir a todos os nós em uma rede em particular, os bits de


sub-rede e de host são ajustados para 1  Endereço de broadcast;

 Para se referir a todos os nós de uma sub-rede em particular, os bits de


host são ajustados para 1.

 Para se referir a todos os nós em uma rede local, todos os bits são
ajustados para 1.

 Exemplos:
 O endereço de classe A 15.255.255.255 refere-se a todos os nós da
rede 15.
 O endereço de classe C 200.17.28.255 refere-se a todos os nós da rede
200.17.28.

41
Endereços IP

 Endereços de broadcast

42
Endereçamento IP: CIDR
 Endereçamento “Classful – classe cheia”:
 Uso ineficiente do espaço de endereçamento, exaustão do espaço de
endereços
 E.G., rede de Classe B aloca endereços para 65K hosts, mesmo se só
existem 2000 hosts naquela rede
 CIDR: classless interdomain routing
 A porção de endereço de rede tem tamanho arbitrário
 Formato do endereço: a.B.C.D/x, onde x é o número de bits na parte de
rede do endereço

parte de parte de
rede host
11001000 00010111 00010000 00000000
200.23.16.0/23
43
Como obter um endereço IP

Hosts :
 Endereço fixo: definido pelo administrador
 DHCP: dynamic host configuration protocol: permite a
atribuição dinâmica de endereços IP
 Host envia (broadcast) mensagem “DHCP discover”
 DHCP server responde com mensagem “DHCP offer”
 Host pede endereço IP com mensagem : “DHCP request”
 DHCP server envia endereço com a mensagem: “DHCP ack”

44
Como obter um endereço IP

Rede (porção de rede)


 Obter uma parte do espaço de endereços
do seu ISP:
bloco do ISP 11001000 00010111 00010000 00000000 200.23.16.0/20

Organização 0 11001000 00010111 00010000 00000000 200.23.16.0/23

Organização 1 11001000 00010111 00010010 00000000 200.23.18.0/23

Organização 2 11001000 00010111 00010100 00000000 200.23.20.0/23


... ….. …. ….

Organização 7 11001000 00010111 00011110 00000000 200.23.30.0/23

45
Endereçamento Hierárquico: agregação de
rotas
Essa capacidade de usar um unico prefixo de rede para anunciar
Mulitplas redes é conhecido como agregação de redes.

O endereçamento hierárquico permite uma propagação de rotas


mais eficiente:

Organização 0
200.23.16.0/23
Organização 1
“Me envie qualquer coisa com
200.23.18.0/23 endereço começando por
Organização 2 200.23.16.0/20”
200.23.20.0/23 . Fly-By-Night-ISP
.
. . Internet
.
Organização 7 .
200.23.30.0/23
“Me envie qualquer coisa com
ISPs-R-Us
endereço começando por
199.31.0.0/16”
46
Roteamento Hierárquico:rotas mais
específicas
• Organização 1 migra mantendo seu numero. O numero /XX maior vale;
• ISPs-R-Us tem uma rota mais específica para a organização 1:
• anuncia um prefixo de endereço mais longo (mais específico) que
combina com o endereço destino.
• Regra de compatibilização com o prefixo mais longo.

Organização 0
200.23.16.0/23
“Me envie qualquer coisa
com endereço começando por
Organização 2 200.23.16.0/20”
200.23.20.0/23 . Fly-By-Night-ISP
.
. . Internet
.
Organização 7 .
200.23.30.0/23
“Me envie qualquer coisa
ISPs-R-Us
com endereço começando por
Organização 1 199.31.0.0/16 ou 200.23.18.0/23”
200.23.18.0/23
47
Como obter um endereço IP...

Q: Como o ISP obtém seu bloco de endereço?


A: ICANN: internet corporation for assigned
names and numbers
 Aloca endereços
 Gerencia DNS, principalmente raiz.
 Atribuí nomes de domínios e resolve disputas

48
Levando um Datagrama da Fonte ao
Destino tabela de roteamento em A

Rede destino próx. roteador Núm. saltos

223.1.1 1
223.1.2 223.1.1.4 2
datagrama IP: 223.1.3 223.1.1.4 2
outros endereço endereço
IP origem IP destino dados
campos A 223.1.1.1
• os endereços do datagrama 223.1.2.1
não mudam ao viajar da 223.1.1.2
fonte ao destino 223.1.1.4 223.1.2.9
B
223.1.2.2
223.1.1.3 223.1.3.27 E

223.1.3.1 223.1.3.2

49
Levando um Datagrama da Fonte ao
Destino

outros Rede destino Próx. roteador Núm. saltos


dados
campos 223.1.1.1 223.1.1.3
223.1.1 1
Começando em A, levar datagrama IP 223.1.2 223.1.1.4 2
para B: 223.1.3 223.1.1.4 2
• examine endereço de rede de B
• descobre que B está na mesma rede de A A 223.1.1.1
• camada de enlace envia datagrama
diretamente para B num quadro da camada 223.1.2.1
de enlace 223.1.1.2
• Se necessário descobre endereço físico de 223.1.1.4 223.1.2.9
B B
• B e A são diretamente conectados 223.1.2.2
223.1.1.3 223.1.3.27 E

223.1.3.1 223.1.3.2

50
Levando um Datagrama da Fonte ao
Destino

outros Rede destino Próx. roteador Núm. saltos


dados
campos 223.1.1.1 223.1.2.3
223.1.1 1
Começando em A, dest. E: 223.1.2 223.1.1.4 2
• examina endereço de rede de E
223.1.3 223.1.1.4 2
• E está num rede diferente
• A, E não estão diretamente
A 223.1.1.1
conectados 223.1.2.1
• tabela de roteamento: próximo 223.1.1.2
roteador para E é 223.1.1.4 223.1.1.4 223.1.2.9
• encontra endereço físico de B
223.1.2.2
223.1.1.4 e envia o datagrama 223.1.1.3 223.1.3.27 E
num quadro de enlace
• datagrama chega em 223.1.1.4 223.1.3.1 223.1.3.2

• continua…..

51
Levando um Datagrama da Fonte ao
Destino
Próx. Núm. Endereço
outro Rede destino roteador saltos Interface
dados
campos 223.1.1.1 223.1.2.3
223.1.1 - 1 223.1.1.4
Chegando em 223.1.1.4, destined 223.1.2 - 1 223.1.2.9
for 223.1.2.2 223.1.3 - 1 223.1.3.27
• examina endereço de rede de E
• E está na mesma rede da A 223.1.1.1
interface 223.1.2.9 do roteador 223.1.2.1
• roteador e E estão 223.1.1.2
diretamente ligados 223.1.1.4 223.1.2.9
• descobre endereço físico de B
223.1.2.2
223.1.2.2 e envia o datagrama 223.1.1.3 223.1.3.27 E
num quadro da camada de enlace
223.1.3.1 223.1.3.2
• datagrama chega em 223.1.2.2!!!
(ufa!)

52
Formato do Datagrama IP
versão do Protocolo IP 32 bits tamanho total
do datagrama
tamanho do header type of
ver head. service lenght
(bytes)
(bytes) len
fragment para
16-bit identifier flgs fragmentação/
Classe de serviço offset
-Especificara importância do datagrama
time to proto- Internet remontagem
-D: solicita atraso pequeno
-T: solicita alta performance
live col checksum
-R: solicita alta confiabilidade
32 bit endereço IP de origem

número máximo 32 bit endereço IP de destino


de saltos Ex. timestamp,
Opções (se houver)
(decrementado em registro de rota
cada roteador) data lista de rotea-
(tamanho variável , dores a visitar.
Protocolo da camada
superior com dados no tipicamente um segmento Para testes e
datagrama TCP ou UDP) debugging da rede

53
IP Fragmentação e Remontagem
 enlaces de rede têm MTU
(max.transfer size) - corresponde
ao maior frame que pode ser
transportado pela camada de fragmentação
enlace. in: um datagrama grande
 tipos de enlaces diferentes out: 3 datagramas menores
possuem MTU diferentes
(ethernet: 1518 bytes)

 datagramas IP grandes devem ser


divididos dentro da rede reassembly
(fragmentados)
 um datagrama dá origem a
vários datagramas
 “remontagem” ocorre apenas
no destino final
 O cabeçalho IP é usado para
identificar e ordenar Todos os protocolos de enlace
datagramas relacionados suportado pelo IP tem MTU = 536
bytes; 54
IP Fragmentação e Remontagem
tamanho ID fragflag offset
=4000 =x =0 =0
Datagrama de 4000 bytes = 20 bytes de cabeçalho + 3980 dados
MTU de 1500 bytes.
Um grande datagrama se torna vários datagramas menores
tamanho ID fragflag offset
=1480 =x =1 =0

tamanho ID fragflag offset


=1480 =x =1 =1480

tamanho ID fragflag offset


=1020 =x =0 =2960

Tamanho: numero de bytes de dados no datagrama;


ID: identificação;
FragFlag: 1 – existe outros fragmentos e 0 é o ultimo fragmento
Offset ou deslocamento: indica que os dados devem ser inseridos a partir
55
do byte identificado
ICMP: Internet Control Message Protocol
RFC 792

 usado por computadores e


roteadores para troca de
Tipo Código descrição
informação de controle da 0 0 Respota de Echo (ping)
camada de rede: 3 0 rede de dest. inalcançável
 Identificação de erros: host, 3 1 Host de dest. inalcançável
rede, porta ou protocolo 3 2 Protocolo dest.
inalcançável
 echo request/reply (usado
3 3 Porta de Dest. inalcançável
pela aplicação ping) 3 6 Redes de Dest. Desconh.
 transporte de mensagens: 3 7 Host dest. desconhecida
 mensagens ICMP 4 0 redução da fonte (controle
transportadas em datagramas de congest – não usado)
Ip 8 0 solicitação de echo (ping)
9 0 anuncio do router
 ICMP message: 10 0 Descoberta do router
 Campo de tipo, código, mais 11 0 TTL expirado
primeiros 8 bytes do datagrama IP 12 0 cabeçalho IP inválido
que causou o erro
56
Protocolo ICMP
 O transmissor envia uma série de segmentos UDP para o destino
 O 1o possui TTL = 1
 O 2o possui TTL = 2 etc.
 no de porta improvável
 Quando o enésimo datagrama chega ao enésimo roteador:
 O roteador descarta o datagrama
 E envia à origem uma mensagem ICMP (type 11, code 0)
 A mensagem inclui o nome do roteador e o endereço IP
 Quando a mensagem ICMP chega, a origem calcula o RTT
 O traceroute faz isso três vezes
 Critério de interrupção
 O segmento UDP finalmente chega ao hospedeiro de destino
 O destino retorna o pacote ICMP “hospedeiro unreachable” (type 3, code 3)
 Quando a origem obtém esse ICMP, ela pára.
Protocolo ICMP
 Mensagens de redirecionamento
•Neste exemplo H1 envia
para R1 um datagrama
destinado a rede N2.
Entretanto, R1 verifica que
R2 está na mesma rede e
possui uma rota direta para
N2. Então, R1 redireciona o
datagrama para R2 e
envia uma mensagem ICMP
de redirecionamento
(Redirect Message) para o
host H1 que guardará em
cache a nova rota para ser
utilizada na próxima vez.
•Comando no linux para
listar a entradas no cache da
tabela de roteamento:
ip route show cache
ARP - Address Resolution Protocol RFC-826

 Usado para mapeamento entre Endereços Físicos (geralmente


ethernet) e Endereços Internet (IP)

 Internet  cada máquina possui um (ou mais) endereços IP.

 Entretanto  endereços IP não podem ser usados para enviar


frames, pois o hardware da camada de enlace de dados não entende
endereços Internet.

 Em geral  a placa de rede da LAN só entende endereços de LAN.

 Por exemplo: as placas ethernet possuem endereços MAC ethernet de


48 bits e elas não sabem nada sobre os endereços IP de 32 bits da
Internet.

 Problema: como os endereços IP são mapeados nos endereços da


camada de enlace de dados (endereços ethernet) ?
 O ARP faz via broadcast uma pergunta: quem tem o IP tal? A maquina que tem
responde com o MAC dela;
59
RFC-903

RARP - Reverse Address Resolution Protocol


 “Qual é o endereço IP que corresponde a um
determinado endereço ethernet? ”
 Solução ! RARP - Reverse ARP

 Desvantagem do RARP:
 ele usa endereço de destino composto de difusão limitada
(campo de host composto de bits all-1) ! é preciso um servidor RARP
em cada rede local pois roteadores não encaminham broadcast.

 Para solucionar este problema ! BOOTP (RFC-951, 1048 e


1084)
 Ao contrário do RARP, o BOOTP usa mensagens UDP que são enviadas
pelos roteadores.
 O BOOTP também pode fornecer informações adicionais para
as estações de trabalho que dele se utilizam.
 É possível haver um servidor de BOOTP único para uma rede
complexa, com várias redes locais.

60
Roteamento na Internet
 A Internet consiste de Sistemas Autônomos (AS)
interconectados entre si:
 Stub AS: pequena corporação
 Multihomed AS: grande corporação (sem tráfego de trânsito)
 Transit AS: provedor

 Dois níveis de roteamento:


 Intra-AS: o administrador é responsável pela definição do
método de roteamento
 Inter-AS: padrão único

61
Hierarquia de AS
Roteador de borda Inter-AS (exterior gateway)

Roteador interno Intra-AS (gateway)

62
Roteamento Intra-AS

 Também conhecido como Interior Gateway Protocols ou


Protocolos de Roteamento Internos (IGRP)

 IGRPs mais comuns:

 RIP: Routing Information Protocol

 OSPF: Open Shortest Path First

 EIGRP: Enhanced Interior Gateway Routing


Protocol (proprietário da Cisco)
63
RIP ( Routing Information Protocol)
V1 – RFC 1058 e DEMAIS RFC 1723

 Um dos primeiros protocolos de roteamento Intra-AS


 Surgiu do XNS – Xerox Network Systems
 Algoritmo do tipo vetor distância
 Incluso na distribuição do BSD-UNIX em 1982
 Métrica de distância: # de saltos (max = 15 saltos)
 motivo: simplicidade
 Vetores de distância: trocados cada 30 sec via uma
mensagem de resposta RIP pela porta 520 (também
chamado advertisement, ou anúncio)
 Cada anúncio: indica tabela de rotas para até 25 redes de destino
64
RIP (Routing Information Protocol)

z
w x y
A D B

C
Rede de Destino Proximo Router Num. de saltos para dest.
w A 2
y B 2
z B 7
x -- 1
…. …. ....
Tabela de roteamento em D

65
RIP: Falha de Enlaces e Recuperação

Se não receber tabelas de rotas depois de 180 sec


--> o vizinho e o enlace são declarados mortos

 rotas através do vizinho são anuladas

 novos anúncios são enviados aos vizinhos

 os vizinhos por sua vez devem enviar novos anúncios


(se suas tabelas de rotas foram alteradas)

 a falha de um enlace se propaga rapidamente para a


rede inteira
66
RIP Processamento da tabela de rotas

 O RIP é um protocolo da camada de aplicação;


 As tabelas de roteamento do RIP são manipuladas por
um processo de aplicação chamado routed (daemon)
 Mantém a tabela de roteamento e troca msgs com outros routed
vizinhos
 anúncios são enviados em pacotes UDP com repetição
périódica

67
Exemplo de tabela RIP

Roteador: giroflee.eurocom.fr
Destination Gateway-IP Flags Ref Use Interface
-------------------- -------------------- ----- ----- ------ ---------
127.0.0.1 127.0.0.1 UH 0 26492 lo0
192.168.2. 192.168.2.5 U 2 13 fa0
193.55.114. 193.55.114.6 U 3 58503 le0
192.168.3. 192.168.3.5 U 2 25 qaa0
224.0.0.0 193.55.114.6 U 3 0 le0
default 193.55.114.129 UG 0 143454

• 3 redes classe C diretamente conectadas (LANs)


• Interfaces: fa0, le0 e qaa0
• Roteador somente conhece rotas para as LANS locais (nesse caso
particular)
• rota Default usada para mandar mensagens para fora
• endereço de rota multicast: 224.0.0.0
• Loopback interface (para depuração): 127.0.0.1
68
OSPF (Open Shortest Path First)
RFC 2178

 “open”: publicamente disponível


 Utilizada para roteamento Intra-AS;
 Usa algoritmo do tipo Link State
 disseminação de pacotes LS
 Mapa topológico em cada nó
 usa algoritmo de Dijkstra’s para cálculo de rotas

 anúncios do OSPF transportam um registro para cada


roteador vizinho

 Anúncios são distribuídos para todo sistema autônomo


– AS (via flooding - inundação de informação de estado
de enlace)
69
OSPF características avançadas
 Segurança: todas as mensagens do OSPF são autenticadas (para
previnir intrusão de hackers); usa conexões TCP para as suas
mensagens

 Múltiplos caminhos de mesmo custo são permitidos (o RIP só


permite um caminho para cada destino)

 Para cada enlace podem ser calculadas múltiplas métricas uma


para cada tipo de serviço -TOS (ex, custo de enlace por satélite
definido baixo para tráfego de “melhor esforço” e alto para serviços
de tempo real)

 Integra tráfego unicast e multicast :


 Multicast OSPF (MOSPF) fornece extensões simples ao OSPF para
prover roteamento multicast;
 Usa a mesma base de dados topológica de enlaces do OSPF e adiciona
um novo tipo de anúncio de estado do enlace ao mecanismo OSPF de
transmissão do estado de enlace;
70
OSPF características avançadas
 OSPF Hierárquico:
 Suporte para hierarquia dentro de domínio de roteamento;
 Capacidade de estruturar hierarquicamente um sistema autônomo;

 Um sistema autônomo pode ser configurado em áreas:


 Cada área roda seu próprio algoritmo de Roteamento OSPF;
 Cada roteador em uma área transmite seu estado de enlace a
todos os outros roteadores daquela área;
 Detalhes internos de uma área permanecem invisíveis para os
outros roteadores externos a aquela área;

 Dentro de cada área, roteadores de borda de área, são


responsáveis pelo roteamento de pacotes para fora da área;

 Uma área do OSPF é configurada para ser o backbone.

71
Troca informações de
OSPF Hierárquico roteamento com roteadores
de outros AS

Roteador de Borda do AS
Roteamento
dentro da área
e do backbone
Roteamento
dentro do
backbone

Roteamento
dentro da área
72
EIGRP (Enhanced Interior Gateway Routing Protocol)

 Protocolo proprietário da CISCO; sucessor do RIP (meados


dos anos 80)

 Vetor distância, como RIP

 várias métricas de custo (atraso, banda, confiabilidade,


carga, etc.)

 usa o TCP para trocar informações de novas rotas

 Loop-free routing via Distributed Updating Algorithm


(DUAL) baseado em técnicas de computação difusão de
mensagens para calcular de maneira rápida os caminhos
de roteamento sem loop 73
Inter-AS routing

AS3
AS2

AS1

74
Internet inter-AS
routing: BGP
AS3
AS2

RFC 1771, rfc 1772 e rfc 1773 AS1

 BGP (Border Gateway Protocol): é o padrão de fato para


uso na Internet
 O BGP permite que cada AS conheça quais destinos podem ser
alcançados via seus AS’s vizinhos;
 BGP utiliza prefixos ciderizados, sendo que cada prefixo
representa uma sub-rede ou um conjunto de sub-redes

 Ex1: 4 sub-redes conectadas ao AS2: 138.16.64/24, 138.16.65/24,


138.16.66/24 e 138.16.67/24
 AS2 pode agregar os prefixos das 4 sub-redes e utilizar o BGP para
anunciar ao AS1 o prefixo único 138.16.64/22

 Ex2: as primeiras 3 sub-redes estão no AS2 e a última no AS3


 Roteadores usam Regra de compatibilização com o prefixo mais
longo:
 AS3 anuncia a AS1 o prefixo mais específico 138.16.67/24
 AS2 anuncia a AS1 o prefixo agregado 138.16.64/22
75
Internet inter-AS routing: BGP
RFC 1771, rfc 1772 e rfc 1773

 Algoritmo Path Vector – protocolo vetor de caminho :


 similar ao protocolo Distance Vector
 cada Border Gateway envia em broadcast aos seus vizinhos
(peers) o caminho inteiro (isto é a seqüência de AS’s - rotas)
até o destino via anúncios:
 e não informações de custo - Ex: numero de saltos.

 Ex: Roetador X deve enviar seu caminho até o destino Z:

Path (X,Z) = X,Y1,Y2,Y3,…,Z

X pode enviar datagramas para Z via AS´s: X,Y1,Y2,Y3,…,Z

76
Internet inter-AS routing: BGP
RFC 1771, RFC 1772 e RFC 1773

 Pares BGP definem uma rota trocando alguns atributos


dentro de anúncios, p.ex:

 AS-PATH
 Este atributo contém os AS’s pelos quais passou o anúncio para o
prefixo;
 Quando um anuncio passa por um AS, este adiciona seu numero de
sistema autônomo (ASN) ao atributo AS-PATH;
 AS2 para AS1 e AS1 para AS3 = AS-PATH = AS2 AS1

 NEXT-HOP
 Um par de AS (A e B) possui vários enlaces físicos conectados
diretamente entre eles;
 Quando um pacote é repassado de A para B, poderia ser enviado
por qualquer enlace direto;
 Um roteador de A pode receber varias rotas para um mesmo prefixo –
destino – mas pode escolher um roteador de próximo salto diferente
(rotas diferentes para cada pacote recebido) 77
Internet inter-AS routing: BGP
Suponha: roteador X envia seu caminho ao roteador parceiro W
 W pode escolher ou não o caminho oferecido por X
 critérios de escolha: custo, regras (não rotear através de AS rivais ), prevenção de loops.

 Se W seleciona o caminho oferecido por X, então:


Path (W,Z) = w, Path (X,Z) = w, X,Y1,Y2,Y3,…,Z

 Nota: X pode controlar o tráfego de entrada (filtrar) controlando as rotas que ele informa aos seus parceiros:
 ex., se X não quer rotear tráfego para Z, X não informa nenhuma rota para Z
 Isso é chamado de política de importação.

78
Internet inter-AS routing: BGP
 As mensagens do BGP são trocadas encapsuladas no TCP.
 Anúncios/mensagens BGP:

 OPEN: inicia a conexão TCP com um roteador parceiro e


autentica o transmissor e porta 179

 UPDATE: anuncia novo caminho – rota (ou retira um velho)

 KEEPALIVE mantém a conexão viva em caso de ausência de


atualizações; também reconhece mensagens OPEN

 NOTIFICATION: reporta erros nas mesnagens anteriores;


também usado para encerrar uma conexão

79
Por que os protocolos Intra- e Inter-AS são
diferentes ?
Políticas:
 Inter-AS: a administração quer ter controle sobre como seu tráfego
é roteado e sobre quem roteia através da sua rede;
 Intra-AS: administração única: as decisões políticas são mais
simples.

Escalabilidade
 O roteamento hierárquico poupa espaço da tabela de rotas e reduz
o tráfego de atualização.

Performance:
 Intra-AS: preocupação maior é desempenho;
 Inter-AS: regras de mercado podem ser mais importantes que
desempenho. 80
Orientações para estudo:
 O aluno que pretende atuar na área de Redes, ou que se
interessar pelo assunto, encontrará uma discussão fácil e bem
elaborada sobre roteamento, consultando os capítulos de 14 a 17
do livro Comer, Douglas E, “Interligação em Redes com
TCP/IP” da Editora Campus - Brasil. São apenas aproximadamente
100 páginas numa linguagem bastante didática e acessível a todos os
estudantes.

 Ainda outras leituras recomendadas que são complementares ao


assunto “Camada de Rede/Internet”:
 A.S.T - Redes de Computadores, seções que tratam de protocolos de
roteamento:
 O protocolo de Roteamento de Gateway Interno: OSPF
 O protocolo de Roteamento de Gateway Eterno – BGP
 Roteamento Inter-domínio sem classe - CDIR (importante !)
81
IPv6
 Motivação inicial: o espaço de endereços de 32-bits
estará completamente alocado por volta de 2008.

 Motivação adicional:
 melhorar o formato do header para permitir maior velocidade de
processamento e de transmissão
 mudanças no header para incorporar mecanismos de controle
de QOS
 novo tipo de endereço: “anycast” - permite enviar uma
mensagem para o melhor dentre vários servidores replicados
 IPv6 formato dos datagramas:
 cabeçalho fixo de 40 bytes
 não é permitida fragmentação

82
IPv6 Header (Cont)
Priority: permitir definir prioridades diferenciadas para
vários fluxos de informação
Flow Label: identifica datagramas do mesmo “fluxo.”
(conceito de “fluxo” não é bem definido).
Next header: identifica o protocolo da camada superior
ou um header auxiliar

83
Outras mudanças do IPv4
 Checksum: removido inteiramente para
reduzir o tempo de processamento em cada
hop
 Options: são permitidas, mas são alocadas
em cabeçalhos suplementares, indicados
pelo campo “Next Header”
 ICMPv6: nova versão de ICMP
 tipos de mensagens adicionais , ex. “Packet Too
Big”
 funções de gerenciamento de grupos multicast
84
Transição do IPv4 para IPv6
 Nem todos os roteadores poderão ser atualizados
simultaneamente
 não haverá um dia da vacinação universal
 A rede deverá operar com os dois tipos de datagramas
simultaneamente presentes
 Duas abordagens propostas:
 Dual Stack: algusn roteadores com pilhas de protocolos
duais (v6, v4) podem trocar pacotes nos dois formatos
e traduzir de um formato para o outro
 Tunneling: IPv6 transportado dentro de pacotes IPv4
entre roteadores IPv4

85
Abordagem de Pilha Dupla

De A para F tudo em IPv6, mas quando o pacote passo pelo C e D há perda


De informações pois o pacote IPv4 é menor;
Solução: tunelamento 86
Tunelamento
IPv6 dentro do IPv4 onde necessário

87
Bibliografia
 James F. Kurose e Keith W. Ross
 Redes de Computadores e a Internet:

 Andrew S. Tanenbaum
 Redes de Computadores

 SOUSA, Lindeberg Barros de


 Redes de computadores: dados, voz e imagem

 Comer, Douglas E.,


 Interligação de Redes Com Tcp/ip
88
Atividades de Aprendizagem

 Próximas Aulas
 Resoluções de Exercícios sobre a Camada Redes
 Avaliação Parcial 1.2

89

Você também pode gostar