Contents

Introdução

Pré-requisitos

Requisitos

Componentes Utilizados

Informações de Apoio

Fragmentação

Pacote de partes SCTP

Configurações que afetam o dimensionamento

Tamanhos de MTU SCTP de modelo de parâmetro SCTP

Configuração de Interface Ethernet de Contexto MME

Tamanho da MTU da porta Ethernet

Capacidade de rádio S1APUE Tamanho do IE

Casos Práticos

Solução

Soluções Alternativas para Resolver Quedas

Solução #1:Reduza o tamanho máximo de MTU do SCTP

#2 alternativa: Aumente o tamanho de MTU do nó de transporte para mais de 1500

Informações Relacionadas

Introdução

Este documento descreve a fragmentação de SCTP e os mecanismos de agrupamento de partes no Cisco MME e como a fragmentação e o agrupamento afetam as quedas de pacotes.

Pré-requisitos

Requisitos

Não existem requisitos específicos para este documento.

Componentes Utilizados

As informações neste documento são baseadas nestas versões de software e hardware:

- Software QVPC-SI versão 21.28.m18

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

O SCTP (Stream Control Transmission Protocol) é um protocolo de transporte confiável que opera sobre uma rede de pacotes sem conexão, como o IP.  Ele pode fragmentar os dados de acordo com o tamanho de MTU do caminho descoberto e agrupar várias mensagens de usuário em um único pacote SCTP usando o agrupamento de partes. Este documento fornece dois métodos para corrigir quedas de pacotes que ocorrem devido a limitações de MTU de caminho.

Um estudo de caso exibe mecanismos de fragmentação e empacotamento e um meio de demonstrar que os descartes de pacotes, incluindo os descartes de pacotes que ocorrem fora do Cisco MME, em vez de devido à configuração do tamanho máximo de MTU do SCTP.

De acordo com o RFC 4960 (Stream Control Transmission Protocol) 6.9 (Fragmentação e remontagem):

"Se um ponto final suportar a fragmentação, ELE DEVERÁ fragmentar uma mensagem de usuário se o tamanho da mensagem de usuário a ser enviada fizer com que o tamanho do pacote SCTP de saída exceda o MTU atual."

Além disso, vários blocos de dados SCTP podem ser agrupados em um pacote SCTP de saída. O tamanho total do datagrama IP resultante, incluindo o pacote SCTP e os cabeçalhos IP, DEVE ser menor ou igual ao MTU de Caminho atual. No MME, a MTU de Caminho é configurada na interface IP que está processando esses pacotes.

Fragmentação

Pode haver vários fluxos em uma associação SCTP, cada um identificado por um identificador de fluxo (SI). O número de sequência de fluxo (SSN) identifica a ordem de cada fragmento dentro de um fluxo SCTP específico. Várias sessões podem usar o mesmo fluxo SCTP. O TSN (Transmission Sequence Number, número de sequência de transmissão) identifica a ordem de cada fragmento dentro de toda a associação SCTP.

Quando fragmentado, o bloco de dados de payload do SCTP indica nos campos B e E se o fragmento é o fragmento inicial, um fragmento do meio ou o fragmento final:

0                   1                   2                   3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|   Type = 0    | Reserved|U|B|E|    Length                     |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                              TSN                              |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|      Stream Identifier S      |   Stream Sequence Number n    |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                  Payload Protocol Identifier                  |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

\                                                               \

/                 User Data (seq n of Stream S)                 /

\                                                               \

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

B E                  Description

============================================================

|  1 0 | First piece of a fragmented user message          |

+----------------------------------------------------------+

|  0 0 | Middle piece of a fragmented user message         |

+----------------------------------------------------------+

|  0 1 | Last piece of a fragmented user message           |

+----------------------------------------------------------+

|  1 1 | Unfragmented message                              |

============================================================

|             Table 1: Fragment Description Flags          |

============================================================

Lacunas nos Números de Sequência de Fluxo podem indicar que fragmentos dentro do fluxo ou da associação estão sendo descartados. Os filtros do Wireshark podem ajudar a identificar falhas nos fluxos SCTP:

