Introdução
Este documento descreve como configurar StarOS MTU Interface, APN e assinantes locais.
O StarOS tem várias CLIs para configurar o tamanho da Unidade Máxima de Transmissão (MTU - Maximum Transmission Unit) para interfaces, APNs e perfil de assinantes locais.
Pré-requisitos
Requisitos
Não existem requisitos específicos para este documento.
Componentes Utilizados
Este documento não se restringe a versões de software e hardware específicas.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Informações de Apoio
A unidade de transmissão máxima (MTU) define o maior tamanho de pacotes que uma interface pode transmitir sem a necessidade de fragmentar.
Os pacotes IP maiores que o MTU devem passar pelos procedimentos de fragmentação de IP.
O valor de MTU é o tamanho do quadro sem cabeçalhos Ethernet, marcação de VLAN ou outra sobrecarga.
Configurar
-
Interface Configuração de tamanho de MTU
configure
context context_name
interface interface_name
ip mtu bytes
end
Referência: Referência de interface de linha de comando, Comandos do modo de configuração da interface Ethernet, StarOS 21.23
Essa configuração é imposta pelo NPU/iftask/VPP do ASR5500/VPC.
Essa configuração funciona em uma camada mais baixa em comparação com a configuração APN MTU, o que significa que ela funciona em pacotes ip/ipv6 e não reconhece túneis.
Para ser mais específico, ele funciona apenas em pacotes IP de saída (dados + ctrl) e fragmenta os pacotes em tamanhos menores com base no valor configurado.
O IP MTU é suportado para uma interface normal e uma interface ponto a ponto (portas OLC).
O tamanho máximo de MTU permitido com uma porta OLC é 1600.
O tamanho máximo de MTU permitido com uma porta Ethernet é 2048. O tamanho de MTU padrão é 1500.
Os tamanhos máximos para MTUs ethernet são:
-
Configuração de Tamanho de MTU do Túnel de Dados APN
configure
context context_name
apn apn_name
pco-options link-mtu bytes
ppp mtu bytes
data-tunnel mtu bytes
policy ipv6 tunnel mtu exceed { fragment inner | notify-sender | fragment }
access-link ip-fragmentation { df-ignore | normal | df-fragment-and-icmp-notify }
end
- ppp mtu bytes
Referência: Referência de Interface de Linha de Comando, Modos R - Z, StarOS Release 21.28
Esta configuração controla o payload de MTU do túnel de dados de downlink para IPv4 no gateway StarOS. Pacotes que excedem esse tamanho são fragmentados e encapsulados em túnel.
O valor é um inteiro de 100 a 2000. Padrão: 1500
Importante: O MTU refere-se ao payload do PPP que exclui os dois octetos do PPP. Portanto, um MTU de 1500 corresponde ao MTU padrão de 3GPP de 1502 para pacotes GTP com payloads de PPP.
-
data-tunnel mtu bytes
Referência: Referência de Interface de Linha de Comando, Modos R - Z, StarOS Release 21.28
De acordo com o RFC-4861, o P-GW suporta o envio da opção de MTU IPv6 em RAs para os tipos PDN IPv6 e IPv4v6 para a UE.
O (Internet) pode agora enviar um pacote de dados de downlink e, com base no MTU configurado, a fragmentação de dados é realizada na origem, se necessário.
Esse recurso também reduz o número de mensagens de erro de pacote ICMPv6 muito grande na rede do cliente.
Essa configuração controla a carga de MTU do túnel de dados de downlink para IPv6.
Os pacotes que excedem esse tamanho são descartados/fragmentados com base na configuração de "política". O valor é um inteiro entre 1280 e 2000. Padrão: 1500
Caution: Como esse recurso interage com a configuração TCP MSS.
Trecho do RFC 6691:
"""
2. A breve declaração
Ao calcular o valor a ser colocado na opção TCP MSS, o MTU
valor DEVE ser diminuído somente pelo tamanho do IP fixo e TCP
cabeçalhos e NÃO DEVEM ser diminuídos para considerar qualquer IP ou
opções de TCP; por outro lado, o remetente DEVE reduzir o comprimento dos dados TCP
para responder por quaisquer opções de IP ou TCP que esteja incluindo no
pacotes que ele envia. O restante deste documento apenas expõe em
declaração, e o objetivo é evitar a fragmentação do nível de IP
Pacotes TCP.
"""
Isso significa que o payload real é reduzido por bytes de opções TCP para um determinado TCP MSS.
Se pegarmos como exemplo um MSS de 1390 e opções TCP de 12 bytes, o payload será de 1378 bytes.
CARGA ÚTIL 1378 +
TCP 32 + = 1410 ( 1378B [CARGA] + 12B [opções TCP] = 1390B MSS)
IPv6 40 + = 1.450
GTPU 8 + = 1462
UDP 8 + = 1470
IP 20 + = 1490 <— `data-tunel mtu` é comparado aqui
VLAN 4 + = 1494
ETH 14 = 1504
+---------------------------+ DT-MTU +-------------------------------+
| |
| +--------+ MSS +--------+
v v v
+----------+-----------------+--------+--------+--------+--------------------------------+
| Ethernet | VLAN | IPv4 | UDP | GTP | IPv6 | TCP | Payload + TCP Options |
| header | header | 20B | 8B | 8B | 40B | 20B | 1390B |
+----------+--------+--------+--------+--------+--------+--------+-----------------------+
Se a MTU de sintonia de dados configurada for menor que 1490 no caso acima, a política de MTU Exceder será aplicada ao pacote.
-
policy ipv6 tunnel mtu excede { fragment inner | notifique o remetente | fragmento }
Referência: Referência de Interface de Linha de Comando, Modos R - Z, StarOS Release 21.28
Se considerarmos este pacote visto na interface SGi:
| Frame 81: 1514 bytes on wire (12112 bits), 1514 bytes captured (12112 bits)
1514 | 14 | Ethernet II, Src: fa:16:3e:5e:0a:23 (fa:16:3e:5e:0a:23), Dst: fa:16:3e:5d:f8:03 (fa:16:3e:5d:f8:03)
1500 | 4 | 802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 70
1496 | 40 | Internet Protocol Version 6, Src: 2001:192:168:80:f816:3eff:fe60:93a, Dst: 2001:20::4c99:6101
1456 | 1456 | Internet Control Message Protocol v6
Onde a primeira coluna representa os bytes acumulados e a segunda coluna - tamanho do cabeçalho.
- fragmento interno
O sistema executará uma fragmentação interna de IPv6 no iniciador de túnel GTP, que é o usuário, se o pacote do assinante exceder o MTU após o encapsulamento.
O pacote em S1-U será fragmentado da seguinte maneira:
# Frag #1
| Frame 51: 1510 bytes on wire (12080 bits), 1510 bytes captured (12080 bits)
1510 | 14 | Ethernet II, Src: fa:16:3e:b5:f6:b2 (fa:16:3e:b5:f6:b2), Dst: fa:16:3e:96:00:d9 (fa:16:3e:96:00:d9)
1496 | 4 | 802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 40
1492 | 20 | Internet Protocol Version 4, Src: 10.1.40.1, Dst: 192.168.1.100
1472 | 8 | User Datagram Protocol, Src Port: 1, Dst Port: 2152
1464 | 8 | GPRS Tunneling Protocol
1456 | 48 | Internet Protocol Version 6, Src: 2001:192:168:80:f816:3eff:fe60:93a, Dst: 2001:20::4c99:6101
1408 | 1408 | Internet Control Message Protocol v6
# Frag #2
| Frame 52: 150 bytes on wire (1200 bits), 150 bytes captured (1200 bits)
150 | 14 | Ethernet II, Src: fa:16:3e:b5:f6:b2 (fa:16:3e:b5:f6:b2), Dst: fa:16:3e:96:00:d9 (fa:16:3e:96:00:d9)
136 | 4 | 802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 40
132 | 20 | Internet Protocol Version 4, Src: 10.1.40.1, Dst: 192.168.1.100
112 | 8 | User Datagram Protocol, Src Port: 1408, Dst Port: 2152
104 | 8 | GPRS Tunneling Protocol
96 | 48 | Internet Protocol Version 6, Src: 2001:192:168:80:f816:3eff:fe60:93a, Dst: 2001:20::4c99:6101
48 | 48 | Data (48 bytes)
- notify-sender
O sistema é uma descoberta de PMTU e envia "Pacote ICMPv6 Muito Grande" ao remetente original se o pacote do assinante exceder o MTU após o encapsulamento.
- fragmento
O sistema fará uma fragmentação externa do IPv6 se o pacote do assinante exceder o MTU após o encapsulamento.
O pacote em S1-U será fragmentado da seguinte maneira:
# Frag #1
| Frame 108: 1510 bytes on wire (12080 bits), 1510 bytes captured (12080 bits)
1510 | 14 | Ethernet II, Src: fa:16:3e:b5:f6:b2 (fa:16:3e:b5:f6:b2), Dst: fa:16:3e:96:00:d9 (fa:16:3e:96:00:d9)
1496 | 4 | 802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 40
1492 | 20 | Internet Protocol Version 4, Src: 10.1.40.1, Dst: 192.168.1.100
1472 | 8 | User Datagram Protocol, Src Port: 2152, Dst Port: 2152
1464 | 8 | GPRS Tunneling Protocol
1456 | 40 | Internet Protocol Version 6, Src: 2001:192:168:80:f816:3eff:fe60:93a, Dst: 2001:20::4c99:6201
1416 | 1416 | Internet Control Message Protocol v6
# Frag #2
| Frame 109: 78 bytes on wire (624 bits), 78 bytes captured (624 bits)
78 | 14 | Ethernet II, Src: fa:16:3e:b5:f6:b2 (fa:16:3e:b5:f6:b2), Dst: fa:16:3e:96:00:d9 (fa:16:3e:96:00:d9)
64 | 4 | 802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 40
60 | 20 | Internet Protocol Version 4, Src: 10.1.40.1, Dst: 192.168.1.100
40 | 40 | Data (40 bytes)
-
access-link ip-fragmentation { df-ignore | normal | df-fragment-and-icmp-notify }
Referência: Referência de Interface de Linha de Comando, Modos R - Z, StarOS Release 21.28
- df- ignore
A configuração padrão, o StarOS sempre fragmentará o pacote, independentemente do bit df.
-normal
Descarta o pacote e envia uma mensagem ICMP de inalcançável à origem do pacote.
- df-fragment-and-icmp-notify
Ignora parcialmente o bit DF; fragmenta e encaminha o pacote, mas também retorna uma mensagem de erro ICMP à origem do pacote.
-
pco-options link-mtu <>
Referência: Referência de Interface de Linha de Comando, Modos R - Z, StarOS Release 21.28
Configura o APN para incluir o link MTU no PCO IE, se solicitado pelo UE.
Quando UE envia solicitação PCO de tamanho de MTU de link IPv4 durante conexão PDN de anexo inicial/autônoma, S-GW/SGSN/HSGW envia o mesmo de forma transparente em Criar solicitação de sessão, Criar/atualizar solicitação de contexto PDP ou PBU para P-GW, GGSN ou PMIP-PGW.
Criar Resposta de Sessão, Criar/ Atualizar Resposta de Contexto PDP/ PBA será enviado com o valor PCO do tamanho de MTU configurado mais recente em APN.
Se UE estiver em roaming de saída, o valor padrão (1500) será fornecido no PCO de tamanho de MTU.
-
Perfil do assinante (subs CDMA)
configure
context context_name
subscriber default
ipv6 minimum-link-mtu bytes
ppp mtu bytes
mobile-ipv6 tunnel mtu bytes
pco-options link-mtu bytes
end
Referência: Referência de Interface de Linha de Comando, Comandos do Modo de Configuração do Assinante, StarOS 21.23
Verificar
Use esta seção para confirmar se a sua configuração funciona corretamente.
Comandos StarOS para verificar a configuração:
show configuration
show configuration verbose
show configuration apn apn_name
Troubleshooting
Esta seção fornece as informações que você pode usar para solucionar problemas da sua configuração.
- monitorar o assinante com verbosidade mínima 3 - para ver as opções de PCO.
- Pcap externo - para ver a fragmentação do pacote