Sem fio/Mobilidade : Gateway GPRS Support Node (GGSN)

ASR5x00 Series: Falha de alocação IP em cima da criação do pedido PDP

14 Outubro 2016 - Tradução por Computador
Outras Versões: Versão em PDFpdf | Inglês (21 Abril 2016) | Feedback

Introdução

Este documento descreve uma falha da alocação de endereço IP que aconteça devido a um tipo do protocolo dos dados de pacote desconhecido (PDP) ou ao tipo erros PDP em GTP_CREATE_PDP_RESPONSE. Este problema é relatado no 5x00 Series do roteador dos serviços da agregação de Cisco (ASR) que trabalha como um Gateway GPRS Support Node (GGSN).

Contribuído por Karuna Jha, engenheiro de TAC da Cisco.

Problema

O equipamento de usuário (UE) pede um endereço IP estático <x.x.x.x>.

O usuário tem a atribuição de endereço IP estático do servidor de assinante do registro de lugar home (HLR) /Home (HS) para um nome particular do Access point (APN), assim que o utilizador final não é suposto ser atribuído dinamicamente com um endereço IP de Um ou Mais Servidores Cisco ICM NT do GGSN.

Este erro foi observado do subscritor do monitor que conduziu à falha da sessão de estabelecimento:

#Monitor subscriber Imsi  <> (enable options x, a, y, verbosity 4)

----------------------------------------------------------------------
Incoming Call:
----------------------------------------------------------------------
MSID/IMSI : <> Callid : <>
IMEI : <> MSISDN : <>
Username : <> SessionType : ggsn-pdp-type-ipv4
Status : Active Service Name: GGSN_SVC
Src Context : <>
----------------------------------------------------------------------

INBOUND>>>>> 21:50:38:497 Eventid:47000(3)
GTPC Rx PDU, from <IP>:34273 to <IP>:2123 (213)
TEID: 0x00000000, Message type: GTP_CREATE_PDP_CONTEXT_REQ_MSG
(0x10) >>>1st Create PDP Request
Sequence Number:: 0x7B16 (31510)


<<<<OUTBOUND 21:50:38:501 Eventid:47001(3)
GTPC Tx PDU, from <IP>:2123 to <IP>:34273 (103)
TEID:0x179E3645, Message type: GTP_CREATE_PDP_CONTEXT_RES_MSG
(0x11) >>>1st Create PDP Response
Sequence Number:: 0x7B16 (31510)

----------------------------------------------------------------------
(Switching Trace) - New Incoming Call:
----------------------------------------------------------------------
MSID/IMSI : <> Callid : <>
IMEI : <> MSISDN : <>
Username : <> SessionType : ggsn-pdp-type-ipv4
Status : Active Service Name: GGSN_SVC
Src Context : <>
----------------------------------------------------------------------

INBOUND>>>>> 21:50:41:346 Eventid:47000(3)
GTPC Rx PDU, from <IP>:34273 to <IP>:2123 (213)
TEID: 0x00000000, Message type: GTP_CREATE_PDP_CONTEXT_REQ_MSG
(0x10) >>>2nd PDP Request
Sequence Number:: 0x7B20 (31520)


***CONTROL*** 21:50:41:360 Eventid:10083
Sessmgr-80 Failed to allocate static IPv4 address <IP> mask 0xffffffff poolname
<Pool_name> for call (errcode=VPN_MSG_STATUS_DUPLICATE_INSTANCE)

<<<<OUTBOUND 21:50:41:363 Eventid:47001(3)
GTPC Tx PDU, from <IP>:2123 to <IP>:34273 (103)
TEID: 0x179E36C5, Message type: GTP_CREATE_PDP_CONTEXT_RES_MSG
(0x11) >>>2nd PDP Response
Sequence Number:: 0x7B20 (31520)


INBOUND>>>>> 21:58:04:155 Eventid:47000(3)
GTPC Rx PDU, from <IP>:34273 to <IP>:2123 (16)
TEID: 0x9D052050, Message type: GTP_DELETE_PDP_CONTEXT_REQ_MSG (0x14)
Sequence Number:: 0x801F (32799)


<<<<OUTBOUND 21:58:04:156 Eventid:47001(3)
GTPC Tx PDU, from <IP>:2123 to <IP>:34273 (14)
TEID: 0x179E36C5, Message type: GTP_DELETE_PDP_CONTEXT_RES_MSG (0x15)
Sequence Number:: 0x801F (32799)



