4 Rede

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View 4 Rede as PDF for free.

More details

  • Words: 10,650
  • Pages: 72
Capítulo 4: Camada de Rede Objectivos:



Visão geral:

Compreender os



Serviços de nível de rede

princípios subjacentes ao



Princípios de encaminhamento:

serviço da camada de rede:



encaminhamento (selecção do caminho)



problema de escala



como um router funciona



tópicos avançados: IPv6,

selecção do caminho



Encaminhamento hierárquico



IP



Protocolos de encaminhamento na Internet

multicast, mobilidade



Instanciação e



dentro do domínio: intra-domain



entre domínios: inter-domain

O que existe dentro de um router?

implementação na Internet





IPv6



Mobilidade Camada de Rede

4-1

Capítulo 4: Sumário 4.1 Introdução e Modelos de Serviço de Rede 4.2 Princípios de Encaminhamento 4.3 Encaminhamento Hierárquico 4.4 O Protocolo IP (Internet Protocol) 4.5 Encaminhamento na Internet 4.6 O que existe dentro de um Router 4.7 IPv6 4.8 Encaminhamento Multicast 4.9 Mobilidade

Camada de Rede

4-2

Funções da camada de rede



Encaminhar pacotes dos

emissores para os receptores



Protocolos de nível de rede em cada máquina, router

"$#% & '( )* + ,.-!/ 01 2 3 -465 7 5 85 9: ; < 8/ 83 1 => 1 : ? /

Três funções importantes:



          

          !

           

Determinação do caminho:

rota percorrida pelos pacotes da origem para o destino –

algoritmos de encaminhamento



Expedição (forwarding):

transferir os pacotes da

          

           !

  

      

          

entrada do router para a saída apropriada



          !

Estabelecimento de chamada:

@$2A : ? /B6C 3 ,D-E/ 01 2 3 -465 7 5 85 9: ; < 8 / 83 1 => 1 : ? /

Algumas arquitecturas de

rede requerem que os routers

estabeleçam um caminho antes de se iniciar a transferência de dados

Camada de Rede

4-3

Modelo de serviço de rede Q: Qual o modelo de serviço para um “canal” que transporta pacotes

Abstrações de serviço

do emissor para o receptor?



Largura de banda garantida?



Preservação do tempo entre pacotes (sem jitter)?



Entrega sem perdas ?



Entrega ordenada?



Informação de congestão ao

A abstracção mais importante do serviço do nível de rede:

? ? ?

Circuito virtual ou

Datagrama ?

emissor?

Camada de Rede

4-4

Circuitos virtuais “o caminho entre a fonte e o destino comporta-se de forma semelhante a um circuito telefónico”





Bom desempenho



Acções da rede no caminho entre a fonte e o destino

Estabelecimento de chamada antes de se iniciar a transferência de dados; no final cancelamento da chamada



Cada pacote transporta o identificador do circuito virtual (VC, Virtual Circuit) (não o identificador do destino)



Cada router no caminho entre a origem e o destino mantém o “estado” de cada ligação que o atravessa





Ligações de nível de transporte só envolvem sistemas terminais

Os recursos das ligações e dos routers (largura de banda, buffers) são reservados por VC



Desempenho semelhante a um circuito permanente. Camada de Rede

4-5

Circuitos virtuais: protocolos de sinalização



Usados para estabelecer, manter e terminar VC



Tecnologias: ATM, frame-relay, X.25



Não utilizados actualmente na Internet

Aplicação Transporte Rede Lig. dados Física

5. Início do fluxo de dados 4. Chamada estabelecida 1. Iniciar chamada

6. Recepção de dados Aplicação

Transporte

3. Chamada Aceite 2. Chegou chamada

Rede Lig. dados Física

Camada de Rede

4-6

Redes de datagramas: O modelo Internet ❒

Não há estabelecimento de chamada ao nível de rede



routers: não há estado sobre as ligações extremo-a-extremo



não há conceito de ligação ao nível de rede

Pacotes encaminhados usando o endereço do destino





pacotes com origem e destino iguais podem utilizar rotas diferentes

Aplicação

Aplicação

Transporte Rede Lig. dados

Transporte 1. Envia dados

2. Recebe dados

Física

Rede Lig. dados Física

Camada de Rede

4-7

Modelos do serviço de rede:

Arquitectura de Rede Internet



Modelo de ritmo Serviço

ATM

melhor esforço CBR

ATM

VBR

ATM

ABR

ATM

UBR

Garantias ? perdas ordem tempo

Informação de congestão

não

não

não

não

ritmo constante ritmo garantido mínimo garantido não

sim

sim

sim

sim

sim

sim

não

sim

não

não (inferida pelas perdas) sem congestão sem congestão sim

não

sim

não

não

O modelo Internet está a ser estendido: Intserv, Diffserv



Capítulo 6 Camada de Rede

4-8

Rede de datagramas ou de VCs: porquê? Internet



Dados transferidos entre computadores



serviço elástico, sem

ATM



Evoluiu da rede telefónica



Conversação humana:



restrições temporais.



fiabilidade

Sistemas Terminais



“inteligentes” (computadores)



adaptação, controlo e recuperação de erros



simples dentro da rede, complexidade na periferia



características diferentes



dificuldade dum serviço

necessidade de serviço garantido



Sistemas Terminais “burros”



telefones



complexidade dentro da

Muitos tipos de linhas



requisitos temporais e de

rede

uniforme

Camada de Rede

4-9

Capítulo 4: Sumário 4.1 Introdução e Modelos de Serviço de Rede 4.2 Princípios de Encaminhamento



encaminhamento por estado das ligações



encaminhamento por vector de distâncias

4.3 Encaminhamento Hierárquico 4.4 O Protocolo IP (Internet Protocol) 4.5 Encaminhamento na Internet 4.6 O que existe dentro de um Router 4.7 IPv6 4.8 Encaminhamento Multicast 4.9 Mobilidade

Camada de Rede

4-10

Encaminhamento (Routing) protocolo de encaminhamento 5

Objectivo: determinar um bom caminho (sequência de routers) na rede entre a origem e o destino

2

A

Grafos usados como

2 1

modelo de abstracção:



Nós - routers



Arcos – linhas físicas





custo da linha: atraso,

B

D

3

C

3

F

1

E

1

5

2

Caminhos “bons”:



Tipicamente caminhos mais curtos

$, ou nível de congestão



Outras possibilidades ... (e.g. políticas)

Camada de Rede

4-11

Classificação de algoritmos de encaminhamento Informação global ou descentralizada? Global:



todos os routers têm a topologia

Estática ou dinâmica? Estática:



no tempo (e.g.

completa, custos das ligações



Decentralizada:



routers sabem os vizinhos a que estão ligados fisicamente e os



Dinâmica:



rotas variam mais rapidamente

custos das respectivas ligações



actualização periódica

processo iterativo de



em resposta a

computação, troca de informação entre vizinhos



intervenção humana)

algoritmos de estado das ligações (“link state”)

rotas variam lentamente

algoritmos de vector de distâncias (“distance vector”)

alterações de custo em linhas. Camada de Rede

4-12

Algoritmo de Encaminhamento Estado de Ligação (Link- State)

Algoritmo de Dijkstra



Topologia da rede, custo das ligações para todos os nós conhecido



conseguido com difusão do estado das ligações



todos os nós têm a mesma informação



Calcula caminhos de menor custo dum nó (“origem”)

para todos os restantes



calcula a tabela de

routing para esse nó



iterativo: depois de k

iterações, conhece os

caminhos de menor custo para k destinos

Notação:

❒ c(i,j): custo da

ligação do nó

i para o nó j



Custo infinito para nós que não são vizinhos

❒ D(v): valor

actual do custo

do caminho da origem até ao destino v.

❒ p(v): penúltimo



(predecessor) no caminho da origem até ao destino v.

❒ N: conjunto

de nós que têm

o caminho de menor custo conhecido Camada de Rede

4-13

Algoritmo de Dijkstra para o nó A

1 Inicialização: 2 N = {A} 3 para todos os nós v 4 se v adjacente a A 5 então D(v) = c(A,v) 6 senão D(v) = infinito 7 8 Ciclo 9 encontrar w ∉ N tal que D(w) seja mínimo 10 adicionar w a N 11 actualizar D(v) para todos os v ∉ N, adjacentes a w: 12 D(v) = min( D(v), D(w) + c(w,v) ) 13 /* novo custo para v é o custo antigo para v ou o custo do 14 caminho mais curto para w mais o custo de w para v */ 15 até todos os nós em N Camada de Rede

4-14

Algoritmo de Dijkstra: exemplo

Passo 0 1 2 3 4 5

N A AD ADE ADEB ADEBC ADEBCF conjunto

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 Linha de saída a usar, custo

5

A

2 1

D

C

F

1

3

1

5

destino

B

2

3

2

E

B

B,2

C

D,3

D

D,1

E

D,2

F

D,4 Camada de Rede

4-15

Algoritmo de Dijkstra: discussão Complexidade do Algoritmo: n nós

