camada de rede fragmentação ip - bruno pontes...exemplo de fragmentação organizado por bruno...

17
Camada de Rede Fragmentação IP 1 6/14/18 Organizado por Bruno Pereira Pontes | brunopontes.com.br

Upload: others

Post on 22-Jan-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Camada de Rede Fragmentação IP - Bruno Pontes...Exemplo de fragmentação Organizado por Bruno Pereira Pontes | brunopontes.com.br 14 E1 N1 R1 N2 R2 N3 E2 MTU=1500 MTU=420 MTU=1500

Camada de Rede

Fragmentação IP

16/14/18 Organizado por Bruno Pereira Pontes | brunopontes.com.br

Page 2: Camada de Rede Fragmentação IP - Bruno Pontes...Exemplo de fragmentação Organizado por Bruno Pereira Pontes | brunopontes.com.br 14 E1 N1 R1 N2 R2 N3 E2 MTU=1500 MTU=420 MTU=1500

Objetivos

• Entender o funcionamento da fragmentação do datagrama IP; • Ver quais campos atuam nesse processo;

6/14/18 Organizado por Bruno Pereira Pontes | brunopontes.com.br 2

Page 3: Camada de Rede Fragmentação IP - Bruno Pontes...Exemplo de fragmentação Organizado por Bruno Pereira Pontes | brunopontes.com.br 14 E1 N1 R1 N2 R2 N3 E2 MTU=1500 MTU=420 MTU=1500

Revisando

6/14/18 Organizado por Bruno Pereira Pontes | brunopontes.com.br 3

Page 4: Camada de Rede Fragmentação IP - Bruno Pontes...Exemplo de fragmentação Organizado por Bruno Pereira Pontes | brunopontes.com.br 14 E1 N1 R1 N2 R2 N3 E2 MTU=1500 MTU=420 MTU=1500

Introdução

• Cada tecnologia de rede .sica limita o tamanho máximo do quadro;• Logo, o tamanho máximo do datagrama IP que é encapsulado no

campo dados do quadro é dependente dessa tecnologia da rede .sica;• A Unidade de Transferência Máxima é a forma de denominar esse

limite – MTU (Maximum Transfer Unit);• A estação de origem seleciona o tamanho máximo de um datagrama

IP com base na MTU da rede .sica diretamente conectada que seráusada para transmissão;

6/14/18 Organizado por Bruno Pereira Pontes | brunopontes.com.br 4

Page 5: Camada de Rede Fragmentação IP - Bruno Pontes...Exemplo de fragmentação Organizado por Bruno Pereira Pontes | brunopontes.com.br 14 E1 N1 R1 N2 R2 N3 E2 MTU=1500 MTU=420 MTU=1500

Introdução

• Como um datagrama pode ser encaminhado por diversas rede 3sicas, com MTUs diferentes, o tamanho inicial pode não ser adequado nas demais redes intermediárias; • Isso requer algum mecanismo que adapte o datagrama a rede; • Divisão do datagrama em fragmentos;• O processo é chamado de fragmentacão

6/14/18 Organizado por Bruno Pereira Pontes | brunopontes.com.br 5

Page 6: Camada de Rede Fragmentação IP - Bruno Pontes...Exemplo de fragmentação Organizado por Bruno Pereira Pontes | brunopontes.com.br 14 E1 N1 R1 N2 R2 N3 E2 MTU=1500 MTU=420 MTU=1500

Fragmentação

• Processo de divisão de datagramas em pequenas partes, chamadas fragmentos;• Fragmentos e datagramas possuem formatos idên:cos;• Datagrama original e seus respec:vos fragmentos possuem

cabeçalhos similares;• É possível um fragmento ser diversas vezes fragmentado por

roteadores ao longo do seu percurso até o des:no;

N1 R1 N2E1 E2R2 N3

MTU=1500 MTU=420 MTU=1500

6/14/18 Organizado por Bruno Pereira Pontes | brunopontes.com.br 6

Page 7: Camada de Rede Fragmentação IP - Bruno Pontes...Exemplo de fragmentação Organizado por Bruno Pereira Pontes | brunopontes.com.br 14 E1 N1 R1 N2 R2 N3 E2 MTU=1500 MTU=420 MTU=1500

