Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Achtergrondinformatie

fragmentatie

SCTP Chunk Bundling

Configuraties die van invloed zijn op grootte

SCTP-Param-Template SCTP MTU-formaten

MME Context Ethernet-interfaceconfiguratie

Ethernet-poort MTU-grootte

S1APUE-radiomogelijkheid IE-grootte

casestudy

Oplossing

Oplossingen om druppels op te lossen

Workaround #1: Verminder de maximale MTU-grootte van SCTP

Workaround #2: Verhoog de MTU-grootte van de transportknooppunt tot groter dan 1500

Gerelateerde informatie

Inleiding

Dit document beschrijft SCTP-fragmentatie en chunkbundelingsmechanismen in de Cisco MME en hoe fragmentatie en bundeling van invloed zijn op pakketdruppels.

Voorwaarden

Vereisten

Er zijn geen specifieke vereisten van toepassing op dit document.

Gebruikte componenten

De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:

- QVPC-SI softwareversie 21.28.m18

De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.

Achtergrondinformatie

Stream Control Transmission Protocol (SCTP) is een betrouwbaar transportprotocol dat werkt op een verbindingsloos pakketnetwerk zoals IP. Het kan gegevens fragmenteren om te voldoen aan de ontdekte MTU-padgrootte en meerdere gebruikersberichten bundelen in een enkel SCTP-pakket met behulp van chunkbundeling. Dit document biedt twee methoden om pakketdalingen te verhelpen die optreden als gevolg van beperkingen van pad-MTU.

Een casestudy toont fragmentatie- en bundelmechanismen en een middel om aan te tonen dat pakketdruppels, inclusief pakketdruppels die buiten de Cisco MME voorkomen, eerder dan vanwege de configuratie van de SCTP Max MTU-grootte.

Volgens RFC 4960 (Stream Control Transmission Protocol) 6.9 (Fragmentatie en hermontage):

"Als een eindpunt fragmentatie ondersteunt, MOET het een gebruikersbericht fragmenteren als de grootte van het te verzenden gebruikersbericht ervoor zorgt dat de uitgaande SCTP-pakketgrootte de huidige MTU overschrijdt."

Bovendien kunnen meerdere SCTP-dataschunks worden gebundeld in één uitgaand SCTP-pakket. De totale grootte van het resulterende IP-datagram, inclusief het SCTP-pakket en de IP-headers, MOET kleiner zijn dan of gelijk zijn aan de huidige Path MTU. Op de MME Path MTU is geconfigureerd op de IP-interface die deze pakketten verwerkt.

fragmentatie

Er kunnen meerdere streams in een SCTP-associatie zijn, elk geïdentificeerd door een Stream Identifier (SI). Stream Sequence Number (SSN) identificeert de volgorde voor elk fragment binnen een specifieke SCTP-stroom. Meerdere sessies kunnen dezelfde SCTP-stream gebruiken. Het Transmission Sequence Number (TSN) identificeert de volgorde voor elk fragment binnen de volledige SCTP-associatie.

Wanneer gefragmenteerd, de SCTP Payload gegevens chunk geeft in de B en E velden of het fragment is het begin fragment, een middelste fragment, of het einde fragment:

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          |

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

Gaten in Stream Sequence Numbers kunnen aangeven dat fragmenten binnen de stoom of associatie worden gedropt. Wirshark-filters kunnen hiaten in SCTP-streams helpen identificeren:

sctp.sack_gap_block_start or sctp.sack_gap_block_end

SCTP Chunk Bundling

Meerdere chunks kunnen worden gebundeld in één SCTP-pakket tot de MTU-grootte, behalve voor de INIT-, INIT-ACK- en SHUTDOWN COMPLETE-chunks:

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                             |

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

De Chunk Length voor elke SCTP Data Chunk wordt vermeld in elke Data Chunk:

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                          /

\                                                               \

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

Configuraties die van invloed zijn op grootte

SCTP-Param-Template SCTP MTU-formaten

In de SCTP-Param-Template wordt de SCTP-Max-MTU-Size geconfigureerd met behulp van de optie sctp-max-mtu-size en/of de optie sctp-start-mtu-size, geconfigureerd in bytes. 1500 bytes is de standaard SCTP Max MTU Size en standaard SCTP Start MTU Size:

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

In de MME Service is de SCTP-Param-Template gekoppeld aan de MME Context:

Exec > Global Configuration > Context Configuration > MME Service

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

MME Context Ethernet-interfaceconfiguratie

De interface die door de MME-service moet worden gebruikt, wordt samen met de gewenste IP MTU-grootte in bytes geconfigureerd (1500 is standaard):

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

Ethernet-poort MTU-grootte

In de globale configuratiemodus is deze MME-context gebonden aan een ethernetpoort die de IP MTU 1500 (standaard 1500) toepast:

