Você está na página 1de 61

Redes de Computadores

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

Belo Horizonte - 2008

Capítulo 4: Camada de Rede

Objetivos do Capítulo

U Explicar as funções da camada de rede


P Roteamento (escolha de caminho)
P Escalabilidade
P Como funciona um roteador
P Tópicos avançados: ipv6, multicast

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

Modelo de serviço de redes

Funções da Camada de aplicação


transporte

Rede
rede
enlace
fisica rede
rede enlace rede
U Transportar pacotes enlace
fisica
fisica enlace
fisica

entre os sistemas finais rede


enlace
da rede fisica rede
enlace
fisica
U A camada de rede deve rede

ter uma entidade em


rede enlace
enlace fisica
fisica
cada sistema final ou rede
enlace aplicação

roteador da rede transporte


fisica
rede
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

entre a origem e o destino. rede


enlace
Algoritmos de roteamento fisica rede
enlace

U Comutação: mover pacotes


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

algumas arquiteturas de rede rede


enlace
exigem o estabelecimento de fisica

circuitos virtuais antes da


transmissão de dados

Modelo de serviço de rede


Q: Como escolher um
modelo de serviço para
Nível mais geral
o canal que transporta
de abstração na
pacotes da origem ao
camada de rede
destino?
U Banda-passante garantida?
? ?
circuito virtual
abstração de serviço

U Preservação dos intervalos ou

?
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

U Um comutador (switch) é um dispositivo com


várias entradas e saídas interconectando
computadores
U Sua função básica é pegar pacotes que chegam
numa entrada e repassá-los para uma saída
correta, de forma a chegarem no destino
apropriado
U A operação é chamada de
P Comutação, repasse ou reencaminhamento
P Forward ou switching

Modelos de
Modelo de serviço de redes
Comutação de Pacotes

U São dois modelos:


1. Comutação de pacotes no modo
datagrama (modelo não orientado a
conexão)
2. Comutação de pacotes sobre circuitos
virtuais (modelo orientado a conexão)

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

P A rede controla a conexão entre a origem e o


destino

P Mundo telecom X mundo computação: onde se


situa a inteligência ou complexidade?

Modelo de serviço de redes:


Circuitos virtuais (VC)
U Após o estabelecimento da conexão deve proceder ao envio
de dados. Liberação da conexão após os dados.
U Cada pacote transporta um identificador do CV; não
transporta o endereço completo do destino.
U Cada roteador na rota mantém informação de estado para
conexão que passa por ele.
P A conexão de camada de transporte envolve apenas os
sistemas finais
U A banda passante e os recursos do roteador podem ser
alocados por VC
P Controle de qualidade de serviço por VC

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

Modelo de serviço de redes


Redes Datagrama: o modelo da Internet
U Não existem conexões na camada de rede
U Não há informação de estado de conexão nos roteadores
P Não existe conexão na camada de rede
U Pacotes tipicamente transportam o endereço de destino
P 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

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

