Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de...

161
Camada de Redes Curso de Especialização em Redes de Computadores – INF502 1 Prof Nelson Fonseca http//:www.ic.unicamp.br/~nfonseca/ redes/inf502

Transcript of Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de...

Page 1: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Camada de Redes

Curso de Especialização em Redes de Computadores – INF5021

Prof Nelson Fonsecahttp//:www.ic.unicamp.br/~nfonseca/

redes/inf502

Page 2: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Chapter 4Network Layer

Curso de Especialização em Redes de Computadores – INF5022

A note on the use of these ppt slides:We’re making these slides freely available to all (faculty, students, readers).

They’re in PowerPoint form so you can add, modify, and delete slides

(including this one) and slide content to suit your needs. They obviously

represent a lot of work on our part. In return for use, we only ask the

following:

� If you use these slides (e.g., in a class) in substantially unaltered form,

that you mention their source (after all, we’d like people to use our book!)

� If you post any slides in substantially unaltered form on a www site, that

you note that they are adapted from (or perhaps identical to) our slides, and

note our copyright of this material.

Thanks and enjoy! JFK/KWR

All material copyright 1996-2009

J.F Kurose and K.W. Ross, All Rights Reserved

Computer Networking: A Top Down Approach 5th edition. Jim Kurose, Keith RossAddison-Wesley, April 2009.

Page 3: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Camada de Redes

Objetivos do Capítulo:Ø Entender os principais princípios do serviço da camada de redes :ü Modelos de serviço da camada de redesEncaminhamento e roteamento

Curso de Especialização em Redes de Computadores – INF5023

ü Encaminhamento e roteamentoü Como um roteador funcionaü Roteamento (seleção de caminhos)ü Lidando com escalaü IPv

Ø Implementações na Internet

Page 4: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

RoteiroØ 4. 1 IntroduçãoØ 4.2 Circuitos virtuais x datagrama

Ø 4.3 Como é um roteador

Ø 4.5 Algoritmos de roteamento

ü Estado de enlaceü Vetor distânciaü Roteamento hierarquico

Ø 4.6 Roteamento na

Curso de Especialização em Redes de Computadores – INF5024

roteadorØ 4.4 Protocolo IP

ü Formato datagarmaü endereçamento IPv4ü ICMPü IPv6

Ø 4.6 Roteamento na Internet

ü RIPü OSPFü BGP

Ø 4.7 Roteamento Broadcast e multicast

Page 5: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Interconexão de Redes

Curso de Especialização em Redes de Computadores – INF5025

Page 6: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

A Internet

Curso de Especialização em Redes de Computadores – INF5026

Page 7: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

A Internet

Curso de Especialização em Redes de Computadores – INF5027

Page 8: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Estatística de Usuários da Internet

Ø Número de usuários mundiais ~ 1.966.000.000 (28% população do planeta)

Ø Número de usuários no Brasil ~ 75.943.000

Curso de Especialização em Redes de Computadores – INF5028

Ø Número de usuários no Brasil ~ 75.943.000 (37% da população)

fonte: http://www.internetworldstats.com/stats.htm

Page 9: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Funções da camada de rede

Ø transporta pacote da estação remetente à receptora

Ø protocolos da camada de rede em cada estação, roteador

três funções importantes:Ø determinação do caminho: rota

seguida por pacotes da origem

redeenlacefísica

redeenlacefísica

redeenlace

redeenlacefísica

redeenlacefísica

aplicaçãotransporte

redeenlacefísica

Curso de Especialização em Redes de Computadores – INF5029

determinação do caminho: rota seguida por pacotes da origem ao destino. Algoritmos de roteamento

Ø comutação: mover pacotes dentro do roteador da entrada à saída apropriada

Ø estabelecimento da chamada:algumas arquiteturas de rede requerem determinar o caminho antes de enviar os dados

redeenlacefísica

redeenlacefísica

enlacefísica

redeenlacefísica

aplicaçãotransporte

redeenlacefísica

Page 10: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Network layerØ Transporta segmentos do transmissor ao repector

Ø Encapsula segmentos em datagramas

Ø No receptor, desencapsula e entrega a

applicationtransportnetworkdata linkphysical

networkdata linkphysical network

data linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networknetwork

Curso de Especialização em Redes de Computadores – INF50210

No receptor, desencapsula e entrega a camada de transporte

Ø roteadores examina cabeçalho de todos os datagrams que passam pelo roteador

applicationtransportnetworkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysicalnetwork

data linkphysical

Page 11: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

routing algorithm

local forwarding table

header value output link

0100

0101

0111

1001

3

2

2

1

Roteamento e encaminhamento

Curso de Especialização em Redes de Computadores – INF50211

1

23

0111

Rótulo no cabeçalho

do pacote

Page 12: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Modelo de serviço de rede

Q: Qual é o modelo de serviço para o “canal” que transporta pacotes do remetente ao receptor?

?

A abstração mais importante providapela camada de rede:

Curso de Especialização em Redes de Computadores – INF50212

receptor?Ø largura de banda garantida?Ø preservação de temporização

entre pacotes (sem jitter)?Ø entrega sem perdas?Ø entrega ordenada?Ø realimentar informação

sobre congestionamento ao remetente?

??

?

circuito virtual ou

datagrama?

Page 13: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Rede de datagramas: o modelo da Internet Ø não requer estabelecimento de chamada na camada de redeØ roteadores: não guardam estado sobre conexões fim a fim

ü não existe o conceito de “conexão” na camada de redeØ pacotes são roteados tipicamente usando endereços de

destinoü pacotes entre o mesmo par origem-destino podem seguir caminhos diferentes

Curso de Especialização em Redes de Computadores – INF50213

caminhos diferentes

aplicaçãotransporte

redeenlacefísica

aplicaçãotransporte

redeenlacefísica

1. envia dados 2. recebe dados

Page 14: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Tabela Encaminhamento

Ø Faixa Endereço Destino Interface Enlace

Ø 11001000 00010111 00010000 00000000Ø até 0 Ø 11001000 00010111 00010111 11111111

Ø 11001000 00010111 00011000 00000000Ø até 1

Curso de Especialização em Redes de Computadores – INF50214

Ø até 1Ø 11001000 00010111 00011000 11111111

Ø 11001000 00010111 00011001 00000000Ø até 2Ø 11001000 00010111 00011111 11111111

Ø caso contrário 3

Page 15: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Casamento Prefixo mais longo (Longest prefix matching)

Prefix Match Interface Enlace

11001000 00010111 00010 0

11001000 00010111 00011000 1

11001000 00010111 00011 2

caso contrario 3

Curso de Especialização em Redes de Computadores – INF50215

DA: 11001000 00010111 00011000 10101010

Exemplos

DA: 11001000 00010111 00010110 10100001

Page 16: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Circuitos virtuais “caminho da-origem-ao-destino se comporta como um circuito telefônico”

ü em termos de desempenhoü em ações da rede ao longo do caminho da-origem-ao-destino

Curso de Especialização em Redes de Computadores – INF50216

Ø estabelecimento de cada chamada antes do envio dos dadosØ cada pacote tem ident. de CV (e não endereços origem/dest)Ø cada roteador no caminho da-origem-ao-destino mantém “estado”

para cada conexão que o atravessa ü conexão da camada de transporte só envolve os 2 sistemas terminais

Ø recursos de enlace, roteador (banda, buffers) podem ser alocados ao CV

ü para permitir desempenho como de um circuito

Page 17: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Implementação CV

Um circuito virtual consiste de:1. Caminho entre origem e destino2. Identificador CV, um para cada enlace ao longo do

caminho3. Entradas nas tabelas de roteamento nos roteadores ao

longo do caminho

Curso de Especialização em Redes de Computadores – INF50217

longo do caminhoØ Pacote carrega identificador de CV ao invés de

endereço destinoØ Identificador de CV pode mudar a cada enlace

ü Novos identificadores de VC são gerados nas tabelas de roteamento

Page 18: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Circuitos virtuais: protocolos de sinalizaçãoØ usados para estabelecer, manter, destruir CVØ usados em ATM, frame-relay, X.25Ø não usados na Internet de hoje

Curso de Especialização em Redes de Computadores – INF50218

aplicaçãotransporte

redeenlacefísica

aplicaçãotransporte

redeenlacefísica

1. inicia chamada 2. chegada de chamada3. chamada aceita4. conexão completa

5. começa fluxo de dados 6. dados recebidos

Page 19: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Interface de entrada VC # de entrada Interface de saída VC # de saída

Tabela de comutação no roteador a noroeste:

Curso de Especialização em Redes de Computadores – INF50219

Interface de entrada VC # de entrada Interface de saída VC # de saída

1 12 2 222 63 1 18 3 7 2 171 97 3 87… … … …

Roteadores mantêm informações de estado de conexão

Page 20: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Modelos de serviço da camada de rede:

Arquiteturade Rede

Internet

ATM

Modelo deserviço

melhoresforçoCBR

Banda

nenhuma

taxaconstante

Perdas

não

sim

Ordem

não

sim

Tempo

não

sim

Informa s/congestion.?

não (inferidovia perdas)semcongestion.

Garantias ?

Curso de Especialização em Redes de Computadores – INF50220

ATM

ATM

ATM

VBR

ABR

UBR

constantetaxagarantidamínimagarantidanenhuma

sim

não

não

sim

sim

sim

sim

não

não

congestion.semcongestion.sim

não

Ø Modelo Internet está sendo estendido: Intserv, Diffserv

Page 21: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Rede de datagramas ou CVs: por quê?

InternetØ troca de dados entre

computadoresü serviço “elástico”, sem reqs. temporais estritos

Ø sistemas terminais

ATMØ evoluiu da telefoniaØ conversação humana:

ü temporização estrita, requisitos de confiabilidade

Curso de Especialização em Redes de Computadores – INF50221

Ø sistemas terminais “inteligentes” (computadores)

ü podem se adaptar, exercer controle, recuperar de erros

ü núcleo da rede simples, complexidade na “borda”

Ø muitos tipos de enlacesü características diferentes

confiabilidadeü requer serviço garantido

Ø sistemas terminais “burros”ü telefonesü complexidade dentro da rede

Page 22: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

RoteiroØ 4. 1 IntroduçãoØ 4.2 Circuitos virtuais x datagrama

Ø 4.3 Como é um roteador

Ø 4.5 Algoritmos de roteamento

ü Estado de enlaceü Vetor distânciaü Roteamento hierarquico

Ø 4.6 Roteamento na

Curso de Especialização em Redes de Computadores – INF50222