[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

S1AP UE Radio Capability IE-formaat

In de configuratie van de MME-service worden de berichtgroottes van de S1AP UE Radio Capability IE geconfigureerd. De standaardwaarde is 9000 bytes:

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

casestudy

Hier is een voorbeeld van een gefragmenteerd INITIËLE CONTEXT SETUP REQUEST/UE CAPABILITY INFORMATION-bericht, dat SCTP-fragmenten bevat om te voldoen aan de geconfigureerde SCTP Max MTU-grootte.

In subscriber traces wordt het ICMP-bericht "Fragmentatie vereist" van de transportroute naar de MME geretourneerd na de verzending van het SCTP-gefragmenteerde INTIAL CONTEXT SETUP REQUEST-bericht.

In Frame 5 worden meerdere SCTP-pakketten (2) samengevoegd onder één IP-pakket:

De eerste dataschunk is het laatste segment van dat gefragmenteerde bericht, zoals aangegeven door het 1-teken in het E-Bit-informatie-element.

De tweede dataschunk maakt geen deel uit van een gefragmenteerd bericht, omdat door de B-Bit en E-Bit informatie-elementen zijn gemarkeerd met een nummer 1:

De eerste SCTP-dataschunk heeft een lengte van 1383 bytes. De tweede SCTP-dataschunk is 89 bytes lang, dus elk afzonderlijk SCTP-pakket overschrijdt niet de geconfigureerde SCTP-Max-MTU-grootte van 1500 bytes:

Omdat de totale grootte van het resulterende IP-datagram, inclusief het SCTP-pakket en IP-headers kleiner is dan de geconfigureerde IP MTU-grootte van 2000, werden deze SCTP-brokken gegroepeerd binnen één IP-pakket op het IP-stapelniveau op de MME.

Oplossing

S1AP UE Radio Capability IE-berichtgroottes zijn toegestaan in de configuratie met de standaardwaarde van 9000 bytes. Fragmentatie moet plaatsvinden op de SCTP-laag om deze berichten te dragen op een niveau kleiner dan de geconfigureerde SCTP Max MTU-grootte van 1500.

sctp-max-mtu-grootte zijnde 1500 betekent dat elk SCTP-pakket verzonden niet meer dan 1500 bytes.

De grootte van de IP-interface MTU is 2000, wat betekent dat elk IP-pakket niet meer dan 2000 bytes kan bevatten.

Een IP-pakket kan meerdere SCTP-pakketten bevatten en elk SCTP-pakket kan meerdere brokken bevatten. Zolang de individuele SCTP-pakketgrootte voldoet aan de SCTP MTU-grootte en de totale grootte van alle SCTP-pakketten samen voldoet aan de IP MTU-grootte, gedraagt de node zich zoals verwacht.

Pakketdruppels komen niet voor in de node, als:

- De totale grootte van SCTP-brokken binnen pakkettraceringsframes is kleiner dan de geconfigureerde waarde van SCTP-Max-MTU-Size in de SCTP-Param-Template en

- De totale waarde van de SCTP-PDU + de IP-header is kleiner dan de geconfigureerde MTU-interfacegrootte op de node.

In ons voorbeeld van een casestudy bleek uit onderzoek naar de transportrouter dat de transportrouter een IP MTU-grootte van 1500 had. Aangezien het transportknooppunt daartussen een MTU van 1500 heeft, werden de pakketten door de IP-interface op het transportknooppunt gedropt, waardoor de transportrouter een bericht naar de MME stuurde met de vermelding "Destination Unreach".

Oplossingen om druppels op te lossen

Workaround #1: Verminder de maximale MTU-grootte van SCTP

Verminder de SCTP MTU-grootte door sctp-max-mtu-grootte te configureren om waarden te verlagen totdat u de druppels niet ziet.

Opmerking: Wanneer u de sctp-max-mtu-grootte verlaagt, moet u er ook voor zorgen dat de sctp-start-mtu-grootte is geconfigureerd voor een waarde kleiner dan of gelijk aan de sctp-max-mtu-grootte.

Voorbeeld: Wijzig de sctp-param-template S1_MME_SCTP (sctp-start-mtu-grootte van 1500 tot 1460),

Workaround #2: Verhoog de MTU-grootte van de transportknooppunt tot groter dan 1500

Gerelateerde informatie

- RFC 4960 — Stream Control Transmission Protocol

- MME Administration Guide, StarOS Release 21.28 Hoofdstuk: UE Radio Capability IE Size

- Referentie opdrachtregelinterface, modi E - F, StarOS versie 21.28 Hoofdstuk: Configuratiemodus Ethernet-interface Opdrachten IP MTU-grootte

- Opdrachtregelinterface, Referentiemodi E - F, StarOS, Hoofdstuk: Configuratiemodus Ethernet-interface Opdrachten: ip mtu

- SCTP-parametersjabloon Configuratiemodus Opdrachten: sctp-max-mtu-size

- Cisco TechNote - StarOS MTU-interface, APN en lokale abonnees configureren

- SR bespreekt SCTP en MTU SR 697666400 (UE Inactief naar Actief werkt niet (Fout bij serviceaanvraagdecodering gezien op MME)