Internet melhor não não não não não (examina


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

U Novos serviços na Internet: Intserv, Diffserv

Modelo de serviço de redes


Datagrama versus Circuito Virtual
Internet ATM
U Dados trocados entre U Originário da telefonia
computadores
U Conversação humana:
P Serviço elástico, requisitos
de atraso não críticos P Tempos estritos,

U Sistemas finais inteligentes


exigências de
P Podem adaptar-se, realizar
confiabilidade
controle e recuperação de P Necessário para serviço
erros garantido
P A rede é simples, a U Sistemas finais “burros”
complexidade fica nas pontas
P Telefones
U Muitos tipos de enlaces
P Complexidade dentro da
P Características diferentes
rede
P Difícil obter um serviço
uniforme

7
O que há dentro de
um roteador?

Visão da Arquitetura de Roteadores

Duas funções chave dos roteadores:


U rodar algoritmos e protocolos de roteamento (RIP, OSPF, BGP)
U comutar datagramas do enlace de entrada para o enlace de
saída

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

Enfileiramento na Porta de Entrada


U Se a estrutura de comutação for mais lenta que a capacidade
combinada das portas de entrada -> pode ocorrer filas nas
portas de entrada
U Bloqueio Head-of-the-Line (HOL): datagramas enfileirados no
início da fila bloqueiam aqueles que estão atrás na fila
U Atrasos de filas e perdas são provocados pela saturação do
buffer de entrada!

9
Três tipos de estruturas de comutação

Comutação via Memória


Empregada nos roteadores de primeira geração:
U pacotes são copiados pela única CPU do sistema
U velocidade é limitada pela banda passante da
memória (2 cruzamentos do bus por datagrama)
Porta de Memória Porta de
Entrada Saída

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

U datagrama é transferido da memória da


porta de entrada para a memória da porta
de saída via um barramento compartilhado
U contenção no bus: velocidade de
comutação limitada pela capacidade do
barramento
U 1 Gbps bus, Cisco 1900: velocidade
suficiente para roteadores de acesso e de
empresas (não para roteadores regionais e
de backbone)

Comutação via Rede de Interconexão

U supera limitações da banda do barramento


U redes de Banyan, outras redes de interconexão
originalmente desenvolvidas para conectar
processadores num sistema multi-processador

11
Comutação via Rede de Interconexão

U Projeto avançado: fragmentar datagramas em


células de comprimento fixo e comutar as células
por uma rede de comutação.

U Cisco 12000: comuta vários gigabis por segundo


através de uma rede de interconexão

Portas de Saída

U Armazenamento: exigido quando os datagramas


chegam da estrutura de comutação mais depressa
que a taxa de transmissão do enlace de saída
U Disciplina de fila: escolhe entre os datagramas
enfileirados um deles para transmissão

12
Filas na porta de saída

U Armazenamento quando a taxa de chegada pelo


comutador excede a velocidade da linha de saída
U Filas(atrasos) e perdas são provocados por um
overflow do buffer da porta de saída!

Roteamento

Ou, como eu faço para


chegar aonde eu quero
ir?

13
Princípios de Roteamento
Protocolo de Roteamento

Objetivo:

Determinar “bons” caminhos (seqüência de


roteadores) através da rede entre a fonte e
o destino.

Algoritmos de roteamento são


descritos por grafos

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

Classificação dos algoritmos de roteamento

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

Algoritmo link-state (estado de


enlace)

U A topologia de rede e o custo dos enlaces são


conhecidos por todos os nós.
P Cada nó difunde o estado dos seus enlaces –
com os vizinhos
P Todos os nós têm a mesma informação
U Cada nó computa os caminhos de menor custo
para todos os outros nós
P Constrói uma tabela de roteamento

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

Algoritmo estado de enlace

U Pacote de controle Link State (LSP)


P id of the node that created the LSP
P cost of link to each directly connected
neighbor
P sequence number (SEQNO)
P time-to-live (TTL) for this packet

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

Encontrando a melhor rota:


Algoritmo de Dijsktra
U Usado no roteamento estado de enlace para
calcular as rotas

U Computa caminhos de menor custo de um nó


(fonte) para todos os outros nós

U Convergência: após k iterações, conhece o


caminho de menor custo para k destinos.

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

Discussão do Algoritmo de Dijkstra


Complexidade do Algoritmo: n nós
U Cada iteração: precisa verificar todos os nós w, que
não estão em N
U N*(n+1)/2 comparações: o(n**2)
U Implementações mais eficientes: o(nlogn)

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

U Routing/roteamento: process by which


routing table is built

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)

U Each update is a list of pairs:


P (Destination, Cost)

U Update local table if receive a “better” route


P smaller cost
P came from next-hop

U Refresh existing routes; delete if they time out

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

Exemplo – tabela de rotas no nó B

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

Exemplo – tabela final de rotas no nó A

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

Algoritmo “Distance Vector”

Estrutura de Dados da Tabela de Distância


U Cada nó tem sua própria tabela
U Linha para cada possível destino
U Coluna para cada roteador vizinho
U Exemplo: no nó X, para destino Y via vizinho Z:

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

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) + 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 Tabela de Distâncias Gera a Tabela