roteadorØ 4.4 Protocolo IP

ü Formato datagarmaü endereçamento IPv4ü ICMPü IPv6

Ø 4.6 Roteamento na Internet

ü RIPü OSPFü BGP

Ø 4.7 Roteamento Broadcast e multicast

Page 23: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Sumário de Arquitetura de RoteadoresDuas funções chave de roteadores:Ø usam algoritmos/protocolos de roteamento (RIP, OSPF, BGP)

Ø comutam datagramas do enlace de entrada para a saída

Curso de Especialização em Redes de Computadores – INF50223

Page 24: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Funções da Porta de Entrada

Camada f’ísica:recepção de bits

Curso de Especialização em Redes de Computadores – INF50224

Comutação descentralizada:Ø dado o dest do datagrama, procura porta

de saída usando tab. de rotas na memória da porta de entrada

Ø meta: completar processamento da porta de entrada na ‘velocidade da linha’

Ø filas: se datagramas chegam mais rápido que taxa de re-envio para matriz de comutação

recepção de bitsCamada de enlace:

p.ex., Ethernetveja capítulo 5

Page 25: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Tamanho do Buffer

Ø RFC 3439 recomenda que tamano médio do buffer deve corresponder a um RTT típico vezes a capacidade do enlaceü 250 seg, C = 10 Gps link: 2.5 Gbit bufferRecomendação recente para N fluxos:

Curso de Especialização em Redes de Computadores – INF50225

Ø Recomendação recente para N fluxos:RTT C.N

Page 26: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Filas na Porta de EntradaØ Se matriz de comutação for mais lenta do que a soma das portas de entrada juntas -> pode haver filas nas portas de entrada

Ø Bloqueio cabeça-de-linha (Head-of-the-Line - HOL):datagrama na cabeça da fila impede outros na mesma fila de avançarem

Ø retardo de enfileiramento e perdas devido ao

Curso de Especialização em Redes de Computadores – INF50226

Ø retardo de enfileiramento e perdas devido ao transbordo do buffer de entrada!

Page 27: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Três tipos de matriz de comutação

Curso de Especialização em Redes de Computadores – INF50227

Page 28: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Comutação via MemóriaRoteadores da primeira geração:Ø pacote copiado pelo processador (único) do sistemaØ velocidade limitada pela largura de banda da memória (2 travessias do barramento por datagrama)

Porta de

Entrada

Porta de

Saída

Memória

Curso de Especialização em Redes de Computadores – INF50228

Barramento do Sistema

Roteadores modernos:Ø processador da porta de entrada consulta tabela, copia para a memória

Ø Cisco Catalyst 8500

Page 29: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Comutação via Barramento

Ø datagrama da memória da porta de entrada à memória da porta de saída via um barramento compartilhado

Curso de Especialização em Redes de Computadores – INF50229

via um barramento compartilhadoØ contenção pelo barramento: taxa de comutação limitada pela largura de banda do barramento

Ø Barramento de 1 Gbps, Cisco 1900: velocidade suficiente para roteadores de acesso e corporativos (mas não regionais ou de backbone)

Page 30: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Comutação via uma Rede de InterconexãoØ supera limitações de banda dos barramentosØ Redes Banyan, outras redes de interconexão desenvolvidas inicialmente para interligar processadores num multiprocessador

Ø Projeto avançado: fragmentar datagrama em

Curso de Especialização em Redes de Computadores – INF50230

Ø Projeto avançado: fragmentar datagrama em células de tamanho fixo, comutar células através da matriz de comutação.

Ø Cisco 12000: comuta N Gbps pela rede de interconexão.

Page 31: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Porta de Saída

Curso de Especialização em Redes de Computadores – INF50231

Ø Buffers necessários quando datagramas chegam da matriz de comutação mais rapidamente que a taxa de transmissão

Ø Disciplina de escalonamento escolhe um dos datagramas enfileirados para transmissão

Page 32: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

RoteiroØ 4. 1 IntroduçãoØ 4.2 Circuitos virtuais x datagrama

Ø 4.3 Como é um roteador

Ø 4.5 Algoritmos de roteamento

ü Estado de enlaceü Vetor distânciaü Roteamento hierarquico

Ø 4.6 Roteamento na

Curso de Especialização em Redes de Computadores – INF50232

roteadorØ 4.4 Protocolo IP

ü Formato datagarmaü endereçamento IPv4ü ICMPü IPv6

Ø 4.6 Roteamento na Internet

ü RIPü OSPFü BGP

Ø 4.7 Roteamento Broadcast e multicast

Page 33: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

A Camada de Rede na InternetFunções da camada de rede em estações, roteadores:

Protocolos de rot.•seleção de rotas•RIP, OSPF, BGP

protocolo IP •convenções de endereços•formato do datagrama•convenções de manuseio do pct

Camada de transporte: TCP, UDP

Camada

Curso de Especialização em Redes de Computadores – INF50233

Tabela de rotas

•RIP, OSPF, BGP •formato do datagrama•convenções de manuseio do pct

protocolo ICMP•relata erros•“sinalização” de roteadores

Camada de enlace

Camada física

Camadade rede

Page 34: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Formato do datagrama IP

ver comprimento

32 bits

ident. 16-bitschecksumInternet

sobre-vida TTL

endereço IP de origem 32 bits

número da versão do protocolo IP comprimento do

cabeçalho (bytes)

número máximode enlaces restantes

(decrementado a cada roteador)

parafragmentação/remontagem

comprimento total do datagrama(bytes)

comp.cab

tipo deserviço

“tipo” dos dados (DS) bits

início do fragmento

camadasuperior

Curso de Especialização em Redes de Computadores – INF50234

dados (comprimento variável,

tipicamente um segmento TCP ou UDP)

endereço IP de origem 32 bitscada roteador)protocolo da camada

superior ao qualentregar os dados

endereço IP de destino 32 bits

Opções (se tiver) p.ex. temporizador,registrar rotaseguida, especificarlista de roteadoresa visitar.

Qual o overhead com TCP?

Ø 20 bytes of TCPØ 20 bytes of IPØ = 40 bytes +

overhead aplic.

Page 35: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

IP: Fragmentação & RemontagemØ cada enlace de rede tem MTU

(max.transmission unit) -maior tamanho possível de quadro neste enlace.

ü tipos diferentes de enlace têm MTUs diferentes

Ø datagrama IP muito grande dividido (“fragmentado”) dentro da rede

fragmentação: entrada: um datagrama

grandesaída: 3 datagramas

menores

Curso de Especialização em Redes de Computadores – INF50235

dividido (“fragmentado”) dentro da rede

ü um datagrama vira vários datagramas

ü “remontado” apenas no destino final

ü bits do cabeçalho IP usados para identificar, ordenar fragmentos relacionados

remontagem

Page 36: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

IP: Fragmentação & RemontagemID=x

início=0

bit_frag=0

compr=4000

ID iníciobit_fragcompr

um datagrama grande viravários datagramas menores

ExemploØ Datagrama com

4000 bytesØ MTU = 1500 bytes

Curso de Especialização em Redes de Computadores – INF50236

ID=x

início=0

bit_frag=1

compr=1500

ID=x

início=1480

bit_frag=1

compr=1500

ID=x

início=2960

bit_frag=0

compr=1040

Page 37: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

RoteiroØ 4. 1 IntroduçãoØ 4.2 Circuitos virtuais x datagrama

Ø 4.3 Como é um roteador

Ø 4.5 Algoritmos de roteamento

ü Estado de enlaceü Vetor distânciaü Roteamento hierarquico

Ø 4.6 Roteamento na

Curso de Especialização em Redes de Computadores – INF50237

roteadorØ 4.4 Protocolo IP

ü Formato datagarmaü endereçamento IPv4ü ICMPü IPv6

Ø 4.6 Roteamento na Internet

ü RIPü OSPFü BGP

Ø 4.7 Roteamento Broadcast e multicast

Page 38: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Endereçamento IP: introduçãoØ endereço IP: ident. de 32-bits para interface de estação, roteador

Ø interface: conexão entre estação,

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.27

Curso de Especialização em Redes de Computadores – INF50238

entre estação, roteador e enlace físico

ü roteador típico tem múltiplas interfaces

ü estação pode ter múltiplas interfaces

ü endereço IP associado à interface

223.1.3.2223.1.3.1

223.1.1.1 = 11011111 00000001 00000001 00000001

223 1 11

Page 39: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Endereçamento IPØ endereço IP:

ü parte de rede (bits de mais alta ordem)

ü parte de estação (bits de mais baixa ordem)

Ø O que é uma rede IP?

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.27

Curso de Especialização em Redes de Computadores – INF50239

Ø O que é uma rede IP? (da perspectiva do endereço IP)

ü interfaces de dispositivos com a mesma parte de rede nos seus endereços IP

ü podem alcançar um ao outro sem passar por um roteador

223.1.3.2223.1.3.1

Esta rede consiste de 3 redes IP(para endereços IP começando com 223, os primeiros 24 bits são a parte de rede)

LAN

Page 40: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Enviando um datagrama da origem ao destino

datagrama IP:

223.1.1.1Aaamposmisc

end. IPorigem

end. IP dest dados

rede dest. próx. rot. Nenlaces

223.1.1 1223.1.2 223.1.1.4 2

223.1.3 223.1.1.4 2

tabela de rotas em A

Curso de Especialização em Redes de Computadores – INF50240

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

A

BE

misc origem dest

Ø datagrama permanece inalterado, enquanto passa da origem ao destino

Ø campos de endereços de interesse aqui

Page 41: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Endereços IP

0rede estaçãoA

classe1.0.0.0 to127.255.255.255

dada a noção de “rede”, vamos reexaminar endereços IP:

endereçamento “baseado em classes”:

Curso de Especialização em Redes de Computadores – INF50241

10 rede estação

110 rede estação

1110 endereço multiponto

B

C

D

127.255.255.255

128.0.0.0 to191.255.255.255

192.0.0.0 to223.255.255.255

224.0.0.0 to239.255.255.255

32 bits

Page 42: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Endereçamento IP: CIDRØ Endereçamento baseado em classes:

ü uso ineficiente e esgotamento do espaço de endereçosü p.ex., rede da classe B aloca endereços para 65K estações, mesmo se houver apenas 2K estações nessa rede

Ø CIDR: Classless InterDomain Routingparte de rede do endereço de comprimento arbitrário

Curso de Especialização em Redes de Computadores – INF50242

parte deestação

ü parte de rede do endereço de comprimento arbitrárioü formato de endereço: a.b.c.d/x, onde x é no. de bits na parte de rede do endereço