∉N



cada iteração: necessita de verificar todos os nós w



n*(n+1)/2 comparações: O(n**2)



são possíveis implementações mais eficientes: O(nlogn)

Oscilações possíveis: e.g., custo da linha = quantidade do tráfego transportado



1

D 0 1

A

1+e 0

0

C

B

e

2+e

D 0

1

e

Inicialmente

A 1+e 1

C

0

B

0

… recalculando a rota

0

D 1

A 0

C

2+e 0

B

1+e

… recalculando

2+e

D 0

A 1+e 1

C

0

B

e

… recalculando Camada de Rede

4-16

Algoritmo de Vector de Distâncias iterativo:



Estrutura de dados: Tabela de

continua até que nenhum

Distâncias

nó envie informação.



termina automaticamente: não há “sinal” de paragem

assíncrono:





cada nó tem a sua própria



uma linha para cada destino



uma coluna para cada nó

adjacente que conduz ao destino

nós não precisam de



exemplo: nó X, para o destino Y através do nó vizinho Z:

transferir informação em sincronismo

distribuído: cada nó só comunica com

D (Y,Z)

os seus vizinhos directos

distância de X para Y, = via Z como próximo nó Z

= c(X,Z) + minw{D (Y,w)} Camada de Rede

4-17

Tabela de distâncias: exemplo

7

A

B

1

C

E

D ()

A

B

D

A

1

14

5

2

B

7

8

5

C

6

9

4

D

4

11

2

D

E

D

D (C,D) = c(E,D) + minw {D (C,w)} = 2+2 = 4

E

D

D (A,D) = c(E,D) + minw {D (A,w)} = 2+3 = 5

E

custo para destino via

2

8 1

E

destino



X

ciclo!

B

D (A,B) = c(E,B) + minw{D (A,w)} = 8+6 = 14

ciclo! Camada de Rede

4-18

Tabela de Distâncias e Tabela de Encaminhamento

custo para destino via

E

Linha de saída a usar, custo

B

D

A

1

14

5

A

A,1

B

7

8

5

B

D,5

C

6

9

4

C

D,4

D

4

11

2

D

D,2

Tabela de distâncias

destino

A

destino

D ()

Tabela de encaminhamento

Camada de Rede

4-19

Funcionamento do Algoritmo de Vector de Distâncias Iterativo, assíncrono:

cada iteração local causada

Cada nó:

por:



alteração do custo de linha local



mensagem dum nó vizinho: o menor custo a partir

espera por (mudança no custo local de uma linha ou mensagem de um vizinho)

desse vizinho para um destino mudou Distribuído:



recalcula tabela de distâncias

cada nó notifica os vizinhos apenas quando o seu menor custo para um destino muda



os vizinhos por sua vez

notificam os vizinhos se

se o custo mínimo para algum destino mudou, notifica vizinhos

necessário

Camada de Rede

4-20

Algoritmo de Vector de Distâncias: Em todos os nós, X:

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

Camada de Rede

4-21

Algoritmo de Vector de Distâncias (cont.):

8 ciclo 9 espera (até ver uma mudança de custo da linha para o vizinho V 10 ou até receber uma actualização do vizinho V) 11 12 se (c(X,V) muda de d) 13 /* muda o custo para todos os destinos via o vizinho V de d */ 14 /* nota: d pode ser positivo ou negativo */ 15 para todos os destinos y: D X(y,V) = DX(y,V) + d 16 17 senão se (recebeu actualização de V em relação ao destino Y) 18 /* o caminho mais curto de V para algum Y mudou */ 19 /* V enviou um novo valor para o seu min w DV(Y,w) */ 20 /* chame-se este novo valor recebido de "novovalor" */ 21 para o único destino y: D X(Y,V) = c(X,V) + novovalor 22 23 se temos um novo min w DX(Y,w) para algum destino Y 24 enviar o novo valor de min wD X(Y,w) para todos os vizinhos 25 4-22 26 parasempre Camada de Rede

Algoritmo de Vector de Distâncias: exemplo

2

X

Y

1

Z

7

Camada de Rede

4-23

Algoritmo de Vector de Distâncias: exemplo

2

X

Y

7

1

Z

Z

X

D (Y,Z) = c(X,Z) + minw{D (Y,w)} = 7+1 = 8 Y

X

D (Z,Y) = c(X,Y) + minw {D (Z,w)} = 2+1 = 3

Camada de Rede

4-24

Vector de Distâncias: alteração do custo de linhas

Alteração do custo de uma linha:



nó detecta alteração no custo local



actualiza a tabela de distâncias (linha 15)



se o custo do caminho de menor custo se

1 4

X

Y

1

Z

50

alterar, notifica os vizinhos (linhas 23,24)

algoritmo termina

“as boas notícias viajam depressa”

Camada de Rede

4-25

Vector de Distâncias: alteração do custo de linhas Alteração do custo de uma linha:



boas notícias viajam depressa



más notícias viajam devagar problema de “contagem para infinito”!

60 4

X

Y

50

1

Z

algoritmo continua!

Camada de Rede

4-26

Vector de Distâncias: poisoned reverse (envenenamento inverso) Se Z encaminha por Y para X :



60

Z diz a Y que a sua (de Z) distância para X é infinita (para que Y não encaminhe para

X

X via Z)



4

Y

1

50

Z

será que isto resolve completamente o problema da contagem para infinito?

algoritmo termina

Camada de Rede

4-27

Comparação dos algoritmos LS e DV Complexidade das mensagens



LS: com n nós, E linhas, cada nó envia O(nE) mensagens



DV: transfere mensagens apenas entre vizinhos



tempo de convergência varia

Velocidade de convergência



LS: algoritmo O(n ) requer O(nE) 2

mensagens





podem existir circuitos fechados



o router funciona mal ? LS:



nó pode anunciar custo da ligação incorrecto



cada nó calcula apenas a sua própria tabela

DV:



nó pode anunciar custo do caminho incorrecto

pode ter oscilações

DV: tempo de convergência varia



Robustez: o que acontece se



a tabela de cada nó é utilizada pelos restantes •

erros propagam-se pela rede

problema da contagem para infinito

Camada de Rede

4-28

Capítulo 4: Sumário 4.1 Introdução e Modelos de Serviço de Rede 4.2 Princípios de Encaminhamento 4.3 Encaminhamento Hierárquico 4.4 O Protocolo IP (Internet Protocol) 4.5 Encaminhamento na Internet 4.6 O que existe dentro de um Router 4.7 IPv6 4.8 Encaminhamento Multicast 4.9 Mobilidade

Camada de Rede

4-29

Encaminhamento hierárquico Estudo de encaminhamento até agora - ideal



todos os routers são idênticos



rede plana (“Flat”)

… não é verdade na prática escala: com 50 milhões de destinos:



não é possível armazenar todos os destinos nas

tabelas de encaminhamento



a transferência das tabelas de encaminhamento entupia

Autonomia administrativa



Internet = rede de redes



cada administrador de rede pode querer controlar o encaminhamento dentro da sua própria rede

as linhas!

Camada de Rede

4-30

Encaminhamento hierárquico





gateway routers

Agregação de routers em regiões, “autonomous



Routers especiais dum AS

systems” (AS)



Executam protocolo de

routing intra-domínio com

routers no mesmo AS

todos os outros routers do

usam o mesmo protocolo

mesmo AS

de encaminhamento





protocolo de

por encaminhar para o

encaminhamento intra-

exterior do domínio

domínio (“intra-AS”)



Também são responsáveis



routers em AS

executa o protocolo de encaminhamento inter-

diferentes podem usar

domínio (inter-AS

diferentes protocolos de

routing) com os outros

encaminhamento

gateways routers

Camada de Rede

4-31

Encaminhamento Intra-AS e Inter-AS C.b

Gateways:

B.a

•usam routing

A.a a

b

A.c

C d A

b

a B

a c

inter-domínio

c b

entre eles •usam routing intra-domínio com os restantes routers do AS

camada de rede encaminhamento inter-AS, intra-AS na gateway A.c

camada de ligação de dados

camada física

Camada de Rede

4-32

Encaminhamento intra e inter domínio Inter-AS routing

C.b

entre A.a

a

b

Host h1

A e B A.c

C

B.a Host

B

a d A

b

c

Intra-AS routing

h2

c

a

b

Intra-AS routing dentro de AS B

dentro de AS A



Veremos brevemente protocolos de encaminhamento inter-AS e intra-AS específicos da Internet

Camada de Rede

4-33

Capítulo 4: Sumário 4.1 Introdução e Modelos de Serviço de Rede 4.2 Princípios de Encaminhamento 4.3 Encaminhamento Hierárquico 4.4 O Protocolo IP (Internet Protocol)



4.4.1 Endereçamento IPv4



4.4.2 Enviando um datagrama da fonte para o destino



4.4.3 Formato de um Datagrama



4.4.4 Fragmentação IP



4.4.5 ICMP: Internet Control Message Protocol



