Sei sulla pagina 1di 161

Camada de Redes

Prof Nelson Fonseca http//:www.ic.unicamp.br/~nfonseca/ redes/inf502

1
Curso de Especializao em Redes de Computadores INF502

Chapter 4 Network Layer

A note on the use of these ppt slides:


Were making these slides freely available to all (faculty, students, readers). Theyre 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, wed 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 Ross Addison-Wesley, April 2009.

2
Curso de Especializao em Redes de Computadores INF502

Camada de Redes
Objetivos do Captulo:
Entender os principais princpios do servio

da camada de redes :

Modelos de servio da camada de redes Encaminhamento e roteamento Como um roteador funciona Roteamento (seleo de caminhos) Lidando com escala IPv
Implementaes na Internet
3
Curso de Especializao em Redes de Computadores INF502

Roteiro
4. 1 Introduo 4.2 Circuitos virtuais x 4.5 Algoritmos de

roteamento

datagrama 4.3 Como um roteador 4.4 Protocolo IP


Estado de enlace Vetor distncia Roteamento hierarquico

4.6 Roteamento na

Formato datagarma endereamento IPv4 ICMP IPv6

Internet

RIP OSPF BGP

4.7 Roteamento

Broadcast e multicast
4
Curso de Especializao em Redes de Computadores INF502

Interconexo de Redes

5
Curso de Especializao em Redes de Computadores INF502

A Internet

6
Curso de Especializao em Redes de Computadores INF502

A Internet

7
Curso de Especializao em Redes de Computadores INF502

Estatstica de Usurios da Internet


Nmero de usurios mundiais ~

1.966.000.000 (28% populao do planeta)


Nmero de usurios no Brasil ~ 75.943.000

(37% da populao)
fonte: http://www.internetworldstats.com/stats.htm

8
Curso de Especializao em Redes de Computadores INF502

Funes da camada de rede


transporta pacote da estao

remetente receptora protocolos da camada de rede em cada estao, roteador trs funes importantes:

aplicao transporte rede enlace fsica

rede enlace fsica

rede enlace fsica rede enlace fsica

rede enlace fsica

determinao do caminho: rota


seguida por pacotes da origem ao destino. Algoritmos de
rede enlace fsica

rede enlace fsica

roteamento comutao: mover pacotes

rede enlace fsica rede enlace fsica aplicao transporte rede enlace fsica

dentro do roteador da entrada sada apropriada

estabelecimento da chamada:

algumas arquiteturas de rede requerem determinar o caminho antes de enviar os dados


9
Curso de Especializao em Redes de Computadores INF502

Network layer
Transporta segmentos

do transmissor ao repector Encapsula segmentos em datagramas No receptor, desencapsula e entrega a camada de transporte roteadores examina cabealho de todos os datagrams que passam pelo roteador

application transport network data link physical network data link physical network data link physical network data link physical network data link physical

network data link physical

network network data link data link physical physical network data link physical network data link physical application transport network data link physical

network data link physical

network data link physical

10
Curso de Especializao em Redes de Computadores INF502

Roteamento e encaminhamento
routing algorithm

local forwarding table header value output link


0100 0101 0111 1001 3 2 2 1

Rtulo no cabealho do pacote 0111

1
3 2

11
Curso de Especializao em Redes de Computadores INF502

Modelo de servio de rede


Q: Qual o modelo de servio para o canal que transporta pacotes do remetente ao receptor?
largura de banda garantida? preservao de temporizao

A abstrao mais importante provida pela camada de rede: circuito virtual ou datagrama?

entre pacotes (sem jitter)? entrega sem perdas? entrega ordenada? realimentar informao sobre congestionamento ao remetente?

? ? ?

12
Curso de Especializao em Redes de Computadores INF502

Rede de datagramas: o modelo da Internet


no requer estabelecimento de chamada na camada de rede roteadores: no guardam estado sobre conexes fim a fim

no existe o conceito de conexo na camada de rede

pacotes so roteados tipicamente usando endereos de

destino

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

aplicao transporte rede 1. envia dados enlace fsica

aplicao transporte rede 2. recebe dados enlace fsica


13

Curso de Especializao em Redes de Computadores INF502

Tabela Encaminhamento

Faixa Endereo Destino 11001000 00010111 00010000 00000000 at 11001000 00010111 00010111 11111111 11001000 00010111 00011000 00000000 at 11001000 00010111 00011000 11111111 11001000 00010111 00011001 00000000 at 11001000 00010111 00011111 11111111 caso contrrio

Interface Enlace

14
Curso de Especializao em Redes de Computadores INF502

Casamento Prefixo mais longo (Longest prefix matching)


Prefix Match 11001000 00010111 00010 11001000 00010111 00011000 11001000 00010111 00011 caso contrario Exemplos DA: 11001000 00010111 00010110 10100001 DA: 11001000 00010111 00011000 10101010 Interface Enlace 0 1 2 3

15
Curso de Especializao em Redes de Computadores INF502

Circuitos virtuais
caminho da-origem-ao-destino se comporta como um circuito telefnico

em termos de desempenho em aes da rede ao longo do caminho da-origem-ao-destino

estabelecimento de cada chamada

antes do envio dos dados

cada pacote tem ident. de CV (e no endereos origem/dest)

cada roteador no caminho da-origem-ao-destino mantm estado


para cada conexo que o atravessa

conexo 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


16
Curso de Especializao em Redes de Computadores INF502

Implementao CV
Um circuito virtual consiste de:
1. 2. 3.

Caminho entre origem e destino Identificador CV, um para cada enlace ao longo do caminho Entradas nas tabelas de roteamento nos roteadores ao longo do caminho

Pacote carrega identificador de CV ao invs de endereo destino Identificador de CV pode mudar a cada enlace

Novos identificadores de VC so gerados nas tabelas de roteamento

17
Curso de Especializao em Redes de Computadores INF502

Circuitos virtuais: protocolos de sinalizao


usados para estabelecer, manter, destruir CV usados em ATM, frame-relay, X.25 no usados na Internet de hoje

aplicao 6. dados recebidos aplicao transporte 5. comea fluxo de dados transporte rede 4. conexo completa 3. chamada aceita rede 1. inicia chamada enlace 2. chegada de chamada enlace fsica fsica

18
Curso de Especializao em Redes de Computadores INF502

Tabela de comutao no roteador a noroeste: Interface de entrada 1 2 3 1 VC # de entrada 12 63 7 97 Interface de sada 2 1 2 3 VC # de sada 22 18 17 87

Roteadores mantm informaes de estado de conexo


19
Curso de Especializao em Redes de Computadores INF502

Modelos de servio da camada de rede:


Arquitetura de Rede Internet ATM ATM ATM ATM Modelo de Banda servio melhor esforo CBR VBR ABR UBR nenhuma taxa constante taxa garantida mnima garantida nenhuma Informa s/ Perdas Ordem Tempo congestion.? no sim sim no no no sim sim sim sim no sim sim no no no (inferido via perdas) sem congestion. sem congestion. sim no Garantias ?

Modelo Internet est sendo estendido: Intserv, Diffserv

20
Curso de Especializao em Redes de Computadores INF502

Rede de datagramas ou CVs: por qu?


Internet
troca de dados entre

ATM
evoluiu da telefonia

computadores conversao humana: servio elstico, sem temporizao estrita, reqs. temporais estritos requisitos de sistemas terminais confiabilidade inteligentes (computadores) requer servio podem se adaptar, exercer garantido controle, recuperar de sistemas terminais burros erros telefones ncleo da rede simples, complexidade dentro da complexidade na borda rede muitos tipos de enlaces caractersticas diferentes
21
Curso de Especializao em Redes de Computadores INF502

Roteiro
4. 1 Introduo 4.2 Circuitos virtuais x 4.5 Algoritmos de

roteamento

datagrama 4.3 Como um roteador 4.4 Protocolo IP


Estado de enlace Vetor distncia Roteamento hierarquico

4.6 Roteamento na

Formato datagarma endereamento IPv4 ICMP IPv6

Internet

RIP OSPF BGP

4.7 Roteamento

Broadcast e multicast
22
Curso de Especializao em Redes de Computadores INF502

Sumrio de Arquitetura de Roteadores


Duas funes chave de roteadores:
usam algoritmos/protocolos de roteamento

(RIP, OSPF, BGP) comutam datagramas do enlace de entrada para a sada

