• Nenhum resultado encontrado

Path MTU Discovery

No documento IPv6 Básico (páginas 111-113)

Quality of Service (QoS); suporte à mobilidade.

Path MTU Discovery

q

Maximum Transmit Unit (MTU) é o tamanho máximo do pacote que pode trafegar através do enlace. A fragmentação permite o envio de pacotes maiores que o MTU de um enlace.

1 IPv4: todos os roteadores podem fragmentar os pacotes que sejam maiores que o MTU do próximo enlace.

2 Dependendo do desenho da rede, um pacote IPv4 pode ser fragmentado mais de uma vez durante seu trajeto.

1 IPv6: fragmentação é realizada apenas na origem.

Path MTU Discovery: busca garantir que o pacote será encaminhado com o maior tamanho possível.

Todos os nós IPv6 devem suportar PMTUD:

1 Implementações mínimas de IPv6 podem omitir esse suporte, utilizando 1280 bytes como tamanho máximo de pacote.

Determinado pelos protocolos de roteamento, cada enlace na rede pode possuir um valor diferente de MTU, ou seja, uma limitação distinta em relação ao tamanho máximo do pacote que pode trafegar através dele. Para que um pacote maior que o MTU de enlace seja encaminhado, deve ser fragmentado em pacotes menores, que serão remontados ao chegarem em seu destino.

Na transmissão de um pacote IPv4, cada roteador ao longo do caminho pode fragmentar os pacotes, caso estes sejam maiores do que o MTU do próximo enlace. Dependendo do desenho da rede, um pacote IPv4 pode ser fragmentado mais de uma vez durante seu trajeto através da rede, sendo reagrupado no destino final.

IP

v6 B

ás

ic

o

No IPv6, a fragmentação dos pacotes é realizada apenas na origem, não sendo permitida em roteadores intermediários. Esse processo tem o intuito de reduzir o overhead do cálculo dos cabeçalhos alterados nos roteadores intermediários.

Para isso, é utilizado, no início do processo de fragmentação, o protocolo Path MTU Dis- covery (PMTUD), descrito na RFC 1981, que descobre de forma dinâmica qual o tamanho máximo permitido ao pacote, identificando previamente os MTUs de cada enlace no caminho até o destino. O protocolo PMTUD deve ser suportado por todos os nós IPv6. No entanto, implementações mínimas de IPv6 podem omitir esse suporte, utilizando 1280 bytes como tamanho máximo de pacote.

q

1 1: assume que o MTU máximo do caminho é igual ao MTU do primeiro salto; 1 2: pacotes maiores do que o suportado por algum roteador ao longo do caminho

são descartados;

1 Uma mensagem ICMPv6 packet too big é retornada.

1 3: após o recebimento dessa mensagem, o nó de origem reduz o tamanho dos pacotes de acordo com o MTU indicado na mensagem packet too big;

1 4: o procedimento termina quando o tamanho do pacote for igual ou inferior ao menor MTU do caminho;

1 5: essas iterações podem ocorrer diversas vezes até se encontrar o menor MTU; 1 6: pacotes enviados a um grupo multicast utilizam tamanho igual ao menor PMTU de

todo o conjunto de destinos.

O processo de PMTUD se inicia assumindo que o MTU de todo o caminho é igual ao MTU do primeiro salto. Se o tamanho dos pacotes enviados for maior do que o suportado por algum roteador ao longo do caminho, este vai descartá-lo e retornará uma mensagem ICMPv6 packet too big que devolve, juntamente com a mensagem de erro, o valor do MTU do enlace seguinte. Após o recebimento dessa mensagem, o nó de origem reduzirá o tamanho dos pacotes de acordo com o MTU indicado na mensagem packet too big.

Esse procedimento termina quando o tamanho do pacote for igual ou inferior ao menor MTU do caminho, sendo que essas iterações, de troca de mensagens e redução do tamanho dos pacotes, podem ocorrer diversas vezes até se encontrar o menor MTU. Caso o pacote seja enviado a um grupo multicast, o tamanho utilizado será o menor PMTU de todo o con- junto de destinos.

De um ponto de vista teórico, o PMTUD pode parecer imperfeito, dado que o roteamento dos pacotes é dinâmico, e cada pacote pode ser entregue através de uma rota diferente. No entanto, essas mudanças não são tão frequentes, e caso o valor do MTU diminua devido a uma mudança de rota, a origem receberá a mensagem de erro e reduzirá o valor do Path MTU.

Jumbograms

q

O IPv6 permite o envio de pacotes que possuam entre 65.536 e 4.294.967.295 bytes de comprimento.

Um jumbograms é identificado utilizando: 1 O campo Tamanho dos Dados com valor 0 (zero).

1 O campo Próximo Cabeçalho indicando o cabeçalho Hop-by-Hop. O cabeçalho de extensão Hop-by-Hop trará o tamanho do pacote.

Devem ser realizadas alterações também nos cabeçalhos TCP e UDP, ambos limitados a 16 bits para indicar o tamanho máximo dos pacotes.

Mais informações na RFC 1981 – Path MTU Discovery for IP version 6.

Ca pí tu lo 6 - F un ci on al id ad es d o I Pv 6

A RFC 2675 define uma opção do cabeçalho de extensão Hop-By-Hop chamada Jumbo Payload. Essa opção permite o envio de pacotes IPv6 com cargas úteis entre 64KB e 4GB de

comprimento, conhecidos como jumbograms.

Ao enviar jumbograms, o cabeçalho IPv6 trará os campos Tamanho dos Dados e Próximo

Cabeçalho com o valor zero. Este último indicará que as opções do cabeçalho de extensão

Hop-By-Hop devem ser processadas pelos nós, onde são indicados os tamanhos dos pacotes jumbograms.

O cabeçalho UDP possui um campo de 16 bits chamado Tamanho, que indica o tamanho do cabeçalho UDP mais o tamanho dos dados, não permitindo o envio de pacotes com mais de 65.536 bytes. Entretanto, é possível o envio de jumbograms definindo o campo Tamanho como zero, deixando que o receptor extraia o tamanho real do pacote UDP a partir do tamanho do pacote IPv6.

Nos pacotes TCP, as opções Maximum Segment Size (MSS), que negociam no início da conexão o tamanho máximo do pacote TCP a ser enviado, e Urgent Pointer, que indica um deslocamento de bytes a partir do número de sequência em que dados com alta prioridade devem ser encontrados, também não podem referenciar pacotes maiores que 65.535 bytes. Desse modo, para se enviar jumbograms é preciso, no caso do MSS, determinar seu valor como 65.535, que será tratado como infinito pelo receptor do pacote. Em relação ao Urgent Pointer, a solução é semelhante, uma vez que se pode determinar o valor do Urgent Pointer como 65.535, indicando que está além do final deste pacote.

No documento IPv6 Básico (páginas 111-113)