de Roteamento
custo através de
E
D () A B D Enlace de saída, custo

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

Tabela de distância Tabela de Roteamento

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

Roteamento Vetor de Distância


Exemplo – Cálculo da nova tabela para o nó J

27
Algoritmo Vetor-Distância:

Para todos os nós, X:


1 Inicialização:
2 para todos os nós adjacentes v:
3 DX(*,v) = infinito /* o operador * significa ”para todas as colunas" */
X
4 D (v,v) = c(X,v)
5 para todos os destinos, y
X
6 envia min D (y,w) para cada vizinho /* w sobre todos vizinhos de X*/
w

Algoritmo Vetor-Distância (Cont.):


8 loop
9 wait (até ocorrer uma mudança no custo do enlace para vizinho V
10 ou até receber atualização do vizinho V)
11
12 if (c(X,V) muda por d)
13 /* muda o custo para todos os destinos via vizinho v por d */
14 /* nota: d pode ser positivo ou negativo */
15 para todos os destinos y: DX(y,V) = DX(y,V) + d
16
17 else if (atualização recebida de V sobre destino Y)
18 /* caminho mais curto de V para algum Y mudou */
19 /* V enviou um novo valor para seu min w DV(Y,w) */
20 /* chame este novo valor recebido "newval" */
21 para o único destino y: DX(Y,V) = c(X,V) + newval
22
23 if nós temos um novo min w DX(Y,w) para algum destino Y
24 envie novo valor de min w D X(Y,w) para todos os vizinhos
25
26 forever

28
Exemplo: algoritmo vetor-distância

Y
2 1
X Z
7

Exemplo: algoritmo vetor-distância

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

Mudança no custo do enlace:


U nó detecta que o custo do enlace local 1
mudou Y
4 1
U atualiza tabela de distâncias (linha 15) X Z
U se o custo do caminho de menor custo 50
mudou, notifica vizinhos (linhas 23 e 24)

algoritmo
termina
“boas
notícias
viajam
depressa”

Vetor Distância: Mudança no custo do


enlace
Mudança no custo do enlace:
60
U más notícias viajam devagar - Y
problema da contagem ao 4 1
infinito X Z
50

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

Comparação dos Algoritmos LS e VD


Complexidade Robustez: o que acontece se um
U LS: com n nós, E links, o(ne) roteador funciona mal?
mensagens enviadas Ls:
U DV: trocas somente entre P Nós podem anunciar custos
vizinhos incorretos para os enlaces.
P Tempo de convergência varia P Cada nó calcula sua própria
Tempo de convergência tabela de roteamento
U LS: algoritmo o(n**2) exige Dv:
o(ne) msgs P Nó pode anunciar caminhos
P Pode ter oscilações com custo incorreto
U DV: tempo de convergência varia P Tabela de cada nó é usada
por outros
P Podem haver loops de
• Propagação de erros pela
roteamento
rede
P Problema da contagem ao
infinito

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

Escala: com 50 milhões Autonomia Administrativa


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

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

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

33
A camada de rede da Internet

U Pilha de protocolos (Protocol stack)

H1 H8

TCP R1 R2 R3 TCP

IP IP IP IP IP

ETH ETH FDDI FDDI PPP PPP ETH ETH

A camada de rede da Internet

U Pilha de protocolos (Protocol stack)


H1 H8

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 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

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

U IHL (Tamanho do cabeçalho):


P Quantidade de grupos de 32 bits presentes no
cabeçalho
P Mínimo: 5 (sem nenhuma opção)
P Máximo: 15 a 60 bytes (40 opções)

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

U Interface: conexão entre roteador ou


host e enlace físico
P Roteador tem tipicamente múltiplas
interfaces
P Hosts podem ter múltiplas interfaces
P endereços IP são associados com interfaces,
não com o host ou com o roteador

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

U Dividido em duas partes:


P Prefixo: identifica a rede física na qual o
computador se encontra (número de rede)
P Sufixo: identifica o computador na rede

43
Esquema de
endereçamento IP
U Número de rede é único

U Número do prefixo deve ser controlado


globalmente

U Número do sufixo pode ser controlado


localmente

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

U Forma usual de representar endereços


U Exemplo:
P turmalina.dcc.ufmg.br: 150.164.10.1

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 = 11011111 00000001 00000001 00000001

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)

U O que é uma rede? (na perspectiva do endereço)


P Conjunto de interfaces de dispositivos com o mesmo
valor da parte de rede no endereço IP
P Os hosts podem se comunicar fisicamente sem o auxílio
de um roteador
P Conhecida também com sub-rede

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 Criar ilhas de redes


isoladas 223.1.9.2 223.1.7.0

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

Sistema com seis 223.1.2.1 223.1.2.2 223.1.3.1 223.1.3.2


redes interconectadas

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

U Cada roteador deve ter dois ou mais


endereços IP

P Um roteador tem conexões para diferentes


redes físicas

P Cada endereço IP contém um prefixo que


especifica uma rede física

Endereços de roteadores

51
Endereçamento IP

U Problemas do endereçamento “Classful”:


P Uso ineficiente do espaço de endereçamento,
exaustão do espaço de endereços

P E.G., rede de Classe B aloca endereços para 64k


hosts, mesmo se só existem 2000 hosts naquela
rede

Endereçamento IP: CIDR


U CIDR: classless interdomain routing
P A porção de endereço de rede tem tamanho
arbitrário
P 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

52
Como obter um endereço IP

Hosts :
U Endereço fixo: definido pelo administrador

U DHCP: dynamic host configuration protocol: permite a


atribuição dinâmica de endereços IP
P Host envia (broadcast) mensagem “DHCP discover”
P DHCP server responde com mensagem “DHCP offer”
P Host pede endereço IP com mensagem : “DHCP request”
P DHCP server envia endereço com a mensagem: “DHCP ack”

Como obter um endereço IP


Rede (porção de rede)
U 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

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”

Roteamento Hierárquico:rotas mais


específicas
ISPs-R-Us tem uma rota mais específica para a organização 1
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

54
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
P Aloca endereços
P Gerencia DNS
P Atribui nomes de domínios e resolve disputas

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

if (NetworkNum of destination = NetworkNum of one of my


interfaces) then
deliver packet to destination over that interface
else
if (NetworkNum of destination is in my forwarding table)
then
deliver packet to NextHop router
else
deliver packet to default router

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

U Example (R2) Network Number Next Hop


1 R3
2 R1

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

U Example (R2) Network Number Next Hop


1 R3
2 R1
3 interface 1
Network 1 (Ethernet)
4 interface 0
H7 R3 H8

H1 H2 H3
Network 4
Network 2 (Ethernet) (point-to-point)
R1
R2

H4
Network 3 (FDDI)

H5 H6

Levando um Datagrama da Origem 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

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

Levando um Datagrama da Origem ao


Destino
outros Rede destino Próx. roteador Núm. saltos
dados
campos 223.1.1.1 223.1.2.2
223.1.1 1
Começando em A, dest. E: 223.1.2 223.1.1.4 2
U examina endereço de rede de E 223.1.3 223.1.1.4 2
U E está numa rede diferente
P A, E não estão diretamente
A 223.1.1.1
conectados 223.1.2.1
U tabela de roteamento: próximo 223.1.1.2
roteador para E é 223.1.1.4 223.1.1.4 223.1.2.9
U 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
U datagrama chega em 223.1.1.4 223.1.3.1 223.1.3.2

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ó

PA maneira mais comum é usar agregação


hierárquica

60
Datagram Forwarding
U Escalabilidade com IP
P Dois níveis de hierarquia
• Redes no nível superior
• Nós no nível inferior

U Roteadores tratam apenas dados agregados


P Consideram apenas as redes, e não os nós

Fim da primeira parte


U Aguardem a segunda parte ...

61

Você também pode gostar