***CONTROL*** 21:58:04:170 Eventid:10285
CALL STATS: msisdn <>, apn <apn_name>, imsi <>, Call-Duration(sec): 443
input pkts: 7 output pkts: 19
input bytes: 301 output bytes: 928
input bytes dropped: 0 output bytes dropped: 0
input pkts dropped: 0 output pkts dropped: 0
pk rate from user(bps): 0 pk rate to user(bps): 53
ave rate from user(bps): 0 ave rate to user(bps): 26
sust rate from user(bps): 0 sust rate to user(bps): 27
pk rate from user(pps): 0 pk rate to user(pps): 0
ave rate from user(pps): 0 ave rate to user(pps): 0
sust rate from user(pps): 0 sust rate to user(pps): 0
link online/active percent: 100
ipv4 bad hdr: 0 ipv4 ttl exceeded: 0
ipv4 fragments sent: 0 ipv4 could not fragment: 0
ipv4 input acl drop: 0 ipv4 output acl drop: 0
ipv4 bad length trim: 0
ipv4 input non-mip drop: 0 ipv4 output non-mip drop: 0
ipv4 input css drop: 0 ipv4 output css drop: 0
output gre xoff pkts drop: 0 output gre xoff bytes drop: 0
ipv4 output no-flow drop: 0
ipv4 source violations: 0 ipv4 early pdu drop: 0
ipv4 proxy-dns redirect: 0 ipv4 proxy-dns pass-thru: 0
ipv4 proxy-dns drop: 0 ipv4 proxy-dns redirect tcp connection: 0
ipv6 bad hdr: 0 ipv6 bad length trim: 0
ip source violation no acct: 0 ip source violation ignored: 0
dlnk pkts exceeded bw: 0 dlnk pkts violated bw: 0
uplnk pkts exceeded bw: 0 uplnk pkts violated bw: 0
Disconnect Reason: Remote-disconnect
Last Progress State: PDP-Type-IPv4-Connected

Quando o erro “não é atribuído o <pool_name estático do poolname da máscara 0xffffffff do endereço <x.x.x.x> do IPv4 > para o atendimento (errcode =VPN_MSG_STATUS_DUPLICATE_INSTANCE)” ocorreu e a criação de sessão falhada, não havia nenhuma estação móvel (MS) /UE atribuída com o mesmo endereço IP de Um ou Mais Servidores Cisco ICM NT. Isto foi verificado com o comando do IP address <x.x.x.x> dos showsubscribers.

[local]ASR5x00#show subscribers ip-address <x.x.x.x>
No subscribers match the specified criteria

Para cada bem sucedido crie PDP para o mesmo usuário, a saída do subscritor da mostra o comando do IP address <x.x.x.x> que mostra que o IP x.x.x.x esteve traçado com a mesma identidade do assinante de celular internacional (IMSI).

[local]ASR5x00# show subscribers ip-address <x.x.x.x>

Sunday October 12 21:51:36 PDT 2014

+-----Access (S) - pdsn-simple-ip (M) - pdsn-mobile-ip (H) - ha-mobile-ip

| Type: (P) - ggsn-pdp-type-ppp (h) - ha-ipsec (N) - lns-l2tp

| (I) - ggsn-pdp-type-ipv4 (A) - asngw-simple-ip (G) - IPSG

| (V) - ggsn-pdp-type-ipv6 (B) - asngw-mobile-ip (C) - cscf-sip

| (z) - ggsn-pdp-type-ipv4v6

| (R) - sgw-gtp-ipv4 (O) - sgw-gtp-ipv6 (Q) - sgw-gtp-ipv4-ipv6

| (W) - pgw-gtp-ipv4 (Y) - pgw-gtp-ipv6 (Z) - pgw-gtp-ipv4-ipv6

