Como a unidade máxima de transmissão de informações na Internet se tornou 1500 bytes



A Ethernet está em todo lugar, e dezenas de milhares de fabricantes produzem equipamentos com seu suporte. No entanto, quase todos esses dispositivos têm um número comum - MTU :

$ ip l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP 
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff

MTU (Maximum Transmission Unit) define o tamanho máximo de um pacote de dados individual. No caso geral, quando você troca mensagens com dispositivos na sua LAN, o MTU terá um tamanho de cerca de 1500 bytes e a Internet inteira também funcionará quase inteiramente com um tamanho de 1500 B. No entanto, isso não significa que essas tecnologias de comunicação não possam transmitir pacotes maiores.

Por exemplo, no 802.11 (mais conhecido como WiFi), o MTU é de 2304 bps e, se sua rede usa FDDI, seu MTU é de 4352 bps. A própria Ethernet tem o conceito de "quadros gigantes", quando é possível atribuir ao MTU um tamanho de até 9000 bps (com o suporte desse modo de NIC, comutadores e roteadores).

No entanto, na Internet, isso não é particularmente necessário. Como os principais troncos da Internet são principalmente conexões Ethernet, o tamanho máximo não oficial de pacotes é definido como 1500 B para evitar a fragmentação de pacotes em outros dispositivos.

O número 1500 em si é estranho - seria de esperar que as constantes no mundo dos computadores fossem baseadas em potências de dois, por exemplo. Então, de onde veio o 1500 B e por que ainda os usamos?

número mágico


A primeira grande inovação da Ethernet no mundo ocorreu na forma dos padrões 10BASE-2 (fino) e 10BASE-5 (grosso), os números nos quais indicam quantas centenas de metros um único segmento de rede pode cobrir.

Como havia muitos protocolos concorrentes na época e o ferro tinha suas próprias limitações, o criador do formato admite que os requisitos de memória de buffer de pacote tiveram um papel na aparência do número mágico 1500:

Olhando para trás, fica claro que um máximo maior pode ter sido a melhor solução, no entanto, se aumentássemos o custo das placas de rede (controladores de rede) nos estágios iniciais, isso impediria que a Ethernet se espalhasse tão amplamente.

No entanto, esta não é a história toda. No trabalho“Ethernet: comutação de pacotes distribuídos em redes locais de computadores” 1980, uma das primeiras análises da eficiência do uso de pacotes de pacotes grandes em redes. Naquele momento, isso era especialmente importante para redes Ethernet, pois elas podiam conectar todos os sistemas com um cabo coaxial ou consistir em hubs capazes de enviar um pacote de cada vez para todos os nós de um segmento.

Era necessário escolher um número que apresentasse atrasos não muito altos ao transmitir mensagens em segmentos (às vezes bastante ocupados) e, ao mesmo tempo, não aumentaria muito o número de pacotes.

Aparentemente, os engenheiros da época escolheram o número 1500 B (cerca de 12000 bits) como a opção mais "segura".

Desde então, vários outros sistemas de mensagens apareceram e desapareceram, mas entre eles a Ethernet teve o menor valor de MTU desde 1500 B. Para exceder o valor mínimo de MTU na rede significa causar fragmentação de pacotes ou se envolver no PMTUD [procure o tamanho máximo de pacote para caminho selecionado]. Ambas as opções tiveram seus próprios problemas particulares. Mesmo que, às vezes, os principais fabricantes de sistemas operacionais reduzam ainda mais o valor da MTU.

Fator de desempenho


Agora sabemos que o MTU na Internet é limitado a 1.500 B, em grande parte devido a antigas limitações de latência e hardware. Quanto isso afeta o desempenho da Internet?



Se você observar os dados de um grande ponto de troca de tráfego da Internet AMS-IX, veremos que pelo menos 20% dos pacotes transmitidos têm um tamanho máximo. Você também pode observar o tráfego total da LAN:



Se você combinar os dois gráficos, obterá algo como o seguinte (estimativa de tráfego para cada intervalo de tamanhos de pacotes):



Ou, se você observar o tráfego de todos esses cabeçalhos e outras informações de serviço, obteremos o mesmo gráfico com outro escala:



Grande parte da largura de banda é gasta em cabeçalhos para pacotes da maior classe de tamanho. Como no pico do tráfego, os maiores custos indiretos são 246 Gb / s, pode-se presumir que, se todos mudássemos para "quadros gigantes" quando essa possibilidade ainda existia, esses custos indiretos seriam de apenas 41 Gb / s.

Mas acho que hoje, na maior parte da Internet, esse trem já saiu. E embora alguns provedores trabalhem com MTU igual a 9000, a maioria não o suporta, e tentar mudar algo globalmente na Internet provou ser extremamente difícil de tempos em tempos.

All Articles