unesp - IBILCE - SJRP
Curso de
Redes de Computadores
Adriano Mauro Cansian
[email protected]
Capítulo 4
Camada de Rede
1
unesp - IBILCE - SJRP
Capítulo 4: Camada de Rede
Metas:
q  Entender os princípios
em que se fundamentam
os serviços de rede:
§ 
§ 
§ 
Roteamento
Escalabilidade.
Implementação na
Internet.
Veremos:
q  Serviços da camada de rede.
q  Como funciona um roteador.
q  Endereços IP.
q  Princípio de roteamento.
q  Roteamento hierárquico.
§ 
AS
q  Protocolos de roteamento da
Internet.
§ 
§ 
Dentro de um domínio.
Entre domínios
2
unesp - IBILCE - SJRP
Funções da camada de rede (1)
q  Prover transporte de pacotes fim-a-fim.
§  Ligar hosts com hosts.
•  Lembrar do exemplo dos primos que moram em casas em
estados diferentes e querem trocar cartas entre si.
–  Analogia com o correio e carteiro que roteia as cartas
q  Exigências que devem ser atendidas:
§ 
§ 
§ 
Suportar pilhas de protocolos inferiores diferentes.
Admitir camadas inferiores heterogêneas.
Admitir organização em múltiplos domínios.
•  Ligação de redes com redes
•  “inter-net” = Internetworking.
3
unesp - IBILCE - SJRP
Note que os roteadores intermediários
não precisam das camadas superiores
da pilha TCP/IP, ainda que elas sejam
implementadas para prover serviços
de acesso ao roteador
Funções da camada de rede (2)
q  Missão: Transportar pacotes do
host emissor ao receptor.
q  Protocolo da camada de rede:
presente em hosts e routers.
Três funções importantes:
q  Determinação do caminho: rota
seguida por pacotes da origem
ao destino.
q 
Usa algoritmos de roteamento.
q  Comutação: mover pacotes
dentro do roteador, da entrada
até a saída apropriada.
q  Estabelecimento da chamada:
algumas arquiteturas de rede
requerem determinar o caminho
antes de enviar os dados.
aplicação
transporte
rede
enlace
física
rede
enlace
física
rede
enlace
física
rede
enlace
física
rede
enlace
física
rede
enlace
física
rede
enlace
física
rede
enlace
física
rede
enlace
física
aplicação
transporte
rede
enlace
física
Não acontece na Internet
4
unesp - IBILCE - SJRP
Funções da camada de rede (3)
•  No lado transmissor:
§  Encapsula os segmentos em
datagramas.
• No lado receptor:
•  Entrega os segmentos à camada de
transporte (desencapsula).
• Roteador:
•  Examina campos de cabeçalho em
todos os datagramas IP que passam
por ele.
•  Toma decisões de roteamento.
•  É “stateless”.
unesp - IBILCE - SJRP
Funções-chave da camada de rede:
q  Roteamento:
§  Determinar a rota a ser seguida pelos
pacotes.
q  Comutação ou repasse:
§ 
Mover pacotes dentro do roteador, da
entrada para a saída apropriada.
q  Algoritmos de roteamento - analogia:
§  Roteamento: processo de planejar a
viagem para saber qual caminho seguir.
§  Comutação: processo de passar por um
único cruzamento.
unesp - IBILCE - SJRP
Rede de datagramas: o modelo da Internet
q  Não requer estabelecimento de chamada na camada de rede
q  Não guarda estado sobre transmissões.
§ 
Não existe o conceito de “conexão” na camada de rede.
q  Pacotes são roteados usando endereços de destino.
§ 
Cada camada de rede vai “carimbar” o pacote com endereço, e enviar.
§ 
Dois pacotes podem seguir caminhos diferentes até destino.
aplicação
transporte
rede
1. envia dados
enlace
física
aplicação
transporte
rede
2. recebe dados
enlace
física
7
unesp - IBILCE - SJRP
Tabela de comutação ou repasse
EXEMPLO: Considerando o espaço de endereçamento no
IPv4 (atual) existem 4 bilhões de entradas possíveis.
Destination Address Range
Link Interface
11001000 00010111 00010000 00000000
até
0
11001000 00010111 00010111 11111111
----------------------------------------------------------------------------------------------------11001000 00010111 00011000 00000000
até
1
11001000 00010111 00011000 11111111
----------------------------------------------------------------------------------------------------11001000 00010111 00011001 00000000
até
2
11001000 00010111 00011111 11111111
----------------------------------------------------------------------------------------------------QUALQUER OUTRO
3
unesp - IBILCE - SJRP
Tabela de comutação ou repasse
Destination Address Range
Link Interface
200
16
0
11001000 00010000 00000000
200
23
23
255
0
11001000 00010111 00010111 11111111
----------------------------------------------------------------------------------------------------200
23
24
0
11001000 00010111 00011000 00000000
200
23
24
255
1
11001000 00010111 00011000 11111111
----------------------------------------------------------------------------------------------------200
23
25
0
11001000 00010111 00011001 00000000
200
23
31
255
2
11001000 00010111 00011111 11111111
----------------------------------------------------------------------------------------------------caso contrário
3
unesp - IBILCE - SJRP
Decisão de repasse
Prefix Match
Link Interface
11001000 00010111 00010
0
11001000 00010111 00011000
1
11001000 00010111 00011
2
Qualquer outro
3
Exemplos
200
23
22
161
11001000 00010111 00010110 10100001
Qual interface?
200
23
24
170
11001000 00010111 00011000 10101010
Qual interface?
unesp - IBILCE - SJRP
Decisão de repasse
Prefix Match
Link Interface
11001000 00010111 00010
11001000 00010111 00011000
11001000 00010111 00011
Qualquer outro
0
1
2
3
Exemplos
11001000 00010111 00010110 10100001
Qual interface?
11001000 00010111 00011000 10101010
Qual interface?
0
1
Regra do maior prefixo: o prefixo mais longo na
tabela de roteamento tem precedência na decisão.
unesp - IBILCE - SJRP
Como funciona um roteador ?
Visão geral da arquitetura de um roteador
12
unesp - IBILCE - SJRP
Visão Geral de Arquitetura de Roteadores
q  Roteadores possuem 2 funções fundamentais:
§ 
Executar algoritmos e protocolos de roteamento.
•  Principalmente RIP, OSPF e BGP. Mas há outros.
§ 
Repassar(*) datagramas da interface de entrada para a saída.
•  Por intermédio da malha (ou matriz) de comutação (switch fabric).
(*) Repassar = Comutar.
13
unesp - IBILCE - SJRP
Funções da Porta de Entrada
Camada física:
recepção de bits
Camada de enlace:
Exemplo: Fast ethernet
Comutação descentralizada:
q  Verifica o destino do datagrama, e procura
qual porta de saída.
§ 
Usa tabela de rotas na memória da porta de entrada.
q  Tenta fazer o processamento da porta de
entrada na “velocidade da linha”.
q  Formação de Filas: acontece se datagramas
chegam mais rápido que taxa de re-envio para
matriz de comutação
14
unesp - IBILCE - SJRP
Três tipos de matriz de comutação serão vistas em seguida
Dentro do roteador existe uma das 3 principais estruturas de
comutação representadas a seguir:
15
unesp - IBILCE - SJRP
Comutação via Memória
q  Presentes nos roteadores da primeira geração.
q  Pacote é copiado para a memória pelo processador do sistema.
§ 
Ocorre um gargalo devido ao processamento único.
q  Depois o pacote é lido na memória para fazer o repasse.
q  A velocidade é limitada pela largura de banda da memória.
§ 
Duas travessias do barramento por cada datagrama (entrada e saída na
memória).
Porta de
Entrada
Memória
Porta de
Saída
Roteadores atuais / modernos:
q  Colocam processador da porta de entrada:
q  Consulta tabela e copia para a memória.
Barramento do Sistema
16
unesp - IBILCE - SJRP
Comutação via Barramento
q  Datagrama viaja da memória da porta de entrada à
memória da porta de saída.
§ 
Por intermédio de um barramento compartilhado.
q  Contenção pelo barramento:
§ 
Taxa de comutação limitada pela largura de banda do barramento.
§ 
Datagramas competem pelo uso do barramento.
q  Barramento de 1 a 100 Gbps são comuns.
§ 
Velocidade suficiente para roteadores de acesso e corporativos (mas
não de backbone).
17
unesp - IBILCE - SJRP
Comutação cross-bar
(matriz de Interconexão)
q  Supera limitações dos barramentos.
q  Matrizes de interconexão desenvolvidas
inicialmente para interligar processadores num
multiprocessador (Redes Banyan).
q  Consiste de 2 x N barramentos, conectando N portas
de entrada com N portas de saída.
q  Portas podem “conversar” ao mesmo tempo na
matriz.
§ 
Taxas atuais variam de 200 Gbps a 1 Tbps
§ 
Já existem roteadores de 100 Tbps.
§ 
Indicado para roteadores de backbone.
18
unesp - IBILCE - SJRP
Comutação cross-bar
Portas podem “conversar”
ao mesmo tempo na matriz.
19
unesp - IBILCE - SJRP
Porta de Saída
q  Buffers necessários quando datagramas chegam da
matriz de comutação mais rápido do que a taxa de
transmissão do enlace.
q  Eventualmente há disciplina de escalonamento: escolha
dos datagramas enfileirados para transmissão.
§ 
Pode haver usar o campo TOS no header do datagrama IP.
§ 
(será discutido mais adiante).
20
unesp - IBILCE - SJRP
Filas e perdas na Porta de Saída
q  Quando taxa de chegada através do comutador
excede taxa de transmissão de saída:
§ 
Utiliza-se buffer para armazenamento temporário.
q  Ocorre enfileiramento (atraso) e eventualmente
perdas (drop) devido ao transbordamento do buffer
da porta de saída.
21
unesp - IBILCE - SJRP
Bloqueio Head-of-Line (HOL)
q  Se matriz de comutação é mais lenta do que a soma das
portas de entrada juntas → pode haver filas nas
portas de entrada.
q  Bloqueio HOL: datagrama na cabeça da fila impede
outros na mesma fila de avançarem.
§ 
Acontecem atrasos de enfileiramento e perdas, devido ao
transbordamento do buffer de entrada.
22
unesp - IBILCE - SJRP
Bloqueio HOL
1
A
B
2
1 – Pacote vermelho está sendo enviado para porta A.
2 – Pacote vermelho também quer ir para A
•  Mas esta impedido até que 1 termine.
2 – Pacote verde quer ir para B que está livre.
•  Mas está impedido até que o pacote vermelho da sua
frente seja enviado.
23
unesp - IBILCE - SJRP
A Camada de Rede na Internet
24
unesp - IBILCE - SJRP
A Camada de Rede na Internet
Camada de
rede
***** Camada de Transporte *****
Protocolos de roteamento
•  Escolha de caminhos
•  RIP, OSPF, BGP
Tabela
de rotas
Protocolo IP
•  Endereçamento.
•  Formato dos datagramas.
•  Tratamento de pacotes.
Protocolo ICMP
•  Aviso de erros e testes.
•  Sinalização de rotas.
***** Camada de enlace (datalink) *****
***** Camada física *****
25
unesp - IBILCE - SJRP
Datagrama IP
Especificações do Protocolo
26
unesp - IBILCE - SJRP
Formato do datagrama IP (1)
32 bits
número da versão
do protocolo IP
comprimento do
cabeçalho em
palavras de 32 bits
“tipo” dos dados (TOS)
TTL - Time to Live.
número máximo
de enlaces
restantes
(decrementado a
cada roteador)
protocolo da camada
superior ao qual
entregar os dados
ver comp. tipo de
cab serviço comprimento
início do
ident. 16-bits
bits
fragmento
protocol
TTL
checksum
Internet
endereço IP de origem 32 bits
comprimento total
do datagrama
(em bytes)
para
fragmentação e
remontagem
Checksum envolve apenas
verificação do cabeçalho
(não dos dados).
endereço IP de destino 32 bits
Opções (se houver)
dados
(comprimento variável,
tipicamente um segmento
TCP ou UDP)
Exemplo: temporizador,
Registro de rota
seguida, especificar
caminho, etc... Na prática:
NUNCA USADO.
27
unesp - IBILCE - SJRP
28
unesp - IBILCE - SJRP
Formato do datagrama IP (2)
32 Bits
Version
IHL
Type of service
Identification
Total length
D M
F F
Fragment offset
Time otoprimeiro
live
•  Versão:
campo doProtocol
cabeçalho de um datagramaHeader
IPv4 échecksum
o campo de versão,
com 4 bits.
Source address
Destination address
•  IHL: o segundo campo, de quatro bits, é o Comprimento do Cabeçalho ou IHL
(Internet Header Length) contendo o número de palavras de 32 bits no cabeçalho IPv4.
(0 or more
words)
•  Um cabeçalho mínimo temOptions
vinte bytes
de comprimento,
logo o valor mínimo em
decimal no campo IHL é 5 (5 x 32 bits = 20 bytes).
•  Tamanho total: campo de 16 bits define o tamanho TOTAL do datagrama (cabeçalho +
dados), em bytes.
•  O valor do campo tamanho mínimo é de 20 bytes.
•  Então, o tamanho máximo possível é 65.536 bytes (64 Kbytes).
29
unesp - IBILCE - SJRP
Formato do datagrama IP (3)
32 Bits
Version
IHL
Type of service
D M
F F
Identification
Time to live
Total length
Protocol
Fragment offset
Header checksum
address
•  Protocolo: com 8 bits define o códigoSource
decimal
do protocolo que o IP está carregando no
campo de dados. A IANA - Internet Assigned
Numbers Authority mantém a lista com os
Destination address
números de protocolos.
•  Os protocolos comuns e os seus valores decimais incluem o ICMP (1), o TCP (6) e o
Options (0 or more words)
UDP (17). Ver http://www.iana.org/assignments/protocol-numbers.
•  TTL (Time To Live): evita que os datagramas persistam numa rede (por exemplo, evitando
loopings de roteamento). É setado na origem.
•  Historicamente o campo TTL limitaria a vida de um datagrama em segundos, mas
tornou-se num campo de contagem de nós caminhados (chamado de hop count).
•  Roteador onde um datagrama atravessa decrementa o campo TTL em 1.
•  Quando o campo TTL chega a zero, o pacote não é enviado e deve ser descartado.
Datagrama ICMP de erro (ICMP 11 – Time Exceeded) é enviado de volta ao emissor
30
unesp - IBILCE - SJRP
MTU e adaptação a redes diferentes
Ethernet : 1500
SLIP : 256
Internet
ADSL: 512
PPP : 1500
31
unesp - IBILCE - SJRP
IP: Fragmentação & Remontagem (1)
Host A
Rede 1
MTU = 1.500
? ?
? ?
Rede 2
MTU=620
Router 1
• 
• 
• 
Rede 3
MTU=1.500
Router 2
Host B
Um datagrama pode passar por muitos tipos de redes físicas
diferentes, à medida que se move dentro das interligações das
redes, até alcançar seu destino final.
Como a rede define um tamanho de datagrama que se encaixe no
frame?
Como a rede trata datagramas maiores do que sua camada de
enlace pode suportar?
32
unesp - IBILCE - SJRP
IP: Fragmentação & Remontagem (2)
Fragmentação:
entrada: um datagrama
grande
saída: 3 datagramas
menores
q  Cada enlace de rede tem uma MTU
(Maximum Transmission Unit) - maior
tamanho possível de FRAME neste enlace.
§ 
Tipos diferentes de enlace têm MTUs
diferentes.
q  Quando há um datagrama IP muito grande
a ser enviado numa rede que não o
comporta: ele é dividido (fragmentado)
dentro da rede.
§ 
Um datagrama se transforma em
vários datagramas.
§ 
São “remontados” apenas no
destino final.
§ 
Bits do cabeçalho IP são usados para
identificar, ordenar fragmentos
relacionados.
remontagem
33
unesp - IBILCE - SJRP
IP: Fragmentação & Remontagem (3)
Campos do Protocolo IP utilizados
32 Bits
Version
IHL
Type of service
D M
F F
Identification
Time to live
Total length
Protocol
Fragment offset
Header checksum
Source address
IDENTIFICATION (16 bits) à Contém um inteiro que identifica o
address
datagrama. Todo gateway queDestination
fragmenta
o datagrama, copia o IDENT
em cada um dos fragmentos.
Options (0 or more words)
FLAGS à Controla a fragmentação : Do Not fragment (DF) ou More
Fragments (MF).
FRAGMENT OFFSET (13 bits) à Especifica a que ponto do datagrama atual o
fragmento pertence (offset). É UM DECIMAL EM BYTES QUE SEMPRE
o
representa o deslocamento daquele fragmento, a partir do 1 . Bit.
Sempre deve ser múltiplo de 8.
34
unesp - IBILCE - SJRP
IP: Fragmentação & Remontagem (4)
q  O IP representa o deslocamento de dados em
múltiplo de 8 bytes.
§ 
Portanto, o tamanho do fragmento será sempre o
maior múltiplo de 8 possível para aquela rede.
•  Roteadores precisam aceitar datagramas até o
máximo de MTUs das redes às quais se
conectam.
• 
Hosts e roteadores são obrigados aceitar e remontar,
se necessário, datagramas de no mínimo 576 octetos.
35
unesp - IBILCE - SJRP
IP: Fragmentação & Remontagem (4)
compr ID bit_frag início
=4000 =x
=0
=0
um datagrama grande fragmentado em
vários datagramas menores
• 
• 
• 
compr ID bit_frag início
=1500 =x
=1
=0
Início em 0 bytes
compr ID bit_frag início
=1500 =x
=1
=185
Início em 1480 bytes
compr ID bit_frag início
=1040 =x
=0
=370
Início em 2960 bytes
1480 ÷ 8 = 185
2960 ÷ 8 = 370
1500 total = 1480 dados + 20 bytes header
36
unesp - IBILCE - SJRP
Controle IP – Fragmentação
Identifica o
datagramaIndicando que existe
mais fragmentos
Indica a posição do
fragmento em relação
ao datagrama
37
unesp - IBILCE - SJRP
Controle IP – Fragmentação
Indicando que não há
mais fragmentos,
deste datagrama e a
sua posição no
datagrama final
38
unesp - IBILCE - SJRP
Controle IP – Fragmentação
Indica
Identificação
se existe
do mais
datagrama
fragmentos
0x749b indica
para
o mesmo
o
Indicadatagrama
a posição
datagrama
0x749bdo
fragmento no
datagrama 0x749b
39
unesp - IBILCE - SJRP
ICMP
40
unesp - IBILCE - SJRP
ICMP – Internet Control Message Protocol
q  Parte da camada IP.
q  Mecanismo de “baixo nível” para influenciar o
comportamento do TCP e do UDP.
§ 
Diversas mensagens de controle, tais como:
•  Informar hosts sobre melhor rota ao destino;
•  Informar problemas com uma rota;
•  Finalizar uma sessão devido a problemas na rede;
•  Relatar erros: estação, rede, porta, protocolo inatingíveis;
•  Pedido e resposta de eco (ping) e testes.
q  Usado em ferramentas vitais de administração e
monitoramento à ping e traceroute.
unesp - IBILCE - SJRP
ICMP
IP header (20 byte)
ICMP message
IP datagram
8-bit type
8-bit code
16-bit checksum
Carga /conteúdo: depende do tipo e código
Mensagem ICMP
unesp - IBILCE - SJRP
Formato da Mensagem ICMP
0
7 8
tipo
15 16
código
31
checksum
parâmetros
...................
informação
43
unesp - IBILCE - SJRP
ICMP Message Types
type
Description
0
Echo Reply Echo
Reply
3
Destination Unreachable
Error
4
Source Quench
Error
5
Redirect
Error
8
Echo Request Echo
Query
9
Router Advertisement
Query
10
Router Solicitation
Query
11
Time Exceeded
Error
12
Parameter Problem
Query
13
Timestamp Request
Query
14
Timestamp Reply
Query
17
Address Mask Request
Query
18
Address Mask Reply
Reply
code
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Description
Network Unreachable
Host Unreachable
Protocol Unreachable
Port Unreachable
Fragmentation Needed and DF set
Source Route Failed
Destination Network Unknown
Destination Host Unknown
Source Host Isolated
Network Administratively Prohibited
Destination Host Administratively
Prohibited
Network Unreachable For TOS
Host Unreachable For TOS
Communication Administratively
Prohibited
Host Precedence Violation
Precedence Cutoff in Effect
unesp - IBILCE - SJRP
Exemplo: ICMP Echo Request and Reply
q  ICMP echo mensagem para enviar e receber
pacotes específicos de “echo” entre 2 hosts
Type(0 or 8) Code(0)
identifier
checksum
sequence number
Echo data (variable length)
unesp - IBILCE - SJRP
Endereçamento IP
46
unesp - IBILCE - SJRP
Endereçamento IP
q  Endereço IP: 32 bits, divididos em dois campos:
•  IDent. de rede (network number).
•  IDent. do host (host number).
q  Os endereços IP são escritos em notação decimal:
xxx . yyy . zzz . kkk
223 . 1 . 1 . 1
11011111 00000001 00000001 00000001
q  Grupo decimal é conhecido como um “octeto”.
q  É o decimal equivalente aos 8 bits do endereço binário.
q  “Endereço de 4 Octetos” (4 quatro grupos de 8 bits).
47
unesp - IBILCE - SJRP
Endereço IP – notação decimal
7 6 5 4 3 2 1 07 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
2 2 2 2 2 2 2 22 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
10000000 00001010 00000010 00011110
7
2 =128
23+21=10
1
2 =2
notação
binária
24+23+22+21=30
notação decimal
pontuada
128.10.2.30
(alguns endereços são reservados. Serão tratados mais adiante).
48
unesp - IBILCE - SJRP
Exemplos:
49
unesp - IBILCE - SJRP
Exemplos:
50
unesp - IBILCE - SJRP
Endereços de host e de rede
Endereço IP de 32 bits
Identificador da
rede
host
Identificador do
host
REDE 1
REDE 3
internet
hosts com o
mesmo
identificador de
rede.
hosts com
identificadores
de rede
distintos.
REDE 2
REDE 4
51
unesp - IBILCE - SJRP
Endereçamento hosts e redes (1)
q  Interface: conexão entre
estação, roteador e
enlace físico.
§ 
Roteador típico tem
223.1.1.1
223.1.1.2
223.1.1.4
223.1.1.3
223.1.2.1
223.1.2.9
223.1.3.27
223.1.2.2
múltiplas interfaces.
§ 
Endereço IP é associado
à interface, e não à
223.1.3.2
223.1.3.1
estação ou roteador.
223.1.1.1 = 11011111 00000001 00000001 00000001
223
1
1
1
52
unesp - IBILCE - SJRP
Endereçamento hosts e redes (2)
q  Endereço IP:
§ 
Uma parte de rede.
•  (bits de mais alta ordem).
§ 
Uma parte de host.
•  (bits de mais baixa ordem).
223.1.1.1
223.1.1.2
223.1.1.4
223.1.1.3
q  Uma rede IP:
§ 
Conjunto de Interfaces de
dispositivos com o mesmo
campo de rede nos seus
endereços IP.
§ 
Podem alcançar um ao outro
sem passar por um roteador.
223.1.2.1
223.1.2.9
223.1.3.27
223.1.2.2
LAN
223.1.3.1
223.1.3.2
•  Esta parte da rede consiste de 3 interfaces
IP com os endereços IP começando com
223.1.3.
•  Os primeiros 24 bits são o campo de rede.
53
unesp - IBILCE - SJRP
Endereçamento hosts e redes (3)
223.1.1.1
223.1.1.2
223.1.1.4
223.1.1.3
223.1.2.1
223.1.2.9
223.1.3.27
223.1.2.2
LAN
Internet
223.1.3.1
•  Este conjunto de redes consiste numa
rede com 3 redes, cujos os endereços
IP começam com 223.1.
•  Sub-redes de uma rede maior.
223.1.3.2
54
unesp - IBILCE - SJRP
Endereçamento hosts e redes (4)
223.1.1.2
223.1.1.1
Sistema interligado
consistindo de
seis redes
223.1.1.4
223.1.1.3
223.1.9.2
223.1.7.0
223.1.9.1
223.1.7.1
223.1.8.1
223.1.8.0
223.1.2.6
223.1.2.1
223.1.3.27
223.1.2.2
223.1.3.1
223.1.3.2
55
unesp - IBILCE - SJRP
Identificando Rede e Host
q  PERGUNTA: como identificar qual é a parte
do endereço IP que corresponde à parte de
REDE e qual corresponde à parte de
HOST?
56
unesp - IBILCE - SJRP
Denominação de “classes”
(atenção: em desuso)
57
unesp - IBILCE - SJRP
Classes de redes (1)
Dada a noção de “rede”, vamos examinar endereços IP:
Endereçamento “baseado em classes”:
denominação antiga (em desuso)
classe
A
0 rede
B
10
C
110
D
1110
1.0.0.0 to
127.255.255.255
estação
rede
estação
rede
estação
endereço multiponto
128.0.0.0 to
191.255.255.255
192.0.0.0 to
223.255.255.255
224.0.0.0 to
239.255.255.255
32 bits
58
unesp - IBILCE - SJRP
Classes de redes (2)
32 Bits
Range of host
addresses
Class
A
0
Network
B
10
C
110
D
1110
E
11110
1.0.0.0 to
127.255.255.255
Host
Network
128.0.0.0 to
191.255.255.255
Host
Network
Multicast address
Reserved for future use
Host
192.0.0.0 to
223.255.255.255
224.0.0.0 to
239.255.255.255
240.0.0.0 to
247.255.255.255
Para um endereço classe A à o primeiro bit é sempre 0 à 28-1 redes
Para um endereço classe B à os dois primeiros bits são 10 à 216-2 redes
Para um endereço classe C à os três primeiros bits são 110 à 224-3 redes
59
unesp - IBILCE - SJRP
Classes de redes (4)
Classe
A
Formato do Endereço
0
B
10
C
110
Identificador
da Rede
Identificador do
Host
7 bits
24 bits
Identificador
da Rede
Identificador do
Host
14 bits
16 bits
Identificador
da Rede
Identificador do
Host
21 bits
8 bits
Organização da Rede
127 redes com até
16.777.216 hosts.
Intervalo dos
endereços da classe
de 1.0.0.0 até
127.255.255.255.
16.384 redes com até
65.535 hosts.
de 128.0.0.0 até
191.255.255.255.
2.097.152 redes com até
254 hosts.
de 192.0.0.0 até
223.255.255.255.
60
unesp - IBILCE - SJRP
Endereçamento IP: CIDR
q  CIDR: Classless InterDomain Routing
§ 
Parte de rede do endereço de comprimento arbitrário.
§ 
Formato de endereço: a.b.c.d/x
§ 
/x é número de bits no campo de rede do endereço.
parte
de rede
parte do
host
11001000 00010111 00010000 00000000
200.23.16.0/23
61
unesp - IBILCE - SJRP
Endereços reservados de REDE e BROADCAST (1)
Endereços de REDE
•  Para se referir a uma rede:
• 
Os bits do campo de host são colocado como 0.
O endereço /16 identificado como 137.4.0.0/16
Refere-se à rede 137.4.*.*
O endereço /24 identificado como 200.17.28.0/24
Refere-se à rede 200.17.28.*
62
unesp - IBILCE - SJRP
Endereços reservados de REDE e BROADCAST (2)
Endereços de broadcast
q  Um endereço que se refere a todos os hosts em uma rede é
um endereço de broadcast.
• 
Para se referir a todos os nós de uma rede, os
bits de host são ajustados para 1.
q  Exemplos:
O endereço 15.255.255.255/8
Refere-se a todos os nós da rede 15 /8
O endereço 200.17.28.255
Refere-se a todos os nós da rede 200.17.28 /24
63
unesp - IBILCE - SJRP
Subneting e subnetmask (1)
q  “Subnetar”: subdividir um conjunto de endereços IP para criar
redes menores, ou seja, subredes.
q  Máscaras de sub-rede (subnetmasking) são usadas para
indicar a subdivisão de redes.
q  A máscara de sub-rede diz para um roteador ou software
específico quantos bits dos campos de rede e de host
devem ser considerados para uma determinada rede.
§ 
Como vimos na notação CIDR, a “ / ” indica a máscara aplicada.
§ 
Exemplo: 200.23.16.0/23
64
unesp - IBILCE - SJRP
Subneting e subnetmask (2)
•  Exemplo: divisão de uma rede /24 em redes menores.
•  Os 8 bits de host estão sendo subdivididos para criar subredes
menores: no exemplo usando 3 bits para redes e 5 bits para hosts.
•  Passa a existir a possibilidade de 8 subredes para serem usadas e a
máscara de subrede interna passa a ser / 27.
65
unesp - IBILCE - SJRP
Subneting e subnetmask (3)
Funcionamento e obtenção da máscara:
q  A parte do endereço IP correspondente à
identificação do host (ou seja, o hostid) é
dividida:
•  Um bit ligado (1) à indicará que aquele bit deverá
ser interpretado como parte do número de sub-rede.
•  Um bit desligado (0) à indicará que aquele bit
deverá ser interpretado como parte do número de
identificação de hostid.
q  Em seguida à cada grupo de 8 bits é convertido para seu
decimal equivalente, indicando a subnetmask.
66
unesp - IBILCE - SJRP
Subneting e subnetmask (4)
Considere os 8 bits identificadores de host num endereço de uma rede /24.
Se quisermos dividir uma rede /24 em 4 subredes !
identificar a subrede e 6 bits para identificar os hosts.
Máscara resultante = /26 ou
vamos utilizar 2 bits para
255.255.255.192
Rede (decimal)
subnet subnet host
host
host
host
host
host
255.255.255.
1
0
0
0
0
0
1
0
Binário 11000000 = 192
Resulta na subnetmask ! 255.255.255.192
Esta divisão permite, na prática, utilizar 2 sub-redes de 64 hosts, pois as subredes que
começam com 00 e 11 são reservadas e não podem ser utilizadas ! isso ocorre devido à
identificação dos endereços de rede (all-0s, ou seja todos os endereços de host com bit 0) e
endereço de broadcast (all-1s, ou seja todos os endereços de host com bit 1)
67
unesp - IBILCE - SJRP
Subneting e subnetmask (5)
200.17.28.66/26
IP Address
subnetmask
Hostid Binário
End. Sub-rede
Interpretação
200.17.28.66
255.255.255.192
66 = 01000010
200.17.28.64
(1ª rede, host 2)
(01000000)
Host 2 (000010) na
subrede 200.17.28.64
135 = 10000111
200.17.28.128
(10000000)
200.17.28.135 255.255.255.192
(2ª rede, host 7)
Host 7 (000111) na
subrede
200.17.28.128
200.17.28.135/26
68
unesp - IBILCE - SJRP
Subneting e subnetmask (6)
Se quisermos dividir uma rede /24 em 16 subredes ! vamos utilizar 4 bits para
identificar a subrede e 4 bits para identificar os hosts.
Máscara resultante = /28
Isso nos dá a possibilidade de 16 sub-redes de 16 hosts, das quais 14 sub-redes podem ser
usadas ! novamente se “perdem” as subredes que começam com 0000 e 1111 (all-zero
e all-one).
Cálculo da máscara:
Rede (decimal)
subnet subnet
255.255.255. 1
1
subnet subnet host
host
host
host
1
0
0
0
1
0
Binário 11110000 = 240
Resulta na subnetmask ! 255.255.255.240
69
unesp - IBILCE - SJRP
Outra maneira de obter o endereço
da subrede: bitwise AND
70
unesp - IBILCE - SJRP
Outra maneira de obter o endereço
da subrede: bitwise AND
71
unesp - IBILCE - SJRP
Endereços reservados (1)
q  Ou endereços privados (categoria 1)
q  1 REDE /8:
§  10.0.0.0 a 10.255.255.255
q  16 REDES /16:
§  172.16.0.0 a 172.31.255.255
q  256 REDES /24:
§  192.168.0.0 a 192.168.255.255
q  Também chamados de:
§  Endereços não roteáveis ou redes não roteáveis.
•  Usados para redes locais.
72
unesp - IBILCE - SJRP
Endereços reservados (2)
q  Não podem ser atribuídos a nenhuma estação:
§  127.0.0.1:
•  Endereço de Loopack
§ 
nnn.nnn.nnn.255:
•  BroadCast : todos os bits de host ajustados para 1.
•  n.n.n.255 – Exemplo: End. BroadCast para rede /24
•  n.n.255.255 – Exemplo: End. BroadCast para rede /16
•  n.255.255.255 – Exemplo: End. BroadCast para rede /8
§ 
nnn.nnn.nnn.000:
•  Network: todos os bits de host ajustados para 0.
•  n.n.n.0 – Exemplo: End. Rede para rede /24
•  n.n.0.0 – Exemplo: End. Rede para rede /16
•  n.0.0.0 – Exemplo: End. Rede para rede /8
§ 
0.0.0.0:
•  Endereço de Inicialização (DHCP)
73
unesp - IBILCE - SJRP
Subdivisão de redes e
roteamento
Regra do prefixo mais longo
74
unesp - IBILCE - SJRP
Endereçamento hierárquico: agregação de rotas (1)
q  Alocação a partir do espaço de endereços do provedor IP.
q  Provedor pode subdividir sua alocação: digamos que ele
tem um “/20”, então pode entregar “/23” aos seus clientes:
Bloco do
provedor
Organização 0
11001000 00010111 00010000 00000000
200.23.16.0/20
11001000 00010111 00010000 00000000
200.23.16.0/23
Organização 1
11001000 00010111 00010010 00000000
200.23.18.0/23
Organização 2
...
...
Organização 7
11001000 00010111 00010100 00000000 200.23.20.0/23
…..
….
….
…..
….
….
11001000 00010111 00011110 00000000 200.23.30.0/23
75
unesp - IBILCE - SJRP
Endereçamento hierárquico: agregação de rotas (2)
Endereçamento hierárquico permite anunciar informação sobre
rotas de forma eficiente e sumarizada
Organização 0
“Mande-me qualquer coisa
com endereços que
começam com
200.23.16.0/20”
200.23.16.0/23
Organização N1
200.23.18.0/23
Organização N2
200.23.20.0/23
.
.
Organização N7 .
.
.
.
Provedor A
Internet
200.23.30.0/23
Provedor B
Mega-empresa A
199.31….. /16
“Mande-me qualquer coisa
com endereços que
começam com
199.31.0.0/16”
76
unesp - IBILCE - SJRP
Endereçamento hierárquico: rotas mais específicas
• Organização 1 precisou mudar de provedor ou empresa, mas precisa levar os Ips:
• Provedor B agora anuncia uma nova rota mais específica para a Organização 1.
Organização 0
“Mande-me qualquer coisa
com endereços que
começam com
200.23.16.0/20”
200.23.16.0/23
Organização 2
200.23.20.0/23
Organização 7
.
.
.
.
.
.
Provedor A
Internet
200.23.30.0/23
Provedor B
Organização 1
200.23.18.0/23
Mega-empresa A
199.31….. /16
“Mande-me qualquer coisa com
endereços que começam com
199.31.0.0/16 ou
200.23.18.0/23”
77
unesp - IBILCE - SJRP
Endereçamento
Organização 0
Quando outros roteadores virem o anúncio dos blocos
hierárquico:
rotas maise 200.23.18.0/23
específicas e
de endereço 200.23.16.0/20
quiserem rotear para um endereço no bloco
200.23.18.0/23 eles vão usar a regra de ajuste ao
prefixo mais longo e rotear em direção endereço de
rede maior (mais específico) que casa com o
endereço de destino.
200.23.16.0/23
Organização 2
200.23.20.0/23
Organização 7
.
.
.
“mande-me qq coisa
com endereços que
começam com
200.23.16.0/20”
.
.
.
Provedor A
Internet
200.23.30.0/23
Provedor B
Organização 1
200.23.18.0/23
Mega-empresa A
199.31….. /16
“mande-me qq coisa
com endereços que
começam com 199.31.0.0/16
ou 200.23.18.0/23”
78
unesp - IBILCE - SJRP
Endereçamento IP - Governança
Como um provedor IP consegue um bloco de
endereços?
ICANN: Internet Corporation for Assigned
Names and Numbers (http://www.icann.org)
§ 
§ 
§ 
§ 
Aloca endereços.
Gerencia DNS.
Aloca nomes de domínio e resolve disputas.
No Brasil, estas funções foram delegadas ao Registro Nacional
(http://registro.br), sediado na FAPESP (SP), e comandado pelo
Comitê Gestor Internet BR (CG-Br)
79
unesp - IBILCE - SJRP
Encaminhamento de datagramas
80
unesp - IBILCE - SJRP
Envio de datagramas
Para transferir um datagrama o emissor:
1.  Mapeia o endereço IP de destino em
um endereço físico (endereço MAC)
2.  Encapsula o datagrama num frame da
camada de enlace, e...
3.  Usa a rede local para entregar ao destino
§ 
Camada Datalink (ou camada “MAC”).
81
unesp - IBILCE - SJRP
Encaminhamento direto
q  Emissor:
1. 
extrai a parte da rede do endereço IP de destino, e
2. 
compara com a parte de rede de seu próprio endereço.
§ 
Se houver correspondência, significa que o datagrama
pode ser enviado diretamente, na mesma rede.
q  Encaminhamento direto é sempre o passo final de
qualquer transmissão de datagrama.
§ 
Sempre o roteador final se conectará diretamente à
mesma rede física do destino.
§ 
Chamado de “último passo da rota” (last hop).
82
unesp - IBILCE - SJRP
Encaminhamento indireto
q  Destino não está na mesma rede física do emissor.
q  Encapsula o datagrama, e o envia ao roteador
mais próximo (gateway de saída).
q  O datagrama passa de roteador a roteador, até
chegar a um que possa entrega-lo diretamente.
q  Quando um frame chega no roteador:
§ 
O software do roteador extrai o datagrama encapsulado,
e seleciona o próximo roteador ao longo do caminho
em direção ao destino.
83
unesp - IBILCE - SJRP
Como saber se é encaminhamento
direto ou indireto?
84
unesp - IBILCE - SJRP
Enviando um datagrama da origem ao destino (1)
tabela de rotas em A
rede dest. próx. rot.
datagrama IP:
Campos end. IP
origem
misc
end. IP
dest
223.1.1
223.1.2
223.1.3
dados
A
q  Datagrama IP
permanece inalterado,
enquanto passa da
origem ao destino.
• 
B
N enlaces
223.1.1.4
223.1.1.4
1
2
2
223.1.1.1
223.1.1.2
223.1.1.4
223.1.1.3
223.1.3.1
223.1.2.1
223.1.2.9
223.1.3.27
223.1.2.2
223.1.3.2
IP destino não muda
85
E
unesp - IBILCE - SJRP
Enviando um datagrama da origem ao destino (2)
campos
misc 223.1.1.1 223.1.1.3 dados
rede dest. próx. rot.
223.1.1
223.1.2
223.1.3
Seja um datagrama IP originando
em A, e endereçado a B:
q  A procura endereço de rede de B.
A
223.1.1.4
223.1.1.4
q  Camada de enlace de A envia o
datagrama diretamente para B num
frame da rede local.
§ 
B e A são chamados de
“diretamente conectados”.
B
1
2
2
223.1.1.1
q  A descobre que B é da mesma rede
que A (usando o prefixo do endereço).
N enlaces
223.1.1.2
223.1.1.4
223.1.1.3
223.1.3.1
223.1.2.1
223.1.2.9
223.1.3.27
223.1.2.2
223.1.3.2
86
E
unesp - IBILCE - SJRP
Enviando um datagrama da origem ao destino (3)
campos
misc 223.1.1.1 223.1.2.2 dados
rede dest. próx. rot.
223.1.1
223.1.2
223.1.3
Seja origem A, destino E:
q  Procura endereço de rede de E.
q  E está numa rede diferente
§ 
A e E não diretamente conectados.
A
q  Tabela de rotas: próximo roteador na
rota para E é 223.1.1.4 .
q  Camada de enlace envia datagrama
ao roteador 223.1.1.4 num frame da
camada de enlace.
q  Datagrama chega a 223.1.1.4
q  e então segue…
B
N enlaces
223.1.1.4
223.1.1.4
1
2
2
223.1.1.1
223.1.1.2
223.1.1.4
223.1.1.3
223.1.3.1
223.1.2.1
223.1.2.9
223.1.3.27
223.1.2.2
223.1.3.2
87
E
unesp - IBILCE - SJRP
Enviando um datagrama da origem ao destino (4)
Campos
misc 223.1.1.1 223.1.2.2 dados
rede
dest.
Chegando a 223.1.1.4, destinado a 223.1.1
223.1.2
223.1.2.2
q  Procura endereço de rede de E.
q  E fica na mesma rede que a interface
223.1.2.9 do roteador.
§  Roteador e E estão diretamente
conectados.
q  Camada de enlace envia datagrama
para 223.1.2.2 dentro de frame de
camada de enlace via interface
223.1.2.9
q  Datagrama chega a 223.1.2.2
223.1.3
A
B
próx.
rot. N enl. interface
-
1
1
1
223.1.1.4
223.1.2.9
223.1.3.27
223.1.1.1
223.1.1.2
223.1.1.4
223.1.1.3
223.1.3.1
223.1.2.1
223.1.2.9
223.1.3.27
223.1.2.2
223.1.3.2
88
E
unesp - IBILCE - SJRP
NAT: Network Address
Translation
89
unesp - IBILCE - SJRP
NAT: Network Address Translation (1)
q  Propósito: Fazer com que redes locais possam utilizar
apenas um endereço IP de entrada e saída.
q  Não é preciso alocar uma gama de endereços do ISP.
q  Motivação:
§ 
Esgotamento dos endereços IPv4.
§ 
Permitir alterar os endereços dos dispositivos na rede
local sem precisar notificar o mundo exterior.
§ 
Mudar de ISP sem alterar os endereços na rede local.
§ 
Dispositivos da rede local não são explicitamente
endereçáveis ou visíveis pelo mundo exterior
•  (um adicional de segurança ?).
unesp - IBILCE - SJRP
NAT: Network Address Translation (2)
restante da
Internet
rede local
(ex.: rede doméstica)
10.0.0/24
10.0.0.4
10.0.0.1
10.0.0.2
138.76.29.7
NAT
todos os datagramas que saem da rede
local possuem o mesmo e único
endereço IP do NAT de origem:
138.76.29.7,
números diferentes de portas de
origem.
10.0.0.3
datagramas com origem ou destino
nesta rede possuem endereço
10.0.0/24 para origem, destino
(usualmente)
unesp - IBILCE - SJRP
NAT: Network Address Translation (3)
2: roteador NAT
substitui end. origem
do datagram de
10.0.0.1, 3345 para
138.76.29.7, 5001,
atualiza a tabela
3: resposta chega
endereço de destino:
138.76.29.7, 5001
1: host 10.0.0.1
Porta 3345
envia datagrama
para 128.119.40, 80
4: roteador NAT
substitui o endereço de
destino do datagrama
de 138.76.29.7, 5001
para 10.0.0.1, 3345
unesp - IBILCE - SJRP
NAT: Network Address Translation (4)
Implementação: o roteador NAT deve:
q  Datagramas que saem:
§  Substituir
(endereço IP de origem interno, porta #) para
(endereço IP válido do NAT, nova porta #).
q  . . . Hosts remotos respondem usando (endereço IP do NAT,
nova porta #) como endereço de destino.
q  Armazena na tabela de tradução do NAT: cada (endereço IP de
origem interno, porta #) com o par de tradução (endereço IP do
NAT, nova porta #).
q  Datagramas que chegam:
substituir (endereço IP do NAT, nova porta #) nos campos de destino de cada
datagrama pelos correspondentes (endereço IP de origem, porta #)
§ 
armazenados da tabela NAT.
unesp - IBILCE - SJRP
NAT: Network Address Translation (5)
q Campo número de porta com 16 bits:
§ 
Aproximadamente 65.000 conexões
simultâneas com um único endereço IP.
q  NAT é controverso:
§ 
Roteador: deveria processar só até a layer 3.
§ 
Violação do argumento fim-a-fim (P2P).
§ 
A escassez de endereços: usar IPv6.
§ 
Violação do cálculo do checksum do IP.
§ 
Algumas aplicações não funcionam com NAT.
unesp - IBILCE - SJRP
Interconexão de redes e
roteamento
95
unesp - IBILCE - SJRP
O problema de inter-redes
q Internet = INTERNETworking
§ 
Interconexão de redes.
q Comunicação fim-a-fim sobre redes:
§ 
Com escala arbitrariamente grande.
•  Deve ser possível escalar.
§ 
Heterogêneas.
•  Diversos protocolos de enlace.
§ 
Organizadas como federação domínios.
•  Cada instituição é “dona” de uma parte da rede.
96
unesp - IBILCE - SJRP
Elementos de Interconexão
em várias camadas:
q  Repetidores na camada física (layer1).
q  Switches na camada de acesso ao meio (layer2).
q  Roteadores na camada de rede (layer3).
q  Gateways de aplicação (“layer 7”).
97
unesp - IBILCE - SJRP
Roteamento
5
protocolo de roteamento
A
Meta: determinar melhor caminho
(seqüência de roteadores) pela
rede, desde a origem ao destino.
Abstração de grafo para
algoritmos de roteamento:
Custos do enlace: retardo,
financeiro, risco, ou
congestionamento.
D
3
C
F
1
3
1
5
E
2
q  Caminho “melhor”:
§ 
Tipicamente significa
caminho de menor custo.
§ 
enlaces físicos.
§ 
2
1
q  Nós do grafo são roteadores.
q  Arestas do grafo são os
2
B
Geralmente caminho MAIS
CURTO.
§ 
Outras definições são
possíveis.
98
unesp - IBILCE - SJRP
Abstração em grafo
Grafo: G = (N,E)
N = conjunto de roteadores = { u, v, w, x, y, z }
E = conjunto de links ={ (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z), (u,w) }
unesp - IBILCE - SJRP
Abstração do gráfico: custo
• c(a,a’) = custo do link (a,a’)
• Ex: c(w, z) = 5
•  Exemplo de custo: pode ser
sempre o mesmo, relativo à
distância, ou então inversamente
relacionado à largura de banda
ou ao congestionamento.
Custo do caminho (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp)
Questão: Qual é o caminho de menor custo entre u e z ?
Algoritmo de roteamento: é algoritmo que encontra o caminho de
menor custo, ou melhor caminho possível.
unesp - IBILCE - SJRP
Tipos de algoritmos de roteamento
q  Duas classificações principais.
§ 
Quanto ao tipo da informação.
§ 
Quanto à mudança das rotas.
q  Veremos em seguida...
§ 
Classificação 1: Informação global ou
descentralizada?
§ 
Classificação 2: Estático ou dinâmico?
101
unesp - IBILCE - SJRP
Classificação 1: Informação global ou descentralizada ?
q  Global: Todos roteadores têm informações
completas de topologia, distância e custos de
todos os enlaces.
§ 
Algoritmos de “estado de enlaces” (link state - LS).
q  Descentralizada: Roteador conhece vizinhos
diretos, e custos até eles.
§ 
Processo iterativo de cálculo, e troca de informações com
vizinhos.
§ 
Algoritmos de “vetor de distâncias” (distance vector - DV).
102
unesp - IBILCE - SJRP
Classificação 2: Estático ou dinâmico?
q  Estático: Usado quando as rotas mudam
lentamente ou raramente.
§ 
Tipicamente para sistemas de borda (edge routers) ou
que possuem um ou poucos links de entrada/saída.
q  Dinâmico: Usado quando as rotas mudam mais
rapidamente.
§ 
Tipicamente para sistemas de núcleo (core routers),
com vários links e várias conexões.
§ 
Atualização periódica automática.
•  em resposta a mudanças nos custos, ou disponibilidade ou estado
(link down ou up) dos enlaces.
103
unesp - IBILCE - SJRP
Algoritmos de roteamento
Introdução aos algoritmos mais usados
104
unesp - IBILCE - SJRP
Algoritmos de roteamento
q  Dois algoritmos principais:
§ 
Link State e Distance Vector.
q  Link state:
§ 
Informação Global.
§ 
Algoritmo de Dijskstra
q  Distance vector:
§ 
Informação Descentralizada
§ 
Equação de Bellman-Ford.
105
unesp - IBILCE - SJRP
Link State
106
unesp - IBILCE - SJRP
Roteamento Link-state
q  Usa o Algoritmo de Dijkstra para calcular melhor
caminho.
q  Topologia da rede e custo de todos os enlaces são
conhecidos por todos os nós.
§ 
Implementado via “link state broadcast”.
§ 
Todos os nós têm a mesma informação.
§ 
Todos os nós têm uma visão igual e completa da
rede.
q  Calcula caminhos de menor custo de uma origem para
todos os outros nós destinos.
§ 
Fornece uma tabela de roteamento a partir daquele nó
(origem).
107
unesp - IBILCE - SJRP
Notação do algoritmo de Dijkstra (1)
q C(i,j): custo do enlace do nó i até o nó j.
§ 
Custo é infinito se não houver ligação entre i e j.
q Dx(v): menor custo atual entre a origem
x e o destino V (até a presente iteração do
algoritmo).
108
unesp - IBILCE - SJRP
Notação do algoritmo de Dijkstra (2)
q  p(v): Predecessor de v à nó anterior (vizinho)
a v ao longo do caminho de menor custo atual
da origem até o destno v.
§ 
Ex: p(A) Lê-se: “predecessor de A”.
q  N’: subconjunto de nós à irá formar o
conjunto de menor custo.
§ 
v pertence a N’ se o caminho de menor custo entre a
origem e v for inequivocamente conhecido.
109
unesp - IBILCE - SJRP
Algoritmo de Dijsktra em palavras:
q  Para um determinado nó:
§ 
Iniciar só com o custo dos valores dos vizinhos
diretos.
q  Ir anexando cada nó do conjunto, um a um.
§ 
Cada vez que anexar um novo nó ao conjunto,
calcular os menores caminhos conhecidos para o
nó sob análise, até cada destino.
§ 
Ou seja, cada vez que eu adiciono um nó w ao conjunto,
devo obter D(v).
Como veremos em seguida à
110
unesp - IBILCE - SJRP
Algoritmo de Dijsktra em palavras:
q  Dx(v) = min{ Dx (v), Dx (w) + c(w,v) }
novo custo de x até v é: o velho custo para v,
ou o menor custo de caminho conhecido para
w (antecessor de v) mais o custo de w a v.
5
2
A
B
2
1
D
3
C
3
1
5
F
1
E
2
111
unesp - IBILCE - SJRP
Exemplo para o novo custo de A até C após entrar D no conjunto
de caminhos possíveis:
Dx (v) = min{ Dx (v), Dx (w) + c(w,v) }
DA(C) = min{ DA (C), DA (D) + c(D,C) }
DA(C) = min{ 5, 1 + 3} = min{ 5, 4 } = 4
v
5
2
A
2
1
w
B
D
3
C
3
1
5
F
1
E
2
112
unesp - IBILCE - SJRP
Exemplo: Rodando o Algoritmo de Dijkstra’s para o nó A:
Passo
0
1
2
3
4
5
início N’
A
AD
ADE
ADEB
ADEBC
ADEBCF
D(B),p(B) D(C),p(C) D(D),p(D) D(E),p(E) D(F),p(F)
2,A
1,A
5,A
infinito
infinito
2,A
4,D
2,D
infinito
2,A
3,E
4,E
3,E
4,E
4,E
•  Calculando os caminhos de menor
custo de A até todos os destinos
possíveis.
•  Lembrando: p(x) à predecessor de x ao
longo do caminho de menor custo atual.
•  Cada linha da tabela fornece os
valores das variáveis do algoritmo ao
final da iteração.
5
2
A
B
2
1
D
3
C
3
1
5
F
1
E
2
113
unesp - IBILCE - SJRP
Exemplo: Algoritmo de Dijkstra’s
Passo
0
1
2
3
4
5
início N
A
AD
ADE
ADEB
ADEBC
ADEBCF
D(B),p(B) D(C),p(C) D(D),p(D) D(E),p(E) D(F),p(F)
2,A
1,A
5,A
infinito
infinito
2,A
4,D
2,D
infinito
2,A
3,E
4,E
3,E
4,E
4,E
5
2
A
B
2
1
D
E isso continua…
3
C
3
1
5
F
1
E
(aqui está apenas para
o menor custo de “A”
até cada destino)
2
114
unesp - IBILCE - SJRP
Exemplo: Algoritmo de Dijkstra’s
Passo
0
1
2
3
4
5
início N
A
AD
ADE
ADEB
ADEBC
ADEBCF
D(B),p(B) D(C),p(C) D(D),p(D) D(E),p(E) D(F),p(F)
2,A
1,A
5,A
infinito
infinito
2,A
4,D
2,D
infinito
2,A
3,E
4,E
3,E
4,E
4,E
5
2
A
B
2
1
D
3
C
3
1
1
E
5
Menor custo de A
até C é 3 e passa
por E.
Depois sabe-se qual
F o menor custo de A
até E e por onde ele
2
passa... etc...
115
unesp - IBILCE - SJRP
Resultado da tabela de repasse em A:
2
B
Destino:
C
A
F
1
1
D
1
E
2
Link:
B
(A,B)
C
(A,D)
D
(A,D)
E
(A,D)
F
(A,D)
Caminhos de menor custo resultantes, e a
tabela de repasse para o nó A.
Exercício: obter as tabelas para todos os nós
116
unesp - IBILCE - SJRP
Algoritmo de Dijsktra’s
1 Inicialização:
2 N’ = {u}
3 para todos os nós v
4
se v for um vizinho de u
5
então D(v) = c(u,v)
6
senão D(v) = infinito
7
8 Loop para cada nó
9
Ache w não pertencente a N’, tal que D(w) é um mínimo.
10 Adicione w a N’.
11 Atualize D(v) para cada v vizinho de w, e ainda não pertencente a N’:
12 
D(v) = min{ D(v), D(w) + c(w,v) }
13 
13 /* novo custo para v é: ou o velho custo 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.
117
unesp - IBILCE - SJRP
Discussão do Algoritmo de Dijkstra
Complexidade do Algoritmo: N nós
q  Cada iteração: precisa verificar todos os nós w,
que não estão em N.
q  N*(N+1)/2 comparações à Ordem de (N**2):
Oscilações possíveis:
q  Total de tráfego transportado in/out (diferentes).
§ 
Para este curso vamos assumir que os custos são os mesmos em ambos
os sentidos (são simétricos).
2+e
A
0
D 1+e 1 B
e
0
C
Custos assimétricos tornam o problema bem mais
complicado à não serão considerados aqui.
118
unesp - IBILCE - SJRP
Distance Vector
119
unesp - IBILCE - SJRP
Roteamento Distance Vector (1)
Enquanto o LS usa informação global, o DV é
iterativo, assíncrono e distribuído.
q  Iterativo:
§ 
Continua até que os nós não troquem mais informações.
§ 
Self-terminating à não há sinal de parada.
q  Assíncrono:
§ 
Nós não precisam trocar informações simultaneamente!
q  Distribuído:
§ 
Cada nó se comunica apenas com os seus vizinhos,
diretamente conectados.
120
unesp - IBILCE - SJRP
Roteamento Distance Vector (2)
q  Equação de Bellman-Ford (B-F) define:
dx(y) à menor custo do caminho de x até y
Então:
dx(y) = minv {c(x,v) + dv(y) }
Onde min é calculado sobre todos os vizinhos v de x.
unesp - IBILCE - SJRP
Roteamento Distance Vector (4)
dx(y) à menor custo do caminho de x até y
dx(y) = minv {c(x,v) + dv(y) }
Onde min é calculado sobre todos os vizinhos v de x.
q  Se após transitarmos de x para v, tomarmos o caminho
de menor custo de v até y, o custo do caminho será
c(x,v) + dv(y).
q  Como devemos começar viajando até algum vizinho v,
o menor custo de x até y é o mínimo do conjunto dos
c(x,v) + dv(y), calculados para todos os vizinhos v.
unesp - IBILCE - SJRP
Roteamento Distance Vector (5)
q  Se após transitarmos de x para v, tomarmos o caminho
de menor custo de v até y, o custo do caminho será
c(x,v) + dv(y).
q  Como devemos começar viajando até algum vizinho v,
o menor custo de x até y é o mínimo do conjunto dos
c(x,v) + dv(y), calculados para todos os vizinhos v.
5
2
x
A
B
2
1
v
D
3
C
F
1
3
1
5
E
y
2
unesp - IBILCE - SJRP
Roteamento Distance Vector (3)
Vemos que:
dv(z) = 5
dx(z) = 3
dw(z) = 3
Calculando o menor
caminho de u até z com a
equação B-F diz que:
du(z) = min { c(u,v) + dv(z),
c(u,x) + dx(z),
c(u,w) + dw(z) }
= min { 2 + 5,
1 + 3,
5+3} =4
O nó que atinge o mínimo é o próximo salto no
caminho mais curto da origem até o destino:
resulta na tabela de roteamento.
unesp - IBILCE - SJRP
O que é o Vetor de Distâncias
q  Dx = [ Dx(y): y em N ]
q  Vetor de distâncias do nó x é um conjunto.
q  É um conjunto contendo todas as
estimativas de custos de x até todos os
outros nós y em N.
125
unesp - IBILCE - SJRP
O que cada nó mantém:
Cada nó x mantém os seguintes dados:
1.  Para cada vizinho v
à o custo c(x,v) dele x até
cada vizinho diretamente conectado, v.
2.  O vetor de distâncias dele (nó x), contendo a
estimativa dos custos de x até todos os destinos
y em N: Dx = [ Dx(y): y em N ]
3.  Os vetores de distâncias de seus vizinhos
para cada vizinho v de x: Dv = [ Dv(y): y em N ].
126
unesp - IBILCE - SJRP
Algoritmo Distance Vector – ideia básica
q  Cada nó envia periodicamente o seu de vetor de
distância a cada um dos seus vizinhos.
§ 
Ou seja, quais os custos ele tem até os destinos
para os quais ele conhece.
q  Quando o nó x recebe nova estimativa do vizinho,
ele atualiza sua tabela usando a equação B-F:
Dx(y) = minv{c(x,v) + Dv(y)}
para cada nó y ∊ N.
q  Em condições normais, a estimativa Dx(y) converge
para o menor custo atual.
unesp - IBILCE - SJRP
Roteamento Vetor-Distância: Resumo
q  Iterativo, assíncrono: cada iteração local
é causada por:
q  Mudança de custo dos enlaces locais.
q  Mensagem do vizinho: seu caminho de
menor custo para o destino mudou.
Cada nó:
espera por mudança no
custo dos enlaces locais, ou
mensagem do vizinho.
Distribuído:
q  Cada nó notifica seus vizinhos apenas
quando seu menor custo para
recalcula tabela de
distâncias.
algum destino mudar:
§ 
Vizinhos notificam seus vizinhos, e
assim por diante…
se o caminho de menor
custo para algum destino
mudou, notifica vizinhos.
128
unesp - IBILCE - SJRP
129
unesp - IBILCE - SJRP
Exemplo: algoritmo vetor-distância (1/3)
X
2
Y
7
fórmula
1
Z
DA(B,C)=C(A,C) + minw{DC(B,w)}
DX(Z,Y)=C(X,Y) + minw{DY(Z,w)}
= 2 + min {DY(Z,X)} = 2 + inf
{DY(Z,Y)} = 2 + loop
{DY(Z,Z)} = 2 + 1
= 2 + min {inf, loop,1} = 3
Atualizando custo de X até Z passando por Y
130
unesp - IBILCE - SJRP
Exemplo: algoritmo vetor-distância (2/3)
X
2
Y
7
1
Z
Z
X
D (Y,Z) = c(X,Z) + minw{D (Y,w)}
= 7+1 = 8
Atualizando custo de X até Y passando por Z
131
unesp - IBILCE - SJRP
Exemplo: algoritmo vetor-distância(3/3)
X
2
Y
7
1
Z
Custo para Y
não mudou.
Custo para Z
Mudou. Avisa !
132
unesp - IBILCE - SJRP
Exemplo de Tabela de Distância
7
A
E
D (C,D)
D (A,D)
E
1
C
E
Custo de E até A dado que
o primeiro passo ao longo
do caminho é D: é o custo
de ir de E até D, mais
qualquer que seja o custo
mínimo de ir de D até A.
2
8
1
E
B
DX(Y,Z) = c(X,Z) + minw{ DZ (Y,w) }
2
D
D
= c(E,D) + minw {D (C,w)}
= 2+2 = 4
D
= c(E,D) + minw {D (A,w)}
= 2+3 = 5
Note que o caminho
menor de D até A é 3 e
esta rota passa
novamente por E !
B
D (A,B) = c(E,B) + minw {D (A,w)}
= 8+6 = 14
Por que não é 15 ??
133
unesp - IBILCE - SJRP
Exemplo de Tabela de Distância
A
E
D (C,D)
D (A,D)
E
C
E
D ()
A
B
D
A
1
14
5
B
7
8
5
C
6
9
4
D
4
11
2
2
8
1
E
B
custo via nó vizinho
E
2
D
D
= c(E,D) + minw {D (C,w)}
= 2+2 = 4
destino
7
1
D
= c(E,D) + minw {D (A,w)}
= 2+3 = 5
B
D (A,B) = c(E,B) + minw{D (A,w)}
= 8+6 = 14
134
unesp - IBILCE - SJRP
A tabela de distâncias gera a tabela de roteamento
custo através de
E
A
B
D
A
1
14
5
A
A,1
B
7
8
5
B
D,5
C
6
9
4
C
D,4
D
4
11
2
D
D,2
Tabela de distância
Enlace de saída, custo
destino
destino
D ()
Tabela de Roteamento
135
unesp - IBILCE - SJRP
A tabela de distâncias gera a tabela de roteamento
Tabela de roteamento de E
destino
Enlace de saída,custo
A
A,1
Melhor rota de E para A é através de A, com custo 1
B
D,5
Melhor rota de E para B é através de D, com custo 5
C
D,4
Melhor rota de E para C é através de D, com custo 4
D
D,2
Melhor rota de E para D é através de D, com custo 4
Tabela de distância
Tabela de Roteamento
136
unesp - IBILCE - SJRP
Boas notícias viajam depressa:
mudança nos custos do enlace.
q  Mudanças no custo do enlace:
§  c(x,y) muda de 4 para 1.
§  Nó y detecta mudança no custo do enlace local.
§  Atualiza informações de roteamento, e recalcula o
vetor de distância.
§  Menor custo mudou à avisa vizinhos.
unesp - IBILCE - SJRP
Boas notícias viajam depressa
q  No tempo t0 à y detecta a mudança no custo do
enlace, atualiza seu DV e informa seus vizinhos.
q  No tempo t1 à z recebe a atualização de y e
atualiza sua tabela.
§ 
§ 
Custo c(z,x) mudou de 5 para 2.
Avisa seu novo vetor aos vizinhos, com seu menor custo.
q  No tempo t2 à y recebe a atualização de z e
atualiza sua tabela de distância.
§ 
§ 
O menor custo de y não muda.
Então y não envia nenhuma mensagem para z.
q  Só 2 iterações necessárias para o DV alcançar o
estado de inatividade à boas notícias viajam depressa.
138
unesp - IBILCE - SJRP
Más notícias viajam devagar: mudança nos custos do enlace.
q  Mudanças no custo do enlace:
§  c(x,y) muda de 4 para 60.
§  Nó y detecta mudança no custo do enlace local.
§  Atualiza informações de roteamento, e recalcula o
vetor de distância.
§  Dy(x) = min { c(y,x) + Dx(x) , c(y,z) + Dz(x) }
§  = min { 60 + 0 , 1 + 5} = 6
Custo até z até x em y ainda está errado!
unesp - IBILCE - SJRP
Porque o erro:
q  Únicas informações que y possui:
§  Que seu custo direto até x agora é 60.
§  E z disse a y que pode chegar a x com custo 5.
q  Em seguida no instante t1 temos um looping de
roteamento.
140
unesp - IBILCE - SJRP
Más notícias viajam devagar
q  Assim que y tenha calculado um novo custo
mínimo até x:
§ 
y informa z este novo vetor de distâncias.
q  Algum tempo depois de t1 ocorre que z recebe o
novo vetor de y.
§ 
Indica que o custo mínimo de y até x é 6.
q  z sabe que pode chegar até y com custo 1.
§  Dz(x) = min { c(z,x) + Dx(x) , c(z,y) + Dy(x) }
§  = min { 50 + 0 , 1 + 6} = 7
q  Este processo continua... Até estabilizar.
141
unesp - IBILCE - SJRP
Problema de Contagem ao Infinito
Mudanças no custo do enlace:
q  Neste exemplo: 44 iterações antes de o
algoritmo estabilizar.
q  O que aconteceria se c(y,x) tivesse mudado
para 10.000 e o custo c(z,x) fosse 9.999 ?
§ 
Más notícias viajam devagar: problema da
“contagem ao infinito”.
unesp - IBILCE - SJRP
Poisoned reverse
q  Solução para o problema de contagem ao
infinito: reverso envenenado.
q  Se a rota de Z a X passa por Y à Z anuncia a Y
que seu custo de rota para X é infinito.
§ 
No exemplo: Z anuncia para Y que Dz(X) = ∞, mesmo
que Z saiba que, no momento, Dz(x)=5.
q  Z “mente” para Y enquanto sua rota para X
estiver passando por Y.
§ 
Enquanto Y acreditar que Z não tem rota até X, o nó Y
nunca vai tentar usar uma rota para X através de Z.
q  Pergunta: isso resolve todos os problemas de contagem ao infinito ?
143
unesp - IBILCE - SJRP
Roteamento hierárquico
Autonomous Systems
144
unesp - IBILCE - SJRP
Roteamento Hierárquico
Problemas do mundo real:
q  Roteadores não são todos idênticos.
q  Na prática redes não são “planas”.
Escala: 50 milhões de
destinos.
q  Não é possível armazenar
todos os destinos numa
única tabela de rotas.
q  As mudanças na tabela de
rotas poderiam congestionar
os enlaces.
Autonomia Administrativa
q  Internet = rede de redes.
q  Cada administração de rede
pode querer controlar o
roteamento na sua própria
rede.
145
unesp - IBILCE - SJRP
Roteamento Hierárquico
q  Agrega roteadores em
regiões:
§ 
“Sistemas autônomos” ou
“Autonomous System” (AS).
q  Roteadores dentro do
mesmo AS rodam o
mesmo protocolo de
roteamento:
§ 
§ 
Protocolo de roteamento
Intra-AS.
Roteadores em diferentes
AS podem rodar protocolos
de roteamento diferentes.
Roteadores de borda
q  Fronteira de um AS.
q  Rodam protocolos de
roteamento Intra-AS
com os outros roteadores
do AS.
q  Também responsáveis por
enviar mensagens para
fora do AS .
§  Rodam protocolo de
roteamento inter-AS
com outros
roteadores.
146
unesp - IBILCE - SJRP
Roteamento Intra-AS e Inter-AS
Organização C
a
C
b
d
A
a
a
b
c
c
B
b
Organização B
Organização A
147
unesp - IBILCE - SJRP
Roteamento Intra-AS e Inter-AS
C.b
a
AS C
C
B.a
A.a
b
A.c
d
A
AS A
a
b
c
a
c
B
b
AS B
Roteadores de Borda:
• Realizam roteamento inter-AS
entre instituições diferentes.
• Realizam roteamento intra-AS
com outros roteadores dentro
do mesmo AS.
148
unesp - IBILCE - SJRP
Roteamento Intra-AS e Inter-AS
C.b
a
C
B.a
A.a
b
A.c
d
A
a
b
Roteamento inter-AS e
intra-AS no roteador A.c
a
c
B
b
c
Camada de rede
Camada de enlace
Camada fisica
149
unesp - IBILCE - SJRP
Roteamento Intra-AS e Inter-AS
Roteamento Inter-AS entre os
AS’s “A” e “B” à (exterior gateways)
C.b
a
C
Host
h1
B.a
A.a
b
A.c
d
A
a
b
c
a
c
B
Host
h2
b
Roteamento Intra-AS, dentro
do AS “B”
Roteamento Intra-AS:
dentro do AS “A” à (interior gateways)
Nós voltaremos a discutir protocolos de
roteamento Inter-AS e Intra-AS mais
adiante…
150
unesp - IBILCE - SJRP
Roteamento Intra-AS
Interior Gateway Protocols (IGP)
151
unesp - IBILCE - SJRP
Roteamento Intra-AS
q  Também conhecido como:
§ 
§ 
Interior Gateway Protocols (IGP).
ou protocolos de roteamento interno.
q  Os IGPs mais comuns são:
§ 
RIP: Routing Information Protocol
§ 
OSPF: Open Shortest Path First
§ 
IGRP: Interior Gateway Routing Protocol
(proprietário da Cisco)
152
unesp - IBILCE - SJRP
RIP (Routing Information Protocol) (1)
q  Algoritmo vetor de distâncias (distance vector).
q  Incluído na distribuição de BSD-UNIX desde1982.
q  Métrica de distância: número de enlaces
§  Máximo = 15 enlaces.
q  Vetores de distâncias: mensagem a cada 30 segundos.
§  Também chamada de anúncio.
q  Cada anúncio: pode definir rotas para até 25 redes
destino.
153
unesp - IBILCE - SJRP
RIP (Routing Information Protocol) (2)
q  Periodicamente à cada roteador envia uma
cópia de sua tabela de roteamento para
qualquer outro roteador que ele consiga
acessar diretamente (outro roteador que está no
extremo de alguma interface sua).
Anúncio
Roteador
Roteador J
Roteador K
Roteador
154
unesp - IBILCE - SJRP
RIP (Routing Information Protocol) (3)
q  Quando um anúncio chega ao roteador K vindo do
roteador J, então K examina os destinos conhecidos, e
a distância até cada um destes destinos. Algumas
situações podem ocorrer:
• 
• 
• 
Se J souber de um caminho mais curto para chegar ao
destino, ou
Se J listar um destino que não conste da tabela de K, ou
Se K estiver no momento roteando para um destino através de
J e a distância de J até aquele destino mudar,
q  ..então K substitui a sua entrada na tabela.
Anúncio
Roteador
Roteador J
Roteador K
Roteador
155
unesp - IBILCE - SJRP
RIP (Routing Information Protocol) (4)
Destino
Rede 1
Rede 2
Rede 4
Rede 17
Rede 24
Rede 30
Rede 42
Tabela de K
Distância Rota
0
Direta
0
Direta
8
Roteador L
5
Roteador M
6
Roteador J
2
Roteador Q
2
Roteador J
Atualização de J
Destino Distância
Rede 1
2
! Rede 4
3
Rede 17 6
! Rede 21 4
Rede 24 5
Rede 30 10
! Rede 42 3
À esquerda: uma tabela de roteamento existente num roteador K.
À direita: uma mensagem de atualização recebida de J.
As entradas marcadas com “à” serão usadas para atualizar as
entradas existentes, ou acrescentar novas entradas, na tabela de K.
Note que se J informar uma distância N, então uma entrada atualizada em K
terá uma distância N+1 à a distância para acessar o destino a partir de J, mais
a distância para acessar J.
156
unesp - IBILCE - SJRP
RIP: Recuperação de falhas
q  Se não for recebido anúncio novo durante 180 seg →
vizinho/enlace são declarados mortos.
§  Rotas via vizinho são invalidadas.
§  Novos anúncios são enviados aos vizinhos.
§  Na sua vez, os vizinhos publicam novos anúncios, se
foram alteradas as suas tabelas.
§  Informação sobre falha do enlace rapidamente
propaga para a rede inteira.
157
unesp - IBILCE - SJRP
RIP: Recuperação de falhas - Exercício
q  Exercício: já vimos uma técnica para evitar rotas
cíclicas (looping) e contagem ao infinito com
algoritmos Distance Vector, chamada de
poisoned reverse. Pesquise e estude as seguintes
técnicas de recuperação ou mitigação de rotas
cíclicas:
§ 
§ 
§ 
§ 
Envenenamento de rotas (Route Poisoning).
Estreitamento de horizontes (Split Horizon).
Tempo de Espera (Holddown Timers).
Atualizações Imediatas (Triggered Updates).
158
unesp - IBILCE - SJRP
OSPF (Open Shortest Path First)
q  “Open” (aberto) à publicamente disponível
q  Usa algoritmo do Estado de Enlaces - EE (Link State)
Disseminação de pacotes de EE.
§  Mapa da topologia presente em cada nó.
§  Cálculo de rotas usando o algoritmo de Dijkstra.
q  Anúncio de OSPF inclui uma entrada por roteador
vizinho.
q  Anúncios disseminados para AS inteiro
q  Via inundação – flooding.
§ 
159
unesp - IBILCE - SJRP
OSPF: características “avançadas”
(não presentes em RIP)
q  Segurança: todas mensagens OSPF são autenticadas para
(tentar) impedir intrusão maliciosa.
q  Usa conexões TCP.
q  Caminhos Múltiplos com custos iguais permitidos.
§ 
(o RIP permite e aceita apenas uma rota quando custos iguais).
q  Para cada enlace, múltiplas métricas de custo para TOS
diferentes
§ 
Exemplo: custo de enlace de satélite definido como “baixo” para
melhor esforço, e “alto” para aplicação de tempo real.
q  OSPF pode ser hierárquico em domínios grandes.
160
unesp - IBILCE - SJRP
OSPF Hierárquico
161
unesp - IBILCE - SJRP
IGRP (Interior Gateway Routing Protocol)
q  Proprietário da CISCO.
q  Sucessor do RIP (final dos anos 80).
q  Usa Vetor de Distâncias à assim como RIP.
q  Diversas métricas de custo:
§  Atraso, largura de banda, confiabilidade, carga, etc...
q  Usa TCP para trocar mudanças de rotas.
q  Roteamento via Distributed Updating Algorithm
(DUAL) baseado em computação difusa.
162
unesp - IBILCE - SJRP
Roteamento Inter-AS
Exterior Gateway Protocols (EGP)
163
unesp - IBILCE - SJRP
Roteamento Inter-AS
164
unesp - IBILCE - SJRP
Roteamento inter-SA na Internet: BGP
q  BGP (Border Gateway Protocol) à o padrão de fato
q  Protocolo Vetor de Caminhos:
§ 
§ 
§ 
Semelhante ao protocolo de Vetor de Distâncias (DV).
Cada Border Gateway (roteador de fronteira) difunde
aos vizinhos (pares) o caminho inteiro (isto é,
seqüência de ASs) ao destino.
Por exemplo: roteador de fronteira X pode enviar seu
caminho ao destino Z:
Path (X,Z) = X,Y1,Y2,Y3,…,Z
165
unesp - IBILCE - SJRP
Roteamento inter-SA na Internet: BGP
q  Suposição:
§  roteador X envia seu caminho para roteador para W.
q  W pode ou não selecionar o caminho oferecido por X
razões de custo, políticas (não rotear via o AS de um
concorrente), evitar looping, dentre ouros motivos.
q  Se W seleciona caminho até Z anunciado por X, então:
Caminho (W,Z) = W, Caminho (X,Z)
q  Note que X pode controlar o tráfego de chegada através
do controle dos seus anúncios de rotas aos seus pares.
§  Por exemplo: se não quero receber tráfego para Z:
§ 
•  Não anuncia rotas para Z.
166
unesp - IBILCE - SJRP
Por que há diferenças entre roteamento Intra e Inter-AS?
Políticas:
q  Inter-AS à administração quer controle sobre como tráfego roteado,
quem transita através da sua rede.
q  Intra-AS à administração é única, portanto são desnecessárias
decisões políticas.
Escalabilidade:
q  Roteamento hierárquico economiza tamanho de tabela de rotas, reduz
tráfego de atualização
Desempenho:
q  Intra-AS: pode focar em desempenho.
q  Inter-AS: políticas podem ser mais importantes do que desempenho.
167
unesp - IBILCE - SJRP
Final da Camada de Rede
Vimos neste capítulo:
q  Serviços da camada de
rede.
q  Roteamento e Roteador.
q  Endereços IP.
q  Fragmentação e MTU.
q  Sub-redes e máscaras.
q  Princípio de roteamento:
seleção de caminhos.
q  Algoritmos de
roteamento.
§ 
Link state e distance
vector.
q  Roteamento hierárquico.
q  Sistemas Autônomos.
q  Protocolos de
roteamento da Internet.
168