Fatiamento de rede 5G

Para dispositivos com Android 12 ou superior, o Android oferece suporte para fatiamento de rede 5G, o uso de virtualização de rede para dividir conexões de rede únicas em várias conexões virtuais distintas que fornecem diferentes quantidades de recursos para diferentes tipos de tráfego. O fatiamento de rede 5G permite que as operadoras de rede dediquem uma parte da rede para fornecer recursos específicos para um determinado segmento de clientes. O Android 12 apresenta os seguintes recursos de fatiamento de rede corporativa 5G, que as operadoras de rede podem fornecer a seus clientes corporativos:

Fatiamento de dispositivos corporativos para dispositivos totalmente gerenciados

Para empresas que fornecem dispositivos corporativos totalmente gerenciados a seus funcionários, os provedores de rede podem fornecer uma fatia de rede corporativa ativa para a qual todo o tráfego nos dispositivos da empresa é roteado. No Android 12, o Android permite que as operadoras forneçam fatias corporativas por meio de regras URSP, em vez de configurar fatias por meio de APNs.

Fatiamento de aplicativos de negócios corporativos para dispositivos com perfis de trabalho

Para empresas que usam a solução de perfil de trabalho , o Android 12 permite que os dispositivos encaminhem o tráfego de todos os aplicativos no perfil de trabalho para uma fatia de rede corporativa. As empresas podem habilitar esse recurso por meio de um Device Policy Controller (DPC) .

A solução de perfil de trabalho fornece um nível automático de autenticação e controle de acesso que as empresas exigem para garantir que apenas o tráfego de aplicativos corporativos no perfil de trabalho seja roteado para a fatia de rede corporativa. Os aplicativos no perfil de trabalho não precisam ser modificados para solicitar explicitamente a fatia de rede corporativa.

Como o fatiamento de rede 5G funciona no AOSP

O Android 12 apresenta suporte para fatiamento de rede 5G por meio de adições à base de código de telefonia no AOSP e ao módulo Tethering para incorporar APIs de conectividade existentes que são necessárias para fatiamento de rede.

A plataforma de telefonia Android fornece APIs de telefonia e HAL para oferecer suporte ao fatiamento com base em solicitações de rede arquivadas pelo código de rede principal e recursos de fatiamento 5G no modem. A Figura 1 descreve os componentes do recurso de fatiamento de rede 5G.

Componentes de fatiamento de rede 5G

Figura 1. Arquitetura de fatiamento de rede 5G em AOSP.

A plataforma de telefonia e conectividade suporta:

  • Convertendo solicitações de rede para categorias de fatia em descritores de tráfego que são então passados ​​ao modem para correspondência de tráfego URSP e seleção de rota
  • Voltar para a rede padrão se a fatia solicitada não estiver disponível
  • Rotear o tráfego de todos os aplicativos no perfil de trabalho para a conexão correspondente
  • Suporte ao fatiamento empresarial

    • Detectando a presença de um perfil de trabalho no dispositivo
    • Verificação de permissões ou direções de roteamento fornecidas pelo DPC usado pelo administrador de TI da empresa

O serviço de rede principal inclui as seguintes alterações no módulo Tethering no Android 12:

  • Adiciona a maioria das classes de API públicas ou do sistema android.net.* ao módulo Tethering
  • Expande os limites do módulo Tethering para incluir:

    • f/b/core/java/android/net/…
    • f/b/services/net/…
    • f/b/services/core/java/com/android/server/connectivity/…
    • f/b/services/core/java/com/android/server/ConnectivityService.java
    • f/b/services/core/java/com/android/server/TestNetworkService.java
  • Move o código VPN para fora do módulo Tethering

O Android 12 move o código com os seguintes recursos para o módulo Tethering:

  • Recebendo solicitações de aplicativos para conexões de rede
  • Recebendo solicitações do sistema (por exemplo, "coloque esses aplicativos em uma fatia corporativa"; introduzido no Android 12)
  • Envio de solicitações do sistema para o código de telefonia que tenta configurar redes ou slices passando pela API HAL e pelo modem
  • Informando netd como rotear o tráfego por aplicativo (introduzido no Android 12)
  • Informar aos aplicativos o que está acontecendo com o tráfego de rede por meio de APIs do ConnectivityManager , como NetworkCallback , getActiveNetwork , getNetworkCapabilities .

Implementação

Para oferecer suporte ao fatiamento 5G em um dispositivo, o dispositivo deve ter um modem compatível com o IRadio 1.6 HAL que possui a API setupDataCall_1_6 . Essa API configura uma conexão de dados e inclui os seguintes parâmetros para oferecer suporte ao fatiamento 5G:

  • trafficDescriptor : Especifica o descritor de tráfego enviado ao modem
  • sliceInfo : Especifica as informações para a fatia de rede a ser usada em caso de handover EPDG para 5G
  • matchAllRuleAllowed : especifica se o uso de uma regra URSP de correspondência total padrão é permitido