4.4.6 DHCP: Dynamic Host Configuration Protocol



4.4.7 NAT: Network Address Translation

4.5 Encaminhamento na Internet 4.6 O que existe dentro de um Router 4.7 IPv6 4.8 Encaminhamento Multicast 4.9 Mobilidade

Camada de Rede

4-34

A camada de rede na Internet Funções da camada de rede num Sistema Terminal e num router:

Camada de transporte: TCP, UDP

Camada de rede

Protocolos de

Protocolo IP

encaminhamento

•convenções de endereços

•selecção de

•formato dos datagramas

caminhos

•processamento de pacotes

•RIP, OSPF, BGP

tabela de

encaminhamento

Protocolo ICMP •reporte de erros •“sinalização”

Camada de ligação de dados Camada física

Camada de Rede

4-35

Endereçamento IP: introdução ❒

Endereço IP :

❍ ❍

identificador de 32 bits para Sistemas Terminais e interfaces de routers



223.1.1.1

interface: ligação entre Sistemas Terminais,

223.1.2.1 223.1.1.2 223.1.1.4 223.1.1.3

223.1.2.9

223.1.3.27

223.1.2.2

Routers e a linha física



os routers têm múltiplas interfaces



os Sistemas Terminais

223.1.3.2

223.1.3.1

podem ter múltiplas interfaces



os endereços IP estão associadas às interfaces, não aos Sistemas Terminais ou aos routers

223.1.1.1 = 11011111 00000001 00000001 00000001 223

1

1 Camada de Rede

1 4-36

Endereçamento IP



223.1.1.1

Endereço IP:



parte da rede (bits mais

223.1.2.1 223.1.1.2 223.1.1.4

significativos)



parte do Sistema Terminal (host) (bits

223.1.1.3

menos significativos)



223.1.2.9

223.1.3.27

O que é uma rede ? (na

LAN

perspectiva do endereço IP)



223.1.2.2

223.1.3.2

223.1.3.1

dispositivos de interface com um valor comum para a parte do endereço IP

Rede constituída por 3 redes IP (para os

que identifica a rede



endereços IP que começam em 223, os

pode-se chegar aos vários nós de uma mesma

primeiros 24 bits são o endereço de rede)

rede sem intervenção do router

Camada de Rede

4-37

Endereçamento IP Como encontrar as redes?



223.1.1.4

desligar cada interface dum router,

223.1.9.2

computador



223.1.1.2 223.1.1.3

223.1.1.1

223.1.7.2

criar “ilhas” de redes isoladas

223.1.9.1

223.1.7.1 223.1.8.1

223.1.8.2

223.1.2.6 Sistema interligado

223.1.2.1

223.1.3.27 223.1.2.2

223.1.3.1

223.1.3.2

constituído por 6 redes

Camada de Rede

4-38

Endereços IP Dada a noção de rede, vamos reexaminar o endereço IP: endereçamento em classes (“class-full” addressing): classe A

0 rede

B

10

C

110

D

1110

1.0.0.0 até

host

rede

127.255.255.255 128.0.0.0 até

host

rede

191.255.255.255

host

endereço multicast

32 bits

192.0.0.0 até 223.255.255.255 224.0.0.0 até 239.255.255.255

Classe

Redes

#

A

2

7

2

24

B

2

14

2

16

C

2

21

2

8

Camada de Rede

4-39

Endereçamento IP: CIDR



Endereçamento em classes (classful):



Uso ineficiente do espaço de endereçamento, falta de endereços disponíveis



e.g., uma rede de classe B reserva 65K endereços para os

sistemas terminais, mesmo que na realidade só existam 2K !



CIDR: Classless InterDomain Routing



A parte do endereço que identifica a rede tem um tamanho arbitrário



Formato do endereço : a.b.c.d/x, em que x representa o nº de bits do endereço que representam a rede Parte da rede

Parte do ST

11001000 00010111 00010000 00000000 200.23.16.0/23

Endereço/prefixo Camada de Rede

4-40

Endereços IP: Como se obtém um ? Q: Como um

Sistema Terminal obtém um

endereço IP?



configurado pelo administrador do sistema num ficheiro



Wintel: painel de controlo->rede->configuração-> tcp/ip->propriedades->Endereço IP





UNIX: /etc/rc.config

DHCP: Dynamic Host Configuration Protocol: obtém endereço dinamicamente de um servidor



“plug-and-play”

(mais em breve) Camada de Rede

4-41

Endereços IP: Como se obtém um ? Q: Como uma rede obtém a parte da rede do endereço IP? R: obtém uma parte do espaço de endereços do seu ISP

Bloco do ISP

11001000 00010111 00010000 00000000

200.23.16.0/20

Organização 0 Organização 1 Organização 2 ... Organização 7

11001000 00010111 00010000 00000000 11001000 00010111 00010010 00000000 11001000 00010111 00010100 00000000 ….. …. 11001000 00010111 00011110 00000000

200.23.16.0/23 200.23.18.0/23 200.23.20.0/23 …. 200.23.30.0/23

8 blocos de igual dimensão Camada de Rede

4-42

Endereçamento hierárquico: agregação de rotas

O endereçamento hierárquico permite o anúncio eficiente da informação de encaminhamento

Organização 0

200.23.16.0/23 “Envia-me quaisquer pacotes com

Organização 1

endereços começados por

200.23.18.0/23 Organização 2

200.23.20.0/23

Organização 7

. . .

200.23.16.0/20”

. . .

Fly-By-Night-ISP Internet

200.23.30.0/23 ISPs-R-Us

“Envia-me quaisquer pacotes com endereços começados por 199.31.0.0/16”

Camada de Rede

4-43

Endereçamento hierárquico: rotas mais específicas ISPs-R-Us tem uma rota mais específicas para a Organização 1 Organização 0

200.23.16.0/23 “Envia-me quaisquer pacotes com

Organização 1

endereços começados por

200.23.18.0/23 Organização 2

200.23.20.0/23

Organização 7

. . .

200.23.16.0/20”

. . .

Fly-By-Night-ISP Internet

200.23.30.0/23 ISPs-R-Us Organização 1

200.23.18.0/23

“Envia-me quaisquer pacotes com endereços começados por 199.31.0.0/16 ou 200.23.18.0/23”

Quando se envia um pacote destinado à organização 1, a selecção do ISP realiza-se comparando com o maior prefixo Camada de Rede

4-44

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

Q: Como um ISP obtém um bloco de endereços? R: ICANN: Internet Corporation for Assigned Names and Numbers





atribui endereços



gere o DNS



atribui nomes de domínios, resolve disputas

Actualmente há três instituições regionais:



ARIN “American Registry for Internet Number”



RIPE “Reseaux IP Europeans”



APNIC “Asia Pacific Network Information Center” Camada de Rede

4-45

Datagrama IP: da origem para o destino Tabela de Encaminhamento de A

Rede destino prox. router #saltos 223.1.1.0/24 223.1.2.0/24 223.1.3.0/24

Datagrama IP: misc fields



source

dest

IP addr IP addr

data

A

datagrama mantém-se



campos de endereço com interesse para esta análise

223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4

inalterado quando viaja da origem para o destino

223.1.1.4 223.1.1.4

1 2 2

223.1.2.9

B

223.1.1.3 223.1.3.1

223.1.3.27

223.1.2.2

E

223.1.3.2

Camada de Rede

4-46

Datagrama IP: da origem para o destino tabela de encaminhamento de A misc fields

Rede destino prox. router #saltos

223.1.1.1 223.1.1.3 data

223.1.1.0/24 223.1.2.0/24 223.1.3.0/24

Iniciando em A, como enviar um datagrama IP para B ? procura a parte de endereço da



A

rede de B na tabela

223.1.1.2 223.1.1.4

rede que A

223.1.2.9

B

a camada de ligação de dados



223.1.1.1 223.1.2.1

descobre que B está na mesma



223.1.1.4 223.1.1.4

1 2 2

envia o datagrama directamente

223.1.1.3

223.1.3.27

223.1.2.2

para B através de uma trama da camada de ligação de dados



E

223.1.3.2

223.1.3.1

B e A estão directamente ligados Camada de Rede

4-47

Datagrama IP: da origem para o destino misc fields

223.1.1.1 223.1.2.2

data

Começando em A, destino E:



procura a parte de endereço da rede de E na tabela



E pertence a outra rede



A e E não estão

tabela de encaminhamento de A

Rede destino prox. router #saltos 223.1.1.0/24 223.1.2.0/24 223.1.3.0/24 A

directamente ligados



223.1.1.4



223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4

tabela de encaminhamento: próximo router para E é

223.1.1.4 223.1.1.4

1 2 2

223.1.2.9

B

223.1.1.3

223.1.3.27

223.1.2.2

a camada de ligação de dados envia o datagrama para o

223.1.3.1

E

223.1.3.2

223.1.1.4 dentro duma trama



datagrama chega a 223.1.1.4



continua...

Camada de Rede

4-48

Datagrama IP: da origem para o destino tabela de encaminhamento do router misc fields