Remontagem

• Processo de recuperação do datagrama original a par4r dos seus fragmentos;• As informações do cabeçalho de cada fragmento permitem a

reconstrução do datagrama original; • Independe do número de fragmentações ocorridas;

• É realizada apenas no des4no final dos fragmentos;• O datagrama original não pode ser remontado quando algum

fragmento é perdido ou atrasa;• O des4no final a4va um temporizador após a chegada de um fragmento;• Fragmentos recebidos após a expiração do temporizador são descartados;

Organizado por Bruno Pereira Pontes | brunopontes.com.br 76/14/18

Page 8: Camada de Rede Fragmentação IP - Bruno Pontes...Exemplo de fragmentação Organizado por Bruno Pereira Pontes | brunopontes.com.br 14 E1 N1 R1 N2 R2 N3 E2 MTU=1500 MTU=420 MTU=1500

Controle da Fragmentação

• Para controlar os processo de fragmentação e remontagem, o IP fazuso dos seguinte campos; • Iden9fica9on; • Flags;• Fragment offset;

Organizado por Bruno Pereira Pontes | brunopontes.com.br 86/14/18

Page 9: Camada de Rede Fragmentação IP - Bruno Pontes...Exemplo de fragmentação Organizado por Bruno Pereira Pontes | brunopontes.com.br 14 E1 N1 R1 N2 R2 N3 E2 MTU=1500 MTU=420 MTU=1500

Controle da Fragmentação

• Campo Iden+fica+on (16 bits)• Contém um número inteiro que

representa o datagrama original; • Quando ocorre framentação esse

campo é apenas copiado para cadafragmento; • Baseado no source ip address e no

iden+fica+on a estação des+noiden+fica todos os fragmentos de um datagrama;

Organizado por Bruno Pereira Pontes | brunopontes.com.br 96/14/18

Page 10: Camada de Rede Fragmentação IP - Bruno Pontes...Exemplo de fragmentação Organizado por Bruno Pereira Pontes | brunopontes.com.br 14 E1 N1 R1 N2 R2 N3 E2 MTU=1500 MTU=420 MTU=1500

Controle da Fragmentação

• Campo fragment offset (13 bits)• Iden7fica o deslocamento dos dados

transportados, em cada fragmento, em relação ao datagrama original; • Ele é medido em unidades de 8

bytes, sendo assim a quan7dade de dados transportada deve ser múl7plade 8; • O valor inicial é zero, e a estação

posiciona cada fragmento em suaposição(de acordo com o fragment offset) na remontagem;

Organizado por Bruno Pereira Pontes | brunopontes.com.br 106/14/18

Page 11: Camada de Rede Fragmentação IP - Bruno Pontes...Exemplo de fragmentação Organizado por Bruno Pereira Pontes | brunopontes.com.br 14 E1 N1 R1 N2 R2 N3 E2 MTU=1500 MTU=420 MTU=1500

Controle da Fragmentação

• Campo Flags (3 bits)

• Apenas 2 bits são usados no controle

de fragmentação

• Do not fragment: Sinaliza se o

datagrama pode(0) ou não pode(1)

ser fragmentado;

• More fragments: indica se o

fragmento contém dados do

início/meio (1) ou do final (0) do

datagrama original;

6/14/18 Organizado por Bruno Pereira Pontes | brunopontes.com.br11

Page 12: Camada de Rede Fragmentação IP - Bruno Pontes...Exemplo de fragmentação Organizado por Bruno Pereira Pontes | brunopontes.com.br 14 E1 N1 R1 N2 R2 N3 E2 MTU=1500 MTU=420 MTU=1500

Algoritmo da fragmentação

• O cálculo do tamanho do fragmento é função do MTU• Passos:• Passo 1: Definir a quan@dade de fragmentos;• Passo 2: Definir a Variação do OffSet (Tamanho Máximo do Fragmento) em

conjunto de 8 bytes;• Passo 3: Definir o tamanho da carga ú@l (tamanho área de dados);• Passo 4: Montar os fragmentos com os dados dos passos 1, 2 e 3 e configurar