sctp.sack_gap_block_start or sctp.sack_gap_block_end

Pacote de partes SCTP

Vários blocos podem ser agrupados em um pacote SCTP até o tamanho do MTU, exceto os blocos INIT, INIT ACK e SHUTDOWN COMPLETE:

An SCTP packet is composed of a common header and chunks.  A chunk

contains either control information or user data.

The SCTP packet format is shown below:

0                   1                   2                   3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                        Common Header                          |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                          Chunk #1                             |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                           ...                                 |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                          Chunk #n                             |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

O comprimento da parte de cada parte de dados do SCTP é listado em cada parte de dados:

0                   1                   2                   3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|   Chunk Type  | Chunk  Flags  |        Chunk Length           |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

\                                                               \

/                          Chunk Value                          /

\                                                               \

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Configurações que afetam o dimensionamento

Tamanhos de MTU SCTP de modelo de parâmetro SCTP

No SCTP-Param-Template, o SCTP-Max-MTU-Size é configurado com o uso da opção sctp-max-mtu-size e/ou da opção sctp-start-mtu-size , configurada em bytes. 1500 bytes é o Tamanho Máximo de MTU de SCTP padrão e o Tamanho Inicial de MTU de SCTP padrão:

Exec > Global Configuration > SCTP Parameter Template Configuration

[Local]ASR5500-2# sctp-param-template template_name

[Local]ASR5500-2(sctp-param-template)# sctp-max-mtu-size 1500

[Local]ASR5500-2(sctp-param-template)# sctp-start-mtu-size 1500

No Serviço MME, o SCTP-Param-Template é associado ao Contexto MME:

Exec > Global Configuration > Context Configuration > MME Service

[mme]ASR5500-2(config-mme-service)# associate sctp-param-template S1_MME_SCTP

Configuração de Interface Ethernet de Contexto MME

A interface a ser usada pelo Serviço MME é configurada junto com o tamanho de MTU IP desejado em bytes (1500 é o padrão):

Exec > Global Configuration > MME Context Configuration

[mme]ASR5500-2(config-ctx)# interface int1/10_s1mme

[mme]ASR5500-2(config-if-eth)# ip address 10.5.203.195 255.255.255.254

[mme]ASR5500-2(config-if-eth)# ip mtu 2000

[mme]ASR5500-2(config-if-eth)# exit

Tamanho da MTU da porta Ethernet

No modo de configuração global, esse contexto MME é vinculado a uma porta Ethernet que aplica o IP MTU 1500 (padrão de 1500):

[mme]ASR5500-2(config)# port ethernet 1/10

#exit

vlan 200

no shutdown

bind interface int1/10_s1mme mme_ctx

#exit

vlan 201

no shutdown

bind interface int1/10_src mme_ctx

#exit

#exit

port ethernet 1/11

no shutdown

vlan 198

no shutdown

#exit

vlan 200

no shutdown

bind interface int1/11_s1mme mme_ctx

#exit

vlan 201

no shutdown

bind interface int1/11_src mme_ctx

#exit

Tamanho IE do recurso de rádio S1AP UE

Na configuração do serviço MME, os tamanhos de mensagem IE do recurso de rádio S1AP UE são configurados. O valor padrão é 9000 bytes:

[context_name]host_name(config-mme-service)# s1-mme ue-radio-cap size 9000

Casos Práticos

Este é um exemplo de uma mensagem fragmentada INITIAL CONTEXT SETUP REQUEST/UE CAPABILITY INFORMATION, que o SCTP fragmenta para atender ao Tamanho máximo de MTU do SCTP configurado.

No rastreamento de assinante, a mensagem ICMP "Fragmentation needed" (Fragmentação necessária) é retornada do roteador de transporte para o MME após a transmissão da mensagem INTIAL CONTEXT SETUP REQUEST fragmentada por SCTP.

No Quadro 5, vários pacotes SCTP (2) são agrupados em um único pacote IP:

