commit
This commit is contained in:
1 parent
b02be8d620
commit
2640132012
3 files changed
+303
No files matched your search
@@ -0,0 +1,52 @@
|
||||
# Otimização de MTU e Fragmentação para WireGuard
|
||||
|
||||
## Problema e Solução
|
||||
|
||||
O WireGuard necessita de overhead para encapsulamento e criptografia, resultando em:
|
||||
- Overhead ~60 bytes (cabeçalhos + criptografia)
|
||||
- MTU efetivo menor que o MTU da interface física
|
||||
- Possível fragmentação ou perda de pacotes
|
||||
|
||||
A solução implementada:
|
||||
1. **Ajuste automático de MSS TCP**: Evita fragmentação em sessões TCP
|
||||
2. **PMTU Discovery inteligente**: Gerencia Path MTU para destinos específicos
|
||||
3. **Prevenção proativa de fragmentação**: Identifica pacotes grandes e sinaliza MTU
|
||||
|
||||
## Como Funciona
|
||||
|
||||
O programa XDP para interface WireGuard:
|
||||
|
||||
1. **Para pacotes TCP**:
|
||||
- Detecta pacotes SYN (início de conexão)
|
||||
- Ajusta o valor MSS para valor seguro (1380 = 1420 - 40)
|
||||
- Evita fragmentação durante toda a sessão TCP
|
||||
|
||||
2. **Para todos os pacotes**:
|
||||
- Verifica o tamanho total contra o MTU do WireGuard
|
||||
- Gerencia pacotes com flag DF (Don't Fragment)
|
||||
- Memoriza MTU efetivo para cada destino
|
||||
|
||||
3. **Para pacotes grandes com DF flag**:
|
||||
- Sinaliza "fragmentação necessária" via ICMP
|
||||
- Permite que os hosts ajustem automaticamente o PMTU
|
||||
|
||||
## Benefícios Obtidos
|
||||
|
||||
- **Melhor Performance**: Elimina fragmentação desnecessária
|
||||
- **Latência Reduzida**: Evita retransmissões causadas por fragmentação
|
||||
- **Estabilidade**: Previne problemas de conectividade relacionados a MTU
|
||||
- **Eficiência**: Otimiza automaticamente conforme diferentes destinos
|
||||
|
||||
## Monitoramento
|
||||
|
||||
As estatísticas são mantidas em um mapa BPF e podem ser visualizadas com:
|
||||
```
|
||||
bpftool map dump name mtu_stats_map
|
||||
```
|
||||
|
||||
Estatísticas monitoradas:
|
||||
- Pacotes totais processados
|
||||
- Pacotes acima do MTU do WireGuard
|
||||
- Pacotes com MSS TCP ajustado
|
||||
- Pacotes que necessitaram fragmentação
|
||||
- Pacotes que dispararam sinalização PMTU
|
||||
Reference in new issue
Block a user