prox. rede dest. router #saltos interface

data

223.1.1.1 223.1.2.2

223.1.1 223.1.2 223.1.3

Datagrama chega a 223.1.4, destinado a 223.1.2.2



analisar a parte de endereço da

A

rede de E na tabela do router



1 1 1

E está na mesma rede que a

223.1.3.27

223.1.2.1 223.1.1.2 223.1.1.4

223.1.2.9



223.1.1.4 223.1.2.9

223.1.1.1

interface do router que tem o IP

223.1.2.9

B

router e E estão directamente ligados



-

223.1.1.3

a camada de ligação de dados envia o datagrama para o

223.1.3.27

223.1.3.1

223.1.2.2

E

223.1.3.2

223.1.2.2 dentro duma trama através da interface 223.1.2.9



datagrama chega a 223.1.2.2!!!

Camada de Rede

(Hurra!)

4-49

Formato do datagrama IP Nº de versão do

dimensão do cabeçalho (bytes) “tipo” de dados Nº máximo de hops a visitar (decrementado em cada router) protocolo da camada superior a quem se destinam os dados

overhead no TCP?



20 bytes de TCP



20 bytes de IP



= 40 bytes + overhead da apl.

dimensão total

32 bits

Protocolo IP ver

head. type of len

service

16-bit identifier flgs time to live

upper layer

do datagrama length fragment offset

Internet

(bytes) para fragmentação/ reassemblagem

checksum

32 bit source IP address 32 bit destination IP address Opções (se existirem)

dados (tamanho variável, tipicamente um

E.g. timestamp, Armazena a rota tomada, lista de routers a visitar

segmento TCP ou UDP)

Camada de Rede

4-50

Fragmentação e reassemblagem em IP ❒

Linhas da rede têm MTU (max. transfer unit) – dimensão máxima das tramas da camada de ligação de dados.



fragmentação

linhas diferentes têm

in: 1 datagrama grande

MTUs diferentes



out: 3 datagramas pequenos

datagramas IP grandes são divididos (“fragmentados”) na rede



reassemblagem

Um datagrama transforma-se em vários datagramas



“reassemblados” apenas no destino final



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

Camada de Rede

4-51

Fragmentação e reassemblagem em IP length

Exemplo



datagrama de 4000 bytes



=4000

ID fragflag offset =x

MTU = 1500 bytes

Valor mínimo do MTU suportado é de 576 bytes



=0

Um datagrama grande transforma-se em 3 pequenos

length



=0

Se a dimensão máxima dos dados num segmento TCP

=1500 length =1500

length =1040

ID fragflag offset =x

=1

=0

ID fragflag offset =x

=1

=1480

ID fragflag offset =x

=0

=2960

for de 536 bytes, a fragmentação pode ser eliminada Camada de Rede

4-52

ICMP: Internet Control Message Protocol



Utilizado pelos sistemas terminais, routers e gateways para transferir informação de controlo de nível de rede



reporte de erros: endereço, rede, porto, protocolo não atingível



pedido/resposta de eco (usado pelo ping)



Camada de rede “acima” do IP:



msgs ICMP transportadas em datagramas IP



mensagem ICMP: tipo, código mais primeiros 8 bytes do datagrama IP que causou o

tipo código descrição 0 0 echo reply (ping) 3 0 dest. network unreachable 3 1 dest. host unreachable 3 2 dest. protocol unreachable 3 3 dest. port unreachable 3 6 dest. network unknown 3 7 dest. host unknown 4 0 source quench (congestion control - not used) 8 0 echo request (ping) 9 0 router advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header

erro Camada de Rede

4-53

DHCP: Dynamic Host Configuration Protocol Objectivo: permitir que um sistema terminal obtenha dinamicamente o seu endereço IP de um servidor da rede quando se liga à rede Pode renovar o empréstimo de um endereço em uso Permite reutilização de endereços (apenas mantém o endereço quando está ligado) Suporta utilizadores móveis que queiram ligar-se à rede (mais em breve)

Resumo do DHCP:



sistema terminal envia msg em difusão “DHCP discover”



servidor de DHCP responde com msg “DHCP offer”



sistema terminal pede endereço IP: msg “DHCP request”



servidor DHCP envia endereço: msg “DHCP ack” Camada de Rede

4-54

Cenário cliente/servidor DHCP

A

servidor DHCP

223.1.1.1

223.1.1.2 223.1.1.4

223.1.2.1

223.1.2.9

B

223.1.2.2 223.1.1.3

223.1.3.27

223.1.3.1

E

223.1.3.2

cliente DHCP: à chegada precisa de obter um endereço nesta rede

Camada de Rede

4-55

Cenário cliente/servidor DHCP servidor DHCP: 223.1.2.5

DHCP discover

cliente que chega

src : 0.0.0.0, 68 dest.: 255.255.255.255,67 yiaddr: 0.0.0.0 transaction ID: 654

UDP porto 67

DHCP offer src: 223.1.2.5, 67 dest: 255.255.255.255, 68 yiaddr: 223.1.2.4 transaction ID: 654 Lifetime: 3600 secs

