| Linha 89: | Linha 89: | ||
<br> | <br> | ||
=== GTP === | === GTP - GPRS Tunnelling Protocol === | ||
<br> | <br> | ||
| Linha 95: | Linha 95: | ||
<br> | <br> | ||
=== GGSN === | === GGSN - Gateway GPRS Support Node === | ||
<br> | <br> | ||
Edição das 12h49min de 23 de junho de 2016
Fase I - Estudo
Título da Idéia
Implementar um GGSN (Gateway GPRS Support Node) utilizando tecnologias Open Source, para expansão dos serviços de dados, utilizando a infraestrutura da rede móvel existente.
Objetivos
- Expansão dos serviços de dados sobre a rede celular em volume e novas facilidades.
- Redução dos custos de licenciamento da plataforma GGSN.
Conceito
Gateway GPRS support node (GGSN)
O gateway GPRS support node (GGSN) é o principal componente de uma rede GPRS. O GGSN provê a interconexão com outras redes como a Internet ou redes privadas, enquanto SGSN busca a localização dos dispositivos móveis e faz o roteamento dos pacotes de tráfegos para eles. A capacidade do GPRS pode ser adicionada aos aparelhos celulares e também pode ser disponibilizada para dispositivos de dados como modem de computadores.
Do ponto de vista de uma rede externa, a GGSN é um roteador de "sub-redes", por causa que a GGSN 'esconde' a infra estrutura do GPRS da redes externas. Quando a GGSN recebe dados endereçados de um usuário especifico, ele checa se o usuário esta ativo. Se sim, o GGNS encaminha os dados para a SGSN entregando para o usuário móvel (celular). mas se o usuário móvel esteja inativo, os dados serão descartadas.
Algumas funções comuns SGSN
Um SGSN (Serving GPRS Support Node) entrega pacotes de dados de e para as estações móveis dentro de sua área de serviço. Sua tarefa inclui roteamento e transferência de pacotes, funções de conexão de desconexão de estações móveis e suas autenticações, e gerenciamento lógico do link. O registrador de localização do SGSN armazena informações de localização (célula atual e VLR atual) e os profiles do usuário (IMSI, endereço utilizado na rede de pacotes de dados) de todos os usuários registrados neste SGSN.
De outra forma, o endereçamento PDP de pacotes de dados que estão chegando (IP de destino) é convertido no endereço GSM do usuário de destino. Os pacotes reendereçados são enviados do SGSN responsável. Neste propósito, o GGSN armazena endereços e profiles de usuários registrados no atual SGSN, em seu registrador de localização.
Em geral, existem várias relações entre os SGSNs e os GGSNs : um GGSN é a interface de rede externa para vários SGSNs; um SGSN pode rotear seus pacotes para diferentes GGSNs.
Arquitetura Referencia
Características
Cenários típicos para GPRS são: acesso wireless à Internet, Internet e-mail, e-mail corporativo, WAP através do GPRS, serviços de propaganda, localização e telemetria de campo.
Estudo Dirigido
Fase II - Ensino
Conteúdo
GPRS Tunneling Protocol (GTP) é uma coleção de protocolos para o gereneciamento de mobilidade IP no core das redes de pacotes 3GPP (GPRS,UMTS,EPC) compreedendo o GTP-C, GTP-U e variantes GTP' . O esboço da pilha é mostrado abaixo :
GTP-C é usado para a sinalização entre o GGSN (Gateway Gprs Support Nodes) e o SGSN (Serving Gprs Support Nodes). Ele permite que o SGSN ative uma sessão em favor do usuário (PDP Context Activation), desative a sessão ou configure os parâmetros de QoS, e também ajuste da sessão de um cliente vindo de outro SGSN.
GTU-U é usado para o transporte de dados do usuário, entre a RAN (Radio Access Network) e o core da rede. Os pacotes podem ser transportados em IPV4, IPV6 ou PPP.
GTP' (GTP Prime) usa a mesma estrtutura de mensagens do GTP-C e GTP-U, porém, tem uma função independente. Ele pode ser usado para transportar dados de bilhetagem da função CDF (Charging Data Function) da rede GSM ou UMTS para elemento que faz a função de CGF (Charging Gateway Function) .
Apresentação
GTP - GPRS Tunnelling Protocol
- Faça o upload dos slides aqui
GGSN - Gateway GPRS Support Node
GTP
- Faça o upload dos slides aqui
Fase III - Exemplo de Caso de Negócio
Benefício para a Algar Telecom
- Economia no pagamento de licenças de uso.
- Com o acesso ao código fonte é possível a implementação de novos serviços.
- Possibilidade de implementação de redundância geográfica para maior resiliência dos serviços.
Benefícios para o cliente
- Melhora na disponibilidade do acesso à Internet via redundância geográfica.
- Novos serviços de valor adicionado disponíveis.
Direcionadores chave para esta iniciativa
- Obter o domínio das tecnologias utilizadas no plano de controle das redes UMTS, IMS e LTE, reduzindo custos de licenciamento e implementando novos serviços de valor adicionado.
Possíveis modelos de negócios
- Com os dados fornecidos pelo cabeçalho do GTP pode-se criar ou melhorar alguns serviços, tais como:
- Localização e monitoramento de celulares através da LAC (Location Area Code);
- Criar o serviço que informe os "passos" de um celular: "por onde andei";
Business Case
Fase IV - Protótipo orientado ao Negócio
Escopo
A partir de um estação movel (Pré-Pago ou Pós-Pago), se atachar em uma APN (Access Point Name), sendo assim conectando ao GGSN propriamento da Algar Telecom.
Limitações
http://www.3gpp.org/DynaReport/29060.htm
Foi necessario adicionar as seguintes mensagens, pois estava dando erro de mensagem invalida, as mensagens abaixo são para comunicação entre o GGSN e o SGSN, conforme a especificação acima fala:
vim gtp/gtpie.h
<source lang="c">
- define GTPIE_RAT_TYPE 151 /* Radio Access Technology Type */
- define GTPIE_USER_LOC 152 /* User Location Information */
- define GTPIE_MS_TZ 153 /* MS Time Zone */
- define GTPIE_IMEI_SV 154 /* IMEI Software Version */
</source>
E adicionar no swtich as seguinte codigos "gtp/gtpie.c":
<source lang="c"> switch (*p) { case GTPIE_RAT_TYPE: case GTPIE_USER_LOC: case GTPIE_MS_TZ: case GTPIE_IMEI_SV } </source>
PoC
Detalhamento Técnico
Codigo Fontes
Código SVN: http://versionamento/repos/PeD/opeggsn/
Instalação do OpenGGSN no LabCA
Ambiente
Servidor : CentOS release 6.5
IP eth3 : 201.48.87.17/28 Gateway : 201.48.87.22/28
IP eth2 : 1.1.1.2/29 Gateway : 1.1.1.1/29
Faixa de Endereço Rede para os Telefones:
Rede dos usuários : 192.168.10.0/24
Encaminhamento necessario para o serviço possar encaminhar pacotes para outra rede e vice-versa.
<source lang="Bash">
echo 1 > /proc/sys/net/ipv4/ip_forward
</source>
NAT para navegação na Internet
<source lang="Bash">
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth3 -j MASQUERADE
</source>
Download do OpenGGSN via GIT ou via HTTP (http://sf.net/projects/ggsn):
<source lang="Bash"> mkdir /opt/openggsn cd /opt/openggsn git clone git://git.osmocom.org/openggsn </source>
Compilando o OpenGGSN:
<source lang="Bash"> cd /opt/openggsn autoreconf ; automake --add-missing ; autoreconf ; autoconf ; automake ; ./configure --prefix=/usr/local ; make -j 2 ; make install </source>
Inicializando o OpenGGSN
<source lang="Bash">
echo "Adicionando rota para a rede do SGSN da Huawei, via Border Gateway"
route add -net 201.48.226.0/24 gw 1.1.1.1
echo "Startand o OpenGGSN"
./ggsn -d --fg -c ../examples/ggsn.conf -l 1.1.1.2 --statedir ./
echo "Adicionando rota para a rede dos clientes via interface tun0"
route add -net 192.168.10.0/24 dev tun0
</source>
Arquivo .pcap com exemplo das mensagens Create_pdp_context e Delete_pdp_context :
Configuração GGSN:
È no arquivo ggsn.conf que fica toda as configurações e é bem documentado:
Principais:
<source lang="vim">
- TAG: pidfile
- File to store information about the process id of the program.
- The program must have write access to this file/directory.
pidfile /var/run/ggsn.pid
- TAG: statedir
- Directory to use for nonvolatile storage.
- The program must have write access to this directory.
statedir /var/lib/ggsn/
- TAG: listen
- Specifies the local IP address to listen to
listen 1.1.1.2
- TAG: dynip
- Dynamic IP address pool.
- Used for allocation of dynamic IP address when address is not given
- by HLR.
- If this option is not given then the net option is used as a substitute.
dynip 192.168.10.0/24
- TAG: pcodns1
- Protocol configuration option domain name system server 1.Estudos
pcodns1 200.225.197.37
- TAG: pcodns2
- Protocol configuration option domain name system server 2.
pcodns2 200.225.197.34
- TAG: apn
- Use of this tag is EXPERIMENTAL
- Access point name to connect to when run in client mode.
apn m2m.ctbc.br
</source>
Configurando Telefone
Quando um telefone celular GPRS configura um PDP context e um ponto de acesso está selecionado. Neste ponto, um Access Point Name (APN) é determinado.
Configurar Telefone:
APN : m2m.ctbc.br
Usuario: ctbc
Senha: ctbc
Arquivo:Pdp create and delete.zip
Teste de de Roaming
IP's válidos alocado para o teste de roaming :
201.48.226.64 rede/29
201.48.226.65 BG - Border Gateway
201.48.226.66 GGSN AID - Server 1 - apn m2m.ctbc.br
201.48.226.67 GGSN AID - Server 2 - apn m2m.ctbc.br
201.48.226.68 GGSN AID - Server 3 - apn m4m.ctbc.br
201.48.226.69 - vago
201.48.226.70 - vago
201.48.226.71 broadcast
Cronograma Macro
Histórico
- 08/07/16 - Apresentação GTP
- 08/07/16 - Apresentação GGSN
- 08/07/16 - Demonstração do protótipo OpenGGSN
- 01/11/13 - Atualização da documentação Conceitual (Caio Cesar Ferreira)
- 12/12/13 - Atualização da documentação Conceitual (Helvio)
- 23/12/13 - Atualização da documentação Conceitual (Caio Cesar Ferreira/Helvio)
- 26/12/12 - Atualização da documentação do modelo de Negócio (Ricardo)
- 04/06/14 - Alteração da configuração dos IPs dos três servidores, para teste de roaming.
Referências
Fontes :
- http://git.osmocom.org/openggsn/
- http://git.osmocom.org/libosmo-abis/
- http://git.osmocom.org/libosmocore/
Novos PD&Is
Pesquisadores
- Bruna Lorena Gondin
- Caio César Ferreira
- Guilherme Brito Garcia
- Hélvio Pereira de Freitas
- Lincoln Borges Ferreira
- Ricardo Domingues de Faria
- Servolo Dantas
- Tiago Barros De Souza