Os modems também devem implementar a API getSlicingConfig , a menos que seja relatado como não suportado pela API getHalDeviceCapabilities .

Requisitos da empresa

Veja a seguir os requisitos para que as empresas usem o fatiamento de rede 5G em dispositivos em uma implantação corporativa do Android.

  • Certifique-se de que os dispositivos totalmente gerenciados ou de funcionários configurados com um perfil de trabalho sejam compatíveis com 5G SA com modems compatíveis com a API setupDataCall_1_6 .
  • Trabalhe com o parceiro da operadora na configuração e desempenho da fatia ou nas características do SLA.

Como ativar o fatiamento 5G em dispositivos configurados com um perfil de trabalho

Para dispositivos configurados com perfis de trabalho, o fatiamento de rede 5G está desativado por padrão no AOSP. Para habilitar a divisão de rede, os administradores de TI corporativos podem ativar ou desativar o roteamento de tráfego do aplicativo de perfil de trabalho para a fatia de rede corporativa por funcionário por meio do EMM DPC, que usa o método setPreferentialNetworkServiceEnabled na API DevicePolicyManager (DPM) (introduzida no Android 12).

Os fornecedores de EMM com DPCs personalizados devem integrar a API DevicePolicyManager para oferecer suporte a clientes corporativos.

Regras URSP

Esta seção inclui informações para operadoras sobre como configurar regras de URSP para diferentes categorias de fatias, incluindo tráfego corporativo, CBS, baixa latência e alta largura de banda. Ao configurar regras de URSP para diferentes categorias de fatias, as operadoras devem usar os seguintes valores específicos do Android.

EU IRIA Valor Descrição
OSId 97a498e3-fc92-5c94-8986-0333d06e4e47 O OSid para Android é um UUID da versão 5 gerado com o namespace ISO OID e o nome "Android".

As operadoras devem configurar as regras de URSP para cada segmento de tráfego com o componente descritor de tráfego como "ID do SO + tipo de ID do aplicativo do SO". Por exemplo, a fatia "ENTERPRISE" deve ter um valor de 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345 . Esse valor é uma concatenação do OSId, o comprimento do OSAppId ( 0x0A ) e o OSAppId. Para obter mais informações sobre o tipo de componente do descritor de tráfego, consulte 3GPP TS 24.526 Tabela 5.2.1 .

A tabela a seguir descreve os valores de OSAppId para diferentes categorias de fatias.

Categoria de fatia OSAppId Descrição
EMPREENDIMENTO 0x454E5445525052495345 O OSAppId é uma representação de matriz de bytes da string "ENTERPRISE"
EMPRESA2 0x454E544552505249534532 O OSAppId é uma representação de matriz de bytes da string "ENTERPRISE2"
EMPRESA3 0x454E544552505249534533 O OSAppId é uma representação de matriz de bytes da string "ENTERPRISE3"
EMPRESA4 0x454E544552505249534534 O OSAppId é uma representação de matriz de bytes da string "ENTERPRISE4"
EMPRESA5 0x454E544552505249534535 O OSAppId é uma representação de matriz de bytes da string "ENTERPRISE5"
CBS 0x454E544552505249534535 O OSAppId é uma representação de matriz de bytes da string "CBS"
PRIORITIZE_LATENCY 0x5052494f524954495a455f4c4154454e4359 O OSAppId é uma representação de matriz de bytes da string "PRIORITIZE_LATENCY"
PRIORITIZE_BANDWIDTH 0x5052494f524954495a455f42414e445749445448 O OSAppId é uma representação de matriz de bytes da string "PRIORITIZE_BANDWIDTH"

Exemplo de regras de URSP

As tabelas a seguir mostram regras de URSP de exemplo para tráfego corporativo, CBS, baixa latência, alta largura de banda e padrão.

Empresa 1

Regra URSP nº 1 (empresa1)
Precedência 1 (0x01)
Descritor de tráfego nº 1
ID do SO + tipo de ID do aplicativo do SO 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345
Descritor de seleção de rota nº 1
Precedência 1 (0x01)
Componente nº 1: S-NSSAI SST:XX SD:YYYYYY
Componente nº 2: DNN empreendimento
Descritor de seleção de rota nº 2
Precedência 2 (0x02)
Componente nº 1: DNN empreendimento

Empresa 2

Regra URSP nº 2 (empresa2)
Precedência 2 (0x02)
Descritor de tráfego nº 1
ID do SO + tipo de ID do aplicativo do SO 0x97A498E3FC925C9489860333D06E4E470A454E544552505249534532
Descritor de seleção de rota nº 1
Precedência 1 (0x01)
Componente nº 1: S-NSSAI SST:XX SD:YYYYYY
Componente nº 2: DNN empresa2
Descritor de seleção de rota nº 2
Precedência 2 (0x02)
Componente nº 1: DNN empresa2