os Flags Don´t fragment e More fragments;

Organizado por Bruno Pereira Pontes | brunopontes.com.br 126/14/18

Page 13: Camada de Rede Fragmentação IP - Bruno Pontes...Exemplo de fragmentação Organizado por Bruno Pereira Pontes | brunopontes.com.br 14 E1 N1 R1 N2 R2 N3 E2 MTU=1500 MTU=420 MTU=1500

Algoritmo da fragmentação

• Passo 1:

• QTD_F = (DTG_O – HLen*4) / (MTU – HLen*4)

• Divisão inteira do datagrama original pela MTU, ambos sem HLen, do novo

enlace;

• Se o resto da divisão for maior que zero, soma-se 1 a quantidade QTD_F;

• Passo 2:

• Variação OffSet = TMF = (MTU – HLen*4) /8 (Divisão inteira. Maior fragmento possível em octetos)

• Passo 3:• TAD = TMF * 8 (Tamanho da área de dados)

• Passo 4: Montar os fragmentos com os dados de 1, 2 e 3;

Organizado por Bruno Pereira Pontes | brunopontes.com.br13

6/14/18

Page 14: Camada de Rede Fragmentação IP - Bruno Pontes...Exemplo de fragmentação Organizado por Bruno Pereira Pontes | brunopontes.com.br 14 E1 N1 R1 N2 R2 N3 E2 MTU=1500 MTU=420 MTU=1500

Exemplo de fragmentação

Organizado por Bruno Pereira Pontes | brunopontes.com.br 14

N1 R1 N2E1 E2R2 N3MTU=1500 MTU=420 MTU=1500

555 0 0 5 Datagrama original(DTGO)

1000 980Identification

MoreFragments

FragmentOffSet

HLen TotalLen Data

• QTDF = (DGTO – Hlen*4)/(MTU – HLen *4) = 980 / 400 -> 2,45, logo QTDF = 3• TAD = (MTU – HLen *4) = 400• Variação do OffSet = TAD / 8 = 50

555 1 0 5 f1420 400

555 1 50 5 420 400

555 0 100 5 200 180

f2

f3

DGTO=1000

IdentificationMore

FragmentsFragment

OffSet HLen Total Len Data

6/14/18

Page 15: Camada de Rede Fragmentação IP - Bruno Pontes...Exemplo de fragmentação Organizado por Bruno Pereira Pontes | brunopontes.com.br 14 E1 N1 R1 N2 R2 N3 E2 MTU=1500 MTU=420 MTU=1500

Exemplo de fragmentação

Organizado por Bruno Pereira Pontes | brunopontes.com.br 156/14/18

QTDF = 1380 / 600 = 2,3 -> 3

TAD = 600

Variação do OffSet = 75

Page 16: Camada de Rede Fragmentação IP - Bruno Pontes...Exemplo de fragmentação Organizado por Bruno Pereira Pontes | brunopontes.com.br 14 E1 N1 R1 N2 R2 N3 E2 MTU=1500 MTU=420 MTU=1500

Processo de remontagem

• Os campos Iden-fica-on e Source IP Address iden-ficam os

fragmentos de um datagrama;

• O primeiro fragmento é iden-ficado pelo campo Fragment OffSet = 0;

• Fragmentos intermediários são posicionados de acordo com o seu

Fragment OffSet;

• O úl-mo fragmento é detectado através do campo More fragments;

Organizado por Bruno Pereira Pontes | brunopontes.com.br16

6/14/18

Page 17: Camada de Rede Fragmentação IP - Bruno Pontes...Exemplo de fragmentação Organizado por Bruno Pereira Pontes | brunopontes.com.br 14 E1 N1 R1 N2 R2 N3 E2 MTU=1500 MTU=420 MTU=1500

Referências

• Comer, Douglas E., Interligação de Redes Com TCP/IP• James F. Kurose, Redes de Computadores e a Internet• Escola Superior de Redes, Arquitetura e Protocolos de Redes TCP/IP

Organizado por Bruno Pereira Pontes | brunopontes.com.br 176/14/18