{"id":14737,"date":"2026-08-27T14:35:12","date_gmt":"2026-08-27T11:35:12","guid":{"rendered":"https:\/\/vasexperts.com\/?p=14737"},"modified":"2026-08-27T14:43:19","modified_gmt":"2026-08-27T11:43:19","slug":"cups-for-pcef-pgw-why-separate-the-control-plane-and-user-plane-in-the-mobile-core","status":"publish","type":"post","link":"https:\/\/vasexperts.com\/br\/blog\/mobile-networks\/cups-for-pcef-pgw-why-separate-the-control-plane-and-user-plane-in-the-mobile-core\/","title":{"rendered":"CUPS para PCEF\/PGW: por que separar o Control Plane e o User Plane no core m\u00f3vel"},"content":{"rendered":"Separar o plano de controle e o plano de usu\u00e1rio permite distribuir essas fun\u00e7\u00f5es em n\u00f3s diferentes e escal\u00e1-las de forma independente. Mas a separa\u00e7\u00e3o por si s\u00f3 n\u00e3o torna o servi\u00e7o cont\u00ednuo: ela apenas cria uma arquitetura na qual a continuidade pode ser garantida.\r\n \r\nPara isso, o n\u00f3 de transporte de dados precisa se tornar substitu\u00edvel, e sua substitui\u00e7\u00e3o precisa ser uma opera\u00e7\u00e3o gerenciada que n\u00e3o interrompa as sess\u00f5es ativas. Essa abordagem arquitetural \u00e9 chamada de CUPS. Vamos entender por que separar os planos n\u00e3o garante, por si s\u00f3, a continuidade das sess\u00f5es, em quais situa\u00e7\u00f5es essa continuidade pode se romper, como funciona uma transfer\u00eancia gerenciada de sess\u00e3o e onde essa abordagem encontra seus limites.\r\n \r\n[important]CUPS (Control and User Plane Separation) \u00e9 uma arquitetura na qual as fun\u00e7\u00f5es de gerenciamento de sess\u00f5es, a troca de sinaliza\u00e7\u00e3o entre elementos de rede e o estado dos assinantes s\u00e3o separadas das fun\u00e7\u00f5es que processam o tr\u00e1fego de usu\u00e1rio. O plano de controle toma decis\u00f5es e gerencia as sess\u00f5es, enquanto o plano de usu\u00e1rio processa diretamente o tr\u00e1fego.[\/important]\r\n<h2>Do que \u00e9 composto o gateway de servi\u00e7o<\/h2>\r\nDentro do gateway de servi\u00e7o h\u00e1 uma divis\u00e3o em tr\u00eas entidades: os dados de estado do assinante, a l\u00f3gica de processamento de tr\u00e1fego e a interface que as conecta.\r\n \r\nO plano de controle sabe quem \u00e9 o assinante e a que ele tem direito. \u00c9 uma camada em que as mudan\u00e7as ocorrem com pouca frequ\u00eancia, mas s\u00e3o de import\u00e2ncia cr\u00edtica.\r\n \r\nJ\u00e1 o plano de usu\u00e1rio recebe apenas determinada informa\u00e7\u00e3o por sess\u00e3o, mas sabe o que est\u00e1 acontecendo com os pacotes. Ele classifica o tr\u00e1fego de acordo com o servi\u00e7o, aplica regras j\u00e1 definidas e mant\u00e9m contadores de consumo para cada servi\u00e7o. \u00c9 uma camada de alto desempenho, otimizada para throughput, e n\u00e3o para armazenar conhecimento.\r\n \r\nEntre eles permanece uma interface estreita e expl\u00edcita: o plano de controle envia comandos para baixo, e o plano de usu\u00e1rio devolve relat\u00f3rios de estado e de consumo.\r\n \r\n[important]Substituibilidade arquitetural \u00e9 a capacidade de um sistema preservar a continuidade do servi\u00e7o quando n\u00f3s individuais s\u00e3o substitu\u00eddos ou desligados.[\/important]\r\n \r\n\u00c9 justamente por a interface ser estreita que um n\u00f3 do plano de usu\u00e1rio se torna substitu\u00edvel. Ele n\u00e3o armazena nada permanente \u2014 apenas o que pode ser restabelecido por um comando vindo de cima. Se esse n\u00f3 cair, queimar, for reiniciado ou substitu\u00eddo por um novo, o plano de controle simplesmente reenvia os mesmos comandos, e tudo \u00e9 restabelecido.\r\n<noscript><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/08\/entities-of-the-control-plane-and-the-user-plane.svg\" alt=\"Entities of the control plane and the user plane\" width=\"100%\" height=\"auto\" class=\"alignnone size-full wp-image-14741\"><\/noscript><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/08\/entities-of-the-control-plane-and-the-user-plane.svg\" alt=\"Entities of the control plane and the user plane\" width=\"100%\" height=\"auto\" class=\"alignnone size-full wp-image-14741 lazyload\" data-src=\"\/wp-content\/uploads\/2026\/08\/entities-of-the-control-plane-and-the-user-plane.svg\">\r\nFigura 1 \u2014 Entidades do plano de controle e do plano de usu\u00e1rio\r\n \r\n<h2>Onde a continuidade pode se romper<\/h2>\r\nPoder trocar n\u00f3s de forma independente ainda n\u00e3o garante que o assinante n\u00e3o perceba a substitui\u00e7\u00e3o. Um n\u00f3 de transporte de dados precisa ser retirado de opera\u00e7\u00e3o n\u00e3o s\u00f3 em caso de falha, mas tamb\u00e9m de forma planejada: para trabalhos de manuten\u00e7\u00e3o ou uma atualiza\u00e7\u00e3o.\r\n \r\nA diferen\u00e7a entre esses casos \u00e9 fundamental. Durante um trabalho t\u00e9cnico, o n\u00f3 ainda est\u00e1 funcionando, ent\u00e3o h\u00e1 tempo para preparar primeiro um substituto e s\u00f3 depois desconectar a origem. Em uma falha, esse tempo n\u00e3o existe. O n\u00f3 para de responder antes que a rede consiga preparar a transfer\u00eancia das sess\u00f5es. Parte do estado se perde, e j\u00e1 n\u00e3o \u00e9 mais poss\u00edvel descartar totalmente uma interrup\u00e7\u00e3o.\r\n \r\nDa\u00ed surge uma regra simples, mas fundamental: enquanto o n\u00f3 ainda estiver dispon\u00edvel, \u00e9 preciso transferir a sess\u00e3o para o novo antes de desconectar o antigo. \u00c9 exatamente sobre essa regra que se constr\u00f3i a transfer\u00eancia gerenciada.\r\n<h2>Transfer\u00eancia gerenciada: primeiro conectar, depois desconectar<\/h2>\r\nEsse princ\u00edpio \u00e9 conhecido em outras \u00e1reas como \u201cmake before break\u201d (conectar antes de romper). O novo n\u00f3 \u00e9 primeiro preparado para atender a sess\u00e3o, depois o tr\u00e1fego \u00e9 transferido para ele, e s\u00f3 ent\u00e3o o n\u00f3 antigo \u00e9 desconectado. \u00c9 aqui que se revela o sentido de separar os planos: o plano de controle gerencia por completo a transfer\u00eancia da sess\u00e3o, enquanto os n\u00f3s do plano de usu\u00e1rio apenas executam seus comandos.\r\n \r\nO estado do assinante fica armazenado no plano de controle. Por isso ele consegue recri\u00e1-lo em outro n\u00f3, transferindo o perfil, as regras e os servi\u00e7os permitidos. O novo n\u00f3 n\u00e3o recebe o estado diretamente do antigo \u2014 os n\u00f3s do plano de usu\u00e1rio n\u00e3o interagem entre si.\r\n \r\n\u00c9 importante notar que a sess\u00e3o n\u00e3o \u00e9 simplesmente \u201cjogada\u201d de um n\u00f3 para outro. Ela \u00e9 transferida como uma opera\u00e7\u00e3o sequencial, em etapas, com um ponto de n\u00e3o retorno. Enquanto a sequ\u00eancia n\u00e3o estiver conclu\u00edda, o sistema sempre mant\u00e9m um n\u00f3 pronto para atender a sess\u00e3o. Por isso, uma substitui\u00e7\u00e3o planejada n\u00e3o deveria causar queda de conex\u00e3o.\r\n \r\n<noscript><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/08\/diagram-of-managed-session-handover.svg\" alt=\"Diagram of managed session handover\" width=\"100%\" height=\"auto\" class=\"alignnone size-full wp-image-14740\"><\/noscript><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/08\/diagram-of-managed-session-handover.svg\" alt=\"Diagram of managed session handover\" width=\"100%\" height=\"auto\" class=\"alignnone size-full wp-image-14740 lazyload\" data-src=\"\/wp-content\/uploads\/2026\/08\/diagram-of-managed-session-handover.svg\">\r\nFigura 2 \u2014 Esquema da transfer\u00eancia gerenciada de sess\u00e3o\r\n \r\n<h2>E a tarifa\u00e7\u00e3o?<\/h2>\r\nA continuidade da transfer\u00eancia de dados, por si s\u00f3, n\u00e3o significa continuidade na contabiliza\u00e7\u00e3o. O assinante pode n\u00e3o perceber a troca de n\u00f3, mas se depois surgir uma diverg\u00eancia na cobran\u00e7a, o problema s\u00f3 est\u00e1 resolvido pela metade. Por isso, durante a transfer\u00eancia, \u00e9 preciso preservar n\u00e3o s\u00f3 o estado do servi\u00e7o, mas tamb\u00e9m as informa\u00e7\u00f5es de consumo.\r\n \r\nAqui s\u00e3o usados relat\u00f3rios de ambos os n\u00f3s. O n\u00f3 novo recebe um limite: o volume de tr\u00e1fego que o assinante ainda tem permiss\u00e3o para consumir. Esse limite corresponde ao restante da cota conhecida. Antes de se desconectar, o n\u00f3 antigo envia ao plano de controle um relat\u00f3rio final do volume efetivamente consumido. O plano de controle soma esses valores e estabelece no n\u00f3 novo um limite j\u00e1 absoluto.\r\n \r\n\u00c9 importante que o volume n\u00e3o seja reconstru\u00eddo a partir dos pr\u00f3prios limites. Ele \u00e9 obtido a partir dos relat\u00f3rios de consumo real. Isso evita dois problemas:\r\n<ul>\r\n \t<li>a perda de parte do volume consumido;<\/li>\r\n \t<li>a contagem em duplicidade do mesmo volume.<\/li>\r\n<\/ul>\r\nDisso decorre outra consequ\u00eancia: n\u00e3o \u00e9 necess\u00e1rio encerrar uma sess\u00e3o de tarifa\u00e7\u00e3o ativa apenas porque o n\u00f3 foi substitu\u00eddo. O assinante continuou usando o servi\u00e7o, e o volume consumido \u00e9 conhecido com precis\u00e3o. Portanto, n\u00e3o h\u00e1 motivo para enviar \u00e0 cobran\u00e7a uma mensagem de queda.\r\n \r\nCom 20 milh\u00f5es de assinantes e cinco n\u00f3s de transporte de dados, isso fica especialmente evidente. Se um n\u00f3 fosse retirado fechando as sess\u00f5es \u00e0 for\u00e7a, at\u00e9 16 milh\u00f5es de mensagens poderiam ser enviadas \u00e0 cobran\u00e7a. Com a transfer\u00eancia gerenciada, essas mensagens n\u00e3o chegam a existir.\r\n[product id=\u201d11736\u2033 type=\u201ddark\u201d]\r\n<h2>Onde a continuidade termina<\/h2>\r\nTodo mecanismo tem limites de aplicabilidade. Uma arquitetura n\u00e3o deve apenas mostrar o que consegue preservar, mas tamb\u00e9m indicar com honestidade o que n\u00e3o pode ser preservado.\r\n<h3>Tradu\u00e7\u00e3o de endere\u00e7os NAT<\/h3>\r\nVale observar que o User Plane do <a href=\"\/br\/products\/pcef-policy-and-charging-enforcement-function\/\">PCEF<\/a> n\u00e3o conta apenas com a fun\u00e7\u00e3o de DPI, mas tamb\u00e9m oferece <a href=\"\/br\/products\/cgnat\/\">NAT<\/a> (CG-NAT, NAT64, NAT 1:1).\r\n \r\nA tradu\u00e7\u00e3o de endere\u00e7os CG-NAT \u00e9 um mecanismo em que o dispositivo do assinante recebe um endere\u00e7o IP privado dentro da rede da operadora, enquanto sai para fora sob outro endere\u00e7o, p\u00fablico. Isso resolve o problema de escassez de endere\u00e7os e melhora a seguran\u00e7a. Mas a correspond\u00eancia entre o endere\u00e7o interno e o externo fica armazenada na mem\u00f3ria de um n\u00f3 espec\u00edfico. Se a sess\u00e3o for transferida para outro n\u00f3, o endere\u00e7o p\u00fablico e a porta das conex\u00f5es j\u00e1 estabelecidas v\u00e3o mudar. Para essas conex\u00f5es, isso equivale a uma queda.\r\n \r\nPor isso, essas conex\u00f5es n\u00e3o podem ser transferidas de forma cont\u00ednua. Para elas, usa-se a interrup\u00e7\u00e3o natural das sess\u00f5es vigentes com o estabelecimento de novas sess\u00f5es de tr\u00e1fego: uma remo\u00e7\u00e3o planejada do n\u00f3 implica transferir o tr\u00e1fego de um endere\u00e7o privado para outro User Plane com um pool diferente de endere\u00e7os IP p\u00fablicos.\r\n \r\nExiste tamb\u00e9m outra abordagem: a sincroniza\u00e7\u00e3o de conex\u00f5es entre NATs. Nesse caso, a tabela de tradu\u00e7\u00f5es NAT \u00e9 sincronizada entre v\u00e1rios n\u00f3s. Mas essa j\u00e1 \u00e9 uma decis\u00e3o arquitetural \u00e0 parte, que tamb\u00e9m afeta o plano de endere\u00e7amento. Por isso, n\u00e3o pode ser tratada simplesmente como uma configura\u00e7\u00e3o que elimina automaticamente a limita\u00e7\u00e3o.\r\n<h3>Balanceamento de tr\u00e1fego entre v\u00e1rios UPs<\/h3>\r\nO tr\u00e1fego das sess\u00f5es \u00e9 bidirecional: do assinante para o servidor e de volta. Os sentidos de ida e volta s\u00e3o balanceados por mecanismos diferentes.\r\n \r\nO tr\u00e1fego de sa\u00edda \u00e9 balanceado por um balanceador L3, com base no IPorigem e no IMSI. O tr\u00e1fego de entrada \u00e9 atra\u00eddo pelo pr\u00f3prio User Plane (DPI+NAT) por meio de an\u00fancios BGP.\r\n<h3>Falha do n\u00f3<\/h3>\r\nEm caso de falha do User Plane, n\u00e3o h\u00e1 transfer\u00eancia gerenciada: o DPI simplesmente para de responder. Nesse caso, parte do volume consumido pode n\u00e3o chegar ao relat\u00f3rio final. Mas mesmo aqui, o tamanho da poss\u00edvel perda pode ser limitado com anteced\u00eancia. Ele \u00e9 determinado pela soma dos limites definidos no n\u00f3. O plano de controle pode fracionar as cotas concedidas, definindo limites de relat\u00f3rio menores e coletando os dados intermedi\u00e1rios por conta pr\u00f3pria. Ainda assim, \u00e9 enviado \u00e0 cobran\u00e7a o valor original da cota, quando o volume acumulado atinge o valor necess\u00e1rio.\r\n \r\nAssim surge um or\u00e7amento de risco gerenciado. A operadora define com anteced\u00eancia qual volume \u00e9 aceit\u00e1vel perder caso um n\u00f3 falhe. A frequ\u00eancia dos relat\u00f3rios dos n\u00f3s \u00e9 determinada por esse or\u00e7amento, enquanto a frequ\u00eancia do envio de informa\u00e7\u00f5es \u00e0 cobran\u00e7a \u00e9 determinada pelo tamanho da cota. A troca com a cobran\u00e7a em si n\u00e3o se torna mais frequente por causa disso.\r\n<h2>Como verificar a continuidade<\/h2>\r\nA continuidade do servi\u00e7o n\u00e3o pode ser comprovada pelo simples fato de o sistema n\u00e3o ter enviado uma mensagem de erro. Ela precisa ser medida durante uma transfer\u00eancia real.\r\n \r\nO teste s\u00f3 deve ser realizado se houver tr\u00e1fego real passando pela sess\u00e3o ativa no momento da transfer\u00eancia. Se aparecer uma interrup\u00e7\u00e3o no fluxo, a continuidade n\u00e3o foi garantida, n\u00e3o importa com que precis\u00e3o o sistema tenha registrado a pr\u00f3pria troca. Por isso, o teste de aceita\u00e7\u00e3o deve verificar a transfer\u00eancia de dados em si, n\u00e3o a corre\u00e7\u00e3o das mensagens de sinaliza\u00e7\u00e3o.\r\n<h2>O que a separa\u00e7\u00e3o dos planos entrega, no final<\/h2>\r\nO valor do CUPS n\u00e3o se resume ao escalonamento independente do controle e da transfer\u00eancia de dados. Muito mais importante \u00e9 que o plano de usu\u00e1rio se torne substitu\u00edvel. E, quando um n\u00f3 pode ser substitu\u00eddo, \u00e9 poss\u00edvel transformar sua retirada de um evento de emerg\u00eancia em uma opera\u00e7\u00e3o gerenciada.\r\n \r\nPara trabalhos planejados, isso significa uma sequ\u00eancia clara: preparar o novo n\u00f3, transferir as sess\u00f5es para ele, desconectar o antigo e conferir os contadores. Para as falhas, resta outro mecanismo: um or\u00e7amento de perdas aceit\u00e1veis definido com anteced\u00eancia.\r\n \r\n\u00c9 exatamente aqui que surge a continuidade do servi\u00e7o. A separa\u00e7\u00e3o permite <strong>gerenciar o estado das sess\u00f5es durante as mudan\u00e7as de infraestrutura.<\/strong> Assim, a promessa de \u201cmanuten\u00e7\u00e3o planejada sem impacto para os assinantes\u201d deixa de ser uma formula\u00e7\u00e3o gen\u00e9rica e passa a ser um procedimento concreto, com resultado mensur\u00e1vel e exce\u00e7\u00f5es claramente definidas.\r\n \r\n[product id=\u201d10980\u2033 type=\u201ddark\u201d]","protected":false},"excerpt":{"rendered":"<p>Na rede de uma operadora, o controle de sess\u00f5es e a transfer\u00eancia de dados crescem em ritmos diferentes. A base de assinantes cresce alguns pontos percentuais ao ano, enquanto o tr\u00e1fego cresce dezenas de pontos percentuais. Se as duas fun\u00e7\u00f5es ficam em um \u00fanico n\u00f3, \u00e9 preciso escal\u00e1-las juntas, o que obriga a comprar recursos que talvez n\u00e3o sejam necess\u00e1rios.<\/p>\n","protected":false},"author":7,"featured_media":14738,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[102],"tags":[],"class_list":["post-14737","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mobile-networks"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>VAS Experts<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vasexperts.com\/blog\/mobile-networks\/cups-for-pcef-pgw-why-separate-the-control-plane-and-user-plane-in-the-mobile-core\/\",\"url\":\"https:\/\/vasexperts.com\/blog\/mobile-networks\/cups-for-pcef-pgw-why-separate-the-control-plane-and-user-plane-in-the-mobile-core\/\",\"name\":\"CUPS: por que separar o Control Plane e o User Plane no core m\u00f3vel\",\"isPartOf\":{\"@id\":\"https:\/\/vasexperts.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vasexperts.com\/blog\/mobile-networks\/cups-for-pcef-pgw-why-separate-the-control-plane-and-user-plane-in-the-mobile-core\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vasexperts.com\/blog\/mobile-networks\/cups-for-pcef-pgw-why-separate-the-control-plane-and-user-plane-in-the-mobile-core\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2026\/08\/cups.jpg\",\"datePublished\":\"2026-08-27T11:35:12+00:00\",\"dateModified\":\"2026-08-27T11:43:19+00:00\",\"author\":{\"@id\":\"https:\/\/vasexperts.com\/#\/schema\/person\/f4edcaef26fe49b6b59baf8ac5b62170\"},\"description\":\"Explicamos o sentido da abordagem arquitetural CUPS para operadoras m\u00f3veis: continuidade de servi\u00e7o, substituibilidade de componentes e tarifa\u00e7\u00e3o gerenciada\",\"breadcrumb\":{\"@id\":\"https:\/\/vasexperts.com\/blog\/mobile-networks\/cups-for-pcef-pgw-why-separate-the-control-plane-and-user-plane-in-the-mobile-core\/#breadcrumb\"},\"inLanguage\":\"br-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vasexperts.com\/blog\/mobile-networks\/cups-for-pcef-pgw-why-separate-the-control-plane-and-user-plane-in-the-mobile-core\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"br-PT\",\"@id\":\"https:\/\/vasexperts.com\/blog\/mobile-networks\/cups-for-pcef-pgw-why-separate-the-control-plane-and-user-plane-in-the-mobile-core\/#primaryimage\",\"url\":\"\/wp-content\/uploads\/2026\/08\/cups.jpg\",\"contentUrl\":\"\/wp-content\/uploads\/2026\/08\/cups.jpg\",\"width\":1024,\"height\":683,\"caption\":\"CUPS Architecture\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vasexperts.com\/blog\/mobile-networks\/cups-for-pcef-pgw-why-separate-the-control-plane-and-user-plane-in-the-mobile-core\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\",\"item\":\"https:\/\/vasexperts.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CUPS for PCEF\/PGW: why separate the Control Plane and User Plane in the mobile core\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/vasexperts.com\/#website\",\"url\":\"https:\/\/vasexperts.com\/\",\"name\":\"VAS Experts\",\"description\":\"VAS Experts\",\"inLanguage\":\"br-PT\",\"publisher\":{\"@id\":\"https:\/\/vasexperts.com\/#organization\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/vasexperts.com\/#\/schema\/person\/f4edcaef26fe49b6b59baf8ac5b62170\",\"name\":\"Elena Rudich\",\"url\":\"https:\/\/vasexperts.com\/br\/blog\/author\/elena-rudich\/\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/vasexperts.com\/#organization\",\"name\":\"VAS Experts\",\"url\":\"https:\/\/vasexperts.com\/\",\"logo\":\"https:\/\/vasexperts.com\/assets\/img\/svg\/logo.svg\",\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/vas-experts\",\"https:\/\/www.youtube.com\/channel\/UCGYfhhZvmE2XbrCyerzRbGA\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"VAS Experts","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vasexperts.com\/blog\/mobile-networks\/cups-for-pcef-pgw-why-separate-the-control-plane-and-user-plane-in-the-mobile-core\/","url":"https:\/\/vasexperts.com\/blog\/mobile-networks\/cups-for-pcef-pgw-why-separate-the-control-plane-and-user-plane-in-the-mobile-core\/","name":"CUPS: por que separar o Control Plane e o User Plane no core m\u00f3vel","isPartOf":{"@id":"https:\/\/vasexperts.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vasexperts.com\/blog\/mobile-networks\/cups-for-pcef-pgw-why-separate-the-control-plane-and-user-plane-in-the-mobile-core\/#primaryimage"},"image":{"@id":"https:\/\/vasexperts.com\/blog\/mobile-networks\/cups-for-pcef-pgw-why-separate-the-control-plane-and-user-plane-in-the-mobile-core\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2026\/08\/cups.jpg","datePublished":"2026-08-27T11:35:12+00:00","dateModified":"2026-08-27T11:43:19+00:00","author":{"@id":"https:\/\/vasexperts.com\/#\/schema\/person\/f4edcaef26fe49b6b59baf8ac5b62170"},"description":"Explicamos o sentido da abordagem arquitetural CUPS para operadoras m\u00f3veis: continuidade de servi\u00e7o, substituibilidade de componentes e tarifa\u00e7\u00e3o gerenciada","breadcrumb":{"@id":"https:\/\/vasexperts.com\/blog\/mobile-networks\/cups-for-pcef-pgw-why-separate-the-control-plane-and-user-plane-in-the-mobile-core\/#breadcrumb"},"inLanguage":"br-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vasexperts.com\/blog\/mobile-networks\/cups-for-pcef-pgw-why-separate-the-control-plane-and-user-plane-in-the-mobile-core\/"]}]},{"@type":"ImageObject","inLanguage":"br-PT","@id":"https:\/\/vasexperts.com\/blog\/mobile-networks\/cups-for-pcef-pgw-why-separate-the-control-plane-and-user-plane-in-the-mobile-core\/#primaryimage","url":"\/wp-content\/uploads\/2026\/08\/cups.jpg","contentUrl":"\/wp-content\/uploads\/2026\/08\/cups.jpg","width":1024,"height":683,"caption":"CUPS Architecture"},{"@type":"BreadcrumbList","@id":"https:\/\/vasexperts.com\/blog\/mobile-networks\/cups-for-pcef-pgw-why-separate-the-control-plane-and-user-plane-in-the-mobile-core\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/vasexperts.com\/"},{"@type":"ListItem","position":2,"name":"CUPS for PCEF\/PGW: why separate the Control Plane and User Plane in the mobile core"}]},{"@type":"WebSite","@id":"https:\/\/vasexperts.com\/#website","url":"https:\/\/vasexperts.com\/","name":"VAS Experts","description":"VAS Experts","inLanguage":"br-PT","publisher":{"@id":"https:\/\/vasexperts.com\/#organization"}},{"@type":"Person","@id":"https:\/\/vasexperts.com\/#\/schema\/person\/f4edcaef26fe49b6b59baf8ac5b62170","name":"Elena Rudich","url":"https:\/\/vasexperts.com\/br\/blog\/author\/elena-rudich\/"},{"@type":"Organization","@id":"https:\/\/vasexperts.com\/#organization","name":"VAS Experts","url":"https:\/\/vasexperts.com\/","logo":"https:\/\/vasexperts.com\/assets\/img\/svg\/logo.svg","sameAs":["https:\/\/www.linkedin.com\/company\/vas-experts","https:\/\/www.youtube.com\/channel\/UCGYfhhZvmE2XbrCyerzRbGA"]}]}},"_links":{"self":[{"href":"https:\/\/vasexperts.com\/br\/wp-json\/wp\/v2\/posts\/14737"}],"collection":[{"href":"https:\/\/vasexperts.com\/br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vasexperts.com\/br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vasexperts.com\/br\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/vasexperts.com\/br\/wp-json\/wp\/v2\/comments?post=14737"}],"version-history":[{"count":4,"href":"https:\/\/vasexperts.com\/br\/wp-json\/wp\/v2\/posts\/14737\/revisions"}],"predecessor-version":[{"id":14744,"href":"https:\/\/vasexperts.com\/br\/wp-json\/wp\/v2\/posts\/14737\/revisions\/14744"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vasexperts.com\/br\/wp-json\/wp\/v2\/media\/14738"}],"wp:attachment":[{"href":"https:\/\/vasexperts.com\/br\/wp-json\/wp\/v2\/media?parent=14737"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vasexperts.com\/br\/wp-json\/wp\/v2\/categories?post=14737"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vasexperts.com\/br\/wp-json\/wp\/v2\/tags?post=14737"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}