{"id":294386,"date":"2022-10-30T10:18:00","date_gmt":"2022-10-30T07:18:00","guid":{"rendered":"https:\/\/vpn.inform.click\/?p=294386"},"modified":"2023-06-28T07:47:22","modified_gmt":"2023-06-28T04:47:22","slug":"fragmentacao-de-ip-completamente-explicada","status":"publish","type":"post","link":"https:\/\/vpn.inform.click\/pt-pt\/fragmentacao-de-ip-completamente-explicada\/","title":{"rendered":"Fragmenta\u00e7\u00e3o de IP: completamente explicada"},"content":{"rendered":"\n<p>Cada rede baseada em pacotes IP tem um tamanho de Unidade M\u00e1xima de Transmiss\u00e3o (MTU). A MTU, como o termo sugere, \u00e9 o <strong>tamanho m\u00e1ximo do pacote<\/strong> que pode ser transmitido na rede.<\/p>\n<p>Os pacotes IP maiores que o tamanho da MTU precisam ser divididos em fragmentos ou pacotes menores para que possam ser trafegados pela rede.<\/p>\n<p>Ainda confuso? N\u00e3o se preocupe.\u00a0<\/p>\n<p>Neste guia, explicaremos tudo sobre fragmenta\u00e7\u00e3o de IP \u2013 o que \u00e9, o que faz, como \u00e9 usado e suas desvantagens, em termos leigos para compreens\u00e3o. Responderemos ainda algumas consultas espec\u00edficas de usu\u00e1rios relacionadas ao tema. Ent\u00e3o, sem mais delongas, vamos come\u00e7ar!<\/p>\n<h2>O que \u00e9 fragmenta\u00e7\u00e3o de IP?<\/h2>\n<p>Cada rede local suporta um tamanho m\u00e1ximo de pacote IP. Portanto, quando um host usa a rede para transmitir um pacote IP, ele <strong>n\u00e3o deve ser maior<\/strong> que o tamanho da Unidade M\u00e1xima de Transmiss\u00e3o (MTU). Caso contr\u00e1rio, ele \u00e9 dividido em pequenos peda\u00e7os \u2013 um processo chamado <strong>de fragmenta\u00e7\u00e3o de IP.<\/strong><\/p>\n<p>Esse tamanho geralmente \u00e9 determinado pelos MTUs e pelo link de dados da rede que geralmente \u00e9 o mesmo. Um local de trabalho contempor\u00e2neo, data center ou rede de campus oferecida por meio de Ethernet tem <strong>MTUs no valor de 1.500 bytes.<\/strong><\/p>\n<p>No entanto, os pacotes IP transferidos pela primeira vez em uma rede com suporte a um \u00fanico MCU podem exigir roteamento entre t\u00faneis VPN, WANs ou outras redes com unidades m\u00e1ximas de transmiss\u00e3o menores. Caso o tamanho do pacote exceda o MTU menor, os dados neste pacote precisariam ser fragmentados.<\/p>\n<p>Os dados seriam <strong>divididos em v\u00e1rias partes<\/strong> e <strong>transportados em novos fragmentos (pacotes)<\/strong> menores ou iguais em tamanho que o MCU inferior. Esses dados fragmentados ser\u00e3o reagrupados quando chegarem ao seu destino.<\/p>\n<hr \/>\n<h2>IPv4<\/h2>\n<h3>Os campos de cabe\u00e7alho IPv4 usados<\/h3>\n<p>A fragmenta\u00e7\u00e3o e o processo de remontagem t\u00eam v\u00e1rios campos de cabe\u00e7alho IP envolvidos que s\u00e3o definidos em peda\u00e7os\/fragmentos.<\/p>\n<\/p>\n<p>(Cr\u00e9ditos da imagem: packetpushers.net)<\/p>\n<p>A opera\u00e7\u00e3o de fragmenta\u00e7\u00e3o depende de <strong>tr\u00eas campos de cabe\u00e7alho IP (um total de 32 bits).<\/strong> Todos esses fragmentos ter\u00e3o valores significativamente diferentes em compara\u00e7\u00e3o com o pacote IP original:<\/p>\n<p>O <strong>campo Identifica\u00e7\u00e3o (16 bits)<\/strong> cont\u00e9m um n\u00famero de identifica\u00e7\u00e3o exclusivo que \u00e9 uma mistura de endere\u00e7os IP de origem e destino. O <strong>campo Protocolo,<\/strong> com o valor do pacote original, permite ao destino diferenciar entre os v\u00e1rios fragmentos de pacotes provenientes da mesma origem.<\/p>\n<p>Isso significa simplesmente que o mesmo ID pode ser utilizado mesmo quando a origem, o protocolo e o destino dos pacotes fragmentados n\u00e3o s\u00e3o os mesmos.<\/p>\n<p>Exatamente como o pacote IP original, o primeiro bit reservado do\u00a0 campo <strong>Flags<\/strong> (total de 3 bits) e o segundo, o bit <strong>Don't Fragment (DF)\u00a0<\/strong> estar\u00e3o ambos desabilitados (0).<\/p>\n<p>No entanto, o fragmento final ter\u00e1 o terceiro bit do campo, ou seja, <strong>More Fragments (MF)<\/strong> definido como 1. Todos os bits neste campo do \u00faltimo pacote IP ser\u00e3o definidos como 0, exatamente como o pacote IP original (a menos que seja um fragmento).<\/p>\n<p>Se no pacote original, o sinalizador Don't Fragment estiver definido, isso impedir\u00e1 a fragmenta\u00e7\u00e3o e resultar\u00e1 em pacotes que precisam ser descartados. Os erros devem ser enviados ao remetente neste caso, como <strong>erro ICMP tipo 3: &#8216;Destino inacess\u00edvel', c\u00f3digo 4: &#8216;Fragmenta\u00e7\u00e3o necess\u00e1ria e DF definido'.<\/strong><\/p>\n<p>O campo <strong>Fragment Offset\u00a0<\/strong> (total 13 bits) \u00e9 utilizado para indicar a posi\u00e7\u00e3o inicial dos dados no fragmento, em rela\u00e7\u00e3o aos dados iniciais do pacote IP original. Isso \u00e9 usado para remontar os dados de todos os fragmentos (chegados ou n\u00e3o).<\/p>\n<p>O deslocamento no primeiro fragmento \u00e9 0, pois os dados neste pacote fragmentado e o original come\u00e7am no mesmo local. Nos fragmentos a seguir, o valor \u00e9 o deslocamento dos dados fragmentados a partir do in\u00edcio dos dados no fragmento inicial <strong>(deslocamento 0), em blocos de 8 bytes (tamb\u00e9m conhecidos como octawords).<\/strong><\/p>\n<p>Se um pacote IP contendo dados no valor de 800 bytes for dividido em duas partes\/fragmentos iguais, cada um transportando 400 bytes, o deslocamento do fragmento do <strong>1\u00ba fragmento ser\u00e1 0,<\/strong> enquanto o outro ser\u00e1 <strong>50 (400\/8).<\/strong><\/p>\n<p>O valor de deslocamento deve ser o n\u00famero de <strong>blocos de dados de 8 bytes.<\/strong> Isso significa que o fragmento anterior deve ser um m\u00faltiplo de 8 bytes. O fragmento final pode transportar dados que n\u00e3o sejam m\u00faltiplos de 8 bytes, pois n\u00e3o haver\u00e1 mais fragmentos.<\/p>\n<hr \/>\n<h2>IPv6<\/h2>\n<p>Embora a maioria dos campos de cabe\u00e7alho permane\u00e7am os mesmos, a fragmenta\u00e7\u00e3o de IP no IPv6 funciona de maneira um pouco diferente do IPv4. No IPv6, os dados s\u00f3 podem ser <strong>fragmentados no host de origem.<\/strong> Isso significa que a fragmenta\u00e7\u00e3o n\u00e3o pode ser realizada em outras redes, exceto na fonte.<\/p>\n<p>N\u00e3o h\u00e1 <strong>sinalizador Don't Fragment<\/strong> dispon\u00edvel, ent\u00e3o tudo que voc\u00ea precisa fazer \u00e9 n\u00e3o criar fragmentos.<\/p>\n<p>A fragmenta\u00e7\u00e3o de IP n\u00e3o pode ser executada se o PMTUD n\u00e3o for utilizado. Os n\u00f3s n\u00e3o podem usar um <strong>MTU superior a 1280 bytes<\/strong>, que \u00e9 o m\u00ednimo de IPv6, se eles n\u00e3o implementarem o Path MTU Discovery (PMUTD).<\/p>\n<p>Enquanto o Path MTU Discovery funciona da mesma forma que o IPv4, a mensagem de erro ICMP \u00e9 diferente:<\/p>\n<p><a href=\"https:\/\/vpn.inform.click\/wp-content\/uploads\/2022\/04\/post-151763-625db9405ca3d.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/vpn.inform.click\/wp-content\/uploads\/2022\/04\/post-151763-625db9405ca3d.png\" alt=\"\"><\/a><\/p>\n<p>(Cr\u00e9ditos da imagem: packetpushers.net)<\/p>\n<p>Se o pacote IP for maior em tamanho do que o MCU, o roteador IPv6 deve <strong>descart\u00e1-lo<\/strong> e enviar um <strong>erro ICMPv6 tipo 2 &#8216;Packet Too Big'<\/strong> \u2013 c\u00f3digo 0 para o remetente.<\/p>\n<p>Observe que confiar em um canal de retorno e transmiss\u00e3o ICMP para o host de origem tem v\u00e1rias falhas &#8211; uma importante \u00e9 que <strong>as mensagens ICMP geralmente s\u00e3o bloqueadas em v\u00e1rias inst\u00e2ncias<\/strong> em uma rede devido a vantagens de seguran\u00e7a.<\/p>\n<p>Dessa forma, o host de origem n\u00e3o receber\u00e1 as <strong>mensagens Packet Too Big<\/strong> e retransmitir\u00e1 os pacotes IP que foram descartados v\u00e1rias vezes, o que certamente n\u00e3o chegar\u00e1. Eventualmente, a conex\u00e3o seria considerada <strong>inst\u00e1vel e fechada.<\/strong> Mesmo se um novo fosse estabelecido, o problema se repetiria.<\/p>\n<p>Os campos de cabe\u00e7alho relacionados \u00e0 fragmenta\u00e7\u00e3o s\u00e3o colocados em um cabe\u00e7alho de extens\u00e3o chamado Fragment Header. Isso \u00e9 especificado com um campo <strong>Next Header<\/strong> (valor 44) em um IPv6 padr\u00e3o ou em qualquer cabe\u00e7alho de extens\u00e3o anterior.<\/p>\n<p>Assim como todos os cabe\u00e7alhos de extens\u00e3o, este tem <strong>8 bytes\/64 bits de comprimento,<\/strong> juntamente com um cabe\u00e7alho padr\u00e3o, resultando em uma fragmenta\u00e7\u00e3o IPv6 com uma sobrecarga maior que o IPv4.<\/p>\n<h3>Os campos de cabe\u00e7alho IPv6 usados<\/h3>\n<p>Confira os campos no cabe\u00e7alho da extens\u00e3o do fragmento IPv6:<\/p>\n<p><a href=\"https:\/\/vpn.inform.click\/wp-content\/uploads\/2022\/04\/post-151763-625db94182fc1.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/vpn.inform.click\/wp-content\/uploads\/2022\/04\/post-151763-625db94182fc1.png\" alt=\"\"><\/a><\/p>\n<p>(Cr\u00e9ditos da imagem: packetpushers.net)<\/p>\n<p>O campo chamado <strong>Next Header<\/strong> (8 bits) especifica o tipo de cabe\u00e7alho, como um cabe\u00e7alho de protocolo de camada superior ou cabe\u00e7alho de extens\u00e3o IPv6. Os pr\u00f3ximos 8 bits s\u00e3o ent\u00e3o reservados.<\/p>\n<p><strong>O campo Fragment Offset<\/strong> de 13 bits \u00e9 usado de maneira semelhante ao IPv4. Depois disso, os pr\u00f3ximos 2 bits s\u00e3o reservados.<\/p>\n<p>O sinalizador do campo <strong>M<\/strong> ser\u00e1 definido como 1, e o fragmento final ser\u00e1 definido como o campo <strong>Mais Fragmentos (MF)\u00a0<\/strong> do IPv4 .<\/p>\n<p><strong>O campo Identifica\u00e7\u00e3o<\/strong> de 32 bits \u00e9 igual ao campo IPv4 de 16 bits contendo um n\u00famero de identifica\u00e7\u00e3o exclusivo para a combina\u00e7\u00e3o de endere\u00e7os de origem e endere\u00e7os de destino. O campo Protocolo n\u00e3o est\u00e1 dispon\u00edvel no IPv6.<\/p>\n<hr \/>\n<h2>As desvantagens da fragmenta\u00e7\u00e3o de IP<\/h2>\n<p>A pilha de protocolos IP \u00e9 considerada como tendo um <strong>mecanismo n\u00e3o confi\u00e1vel<\/strong> devido ao qual os hosts finais n\u00e3o conseguem descobrir o tamanho m\u00e1ximo da carga \u00fatil ao se comunicar atrav\u00e9s de um host IPv4 e IPv6.<\/p>\n<p>Embora a aus\u00eancia de um mecanismo de MTU na rede seja compreens\u00edvel, pois os pacotes IP seguem rotas diferentes, a <strong>falta de informa\u00e7\u00f5es de ponta a ponta<\/strong> pode resultar em roteadores intermedi\u00e1rios recebendo pacotes superdimensionados e incapazes de encaminh\u00e1-los.<\/p>\n<p>Os roteadores IPv4 podem <strong>dividir pacotes IP em fragmentos durante o tr\u00e2nsito,<\/strong> mas a mesma fun\u00e7\u00e3o n\u00e3o est\u00e1 dispon\u00edvel em roteadores IPv6 \u2013 onde o remetente precisa realizar a fragmenta\u00e7\u00e3o.<\/p>\n<p>A fragmenta\u00e7\u00e3o resulta em um pico na <strong>sobrecarga da camada 3.<\/strong> Assim, por exemplo, se o host final acredita que pode usar pacotes IP de 1500 bytes, mas enfrenta um salto em seu caminho de tamanho MTU 1472, o pacote IP seria dividido em dois pacotes, resultando em um <strong>cabe\u00e7alho IPv6 adicionado de 40 bytes e cabe\u00e7alho IPv4 de 20 bytes.<\/strong><\/p>\n<p>Os fragmentos IP <strong>sobrecarregam o sistema receptor,<\/strong> pois \u00e9 necess\u00e1rio remontar os fragmentos para entreg\u00e1-los \u00e0s camadas de protocolo mais altas. Essa atividade \u00e9 agravada quando o roteador encerra o tr\u00e1fego IP.<\/p>\n<p>Se um roteador tentar montar os pacotes fragmentados, os pacotes n\u00e3o conseguir\u00e3o remontar no hardware e reduzir\u00e3o drasticamente o desempenho da plataforma.<\/p>\n<hr \/>\n<h2>Perguntas frequentes<\/h2>\n<p>A fragmenta\u00e7\u00e3o de IP \u00e9 vital para a transmiss\u00e3o de dados, pois cada rede possui um limite de tamanho diferente para o processamento de dados. Este limite tamb\u00e9m \u00e9 conhecido como MTU (unidade m\u00e1xima de transmiss\u00e3o).<\/p>\n<p>N\u00e3o, os roteadores podem fragmentar pacotes IP, mas n\u00e3o remont\u00e1-los. \u00c9 o trabalho do dispositivo de destino remontar esses pacotes para o usu\u00e1rio.<\/p>\n<p>Se um ou v\u00e1rios fragmentos de um datagrama forem perdidos, o datagrama completo ser\u00e1 descartado ap\u00f3s o per\u00edodo de tempo limite.<\/p>\n<hr \/>\n<h2>Conclus\u00e3o<\/h2>\n<p>Isso encerra nosso guia detalhado sobre fragmenta\u00e7\u00e3o de IP.<\/p>\n<p>Para fornecer uma vis\u00e3o geral r\u00e1pida, se os dados enviados por uma rede forem maiores que o tamanho da <a href=\"https:\/\/www.ibm.com\/docs\/SSLTBW_2.3.0\/com.ibm.zos.v2r3.hald001\/maxtran.htm\" rel=\"noopener nofollow\" class=\"external external_icon\" target=\"_blank\">Unidade M\u00e1xima de Transmiss\u00e3o (MTU)<\/a>, os dados ser\u00e3o divididos em v\u00e1rios fragmentos e enviados para o receptor.<\/p>\n<p>Assim que os fragmentos IP chegassem ao seu destino, eles seriam reagrupados na ordem correta para que os dados pudessem ser \u00fateis aos usu\u00e1rios. O mecanismo de fragmenta\u00e7\u00e3o \u00e9 diferente entre as redes IPv4 e IPv6, cujos detalhes s\u00e3o mencionados acima.<\/p>\n<p>Caso voc\u00ea tenha alguma d\u00favida sobre <a href=\"#10803\" title=\"endere\u00e7os IP\">endere\u00e7os IP<\/a> e fragmenta\u00e7\u00f5es, entre em contato conosco nos coment\u00e1rios.<\/p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quer saber o que \u00e9 fragmenta\u00e7\u00e3o de IP? Leia nosso guia e aprenda tudo sobre fragmenta\u00e7\u00e3o de IP, como funciona e suas desvantagens.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[8542,8592,8562,8491,8522],"tags":[],"class_list":["post-294386","post","type-post","status-publish","format-standard","hentry","category-definicoes","category-diversos","category-em-geral","category-instrucoes-vpn","category-protecao-de-dados"],"_links":{"self":[{"href":"https:\/\/vpn.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/294386","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpn.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vpn.inform.click\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vpn.inform.click\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vpn.inform.click\/pt-pt\/wp-json\/wp\/v2\/comments?post=294386"}],"version-history":[{"count":0,"href":"https:\/\/vpn.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/294386\/revisions"}],"wp:attachment":[{"href":"https:\/\/vpn.inform.click\/pt-pt\/wp-json\/wp\/v2\/media?parent=294386"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vpn.inform.click\/pt-pt\/wp-json\/wp\/v2\/categories?post=294386"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vpn.inform.click\/pt-pt\/wp-json\/wp\/v2\/tags?post=294386"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}