11001000 00010111 00010000 00000000

partede rede

200.23.16.0/23

Page 43: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Endereços IP: como conseguir um?

Estações (parte de estação):Ø codificado pelo administrador num arquivo

ü Windows: control-panel->network->configuration->tcp/ip->properties

ü UNIX: /etc/rc.config

Curso de Especialização em Redes de Computadores – INF50243

ü UNIX: /etc/rc.configØ DHCP: Dynamic Host Configuration Protocol: obtém

endereço dinamicamente: “plug-and-play”ü estação difunde mensagem “DHCP discover”ü servidor DHCP responde com “DHCP offer” ü estação solicita endereço IP: “DHCP request”ü servidor DHCP envia endereço: “DHCP ack”

Page 44: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Endereçamento IP: a última palavra...

P: Como um provedor IP consegue um bloco de endereços?

A: ICANN: Internet Corporation for Assigned Names and Numbers

Curso de Especialização em Redes de Computadores – INF50244

Names and Numbersü aloca endereçosü gerencia DNSü aloca nomes de domínio, resolve disputas

(no Brasil, estas funções foram delegadas ao Registro nacional, sediado na FAPESP (SP), e comandado pelo Comitê Gestor Internet BR)

Page 45: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Endereços IP: como conseguir um?

Rede (parte de rede):Ø conseguir alocação a partir do espaço de endereços do seu provedor IP

Bloco do 11001000 00010111 00010000 00000000 200.23.16.0/20provedor

Curso de Especialização em Redes de Computadores – INF50245

provedorOrganizaçã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

Page 46: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

DHCP

223.1.1.1

223.1.1.2

223.1.1.4 223.1.2.9

223.1.2.1A

B

DHCP server

Curso de Especialização em Redes de Computadores – INF50246

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.3.2223.1.3.1

223.1.3.27

BE Cliente DHCPque chega

precisa de endereçõ

Page 47: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

DHCP client-server scenarioDHCP server: 223.1.2.5 Cliente que chega

DHCP discover

src : 0.0.0.0, 68

dest.: 255.255.255.255,67

yiaddr: 0.0.0.0transaction ID: 654

DHCP offer

src: 223.1.2.5, 67

dest: 255.255.255.255, 68

yiaddrr: 223.1.2.4

transaction ID: 654Lifetime: 3600 secs

Curso de Especialização em Redes de Computadores – INF50247

time

Lifetime: 3600 secs

DHCP request

src: 0.0.0.0, 68

dest:: 255.255.255.255, 67

yiaddrr: 223.1.2.4

transaction ID: 655Lifetime: 3600 secs

DHCP ACK

src: 223.1.2.5, 67

dest: 255.255.255.255, 68

yiaddrr: 223.1.2.4

transaction ID: 655Lifetime: 3600 secs

Page 48: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

NAT: Network Address Translation

10.0.0.1

10.0.0.210.0.0.4

138.76.29.7

Rede local(e.g., home network)

10.0.0/24

Restante darede

Curso de Especialização em Redes de Computadores – INF50248

10.0.0.3

138.76.29.7

Datagramas com origem ou destino nesta rede tem endereço 10.0.0/24 para fonte, e de destino o usual

Todos os datagramas saindo da rede local tem o mesmo endereço NAT IP: 138.76.29.7, diferentes números de portas fontes

Page 49: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

NAT: Network Address Translation

Ø Motivação: rede local usa apenas um endereço IP:ü Não há necessidade de alocar faixas de endereços de um ISP� apenas um endereço IP é usado para todos os dispositivos

Curso de Especialização em Redes de Computadores – INF50249

dispositivosü Permite mudar o endereço dos dispositivos internos sem necessitar notificar o mundo externo;

ü Permite a mudança de ISPs sem necessitar mudar os endereços dos dispositivos internos da rede local

ü Dispositivos internos a rede, não são visíveis nem endereçaveis pelo mundo externo (melhora segurança);

Page 50: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

NAT: Network Address TranslationImplementação: roteador NAT deve;

