Quando estamos configurando um roteador BNG, uma das nossas maiores preocupações deve ser com o tamanho do payload que nossos assinantes terão disponível para utilização e cada pacote.
Por que isso é uma preocupação?
Com o crescimento do uso de aplicações de streaming, o tráfego tenta utilizar o máximo de MTU disponível no caminho. Mas como sabemos, no protocolo IPv4 este atributo considera o maior valor negociado entre as das pontas da sessão, e algumas vezes, se nós temos um salto coma MTU menor que a negociada entre as duas pontas, nós teremos fragmentação nesta comunicação.
Esta fragmentação requer um espaço no buffer para reconstruir os pacotes originais, mas para streaming, infelizmente é normal que aconteça uma sobrecarga e algum conteúdo seja descartado.
Quando temos que ter essa preocupação?
Nós temos que nos preocupar com o MTU em muitos pontos de nossa rede, pro exemplo na minha estrutura de MPLS, nos meus contratos de transporte, no acesso de meus assinantes, etc.
Mas porque o título desse post é “A armadilha do ppp-max-payload”?
Um dos pontos onde temos que ter atenção ao MTU em nossa estrutura é quando utilizamos PPPoE para o acesso de nossos assinantes.
Quando utilizamos o PPPoE como o protocolo para controlar a conexão, nós precisamos adicionar 6 Bytes ao cabeçalho original do pacote, então o MRU (MaximumReceive Unit) não poderá ser maior que 1494 Bytes.
A configuração padrão dos BNG da Huawei considera que não é necessária a negociação do MRU da conexão durante a fase de link discovery do processo PPPoE. Se a MRU da conexão PPPoE não for negociada durante essa fase, o dispositivo irá encaminhar todos os pacotes que forem menores que a MTU negociada e fragmentará os pacotes com tamanho maior.
Em muitos ambientes, eu já vi administradores alterando o comportamento padrão do BNG usando o comando abaixo:
[HUAWEI] pppoe ppp-max-payload enable
Com este comando, durante a fase de link discovery do processo PPP, a MRU da conexão será limitada pelo menor valor entre a MTU e o valor max-payload definido pelo administrador.
Estudando toda a teoria desse processo, nós podemos não ver nenhum problema, porque em um mundo perfeito todos os fabricantes seguem todas as RFC e outros padrões. Num mundo perfeito, nós podemos utilizar qualquer produto BNG interagindo com qualquer equipamento CPE e tudo o que lemos até agora funcionará perfeitamente.
Infelizmente, nós só vemos mundos perfeitos nos contos de fadas. No mundo real a maior preocupação dos administradores é solucionar os mais diversos problemas de interoperabilidade que encontramos entre os diferentes fabricantes.
Algumas vezes recebo o contato de administradores de ISP falando sobre problemas com seus assinantes quando tentam acessar conteúdos de streaming. Isto normalmente é um sintoma de problemas durante a negociação de MTU. Mais de 80% dos ISP que me procuraram sobre com este problema estão utilizando este comando e experimentando problemas com CPE de baixo custo.
O que eu já descobri é que existe algum problema durante a fase de negociação entre Huawei a alguns CPE de baixo custo, e por isso acabam assumindo um valor de MRU incorreto.
Todos os clientes onde desativei esse comando, voltando o BNG à configuração inicial não teve mais o sintoma relatado.
Se você precisa conhecer mais sobre o processo de PPPoE, você pode utilizar o material do treinamento HCIA-Datacom usando este link. https://e.huawei.com/en/talent/ - /cert/product-details?certifiedProductId=287&authenticationLevel=CTYPE_CARE_HCIA&technicalField=IIC&version=1.0
Para ler mais sobre o comando “pppoe max-payload” você pode acessar este link https://support.huawei.com/hedex/hdx.do?docid=EDOC1100169782&id=EN-US_CLIREF_0314069563&lang=en
Se você tem mais informação para agregar a esta discussão, por favor, nos envie nos comentários.
#ComunidadHuaweiEntreprise
#VIP