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.
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
, comoNetworkCallback
,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:
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.
Certifique-se de que um perfil de trabalho esteja configurado no dispositivo.
Ative o uso do fatiamento de rede por meio do DPC
Para testar o comportamento de fatiamento da rede 5G, faça o seguinte:
- 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.
- 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.