| (@) - saegw-gtp-ipv4 (#) - saegw-gtp-ipv6 ($) - saegw-gtp-ipv4-ipv6

| (p) - sgsn-pdp-type-ppp (s) - sgsn (4) - sgsn-pdp-type-ip

| (6) - sgsn-pdp-type-ipv6 (2) - sgsn-pdp-type-ipv4-ipv6

| (L) - pdif-simple-ip (K) - pdif-mobile-ip (o) - femto-ip

| (F) - standalone-fa (J) - asngw-non-anchor

| (e) - ggsn-mbms-ue (i) - asnpc (U) - pdg-ipsec-ipv4

| (E) - ha-mobile-ipv6 (T) - pdg-ssl (v) - pdg-ipsec-ipv6

| (f) - hnbgw-hnb (g) - hnbgw-iu (x) - s1-mme

| (a) - phsgw-simple-ip (b) - phsgw-mobile-ip (y) - asngw-auth-only

| (j) - phsgw-non-anchor (c) - phspc (k) - PCC

| (X) - HSGW (n) - ePDG (t) - henbgw-ue

| (m) - henbgw-sg

| (D) - bng-simple-ip (l) - pgw-pmip (u) - Unknown

|

|+----Access (X) - CDMA 1xRTT (E) - GPRS GERAN (I) - IP

|| Tech: (D) - CDMA EV-DO (U) - WCDMA UTRAN (W) - Wireless LAN

|| (A) - CDMA EV-DO REVA (G) - GPRS Other (M) - WiMax

|| (C) - CDMA Other (N) - GAN (O) - Femto IPSec

|| (P) - PDIF (S) - HSPA (L) - eHRPD

|| (T) - eUTRAN (B) - PPPoE (F) - FEMTO UTRAN

|| (H) - PHS (.) - Other/Unknown

||

||+---Call (C) - Connected (c) - Connecting

||| State: (d) - Disconnecting (u) - Unknown

||| (r) - CSCF-Registering (R) - CSCF-Registered

||| (U) - CSCF-Unregistered

|||

|||+--Access (A) - Attached (N) - Not Attached

|||| CSCF (.) - Not Applicable

|||| Status:

||||

||||+-Link (A) - Online/Active (D) - Dormant/Idle

||||| Status:

|||||

|||||+Network (I) - IP (M) - Mobile-IP (L) - L2TP

||||||Type: (P) - Proxy-Mobile-IP (i) - IP-in-IP (G) - GRE

|||||| (V) - IPv6-in-IPv4 (S) - IPSEC (C) - GTP

|||||| (A) - R4 (IP-GRE) (T) - IPv6 (u) - Unknown

|||||| (W) - PMIPv6(IPv4) (Y) - PMIPv6(IPv4+IPv6) (R) - IPv4+IPv6

|||||| (v) - PMIPv6(IPv6)

||||||

||||||

vvvvvv CALLID MSID USERNAME IP TIME-IDLE

------ -------- --------------- ---------------------- -------------------- ---------

IECNAI <> <> name@apn_name x.x.x.x 00h00m57s

Dos traços observou-se que havia muito um curto período de tempo (~20ms) entre o supressão e a criação do PDP. Eis porque o gateway rejeitou o PDP com o código de erro VPN_MSG_STATUS_DUPLICATE_INSTANCE.

Configuração inicial APN

apn apn_name

bearer-control-mode mixed

selection-mode subscribed sent-by-ms chosen-by-sgsn

accounting-mode none

gtpp group CGF1 accounting-context <context_name>

gtpp group CGF2 accounting-context <context_name>

gtpp group CGF3 accounting-context <context_name>

gtpp group CGF4 accounting-context <context_name>

idle-timeout-activity ignore-downlink

apn-ambr rate-limit direction downlink burst-size auto-readjust
duration 1 violate-action drop

apn-ambr rate-limit direction uplink burst-size auto-readjust
duration 1 violate-action drop

ims-auth-service <service name>

timeout idle 14400

ip access-group onegas.com in

ip access-group onegas.com out

ip source-violation check drop-limit 0

ip context-name <context name>

ip address pool name <pool name>

active-charging rulebase <Rulebase>

exit

Um pensamento é reduzir o endereço-posse-temporizador, mas o conceito do “endereço-posse-temporizador” é aplicável somente para a atribuição de endereço IP dinâmico e não para a alocação estática.

Isto foi verificado dentro o laboratório igualmente:

[Gi](config-ctx)#

ip pool SIMPLE-POOL a.b.c.d 255.255.0.0 static address-hold-timer 100

Failure: Hold timer can not be configured for this pool

Nota: Quando o “endereço-posse-temporizador” é permitido e um assinante ativo está desligado, o endereço IP de Um ou Mais Servidores Cisco ICM NT está realizado ou considerado ainda no uso e não está retornado ao estado livre até que o endereço-posse-temporizador expire. Isto permite os assinantes que reconectam dentro do intervalo de tempo especificado (nos segundos) para obter o mesmo endereço IP de Um ou Mais Servidores Cisco ICM NT do IP pool.

Causa de raiz

Quando há uma diferença de tempo pequena entre o pedido da supressão PDP (DPR) e o pedido da criação PDP (CPR) para o mesmo IMSI, o servidor Radius retorna o mesmo endereço estático.

Quando o DPR é recebido pelo ASR 5x00 processa o DPR e aceita um CPR novo, mas entrementes ainda guarda o endereço IP estático e toma algum tempo (250ms) para que o vpnmgr libere-se/nivela o endereço. Desde que o CPR novo vem antes que este nivelado termine, o ASR 5x00 rejeita o CPR novo.

Neste caso, a diferença de tempo entre o supressão do PDP e a criação do PDP são muito pequenas.

No diagrama da captura de pacote de informação, você pode ver que a diferença de tempo (mostrada no bloco vermelho) entre a supressão PDP e cria PDP é muito pequeno.

Você deve esperar um atraso da Senhora 250 entre o supressão e a criação para a alocação de endereço IP para que o mesmo endereço seja bem sucedido.

Este é o requisito de projeto para a arquitetura distribuída. Veja a ação alternativa na seção de solução a fim evitar todo o impacto para a atribuição de endereço estático.

Solução

Veja esta ação alternativa da configuração aplicada no gateway.

 config   

context <>

ggsn-service <>

newcall duplicate-subscriber-requested-address accept

exit

Este comando permite ou desabilita conexões de chamada novas, quando o UE não pode desligar graciosamente da rede de dados do pacote da empresa (PDN) antes que tente reconectar através de um outro método de acesso. Quando permitido, este comando rasga para baixo a sessão velha a fim aceitar a nova conexão com a mesma atribuição do endereço IP de Um ou Mais Servidores Cisco ICM NT.

Este comando igualmente permite que o GGSN aceite um pedido para um endereço estático do subscritor, mesmo se o endereço é usado já por uma outra sessão. Se esta característica não é permitida, um pedido novo com o mesmo endereço IP de Um ou Mais Servidores Cisco ICM NT para uma outra sessão estará rejeitado.



Document ID: 119150