ü Datagramas que saem: trocar (endereço IP fonte, porta #) de cada datagrama de saída para (endereço NAT IP, nova porta #). . . clientes/servidores remotos irão responder usando (endereço NAT IP, nova porta #) como endereço destino.

Curso de Especialização em Redes de Computadores – INF50250

usando (endereço NAT IP, nova porta #) como endereço destino.

ü guardar (na tabela de tradução de endereços NAT): os pares de tradução de endereços (endereço IP fonte, porta #) para (endereços NAT IP, nova porta #)

ü Datagramas qeu chegam: trocar (endereço NAT IP, nova porta #) no campo de destino de cada datagrama que chega com o correspondente (endereço IP fonte, porta #) armazenado na tabela NAT

Page 51: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

NAT: Network Address Translation

10.0.0.1

S: 10.0.0.1, 3345D: 128.119.40.186, 80

1: host 10.0.0.1 envia datagrama para 128.119.40, 80

Tabela de tradução NAT WAN addr LAN addr138.76.29.7, 5001 10.0.0.1, 3345…… ……

2: roteador NAT muda o endereço de origem10.0.0.1, 3345 de10.0.0.1, 3345 para138.76.29.7, 5001,e atualiza a tabela

Curso de Especialização em Redes de Computadores – INF50251

10.0.0.1

10.0.0.2

10.0.0.3

110.0.0.4

138.76.29.7 S: 128.119.40.186, 80 D: 10.0.0.1, 3345 4

S: 138.76.29.7, 5001D: 128.119.40.186, 802

e atualiza a tabela

S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3

3: resposta chega no endereço de destino:138.76.29.7, 5001

4: roteador NAT muda o endereço de destino de 138.76.29.7, 5001 para 10.0.0.1, 3345

Page 52: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

NAT: Network Address Translation

Ø Campo de porta de 16-bit : ü 60,000 conexões simultâneas com um único endereço de rede;

Ø NAT é controverso:Roteadores devem fazer processamentos até no

Curso de Especialização em Redes de Computadores – INF50252

ü Roteadores devem fazer processamentos até no máximo a camada 3;

ü Viola o “conceito fim-a-fim”• A possibilidade de suporte a NAT deve ser levado em consideração pelos desenvolvedores de aplicações;

ü O problema de diminuição do número de endereços deveria ser tratada por IPv6;

Page 53: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Problema NAT traversalØ Cliente deseja conectar-se ao

servidor com endereço 10.0.0.1ü Endereço servidor 10.0.0.1 na

rede local (cliente não pode usar como endereço destino)

ü Somente um endereço (NATed) externamente visível: 138.76.29.7

10.0.0.1

10.0.0.4

Client ?

Curso de Especialização em Redes de Computadores – INF50253

externamente visível: 138.76.29.7Ø Uma solução: configurar NAT

manualmente para encaminhar requisição de conexão a uma certa porta do servidor

Ø exemplo., (123.76.29.7, port 2500) sempre envia para 10.0.0.1 port 25000

NAT router

138.76.29.7

Page 54: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Problema NAT traversalØ Segunda solução: protocolo Universal Plug and Play (UPnP) Internet Gateway Device (IGD) permite NATted host to:� Aprende endereço IP publico (138.76.29.7)

10.0.0.1

10.0.0.4

IGD

Curso de Especialização em Redes de Computadores – INF50254

publico (138.76.29.7)� Adiciona/remove mapeamento de porta (por tempo determinado) i.e., automatiza mapeamento de configuração de porta NAT

NAT router

138.76.29.7

Page 55: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Problema NATØ solução 3: relaying (usado no Skype)

ü Cliente NATed estabelece conexão com relayü Cliente externo conecta com relayü Relayinterconecta pacotes entre conexões

Curso de Especialização em Redes de Computadores – INF50255

138.76.29.7

Client

10.0.0.1

NAT roteador

1. Conexão ao relay iniciado pelo NATed host

2. Conexão ao relay iniciado pelo cliente

3. relaying estabelecido

Page 56: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

RoteiroØ 4. 1 IntroduçãoØ 4.2 Circuitos virtuais x datagrama

Ø 4.3 Como é um roteador

Ø 4.5 Algoritmos de roteamento

ü Estado de enlaceü Vetor distânciaü Roteamento hierarquico

Ø 4.6 Roteamento na

Curso de Especialização em Redes de Computadores – INF50256

roteadorØ 4.4 Protocolo IP

ü Formato datagarmaü endereçamento IPv4ü ICMPü IPv6

Ø 4.6 Roteamento na Internet

ü RIPü OSPFü BGP

Ø 4.7 Roteamento Broadcast e multicast

Page 57: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

ICMP: Internet Control Message Protocol

Ø usado por estações, roteadores para comunicar informação s/ camada de rede

ü relatar erros: estação, rede, porta, protocolo inalcançáveispedido/resposta de eco

Tipo Código descrição

0 0 resposta de eco (ping)

3 0 rede dest. inalcançável

3 1 estação dest inalcançável

3 2 protocolo dest inalcançável

3 3 porta dest inalcançável

Curso de Especialização em Redes de Computadores – INF50257

ü pedido/resposta de eco (usado por ping)

Ø camada de rede “acima de” IP:ü msgs ICMP transportadas

em datagramas IPØ mensagem ICMP: tipo, código

mais primeiros 8 bytes do datagrama IP causando erro

3 3 porta dest inalcançável

3 6 rede dest desconhecida

3 7 estação dest desconhecida

4 0 abaixar fonte (controle de

congestionamento - ñ usado)

8 0 pedido eco (ping)

9 0 anúncio de rota

10 0 descobrir roteador

11 0 TTL (sobrevida) expirada

12 0 erro de cabeçalho IP

Page 58: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

ICMP eTraceroute

Ø Fonte UDP envia uma série de segmentos

ü Primeiro TTL = 1ü Segundo TTL=2, etc.

Ø Quando n-ésimo datagrama chega no nésimo roteador :

Roteador descarta

Ø Quando mensagem ICMP chega, finte calcula RTT

Ø Traceroute faz isso três vezes

Critério de paradaØ Segmento UDP

eventualmente chega ao

Curso de Especialização em Redes de Computadores – INF50258

ü Roteador descarta datagrama

ü Envia para a fonte um datagrama ICMP (type 11, code 0)

ü Mensagem inclui nome de roteador e endereço IP

Ø Segmento UDP eventualmente chega ao destinatário

Ø Destinatário ICMP retorna mensagem “host unreachable” (type 3, code 3)

Ø Quando fonte recebe mensagem, ICMP para.

Page 59: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

RoteiroØ 4. 1 IntroduçãoØ 4.2 Circuitos virtuais x datagrama

Ø 4.3 Como é um roteador

Ø 4.5 Algoritmos de roteamento

ü Estado de enlaceü Vetor distânciaü Roteamento hierarquico

Ø 4.6 Roteamento na

Curso de Especialização em Redes de Computadores – INF50259

roteadorØ 4.4 Protocolo IP

ü Formato datagarmaü endereçamento IPv4ü ICMPü IPv6

Ø 4.6 Roteamento na Internet

ü RIPü OSPFü BGP

Ø 4.7 Roteamento Broadcast e multicast

Page 60: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

IPv6Ø Motivação inicial: espaço de endereços de 32-bits completamente alocado até 2008.

Ø Motivação adicional :ü formato do cabeçalho facilita acelerar processamento/re-encaminhamento

Curso de Especialização em Redes de Computadores – INF50260

processamento/re-encaminhamentoü mudanças no cabeçalho para facilitar QoS ü novo endereço “anycast”: rota para o “melhor” de vários servidores replicados

Ø formato do datagrama IPv6:ü cabeçalho de tamanho fixo de 40 bytesü não admite fragmentação

Page 61: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Anycast

Ø Unicast

Ø MulticastØ Multicast

Ø Anycast

Ø Broadcast

Curso de Especialização em Redes de Computadores – INF50261

Page 62: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Cabeçalho IPv6Prioridade: identifica prioridade entre datagramas no fluxoRótulo do Fluxo: identifica datagramas no mesmo “fluxo”

(conceito de “fluxo” mal definido).Próximo cabeçalho: identifica protocolo da camada superior

para os dados

Curso de Especialização em Redes de Computadores – INF50262

Page 63: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Outras mudanças de IPv4

Ø Checksum: removido completamente para reduzir tempo de processamento a cada roteador

Ø Opções: permitidas, porém fora do cabeçalho, indicadas pelo campo “Próximo

Curso de Especialização em Redes de Computadores – INF50263

Opções: permitidas, porém fora do cabeçalho, indicadas pelo campo “Próximo Cabeçalho”

Ø ICMPv6: versão nova de ICMPü tipos adicionais de mensagens, p.ex. “Pacote Muito Grande”

ü funções de gerenciamento de grupo multiponto

Page 64: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Estatística IPv6

Curso de Especialização em Redes de Computadores – INF50264

Page 65: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

IPv6 na América do Sul

Curso de Especialização em Redes de Computadores – INF50265

Page 66: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Transição de IPv4 para IPv6

Ø Não todos roteadores podem ser atualizados simultaneamenteü “dias de mudança geral” inviáveisü Como a rede pode funcionar com uma mistura de roteadores IPv4 e IPv6?

Curso de Especialização em Redes de Computadores – INF50266

roteadores IPv4 e IPv6? Ø Duas abordagens propostas:

ü Pilhas Duais: alguns roteadores com duas pilhas (v6, v4) podem “traduzir” entre formatos

ü Tunelamento: datagramas IPv6 carregados em datagramas IPv4 entre roteadores IPv4

Page 67: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Abordagem de Pilhas Duais

Curso de Especialização em Redes de Computadores – INF50267

Page 68: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Pilhas Duais

Curso de Especialização em Redes de Computadores – INF50268

Page 69: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Tunelamento

IPv6 dentro de IPv4 quando necessário

Curso de Especialização em Redes de Computadores – INF50269

Page 70: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

ICMPv6

Ø Versão do protocolo ICMP utilizada pelo protocolo Ipv6, basicamente as mesmas funcionalidades do ICMPü Realizar diagnósticos

Relatar erros de processamento de pacotes

Curso de Especialização em Redes de Computadores – INF502 70

ü Relatar erros de processamento de pacotesØ Possui também funções adicionais

ü Descoberta de vizinhança (antes providas pelo protocolo ARP)

ü Gerenciamento de grupos Multicast (antes providas pelo protocolo IGMP).

Page 71: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

RoteiroØ 4. 1 IntroduçãoØ 4.2 Circuitos virtuais x datagrama

Ø 4.3 Como é um roteador

Ø 4.5 Algoritmos de roteamento

ü Estado de enlaceü Vetor distânciaü Roteamento hierarquico

Ø 4.6 Roteamento na

Curso de Especialização em Redes de Computadores – INF50271

roteadorØ 4.4 Protocolo IP

ü Formato datagarmaü endereçamento IPv4ü ICMPü IPv6

Ø 4.6 Roteamento na Internet

ü RIPü OSPFü BGP

Ø 4.7 Roteamento Broadcast e multicast

Page 72: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

routing algorithm

local forwarding table

header value output link

0100

0101

0111

3

2

2

Roteamento

Network Layer4-72

1

23

0111

Rótulo no cabeçalho

do pacote

0111

1001

2

1

Page 73: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

protocolo de roteamento

Roteamento

Abstração de grafo para

meta: determinar caminho(seqüência de roteadores) “bom” pela rede da origem ao destino

A

ED

CB

F2

21

3 1

2

53

5

Curso de Especialização em Redes de Computadores – INF50273

Abstração de grafo para algoritmos de roteamento:

Ø nós do grafo são roteadores

Ø arestas do grafo são os enlaces físicos

ü custo do enlace: retardo, financeiro, ou nível de congestionamento

ED11

2

Ø caminho “bom”:ü tipicamente significa caminho de menor custo

ü outras definições são possíveis

Page 74: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Classificação de Algoritmos de RoteamentoInformação global ou descentralizada?

Global:Ø todos roteadores têm info.

completa de topologia, custos dos enlaces

Estático ou dinâmico?Estático:Ø rotas mudam lentamente

com o tempoDinâmico:Ø rotas mudam mais

Curso de Especialização em Redes de Computadores – INF50274

dos enlacesØ algoritmos “estado de enlaces”Decentralizada:Ø roteador conhece vizinhos

diretos e custos até elesØ processo iterativo de cálculo,

troca de info. com vizinhosØ algoritmos “vetor de distâncias”

Ø rotas mudam mais rapidamente

ü atualização periódicaü em resposta a mudanças nos custos dos enlaces

Page 75: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Um algoritmo de roteamento de “estado de enlaces” (EE)Algoritmo de DijkstraØ topologia da rede, custos dos

enlaces conhecidos por todos os nós

ü realizado através de “difusão do estado dos enlaces”

Notação:Ø c(i,j): custo do enlace do nó

i ao nó j. custo é infinito se não forem vizinhos diretos

Ø D(V): valor corrente do custo do caminho da origem

Curso de Especialização em Redes de Computadores – INF50275

do estado dos enlaces” ü todos os nós têm mesma info.

Ø calcula caminhos de menor custo de um nó (“origem”) para todos os demais

ü gera tabela de rotas para aquele nó

Ø iterativo: depois de k iterações, sabemos menor custo p/ k destinos

D(V): valor corrente do custo do caminho da origem ao destino V

Ø p(V): nó antecessor no caminho da origem ao nó V, imediatamente antes de V

Ø N: conjunto de nós cujo caminho de menor custo já foi determinado

Page 76: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

O algoritmo de Dijkstra1 Inicialização:2 N = {A} 3 para todos os nós V 4 se V for adjacente ao nó A 5 então D(V) = c(A,V) 6 senão D(V) = infinito 7

Curso de Especialização em Redes de Computadores – INF50276

7 8 Repete9 determina W não contido em N tal que D(W) é o mínimo 10 adiciona W ao conjunto N 11 atualiza D(V) para todo V adjacente ao nó W e ainda não em N: 12 D(V) = min( D(V), D(W) + c(W,V) ) 13 /* novo custo ao nó V ou é o custo velho a V ou o custo do 14 menor caminho ao nó W, mais o custo de W a V */ 15 até que todos nós estejam em N

Page 77: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Algoritmo de Dijkstra: exemplo

Passo012345

N inicialA

ADADE

ADEBADEBC

ADEBCF

D(B),p(B)2,A2,A2,A

D(C),p(C)5,A4,D3,E3,E

D(D),p(D)1,A

D(E),p(E)infinito

2,D

D(F),p(F)infinitoinfinito

4,E4,E4,E

Curso de Especialização em Redes de Computadores – INF50277

5 ADEBCF

A

ED

CB

F2

21

3

1

1

2

53

5

Page 78: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Algoritmo de Dijkstra, discussãoComplexidade algoritmica: n nósØ a cada iteração: precisa checar todos nós, W, não em NØ n*(n+1)/2 comparações => O(n**2)Ø implementações mais eficientes possíveis: O(nlogn)Oscilações possíveis:

Curso de Especialização em Redes de Computadores – INF50278

Oscilações possíveis:Ø p.ex., custo do enlace = carga do tráfego carregado

AD

C

B1 1+e

e0

e1 1

0 0

AD

C

B2+e 0

001+e 1

AD

C

B0 2+e

1+e10 0

AD

C

B2+e 0

e01+e 1

inicialmente … recalcularotas

… recalcula … recalcula

Page 79: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Um algoritmo de roteamento de “vetor de distâncias” (VD)iterativo:Ø continua até que não

haja mais troca de info. entre nós

Ø se auto-termina: não há “sinal” para parar

Estrutura de dados: Tabela de Distâncias

Ø cada nós possui sua própria TDØ 1 linha para cada destino possívelØ 1 coluna para cada vizinho direto

Curso de Especialização em Redes de Computadores – INF50279

“sinal” para pararassíncrono:Ø os nós não precisam

trocar info./iterar de forma sincronizada!

distribuído:Ø cada nó comunica

apenas com seus vizinhos diretos

1 coluna para cada vizinho direto

Page 80: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Algoritmo Vetor Distância

Ø Dx(y) = estimativa do menor custo de x para y

Ø Nó x sabe o custo para seu vizinho v c(x,v)Ø Nó x mantém vetor distância Dx = [Dx(y): y

Network Layer4-80

Ø Nó x mantém vetor distância Dx = [Dx(y): y є N ]

Ø Nó x mantém informação do vetor distância dos seus vizinhosü Para caa vizinho:Dv = [Dv(y): y є N ]

Page 81: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Algoritmo de Vetor Distância

Algoritmo Bellman-Ford

dx(y) := menor custo de se ir de x para y

Network Layer4-81

dx(y) := menor custo de se ir de x para y

dx(y) = min {c(x,v) + dv(y) }

Mínimo entre todos os vizinhos

v

Page 82: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Exemplo

u

yx

wv

z2

21

3

1

1

2

53

5Vê-se que: dv(z) = 5, dx(z) = 3, dw(z) = 3

du(z) = min { c(u,v) + dv(z),c(u,x) + d (z),

Network Layer4-82

yx1

2c(u,x) + dx(z),c(u,w) + dw(z) }

= min {2 + 5,1 + 3,5 + 3} = 4

Page 83: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Tabela de distâncias gera tabela de rotas

D ()

A

B

A

1

7

B

14

8

D

5

5

Ecusto ao destino via

A

B

A,1

D,5

enlace de saída

a usar, custo

Curso de Especialização em Redes de Computadores – INF50283

B

C

D

7

6

4

8

9

11

5

4

2

B

C

D

D,5

D,4

D,4

Tabela de distâncias Tabela de rotas

Page 84: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Roteamento vetor de distâncias: sumário

Iterativo, assíncrono: cada iteração local causada por:

Ø mudança do custo do enlace local

Ø mensagem do vizinho: mudança de caminho de menor custo para algum destino

espera (mudança no custo

de mensagem do vizinho)

Cada nó:

Curso de Especialização em Redes de Computadores – INF50284

de caminho de menor custo para algum destino

Distribuído:Ø cada nó avisa a seus vizinhos

apenas quando muda seu caminho de menor custo para qualquer destino

ü os vizinhos então avisam a seus vizinhos, se for necessário

recalcula tabela de

distâncias

se mudou o caminho de menor custo para qq.

destino, avisa vizinhos

Page 85: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Algoritmo Vetor de Distâncias:

1 Inicialização: 2 para todos nós adjacentes V: 3 D (*,V) = infinito /* o operador * significa ”para todas linhas" */ 4 D (V,V) = c(X,V)

XX

Em todos nós, X:

Curso de Especialização em Redes de Computadores – INF50285

4 D (V,V) = c(X,V) 5 para todos destinos, Y 6 envia mín D (Y,W) para cada vizinho /* W indica vizinhos de X */X

w

Page 86: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Algoritmo Vetor de Distâncias (cont.):8 repete9 espera (até observar mudança de custo do enlace ao vizinho V, 10 ou até receber atualização do vizinho V) 11 12 se (c(X,V) muda por d unidades) 13 /* altera custo para todos destinos através do vizinho V por d */14 /* note: d pode ser positivo ou negativo */ 15 para todos destinos Y: D (Y,V) = D (Y,V) + d 16

XX

Curso de Especialização em Redes de Computadores – INF50286

16 17 senão, se (atualização recebido de V para destino Y) 18 /* mudou o menor caminho de V para algum Y */19 /* V enviou um novo valor para seu mín D (Y,w) */ 20 /* chamamos este novo valor de "val_novo" */ 21 para apenas o destino Y: D (Y,V) = c(X,V) + val_novo 22 23 se temos um novo mín D (Y,W) para qq destino Y 24 envia novo valor de mín D (Y,W) para todos vizinhos25 26 para sempre

w

X

X

X

w

w

V

Page 87: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

x y zxyz

0 2 7∞∞ ∞∞∞ ∞

De

Custo parax y z

xyz

0

De

Custo para

x y zcost to

2 0 17 1 0

12y

Tabela nó x

Tabela nó y node

Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)}= min{2+0 , 7+1} = 2

Dx(z) = min{c(x,y) +Dy(z), c(x,z) + Dz(z)}

= min{2+1 , 7+0} = 3

32

Curso de Especialização em Redes de Computadores – INF50287

De

De

xyz

∞ ∞

∞∞ ∞

x y zxyz

∞∞ ∞7 1 0

cost to

∞2 0 1

∞ ∞ ∞

time

x z12

7

Tabela nó z

Page 88: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

x y zxyz

0 2 7∞∞ ∞∞∞ ∞

De

Custo parax y z

xyz

0 2 3

De

Custo parax y z

xyz

0 2 3

De

Custo para

x y zCusto para

x y zCusto para

x y zCusto para

2 0 17 1 0

2 0 13 1 0

12y

Tabela nó x

Tabela nó y

Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)}= min{2+0 , 7+1} = 2

Dx(z) = min{c(x,y) +Dy(z), c(x,z) + Dz(z)}

= min{2+1 , 7+0} = 3

Curso de Especialização em Redes de Computadores – INF50288

De

De

xyz

∞ ∞

∞∞ ∞

xyz

0 2 7

De

x y zxyz

0 2 3

De

x y zxyz

0 2 3De

Custo parax y z

xyz

0 2 7

De

Custo parax y z

xyz

∞∞ ∞7 1 0

Custo para

∞2 0 1

∞ ∞ ∞

2 0 17 1 0

2 0 13 1 0

2 0 1

3 1 02 0 1

3 1 0

time

x z12

7

Tabela nó z

Page 89: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Dimuição no custo de enlace

Mudanca no estado do enlace:Ø Nó detecta mudanca no custo do

enlaceØ Atualiza informação de roteamento,

recalcula vetor Ø Se distâncias alterada, notifica

x z14

50

y1

Curso de Especialização em Redes de Computadores – INF50289

Ø Se distâncias alterada, notifica vizinhos

“Boasnotícias Caminhamrápido”

No tempo t0, y detecta mudanca no custo e notifica vizinhoNo tempo t1, z recebe atualização de y e atualiza sua tabela , Computa um novo custo para x e envia para seus vizinhos a sua VD

No tempo t2, y recebe a atualização de z e atualiza a sua tabela de distância, o menor custo de y não se altera econsequentemente não envia nenhuma mensagem para z

Page 90: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Aumento do custo de enlace

Mudanca de custo no enlace:

Ø Notícias ruins demoram a propagar, problema de “contagem até

Ø 44 interações até estabilizar

x z14

50

y60

Curso de Especialização em Redes de Computadores – INF50290

Ø 44 interações até estabilizar

Reverso envenenado:Ø Se Z rotea através de Y

para chegar a X :ü Z diz a Y que sua distância

a x é infinita, de tal forma que Y não vai rotear através de Z

Page 91: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Comparação dos algoritmos EE e VD

Complexidade de mensagensØ EE: com n nós, E enlaces, O(nE)

mensagens enviadasØ VD: trocar mensagens apenas

entre vizinhosü varia o tempo de convergência

Robustez: o que acontece se houver falha do roteador?

EE:ü nó pode anunciar valores incorretos de custo de enlace

ü cada nó calcula sua própria

Curso de Especialização em Redes de Computadores – INF50291

convergência

Rapidez de ConvergênciaØ EE: algoritmo O(n**2) requer

O(nE) mensagensü podem ocorrer oscilações

Ø VD: varia tempo para convergirü podem ocorrer rotas cíclicasü problema de contagem ao infinito

ü cada nó calcula sua própria tabela

VD:ü um nó VD pode anunciar um custo de caminho incorreto

ü a tabela de cada nó é usada pelos outros nós• erros se propagam pela rede

Page 92: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Roteamento Hierárquico

Neste estudo de roteamento fizemos uma idealização:

Ø todos os roteadores idênticosØ rede “não hierarquizada” (“flat”)… não é verdade, na prática

Curso de Especialização em Redes de Computadores – INF50292

escala: 200 milhões de destinos:

Ø impossível guardar todos destinos na tabela de rotas!

Ø troca de tabelas de rotas afogaria os enlaces!

autonomia administrativaØ internet = rede de redesØ cada administrador de rede

pode querer controlar roteamento em sua própria rede

… não é verdade, na prática

Page 93: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

roteadores de borda

Roteamento Hierárquico

Ø agregar roteadores em regiões, “sistemas autônomos” (SAs)

Ø roteadores no mesmo SA usam o mesmo protocolo de

Ø roteadores especiais no SA

Ø usam protocolo de roteamento intra-SA com todos os demais

Curso de Especialização em Redes de Computadores – INF50293

SA usam o mesmo protocolo de roteamento

ü protocolo de roteamento “intra-SA”

ü roteadores em SAs diferentes podem usar diferentes protocolos de roteamento intra-SA

todos os demais roteadores no SA

Ø também responsáveis por rotear para destinos fora do SA

ü usam protocolo de roteamento “inter-SA”com outros roteadores de borda

Page 94: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Roteamento Intra-SA e Inter-SA

Roteadores de borda:•fazem roteamento inter-SA entre si•fazem roteamento intra-SA com outros roteadores do seu próprio SA

a

b

b

aaC

A

Bd

A.aA.c

C.bB.a

cb

c

Curso de Especialização em Redes de Computadores – INF50294

próprio SA

Roteamentointer-AS, intra-AS no roteador de borda A.c

camada de rede

camada de enlacecamada física

bAc

Page 95: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Roteamento Intra-SA e Inter-SA

Estaçãoe2

ab

aaC

B

A.aA.c

C.bB.a

cb

Estação

roteamentoInter-SAentreA e B

Curso de Especialização em Redes de Computadores – INF50295

b

a

A

Bd c

Estaçãoe1

roteamento Intra-SA no SA A

roteamento Intra-SA no SA B

Ø Em breve veremos protocolos de roteamento inter-SA e intra-SA específicos da Internet

Page 96: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Tarefa Interna SAØ Roteador em AS1 recebe datagrama destinado para roteador em outro :ü Para qual roteador deve enviar o pacote?

AS1 deve:1. Propagar para qual

destinatários pode-se chegar através de AS2 e de AS3

2. Propagar informação de alcancabilidade através de AS1

Tarefa de roteamento

Curso de Especialização em Redes de Computadores – INF50296

3b

1d

3a

1c2aAS3

AS1AS2

1a

2c2b

1b

3c

pacote? Tarefa de roteamento intra-domínio!

Page 97: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Exemplo: setando tabela de roteamento 1d

Ø Suponha que SA1 aprendeu (via protocolo inter-AS) que a submet x alcancável através de AS3 (gateway 1c) mas não via AS2.

Ø Protocolo inter-SA propoaga informação de alcancabilidade para todos roteadores internos

Ø Roteador 1d determina através de informação de roteamento intra-SA qual interface I está no menor

Curso de Especialização em Redes de Computadores – INF50297

roteamento intra-SA qual interface I está no menor caminho para 1c.ü Instala tabela de encaminhamento (x,I)

3b

1d

3a

1c2aAS3

AS1AS2

1a

2c2b

1b

3cx

Page 98: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Exemplo: escolha entre múltiplos SAs

Ø Suponha agora que AS1 aprende através do protocolo inter-SA que a subrede x é alcancável de AS3 e de AS2.

Ø Para configyrar a tabela de encamihamento, o roteador 1d tem que determinar através de qual gateway ele deve encaminhar pacote ao destinatário x.

Esta também é uma tarefa do protocolo inter-SA

Curso de Especialização em Redes de Computadores – INF50298

x. ü Esta também é uma tarefa do protocolo inter-SA

3b

1d

3a

1c2aAS3

AS1AS2

1a

2c2b

1b

3cx

Page 99: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Exemplo: escolha entre múltiplos ASs

Ø Suponha agora que AS1 aprende através do protocolo inter-domínio que a sub-rede x é alcancável de AS3 e deAS2.

Ø Para configurar a tabela, o roteador 1d deve determinar através de qual gateway, deve enviar os pacotes para o destinatário x.

ü Esta também é uma tarefa do protocolo inter-domínio

Ø Protocolo batata quente: envia pacote para a roteador mais próximo.

Curso de Especialização em Redes de Computadores – INF50299

Aprende através dosprotocolos inter-domínio

que a subrede xé alcancável através

de múltiplos gateways

Utilize informações providas pelos

protocolos intra-SA para determinar custo do menor

caminho para cada gateway

Roteamento batata quente: escolha o

gateway com o menor custo

Determine através da tabela de

encaminhamentoA interface

Para o gatewayCom menor custo

Ø Protocolo batata quente: envia pacote para a roteador mais próximo.

Page 100: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

RoteiroØ 4. 1 IntroduçãoØ 4.2 Circuitos virtuais x datagrama

Ø 4.3 Como é um roteador

Ø 4.5 Algoritmos de roteamento

ü Estado de enlaceü Vetor distânciaü Roteamento hierarquico

Ø 4.6 Roteamento na

Curso de Especialização em Redes de Computadores – INF502100

roteadorØ 4.4 Protocolo IP

ü Formato datagarmaü endereçamento IPv4ü ICMPü IPv6

Ø 4.6 Roteamento na Internet

ü RIPü OSPFü BGP

Ø 4.7 Roteamento Broadcast e multicast

Page 101: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Roteamento na InternetØ A Internet Global consiste de Sistemas Autonônomos(SAs) interligados entre si:

ü SA Folha: empresa pequenaü SA com Múltipla Conectividade: empresa grande (sem trânsito)

ü SA de Trânsito: provedor

Curso de Especialização em Redes de Computadores – INF502101

ü SA de Trânsito: provedor

Ø Roteamento em dois níveis: ü Intra-SA: administrador é responsável pela escolhaü Inter-SA: padrão único

Page 102: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Hierarquia de SAs na InternetInter-SA: roteadores de fronteira (exterior gateways)

Curso de Especialização em Redes de Computadores – INF502102

Intra-SA: roteadores internos (interior gateways)

Page 103: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Roteamento Intra-SA

Ø Também conhecido como Interior Gateway Protocols (IGP) (protocolos de roteamento interno)

Ø Os IGPs mais comuns são:

ü RIP: Routing Information Protocol

Curso de Especialização em Redes de Computadores – INF502103

ü RIP: Routing Information Protocol

ü OSPF: Open Shortest Path First

ü IGRP: Interior Gateway Routing Protocol(proprietário da Cisco)

Page 104: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

RIP (Routing Information Protocol)

Ø Algoritmo do tipo vetor de distâncias

Ø Incluído na distribuição do BSD-UNIX em 1982

Ø Métrica de distância: # de enlaces (máx = 15 enlaces)

Curso de Especialização em Redes de Computadores – INF502104

Ø Métrica de distância: # de enlaces (máx = 15 enlaces)

Ø Vetores de distâncias: trocados a cada 30 seg via Mensagem de Resposta (tb chamada de anúncio)

Ø Cada anúncio: rotas para 25 redes destino

Page 105: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

RIP: exemplo

w x y

z

A

C

D B...

Curso de Especialização em Redes de Computadores – INF502105

Rede Destino Próximo Roteador No. de enlaces ao destinow A 2y B 2z B 7x -- 1…. …. ....

C

Tabela de rotas em D

Page 106: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

RIP: Falha e Recuperação de EnlacesSe não for recebido anúncio novo durante 180 seg --> vizinho/enlace declarados mortosü rotas via vizinho invalidadasü novos anúncios enviados aos vizinhosü na sua vez, os vizinhos publicam novos anúncios (se foram alteradas as suas tabelas)

Curso de Especialização em Redes de Computadores – INF502106

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

ü reverso envenenado usado para impedir rotas cíclicas (ping-pong) (distância infinita = 16 enlaces)

Page 107: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

RIP: Processamento de tabelas

Ø Tabelas de roteamento RIP gerenciadas por processo de nível de aplicação chamado routed (routing daemon)

Ø anúncios enviados em pacotes UDP, repetidos periodicamente

Curso de Especialização em Redes de Computadores – INF502107

periodicamente

Page 108: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

RIP: exemplo de tabela de rotas (cont)Router: giroflee.eurocom.fr

Destination Gateway Flags Ref Use Interface

-------------------- -------------------- ----- ----- ------ ---------

127.0.0.1 127.0.0.1 UH 0 26492 lo0

192.168.2. 192.168.2.5 U 2 13 fa0

193.55.114. 193.55.114.6 U 3 58503 le0

192.168.3. 192.168.3.5 U 2 25 qaa0

224.0.0.0 193.55.114.6 U 3 0 le0

Curso de Especialização em Redes de Computadores – INF502108

Ø Três redes vizinhas diretas da classe C (LANs)Ø Roteador apenas sabe das rotas às LANs vizinhasØ Roteador “default” usado para “subir”Ø Rota de endereço multiponto: 224.0.0.0Ø Interface “loopback” (para depuração)

224.0.0.0 193.55.114.6 U 3 0 le0

default 193.55.114.129 UG 0 143454

Page 109: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

OSPF (Open Shortest Path First)Ø “open” (aberto): publicamente disponívelØ Usa algoritmo do Estado de Enlaces

ü disseminação de pacotes EEü Mapa da topologia a cada nóü Cálculo de rotas usando o algoritmo de Dijkstra

Curso de Especialização em Redes de Computadores – INF502109

ü Cálculo de rotas usando o algoritmo de Dijkstra

Ø Anúncio de OSPF inclui uma entrada por roteador vizinho

Ø Anúncios disseminados para SA inteiro (via inundação)

Page 110: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

OSPF: características “avançadas” (não existentes no RIP)Ø Segurança: todas mensagens OSPF autenticadas (para impedir intrusão maliciosa); conexões TCP usadas

Ø Caminhos Múltiplos de custos iguais permitidos (o RIP permite e usa apenas uma rota)

Ø Para cada enlace, múltiplas métricas de custo para

Curso de Especialização em Redes de Computadores – INF502110

Ø Para cada enlace, múltiplas métricas de custo para TOS diferentes (p.ex, custo de enlace de satélite colocado como “baixo” para melhor esforço; “alto” para tempo real)

Ø Suporte integrado para ponto a ponto e multiponto: ü OSPF multiponto (MOSPF) usa mesma base de dados de topologia usado por OSPF

Ø OSPF hierárquico em domínios grandes.

Page 111: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

OSPF Hierárquico

Curso de Especialização em Redes de Computadores – INF502111

Page 112: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

OSPF HierárquicoØ Hierarquia de dois níveis: área local, backbone.

ü Anúncios de EE disseminados apenas na mesma área ü cada nó possui topologia detalhada da área; apenas sabe a direção (caminho mais curto) para redes em outras áreas (alcançadas através do backbone).

Ø Roteador de fronteira de área: “sumariza”

Curso de Especialização em Redes de Computadores – INF502112

Ø Roteador de fronteira de área: “sumariza” distâncias às redes na sua própria área, anuncia a outros roteadores de fronteira de área.

Ø Roteadores do backbone: realizam roteamento OSPF limitado ao backbone.

Ø Roteadores de fronteira: ligam a outros SAs.

Page 113: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

IGRP (Interior Gateway Routing Protocol)

Ø Proprietário da CISCO; sucessor do RIP (anos 80)Ø Vetor de Distâncias, como RIPØ Diversas métricas de custo (retardo, largura de banda, confiabilidade, carga, etc)

Ø usa TCP para trocar mudanças de rotas

Curso de Especialização em Redes de Computadores – INF502113

Ø usa TCP para trocar mudanças de rotasØ Roteamento sem ciclos via Distributed Updating Algorithm (DUAL) baseado em computação difusa

Page 114: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Roteamento Inter-SA

Curso de Especialização em Redes de Computadores – INF502114

Page 115: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Operação BGP

Q: O que um roteador BGP faz?Ø Envia anúncio de rotas para seus vizinhos;Ø Recebe e filtra anúncios de rotas dos seus vizinhos diretamente conectadosEscolha da rota .

Curso de Especialização em Redes de Computadores – INF502115

Ø Escolha da rota . ü Para rotear para o destino X, qual caminho (entre tantos anunciados) deve ser seguindo?

Page 116: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

BGP

• BGP (Border Gateway Protocol): é o padrão de fato para uso na Internet

• BGP provê cada AS dos meios para:1. Obter informações de alcance de sub-rede dos Ass. Vizinhos

Curso de Especialização em Redes de Computadores – INF502116

dos Ass. Vizinhos2. Propagar informações de alcance para todos os roteadores internos ao AS3. Determinar “boas” rotas para as sub-redes baseado em informações de alcance e política

• Permite que uma subnet comunique sua existência para o resto da Internet: “Estou aqui”

Page 117: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

• Pares de roteadores (BGP peers) trocam informações de roteamento por conexões TCP semipermanentes: sessões BGP

• Note que as sessões BGP não correspondem aos links físicos• Quando AS2 comunica um prefixo ao AS1, AS2 está prometendoque irá encaminhar todos os datagramas destinados a esse prefixo em direção ao prefixo• AS2 pode agregar prefixos em seu comunicado

Curso de Especialização em Redes de Computadores – INF502117

Page 118: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

• Em cada sessão eBGP entre 3a e 1c, AS3 envia informações de alcance de prefixo para AS1.

• 1c pode então usar iBGP para distribuir essa nova informação de alcance de prefixo para todos os roteadores em AS1

• 1b pode recomunicar essa nova informação para AS2 por meio da sessão eBGP 1b-para-2a.

• Quando um roteador aprende um novo prefixo, ele cria uma entrada para o prefixo em sua tabela de roteamento.

Curso de Especialização em Redes de Computadores – INF502118

Page 119: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

• Quando se comunica um prefixo, o comunicado inclui os atributos do BGP.

• Prefixo + atributos = “rota”

• Dois atributos importantes:

• AS-PATH: contém os ASs pelos quais o comunicado para o prefixo passou: AS 67 AS 17

Curso de Especialização em Redes de Computadores – INF502119

prefixo passou: AS 67 AS 17

• NEXT-HOP: Indica o roteador específico interno ao AS para o AS do próximo salto (next-hop). (Pode haver múltiplos links do AS atual para o AS do próximo salto.)

• Quando um roteador gateway recebe um comunicado de rota, ele usa política de importação para aceitar/rejeitar.

Page 120: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

• Um roteador pode aprender mais do que 1 rota para o mesmo prefixo. O roteador deve selecionar uma rota

• Regras de eliminação:• Atributo de valor de preferência local: decisão de política

Curso de Especialização em Redes de Computadores – INF502120

de política• AS-PATH (caminho) mais curto• Roteador do NEXT-HOP (próximo salto) mais próximo: roteamento da “batata quente”• Critérios adicionais

Page 121: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

• Mensagens BGP são trocadas usando o TCP

• Mensagens BGP:• OPEN: abre conexão TCP para o peer e autentica o transmissor

• UPDATE: comunica novo caminho (ou retira um antigo)

Curso de Especialização em Redes de Computadores – INF502121

antigo)• KEEPALIVE mantém a conexão ativa na ausência de atualizações (updates); também ACKs OPEN request