23
Curso de Especializao em Redes de Computadores INF502

Funes da Porta de Entrada

Camada fsica: recepo de bits Camada de enlace: p.ex., Ethernet veja captulo 5

Comutao descentralizada:
dado o dest do datagrama, procura porta

de sada usando tab. de rotas na memria da porta de entrada meta: completar processamento da porta de entrada na velocidade da linha filas: se datagramas chegam mais rpido que taxa de re-envio para matriz de comutao
24
Curso de Especializao em Redes de Computadores INF502

Tamanho do Buffer
RFC 3439 recomenda que tamano mdio do

buffer deve corresponder a um RTT tpico vezes a capacidade do enlace

250 seg, C = 10 Gps link: 2.5 Gbit buffer RTT. C N

Recomendao recente para N fluxos:

25
Curso de Especializao em Redes de Computadores INF502

Filas na Porta de Entrada


Se matriz de comutao for mais lenta do que a soma

das portas de entrada juntas -> pode haver filas nas portas de entrada Bloqueio cabea-de-linha (Head-of-the-Line - HOL): datagrama na cabea da fila impede outros na mesma fila de avanarem

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

26
Curso de Especializao em Redes de Computadores INF502

Trs tipos de matriz de comutao

27
Curso de Especializao em Redes de Computadores INF502

Comutao via Memria


Roteadores da primeira gerao: pacote copiado pelo processador (nico) do sistema velocidade limitada pela largura de banda da memria (2 travessias do barramento por datagrama)
Porta de Entrada Memria Porta de Sada

Barramento do Sistema

Roteadores modernos: processador da porta de entrada consulta tabela, copia para a memria Cisco Catalyst 8500
28
Curso de Especializao em Redes de Computadores INF502

Comutao via Barramento


datagrama da memria da porta de

entrada memria da porta de sada via um barramento compartilhado conteno pelo barramento: taxa de comutao limitada pela largura de banda do barramento Barramento de 1 Gbps, Cisco 1900: velocidade suficiente para roteadores de acesso e corporativos (mas no regionais ou de backbone)
29
Curso de Especializao em Redes de Computadores INF502

Comutao via uma Rede de Interconexo


supera limitaes de banda dos barramentos Redes Banyan, outras redes de interconexo

desenvolvidas inicialmente para interligar processadores num multiprocessador Projeto avanado: fragmentar datagrama em clulas de tamanho fixo, comutar clulas atravs da matriz de comutao. Cisco 12000: comuta N Gbps pela rede de interconexo.

30
Curso de Especializao em Redes de Computadores INF502

Porta de Sada

matriz de comutao mais rapidamente que a taxa de transmisso Disciplina de escalonamento escolhe um dos datagramas enfileirados para transmisso
31
Curso de Especializao em Redes de Computadores INF502

Buffers necessrios quando datagramas chegam da

Roteiro
4. 1 Introduo 4.2 Circuitos virtuais x 4.5 Algoritmos de

roteamento

datagrama 4.3 Como um roteador 4.4 Protocolo IP


Estado de enlace Vetor distncia Roteamento hierarquico

4.6 Roteamento na

Formato datagarma endereamento IPv4 ICMP IPv6

Internet

RIP OSPF BGP

4.7 Roteamento

Broadcast e multicast
32
Curso de Especializao em Redes de Computadores INF502

A Camada de Rede na Internet


Funes da camada de rede em estaes, roteadores:
Camada de transporte: TCP, UDP
Protocolos de rot. seleo de rotas RIP, OSPF, BGP protocolo IP convenes de endereos formato do datagrama convenes de manuseio do pct

Camada de rede

Tabela de rotas

protocolo ICMP relata erros sinalizao de roteadores

Camada de enlace Camada fsica

33
Curso de Especializao em Redes de Computadores INF502

Formato do datagrama IP
nmero da verso do protocolo IP comprimento do cabealho (bytes) tipo dos dados (DS) nmero mximo de enlaces restantes (decrementado a cada roteador) protocolo da camada superior ao qual entregar os dados 32 bits comprimento servio cab incio do ident. 16-bits bits fragmento sobre- camada checksum vida TTL superior Internet ver endereo IP de origem 32 bits endereo IP de destino 32 bits Opes (se tiver) p.ex. temporizador, registrar rota seguida, especificar lista de roteadores a visitar. comp. tipo de comprimento total do datagrama (bytes) para fragmentao/ remontagem

Qual o overhead com TCP? 20 bytes of TCP 20 bytes of IP = 40 bytes + overhead aplic.

dados (comprimento varivel, tipicamente um segmento TCP ou UDP)

34

Curso de Especializao em Redes de Computadores INF502

IP: Fragmentao & Remontagem


cada enlace de rede tem MTU (max.transmission unit) maior tamanho possvel de quadro neste enlace. tipos diferentes de enlace tm MTUs diferentes datagrama IP muito grande dividido (fragmentado) dentro da rede um datagrama vira vrios datagramas remontado apenas no destino final bits do cabealho IP usados para identificar, ordenar fragmentos relacionados

fragmentao: entrada: um datagrama grande sada: 3 datagramas menores

remontagem

35
Curso de Especializao em Redes de Computadores INF502

IP: Fragmentao & Remontagem


Exemplo Datagrama com 4000 bytes MTU = 1500 bytes
compr ID bit_frag incio =4000 =x =0 =0 um datagrama grande vira vrios datagramas menores compr ID bit_frag incio =1500 =x =1 =0 compr ID bit_frag incio =1500 =x =1 =1480 compr ID bit_frag incio =1040 =x =0 =2960

36
Curso de Especializao em Redes de Computadores INF502

Roteiro
4. 1 Introduo 4.2 Circuitos virtuais x 4.5 Algoritmos de

roteamento

datagrama 4.3 Como um roteador 4.4 Protocolo IP


Estado de enlace Vetor distncia Roteamento hierarquico

4.6 Roteamento na

Formato datagarma endereamento IPv4 ICMP IPv6

Internet

RIP OSPF BGP

4.7 Roteamento

Broadcast e multicast
37
Curso de Especializao em Redes de Computadores INF502

Endereamento IP: introduo


endereo IP: ident.
223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.1.3 223.1.2.9 223.1.2.2

de 32-bits para interface de estao, roteador interface: conexo entre estao, roteador e enlace fsico

223.1.3.27

223.1.3.1

223.1.3.2

roteador tpico tem mltiplas interfaces estao pode ter mltiplas interfaces endereo IP associado interface

223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1


38

Curso de Especializao em Redes de Computadores INF502

Endereamento IP
endereo IP: parte de rede (bits de mais alta ordem) parte de estao (bits de mais baixa ordem)
223.1.1.1 223.1.1.2 223.1.1.4 223.1.1.3 223.1.2.1 223.1.2.9 223.1.2.2

223.1.3.27

O que uma rede IP?


(da perspectiva do endereo IP) interfaces de dispositivos com a mesma parte de rede nos seus endereos IP podem alcanar um ao outro sem passar por um roteador
223.1.3.1

LAN
223.1.3.2

Esta rede consiste de 3 redes IP (para endereos IP comeando com 223, os primeiros 24 bits so a parte de rede)
39

Curso de Especializao em Redes de Computadores INF502

Enviando um datagrama da origem ao destino


tabela de rotas em A
rede dest. prx. rot. Nenlaces 1 2 2 223.1.1 223.1.2 223.1.3
dados

datagrama IP:
aampos end. IP end. IP misc origem dest

223.1.1.4 223.1.1.4

223.1.1.1 223.1.1.2 223.1.1.4 223.1.2.1 223.1.2.9 223.1.2.2 223.1.3.2

datagrama permanece

inalterado, enquanto passa da origem ao destino campos de endereos de interesse aqui

B
223.1.1.3 223.1.3.1 223.1.3.27

40
Curso de Especializao em Redes de Computadores INF502

Endereos IP
dada a noo de rede, vamos reexaminar endereos IP: endereamento baseado em classes:
classe A B C D
0 rede 10 110 1110 rede rede endereo multiponto estao estao estao
1.0.0.0 to 127.255.255.255 128.0.0.0 to 191.255.255.255 192.0.0.0 to 223.255.255.255 224.0.0.0 to 239.255.255.255

32 bits

41
Curso de Especializao em Redes de Computadores INF502

Endereamento IP: CIDR


Endereamento baseado em classes:

