Etiqueta: visualeditor |
Etiqueta: visualeditor |
||
| Linha 50: | Linha 50: | ||
== Características == | == 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. | 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 == | == Estudo Dirigido == | ||
= Fase II - Ensino<br> = | = Fase II - Ensino<br> = | ||
| Linha 68: | Linha 58: | ||
== Conteúdo == | == 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 : | 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), usado para transportar o GPRS, compreedendo o GTP-C, GTP-U e variantes GTP'. O esboço da pilha é mostrado abaixo :<br> | ||
<br> | |||
[[Image:Gtpv2-stack.gif]] | [[Image:Gtpv2-stack.gif]] | ||
<br> | <br> | ||
==== Tipos GTP: ==== | |||
O GTP é dividido em protocolos separados como o GTP-C, GTP-U e GTP. | |||
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. | 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. <br> <br>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'') . | 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. <br> <br>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 == | == Apresentação == | ||
=== GTP - GPRS Tunnelling Protocol === | === GTP - GPRS Tunnelling Protocol === | ||
https://docs.google.com/presentation/d/1r46ImyDaRllYu0LC9sl3v8PobY2rWyo4GAQo8og1DWc/edit?usp=sharing | https://docs.google.com/presentation/d/1r46ImyDaRllYu0LC9sl3v8PobY2rWyo4GAQo8og1DWc/edit?usp=sharing | ||
Edição das 04h37min de 30 de agosto 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 através da interface Gi, fornece uma interface segura para comunicação com outras redes, gerencia endereços IP, e permite criação e configuração de APNs.
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 (General Packet Radio Services) 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 do usuário 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.
Serving GPRS Support Node (SGSN)
O SGSN (Serving GPRS support node) é responsável por entregar os pacotes de dados, das estações móveis e para as estações móveis de acordo com sua área geógrafica.
Suas tarefas são:
- Roteamento de pacotes
- Transferência de pacotes
- Funções de conexão e desconexão
- Controle de mobilidade
- Autenticação
- Funções de cobrança
O SGSN se comunica com o GGSN através da interface Gn.
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), usado para transportar o GPRS, compreedendo o GTP-C, GTP-U e variantes GTP'. O esboço da pilha é mostrado abaixo :
Tipos GTP:
O GTP é dividido em protocolos separados como o GTP-C, GTP-U e GTP.
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
https://docs.google.com/presentation/d/1r46ImyDaRllYu0LC9sl3v8PobY2rWyo4GAQo8og1DWc/edit?usp=sharing
GGSN - Gateway GPRS Support Node
https://docs.google.com/presentation/d/1C_qR4GL9R-7RnmJc5ZNJCDR-V4xf5B4evTFbUNv1cJM/edit?usp=sharing
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