Empresa 3

Regra URSP nº 3 (empresa3)
Precedência 3 (0x03)
Descritor de tráfego nº 1
ID do SO + tipo de ID do aplicativo do SO 0x97A498E3FC925C9489860333D06E4E470A454E544552505249534533
Descritor de seleção de rota nº 1
Precedência 1 (0x01)
Componente nº 1: S-NSSAI SST:XX SD:YYYYYY
Componente nº 2: DNN empresa3
Descritor de seleção de rota nº 2
Precedência 2 (0x02)
Componente nº 1: DNN empresa3

Empresa 4

Regra URSP nº 4 (empresa4)
Precedência 4 (0x04)
Descritor de tráfego nº 1
ID do SO + tipo de ID do aplicativo do SO 0x97A498E3FC925C9489860333D06E4E470A454E544552505249534534
Descritor de seleção de rota nº 1
Precedência 1 (0x01)
Componente nº 1: S-NSSAI SST:XX SD:YYYYYY
Componente nº 2: DNN empresa4
Descritor de seleção de rota nº 2
Precedência 2 (0x02)
Componente nº 1: DNN empresa4

Empresa 5

Regra URSP nº 5 (empresa5)
Precedência 5 (0x05)
Descritor de tráfego nº 1
ID do SO + tipo de ID do aplicativo do SO 0x97A498E3FC925C9489860333D06E4E470A454E544552505249534535
Descritor de seleção de rota nº 1
Precedência 1 (0x01)
Componente nº 1: S-NSSAI SST:XX SD:YYYYYY
Componente nº 2: DNN empresa5
Descritor de seleção de rota nº 2
Precedência 2 (0x02)
Componente nº 1: DNN empresa5

CBS

Veja a seguir um exemplo de regra URSP para tráfego CBS:

Regra URSP nº 6 (CBS)
Precedência 6 (0x06)
Descritor de tráfego nº 1
ID do SO + tipo de ID do aplicativo do SO 0x97A498E3FC925C9489860333D06E4E470A434253
Descritor de seleção de rota nº 1
Precedência 1 (0x01)
Componente nº 1: S-NSSAI SST:XX SD:YYYYYY
Componente nº 2: DNN cbs
Descritor de seleção de rota nº 2
Precedência 2 (0x02)
Componente nº 1: DNN cbs

Baixa latência

Regra URSP nº 7 (baixa latência)
Precedência 7 (0x07)
Descritor de tráfego nº 1
ID do SO + tipo de ID do aplicativo do SO 0x97A498E3FC925C9489860333D06E4E470A5052494f524954495a455f4c4154454e4359
Descritor de seleção de rota nº 1
Precedência 1 (0x01)
Componente nº 1: S-NSSAI SST:XX SD:YYYYYY
Componente nº 2: DNN latência
Descritor de seleção de rota nº 2
Precedência 2 (0x02)
Componente nº 1: DNN latência

Alta largura de banda

Regra URSP nº 8 (alta largura de banda)
Precedência 8 (0x08)
Descritor de tráfego nº 1
ID do SO + tipo de ID do aplicativo do SO 97A498E3FC925C9489860333D06E4E470A5052494f524954495a455f42414e445749445448
Descritor de seleção de rota nº 1
Precedência 1 (0x01)
Componente nº 1: S-NSSAI SST:XX SD:YYYYYY
Componente nº 2: DNN largura de banda
Descritor de seleção de rota nº 2
Precedência 2 (0x02)
Componente nº 1: DNN largura de banda

Predefinição

Regra URSP nº 9 (padrão)
Precedência 9 (0x09)
Descritor de tráfego nº 1
combina com todos N / D
Descritor de seleção de rota nº 1
Precedência 1 (0x01)
Componente nº 1: S-NSSAI SST:XX SD:YYYYYY

Teste

Para testar o fatiamento de rede 5G, use o seguinte teste manual.

Para configurar um dispositivo para teste, faça o seguinte:

  1. Certifique-se de que a política URSP esteja configurada com uma regra não padrão que corresponda à categoria da empresa e que o descritor de seleção de rota correspondente mapeie a categoria da empresa para a fatia da empresa; e uma regra padrão direcionando o tráfego para a fatia de internet padrão.

  2. Certifique-se de que um perfil de trabalho esteja configurado no dispositivo.

  3. Ative o uso do fatiamento de rede por meio do DPC

Para testar o comportamento de fatiamento da rede 5G, faça o seguinte:

  1. Verifique se uma sessão de PDU foi estabelecida com a fatia corporativa (por exemplo, usando um endereço IP específico) e se os aplicativos no perfil de trabalho usam essa sessão de PDU.
  2. Verifique se uma sessão de PDU separada foi estabelecida com a fatia de Internet padrão e se os aplicativos no perfil pessoal usam a sessão de PDU.