uso ineficiente e esgotamento do espao de endereos p.ex., rede da classe B aloca endereos para 65K estaes, mesmo se houver apenas 2K estaes nessa rede parte de rede do endereo de comprimento arbitrrio formato de endereo: a.b.c.d/x, onde x no. de bits na parte de rede do endereo
parte de rede parte de estao

CIDR: Classless InterDomain Routing


11001000 00010111 00010000 00000000 200.23.16.0/23


42
Curso de Especializao em Redes de Computadores INF502

Endereos IP: como conseguir um?


Estaes (parte de estao): codificado pelo administrador num arquivo Windows: control-panel->network->configuration>tcp/ip->properties UNIX: /etc/rc.config DHCP: Dynamic Host Configuration Protocol: obtm
endereo dinamicamente: plug-and-play estao difunde mensagem DHCP discover servidor DHCP responde com DHCP offer estao solicita endereo IP: DHCP request servidor DHCP envia endereo: DHCP ack

43
Curso de Especializao em Redes de Computadores INF502

Endereamento IP: a ltima palavra...


P: Como um provedor IP consegue um bloco de endereos? A: ICANN: Internet Corporation for Assigned
Names and Numbers aloca endereos gerencia DNS aloca nomes de domnio, resolve disputas (no Brasil, estas funes foram delegadas ao Registro nacional, sediado na FAPESP (SP), e comandado pelo Comit Gestor Internet BR)
44
Curso de Especializao em Redes de Computadores INF502

Endereos IP: como conseguir um?


Rede (parte de rede): conseguir alocao a partir do espao de endereos do seu provedor IP
Bloco do provedor Organizao 0 Organizao 1 Organizao 2 ... Organizao 7 11001000 00010111 00010000 00000000 11001000 00010111 00010000 00000000 11001000 00010111 00010010 00000000 11001000 00010111 00010100 00000000 .. . 11001000 00010111 00011110 00000000
Curso de Especializao em Redes de Computadores INF502

200.23.16.0/20 200.23.16.0/23 200.23.18.0/23 200.23.20.0/23 . 200.23.30.0/23


45

DHCP
A
223.1.1.1 223.1.1.2 223.1.1.4

DHCP server
223.1.2.9

223.1.2.1

B
223.1.1.3 223.1.3.1 223.1.3.27

223.1.2.2 223.1.3.2

Cliente DHCPque chega precisa de endere

46
Curso de Especializao em Redes de Computadores INF502

DHCP client-server scenario


DHCP server: 223.1.2.5
DHCP discover src : 0.0.0.0, 68 dest.: 255.255.255.255,67 yiaddr: 0.0.0.0 transaction ID: 654 DHCP offer src: 223.1.2.5, 67 dest: 255.255.255.255, 68 yiaddrr: 223.1.2.4 transaction ID: 654 Lifetime: 3600 secs DHCP request src: 0.0.0.0, 68 dest:: 255.255.255.255, 67 yiaddrr: 223.1.2.4 transaction ID: 655 Lifetime: 3600 secs DHCP ACK src: 223.1.2.5, 67 dest: 255.255.255.255, 68 yiaddrr: 223.1.2.4 transaction ID: 655 Lifetime: 3600 secs

Cliente que chega

time

47
Curso de Especializao em Redes de Computadores INF502

NAT: Network Address Translation


Restante da rede Rede local (e.g., home network) 10.0.0/24
10.0.0.4 138.76.29.7 10.0.0.3

10.0.0.1

10.0.0.2

Todos os datagramas saindo da rede Datagramas com origem ou

destino nesta rede tem endereo local tem o mesmo endereo NAT IP: 138.76.29.7, diferentes nmeros 10.0.0/24 para fonte, e de destino o usual de portas fontes

48
Curso de Especializao em Redes de Computadores INF502

NAT: Network Address Translation


Motivao: rede local usa apenas um endereo IP:

No h necessidade de alocar faixas de endereos de um ISP apenas um endereo IP usado para todos os dispositivos Permite mudar o endereo dos dispositivos internos sem necessitar notificar o mundo externo; Permite a mudana de ISPs sem necessitar mudar os endereos dos dispositivos internos da rede local Dispositivos internos a rede, no so visveis nem endereaveis pelo mundo externo (melhora segurana);

49
Curso de Especializao em Redes de Computadores INF502

NAT: Network Address Translation


Implementao: roteador NAT deve;

