Como a unidade máxima de transferência de informações na Internet passou a ser 1500 bytes

Como a unidade máxima de transferência de informações na Internet passou a ser 1500 bytes

A Ethernet está em toda parte e dezenas de milhares de fabricantes produzem equipamentos que a suportam. No entanto, quase todos estes dispositivos têm uma coisa em 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 (Unidade Máxima de Transmissão) define o tamanho máximo de um único pacote de dados. Em geral, quando você troca mensagens com dispositivos em sua LAN, o MTU será da ordem de 1500 bytes, e quase toda a Internet opera a 1500 bytes.No entanto, isso não significa que essas tecnologias de comunicação não possam transmitir pacotes maiores.

Por exemplo, 802.11 (comumente conhecido como WiFi) tem um MTU de 2304 bytes e, se sua rede usar FDDI, seu MTU será de 4352 bytes. A própria Ethernet possui o conceito de “frames gigantes”, onde ao MTU pode ser atribuído um tamanho de até 9000 bytes (com suporte para este modo por NICs, switches e roteadores).

No entanto, na Internet isto não é particularmente necessário. Como os principais backbones da Internet são compostos principalmente de conexões Ethernet, o tamanho máximo de pacote não oficial de fato é definido como 1500B 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 da informática fossem baseadas em potências de dois, por exemplo. Então, de onde veio o 1500B e por que ainda o usamos?

número mágico

O primeiro grande avanço da Ethernet no mundo veio na forma de padrões. 10BASE-2 (fino) e 10BASE-5 (grosso), os números que indicam quantas centenas de metros um determinado segmento de rede pode cobrir.

Como havia muitos protocolos concorrentes na época e o hardware tinha suas limitações, o criador do formato admite que os requisitos de memória do buffer de pacotes desempenharam um papel no surgimento do número mágico 1500:

Em retrospectiva, fica claro que um máximo maior poderia ter sido uma solução melhor, mas se tivéssemos aumentado o custo das NICs desde o início, isso teria evitado que a Ethernet se tornasse tão difundida.

No entanto, esta não é toda a história. EM trabalho “Ethernet: Distributed Packet Switching in Local Computer Networks”, 1980, fornece uma das primeiras análises da eficácia do uso de grandes pacotes em redes. Naquela época, isso era especialmente importante para redes Ethernet, pois elas podiam conectar todos os sistemas com um único cabo coaxial ou consistir em hubs capazes de enviar um pacote para todos os nós do mesmo segmento ao mesmo tempo.

Foi necessário escolher um número que não resultasse em atrasos muito elevados na transmissão de mensagens em segmentos (às vezes bastante ocupados), e ao mesmo tempo não aumentasse 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 surgiram e desapareceram, mas entre eles, a Ethernet teve o menor valor de MTU com seus bytes de 1500. Exceder o valor mínimo de MTU em uma rede significa causar fragmentação de pacotes ou envolver-se em PMTUD [encontrar o tamanho máximo de pacote para o caminho selecionado]. Ambas as opções tinham seus próprios problemas especiais. Mesmo que às vezes os grandes fabricantes de sistemas operacionais reduzissem ainda mais o valor do MTU.

Fator de eficiência

Sabemos agora que o MTU da Internet está limitado a 1500B, em grande parte devido a métricas de latência herdadas e limitações de hardware. Quanto isso afeta a eficiência da Internet?

Como a unidade máxima de transferência de informações na Internet passou a ser 1500 bytes

Se observarmos os dados de um grande ponto de troca de 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:

Como a unidade máxima de transferência de informações na Internet passou a ser 1500 bytes

Se você combinar os dois gráficos, obterá algo parecido com o seguinte (estimativas de tráfego para cada faixa de tamanho de pacote):

Como a unidade máxima de transferência de informações na Internet passou a ser 1500 bytes

Ou, se observarmos o tráfego de todos esses cabeçalhos e outras informações de serviço, obteremos o mesmo gráfico com uma escala diferente:

Como a unidade máxima de transferência de informações na Internet passou a ser 1500 bytes

Uma grande parte da largura de banda é gasta em cabeçalhos de pacotes na classe de maior tamanho. Como a sobrecarga mais alta no pico de tráfego é de 246 GB/s, pode-se presumir que se todos tivéssemos mudado para "quadros jumbo" quando essa opção ainda existia, essa sobrecarga seria de apenas cerca de 41 GB/s.

Mas acho que hoje para a maior parte da Internet esse trem já partiu. E embora alguns provedores trabalhem com um MTU de 9000, a maioria não o suporta, e tentar mudar algo globalmente na Internet tem se mostrado extremamente difícil repetidas vezes.

Fonte: habr.com

Adicionar um comentário