A primeira parte de dados é o Último Segmento dessa mensagem fragmentada, como indicado pela marca 1 no elemento de informação E-Bit.

A segunda parte de dados não faz parte de uma mensagem fragmentada, pois os elementos de informação do bit B e do bit E são marcados com um número 1:

O primeiro bloco de dados SCTP tem 1383 bytes de comprimento. O segundo fragmento de dados do SCTP tem 89 bytes de comprimento, portanto, cada pacote individual do SCTP não excede o SCTP-Max-MTU-Size configurado de 1500 bytes:

Como o tamanho total do datagrama IP resultante, incluindo o pacote SCTP e os cabeçalhos IP, é menor que o tamanho de MTU IP configurado de 2000, esses fragmentos SCTP agrupados em um pacote IP no nível da pilha IP no MME.

Solução

Os tamanhos de mensagem IE do recurso de rádio S1AP UE são permitidos na configuração no valor padrão de 9000 bytes. A fragmentação deve ocorrer na camada SCTP para transportar essas mensagens em um nível menor que o tamanho máximo de MTU de SCTP configurado de 1500.

sctp-max-mtu-size sendo 1500 significa que qualquer pacote SCTP transmitido não excede 1500 bytes.

O tamanho de MTU da interface IP sendo 2000 significa que qualquer pacote IP não pode exceder 2000 bytes.

Um pacote IP pode ter vários pacotes SCTP e cada pacote SCTP pode ter vários blocos. Desde que o tamanho do pacote SCTP individual obedeça ao tamanho do MTU do SCTP e ao tamanho total de todos os pacotes SCTP combinados obedeça ao tamanho do MTU do IP, o nó está se comportando conforme esperado.

Os descartes de pacotes não estão ocorrendo no nó, se:

- O tamanho total dos fragmentos de SCTP nos quadros de rastreamento de pacotes é menor que o valor configurado de SCTP-Max-MTU-Size no SCTP-Param-Template e

- O valor total da PDU SCTP + o cabeçalho IP são menores que o tamanho de MTU da interface configurada no nó.

No nosso exemplo de estudo de caso, a investigação no roteador de transporte revelou que o roteador de transporte tinha um tamanho de MTU IP de 1500. Como o nó de transporte no meio tem um MTU de 1500, os pacotes foram descartados pela interface IP no nó de transporte, solicitando que o roteador de transporte enviasse uma mensagem ao MME indicando "Destino Inalcançável".

Soluções Alternativas para Resolver Quedas

Solução #1: Reduza o tamanho máximo de MTU do SCTP

Reduza o tamanho da MTU de SCTP configurando sctp-max-mtu-size para reduzir os valores até que você não veja as quedas.

Note: Ao reduzir o sctp-max-mtu-size, certifique-se também de que sctp-start-mtu-size esteja configurado com um valor menor ou igual ao sctp-max-mtu-size.

Exemplo: Modifique o sctp-param-template S1_MME_SCTP (sctp-start-mtu-size de 1500 para 1460),

#2 alternativa: Aumente o tamanho de MTU do nó de transporte para mais de 1500

Informações Relacionadas

- RFC 4960 Protocolo de transmissão de controle de fluxo

- Guia de Administração do MME, Capítulo do StarOS Versão 21.28: Capacidade de rádio UE Tamanho IE

- Referência de Interface de Linha de Comando, Modos E - F, Capítulo StarOS Release 21.28: Comandos do Modo de Configuração da Interface Ethernet Tamanho da MTU IP

- Referência de Interface de Linha de Comando, Modos E - F, StarOS, Capítulo: Comandos do Modo de Configuração da Interface Ethernet: ip mtu

- Comandos do Modo de Configuração do Modelo de Parâmetro SCTP: sctp-max-mtu-size

- Cisco TechNote - Configurar StarOS MTU Interface, APN e Assinantes Locais

- SR discutindo SCTP e MTU SR 697666400 (UE Ocioso para modo Ativo não funciona (erro de decodificação de solicitação de serviço visto em MME)