• NOTIFICATION: reporta erros em mensagens anteriores; também usado para fechar a conexão

Page 122: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Curso de Especialização em Redes de Computadores – INF502122

• A,B,C são redes do provedor• X,W,Y são clientes (das redes do provedor)• X é dual-homed: anexados a duas redes

• X não quer rotear de B via X para C• … então X não comunicará ao B uma rota para C

Page 123: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Curso de Especialização em Redes de Computadores – INF502123

• A comunica ao B o caminho AW • B comunica ao X o caminho BAW • B deveria comunicar ao C o caminho BAW?

• De jeito nenhum! B não obtém nenhum “rendimento” em rotear CBAW pois nem W nem C são seus clientes

• B quer forçar C a rotear para W via A• B quer rotear somente de/para seus clientes!

Page 124: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Porque protocolos Intra- e Inter-AS diferentes ?Políticas:Ø Inter-SA: administração quer controle sobre como tráfego roteado, quem transita através da sua rede.

Ø Intra-AS: administração única, logo são desnecessárias decisões políticas

Escalabilidade:

Curso de Especialização em Redes de Computadores – INF502124

Escalabilidade:Ø roteamento hierárquico economiza tamanho de tabela de rotas, reduz tráfego de atualização

Desempenho:Ø Intra-AS: pode focar em desempenhoØ Inter-AS: políticas podem ser mais importantes do que desempenho