L.M NOPODQ RJSTUV WXY Z\[XZY^]_P_D[Z` `

DHCP request

F GHJIK

src: 0.0.0.0, 68 dest:: 255.255.255.255, 67 yiaddr: 223.1.2.4 transaction ID: 655 Lifetime: 3600 secs DHCP ACK src: 223.1.2.5, 67 dest: 255.255.255.255, 68 yiaddr: 223.1.2.4 transaction ID: 655 Lifetime: 3600 secs Camada de Rede

4-56

NAT: Network Address Translation

resto da

rede local

Internet

(e.g., rede de casa) 10.0.0/24

10.0.0.4

10.0.0.1

10.0.0.2

138.76.29.7

10.0.0.3

Todos os datagramas ao deixar a

Datagramas com origem ou

rede local têm o mesmo endereço IP

destino nesta rede têm

de origem (do NAT): 138.76.29.7, mas diferentes números de porto de origem

endereços 10.0.0/24 para origem, destino (como habitual)

Camada de Rede

4-57

NAT: Network Address Translation



Motivação: do ponto de vista do mundo exterior, a rede local usa apenas um endereço IP:



não há necessidade de reservar uma gama de endereços do ISP: apenas um endereço IP é utilizado para todos os equipamentos



pode-se modificar os endereços dos equipamentos da rede local sem notificar o mundo exterior



pode-se mudar de ISP sem mudar endereços na rede local



equipamentos dentro da rede local não são directamente endereçáveis, visíveis pelo mundo exterior (um ganho de segurança). Camada de Rede

4-58

NAT: Network Address Translation Implementação: um router NAT deve:



datagramas que saem: substituir (endereço IP de origem, #porto) de cada datagrama que sai por (endereço IP do NAT, novo #porto)

. . . clientes/servidores remotos responderão usando como endereço de destino (endereço IP do NAT, novo #porto).



guardar (na tabela de tradução NAT) todos os pares de tradução (endereço IP de origem, #porto) (endereço IP do NAT, novo #porto)



para

datagramas de entrada: substituir (endereço IP do NAT, novo #porto) nos campos de destino de cada datagrama que chega, o valor correspondente de

(endereço IP de origem, #porto) guardado na tabela do NAT

Camada de Rede

4-59

NAT: Network Address Translation

2: router NAT muda endereço de origem do datagrama de 10.0.0.1, 3345 para

tabela de tradução NAT endereço público

ender. privado

138.76.29.7, 5001

10.0.0.1, 3345

……

1: PC 10.0.0.1 envia datagrama para 128.119.40.186, 80

……

138.76.29.7, 5001,

S: 10.0.0.1, 3345

actualiza tabela

D: 128.119.40.186, 80

2

S: 138.76.29.7, 5001 D: 128.119.40.186, 80

138.76.29.7 S: 128.119.40.186, 80 D: 138.76.29.7, 5001

3: Chega resposta endereço destino: 138.76.29.7, 5001

3

1

10.0.0.1

10.0.0.4

S: 128.119.40.186, 80 D: 10.0.0.1, 3345

10.0.0.2

4 10.0.0.3

4: router NAT muda endereço de destino do datagrama de

138.76.29.7, 5001 para 10.0.0.1, 3345

Camada de Rede

4-60

NAT: Network Address Translation



campo número de porto de 16 bits:



60,000 ligações simultâneas com um único endereço público!



A tradução de endereços de NAT é controversa:



os routers deviam processar apenas até à camada 3 (de rede)



viola o argumento extremo a extremo •

a possibilidade de NAT tem de ser levada em conta pelos programadores de aplicações, eg, aplicações P2P



a escassez de endereços devia ser resolvida antes pelo IPv6

Camada de Rede

4-61

Capítulo 4: Sumário 4.1 Introdução e Modelos de Serviço de Rede 4.2 Princípios de Encaminhamento 4.3 Encaminhamento Hierárquico 4.4 O Protocolo IP (Internet Protocol) 4.5 Encaminhamento na Internet



4.5.1 Intra-AS routing: RIP e OSPF



4.5.2 Inter-AS routing: BGP

4.6 O que existe dentro de um Router 4.7 IPv6 4.8 Encaminhamento Multicast 4.9 Mobilidade Camada de Rede

4-62

Encaminhamento na Internet



A Internet Global consiste de Sistemas Autónomos (AS, Autonomous Systems) interligados entre si:



Stub AS: pequenas empresas: uma ligação a outros AS’s



Multihomed AS: grandes empresas: múltiplas ligações a outros AS’s (sem tráfego de trânsito)





Transit AS: fornecedor, ligando muitos AS’s

Encaminhamento em dois níveis:



Intra-AS: cada administrador é responsável pela escolha do algoritmo de encaminhamento dentro da rede



Inter-AS: standard único para encaminhamento inter-AS: BGP

Camada de Rede

4-63

Hierarquia de AS’s da Internet routers Inter-AS (gateway exterior)

routers Intra-AS (gateway interior)

Camada de Rede

4-64

Encaminhamento Intra-AS



Também conhecidos como protocolos Interior Gateway Protocols (IGP)



Protocolos de encaminhamento Intra-AS mais comuns:



RIP: Routing Information Protocol



OSPF: Open Shortest Path First



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

Camada de Rede

4-65

RIP ( Routing Information Protocol)



Algoritmo de vector de distâncias



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



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





Consegue adivinhar porquê?

Vectores de distâncias: trocados entre vizinhos cada 30 seg via “Response Message” (também chamada anúncio - advertisement)



Cada “anúncio”: lista até 25 redes de destino dentro do AS

Camada de Rede

4-66

RIP: Exemplo z w

x

A

y

D

B

C Rede de Destino

Próximo Router

#saltos para destino

w

A

2

y

B

2

z

B

7

x

--

1

….

….

....

Tabela de encaminhamento em D Camada de Rede

4-67

RIP: Exemplo Destino

Próx. saltos

w

-

-

x

-

-

z

C

4

….

…

...

w

Anúncio de A para D

z x

A

y

D

B

C Rede de Destino

Próximo Router

#saltos para destino

w

A

2

y

B

2

z

B A

7 5

x

--

1

….

….

....

Tabela de encaminhamento em D

Camada de Rede

4-68

RIP: Falha de Linha e Recuperação Se nenhum anúncio é recebido em 180 seg --> vizinho/linha declarado morto



caminhos via vizinho invalidados



novos anúncios enviados para vizinhos



vizinhos por sua vez enviam novos anúncios (se as tabelas tiverem mudado)



informação de falha de linha rapidamente se propaga a toda a rede



poison reverse utilizado para evitar ciclos de pingpong (distância infinita = 16 saltos)

Camada de Rede

4-69

RIP: Processamento de Tabelas



As tabelas de encaminhamento do RIP são geridas por um processo de nível aplicação chamado route-d (daemon)



anúncios enviados em pacotes UDP, repetidos periodicamente routed

routed

Transporte

Transporte

(UDP) rede (IP) lig. dados físico

(UDP) tabela de

tabela de

expedição

expedição

rede (IP) lig. dados físico

Camada de Rede

4-70

RIP: Exemplo de Tabela 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



Três redes de classe C ligadas (LANs)



O router apenas conhece caminhos para LANs adjacentes



Router “default” utilizado para “subir”



Endereço multicast: 224.0.0.0



Interface “loopback” (para debugging) Camada de Rede

4-71

OSPF (Open Shortest Path First)



“open” - “aberto”: especificação pública



Usa algoritmo de estado das ligações





disseminação de pacotes de estado das ligações (“LS packet”)



mapa da topologia em cada nó



cálculo de caminhos pelo algoritmo de Dijkstra

Os anúncios OSPF transportam uma entrada por router vizinho



Anúncios disseminados para toda a AS (por inundação)



transportados em mensagens OSPF directamente sobre o IP (em vez de TCP ou UDP)

Camada de Rede

4-72

OSPF: funcionalidades “avançadas” (inexistentes no RIP)



Segurança: todas as mensagens OSPF autenticadas (para evitar intrusão maliciosa)



Permite múltiplos caminhos de igual custo (apenas um caminho no RIP)



Para cada linha, múltiplas métricas de custos para diferentes TOS (e.g., custo de ligações satélite “baixo” para melhor esforço; alto para tempo real)



Suporte integrado de uni- e multicast:



Multicast OSPF (MOSPF) usa a mesma base de dados de topologia que o OSPF



OSPF Hierárquico em domínios grandes. Camada de Rede

4-73

Camada de Rede

4-74

OSPF hierárquico

OSPF hierárquico



Hierarquia de dois níveis: área local, núcleo da rede (“backbone”).



anúncios de estado das ligações apenas na área



cada nó tem a topologia detalhada da área; apenas sabe a direcção (caminho mais curto) para redes noutras áreas.



Area border routers: “resumem” distâncias para redes na sua própria área, anunciam para outros “Area Border routers”.



Backbone routers: usam encaminhamento OSPF limitado ao núcleo da rede.



Boundary routers: ligam a outros AS’s. Camada de Rede

4-75

Encaminhamento Inter-AS na Internet: BGP R4 R5

R3

AS1

BGP

AS2

(encaminhamento

AS3

(encaminhamento OSPF intra-AS)

BGP

RIP intra-AS)

R1

R2 (encaminhamento OSPF intra-AS)

Camada de Rede

4-76

Encaminhamento Inter-AS na Internet: BGP



BGP (Border Gateway Protocol): o standard de facto



Protocolo de Vector de Caminhos:



semelhante ao protocolo de Vector de Distâncias



cada “Border Gateway” difunde para os vizinhos (pares) o caminho completo (i.e., sequência de AS’s) para o destino



BGP encaminha para redes (ASs), não para destinos individuais



E.g., Gateway X pode enviar o seu caminho para o destino Z:

Caminho (X,Z) = X,Y1,Y2,Y3,…,Z Camada de Rede

4-77

Encaminhamento Inter-AS na Internet: BGP

Suponha: gateway X envia o seu caminho para o seu gateway par W



W pode ou não seleccionar o caminho oferecido por X



custo, política (não encaminhar via AS da competição), para evitar ciclos.



Se W selecciona o caminho anunciado por X, então: Caminho (W,Z) = w, Caminho (X,Z)



Nota: X pode controlar o tráfego que recebe controlando os seus anúncios de caminhos para os seus pares:



e.g., não quer encaminhar tráfego para Z -> não anuncia caminhos para Z Camada de Rede

4-78

BGP: controlando quem encaminha para si

legenda:

B

W

rede de fornecedor

X A

rede de cliente

C

Y



A,B,C são redes de fornecedores



X,W,Y são clientes (das redes dos fornecedores)



X é dual-homed: ligado a duas redes



X não quer encaminhar de B via X para C



.. então X não anuncia a B caminhos para C

Camada de Rede

4-79

BGP: controlando quem encaminha para si

legenda:

B

W

rede de fornecedor

X A

rede de cliente

C

Y



A anuncia para B o caminho AW



B anuncia para X o caminho BAW



Deve B anunciar para C o caminho BAW?



De maneira nenhuma! B não “lucra” por encaminhar CBAW pois nem W nem C são clientes de B



B quer forçar C a encaminhar para W via A



B quer encaminhar apenas para/de os seus clientes! Camada de Rede

4-80

BGP: funcionamento Q: O que faz um router BGP ?



Recebe e filtra anúncios de caminhos de vizinhos directamente ligados.



Selecciona caminhos.



Para encaminhar para o destino X, que caminho (dos vários anunciados) será tomado?



Envia anúncios de caminhos para os vizinhos.

Camada de Rede

4-81

BGP: mensagens



Mensagens BGP trocadas por TCP.



Mensagens BGP:



OPEN: abre ligação TCP para o par e autentica o emissor



UPDATE: anuncia novo caminho (ou retira antigo)



KEEPALIVE: mantém ligação activa na ausência de UPDATES; também confirma pedido OPEN



NOTIFICATION: reporta erros nas mensagens anteriores; também utilizado para fechar a ligação

Camada de Rede

4-82

Porquê diferentes protocolos Intra- and Inter-AS ?

Política:



Inter-AS: administrador quer controlar como o seu tráfego é encaminhado, quem encaminha pela sua rede.



Intra-AS: único administrador, pelo que não são necessárias decisões políticas

Escala:



encaminhamento hierárquico poupa na dimensão das tabelas, reduz tráfego de actualizações

Desempenho:



Intra-AS: pode focar-se no desempenho



Inter-AS: política pode dominar sobre desempenho Camada de Rede

4-83

Capítulo 4: Sumário 4.1 Introdução e Modelos de Serviço de Rede 4.2 Princípios de Encaminhamento 4.3 Encaminhamento Hierárquico 4.4 O Protocolo IP (Internet Protocol) 4.5 Encaminhamento na Internet 4.6 O que existe dentro de um Router 4.7 IPv6 4.8 Encaminhamento Multicast 4.9 Mobilidade

Camada de Rede

4-84

Arquitectura de um Router: Sumário Duas funções chave de um router:



execução de algoritmos/protocolo de encaminhamento (RIP, OSPF, BGP)



comutação de datagramas das linhas de entrada para as linhas de saída

Camada de Rede

4-85

Funções dos Portos de Entrada

Camada física: recepção do nível do bit

Comutação descentralizada:



porto de saída utilizando a tabela de

Camada de

encaminhamento na memória do porto de entrada

Ligação de Dados: e.g., Ethernet

dado o destino de um datagrama, procurar o



ver capítulo 5

objectivo: completar o processamento do porto de entrada ao ‘ritmo da linha’



fila de espera: se os datagramas chegarem mais depressa que o ritmo de envio para a malha de comutação

Camada de Rede

4-86

Fila de espera no porto de entrada



Malha de comutação mais lenta que os portos de entrada combinados -> podem ocorrer filas de espera nas entradas



Bloqueio “Head-of-the-Line (HOL)”: o datagrama na primeira posição da fila impede os outros de avançar



atrasos na fila e perdas quando transborda!

Camada de Rede

4-87

Três arquitecturas de comutação

Camada de Rede

4-88

Comutação pela Memória Routers de primeira geração:



pacotes copiados pela (única) CPU do sistema



velocidade limitada pela largura de banda da memória

(2 passagens no bus por datagrama)

Memória

Porto de Entrada

Porto de Saída

Bus do Sistema Routers modernos:



o processador do porto de entrada consulta a tabela,

copia para a memória



Cisco Catalyst 8500

Camada de Rede

4-89

Camada de Rede

4-90

Comutação por um Bus



o datagrama passa da memória do porto de entrada para a memória do porto de saída por um bus partilhado



contenção no bus:

velocidade de

comutação limitada pela largura de banda do bus



Cisco 1900, bus de 1 Gbps: velocidade suficiente para routers empresariais e de acesso (não para regionais ou do núcleo da rede)

Comutação por uma malha de interligação



Ultrapassa as limitações de largura de banda do bus



Redes de Banyan, outras redes de interligação inicialmente desenvolvidas para interligar processadores num ambiente multiprocessador



Estrutura avançada: fragmentação de datagramas em células de tamanho fixo, comutação de células



Cisco 12000: comuta Gbps através de uma rede de interligação

Camada de Rede

4-91

Funções dos Portos de Saída



Armazenamento necessário quando os datagramas chegam da malha de comutação a um ritmo superior ao ritmo de transmissão de saída



Disciplina de Serviço escolhe o datagrama, de entre os que estão na fila, para transmitir a seguir Camada de Rede

4-92

Fila de espera no porto de saída



armazenamento quando o ritmo de chegada pela malha de comutação excede o ritmo da linha de saída



atrasos na fila e perdas quando a fila espera de saída transborda!

Camada de Rede

4-93

Capítulo 4: Sumário 4.1 Introdução e Modelos de Serviço de Rede 4.2 Princípios de Encaminhamento 4.3 Encaminhamento Hierárquico 4.4 O Protocolo IP (Internet Protocol) 4.5 Encaminhamento na Internet 4.6 O que existe dentro de um Router 4.7 IPv6 4.8 Encaminhamento Multicast 4.9 Mobilidade

Camada de Rede

4-94

IPv6



Motivação Inicial: espaço de endereços de 32-bits completamente atribuído em 2008.



Motivações Adicionais:



o formato do cabeçalho pode ajudar a acelerar o processamento/encaminhamento dos pacotes



modificar cabeçalho para facilitar QoS



novo endereço “anycast”: encaminhar para o “melhor” de vários servidores replicados



Formato do datagrama IPv6:



cabeçalho de tamanho fixo de 40 bytes



não é permitida fragmentação Camada de Rede

4-95

Cabeçalho dos pacotes IPv6 Classe de Tráfego: identifica a prioridade de um datagrama num fluxo Flow Label: identifica os datagramas de um mesmo fluxo. (o conceito de “fluxo” não está bem definido).

Next header: identifica o protocolo da camada superior que processa os dados

Camada de Rede

4-96

Outras modificações em relação ao IPv4



Checksum: removido para reduzir o tempo de processamento em cada nó



Opções: permitidas, mas fora do cabeçalho, indicado pelo campo “Next Header”, como se se tratasse de um protocolo de nível superior



ICMPv6: nova versão do ICMP



novos tipos de mensagens, e.g. “Packet Too Big”



funções de gestão de grupos multicast

Camada de Rede

4-97

Transição de IPv4 para IPv6



Nem todos os routers podem ser actualizados simultaneamente



Não é possível definir um “dia 1” para o IPv6



Como vai funcionar a rede com uma mistura de routers IPv4 e IPv6?



Duas abordagens possíveis:



Pilha Dupla (Dual Stack): alguns routers com pilha dupla (v6, v4) podem “traduzir” entre formatos



Túneis (Tunneling): IPv6 transportado como dados em datagramas IPv4 nos routers IPv4

Camada de Rede

4-98

Pilha Dupla B

C

D

IPv6

IPv6

IPv4

IPv4

Flow: X

Src:A

Src: A

Dest: F

Dest: F

dados



IPv6

Src:A Dest: F

dados

dados

A-para-B:

B-para-C:

IPv6

IPv4

F

E

A

IPv6

Flow: ?? Src: A Dest: F

dados

B-para-C: B-para-C: IPv6

IPv4

Informação específica de IPv6, que não existe em IPv4, perde-se.



Como preservá-la? Camada de Rede

4-99

Túnel (Tunneling) Visão Lógica:

Visão Física:

A

B

IPv6

IPv6

IPv6

B

C

D

IPv6

IPv6

IPv4

IPv4

Src: A Dest: F

dados

A-para-B: IPv6

IPv6

F

E

A

Flow: X

F

E

túnel

IPv6

Src:B

Src:B

Dest: E

Dest: E

Flow: X

Flow: X

Src: A

Src: A

Dest: F

Dest: F

dados

dados

B-para-C:

B-para-C:

IPv6 dentro

IPv6 dentro

de IPv4

de IPv4

IPv6

Flow: X Src: A Dest: F

dados

E-para-F: IPv6

Camada de Rede

4-100

Capítulo 4: Sumário 4.1 Introdução e Modelos de Serviço de Rede 4.2 Princípios de Encaminhamento 4.3 Encaminhamento Hierárquico 4.4 O Protocolo IP (Internet Protocol) 4.5 Encaminhamento na Internet 4.6 O que existe dentro de um Router 4.7 IPv6 4.8 Encaminhamento Multicast 4.9 Mobilidade

Camada de Rede

4-101

Multicast: um emissor para muitos receptores



Multicast (Difusão): acto de enviar um datagrama para múltiplos receptores com uma única operação de “transmissão”





analogia: um professor para muitos estudantes

Questão: como conseguir o multicast ?

Multicast via unicast



fonte envia N datagramas unicast, um para cada um dos N receptores

routers encaminham datagramas unicast

receptor multicast (vermelho) não é receptor multicast (não vermelho) Camada de Rede

4-102

Multicast: um emissor para muitos receptores



Multicast (Difusão): acto de enviar um datagrama para múltiplos receptores com uma única operação de “transmissão”





analogia: um professor para muitos estudantes

Questão: como conseguir o multicast ?

Multicast na rede



Os routers participam activamente no multicast, fazendo cópias dos pacotes à medida do necessário e

Routers

encaminhando-os para os

Multicast (vermelho) duplicam e

receptores multicast

encaminham datagramas multicast

Camada de Rede

4-103

Multicast: um emissor para muitos receptores



Multicast (Difusão): acto de enviar um datagrama para múltiplos receptores com uma única operação de “transmissão”





analogia: um professor para muitos estudantes

Questão: como conseguir o multicast ?

Multicast na Aplicação



os sistemas envolvidos no multicast copiam e enviam datagramas unicast entre eles

Camada de Rede

4-104

Modelo do Serviço Multicast na Internet 128.59.16.12

128.119.40.186

grupo

128.34.108.63

multicast 226.17.30.197 128.34.108.60

conceito de grupo multicast: uso de indirecção



máquinas endereçam datagramas IP para o grupo multicast



os routers encaminham os datagramas multicast para as máquinas que se “juntaram” ao grupo multicast Camada de Rede

4-105

Grupos Multicast q endereços Internet de classe D reservados para multicast:

q semântica de um grupo: o qualquer um pode “juntar-se” ao grupo multicast (receber)

o qualquer um pode enviar para o grupo multicast o os membros do grupo não conhecem a identificação dos outros membros através da camada de rede

q necessário: infra-estrutura para entregar datagramas com destino multicast a todas as máquinas que se juntaram ao grupo multicast

Camada de Rede

4-106

Juntar-se a um grupo multicast: duas fases



local: máquina informa o router multicast local que quer

juntar-se ao grupo: IGMP (Internet Group Management Protocol)



área alargada: router local interage com os outros

routers para receber o fluxo de datagramas multicast



muitos protocolos (e.g., DVMRP, MOSPF, PIM) IGMP

IGMP encaminhamento

multicast

de área alargada

IGMP

Camada de Rede

4-107

IGMP: Internet Group Management Protocol



máquina: envia “report” IGMP quando a aplicação se junta ao grupo multicast



opção dos sockets IP_ADD_MEMBERSHIP



a máquina não precisa de explicitamente “sair” do grupo quando termina (soft-state)



router: envia “query” IGMP a intervalos regulares



máquinas pertencendo ao grupo multicast têm de responder ao “query”

query

report

Camada de Rede

4-108

IGMP IGMP versão 1



router: mensagem

“Host Membership

Query” difundida na LAN para todas as

IGMP v2: adições incluem:



“Query” específico do grupo



mensagem para sair do grupo



“Query” pode enviar uma

máquinas



máquina: mensagem “Host Membership

mensagem explícita para sair do grupo





atraso aleatório antes da resposta



saída implícita ao não

router envia “query” específico do grupo para ver se alguma

Report” para indicar

participação no grupo

última máquina a responder ao

máquina saiu do grupo



RFC 2236

IGMP v3: em desenvolvimento como Internet draft

responder ao “Query”



RFC 1112

Camada de Rede

4-109

Encaminhamento Multicast: O Problema



Objectivo: encontrar uma árvore (ou árvores) que ligue os routers com membros locais de grupos multicast



árvore: nem todos os caminhos entre routers são usados



baseado na fonte: árvore diferente para cada emissor



árvore partilhada: a mesma árvore utilizada por todos os membros do



receptores

grupo

árvore partilhada

árvores baseadas na fonte

Camada de Rede

4-110

Abordagens para construir árvores multicast



árvore baseada na fonte (source-based tree): uma árvore por fonte



árvores de caminho mais curto



expedição pelo caminho inverso (reverse path forwarding)



árvore partilhada (group-shared tree): o grupo usa uma árvore



custo mínimo (Steiner)



árvores baseadas num centro

…primeiro vemos as abordagens básicas, depois protocolos específicos adoptando estas abordagens

Camada de Rede

4-111

Árvore de caminho mais curto



árvore de encaminhamento multicast: árvore

dos caminhos mais curtos da fonte para todos os destinos



algoritmo de Dijkstra

F: fonte

LEGENDA

R1

2

1

R4

R2 3

R3

router com membro do grupo lá ligado

5 4

lá ligados

R5 6

R6

router sem membros do grupo

R7

i

linha usada para encaminhar,

i indica a ordem de adição da linha pelo algoritmo

Camada de Rede

4-112

Expedição pelo caminho inverso (Reverse Path Forwarding)

q baseia-se no conhecimento pelo router dos

caminhos unicast mais curtos de si para o emissor

q cada router tem um comportamento simples: se (o datagrama multicast foi recebido pela

linha de entrada correspondente ao caminho mais curto de retorno ao emissor)

então envia o datagrama para todas as linhas

de saída (inundação - flooding), excepto a linha por onde recebeu o datagrama

senão ignora o datagrama

Camada de Rede

4-113

Expedição pelo caminho inverso: exemplo F: fonte

LEGENDA

R1

R4

router com membro do grupo lá ligado

R2 R5 R3

R6

R7

router sem membros do grupo lá ligados

datagrama será reenviado datagrama não será reenviado

•

resulta numa árvore de caminho mais curto inversa específica da fonte –

pode ser uma má opção com linha assimétricas Camada de Rede

4-114

Expedição pelo caminho inverso: poda



árvore de encaminhamento contém subárvores sem membros do grupo multicast



não é necessário transmitir os datagramas para essa subárvore



mensagens de poda (“prune”) enviadas no sentido ascendente pelos routers sem membros do grupo para baixo LEGENDA

F: fonte R1

router com membro do

R4

R2

grupo lá ligado

router sem membros do

P R5

P

P

R3

R6

R7

grupo lá ligados

mensagem de poda (prune) linha com encaminhamento multicast

Camada de Rede

4-115

Árvore Partilhada: Árvore de Steiner



Árvore de Steiner: árvore de custo mínimo

interligando todos os routers com membros do grupo ligados



o problema é NP-completo



existem excelentes heurísticas



não utilizado na prática:



complexidade computacional



necessária informação sobre toda a rede



monolítico: executar novamente sempre que um router necessita de se juntar/sair

Camada de Rede

4-116

Árvores baseadas num centro



única árvore de entrega partilhada por todos



um router identificado como“centro” da árvore



para se juntar:



o router de periferia envia uma mensagem unicast

para se juntar (“join-msg”) endereçada ao router que é o centro



a join-msg é “processada” pelos routers intermédios e encaminhada para o centro



a join-msg chega a um ramo da árvore já existente para este centro, ou chega ao centro



o caminho seguido pela join-msg torna-se um novo ramo da árvore para este router

Camada de Rede

4-117

Árvores baseadas num centro: um exemplo

Suponha que R6 foi escolhido como centro:

LEGENDA R1 3 R2

router com membro do

R4

grupo lá ligado

router sem membros do

2 R5

R3

1

grupo lá ligados

ordem/caminhos em que as mensagens de juntar ao

1

R6

R7

grupo foram geradas

Camada de Rede

4-118

Encaminhamento Multicast na Internet: DVMRP



DVMRP: distance vector multicast routing protocol, RFC 1075



inundação e poda (flood and prune):

expedição pelo

caminho inverso (RPF), árvore baseada na fonte



árvore RPF baseada nas próprias tabelas de

encaminhamento do DVMRP, construídas pelos routers DVMRP em comunicação



não se assume nada sobre o unicast existente



datagrama inicial para o grupo multicast inundado para todo o lado por RPF



routers que não querem o grupo: enviam mensagens de poda (prune) no sentido ascendente

Camada de Rede

4-119

DVMRP: continuação…



soft state: um router DVMRP periodicamente (1 min.) “esquece” que os ramos foram podados:



dados multicast fluem novamente nos ramos não podados



router descendente: repodar ou continuar a receber os dados



os routers podem rapidamente voltar a enxertar-se na árvore





depois de um join IGMP numa folha

para terminar



normalmente implementado nos routers comerciais



encaminhamento no Mbone feito com DVMRP

Camada de Rede

4-120

Túneis Q: Como ligar “ilhas” de routers multicast num “mar” de routers unicast?

topologia física

q

topologia lógica

datagramas multicast encapsulados dentro de datagramas “normais” (sem utilizar endereço multicast)

q

datagrama IP normal enviado por “túnel” usando unicast IP normal para o router multicast receptor

q

o router multicast receptor desencapsula o datagrama multicast Camada de Rede

4-121

PIM: Protocol Independent Multicast



não dependente de um algoritmo de encaminhamento unicast subjacente (funciona com todos)



dois cenário diferentes de distribuição multicast:

Modo Denso:

Modo Esparso:

q membros do grupo

q nº de redes com membros do

em núcleos densos, de grande

proximidade q largura de banda

mais abundante

grupo pequena em comparação

com o nº de redes interligadas q membros do grupo muito

dispersos

q largura de banda não abunda

Camada de Rede

4-122

Consequências da Dicotomia Esparso-Denso: Modo Denso

Modo Esparso:





assume-se que um router pertence ao grupo até

grupo até se juntar

que seja explicitamente podado



construção da árvore

explicitamente



árvore multicast se se

(e.g., RPF)

quiser juntar a um grupo

largura de banda e processamento em routers não

um router só precisa de

intervir na construção da

envolve todos os routers



um router não pertence ao

(e.g., baseada num centro)



pertencentes ao grupo grandes

largura de banda e

processamento em routers não pertencentes ao grupo moderados Camada de Rede

4-123

PIM - Modo Denso RPF com inundação e poda, semelhante a DVMRP, mas

q o protocolo unicast existente fornece

informação RPF para os datagramas que chegam

q inundação no sentido descendente menos

complicada (menos eficiente) que no DVMRP reduz dependência do algoritmo de encaminhamento existente

q tem um mecanismo no protocolo para um router

detectar que é um router de um nó folha

Camada de Rede

4-124

PIM - Modo Esparso



aproximação baseada num centro



R1

router envia mensagem join

para o ponto de rendezvous

R2

(RP)



os routers intermédios actualizam o estado e encaminham o join



depois de se juntar via o

RP, um router pode mudar

para uma árvore específica da fonte



R4

join join

R5

join

R3

R7

R6

todos os dados

multicast enviados do ponto de

ponto de

rendezvous

rendezvous

melhor desempenho: menos

concentração, caminhos mais

Camada de Rede

curtos

4-125

PIM - Modo Esparso emissor(es):



R1

enviam dados por unicast pela árvore com raiz em RP



ascendente até à fonte



R2

o RP pode estender a

árvore multicast no sentido

o RP pode enviar mensagem stop se não houver receptores ligados



“ninguém está a ouvir!”

R4

join

para o RP, que distribui

R3

join R5

join R6

todos os dados

multicast enviados do ponto de

R7

ponto de

rendezvous

rendezvous

Camada de Rede

4-126

Capítulo 4: Sumário 4.1 Introdução e Modelos de Serviço de Rede 4.2 Princípios de Encaminhamento 4.3 Encaminhamento Hierárquico 4.4 O Protocolo IP (Internet Protocol) 4.5 Encaminhamento na Internet 4.6 O que existe dentro de um Router 4.7 IPv6 4.8 Encaminhamento Multicast 4.9 Mobilidade

Camada de Rede

4-127

O que é mobilidade?



espectro da mobilidade, da perspectiva da rede:

sem mobilidade

grande mobilidade

utilizador móvel,

utilizador móvel

utilizador móvel,

ponto de acesso

se da rede com

pontos de acesso

sempre no mesmo

ligando/desligandoDHCP

passando por múltiplos mantendo as ligações estabelecidas (tal

como um telemóvel)

Camada de Rede

4-128

Mobilidade: Vocabulário home network (rede de origem):

home agent (agente na rede de origem):

móvel

mobilidade em nome da estação móvel,

rede onde “reside” a estação (e.g., 128.119.40/24)

entidade que realiza funções de quando ela está distante

rede de área alargada

Permanent address (endereço permanente): endereço na “home

network”, que pode ser sempre usado para

correspondente

aceder à estação móvel e.g., 128.119.40.186

Camada de Rede

4-129

Mobilidade: mais vocabulário visited network (rede

Permanent address (endereço permanente):

visitada): rede onde está

128.119.40.186)

(e.g., 79.129.13/24)

permanece constante (e.g.,

actualmente a estação móvel

Care-of-address:

endereço na rede visitada (e.g., 79.129.13.2)

rede de área alargada

foreign agent (agente na rede visitada): correspondente (correspondent):

quer comunicar com a estação móvel

entidade na rede

visitada que realiza

funções de mobilidade em nome da estação Camada de Rede

móvel

4-130

Como é que você contacta uma amiga móvel:

Considere uma amiga que muda

frequentemente de endereço,

Para onde será

que foi a Alice?

como a encontra?



procura em todas as listas telefónicas?



telefona aos seus pais?



espera que seja ela a dizer-lhe onde está?

Camada de Rede

4-131

Mobilidade: abordagens



A cargo do encaminhamento: os routers anunciam os

endereços permanentes das estações móveis residentes

através das normais trocas de tabelas de encaminhamento.



as tabelas de encaminhamento indicam onde cada estação móvel está localizada





não há mudanças nos sistemas terminais

A cargo dos sistemas terminais:



encaminhamento indirecto (“indirect routing”): a

comunicação do correspondente para a estação móvel

passa pelo agente na rede de origem (“home agent”), e só depois é encaminhada para a estação móvel



encaminhamento directo (“direct routing”): o

correspondente obtém o endereço na rede visitada da estação móvel, envia directamente para ele Camada

de Rede

4-132

Mobilidade: abordagens



A cargo do encaminhamento: os routers anunciam os

endereços permanentes das estações móveis residentes não

através das normais trocas de tabelas de encaminhamento. escala para



milhões de as tabelas de encaminhamento indicam onde cada móveis

estação móvel está localizada





não há mudanças nos sistemas terminais

A cargo dos sistemas terminais:



encaminhamento indirecto (“indirect routing”): a

comunicação do correspondente para a estação móvel

passa pelo agente na rede de origem (“home agent”), e só depois é encaminhada para a estação móvel



encaminhamento directo (“direct routing”): o

correspondente obtém o endereço na rede visitada da estação móvel, envia directamente para ele Camada

Mobilidade: registo

de Rede

4-133

rede visitada

“visited network”

rede de origem

“home network”

2

1

rede de área alargada

o agente na rede visitada

contacta o agente na rede de origem: “esta estação móvel está na minha rede”

Resultado final:

a estação móvel contacta o

agente na rede

visitada quando entra na rede visitada



o agente na rede visitada conhece a estação móvel



o agente na rede de origem conhece a localização da estação móvel

Camada de Rede

4-134

Mobilidade por encaminhamento indirecto agente na rede visitada

o agente da rede de

recebe os pacotes,

origem intercepta os

pacotes, envia-os para o agente na rede visitada

envia-os para a estação

rede

móvel

visitada

rede de origem

3 rede de área alargada

1

2

correspondente

4

endereça pacotes

usando o endereço permanente da estação móvel

a estação móvel responde

directamente ao correspondente Camada de Rede

4-135

Encaminhamento Indirecto: comentários



Estação móvel usa dois endereços:



endereço permanente: utilizado pelo

correspondente (pelo que a localização da estação móvel é transparente para o correspondente)



care-of-address: utilizado pelo agente na rede de origem para enviar pacotes para a estação móvel



as funções de agente na rede visitada podem ser feitas pela própria estação móvel



encaminhamento em triângulo: correspondente-redede-origem-móvel



ineficiente quando o

correspondente e móvel estão na mesma rede

Camada de Rede

4-136

Envio de pacotes para a estação móvel remota pacote do agente na rede pacote enviado pelo agente na rede de

origem para o agente na rede visitada: um pacote dentro de um pacote dest: 79.129.13.2

visitada para a estação móvel dest: 128.119.40.186

dest: 128.119.40.186

endereço

permanente:

128.119.40.186

dest: 128.119.40.186

Care-of address: 79.129.13.2

pacote enviado pelo

correspondente Camada de Rede

4-137

Encaminhamento Indirecto: mudança de redes



suponha que o utilizador móvel se move para outra rede



regista-se com um agente na nova rede visitada



o agente na nova rede visitada regista-se com o agente na rede de origem



o agente na rede de origem actualiza o care-ofaddress da estação móvel



os pacotes continuam a ser encaminhados para a

estação móvel (mas com um novo care-of-address)



Mobilidade, mudança de agente na rede

visitada transparente: as ligações em curso podem ser mantidas!

Camada de Rede

4-138

Mobilidade por encaminhamento Directo agente na rede correspondente envia

para o agente na rede visitada

visitada recebe os

pacotes, envia para a estação móvel

rede

visitada

rede de origem

4 rede de área alargada

2

correspondente pede, recebe o endereço da rede visitada da estação móvel

1

3 4 estação móvel responde

directamente para o correspondente Camada de Rede

4-139

Mobilidade por encaminhamento Directo: comentários



resolve o problema do encaminhamento em triângulo



não transparente para o correspondente:

o correspondente tem de obter o care-ofaddress do agente da rede de origem



O que acontece se a estação móvel muda de rede?

Camada de Rede

4-140

Mobile IP



RFC 3220



tem muitas funcionalidades já descritas:



agente na rede de origem, agente na rede

visitada, registo em agentes na rede visitada, care-of-addresses, encapsulamento (pacote dentro de um pacote)



três componentes do standard:



descoberta de agentes



registo com o agente na rede de origem



encaminhamento indirecto de datagramas

Camada de Rede

4-141

Mobile IP: descoberta de agentes



anúncio de agentes: os agentes anunciam o serviço difundindo mensagens ICMP (campo type = 9)

0

16

8 type = 9

24 checksum

code = 0

bits H,F: sou agente Home e/ou Foreign

router address

campos ICMP standard

bit R: é necessário registo

type = 16

length

registration lifetime

sequence # RBHFMGV reserved bits

0 ou mais care-ofaddresses

extensão para anúncio de mobilidade de agentes

Camada de Rede

4-142

Mobile IP: exemplo de registo agente na rede de origem HA: 128.119.40.7

agente na rede visitada COA: 79.129.13.2

rede visitada: 79.129.13/24

anúncio de

agente ICMP

agente móvel MA: 128.119.40.186

COA: 79.129.13.2

….

registration req.

registration req.

COA: 79.129.13.2 HA: 128.119.40.7 MA: 128.119.40.186 Lifetime: 9999 identification: 714 encapsulation format ….

COA: 79.129.13.2 HA: 128.119.40.7 MA: 128.119.40.186 Lifetime: 9999 identification:714 ….

registration reply tempo

HA: 128.119.40.7 MA: 128.119.40.186 Lifetime: 4999 Identification: 714 encapsulation format ….

registration reply

HA: 128.119.40.7 MA: 128.119.40.18 6 Lifetime: 4999 Identification: 714 …. Camada de Rede

4-143

Camada de Rede: sumário O que se cobriu:



serviços da camada de rede



princípios de encaminhamento:

estado das ligações e vector de distâncias



encaminhamento hierárquico



IP



protocolos de encaminhamento na Internet: RIP, OSPF, BGP



o que existe dentro de um router?



IPv6



mobilidade

Próxima paragem: a Camada de

Ligação de Dados!

Camada de Rede

4-144

Related Documents

4 Rede
November 2019 16
Putin Rede
May 2020 15
Rede Wicca
October 2019 24
Rede 10
April 2020 14
Olhares Da Rede
June 2020 5