Datagramas que saem: trocar (endereo IP fonte,

porta #) de cada datagrama de sada para (endereo NAT IP, nova porta #) . . . clientes/servidores remotos iro responder usando (endereo NAT IP, nova porta #) como endereo destino.

fonte, porta #) para (endereos NAT IP, nova porta #) Datagramas qeu chegam: trocar (endereo NAT IP, nova porta #) no campo de destino de cada datagrama que chega com o correspondente (endereo IP fonte, porta #) armazenado na tabela NAT 50
Curso de Especializao em Redes de Computadores INF502

guardar (na tabela de traduo de endereos NAT): os pares de traduo de endereos (endereo IP

NAT: Network Address Translation


2: roteador NAT muda o endereo de origem 10.0.0.1, 3345 de 10.0.0.1, 3345 para 138.76.29.7, 5001, e atualiza a tabela 2 Tabela de traduo NAT WAN addr LAN addr 138.76.29.7, 5001 10.0.0.1, 3345 1: host 10.0.0.1 envia datagrama para 128.119.40, 80

S: 10.0.0.1, 3345 D: 128.119.40.186, 80

S: 138.76.29.7, 5001 D: 128.119.40.186, 80

1
10.0.0.4
S: 128.119.40.186, 80 D: 10.0.0.1, 3345

10.0.0.1

10.0.0.2

138.76.29.7
S: 128.119.40.186, 80 D: 138.76.29.7, 5001

10.0.0.3 4: roteador NAT muda o 3: resposta chega no endereo endereo de destino de de destino: 138.76.29.7, 5001 para 10.0.0.1, 3345 138.76.29.7, 5001
51
Curso de Especializao em Redes de Computadores INF502

NAT: Network Address Translation


Campo de porta de 16-bit : 60,000 conexes simultneas com um nico endereo de rede; NAT controverso: Roteadores devem fazer processamentos at no mximo a camada 3; Viola o conceito fim-a-fim
A possibilidade de suporte a NAT deve ser levado em considerao pelos desenvolvedores de aplicaes;

O problema de diminuio do nmero de endereos deveria ser tratada por IPv6;


52
Curso de Especializao em Redes de Computadores INF502

Problema NAT traversal


Cliente deseja conectar-se ao

servidor com endereo 10.0.0.1

Endereo servidor 10.0.0.1 na Client rede local (cliente no pode usar como endereo destino) Somente um endereo (NATed) externamente visvel: 138.76.29.7

10.0.0.1

?
10.0.0.4

Uma soluo: configurar NAT

138.76.29.7

manualmente para encaminhar requisio de conexo a uma certa porta do servidor exemplo., (123.76.29.7, port 2500) sempre envia para 10.0.0.1 port 25000

NAT router

53
Curso de Especializao em Redes de Computadores INF502

Problema NAT traversal


Segunda soluo: protocolo

Universal Plug and Play (UPnP) Internet Gateway Device (IGD) permite NATted host to: Aprende endereo IP publico (138.76.29.7) 138.76.29.7 Adiciona/remove mapeamento de porta (por tempo determinado) i.e., automatiza mapeamento de configurao de porta NAT

10.0.0.1

IGD
10.0.0.4

NAT router

54
Curso de Especializao em Redes de Computadores INF502

Problema NAT
soluo 3: relaying (usado no Skype)

Cliente NATed estabelece conexo com relay Cliente externo conecta com relay Relayinterconecta pacotes entre conexes
2. Conexo ao relay iniciado pelo cliente Client 3. relaying estabelecido 1. Conexo ao relay iniciado pelo NATed host
138.76.29.7

10.0.0.1

NAT roteador

55
Curso de Especializao em Redes de Computadores INF502

Roteiro
4. 1 Introduo 4.2 Circuitos virtuais x 4.5 Algoritmos de

roteamento

datagrama 4.3 Como um roteador 4.4 Protocolo IP


Estado de enlace Vetor distncia Roteamento hierarquico

4.6 Roteamento na

Formato datagarma endereamento IPv4 ICMP IPv6

Internet

RIP OSPF BGP

4.7 Roteamento

Broadcast e multicast
56
Curso de Especializao em Redes de Computadores INF502

ICMP: Internet Control Message Protocol


usado por estaes, roteadores para comunicar informao s/ camada de rede relatar erros: estao, rede, porta, protocolo inalcanveis pedido/resposta de eco (usado por ping) camada de rede acima de IP: msgs ICMP transportadas em datagramas IP mensagem ICMP: tipo, cdigo mais primeiros 8 bytes do datagrama IP causando erro

Tipo 0 3 3 3 3 3 3 4 8 9 10 11 12

Cdigo descrio 0 resposta de eco (ping) 0 rede dest. inalcanvel 1 estao dest inalcanvel 2 protocolo dest inalcanvel 3 porta dest inalcanvel 6 rede dest desconhecida 7 estao dest desconhecida 0 abaixar fonte (controle de congestionamento - usado) 0 pedido eco (ping) 0 anncio de rota 0 descobrir roteador 0 TTL (sobrevida) expirada 0 erro de cabealho IP

57
Curso de Especializao em Redes de Computadores INF502

ICMP eTraceroute
Fonte UDP envia uma srie

de segmentos

Quando mensagem ICMP

Primeiro TTL = 1 Segundo TTL=2, etc.

Quando n-simo datagrama

chega no nsimo roteador :


Roteador descarta datagrama Envia para a fonte um datagrama ICMP (type 11, code 0) Mensagem inclui nome de roteador e endereo IP

chega, finte calcula RTT Traceroute faz isso trs vezes Critrio de parada Segmento UDP eventualmente chega ao destinatrio Destinatrio ICMP retorna mensagem host unreachable (type 3, code 3) Quando fonte recebe mensagem, ICMP para.

58
Curso de Especializao em Redes de Computadores INF502

Roteiro
4. 1 Introduo 4.2 Circuitos virtuais x 4.5 Algoritmos de

roteamento

datagrama 4.3 Como um roteador 4.4 Protocolo IP


Estado de enlace Vetor distncia Roteamento hierarquico

4.6 Roteamento na

Formato datagarma endereamento IPv4 ICMP IPv6

Internet

RIP OSPF BGP

4.7 Roteamento

Broadcast e multicast
59
Curso de Especializao em Redes de Computadores INF502

IPv6
Motivao inicial: espao de endereos de 32-

bits completamente alocado at 2008. Motivao adicional :


formato do cabealho facilita acelerar processamento/re-encaminhamento mudanas no cabealho para facilitar QoS novo endereo anycast: rota para o melhor de vrios servidores replicados

formato do datagrama IPv6:

cabealho de tamanho fixo de 40 bytes no admite fragmentao

60
Curso de Especializao em Redes de Computadores INF502

Anycast
Unicast Multicast Anycast Broadcast

61
Curso de Especializao em Redes de Computadores INF502

Cabealho IPv6
Prioridade: identifica prioridade entre datagramas no fluxo Rtulo do Fluxo: identifica datagramas no mesmo fluxo
(conceito de fluxo mal definido). Prximo cabealho: identifica protocolo da camada superior para os dados

62
Curso de Especializao em Redes de Computadores INF502

Outras mudanas de IPv4

Checksum: removido completamente para

reduzir tempo de processamento a cada roteador Opes: permitidas, porm fora do cabealho, indicadas pelo campo Prximo Cabealho ICMPv6: verso nova de ICMP
tipos adicionais de mensagens, p.ex. Pacote Muito Grande funes de gerenciamento de grupo multiponto

63
Curso de Especializao em Redes de Computadores INF502

Estatstica IPv6

64
Curso de Especializao em Redes de Computadores INF502

IPv6 na Amrica do Sul

65
Curso de Especializao em Redes de Computadores INF502

Transio de IPv4 para IPv6


No todos roteadores podem ser

atualizados simultaneamente
dias de mudana geral inviveis Como a rede pode funcionar com uma mistura de 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
66
Curso de Especializao em Redes de Computadores INF502

Abordagem de Pilhas Duais

67
Curso de Especializao em Redes de Computadores INF502

Pilhas Duais

68
Curso de Especializao em Redes de Computadores INF502

Tunelamento

IPv6 dentro de IPv4 quando necessrio

69
Curso de Especializao em Redes de Computadores INF502

ICMPv6
Verso do protocolo ICMP utilizada pelo

protocolo Ipv6, basicamente as mesmas funcionalidades do ICMP


Realizar diagnsticos Relatar erros de processamento de pacotes

Possui tambm funes adicionais

Descoberta de vizinhana (antes providas pelo protocolo ARP) Gerenciamento de grupos Multicast (antes providas pelo protocolo IGMP).

Curso de Especializao em Redes de Computadores INF502

70

Roteiro
4. 1 Introduo 4.2 Circuitos virtuais x 4.5 Algoritmos de

roteamento

datagrama 4.3 Como um roteador 4.4 Protocolo IP


Estado de enlace Vetor distncia Roteamento hierarquico

4.6 Roteamento na

Formato datagarma endereamento IPv4 ICMP IPv6

Internet

RIP OSPF BGP

4.7 Roteamento

Broadcast e multicast
71
Curso de Especializao em Redes de Computadores INF502

Roteamento
routing algorithm

local forwarding table header value output link


0100 0101 0111 1001 3 2 2 1

Rtulo no cabealho do pacote 0111

1
3 2

4-72
Network Layer

Roteamento
protocolo de roteamento
meta: determinar caminho (seqncia de roteadores) bom pela rede da origem ao destino A
5 2 1

B
2

3 3 1

C
1

Abstrao de grafo para algoritmos de roteamento: ns do grafo so roteadores arestas do grafo so os enlaces fsicos

F
2

custo do enlace: retardo, financeiro, ou nvel de congestionamento

caminho bom: tipicamente significa caminho de menor custo outras definies so possveis
73

Curso de Especializao em Redes de Computadores INF502

Classificao de Algoritmos de Roteamento


Informao global ou descentralizada?
Global: todos roteadores tm info. completa de topologia, custos dos enlaces algoritmos estado de enlaces Decentralizada: roteador conhece vizinhos diretos e custos at eles processo iterativo de clculo, troca de info. com vizinhos algoritmos vetor de distncias

Esttico ou dinmico?
Esttico: rotas mudam lentamente com o tempo Dinmico: rotas mudam mais rapidamente atualizao peridica em resposta a mudanas nos custos dos enlaces

74
Curso de Especializao em Redes de Computadores INF502

Um algoritmo de roteamento de estado de enlaces (EE)


Algoritmo de Dijkstra
topologia da rede, custos dos

enlaces conhecidos por todos os ns realizado atravs de difuso do estado dos enlaces todos os ns tm 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 iteraes, sabemos menor custo p/ k destinos

Notao: c(i,j): custo do enlace do n


i ao n j. custo infinito se no forem vizinhos diretos

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 ns cujo
caminho de menor custo j foi determinado
75

Curso de Especializao em Redes de Computadores INF502

O algoritmo de Dijkstra
1 Inicializao: 2 N = {A} 3 para todos os ns V 4 se V for adjacente ao n A 5 ento D(V) = c(A,V) 6 seno D(V) = infinito 7 8 Repete 9 determina W no contido em N tal que D(W) o mnimo 10 adiciona W ao conjunto N 11 atualiza D(V) para todo V adjacente ao n W e ainda no 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 ns estejam em N
76
Curso de Especializao em Redes de Computadores INF502

Algoritmo de Dijkstra: exemplo


Passo 0 1 2 3 4 5 N inicial A AD ADE ADEB ADEBC ADEBCF D(B),p(B) D(C),p(C) D(D),p(D) D(E),p(E) D(F),p(F) 2,A 1,A 5,A infinito infinito 2,A 4,D 2,D infinito 2,A 3,E 4,E 3,E 4,E 4,E

B A
1 2 2

3 3 1

C
1

F
2
77

Curso de Especializao em Redes de Computadores INF502

Algoritmo de Dijkstra, discusso


Complexidade algoritmica: n ns a cada iterao: precisa checar todos ns, W, no em N n*(n+1)/2 comparaes => O(n**2) implementaes mais eficientes possveis: O(nlogn) Oscilaes possveis: p.ex., custo do enlace = carga do trfego carregado
D
1 1 0

A
0 0

1+e e

B
1

2+e

A
1+e 1

0 0

0 1

A
0 0

2+e

2+e

A
1+e 1

0 e

C
e

C 1+e

inicialmente

recalcula rotas

recalcula

recalcula
78

Curso de Especializao em Redes de Computadores INF502

Um algoritmo de roteamento de vetor de distncias (VD)


iterativo:
continua at que no

haja mais troca de info. entre ns se auto-termina: no h sinal para parar

Estrutura de dados: Tabela de Distncias


cada ns possui sua prpria TD 1 linha para cada destino possvel 1 coluna para cada vizinho direto

assncrono:
os ns

no precisam

trocar info./iterar de forma sincronizada!

distribudo:
cada n comunica

apenas com seus


vizinhos diretos
79
Curso de Especializao em Redes de Computadores INF502

Algoritmo Vetor Distncia


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

y N x sabe o custo para seu vizinho v c(x,v) N x mantm vetor distncia Dx = [Dx(y): y N] N x mantm informao do vetor distncia dos seus vizinhos

Para caa vizinho: Dv = [Dv(y): y N ]


4-80
Network Layer

Algoritmo de Vetor Distncia


Algoritmo Bellman-Ford dx(y) := menor custo de se ir de x para y

dx(y) = min {c(x,v) + dv(y) } v Mnimo entre todos os vizinhos


4-81
Network Layer

Exemplo
5 2 1

v
2

3 3 1

w
1

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


5

z
2

du(z) = min { c(u,v) + dv(z), c(u,x) + dx(z), c(u,w) + dw(z) } = min {2 + 5, 1 + 3, 5 + 3} = 4

4-82
Network Layer

Tabela de distncias gera tabela de rotas


D () A B C D
E custo ao destino via

A 1 7 6 4

B 14 8 9 11

D 5 5 4 2 A B C D

enlace de sada a usar, custo

A,1 D,5 D,4 D,4

Tabela de distncias

Tabela de rotas
83

Curso de Especializao em Redes de Computadores INF502

Roteamento vetor de distncias: sumrio


Iterativo, assncrono: cada
iterao local causada por: mudana do custo do enlace local mensagem do vizinho: mudana de caminho de menor custo para algum destino

Cada n: espera (mudana no custo


de mensagem do vizinho)

Distribudo:
cada n avisa a seus vizinhos

recalcula tabela de
distncias

apenas quando muda seu


caminho de menor custo para qualquer destino

os vizinhos ento avisam a seus vizinhos, se for necessrio

se mudou o caminho de menor custo para qq. destino, avisa vizinhos


84

Curso de Especializao em Redes de Computadores INF502

Algoritmo Vetor de Distncias:


Em todos ns, X:
1 Inicializao: 2 para todos ns adjacentes V: 3 D X(*,V) = infinito /* o operador * significa para todas linhas" */ 4 D X(V,V) = c(X,V) 5 para todos destinos, Y X 6 envia mn D (Y,W) para cada vizinho /* W indica vizinhos de X */
w

85
Curso de Especializao em Redes de Computadores INF502

Algoritmo Vetor de Distncias (cont.):


8 repete 9 espera (at observar mudana de custo do enlace ao vizinho V, 10 ou at receber atualizao do vizinho V) 11 12 se (c(X,V) muda por d unidades) 13 /* altera custo para todos destinos atravs do vizinho V por d */ 14 /* note: d pode ser positivo ou negativo */ 15 para todos destinos Y: DX(Y,V) = D X (Y,V) + d 16 17 seno, se (atualizao recebido de V para destino Y) 18 /* mudou o menor caminho de V para algum Y */ 19 /* V enviou um novo valor para seu mn DV(Y,w) */ w 20 /* chamamos este novo valor de "val_novo" */ 21 para apenas o destino Y: DX(Y,V) = c(X,V) + val_novo 22 23 se temos um novo mn D X(Y,W) para qq destino Y w 24 envia novo valor de mn D X(Y,W) para todos vizinhos w 25 86 26 para sempre
Curso de Especializao em Redes de Computadores INF502

Tabela n x Custo para x y z x y z Tabela n De 0 2 7 y node cost to x y z 2 0 1 z cost to x y z

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

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


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

x y z Tabela n De

y
7

x y z 71 0

De

time
87
Curso de Especializao em Redes de Computadores INF502

Tabela n x Custo para x y z x y z Tabela n De 0 2 7 y Custo para x y z 2 0 1 z Custo para x y z

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

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


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

Custo para x y z x 0 2 3 y 2 0 1 z 3 1 0 Custo para x y z x 0 2 3 y 2 0 1 z 3 1 0 Custo para x y z x 0 2 3 y 2 0 1 z 3 1 0 time


88

De

x y z Tabela n De

y
7

x y z 71 0

De

Curso de Especializao em Redes de Computadores INF502

De

Dimuio no custo de enlace


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

enlace Atualiza informao de roteamento, recalcula vetor Se distncias alterada, notifica vizinhos

y
50

Boas notcias Caminham rpido

No tempo t0, y detecta mudanca no custo e notifica vizinho No tempo t1, z recebe atualizao 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 atualizao de z e atualiza a sua tabela de distncia, o menor custo de y no se altera e consequentemente no envia nenhuma mensagem para z

89
Curso de Especializao em Redes de Computadores INF502

Aumento do custo de enlace


Mudanca de custo no enlace:
Notcias ruins demoram a

60

propagar, problema de contagem at 44 interaes at estabilizar

y
50

Reverso envenenado:
Se Z rotea atravs de Y

para chegar a X :

Z diz a Y que sua distncia a x infinita, de tal forma que Y no vai rotear atravs de Z
90
Curso de Especializao em Redes de Computadores INF502

Comparao dos algoritmos EE e VD


Complexidade de mensagens Robustez: o que acontece se houver falha do roteador? EE: com n ns, E enlaces, O(nE) mensagens enviadas EE:
VD: trocar mensagens apenas

entre vizinhos varia o tempo de convergncia

n pode anunciar valores incorretos de custo de

enlace

cada n calcula sua prpria tabela um n VD pode anunciar um custo de caminho incorreto a tabela de cada n usada pelos outros ns
erros se propagam pela rede

Rapidez de Convergncia
EE: algoritmo O(n**2) requer

VD:

O(nE) mensagens podem ocorrer oscilaes VD: varia tempo para convergir podem ocorrer rotas cclicas problema de contagem ao infinito

91

Curso de Especializao em Redes de Computadores INF502

Roteamento Hierrquico
Neste estudo de roteamento fizemos uma idealizao: todos os roteadores idnticos rede no hierarquizada (flat) no verdade, na prtica escala: 200 milhes de destinos:
impossvel guardar todos

autonomia administrativa
internet = rede de redes cada administrador de rede

destinos na tabela de rotas! troca de tabelas de rotas afogaria os enlaces!

pode querer controlar roteamento em sua prpria rede

92
Curso de Especializao em Redes de Computadores INF502

Roteamento Hierrquico
agregar roteadores em

roteadores de borda
roteadores especiais no

regies, sistemas autnomos (SAs) roteadores no mesmo SA usam o mesmo protocolo de roteamento

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

SA usam protocolo de roteamento intra-SA com todos os demais roteadores no SA tambm responsveis por rotear para destinos fora do SA usam protocolo de roteamento inter-SA com outros roteadores de borda
93

Curso de Especializao em Redes de Computadores INF502

Roteamento Intra-SA e Inter-SA


C.b A.a a b C d A a b c A.c a B c b B.a

Roteadores de borda:
fazem roteamento inter-SA entre si fazem roteamento intra-SA com outros roteadores do seu prprio SA
camada de rede

Roteamento inter-AS, intra-AS no roteador de borda A.c

camada de enlace camada fsica

94
Curso de Especializao em Redes de Computadores INF502

Roteamento Intra-SA e Inter-SA


C.b A.a a b C a d c b A roteamento Intra-SA no SA A roteamento Inter-SA entre B.a AeB A.c a B c

Estao e2 b

Estao e1

roteamento Intra-SA no SA B

Em breve veremos protocolos de roteamento

inter-SA e intra-SA especficos da Internet


95
Curso de Especializao em Redes de Computadores INF502

Tarefa Interna SAAS1 deve:


Roteador em AS1

recebe datagrama destinado para roteador em outro : Para qual roteador deve enviar o pacote?

Propagar para qual destinatrios pode-se chegar atravs de AS2 e de AS3 2. Propagar informao de alcancabilidade atravs de AS1 Tarefa de roteamento intra-domnio!
1.

3a 3b AS3 1a

3c

2a 1c 1d 1b AS1

2c
AS2

2b

96
Curso de Especializao em Redes de Computadores INF502

Exemplo: setando tabela de roteamento 1d


Suponha que SA1 aprendeu (via protocolo inter-AS) que

a submet x alcancvel atravs de AS3 (gateway 1c) mas no via AS2. Protocolo inter-SA propoaga informao de alcancabilidade para todos roteadores internos Roteador 1d determina atravs de informao de roteamento intra-SA qual interface I est no menor caminho para 1c. Instala tabela de encaminhamento (x,I) x
3a 3b AS3 1a 3c 2a 1c 1d 1b AS1 2c 2b AS2

97
Curso de Especializao em Redes de Computadores INF502

Exemplo: escolha entre mltiplos SAs


Suponha agora que AS1 aprende atravs do

protocolo inter-SA que a subrede x alcancvel de AS3 e de AS2. Para configyrar a tabela de encamihamento, o roteador 1d tem que determinar atravs de qual gateway ele deve encaminhar pacote ao destinatrio x. Esta tambm uma tarefa do protocolo inter-SA
3c

x
2a 1c 1a 1d 1b AS1
98
Curso de Especializao em Redes de Computadores INF502

3a 3b AS3

2c
AS2

2b

Exemplo: escolha entre mltiplos ASs


Suponha agora que AS1 aprende atravs do protocolo inter-

domnio que a sub-rede x alcancvel de AS3 e deAS2. Para configurar a tabela, o roteador 1d deve determinar atravs de qual gateway, deve enviar os pacotes para o destinatrio x. Esta tambm uma tarefa do protocolo inter-domnio prximo.

Protocolo batata quente: envia pacote para a roteador mais

Aprende atravs dos protocolos inter-domnio que a subrede x alcancvel atravs de mltiplos gateways

Utilize informaes 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 atravs da tabela de encaminhamento A interface Para o gateway Com menor custo

99
Curso de Especializao em Redes de Computadores INF502

Roteiro
4. 1 Introduo 4.2 Circuitos virtuais x 4.5 Algoritmos de

roteamento

datagrama 4.3 Como um roteador 4.4 Protocolo IP


Estado de enlace Vetor distncia Roteamento hierarquico

4.6 Roteamento na

Formato datagarma endereamento IPv4 ICMP IPv6

Internet

RIP OSPF BGP

4.7 Roteamento

Broadcast e multicast
100
Curso de Especializao em Redes de Computadores INF502

Roteamento na Internet
A Internet Global consiste de Sistemas Autonnomos

(SAs) interligados entre si:


SA Folha: empresa pequena SA com Mltipla Conectividade: empresa grande (sem trnsito) SA de Trnsito: provedor

Roteamento em dois nveis: Intra-SA: administrador responsvel pela escolha Inter-SA: padro nico

101
Curso de Especializao em Redes de Computadores INF502

Hierarquia de SAs na Internet


Inter-SA: roteadores de fronteira (exterior gateways)

Intra-SA: roteadores internos (interior gateways)


102
Curso de Especializao em Redes de Computadores INF502

Roteamento Intra-SA
Tambm conhecido como Interior Gateway

Protocols (IGP) (protocolos de roteamento interno) Os IGPs mais comuns so:


RIP: Routing Information Protocol OSPF: Open Shortest Path First IGRP: Interior Gateway Routing Protocol (proprietrio da Cisco)

103
Curso de Especializao em Redes de Computadores INF502

RIP (Routing Information Protocol)


Algoritmo do tipo vetor de distncias Includo na distribuio do BSD-UNIX em 1982 Mtrica de distncia: # de enlaces (mx = 15 enlaces) Vetores de distncias: trocados a cada 30 seg via

Mensagem de Resposta (tb chamada de anncio)


Cada anncio: rotas para 25 redes destino

104
Curso de Especializao em Redes de Computadores INF502

RIP: exemplo
z w A x D C
Rede Destino Prximo Roteador No. de enlaces ao destino

y B

...

w y z x
.

A B B -.
Tabela de rotas em D

2 2 7 1
....

105
Curso de Especializao em Redes de Computadores INF502

RIP: Falha e Recuperao de Enlaces


Se no for recebido anncio novo durante 180 seg --> vizinho/enlace declarados mortos rotas via vizinho invalidadas novos anncios enviados aos vizinhos na sua vez, os vizinhos publicam novos anncios (se foram alteradas as suas tabelas) informao sobre falha do enlace rapidamente propaga para a rede inteira reverso envenenado usado para impedir rotas cclicas (ping-pong) (distncia infinita = 16 enlaces)

106
Curso de Especializao em Redes de Computadores INF502

RIP: Processamento de tabelas


Tabelas de roteamento RIP gerenciadas por

processo de nvel de aplicao chamado routed (routing daemon) anncios enviados em pacotes UDP, repetidos periodicamente

107
Curso de Especializao em Redes de Computadores INF502

RIP: exemplo de tabela de rotas (cont)


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

Trs redes vizinhas diretas da classe C (LANs) Roteador apenas sabe das rotas s LANs vizinhas Roteador default usado para subir Rota de endereo multiponto: 224.0.0.0 Interface loopback (para depurao)
108
Curso de Especializao em Redes de Computadores INF502

OSPF (Open Shortest Path First)


open (aberto): publicamente disponvel Usa algoritmo do Estado de Enlaces

disseminao de pacotes EE Mapa da topologia a cada n Clculo de rotas usando o algoritmo de Dijkstra

Anncio de OSPF inclui uma entrada por roteador

vizinho Anncios disseminados para SA inteiro (via inundao)

109
Curso de Especializao em Redes de Computadores INF502

OSPF: caractersticas avanadas (no existentes no RIP)


Segurana: todas mensagens OSPF autenticadas (para

impedir intruso maliciosa); conexes TCP usadas Caminhos Mltiplos de custos iguais permitidos (o RIP permite e usa apenas uma rota) Para cada enlace, mltiplas mtricas de custo para TOS diferentes (p.ex, custo de enlace de satlite colocado como baixo para melhor esforo; 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 hierrquico em domnios grandes.
110
Curso de Especializao em Redes de Computadores INF502

OSPF Hierrquico

111
Curso de Especializao em Redes de Computadores INF502

OSPF Hierrquico
Hierarquia de dois nveis: rea local, backbone.

Anncios de EE disseminados apenas na mesma rea cada n possui topologia detalhada da rea; apenas sabe a direo (caminho mais curto) para redes em outras reas (alcanadas atravs do backbone). Roteador de fronteira de rea: sumariza distncias s redes na sua prpria 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.

112
Curso de Especializao em Redes de Computadores INF502

IGRP (Interior Gateway Routing Protocol)


Proprietrio da CISCO; sucessor do RIP (anos 80) Vetor de Distncias, como RIP Diversas mtricas de custo (retardo, largura de

banda, confiabilidade, carga, etc) usa TCP para trocar mudanas de rotas Roteamento sem ciclos via Distributed Updating Algorithm (DUAL) baseado em computao difusa

113
Curso de Especializao em Redes de Computadores INF502

Roteamento Inter-SA

114
Curso de Especializao em Redes de Computadores INF502

Operao BGP
Q: O que um roteador BGP faz?
Envia anncio de rotas para seus vizinhos; Recebe e filtra anncios de rotas dos seus vizinhos

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

115
Curso de Especializao em Redes de Computadores INF502

BGP
BGP (Border Gateway Protocol): o padro de fato para uso na Internet BGP prov cada AS dos meios para: 1. Obter informaes de alcance de sub-rede dos Ass. Vizinhos 2. Propagar informaes de alcance para todos os roteadores internos ao AS 3. Determinar boas rotas para as sub-redes baseado em informaes de alcance e poltica Permite que uma subnet comunique sua existncia para o resto da Internet: Estou aqui
116
Curso de Especializao em Redes de Computadores INF502

Pares de roteadores (BGP peers) trocam informaes de roteamento por conexes TCP semipermanentes: sesses BGP Note que as sesses BGP no correspondem aos links fsicos Quando AS2 comunica um prefixo ao AS1, AS2 est prometendo que ir encaminhar todos os datagramas destinados a esse prefixo em direo ao prefixo AS2 pode agregar prefixos em seu comunicado

117
Curso de Especializao em Redes de Computadores INF502

Em cada sesso eBGP entre 3a e 1c, AS3 envia informaes de alcance de prefixo para AS1. 1c pode ento usar iBGP para distribuir essa nova informao de alcance de prefixo para todos os roteadores em AS1 1b pode recomunicar essa nova informao para AS2 por meio da sesso eBGP 1b-para-2a. Quando um roteador aprende um novo prefixo, ele cria uma entrada para o prefixo em sua tabela de roteamento.

118
Curso de Especializao em Redes de Computadores INF502

Quando se comunica um prefixo, o comunicado inclui os atributos do BGP. Prefixo + atributos = rota Dois atributos importantes: AS-PATH: contm os ASs pelos quais o comunicado para o prefixo passou: AS 67 AS 17 NEXT-HOP: Indica o roteador especfico interno ao AS para o AS do prximo salto (next-hop). (Pode haver mltiplos links do AS atual para o AS do prximo salto.) Quando um roteador gateway recebe um comunicado de rota, ele usa poltica de importao para aceitar/rejeitar.

119
Curso de Especializao em Redes de Computadores INF502

Um roteador pode aprender mais do que 1 rota para o mesmo prefixo. O roteador deve selecionar uma rota Regras de eliminao: Atributo de valor de preferncia local: deciso de poltica AS-PATH (caminho) mais curto Roteador do NEXT-HOP (prximo salto) mais prximo: roteamento da batata quente Critrios adicionais

120
Curso de Especializao em Redes de Computadores INF502

Mensagens

BGP so trocadas usando o TCP

Mensagens BGP: OPEN: abre conexo TCP para o peer e autentica o transmissor UPDATE: comunica novo caminho (ou retira um antigo) KEEPALIVE mantm a conexo ativa na ausncia de atualizaes (updates); tambm ACKs OPEN request NOTIFICATION: reporta erros em mensagens anteriores; tambm usado para fechar a conexo

121
Curso de Especializao em Redes de Computadores INF502

A,B,C so redes do provedor X,W,Y so clientes (das redes do provedor) X dual-homed: anexados a duas redes X no quer rotear de B via X para C ento X no comunicar ao B uma rota para C

122
Curso de Especializao em Redes de Computadores INF502

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 no obtm nenhum rendimento em rotear CBAW pois nem W nem C so seus clientes B quer forar C a rotear para W via A B quer rotear somente de/para seus clientes!
123
Curso de Especializao em Redes de Computadores INF502

Porque protocolos Intra- e InterAS diferentes ?


Polticas: Inter-SA: administrao quer controle sobre como trfego roteado, quem transita atravs da sua rede. Intra-AS: administrao nica, logo so desnecessrias decises polticas Escalabilidade: roteamento hierrquico economiza tamanho de tabela de rotas, reduz trfego de atualizao Desempenho: Intra-AS: pode focar em desempenho Inter-AS: polticas podem ser mais importantes do que desempenho
124
Curso de Especializao em Redes de Computadores INF502

Roteiro
4. 1 Introduo 4.2 Circuitos virtuais x 4.5 Algoritmos de

roteamento

datagrama 4.3 Como um roteador 4.4 Protocolo IP


Estado de enlace Vetor distncia Roteamento hierarquico

4.6 Roteamento na

Formato datagarma endereamento IPv4 ICMP IPv6

Internet

RIP OSPF BGP

4.7 Roteamento

Broadcast e multicast
125
Curso de Especializao em Redes de Computadores INF502

Difuso (Broadcast)

Duplicao na origem versus duplicao na rede. (a) duplicao na origem, (b) duplicao na rede

126
Curso de Especializao em Redes de Computadores INF502

Duplicao na rede
Dilvio: quando roteador recebe pacote,

envia para todos Problemas de ciclo e tempestade Dilvio controlado: s envia para vizinhos caso no tenha enviado anteriormente Ou controla informao em tabela ou faz encaminhamento caminho spanning tree Ns no recebem pacotes duplicatas
127
Curso de Especializao em Redes de Computadores INF502

Spanning Tree
Construo de spanning tree, Ns encaminham pela spanning tree
A c B c D F E G F E G A B

(a) Broadcast initiated at A

(b) Broadcast initiated at D

128
Curso de Especializao em Redes de Computadores INF502

Criao da Spanning Tree


N central Cada n envia mensagem de enxerto para o centro Mensagens so encaminhadas at encontrar algum n na spanning tree

A
3

A B c D
5

c
4 2

D F G E G

F
1

(a) Construo da spanning tree

(b)Spanning tree constuda


129

Curso de Especializao em Redes de Computadores INF502

Roteamento Multicast
Objetivo: encontrar rvore find a tree (or

trees) connecting routers having local mcast group members


rvore: nem todas rotas so utilizadas Baseada na fonte: diferentes rvores de cada transmissor para um receptor rvore compartilhada: mesma rvore usada por todos os membros do grupo

Shared tree

Source-based trees

Approaches para construo de rvore mcast


Approaches: rvores baseadas na fonte: uma rvore por fontes
rvores com menor caminho reverse path forwarding

rvore compartilhadas por grupo: grupo usa

uma nica rvore


minimal spanning (Steiner) rvores baseadas no centro

rvores com camonhos mais curtos


rvores mcast: rvores com rotas de caminhos mais

entre fonte e todos os recsptores curtos :

Algoritmo de Dijkstra

S: source R1 1 R2 3 R3 R6 4 6 R7 2 R4 5 R5

LEGEND Roteadores com membros Dogrupo associados Roteadores sem membros do grupo associado i Enlaces usados para encaminhar i indica ordem em que o enlace foi adicionado pelo algoritmo

Envio pelo Caminho Reverso


Idia simples, mas elegante. Quando um roteador recebe um pacote multicast,

ele transmite o pacote em todos os seus enlaces de sada (exceto por aquele em que recebeu o pacote) apenas se o pacote tiver sido recebido atravs do enlace que est no seu caminho mais curto at o transmissor (origem). Note que o roteador no precisa conhecer o caminho mais curto at a origem, mas apenas o prximo roteador no seu caminho mais curto unicast at a origem.
133
Curso de Especializao em Redes de Computadores INF502

Envio pelo Caminho Reverso


O: origem Legenda roteador com conexo a algum membro do grupo roteador sem conexo com nenhum membro do grupo pacote a ser enviado pacote que no ser enviado alm do roteador receptor

Problema: G e outros roteadores a partir dele receberiam pacotes multicast apesar de no terem conexo com nenhum host participante do grupo! Soluo: Podar a rvore!
134
Curso de Especializao em Redes de Computadores INF502

Poda
Mensagens de poda so enviadas upstream,

eliminao de subarvore sem elementos de grupo

S: source R1 R2 R4 P R5 R3 R6 P R7

LEGEND router with attached group member router with no attached group member prune message links with multicast forwarding

Shared-Tree: Steiner Tree


Steiner Tree: rvore de custo mnimo

conectando todos roteadores do grupo problema NP-completo exelentes heuristicas No usada na pratica:
Computacionalmente complexa Informao sobre toda rede necessria Necessidade de re-execuo a cada alterao de membros

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 centro

join-msg processada por roteadores intermedirios 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

Exemplo: rvore baseada no centro


R6 o centro:
LEGENDA R1 3 R2 2 R5 R3 1 R6 R7 1 R4 Roteadores com membros associados Roteadores sem membros associados Ordem de gerao da mensgem join

Roteamento Multicast usando rvores baseadas nas origens


i-simo caminho a ser adicionado
rvores de caminho mais

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)
139
Curso de Especializao em Redes de Computadores INF502

Multicast: um emissor para vrios receptores


Multicast: envia datagramas para mltiplos receptores com

uma nica operao de transmisso analogia: um professor para vrios estudantes,


alimentao de dados: cotaes da bolsa de valores; atualizao de cache WWW; ambientes virtuais interativos distribudos, etc.

Questo: como garantir multicast?

Multicast via unicast


Fonte envia N

datagrams unicast, um para cada um dos N receptores


Roteadores encaminham datagramas unicast Receptores multicast (vermelho) No um receptor multicast
140
Curso de Especializao em Redes de Computadores INF502

Desafios do Suporte a Multicast na Camada de Rede


Como identificar os receptores de um datagrama

multicast? Como enderear um datagrama a ser enviado para estes receptores. No d para incluir o endereo IP de cada um dos destinos no cabealho do datagrama!

No funciona para um grande nmero de receptores; requer que o transmissor conhea a identidade e endereos de cada um dos destinatrios.

Endereo indireto: usado um identificador nico

para um grupo de usurios. Grupo Multicast associado a um endereo classe D.


141
Curso de Especializao em Redes de Computadores INF502

Modelo de Servio Multicast da Internet

Conceito de grupo Multicast: uso de indireo Hosts endeream os datagramas IP para o grupo multicast Roteadores encaminham os datagramas multicast para os hosts que se juntaram ao grupo multicast
142
Curso de Especializao em Redes de Computadores INF502

Grupos Multicast
Endereos classe D na Internet so reservados para multicast:

Semntica de grupo de hosts: qualquer um pode se juntar (receber) a um grupo multicast qualquer um pode enviar para um grupo multicast nenhuma identificao na camada de rede para os hosts membros necessrio: infraestrutura para enviar datagramas multicast para todos os hosts que se juntaram ao grupo

143
Curso de Especializao em Redes de Computadores INF502

Grupos Multicast: questes


Como um grupo iniciado e como ele encerrado? Como escolhido o endereo do grupo? Como so adicionados novos

hosts ao grupo?

Qualquer um pode fazer parte (ativa) do grupo ou

a participao restrita? Caso seja restrita, quem determina a restrio? Os membros do grupo tm 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?
144
Curso de Especializao em Redes de Computadores INF502

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 Vrios protocolos (e.g., DVMRP, MOSPF, PIM)

IGMP Roteamento multicast em redes metropolitanas

IGMP

IGMP
Curso de Especializao em Redes de Computadores INF502

145

IGMP: Internet Group Management Protocol RFC 2236


Opera entre o host e o roteador ao qual ele est conectado

diretamente: host: envia notificao IGMP quando a aplicao se junta a um grupo multicast IP_ADD_MEMBERSHIP opo de socket host no necessita fazer uma notificao quando sai de um grupo roteador: envia requisio IGMP a intervalos regulares host pertencente a um grupo multicast deve responder a requisio

query

report
146

Curso de Especializao em Redes de Computadores INF502

O Protocolo IGMP
O IGMP fornece meios para que o host informe ao

roteador ao qual est conectado que uma aplicao deseja ser includa em um grupo multicast. Apesar do nome ele no um protocolo que opera entre todos os hosts que tenham formado um grupo multicast. necessrio 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.


147
Curso de Especializao em Redes de Computadores INF502

Tipos de Mensagens IGMP v2


Tipos das Mensagens IGMP Consulta sobre participao em grupos:geral Consulta sobre participao em grupos:especfica Relato de participao Sada de grupo Enviada por Roteador Finalidade

Consultar quais os grupos multicast em que os hosts associados esto includos. Consultar se os hosts associados esto includos em um grupos multicast especfico. Relatar que o host quer ser ou j est includo num dado grupo multicast. Relata que est saindo de um determinado grupo multicast.
148

Roteador

Host

Host

Curso de Especializao em Redes de Computadores INF502

Consulta sobre participao e resposta

As mensagens de relato tambm podem ser

enviadas por iniciativa do host quando uma aplicao deseja ser includa num grupo multicast. Para o roteador no importa quais nem quantos hosts fazem parte do mesmo grupo multicast.
149
Curso de Especializao em Redes de Computadores INF502

Formato das Mensagens IGMP


Usado para suprimir relatos duplicados: cada host espera um tempo aleatrio entre 0 e este valor mximo antes de enviar o seu relato. Se antes disto este host escutar o relato de algum outro host, ele descarta a sua mensagem.

Encapsuladas em datagramas IP com nmero de protocolo 2.

150
Curso de Especializao em Redes de Computadores INF502

Modelo do Servio Multicast da Internet


Qualquer host pode ser includo no grupo

multicast na camada de rede.

O host simplesmente envia uma mensagem IGMP de relato de participao para o roteador ao qual est conectado.

Em pouco tempo o roteador agindo em

conjunto com os demais roteadores comear a entregar datagramas multicast para este host. Portanto, a adeso a um grupo uma iniciativa do receptor.
151
Curso de Especializao em Redes de Computadores INF502

Modelo do Servio Multicast da Internet


O transmissor no precisa se preocupar em

adicionar receptores e nem controla quem includo no grupo. Tambm no h nenhum controle de coordenao a respeito de quem e quando pode transmitir para o grupo multicast. No h nem mesmo uma coordenao na camada de rede sobre a escolha de endereos multicast: dois grupos podem escolher o mesmo endereo! Todos estes controles podem ser implementados na camada de aplicao. Alguns deles podem vir a ser includos na camada de rede.
152
Curso de Especializao em Redes de Computadores INF502

Protocolos de Roteamento Multicast na Internet


DVMRP: Distance Vector Multicast Routing

Protocol MOSPF: Multicast Open Shortest Path First PIM: Protocol Independent Multicast

153
Curso de Especializao em Redes de Computadores INF502

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 distncia para permitir que o roteador calcule o enlace de sada que se encontra no caminho mais curto at cada uma das origens possveis. Tambm calcula a lista dos roteadores que esto abaixo dele para questes de poda.

154
Curso de Especializao em Redes de Computadores INF502

DVMRP Distance Vector Multicast Routing Protocol


A mensagem de poda contm a durao da

poda (com valor default de 2 horas) aps o qual o ramo automaticamente enxertado na rvore. Uma mensagem de enxerto fora a reincluso de um ramo que tenha sido podado anteriormente da rvore multicast.

155
Curso de Especializao em Redes de Computadores INF502

Implantao de roteamento Multicast na Internet


O ponto crucial que apenas uma pequena frao

dos roteadores esto aptos ao Multicast. Tunelamento pode ser usado para criar uma rede virtual de roteadores com multicast.

Esta abordagem foi utilizada no Mbone

Topologia fsica

Topologia lgica
156

Curso de Especializao em Redes de Computadores INF502

MOSPF - Multicast Open Shortest Path First


utilizado num Sistema Autnomo que

utiliza o protocolo OSPF para o roteamento unicast. Os roteadores adicionam a informao dos grupos que devem atender junto com os anncios dos estados dos enlaces. Com base nestas informaes cada roteador do AS pode construir rvores de caminho mais curto, especficas para cada origem, j podadas para cada grupo multicast.
157
Curso de Especializao em Redes de Computadores INF502

PIM - Protocol Independent Multicast


Considera dois tipos de cenrios: Modo denso: os membros de um grupo esto concentrados numa dada regio. A maior parte dos roteadores devem se envolver com o roteamento dos datagramas de multicast. Modo esparso: os membros de um grupo esto muito dispersos geograficamente. Conseqncias: 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 no se envolva com multicast. Os roteadores devem enviar mensagens explictas solicitando a sua incluso.
158
Curso de Especializao em Redes de Computadores INF502

Roteamento Multicast entre Sistemas Autnomos


Cada SA pode utilizar um protocolo de

roteamento multicast diferente. Ainda no existe um padro para o roteamento multicast inter-SA. O padro de fato tem sido o DVMRP que no adequado por ser um protocolo do tipo modo denso, enquanto que os roteadores multicast atuais esto espalhados.
159
Curso de Especializao em Redes de Computadores INF502

Fatores de avaliao de protocolos multicast


Escalabilidade: como cresce a quantidade de info

de estados com o crescimento do nmero de grupos e dos transmissores de um grupo? Dependncia do roteamento unicast: Ex.: MOSPF x PIM. Recepo excessiva (no necessria) de trfego. Concentrao de trfego: a rvore nica concentra trfego em poucos enlaces. Optimalidade dos caminhos de envio.

160
Curso de Especializao em Redes de Computadores INF502

Captulo 4: Resumo
Iniciamos a nossa jornada

rumo ao ncleo da rede. Roteamento dos datagramas: um dos maiores desafios da camada de rede.

Princpios dos alg. de

roteamento:

Abordagem centralizada Abordagem descentralizada IPv6 Roteamento multicast Mobilidade

Assuntos avanados:

Particionamento das redes em SAs. Problema de escala pode ser resolvido com a hierarquizao.

Capacidade de

Prximo captulo:

processamento dos roteadores:

As tarefas dos roteadores devem ser as mais simples possveis.

Camada de Enlace: transferncia de pacotes entre ns no mesmo enlace ou LAN.


161

Curso de Especializao em Redes de Computadores INF502

Potrebbero piacerti anche