Page 125: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

RoteiroØ 4. 1 IntroduçãoØ 4.2 Circuitos virtuais x datagrama

Ø 4.3 Como é um roteador

Ø 4.5 Algoritmos de roteamento

ü Estado de enlaceü Vetor distânciaü Roteamento hierarquico

Ø 4.6 Roteamento na

Curso de Especialização em Redes de Computadores – INF502125

roteadorØ 4.4 Protocolo IP

ü Formato datagarmaü endereçamento IPv4ü ICMPü IPv6

Ø 4.6 Roteamento na Internet

ü RIPü OSPFü BGP

Ø 4.7 Roteamento Broadcast e multicast

Page 126: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Difusão (Broadcast)

Curso de Especialização em Redes de Computadores – INF502126

Duplicação na origem versus duplicação na rede. (a) duplicação na origem, (b) duplicação na rede

Page 127: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Duplicação na rede

Ø Dilúvio: quando roteador recebe pacote, envia para todos

Ø Problemas de ciclo e tempestadeØ Dilúvio controlado: só envia para vizinhos

Curso de Especialização em Redes de Computadores – INF502127

Ø Dilúvio controlado: só envia para vizinhos caso não tenha enviado anteriormente

Ø Ou controla informação em tabela ou faz encaminhamento caminho

