Escolar Documentos
Profissional Documentos
Cultura Documentos
Camada de Rede
Capítulo 4 Kurose & Ross
Prof: José Marcos Silva Nogueira
Universidade Federal de Minas Gerais
Departamento de Ciência da
Computação
Objetivos do Capítulo
U Instanciação e implementação na
Internet
1
Camada de Rede
Sumário
U Modelo de serviços da camada de rede
U Roteamento: seleção de rotas
U Roteamento hierárquico
U O protocolo Ip
U Protocolos de roteamento da internet
P Intra-domínio
P Inter-domínio
U Funcionamentao de um roteador IP
U O protocolo Ipv6
U Roteamento multicast
Rede
rede
enlace
fisica rede
rede enlace rede
U Transportar pacotes enlace
fisica
fisica enlace
fisica
2
Modelo de serviço de redes
Três funções aplicação
importantes:
transporte
rede
enlace
rede
Determinação de caminhos:
fisica
rede enlace
U enlace fisica
rede
enlace
rota escolhida para os pacotes fisica fisica
rede
entre as portas de entrada e rede
enlace
enlace
fisica
de saída dos roteadores fisica
rede
U Estabelecimento de conexão: enlace
fisica
aplicação
transporte
?
entre pacotes? datagrama
U Entrega sem perdas?
U Entrega em ordem?
U Realimentação de informação
de congestionamento?
3
Modelo de serviço de redes
Comutador ou Chave Comutadora
Modelos de
Modelo de serviço de redes
Comutação de Pacotes
4
Modelo de serviço de redes:
Circuitos virtuais (VC)
“A ligação entre a origem e o destino emula
uma ligação telefônica”
P Orientado ao desempenho
5
Modelo de serviço de redes
Circuitos virtuais: Sinalização
U Usada para estabelecer, manter e encerrar
circuitos virtuais
U Usadas em redes ATM, Frame-Relay e X-25
U Não usadas na Internet
aplicação
6. Recebe Dados aplicação
transporte 5. Inicia Fluxo de dados
rede 4. Call connected 3. Accept call transporte
rede
enlace 1. Call Request 2. incoming call
enlace
fisica
fisica
aplicação
aplicação
transporte
transporte
rede
rede
enlace 1. Envia dados 2. Recebe dados
enlace
fisica
fisica
6
Modelo de serviço da camada de rede:
Parâmetros Garantidos
Arquitetura Modelo de Realim. de
de Rede Serviço Banda Perda Ordem Tempo congestionamen
7
O que há dentro de
um roteador?
8
Funções na porta de entrada
Camada física:
recepção de bits
Comutação descentralizada:
Camada de enlace:
U dado o destino do datagrama, busca porta de
ex., Ethernet saída, usando a tabela de roteamento na
veja capítulo 5 memória da porta de entrada
U objetivo: completar o processamento da porta
de entrada na ‘velocidade da linha’
U filas: se o datagramas chegam mais depressa
que a taxa de envio para a estrutura de
comutação
9
Três tipos de estruturas de comutação
Barramento do sistema
Roteadores modernos:
U processador da porta de entrada realiza busca e
cópia para a memória
U Cisco Catalyst 8500
10
Comutação Via
Barramento
11
Comutação via Rede de Interconexão
Portas de Saída
12
Filas na porta de saída
Roteamento
13
Princípios de Roteamento
Protocolo de Roteamento
Objetivo:
Princípios de Roteamento
Os algoritmos de
5
roteamento são
3
descritos por grafos: B C 5
2
U Nós do grafo são A 2 1 F
3
roteadores 1 2
D E
U Arestas do grafo são 1
enlaces
P Custo do enlace: atraso, U “bons” caminhos:
banda, preço ou nível de
P tipicamente
congestionamento
correspondem aos
caminhos de menor
custo
P caminhos redundantes
14
Classificação dos algoritmos de roteamento
Informação global ou
descentralizada?
Global:
U Todos os roteadores têm informações
completas sobre a topologia e dos custos
dos enlaces
U Algoritmos “Link state” – estado de
enlace
Informação global ou
descentralizada?
Descentralizada:
U Os roteadores só conhecem dados sobre
seus vizinhos e os enlaces que os
conectam a eles
U Processo de computação interativo,
troca de informações com os vizinhos
U Algoritmos “Distance vector” - vetor de
distância
15
Classificação dos algoritmos de roteamento
Estático ou Dinâmico?
Estático:
U As rotas não mudam ou mudam lentamente
ao longo do tempo
Dinâmico:
U As rotas mudam mais rapidamente
P Atualizações periódicas
P Podem responder a mudanças no custo
dos enlaces
16
Algoritmo estado de enlace
U Second major class of intradomain routing protocol
U Strategy
P Send to all nodes (not just neighbors) information about
directly connected links (not entire routing table)
P Provide each node enough information to enable it to find
the least-cost path to any destination
U Basic mechanisms
P Reliable dissemination of link state information
P Calculation of routes from the sum of all the accumulated
link-state knowledge
17
Algoritmo estado de enlace
U Inundação confiável
P store most recent LSP from each node
P forward LSP to all nodes but one that
sent it
P generate new LSP periodically
• increment SEQNO
P startSEQNO at 0 when reboot
P decrement TTL of each stored LSP
• discard when TTL=0
18
Encontrando a melhor rota:
Algoritmo de Dijsktra
Notação:
U C(i,j): custo do enlace do nó i ao nó j. Custo é
infinito se não houver ligação entre i e j
U D(v): valor atual do custo do caminho da fonte
ao destino V
U P(v): nó predecessor ao longo do caminho da
fonte ao nó v, isto é, antes do v
U N: conjunto de nós cujo caminho de menor custo
é definitivamente conhecido
Algoritmo de Dijsktra
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)
6 senão D(v) = infty
7
8 Loop
9 ache w não em 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
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
B C 5
2
A 2 1 F
3
1 2
D E
1
Oscilações possíveis:
U E.G., custo do enlace = total de tráfego transportado
1 A A A A
1+e 2+e 0 0 2+e 2+e 0
D 0 0 B D 1+e 1 B D B D 1+e 1 B
0 0
0 e 0 0 1 1+e 0 e
1
C C C C
1
e
… recalcula … recalcula … recalcula
initial
roteamento
20
Algoritmo “Distance Vector”
Cada nó informa aos seus vizinhos a distância
que ele tem para todos os outros nós
Iterativo:
U Continua até que os nós não troquem mais
informações.
U Self-terminating: Não há sinal de parada.
Assíncrono:
U Os nós não precisam trocar informações
simultaneamente!
Distribuído:
U Cada nó se comunica apenas com os seus vizinhos,
diretamente conectados
Forwarding vs Routing
U Forwarding/repasse/comutação: to select
an output port based on destination
address and routing table
21
Distance Vector
U Each node maintains a set of triples
P (Destination, Cost, NextHop)
U Exchange updates w/ directly connected neighbors
P periodically (on the order of several seconds)
P whenever table changes (called triggered update)
Exemplo
C
A
D
F G
22
Exemplo – Distâncias inicias (visão
global)
Informação A B C D E F G
em cada nó
A 0 1 1 ∞ 1 1 ∞
B 1 0 1 ∞ ∞ ∞ ∞
C 1 1 0 1 ∞ ∞ ∞
D ∞ ∞ 1 0 ∞ ∞ 1
E 1 ∞ ∞ ∞ 0 ∞ ∞
F 1 ∞ ∞ ∞ ∞ 0 1
G ∞ ∞ ∞ 1 ∞ 1 0
B
Destination Cost NextHop
C
A A 1 A
D C 1 C
D 2 C
E
E 2 A
F 2 A
F G G 3 A
23
Example – Final distances (global view)
Information A B C D E F G
at each
node A 0 1 1 2 1 1 2
B 1 0 1 2 2 2 3
C 1 1 0 1 2 2 2
D 2 2 1 0 3 2 1
E 1 2 2 3 0 2 3
F 1 2 2 2 2 0 1
G 2 3 2 1 3 1 0
C
Destination Cost NextHop
A B 1 B
D
C 1 C
E
D 2 C
E 1 E
F 1 F
F G
G 2 F
24
Roteamento com falhas de
enlace
Example – Fail of a link
U F detects that link to G has failed
U F sets distance to G to infinity and sends update to A
U A sets distance to G to infinity since it uses F to
reach G
U A receives periodic update from C with 2-hop path to
G
U A sets distance to G to 3 and sends update to F
U F decides it can reach G in 4 hops via A
distância de X para
X = Y, via Z como próx. salto
D (Y,Z)
Z
= c(X,Z) + minw{D (Y,w)}
25
Exemplo de Tabela de Distância
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) + minw {D (A,w)}
D 4 11 2
= 2+3 = 5 loop!
E B
D (A,B) = c(E,B) + minw{D (A,w)}
= 8+6 = 14
loop!
A 1 14 5 A A,1
B 7 8 5 B D,5
destino
destino
C 6 9 4 C D,4
D 4 11 2 D D,2
26
Roteamento Vetor-Distância: Resumo
Iterativo, assíncrono: Cada nó:
cada iteração local é
causada por:
U Mudança de custo dos espera por mudança no
enlaces locais custo dos enlaces locais ou
U Mensagem do vizinho: seu mensagem do vizinho
caminho de menor custo
para o destino mudou
Distribuído: recalcula tabela de
U Cada nó notifica seus distância
vizinhos apenas quando seu
menor custo para algum
destino muda se o caminho de menor custo
P Vizinhos notificam seus para algum destino mudou,
vizinhos e assim por diante notifica vizinhos
27
Algoritmo Vetor-Distância:
28
Exemplo: algoritmo vetor-distância
Y
2 1
X Z
7
Y
2 1
X Z X Z
7 D (Y,Z) = c(X,Z) + minw{D (Y,w)}
= 7+1 = 8
X Y
D (Z,Y) = c(X,Y) + minw {D (Z,w)}
= 2+1 = 3
29
Vetor-Distância: Mudança no custo do enlace
algoritmo
termina
“boas
notícias
viajam
depressa”
algoritmo
continua!
30
Vetor Distância: Poisoned Reverse
Se Z roteia através de Y para chegar a X
60
: Y
U Z diz a Y que sua (de Z) distância para X é 4 1
infinita (assim Y não roteará para X via Z) X Z
50
U será que isso resolve completamente o
problema da contagem ao infinito?
algoritmo
termina
31
Roteamento Hierárquico
Problemas do mundo real
U roteadores não são todos idênticos
U as redes não são “flat” na prática
Roteamento Hierárquico
U Agrega roteadores em roteadores de borda
regiões, “sistemas U Roteadores de interface
autônomos ” (AS) de um AS
U Roteadores no mesmo U Rodam protocolos de
roteamento intra-as
AS rodam o mesmo com os outros
protocolo de roteadores do AS
roteamento U Também responsáveis
P Protocolo de por enviar mensagens
roteamento “Intra-as” para fora do AS
P Roteadores em P Rodam protocolo de
diferentes AS podem roteamento inter-as
rodar diferentes com outros rotea-
protocolos de dores de borda
roteamento
32
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 física
33
A camada de rede da Internet
H1 H8
TCP R1 R2 R3 TCP
IP IP IP IP IP
TCP R1 R2 R3 TCP
IP IP IP IP IP
Network 1 (Ethernet)
ETH ETH FDDI FDDI PPP PPP ETH ETH
H7 R3 H8
H1 H2 H3
Network 4
Network 2 (Ethernet) (point-to-point)
R1
R2
H4
Network 3 (FDDI)
H5 H6
34
A camada de rede da Internet
Entidade de rede em roteadores ou hosts:
Camada de enlace
Camada física
Protocolo IP – Princípio de
funcionamento
U Entrega feita com o “maior esforço”
(best-effort delivery)
U No entanto, IP não garante que não
haja:
P Duplicação de pacotes
P Entrega atrasada ou fora de ordem
P Alteração de dados
P Perda de pacotes
P Protocolos de outros níveis devem tratar
desses problemas
35
Formato do pacote IP
Formato do pacote IP
U Version:
P Indica o número da versão corrente
P Permite uma transição “suave” entre versões
V4
36
Formato do pacote IP
Formato do pacote IP
U Tipo de serviço - TOS
P Prioridade (3 bits)
P Flags indicam o que é
mais importante para a
aplicação: menor atraso,
maior vazão, maior
confia-bilidade (3 bits)
P Dois bits não usados
P Na prática, os
roteadores tendem a
ignorar este campo
37
Formato do pacote IP
U Comprimento total do pacote:
P Pode ser até 65535 bytes
Formato do pacote IP
U Identificação:
P Identifica o fragmento de um datagrama
P É usado pelo destinatário para remontagem
(explicada à frente)
38
Formato do pacote IP
U Bit DF (don't
fragment):
P Indica que o pacote não
deve ser fragmentado
U Bit MF (more
fragments):
P Todos os fragmentos de
um pacote, exceto o
último, ligam este bit
Formato do pacote IP
U Fragment Offset:
P Indica onde o fragmento se encaixa dentro do pacote
P Cada fragmento, exceto o último, deve ser múltiplo
de 8
39
Formato do pacote IP
U Time To Live:
P Teoricamente, indica o tempo máximo que um
pacote pode existir na rede, i.e., 255 s
P Na prática, indica o número máximo de
roteadores que pode passar por
Formato do pacote IP
U Protocolo:
P Indica o protocolo dos dados transportados no
pacote.
P Os dados devem ser passados para a entidade
correspondente no nível superior
P A identificação dos protocolos é dada pela RFC
1700
40
Formato do pacote IP
U Checksum do cabeçalho:
P Tem como objetivo aumentar a confiabilidade do
pacote entregue às camadas superiores
Formato do pacote IP
U Endereços dos computadores origem e
destino
41
Formato do pacote IP
U Opções:
P Forma de incluir informações não presentes na
versão
Endereçamento
em
redes IP
42
Endereçamento IP: Introdução
U Endereço IP: identificador de 32-bits
para interfaces de roteadores e hosts
Esquema de
endereçamento IP
U Na arquitetura TCP/IP, o endereçamento é
especificado pelo Internet Protocol (IP)
U Endereço IP de um computador:
P Número binário único de 32 bits
43
Esquema de
endereçamento IP
U Número de rede é único
Classes de endereçamento IP
U Compromisso entre tamanho de prefixo e
sufixo que reflete diferentes tamanhos de
rede
U Classes primárias: A, B e C
U Classe D: comunicação em grupo
U Classe E: extensão futura (sem uso)
U É chamado de auto-identificável:
P A classe de um endereço pode ser calculada do
próprio endereço
44
Global Addresses
U Properties
P globally unique
P hierarchical: network + host
U Dot Notation
7 24
A: 0 Network Host
P 10.3.2.4
P 128.96.33.81 14 16
P 192.12.69.77
B: 1 0 Network Host
21 8
C: 1 1 0 Network Host
Classes de endereçamento IP
45
Endereço IP
U É chamado de auto-
identificável:
P A classe de um
endereço pode ser
calculada do próprio
endereço
Endereço IP
U Notação decimal com ponto:
P 32 bits: 4 x 8 bits
46
Endereço IP
U Valores do primeiro octeto do endereço:
U Espaço de endereçamento:
Exemplo de endereçamento
47
Endereços especiais
U Existem alguns endereços que são
reservados e não são atribuídos a
computadores
Endereçamento IP
223.1.1.1
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
223.1.3.1 223.1.3.2
223 1 1 1
48
Endereçamento IP
U Endereço IP:
P parte de rede (bits mais significativos)
P parte de host (bits menos significativos)
Endereçamento IP
223.1.1.1
223.1.2.1
Rede consistindo de 3 sub-redes 223.1.1.2
IP 223.1.1.4 223.1.2.9
(para endereços IP começando
223.1.2.2
com 223, os primeiros 24 bits 223.1.1.3 223.1.3.27
são o endereço de rede )
LAN
223.1.3.1 223.1.3.2
49
Endereçamento IP
Como encontrar as redes 223.1.1.1 223.1.1.2
223.1.1.4
U Separar cada interface de
roteadores e hosts 223.1.1.3
U 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
Endereços IP
endereçamento “class-full”:
class
1.0.0.0 to
A 0 rede host 127.255.255.255
B rede 128.0.0.0 to
10 host
191.255.255.255
192.0.0.0 to
C 110 rede host
223.255.255.255
224.0.0.0 to
D 1110 multicast address
239.255.255.255
32 bits
50
Endereços de roteadores
U Roteadores devem ter endereços IP
Endereços de roteadores
51
Endereçamento IP
parte de parte de
rede host
11001000 00010111 00010000 00000000
200.23.16.0/23
52
Como obter um endereço IP
Hosts :
U Endereço fixo: definido pelo administrador
53
Endereçamento Hierárquico: agregação de
rotas
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”
54
Como obter um endereço IP...
Datagram Forwarding
U Forwarding – encaminhamento
P O processo de pegar um pacote de uma entrada e
passá-lo para uma saída apropriada.
U Routing – roteamento
P O processo de construção de tabelas que permitem
a correta saída de um pacote ser determinada.
55
Datagram Forwarding
U Strategy
P every datagram contains destination’s address
P if directly connected to destination network, then
forward to host
P if not directly connected to destination network,
then forward to some router
P forwarding table maps network number into next
hop
P each host has a default router
P each router maintains a forwarding table
Datagram Forwarding:
Algorithm
56
Datagram Forwarding
U Example network
Network 1 (Ethernet)
H7 R3 H8
H1 H2 H3
Network 4
(point-to-point)
Network 2 (Ethernet)
R1
R2
H4
Network 3 (FDDI)
H5 H6
Datagram Forwarding
Network 1 (Ethernet)
H7 R3 H8
H1 H2 H3
Network 4
Network 2 (Ethernet) (point-to-point)
R1
R2
H4
Network 3 (FDDI)
H5 H6
57
Datagram Forwarding
H1 H2 H3
Network 4
Network 2 (Ethernet) (point-to-point)
R1
R2
H4
Network 3 (FDDI)
H5 H6
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
U os endereços do 223.1.2.1
datagrama não mudam ao 223.1.1.2
223.1.1.4 223.1.2.9
viajar da fonte ao destino
B
223.1.2.2
223.1.1.3 223.1.3.27 E
223.1.3.1 223.1.3.2
58
Levando um Datagrama da Origem 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 223.1.2 223.1.1.4 2
IP para B: 223.1.3 223.1.1.4 2
U examine endereço de rede de B
U descobre que B está na mesma rede
A 223.1.1.1
de A 223.1.2.1
U camada de enlace envia datagrama 223.1.1.2
diretamente para B num quadro da 223.1.1.4 223.1.2.9
camada de enlace B
223.1.2.2
U Se necessário descobre endereço 223.1.1.3 223.1.3.27 E
físico de B
P B e A são diretamente 223.1.3.1 223.1.3.2
conectados
U continua…..
59
Levando um Datagrama da Origem ao
Destino
Próx. Núm. Endereço
outros Rede destino roteador saltos Interface
dados
campos 223.1.1.1 223.1.2.2
223.1.1 - 1 223.1.1.4
Chegando em 223.1.1.4, é 223.1.2 - 1 223.1.2.9
destinado para 223.1.2.2 223.1.3 - 1 223.1.3.27
U examina endereço de rede de E
U E está na mesma rede da A 223.1.1.1
interface 223.1.2.9 do roteador 223.1.2.1
P roteador e E estão 223.1.1.2
diretamente ligados 223.1.1.4 223.1.2.9
U 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
U datagrama chega em 223.1.2.2!!! 223.1.3.1 223.1.3.2
(ufa!)
Datagram Forwarding
U Redes escaláveis
P Parase obter escalabilidade, é preciso
reduzir a quantidade de informação
armazenada em cada nó
60
Datagram Forwarding
U Escalabilidade com IP
P Dois níveis de hierarquia
• Redes no nível superior
• Nós no nível inferior
61