measurement-and-instrumentation
Como determinar o tamanho máximo do segmento (mss) em Tcp/ip
Table of Contents
Compreender o tamanho máximo do segmento (MSS) em redes TCP/IP
Tamanho Máximo de Segmento (MSS) é um parâmetro do campo Opções do cabeçalho TCP que especifica a maior quantidade de dados, especificado em bytes, que um computador ou dispositivo de comunicação pode receber em um único segmento TCP. Compreender e configurar adequadamente o MSS é crucial para otimizar o desempenho da rede, prevenir fragmentação de pacotes e garantir a transmissão de dados confiável através de redes TCP/IP. Este guia abrangente explora o que é MSS, como funciona, e os vários métodos e ferramentas que você pode usar para determinar e otimizar os valores do MSS em sua infraestrutura de rede.
O que é o tamanho máximo do segmento (MSS)?
MSS (tamanho máximo do segmento) limita o tamanho de pacotes, ou pequenos pedaços de dados, que viajam por uma rede, como a Internet. Mais especificamente, o MSS mede a porção não- cabeçalho de um pacote, que é chamada de carga útil. Esta é uma distinção importante porque não conta o cabeçalho TCP ou o cabeçalho IP (diferente, por exemplo, do MTU para os datagramas IP).
O MSS é acordado durante o aperto de mão TCP: ambos os dispositivos comunicam o tamanho dos pacotes que são capazes de receber. Esta negociação acontece no início de cada conexão TCP e o valor não pode ser alterado após a conexão ser estabelecida. Cada endpoint anuncia seu próprio valor MSS de forma independente, e a comunicação usa o MSS apropriado para cada direção de fluxo de dados.
MSS vs. MTU: Compreendendo a Diferença
Embora MSS e Unidade de Transmissão Máxima (MTU) sejam conceitos intimamente relacionados, eles operam em diferentes camadas da pilha de rede. MSS é uma camada 4, ou camada de transporte, métrica. É usado com TCP, um protocolo de camada de transporte. No entanto, é intimamente relacionado com MTU, que se aplica à camada 3 (a camada de rede).
Uma diferença crítica de comportamento é que se um pacote exceder o MTU de um dispositivo, ele é dividido em pedaços menores, ou "fragmentado". Em contraste, se um pacote exceder o MSS, ele é deixado cair e não entregue. Isso torna a configuração adequada do MSS essencial para evitar perda de pacote e garantir operações de rede suaves.
Como o MSS é negociado durante o estabelecimento de conexão TCP
O processo de negociação do MSS ocorre durante o aperto de mão tridirecional TCP, que estabelece uma conexão entre dois dispositivos. A negociação do MSS ocorre durante a fase inicial de uma conexão TCP: SYN Packet: O dispositivo iniciador envia um pacote SYN contendo seu valor MSS. SYN-ACK Packet: O dispositivo receptor responde com um pacote SYN-ACK contendo seu valor MSS.
Quando uma máquina deseja definir o tamanho máximo do segmento para um valor diferente do padrão, o tamanho máximo do segmento é especificado como uma opção TCP, inicialmente no pacote TCP SYN durante o aperto de mão TCP. Este mecanismo de anúncio permite que cada endpoint comunique suas capacidades de recepção para o outro lado.
O MSS pode ser usado completamente independentemente em cada direção do fluxo de dados. O resultado pode ser tamanhos máximos bastante diferentes nas duas direções. Esta capacidade assimétrica permite o desempenho otimizado em cenários onde os dois terminais têm características de rede ou restrições diferentes.
Valores padrão do MSS
Quando nenhuma opção MSS é explicitamente especificada durante o aperto de mão TCP, são usados valores padrão. O tamanho de segmento máximo padrão TCP para IPv4 é 536. Para IPv6 é 1220. Estes valores padrão conservadores garantem compatibilidade básica entre vários caminhos de rede, embora raramente sejam ótimos para redes modernas.
Calculando MSS a partir de MTU
O valor MSS é tipicamente derivado da Unidade de Transmissão Máxima (MTU) da interface de rede. Compreender esta relação é essencial para a configuração de rede adequada e solução de problemas.
Fórmula de Cálculo MSS Básico
O valor MSS a enviar é: MSS = MTU − TCPHdrLen − IPHdrLen Esta fórmula é responsável pela sobrecarga introduzida tanto pelos cabeçalhos TCP e IP que devem ser incluídos em cada pacote.
Os cabeçalhos TCP têm quase sempre 20 bytes de comprimento. Os cabeçalhos IP incluem informações como o endereço IP de origem e destino, e também 20 bytes de comprimento. Portanto, para os cabeçalhos padrão sem opções, a sobrecarga total é de 40 bytes.
Cálculo padrão do MSS Ethernet
Para as redes Ethernet padrão, um roteador de rede tem um MTU de 1.500, o que significa que ele só aceita pacotes até 1.500 bytes de comprimento. O MSS do roteador deve ser definido como 1.460 bytes. Este cálculo segue a fórmula: 1500 (MTU) - 20 (cabeçalho IP) - 20 (cabeçalho TCP) = 1460 bytes MSS.
Com um MTU de 1500 bytes e 40 bytes para cabeçalhos IP e TCP, o MSS típico para Ethernet é de 1460 bytes. Este é o valor MSS mais comum que você vai encontrar em redes TCP/IP modernas.
Contabilidade para Opções TCP
Embora o cálculo básico assuma cabeçalhos de 20-bytes, cenários do mundo real podem ser mais complexos. Tamanho das opções TCP (Variável 0- 320 bits, em unidades de 32 bits) deve ser deduzido do tamanho MSS se as opções TCP estiverem habilitadas. Por exemplo, os Selos de Tempo TCP são ativados por padrão nas plataformas Linux. Quando os timestamps TCP estão em uso, o valor máximo do MSS deve ser 1460. No entanto, este valor pode ser reduzido para 1448 devido ao uso de Timestamps TCP.
Métodos para determinar o MSS em sua rede
Existem vários métodos práticos e ferramentas que você pode usar para determinar os valores do MSS que estão sendo usados em sua rede. Cada método tem suas próprias vantagens e casos de uso.
Método 1: Usar o Wireshark para análise de pacotes
O Wireshark é uma das ferramentas mais poderosas para analisar conexões TCP e determinar valores de MSS. A opção MSS é encontrada apenas nos pacotes SYN e SYN/ACK do aperto de mão tridirecional do estabelecimento de conexão TCP. Isso torna simples identificar valores de MSS no tráfego capturado.
Para determinar MSS usando Wireshark:
- Iniciar uma captura de pacotes na interface de rede que deseja analisar
- Iniciar uma conexão TCP (como navegar em um site ou iniciar uma transferência de arquivo)
- Pare a captura e o filtro para o tráfego TCP usando o filtro: tcp.flags.syn == 1
- Examine os pacotes SYN e SYN-ACK no aperto de mão de três vias
- Expandir a seção de opções TCP no painel de detalhes do pacote
- Procure a opção "Tamanho máximo do segmento", que irá mostrar o valor MSS em bytes
O MSS significa Tamanho Máximo de Segmento, que especifica a maior quantidade de dados que um dispositivo pode receber em um único segmento TCP. O MSS TCP não inclui o cabeçalho IP ou o cabeçalho TCP. O MSS é negociado de três maneiras de aperto de mão entre o cliente e o servidor no início de uma conexão TCP.
Método 2: Analisando os Valores MSS no Desempenho da Rede
Você pode analisar o valor do MSS para o insight sobre o desempenho da rede e ver como os dados estão sendo transferidos eficientemente. Quando problemas de desempenho de solução de problemas, vale a pena investigar qualquer coisa menos de 1.000 bytes. Um servidor responde com um MSS de 512, que é muito menor do que o 1.460 do que esperávamos. Isso significa que você terá que enviar três segmentos de 512 bytes em vez de um segmento de 1.460 bytes.
Valores pequenos de MSS podem impactar significativamente a eficiência da rede, exigindo mais pacotes para transmitir a mesma quantidade de dados, aumentando a sobrecarga e potencialmente reduzindo a produtividade.
Método 3: Usando testes de ping para determinar o caminho MTU
Embora o ping não mostre diretamente o MSS, ele pode ajudá- lo a determinar o Caminho MTU, a partir do qual você pode calcular o MSS apropriado. Você pode ping o dispositivo final com o conjunto de bits "não fragmentar". Isto só funcionará se o ICMP for suportado por todos os dispositivos intermediários.
Para encontrar o valor ideal do MSS/MTU da rede, faça o 'ping test' para encontrar o MTU, e depois reduza 40 desse valor e defina isso como tcp-mss na política de firewall. Para um MTU 1500-byte, 1500-28 (20 bytes= cabeçalho IP e 8 bytes=ICMP cabeçalho) = 1472.
No Windows, você pode usar o seguinte comando:
ping -f -l 1472 destination_address
No Linux ou no macOS:
ping -M do -s 1472 destination_address
Se o pacote precisa ser fragmentado, mas o bit DF está definido, o MTU é inferior a 1500 bytes. Suponha que seja possível ping com um tamanho de 1400 mas não com um tamanho de 1401, isto significa que o valor MTU é 1400+28=1428 bytes. A solução é tanto corrigir o MTU no dispositivo de rede ou definir o TCP MSS na política de firewall para 1428-40=1388 bytes.
Método 4: Verificando configurações de dispositivo e roteador
Muitos dispositivos de rede permitem- lhe visualizar e configurar as configurações do MSS diretamente. Nos roteadores Cisco, por exemplo, você pode visualizar o MTU de uma interface usando:
show interface [interface-name]
Este comando mostra a configuração MTU atual, a partir da qual você pode calcular o valor esperado do MSS. Diferentes fornecedores têm diferentes comandos e opções de configuração para visualizar e ajustar estes parâmetros.
Método 5: Usando ferramentas de diagnóstico de rede
Várias ferramentas especializadas de diagnóstico de rede podem relatar valores MSS e ajudar com o Path MTU Discovery. Você pode verificar os valores PMTU e MSS que cada agente está usando ao se conectar a um alvo. Ferramentas como ThousandEyes, PathPing e tracepath podem fornecer informações valiosas sobre as características MSS e MTU dos caminhos de rede.
MSS em Cenários de Rede Especiais
Diferentes configurações de rede e tecnologias requerem consideração especial ao determinar e configurar valores MSS.
Redes PPPoE
O padrão PPP sobre Ethernet (PPPoE) suporta um MTU de apenas 1492 bytes. A disparidade entre o tamanho da máquina e PPPoE MTU pode fazer com que o roteador entre a máquina e o servidor solte pacotes de 1500 bytes e termine sessões TCP na rede PPPoE.
O valor ideal para o argumento de tamanho max- segment é 1452 bytes. Este valor mais o cabeçalho IP de 20- bytes, o cabeçalho TCP de 20- bytes e o cabeçalho PPPoE de 8- bytes somam até um pacote de 1500- bytes que corresponde ao tamanho MTU para o link Ethernet.
Túneis VPN e IPsec
As conexões VPN adicionam cabeçalhos adicionais que reduzem o espaço disponível para os dados. Em VPNs, o MSS é ajustado para contabilizar cabeçalhos adicionais de encapsulamento, evitando fragmentação. A sobrecarga exata depende dos algoritmos de criptografia e autenticação usados.
Existe um cabeçalho IPSec extra. Depende do algoritmo de criptografia e autenticação. O AES-256 e SHA1 têm um máximo de 73 bytes, e outro algoritmo pode ter bytes ligeiramente diferentes. Para um MTU de 1500-bytes, o MSS para um TCP sobre o túnel IPSec é 1500-20 (cabeçalho IP) - 20 (cabeçalho TCP)- 73 (cabeçalho IPsec) = 1387.
Túneis GRE
Túneis genéricos de encapsulamento de roteamento (GRE) adicionam a sua própria sobrecarga. No caso de tunelamento GRE, um cabeçalho de 24-bytes é adicionado ao pacote original para o enviar para um novo destino. Se o pacote original fosse maior que 1.476 bytes, isto poderia fazer com que o novo pacote excedesse os típicos 1.500-bytes MTU.
Para os túneis GRE, o MSS recomendado é tipicamente 1436 bytes (1500 MTU - 40 bytes cabeçalhos TCP/IP - 24 bytes cabeçalho GRE = 1436 bytes).
Quadros Jumbo
Para Ethernet v2, o MTU é de 1500 bytes, mas se forem usados os Quadros Jumbo, o MTU pode ir até 9000 bytes. Quando os quadros Jumbo são ativados em toda a rota de rede, o MSS pode ser aumentado proporcionalmente, permitindo uma transferência de dados mais eficiente, reduzindo o número de pacotes necessários para transmitir grandes quantidades de dados.
Compreender e implementar o aperto do MSS
O clampeamento MSS é uma técnica utilizada para prevenir fragmentação e perda de pacotes, ajustando o valor do MSS anunciado durante o estabelecimento de conexão TCP.
O que é o MSS Clamping?
O aperto MSS pode ser conseguido configurando o servidor para aplicar uma pinça MSS: durante o aperto de mão TCP, o servidor pode sinalizar o MSS para pacotes que está disposto a receber, "clampando" o tamanho máximo da carga útil do outro servidor. Esta técnica é particularmente útil quando dispositivos intermediários adicionam cabeçalhos de encapsulamento que reduzem o MTU eficaz.
O aperto do MSS TCP permite reduzir o valor máximo do tamanho do segmento (MSS) usado por uma sessão TCP durante um estabelecimento de conexão através de um túnel VPN. Dispositivos de rede como roteadores e firewalls podem interceptar pacotes TCP SYN e modificar a opção MSS para um valor menor que atendisse as restrições reais de caminho.
Por que é necessário apertar MSS
Ocasionalmente, um roteador ao longo de um caminho de rede tem um valor MTU definido abaixo dos típicos 1.500 bytes. Isso pode resultar em perda de pacotes e pode ser difícil de descobrir. O clamping MSS fornece uma solução proativa para este problema.
Quando um tráfego TCP passa por qualquer tipo de túnel VPN, cabeçalhos adicionais são adicionados ao pacote original para mantê- lo seguro. Para o modo túnel IPSec, cabeçalhos adicionais usados são IP, ESP e opcionalmente UDP (se uma tradução de porta estiver presente na rede). Devido a estes cabeçalhos adicionais, o tamanho do pacote encapsulado vai além do MTU da interface VPN.
Configurar o Aperto do MSS em Plataformas Diferentes
Roteadores Cisco IOS:
Use o comando ip tcp ajuste- mss no modo de configuração da interface para indicar o valor MSS no router intermediário dos pacotes SYN para evitar truncamento. O comando é aplicado no modo de configuração da interface:
interface GigabitEthernet0/0
ip tcp adjust-mss 1452
O comando ip tcp ajust-mss é eficaz apenas para conexões TCP que passam pelo roteador. Isto significa que ele funciona bidirecionalmente no tráfego que atravessa a interface.
Linux com iptables:
Para fixar o MSS para o caminho MTU (dinâmica, recomendada), use: iptables -t mangle -A FORWARD -p tcp--tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu Isso ajusta automaticamente o MSS com base na interface MTU.
Para um valor MSS específico:
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1380
Redes de jogos:
Para diminuir a probabilidade de fragmentação e para proteger contra perda de pacotes, você pode diminuir o tamanho do MSS TCP usando a instrução tcp-mss. A configuração é feita no nível de interface ou roteamento, dependendo da plataforma.
Melhores práticas para o aperto MSS
- Aplicar o aperto simétrico: Configurar o aperto MSS em ambas as extremidades de uma conexão de túnel ou VPN para garantir comportamento consistente em ambas as direções
- Use o aperto dinâmico quando possível: O aperto automático MSS baseado na interface MTU reduz erros de configuração e se adapta às alterações
- Conta para todas as despesas de encapsulamento: Calcular a sobrecarga total de todos os protocolos no caminho (VPN, tunelamento, etiquetas VLAN, etc.)
- Teste cuidadosamente: Após a implementação do aperto MSS, verifique se as conexões funcionam corretamente e que não ocorre fragmentação
- Documente suas configurações: Mantenha registros claros das configurações de fixação do MSS e as razões para valores específicos
Caminho Descoberta MTU (PMTUD) e sua relação com MSS
Path MTU Discovery é um mecanismo que permite que hosts determinem o máximo MTU ao longo de um caminho de rede, o que afeta diretamente o valor MSS ideal.
Como funciona o PMTUD
Para evitar fragmentação, os hosts finais normalmente executam PMTUD para cada destino, ou são capazes de processar mensagens ICMP "Packet demasiado grandes" (padrão no Linux), e ajustar o tamanho máximo do segmento TCP (MSS) de acordo. O processo envolve enviar pacotes com o conjunto de bits Don't Fragment (DF) e ouvir mensagens de erro ICMP que indicam quando um pacote é muito grande para um link no caminho.
Desafios e Limitações do PMTUD
Infelizmente, o PMTUD nem sempre funciona de forma confiável em redes do mundo real. Muitos firewalls e dispositivos de segurança bloqueiam as mensagens ICMP, incluindo as mensagens "Packet Too Big" que dependem do PMTUD. Isto pode criar "buracos negros" onde os pacotes são deixados silenciosamente sem qualquer notificação ao remetente.
Quando o PMTUD não puder ser executado, você acabará com pacotes fragmentados, pacotes largados ou ambos. Ao invés de tentar mudar o MTU no próprio host, que é tedioso e propenso a erros, um dispositivo intermediário pode inspecionar pacotes TCP e modificar o MSS que é sinalizado para um valor que se encaixa dentro do MTU do caminho. Por exemplo, se houver criptografia e túnel, você pode perder perto de 100 bytes em alguns cenários e muitas pessoas configurariam um MTU de 1400 e MSS de 1360 em tais cenários.
MSS Clamping como uma alternativa PMTUD
Outra técnica (talvez mais eficiente) é o aperto MSS, onde as caixas médias realmente alteram o valor do MSS em conexões TCP ativadas. Essa abordagem funciona mesmo quando ICMP é bloqueada e fornece uma solução mais confiável para evitar fragmentação em ambientes de rede complexos.
Resolução de Problemas Relacionados com MSS
As configurações erradas do MSS podem causar uma variedade de problemas de rede. Entender como identificar e resolver esses problemas é essencial para os administradores de rede.
Problemas comuns de MSS
Symptom: Conexões estabelecem, mas a transferência de dados falha ou é muito lenta
Este sintoma clássico indica frequentemente um descompasso MSS ou MTU. O aperto de mão TCP completa com sucesso (usando pequenos pacotes), mas quando pacotes de dados maiores são enviados, eles excedem o caminho MTU e são deixados cair. Se o bit DF (não fragmentar) for definido, então o pacote pode ser deixado cair, o que pode causar atrasos ou lentidão na rede.
Symptom: Alguns sites funcionam enquanto outros não
Isto pode ocorrer quando alguns servidores enviam pacotes menores que se encaixam no caminho MTU, enquanto outros enviam pacotes maiores que são deixados cair. A inconsistência torna isso particularmente difícil de diagnosticar sem ferramentas de análise de pacotes.
[[FLT: 0]]Símptomo: As conexões VPN são instáveis ou lentas
Os túneis VPN adicionam sobrecarga que reduz o MTU eficaz. Se o MSS não for ajustado para atender a essa sobrecarga, os pacotes serão fragmentados ou abandonados, causando falhas de desempenho ou conexão.
Passos de Diagnóstico
- Capture e analise apertos de mão TCP: Use Wireshark para examinar os valores MSS sendo negociados. Procure valores MSS incomummente pequenos ou descompassos entre as duas direções.
- Teste com tamanhos de pacotes diferentes: Use ping com o conjunto de bits DF e tamanhos de pacotes variados para determinar o caminho real MTU.
- Verifique se a filtragem ICMP: Verifique se as mensagens ICMP, particularmente as mensagens "Packet Too Big", podem atingir os pontos de avaliação. O ICMP bloqueado pode impedir que o PMTUD funcione.
- Reveja configurações de dispositivos intermediários: Verifique roteadores, firewalls e gateways VPN para configurações MTU e MSS. Procure por configurações incorretas ou regras de fixação MSS ausentes.
- Teste com o aperto MSS:] Implemente temporariamente o aperto MSS com um valor conservador (como 1360 bytes) para ver se resolve o problema.
Usando o Wireshark para solução de problemas MSS
O Wireshark fornece recursos poderosos para diagnosticar problemas relacionados ao MSS. As principais coisas a procurar incluem:
- Retransmissões TCP:Retransmissões excessivas podem indicar que os pacotes estão a ser abandonados devido a questões MTU/MSS
- ICMP "Fragmentação Necessária" mensagens: Estes indicam que os pacotes são demasiado grandes para um link no caminho
- Sequência de lacunas de número: Os números de sequência em falta sugerem perda de pacotes, o que pode ser devido a pacotes de tamanho excessivo
- Valores MSS em pacotes SYN: Compare os valores MSS anunciados com o que você espera com base na configuração de rede
Estratégias de otimização do MSS
Otimizar os valores do MSS pode melhorar significativamente o desempenho e a confiabilidade da rede. Aqui estão as estratégias fundamentais a considerar.
Eficiência de equilíbrio e compatibilidade
A taxa de rendimento TCP é afetada principalmente pelo MSS, tempo de ida e volta e probabilidade média de perda de pacotes, com o tamanho do segmento idealmente definido o mais grande possível para maximizar a taxa de transferência e minimizar a fragmentação, desde que o link de rede suporte o MTU necessário.
Valores maiores de MSS melhoram a eficiência reduzindo o número de pacotes necessários para transferir dados e minimizando a sobrecarga de pacotes. No entanto, eles devem ser equilibrados contra as restrições do caminho da rede para evitar fragmentação e perda de pacotes.
Recomendações específicas para o ambiente
Conexões normais da Internet: Utilizar MSS de 1460 bytes (para 1500-byte MTU)
PPPoE conexões: Usar MSS de 1452 bytes (para 1492-byte MTU)
VPNs IPsec: Use MSS de 1360-1400 bytes dependendo da sobrecarga de criptografia
Túneis de GRE: Utilizar MSS de 1436 bytes (para MTU eficaz de 1476-byte)
Encapsulamentos múltiplos: Calcular a sobrecarga cumulativa e subtrair da base MTU
Teste e Validação
Teste com o Path MTU Discovery (PMTUD): PMTUD ajuda a determinar o menor tamanho de MTU ao longo de um caminho, garantindo que o MSS esteja alinhado com as capacidades da rede. Configurando o MSS Clamping: Roteadores e firewalls podem usar o MSS para ajustar os valores do MSS dinamicamente, acomodando restrições de rede.
Após a implementação das alterações do MSS, teste cuidadosamente vários cenários, incluindo:
- Transferências de ficheiros grandes
- Navegação na Web para vários sites
- Transmissão de vídeo
- Comunicações VoIP ou em tempo real
- Protocolos específicos de aplicativos usados em seu ambiente
Conceitos avançados do MSS
Valores assimétricos do MSS
MSS pode ter um valor diferente em qualquer direção e que quadros que excedem o MTU podem causar pacotes (que encapsulam segmentos) a serem fragmentados pela camada de rede, enquanto segmentos que excedem o MSS são simplesmente descartados. Esta assimetria permite que cada endpoint optimize para suas próprias condições e capacidades de rede.
Na prática, os valores assimétricos do MSS são comuns quando se conectam dispositivos com diferentes características de rede, como um dispositivo móvel em uma rede celular que se comunica com um servidor em uma rede de data center de alta velocidade.
Desempenho MSS e Rede
O valor do MSS influencia diretamente a eficiência da transferência de dados, limitando a quantidade de dados em cada segmento TCP, o que é particularmente importante para redes com restrições no tamanho do pacote. A relação entre MSS, rendimento e eficiência da rede é complexa e depende de vários fatores, incluindo tempo de ida e volta, taxa de perda de pacotes e algoritmos de controle de congestionamento.
Reduzir o MSS aumenta o número de pacotes e introduz cabeçalhos TCP extra, o que diminui a eficiência da rede ao consumir largura de banda em cabeçalhos que não eram necessários originalmente. Mais pacotes também significam mais processamento, o que pode reduzir a taxa de transferência de dados. É por isso que encontrar o valor MSS ideal para o seu ambiente de rede específico é importante.
MSS em topologias complexas de rede
As redes modernas envolvem frequentemente múltiplas camadas de encapsulamento e tunelamento. Se duas ou mais tecnologias de sobreposição correrem em sequência (por exemplo, HCX seguido de NSX), cada uma adiciona sobrecarga. Identificar o tamanho do pacote encapsulado mais elevado possível de todos os iniciadores ajuda a determinar se o MTU escolhido acomoda todas as sobrecargas. Se a sobrecarga ainda causa fragmentação, desativar a criptografia dupla (quando não é necessário) reduz a sobrecarga, minimizando a necessidade de aumentar ainda mais a MTU.
Nesses ambientes, é essencial o planejamento cuidadoso e o cálculo da sobrecarga cumulativa, sendo que cada camada de encapsulamento deve ser contabilizada ao determinar o valor adequado do MSS.
Considerações sobre segurança
Embora o MSS seja principalmente um parâmetro de desempenho e compatibilidade, ele também tem implicações de segurança que os administradores de rede devem estar cientes.
Ataques baseados em MSS
Os atacantes podem potencialmente explorar o tratamento com MSS de várias maneiras:
- MSS manipulation: Os actores maliciosos podem anunciar valores MSS extremamente pequenos para degradar o desempenho ou causar esgotamento de recursos
- Ataques de fragmentação: Ao manipular os valores de MSS e MTU, os atacantes podem desencadear fragmentação que pode ser usada para evasão ou negação de serviço
- Impressão de dedos: Os valores MSS podem ser usados como parte das técnicas de impressão digital do sistema operacional para identificar sistemas
Medidas de protecção
- Implementar valores mínimos de MSS em dispositivos de borda para evitar valores extremamente pequenos
- Monitorar padrões MSS incomuns que possam indicar ataques ou configurações incorretas
- Use firewalls de estado que podem validar valores MSS contra intervalos esperados
- Certifique-se de que a filtragem ICMP não bloqueia completamente as mensagens legítimas do PMTUD enquanto ainda protege contra ataques baseados em ICMP
Desenvolvimentos e Considerações Futuros
À medida que as redes continuam a evoluir, o manuseio e otimização do MSS permanecerão importantes. Várias tendências estão moldando o futuro:
- Adoção IPv6: IPv6 tem valores padrão diferentes de MSS e tamanhos de cabeçalho, exigindo cálculos e configurações atualizadas
- Centragem aumentada: O uso mais generalizado de criptografia adiciona sobrecarga que deve ser contabilizada nos cálculos MSS
- Rede definida por software: As tecnologias SDN permitem uma otimização MSS mais dinâmica e automatizada
- Computação em nuvem e borda: Diversas vias de rede e suporte MTU variável requerem manuseio flexível de MSS
- 5G e redes móveis: As redes móveis têm frequentemente características MTU diferentes que afectam os valores MSS ideais
Conclusão
Determinar e otimizar o Tamanho Máximo de Segmento (MSS) é um aspecto crítico do gerenciamento de rede TCP/IP. A configuração adequada do MSS previne a fragmentação, reduz a perda de pacotes e garante uma transmissão eficiente de dados em diversos ambientes de rede. Ao entender a relação entre MSS e MTU, usando ferramentas de diagnóstico adequadas como testes Wireshark e ping, e implementando o clamping MSS, quando necessário, os administradores de rede podem melhorar significativamente o desempenho e confiabilidade da rede.
Whether you're managing a simple network or a complex infrastructure with multiple layers of encapsulation, the principles outlined in this guide w