Ø spanning treeØ Nós não recebem pacotes duplicatas

Page 128: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

A A

Spanning Tree

Ø Construção de spanning tree, Ø Nós encaminham pela spanning tree

Curso de Especialização em Redes de Computadores – INF502128

A

B

G

DE

c

F

A

B

G

DE

c

F

(a) Broadcast initiated at A (b) Broadcast initiated at D

Page 129: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Criação da Spanning TreeØ Nó centralØ Cada nó envia mensagem de enxerto para o centro

ü Mensagens são encaminhadas até encontrar algum nó na spanning tree

Curso de Especialização em Redes de Computadores – INF502129

A

B

G

DE

c

F1

2

3

4

5

(a) Construção da spanning

tree

A

B

G

DE

c

F

(b)Spanning tree constuída

Page 130: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Roteamento MulticastØ Objetivo: encontrar árvore find a tree (or trees) connecting routers having local mcast group members

ü Árvore: nem todas rotas são utilizadasü Baseada na fonte: diferentes árvores de cada transmissor para um receptor

ü Árvore compartilhada: mesma árvore usada por todos os membros do grupo membros do grupo

Shared tree Source-based trees

Page 131: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Approaches para construção de árvore mcastApproaches:Ø Árvores baseadas na fonte: uma árvore por fontesü Árvores com menor caminhoÁrvores com menor caminhoü reverse path forwarding

Ø Árvore compartilhadas por grupo: grupo usa uma única árvoreü minimal spanning (Steiner) ü Árvores baseadas no centro

Page 132: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Árvores com camonhos mais curtos

Ø Árvores mcast: árvores com rotas de caminhos mais entre fonte e todos os recsptores curtos :

ü Algoritmo de Dijkstra

LEGENDS: sourceR1

R2

R3

R4

R5

R6 R7

21

6

3 45

i

Roteadores com membros Dogrupo associados

Roteadores sem membros do grupo associadoEnlaces usados para encaminhari indica ordem em que o enlace foiadicionado pelo algoritmo

LEGENDS: source

Page 133: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Envio pelo Caminho Reverso

Ø Idéia simples, mas elegante.Ø Quando um roteador recebe um pacote multicast, ele transmite o pacote em todos os seus enlaces de saída (exceto por aquele em que recebeu o pacote) apenas se o pacote tiver sido recebido através do

Curso de Especialização em Redes de Computadores – INF502133

apenas se o pacote tiver sido recebido através do enlace que está no seu caminho mais curto até o transmissor (origem).

Ø Note que o roteador não precisa conhecer o caminho mais curto até a origem, mas apenas o próximo roteador no seu caminho mais curto unicast até a origem.

Page 134: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Envio pelo Caminho Reverso

Legenda

roteador sem conexão com nenhum membro do grupo

roteador com conexão a algum membro do grupo

O: origem

Curso de Especialização em Redes de Computadores – INF502134

nenhum membro do grupo

pacote a ser enviado

pacote que não será enviadoalém do roteador receptor

Problema: G e outros roteadores a partir dele receberiam pacotes multicastapesar de não terem conexão com nenhum host participante do grupo!Solução: Podar a árvore!

Page 135: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Poda Ø Mensagens de poda são enviadas “upstream”, eliminação de subarvore sem elementos de grupo

LEGEND

R1

R2

R3

R4

R5

R6 R7

router with attachedgroup memberrouter with no attachedgroup memberprune message

LEGENDS: source

links with multicastforwarding

P

P

P

Page 136: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Shared-Tree: Steiner Tree

Ø Steiner Tree: árvore de custo mínimo conectando todos roteadores do grupo

Ø problema NP-completoØ exelentes heuristicas Ø exelentes heuristicas Ø Não é usada na pratica:

ü Computacionalmente complexaü Informação sobre toda rede necessáriaü Necessidade de re-execução a cada alteração de membros

Page 137: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Árvore baseada no centro

Ø Uma única árvore compartilhada por todosØ Um roteador identificado como centro da árvoreØ Para enxertar nó:

ü Roteador envia mensagemjoin-msg para o roteador centroroteador centro

ü join-msg processada por roteadores intermediários e repassada ao centro

ü join-msg ou chega a um nó da árvore ou ao centro

ü Caminho feito pela mensagem join-msg torna-se novo caminho para o roteador

Page 138: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Exemplo: árvore baseada no centro

R6 é o centro:

R1R4 Roteadores com membros

associados

LEGENDA

3

R2

R3

R4

R5

R6 R7

associadosRoteadores sem membrosassociadosOrdem de geração da mensgem join

21

3

1

Page 139: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Roteamento Multicast usando árvores baseadas nas origens

i-ésimo caminhoa ser adicionado

Ø Árvores de caminho mais curto a partir de cada

Curso de Especialização em Redes de Computadores – INF502139

curto a partir de cada origem.

Ø Este é um algoritmo de EE (cada roteador deve conhecer o estado de cada enlace na rede).

Ø Mais simples: envio pelo caminho reverso (RPF –Reverse Path Forwarding)

Page 140: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Multicast: um emissor para vários receptoresØ Multicast: envia datagramas para múltiplos receptores com

uma única operação de transmissãoü analogia: um professor para vários estudantes, ü alimentação de dados: cotações da bolsa de valores;ü atualização de cache WWW;ü ambientes virtuais interativos distribuídos, etc.

Ø Questão: como garantir multicast?

Multicast via unicast

Curso de Especialização em Redes de Computadores – INF502140

Multicast via unicastØ Fonte envia N datagrams unicast, um para cada um dos N receptores

Receptores multicast (vermelho)Não é um receptor multicast

Roteadoresencaminham datagramas unicast

Page 141: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Desafios do Suporte a Multicast na Camada de RedeØ Como identificar os receptores de um datagrama multicast?

Ø Como endereçar um datagrama a ser enviado para estes receptores.

Ø Não dá para incluir o endereço IP de cada um dos

Curso de Especialização em Redes de Computadores – INF502141

Ø Não dá para incluir o endereço IP de cada um dos destinos no cabeçalho do datagrama!

ü Não funciona para um grande número de receptores;ü requer que o transmissor conheça a identidade e endereços de cada um dos destinatários.

Ø Endereço indireto: é usado um identificador único para um grupo de usuários.

Ø Grupo Multicast associado a um endereço classe D.

Page 142: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Modelo de Serviço Multicast da Internet

Curso de Especialização em Redes de Computadores – INF502142

Conceito de grupo Multicast: uso de indireçãoü Hosts endereçam os datagramas IP para o grupo multicastü Roteadores encaminham os datagramas multicast para os hosts que se “juntaram” ao grupo multicast

Page 143: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Grupos Multicast� Endereços classe D na Internet são reservados para multicast:

� Semântica de grupo de hosts:� qualquer um pode se “juntar” (receber) a um grupo multicast

Curso de Especialização em Redes de Computadores – INF502143

� qualquer um pode se “juntar” (receber) a um grupo multicast� qualquer um pode enviar para um grupo multicast� nenhuma identificação na camada de rede para os hosts membros

� necessário: infraestrutura para enviar datagramas multicast para todos os hosts que se juntaram ao grupo

Page 144: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Grupos Multicast: questões

Ø Como um grupo é iniciado e como ele é encerrado?Ø Como é escolhido o endereço do grupo?Ø Como são adicionados novos hosts ao grupo?Ø Qualquer um pode fazer parte (ativa) do grupo ou a participação é restrita?

Curso de Especialização em Redes de Computadores – INF502144

a participação é restrita? Ø Caso seja restrita, quem determina a restrição?Ø Os membros do grupo têm conhecimento das identidades dos demais membros do grupo na camada de rede?

Ø Como os roteadores interoperam para entregar um datagrama multicast a todos os membros do grupo?

Page 145: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Juntando-se a um grupo Multicast: processo em dois passosØ Rede local: host informa ao roteador multicast local que deseja

fazer parte do grupo: IGMP (Internet Group Management Protocol)

Ø Rede metropolitanta: roteador local interage com outros roteadores para receber os fluxos multicast

ü Vários protocolos (e.g., DVMRP, MOSPF, PIM)

Curso de Especialização em Redes de Computadores – INF502145

Vários protocolos (e.g., DVMRP, MOSPF, PIM)

IGMPIGMP

IGMP

Roteamento multicast em

redes metropolitanas

Page 146: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

IGMP: Internet Group Management Protocol – RFC 2236Ø Opera entre o host e o roteador ao qual ele está conectado

diretamente:Ø host: envia notificação IGMP quando a aplicação se junta a

um grupo multicastü IP_ADD_MEMBERSHIP opção de sockethost não necessita fazer uma notificação quando sai de

Curso de Especialização em Redes de Computadores – INF502146

ü host não necessita fazer uma notificação quando sai de um grupo

Ø roteador: envia requisição IGMP a intervalos regularesü host pertencente a um grupo multicast deve responder a requisição

query report

Page 147: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

O Protocolo IGMP

Ø O IGMP fornece meios para que o host informe ao roteador ao qual está conectado que uma aplicação deseja ser incluída em um grupo multicast.

Ø Apesar do nome ele não é um protocolo que opera entre todos os hosts que tenham formado um

Curso de Especialização em Redes de Computadores – INF502147

entre todos os hosts que tenham formado um grupo multicast.

Ø É necessário um outro protocolo para coordenar os roteadores multicast, de modo que os datagramas multicast sejam roteados até seus destinos: algoritmos de roteamento multicast da camada de rede.

ü Ex: PIM, DVMRP e MOSPF.

Page 148: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Tipos de Mensagens IGMP v2Tipos das Mensagens IGMP

Enviada por

Finalidade

Consulta sobre participação em grupos:geral

Roteador Consultar quais os grupos multicast em que os hosts associados estão incluídos.

Consulta sobre Roteador Consultar se os hosts

Curso de Especialização em Redes de Computadores – INF502148

Consulta sobre participação em grupos:específica

Roteador Consultar se os hosts associados estão incluídos em um grupos multicast específico.

Relato de participação

Host Relatar que o host quer ser ou já está incluído num dado grupo multicast.

Saída de grupo Host Relata que está saindo de um determinado grupo multicast.

Page 149: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Consulta sobre participação e resposta

Curso de Especialização em Redes de Computadores – INF502149

Ø As mensagens de relato também podem ser enviadas por iniciativa do host quando uma aplicação deseja ser incluída num grupo multicast.

Ø Para o roteador não importa quais nem quantos hosts fazem parte do mesmo grupo multicast.

Page 150: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Formato das Mensagens IGMPUsado para suprimir relatos duplicados: cada host espera um tempoaleatório entre 0 e este valor máximo antes de enviar o seu relato. Se antes disto este host escutar o relato de algum outro host, ele descarta a sua mensagem.

Curso de Especialização em Redes de Computadores – INF502150

Encapsuladas em datagramas IP com número de protocolo 2.

Page 151: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Modelo do Serviço Multicast da InternetØ Qualquer host pode ser incluído no grupo multicast na camada de rede.ü O host simplesmente envia uma mensagem IGMP de relato de participação para o roteador ao qual está conectado.

Curso de Especialização em Redes de Computadores – INF502151

qual está conectado.Ø Em pouco tempo o roteador agindo em conjunto com os demais roteadores começará a entregar datagramas multicast para este host.

Ø Portanto, a adesão a um grupo é uma iniciativa do receptor.

Page 152: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Modelo do Serviço Multicast da InternetØ O transmissor não precisa se preocupar em adicionar receptores e nem controla quem é incluído no grupo.

Ø Também não há nenhum controle de coordenação a respeito de quem e quando pode transmitir para o grupo multicast.

Curso de Especialização em Redes de Computadores – INF502152

grupo multicast.Ø Não há nem mesmo uma coordenação na camada de rede sobre a escolha de endereços multicast: dois grupos podem escolher o mesmo endereço!

Ø Todos estes controles podem ser implementados na camada de aplicação. Alguns deles podem vir a ser incluídos na camada de rede.

Page 153: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Protocolos de Roteamento Multicast na InternetØ DVMRP: Distance Vector Multicast Routing

Protocol

Ø MOSPF: Multicast Open Shortest Path First

Ø PIM: Protocol Independent Multicast

Curso de Especialização em Redes de Computadores – INF502153

Ø PIM: Protocol Independent Multicast

Page 154: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

DVMRP – Distance Vector

Multicast Routing ProtocolØ Primeiro e o mais difundido.Ø Implementa árvores baseadas nas origens com envio pelo caminho reverso, poda e enxerto.

Ø Utiliza o algoritmo de vetor de distância para permitir que o roteador calcule o enlace de saída que se encontra no caminho mais curto até cada

Curso de Especialização em Redes de Computadores – INF502154

permitir que o roteador calcule o enlace de saída que se encontra no caminho mais curto até cada uma das origens possíveis.

Ø Também calcula a lista dos roteadores que estão abaixo dele para questões de poda.

Page 155: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

DVMRP – Distance Vector Multicast

Routing Protocol

Ø A mensagem de poda contém a duração da poda (com valor default de 2 horas) após o qual o ramo é automaticamente enxertado na árvore.Uma mensagem de enxerto força a

Curso de Especialização em Redes de Computadores – INF502155

Ø Uma mensagem de enxerto força a reinclusão de um ramo que tenha sido podado anteriormente da árvore multicast.

Page 156: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Implantação de roteamento Multicast na InternetØ O ponto crucial é que apenas uma pequena fração dos roteadores estão aptos ao Multicast.

Ø Tunelamento pode ser usado para criar uma rede virtual de roteadores com multicast.

ü Esta abordagem foi utilizada no Mbone

Curso de Especialização em Redes de Computadores – INF502156

ü Esta abordagem foi utilizada no Mbone

Topologia física Topologia lógica

Page 157: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

MOSPF - Multicast Open

Shortest Path First

Ø É utilizado num Sistema Autônomo que utiliza o protocolo OSPF para o roteamento unicast.

Ø Os roteadores adicionam a informação dos grupos que devem atender junto com os

Curso de Especialização em Redes de Computadores – INF502157

grupos que devem atender junto com os anúncios dos estados dos enlaces.

Ø Com base nestas informações cada roteador do AS pode construir árvores de caminho mais curto, específicas para cada origem, já podadas para cada grupo multicast.

Page 158: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

PIM - Protocol Independent

MulticastØ Considera dois tipos de cenários:

ü Modo denso: os membros de um grupo estão concentrados numa dada região. A maior parte dos roteadores devem se envolver com o roteamento dos datagramas de multicast.

ü Modo esparso: os membros de um grupo estão muito dispersos geograficamente.

Curso de Especialização em Redes de Computadores – INF502158

ü Modo esparso: os membros de um grupo estão muito dispersos geograficamente.

Ø Conseqüências:ü No modo denso: todos os roteadores devem ser envolvidos com o multicast. Uma abordagem como a de encaminhamento pelo caminho reverso é adequada.

ü No modo esparso: o default é que o roteador não se envolva com multicast. Os roteadores devem enviar mensagens explicítas solicitando a sua inclusão.

Page 159: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Roteamento Multicast entre Sistemas AutônomosØ Cada SA pode utilizar um protocolo de roteamento multicast diferente.

Ø Ainda não existe um padrão para o roteamento multicast inter-SA.

Curso de Especialização em Redes de Computadores – INF502159

roteamento multicast inter-SA.Ø O padrão de fato tem sido o DVMRP que não é adequado por ser um protocolo do tipo modo denso, enquanto que os roteadores multicast atuais estão espalhados.

Page 160: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Fatores de avaliação de protocolos multicastØ Escalabilidade: como cresce a quantidade de info de estados com o crescimento do número de grupos e dos transmissores de um grupo?

Ø Dependência do roteamento unicast: Ex.: MOSPF x PIM.

Curso de Especialização em Redes de Computadores – INF502160

PIM.Ø Recepção excessiva (não necessária) de tráfego.Ø Concentração de tráfego: a árvore única concentra tráfego em poucos enlaces.

Ø Optimalidade dos caminhos de envio.

Page 161: Camada de Redes - Instituto de Computação › ~nfonseca › arquivos › cap4.pdf · Rede de datagramas: o modelo da Internet não requer estabelecimento de chamada na camada de

Capítulo 4: Resumo

Ø Iniciamos a nossa jornada rumo ao núcleo da rede.

Ø Roteamento dos datagramas: um dos maiores desafios da camada de rede.

Particionamento das redes

Ø Princípios dos alg. de roteamento:

ü Abordagem centralizadaü Abordagem

descentralizadaØ Assuntos avançados:

IPv6

Curso de Especialização em Redes de Computadores – INF502161

ü Particionamento das redes em SAs.

ü Problema de escala pode ser resolvido com a hierarquização.

Ø Capacidade de processamento dos roteadores:

ü As tarefas dos roteadores devem ser as mais simples possíveis.

ü IPv6ü Roteamento multicastü Mobilidade

Ø Próximo capítulo:ü Camada de Enlace:

transferência de pacotes entre nós no mesmo enlace ou LAN.