SlideShare uma empresa Scribd logo
1 de 48
Agenda
• Contexto e desafios do Projeto InterVoIP (CPqD)
• Apresentação do Projeto InterVoIP, motivação e etapas
• Conceitos
• ENUM – Convergência de Serviços
• Tecnologias de Interconexão VoIP
• Desafios da Pesquisa do Projeto InterVoIP
• Benchmarking de servidores DNS-ENUM (UFU)
• Pesquisa de uma solução em VoIP Peering (CPqD)
• Padrões de implementação : IETF
• Arquitetura
• Estudo de caso do InterVoIP
SBE-I
SIP
SSP-I SSP – SIP Service Provider
SBE – Signaling Path Border Element
SIP
Para qual operadora deve
ser enviado o pacote?
Speermint - elementos
SBE-I
LRF
SSP-I
LUF
LUF - Look-Up Function
Determina localização do domínio de um
SF (Signaling Function) de destino
SF
SF - Signaling Function
Envia as requisições SIP para
estabelecimento e manutenção de sessões
LRF - Location Routing Function
Determina SED necessária para
roteamento da requisição
SED (Session Establishment Data)
Dados necessários para rotear uma chamada para
o próximo salto:
. FQDN ou IP
. Porta
. Protocolo de Transmissão
. Segurança
. Outros parâmetros de controle
Speermint - elementos
SIP
SSP1
SF
SIP
SBE
SF
SSP2
DBE
RTPRTP
DBE
LUF
Proxy Redirect
ou
ENUM
Q: Numero_ENUM
R: Dominio (AoR)
LRF
DNS
Q: SRV Dominio (AoR)
R: FQDN/IP Porta
Protocolo Transmissão
Speermint - como funciona
SIP
SBE
LUF
- Realiza consulta ENUM
- Retorna o domínio AoR
(sip:bob@example.com)
- Se não resolver, pode enviar para PSTN
DBE
- Data Path border Element
- Elemento de borda por onde passa o tráfego
de mídia.
LRF
- Descobre próximo salto a partir do
domínio de destino
- Resolução DNS: NAPTR (Transporte) /
SRV (Porta) / A (Endereço) – rfc 3263
SBE
LUF
LRF
SF
SSP
ENUM
DNS
Como aprovisionamos dados no
DNS e no ENUM?
SIP
Aprovisionamento de dados
ENUM
DNS
Database
Sugere modelamento para aprovisionamento de dados de encaminhamento:
Operadora B
Inseridos pelo SSP destino – Registrant
Operadora B
Consumido pela SSP que origina a
chamada ou uma SSP Intermediaria
DRINKS - Aprovisionamento de dados
Visão simplificada da arquitetura
Base de dados
Fatores de decisão
(custo, horário, etc)
Numero
Telefônico
Range de
Numeração
Prefixo
Grupo de
Destino
n
n
n
1
ENUM
Record Domínio
nn 11
SRV Record
NAPTR Record
A Record
n
1
1
1
SED
Grupo de
Rota
n n
n
n
Peering
Organization
1 n
DRINKS - Flexibilização de roteamento
Que arquitetura pode atender ao
modelamento DRINKS, permitindo
flexibilização no roteamento da
chamada VoIP ?
Requisitos da Arquitetura
• Alta taxa de vazão
• Flexibilidade no encaminhamento de chamada
• Facilidade de implementação
• Escalabilidade de dados
• Escalabilidade Horizontal
• Aderência à infra-estrutura de TI das empresas do setor
Opções para a Arquitetura
• Benchmarking realizado pela UFU:
• Bind
• PowerDNS
Bind com Zone Files
PowerDNS com Mysql
Zone Files - Mysql
Como conseguir uma maior
independência em relação ao
servidor DNS ?
Abstração através de um Adaptador
• Biblioteca linkada ao servidor DNS
em tempo de compilação.
• Trabalha integrada a backend
customizado do servidor DNS.
• Recebe as consultas enviadas ao
servidor DNS e repassa a
resolução ao InterVoIP.
• Faz uso de sockets e trafega
protocolo binário, definido sob
medida, com baixo overhead.
Arquitetura adotada
Arquitetura do projeto
PowerDNS com Adaptador
• Por que PowerDNS ?
• Concebido com a premissa de ser
extensivel.
• Possui vários backends
implementados
• Lembrando que um dos requisitos...
Facilidade de implementação
• Por outro lado ...
• Para que seja satisteito mais um
requisito da arquitetura:
Aderência à infra-estrutura de TI
• Apenas acoplar Adaptador ao novo
servidor DNS
• Demais módulos são reaproveitados
Servidor de Consultas
• Recebe consultas do DNS e encaminha
ao mecanismo de resolução
• Alta disponibilidade
• Escalável horizontalmente.
• Alto desempenho
• Load Balancer via ha-proxy.
• JBOSS Netty
• Abstrai a complexidade da
programação com sockets.
Protocolo de transmissão
• Google Protocol Buffers
• Abstrai a complexidade da definição de um protocolo binário
• Protocolo definido sob medida em arquivo texto
• Compilador protoc gera implementações em Java e C++
Mecanismo de Resolução
• Traduzir chave DNS para registro correspondente
• Pelo fato da resolução ser interna ao InterVoIP proporciona :
• Flexibilidade e inteligência na tomada de decisão
• Políticas pré-definidas (Custo da ligação, Horário da ligação, Tráfego no link )
• Para atender a mais um requisito...
• Alta vazão
• Registros devem estar na memória
• Devido ao grande volume de
registros um outro requisito...
• Escalabilidade de dados
• Como alocar em memória uma
grande quantidade de registros de
forma confiante e escalável ?
Cache Distribuído
• MenCached
• Standalone
• JBoss Infinispan
• Standalone
• Embedded
• Opção escolhida:
• JBoss Infinispan Embedded
• Escalabilidade da aplicação em conjunto com dados
• Escalabilidade teórica infinita
• Modo de configuração
• Distribuído parcialmente replicado
Modos de Configuração do Cache
Modo Replicado
• Capacidade de Armazenamento
• Igual a capacidade do menor nó
• Segurança do dado
• Maximizada
• Cache completo em todos os nós
Modo Distribuído
• Capacidade de Armazenamento
• Maximizada
• Igual a soma da capacidade de
todos os nós
• Segurança do dado
• O dado está presente em um único
nó
• Se um nó apresentar falha, parte
dos dados deixarão de estar na
memória.
Modo Distribuído parcialmente Replicado
• Capacidade de Armazenamento
• > que cenário Replicado.
• < que cenário Distribuído.
• Depende do nível de replicação.
• Segurança do dado
• > que cenário Distribuído.
• < que cenário Replicado.
• Depende do nível de replicação.
• Cenário Exemplo
• 3 Nós - Nível de replicação = 2
• Se apenas um nó apresentar falha,
o cache ainda contém todos os
dados.
Cache Distribuído InterVoIP
• Consulta base de dados relacional, modelada segundo o DRINKS e aloca
os registros em um cache distribuído chave-valor.
Validação da Arquitetura
• Nessa arquitetura o desempenho da aplicação passa a depender não
somente do servidor DNS.
• Após a definição da arquitetura e implementação de um mínimo necessário
foram efetuados testes de validação da arquitetura.
Validação da arquitetura
• Para formular uma metodologia de teste, devemos considerar
aspectos não funcionais, relativos ao desempenho e a capacidade
de recursos computacionais.
• Desempenho
• Vazão de Requisições por minuto
• Tempo de latência
• Capacidade de recursos computacionais
• Disponibilidade de memória
• Manutenção da base de dados
• Tempo de reload da base de dados
• Desempenho durante o reload da base de dados
Testes de desempenho do DNS
• Backend padrão versus backend com adaptador.
• Testes realizados para números existentes e não existente em que
o DNS é autoritativo.
• Utilizamos a ferramenta opensource dnsperf.
• Para os dois cenários foi utilizada uma base com 1 milhão de
números cadastrados.
• Foram considerados várias configurações de cache para o DNS,
fizemos uma analise comparativa com a configuração mais coerente
para o estudo dos dois cenários.
Vazão para números existentes
Latência para números existentes
Vazão para números não existentes
Latência para números não existentes
Alocação de memória com uso do Adaptador
• Quantidade de memória estimada
para uma carga de 1 milhão de
números telefônicos
• Tempo de carga da base de dados
para RAM
• Tempo aferido para carga em uma
máquina
• Arquitetura Intel i7 2600 64bits - 3.4 Ghz
• 8G RAM
730 MBytes
52 segundos
• Vazão
• Para números existentes temos uma vazão maior para o backend padrão
• Para números não existentes os valores para os dois cenários são
parecidos
• Bom desempenho nos dois cenários, considerando o fluxo de chamada
Voip
• Tempo de Latência
• Com adaptador torna-se maior em um cenário com grande número de
requisições simultâneas
• Muito baixo nos dois cenários, comparado ao tempo total para o
estabelecimento da chamada.
• Desempenho medido durante o reload
• Não foi afetado de maneira significativa em relação ao regime normal de
operação.
Análise dos Testes
• O cenário “Com Adaptador” é factível devido as seguintes
constatações :
• Desempenho apresentado nos testes
• Ganhos de flexibilização que esta busca proporciona
• Portanto esse cenário deve ser considerado como solução de
arquitetura a ser adotada
Conclusão da validação da arquitetura
Portal WEB
Portal WEB - Aprovisionamento de dados
Portal WEB - Menu
• Cadastro Numérico
• Numero Telefônico
• Prefixo
• Range
• Grupo de Destino
• Cadastro de Grupo de Destino
• Registros
• Domínio-Protocolo
• Domínio-Serviço
• Domínio
• Protocolo
• Serviço
• Servidores
• Grupo de Rota
• Associação Grupo de Rota
• Cadastro de Grupo de Rotas
• Carga Massiva
• Persistir Carga
• Visualizar Log
• Usuário
• Cadastro de Usuários
• Administrar
• Alterar Senha
• Grupo de Recurso
• Organizações
• Perfis
• Recursos
Portal WEB - Cadastro Número Telefônico
Portal WEB - Assoc. Grupo de Rota - Domínio
IETF / Speermint
Componentes do Speermint
• Opensips
• Desenvolvido com o fim de ser um SIP Proxy
• Não tem o foco em controlar mídia.
• Modularizado para possibilitar acréscimo de funcionalidades e aderência
a vários protocolos.
• Opensource
• Funções do Speermint
• SF e LRF
• implementadas no core do Opensips
• LUF
• implementadas no modulo ENUM do Opensips, adaptado para enviar o usuário
do RURI e o domínio (hostname ou IP) da operadora de origem.
Estudo de caso: InterVoIP
Obrigado!
www.cpqd.com.br

Mais conteúdo relacionado

Mais procurados

DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)Caio Candido
 
Camada de rede capitulo 4
Camada de rede   capitulo 4Camada de rede   capitulo 4
Camada de rede capitulo 4fernandao777
 
Valdir Adorni - Infra and S.A.N Assessment Integration Sample
Valdir Adorni - Infra and S.A.N Assessment Integration SampleValdir Adorni - Infra and S.A.N Assessment Integration Sample
Valdir Adorni - Infra and S.A.N Assessment Integration SampleValdir Adorni
 

Mais procurados (8)

Performance HyperV
Performance HyperVPerformance HyperV
Performance HyperV
 
Livro cisco
Livro ciscoLivro cisco
Livro cisco
 
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
 
Camada de rede capitulo 4
Camada de rede   capitulo 4Camada de rede   capitulo 4
Camada de rede capitulo 4
 
Dhcp
DhcpDhcp
Dhcp
 
Relatório IPV6
Relatório IPV6Relatório IPV6
Relatório IPV6
 
SQL Server over SMB3
SQL Server over SMB3SQL Server over SMB3
SQL Server over SMB3
 
Valdir Adorni - Infra and S.A.N Assessment Integration Sample
Valdir Adorni - Infra and S.A.N Assessment Integration SampleValdir Adorni - Infra and S.A.N Assessment Integration Sample
Valdir Adorni - Infra and S.A.N Assessment Integration Sample
 

Destaque

Importante 2
Importante 2Importante 2
Importante 2cesgargo
 
Conoce al departamento de ñeembucu
Conoce al departamento de ñeembucuConoce al departamento de ñeembucu
Conoce al departamento de ñeembucuAlfredo Pereira
 
Teoria dos circuitos - Capitulo 08
Teoria dos circuitos - Capitulo 08Teoria dos circuitos - Capitulo 08
Teoria dos circuitos - Capitulo 08andydurdem
 
Economia peruanae
Economia peruanaeEconomia peruanae
Economia peruanaeelitagn
 
Integrated Photonics Advances in Optical Transmission: An Industry View
Integrated Photonics Advances in Optical Transmission: An Industry ViewIntegrated Photonics Advances in Optical Transmission: An Industry View
Integrated Photonics Advances in Optical Transmission: An Industry ViewCPqD
 

Destaque (10)

Parcial2 pereira juan
Parcial2 pereira juanParcial2 pereira juan
Parcial2 pereira juan
 
Importante 2
Importante 2Importante 2
Importante 2
 
Migration of youth
Migration of youthMigration of youth
Migration of youth
 
Viper logo
Viper logoViper logo
Viper logo
 
Conoce al departamento de ñeembucu
Conoce al departamento de ñeembucuConoce al departamento de ñeembucu
Conoce al departamento de ñeembucu
 
Teoria dos circuitos - Capitulo 08
Teoria dos circuitos - Capitulo 08Teoria dos circuitos - Capitulo 08
Teoria dos circuitos - Capitulo 08
 
Economia peruanae
Economia peruanaeEconomia peruanae
Economia peruanae
 
GDP
GDPGDP
GDP
 
патріотичне виховання
патріотичне вихованняпатріотичне виховання
патріотичне виховання
 
Integrated Photonics Advances in Optical Transmission: An Industry View
Integrated Photonics Advances in Optical Transmission: An Industry ViewIntegrated Photonics Advances in Optical Transmission: An Industry View
Integrated Photonics Advances in Optical Transmission: An Industry View
 

Semelhante a Agenda do Projeto InterVoIP

Ws2012r2 hyper v
Ws2012r2 hyper vWs2012r2 hyper v
Ws2012r2 hyper vFabio Hara
 
19-Sistemas Distribuidos.pptx
19-Sistemas Distribuidos.pptx19-Sistemas Distribuidos.pptx
19-Sistemas Distribuidos.pptxRoberto Aragy
 
Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customiz...
Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customiz...Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customiz...
Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customiz...Miguel Xavier
 
ClusterizaçãO De AplicaçõEs Php
ClusterizaçãO De AplicaçõEs PhpClusterizaçãO De AplicaçõEs Php
ClusterizaçãO De AplicaçõEs PhpCampus Party Brasil
 
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureQCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureFabrício Lopes Sanchez
 
Projeto InterVoIP: contexto e desafios - I Workshop CPqD de Inovação Tecnológ...
Projeto InterVoIP: contexto e desafios - I Workshop CPqD de Inovação Tecnológ...Projeto InterVoIP: contexto e desafios - I Workshop CPqD de Inovação Tecnológ...
Projeto InterVoIP: contexto e desafios - I Workshop CPqD de Inovação Tecnológ...CPqD
 
Apresentação GT - Digital Preservation
Apresentação GT - Digital PreservationApresentação GT - Digital Preservation
Apresentação GT - Digital PreservationRoberto Beraldo Chaiben
 
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (...
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (..."Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (...
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (...WeOp - The Operations Summit
 
Construção da Plataforma de dados Autônoma e em Escala
Construção da Plataforma de dados Autônoma e em EscalaConstrução da Plataforma de dados Autônoma e em Escala
Construção da Plataforma de dados Autônoma e em Escalarkwseijuurou
 
Estaleiro o uso de kubernetes no serpro
Estaleiro   o uso de kubernetes no serproEstaleiro   o uso de kubernetes no serpro
Estaleiro o uso de kubernetes no serproRicardo Katz
 
5º Meetup Datalab - Do nada a Produção usando Arquitetura Serverless
5º Meetup Datalab - Do nada a Produção usando Arquitetura Serverless5º Meetup Datalab - Do nada a Produção usando Arquitetura Serverless
5º Meetup Datalab - Do nada a Produção usando Arquitetura ServerlessAndré Ricardo da S. Souza
 
Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...
Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...
Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...Rafael Schettino
 
planejamento pre-instalacao win server 2012
 planejamento pre-instalacao win server 2012 planejamento pre-instalacao win server 2012
planejamento pre-instalacao win server 2012Yan Ferrari Ferreira
 
Iniciando com serviços de bancos de dados gerenciados na AWS
Iniciando com serviços de bancos de dados gerenciados na AWSIniciando com serviços de bancos de dados gerenciados na AWS
Iniciando com serviços de bancos de dados gerenciados na AWSAmazon Web Services LATAM
 

Semelhante a Agenda do Projeto InterVoIP (20)

Ws2012r2 hyper v
Ws2012r2 hyper vWs2012r2 hyper v
Ws2012r2 hyper v
 
19-Sistemas Distribuidos.pptx
19-Sistemas Distribuidos.pptx19-Sistemas Distribuidos.pptx
19-Sistemas Distribuidos.pptx
 
Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customiz...
Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customiz...Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customiz...
Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customiz...
 
Arquiteturas escaláveis e tolerantes a falhas
Arquiteturas escaláveis e tolerantes a falhasArquiteturas escaláveis e tolerantes a falhas
Arquiteturas escaláveis e tolerantes a falhas
 
ClusterizaçãO De AplicaçõEs Php
ClusterizaçãO De AplicaçõEs PhpClusterizaçãO De AplicaçõEs Php
ClusterizaçãO De AplicaçõEs Php
 
Clusterização de Aplicações PHP
Clusterização de Aplicações PHPClusterização de Aplicações PHP
Clusterização de Aplicações PHP
 
Preparando sua arquitetura para microservicos
Preparando sua arquitetura para microservicosPreparando sua arquitetura para microservicos
Preparando sua arquitetura para microservicos
 
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureQCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
 
Projeto InterVoIP: contexto e desafios - I Workshop CPqD de Inovação Tecnológ...
Projeto InterVoIP: contexto e desafios - I Workshop CPqD de Inovação Tecnológ...Projeto InterVoIP: contexto e desafios - I Workshop CPqD de Inovação Tecnológ...
Projeto InterVoIP: contexto e desafios - I Workshop CPqD de Inovação Tecnológ...
 
Apresentação GT - Digital Preservation
Apresentação GT - Digital PreservationApresentação GT - Digital Preservation
Apresentação GT - Digital Preservation
 
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (...
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (..."Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (...
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (...
 
Construção da Plataforma de dados Autônoma e em Escala
Construção da Plataforma de dados Autônoma e em EscalaConstrução da Plataforma de dados Autônoma e em Escala
Construção da Plataforma de dados Autônoma e em Escala
 
Estaleiro o uso de kubernetes no serpro
Estaleiro   o uso de kubernetes no serproEstaleiro   o uso de kubernetes no serpro
Estaleiro o uso de kubernetes no serpro
 
5º Meetup Datalab - Do nada a Produção usando Arquitetura Serverless
5º Meetup Datalab - Do nada a Produção usando Arquitetura Serverless5º Meetup Datalab - Do nada a Produção usando Arquitetura Serverless
5º Meetup Datalab - Do nada a Produção usando Arquitetura Serverless
 
Persistência
PersistênciaPersistência
Persistência
 
Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...
Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...
Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...
 
planejamento pre-instalacao win server 2012
 planejamento pre-instalacao win server 2012 planejamento pre-instalacao win server 2012
planejamento pre-instalacao win server 2012
 
01 planejamento pre-instalacao
01 planejamento pre-instalacao01 planejamento pre-instalacao
01 planejamento pre-instalacao
 
Asa cpbr4
Asa cpbr4Asa cpbr4
Asa cpbr4
 
Iniciando com serviços de bancos de dados gerenciados na AWS
Iniciando com serviços de bancos de dados gerenciados na AWSIniciando com serviços de bancos de dados gerenciados na AWS
Iniciando com serviços de bancos de dados gerenciados na AWS
 

Mais de CPqD

Control Plane for High Capacity Networks Public
Control Plane for High Capacity Networks PublicControl Plane for High Capacity Networks Public
Control Plane for High Capacity Networks PublicCPqD
 
Brazilian Semiconductor Scenario and Opportuni3es
Brazilian Semiconductor Scenario and Opportuni3esBrazilian Semiconductor Scenario and Opportuni3es
Brazilian Semiconductor Scenario and Opportuni3esCPqD
 
Cognitive Technique for Software Defined Optical Network (SDON)
Cognitive Technique for Software Defined Optical Network (SDON)Cognitive Technique for Software Defined Optical Network (SDON)
Cognitive Technique for Software Defined Optical Network (SDON)CPqD
 
The Dawn of Industry 4.0
The Dawn of Industry 4.0The Dawn of Industry 4.0
The Dawn of Industry 4.0CPqD
 
Embedded Electronics for Telecom DSP
Embedded Electronics for Telecom DSPEmbedded Electronics for Telecom DSP
Embedded Electronics for Telecom DSPCPqD
 
Troubleshooting Coherent Optical Communication Systems
Troubleshooting Coherent Optical Communication SystemsTroubleshooting Coherent Optical Communication Systems
Troubleshooting Coherent Optical Communication SystemsCPqD
 
OPTICAL COMMUNICATIONS APPLICATIONS
OPTICAL COMMUNICATIONS APPLICATIONSOPTICAL COMMUNICATIONS APPLICATIONS
OPTICAL COMMUNICATIONS APPLICATIONSCPqD
 
Novo modelo de apoio à inovação
Novo modelo de apoio à inovaçãoNovo modelo de apoio à inovação
Novo modelo de apoio à inovaçãoCPqD
 
CPqD at Optical Communication Ecosystem - Last/Next 10 years and R&D&I opport...
CPqD at Optical Communication Ecosystem - Last/Next 10 years and R&D&I opport...CPqD at Optical Communication Ecosystem - Last/Next 10 years and R&D&I opport...
CPqD at Optical Communication Ecosystem - Last/Next 10 years and R&D&I opport...CPqD
 
Flexible Optical Transmission
Flexible Optical TransmissionFlexible Optical Transmission
Flexible Optical TransmissionCPqD
 
High Capacity Optical Access Networks
High Capacity Optical Access NetworksHigh Capacity Optical Access Networks
High Capacity Optical Access NetworksCPqD
 
BNDES: Instrumentos de Apoio à Inovação
BNDES: Instrumentos de Apoio à InovaçãoBNDES: Instrumentos de Apoio à Inovação
BNDES: Instrumentos de Apoio à InovaçãoCPqD
 
Câmara de Gestão M2M/IoT
Câmara de Gestão M2M/IoTCâmara de Gestão M2M/IoT
Câmara de Gestão M2M/IoTCPqD
 
Mesa Redonda: Fomento Governamental para o Setor
Mesa Redonda: Fomento Governamental para o SetorMesa Redonda: Fomento Governamental para o Setor
Mesa Redonda: Fomento Governamental para o SetorCPqD
 
Creating Business Value By Enabling the Internet of Things
Creating Business Value By Enabling the Internet of ThingsCreating Business Value By Enabling the Internet of Things
Creating Business Value By Enabling the Internet of ThingsCPqD
 
RFID and NFC Providing the last yards for IoT
RFID and NFC Providing the last yards for IoTRFID and NFC Providing the last yards for IoT
RFID and NFC Providing the last yards for IoTCPqD
 
Apresentação Paulo Curado (CPqD) - RFID Journal Live! Brasil 2015
Apresentação Paulo Curado (CPqD) - RFID Journal Live! Brasil 2015Apresentação Paulo Curado (CPqD) - RFID Journal Live! Brasil 2015
Apresentação Paulo Curado (CPqD) - RFID Journal Live! Brasil 2015CPqD
 
Fiber Technology Trends for Next Generation Networks
Fiber Technology Trends for Next Generation NetworksFiber Technology Trends for Next Generation Networks
Fiber Technology Trends for Next Generation NetworksCPqD
 
Emerging Trends and Applications for Cost Effective ROADMs
Emerging Trends and Applications for Cost Effective ROADMsEmerging Trends and Applications for Cost Effective ROADMs
Emerging Trends and Applications for Cost Effective ROADMsCPqD
 
Optics for 100G and beyond
Optics for 100G and beyondOptics for 100G and beyond
Optics for 100G and beyondCPqD
 

Mais de CPqD (20)

Control Plane for High Capacity Networks Public
Control Plane for High Capacity Networks PublicControl Plane for High Capacity Networks Public
Control Plane for High Capacity Networks Public
 
Brazilian Semiconductor Scenario and Opportuni3es
Brazilian Semiconductor Scenario and Opportuni3esBrazilian Semiconductor Scenario and Opportuni3es
Brazilian Semiconductor Scenario and Opportuni3es
 
Cognitive Technique for Software Defined Optical Network (SDON)
Cognitive Technique for Software Defined Optical Network (SDON)Cognitive Technique for Software Defined Optical Network (SDON)
Cognitive Technique for Software Defined Optical Network (SDON)
 
The Dawn of Industry 4.0
The Dawn of Industry 4.0The Dawn of Industry 4.0
The Dawn of Industry 4.0
 
Embedded Electronics for Telecom DSP
Embedded Electronics for Telecom DSPEmbedded Electronics for Telecom DSP
Embedded Electronics for Telecom DSP
 
Troubleshooting Coherent Optical Communication Systems
Troubleshooting Coherent Optical Communication SystemsTroubleshooting Coherent Optical Communication Systems
Troubleshooting Coherent Optical Communication Systems
 
OPTICAL COMMUNICATIONS APPLICATIONS
OPTICAL COMMUNICATIONS APPLICATIONSOPTICAL COMMUNICATIONS APPLICATIONS
OPTICAL COMMUNICATIONS APPLICATIONS
 
Novo modelo de apoio à inovação
Novo modelo de apoio à inovaçãoNovo modelo de apoio à inovação
Novo modelo de apoio à inovação
 
CPqD at Optical Communication Ecosystem - Last/Next 10 years and R&D&I opport...
CPqD at Optical Communication Ecosystem - Last/Next 10 years and R&D&I opport...CPqD at Optical Communication Ecosystem - Last/Next 10 years and R&D&I opport...
CPqD at Optical Communication Ecosystem - Last/Next 10 years and R&D&I opport...
 
Flexible Optical Transmission
Flexible Optical TransmissionFlexible Optical Transmission
Flexible Optical Transmission
 
High Capacity Optical Access Networks
High Capacity Optical Access NetworksHigh Capacity Optical Access Networks
High Capacity Optical Access Networks
 
BNDES: Instrumentos de Apoio à Inovação
BNDES: Instrumentos de Apoio à InovaçãoBNDES: Instrumentos de Apoio à Inovação
BNDES: Instrumentos de Apoio à Inovação
 
Câmara de Gestão M2M/IoT
Câmara de Gestão M2M/IoTCâmara de Gestão M2M/IoT
Câmara de Gestão M2M/IoT
 
Mesa Redonda: Fomento Governamental para o Setor
Mesa Redonda: Fomento Governamental para o SetorMesa Redonda: Fomento Governamental para o Setor
Mesa Redonda: Fomento Governamental para o Setor
 
Creating Business Value By Enabling the Internet of Things
Creating Business Value By Enabling the Internet of ThingsCreating Business Value By Enabling the Internet of Things
Creating Business Value By Enabling the Internet of Things
 
RFID and NFC Providing the last yards for IoT
RFID and NFC Providing the last yards for IoTRFID and NFC Providing the last yards for IoT
RFID and NFC Providing the last yards for IoT
 
Apresentação Paulo Curado (CPqD) - RFID Journal Live! Brasil 2015
Apresentação Paulo Curado (CPqD) - RFID Journal Live! Brasil 2015Apresentação Paulo Curado (CPqD) - RFID Journal Live! Brasil 2015
Apresentação Paulo Curado (CPqD) - RFID Journal Live! Brasil 2015
 
Fiber Technology Trends for Next Generation Networks
Fiber Technology Trends for Next Generation NetworksFiber Technology Trends for Next Generation Networks
Fiber Technology Trends for Next Generation Networks
 
Emerging Trends and Applications for Cost Effective ROADMs
Emerging Trends and Applications for Cost Effective ROADMsEmerging Trends and Applications for Cost Effective ROADMs
Emerging Trends and Applications for Cost Effective ROADMs
 
Optics for 100G and beyond
Optics for 100G and beyondOptics for 100G and beyond
Optics for 100G and beyond
 

Agenda do Projeto InterVoIP

  • 1. Agenda • Contexto e desafios do Projeto InterVoIP (CPqD) • Apresentação do Projeto InterVoIP, motivação e etapas • Conceitos • ENUM – Convergência de Serviços • Tecnologias de Interconexão VoIP • Desafios da Pesquisa do Projeto InterVoIP • Benchmarking de servidores DNS-ENUM (UFU) • Pesquisa de uma solução em VoIP Peering (CPqD) • Padrões de implementação : IETF • Arquitetura • Estudo de caso do InterVoIP
  • 2. SBE-I SIP SSP-I SSP – SIP Service Provider SBE – Signaling Path Border Element SIP Para qual operadora deve ser enviado o pacote? Speermint - elementos
  • 3. SBE-I LRF SSP-I LUF LUF - Look-Up Function Determina localização do domínio de um SF (Signaling Function) de destino SF SF - Signaling Function Envia as requisições SIP para estabelecimento e manutenção de sessões LRF - Location Routing Function Determina SED necessária para roteamento da requisição SED (Session Establishment Data) Dados necessários para rotear uma chamada para o próximo salto: . FQDN ou IP . Porta . Protocolo de Transmissão . Segurança . Outros parâmetros de controle Speermint - elementos SIP
  • 4. SSP1 SF SIP SBE SF SSP2 DBE RTPRTP DBE LUF Proxy Redirect ou ENUM Q: Numero_ENUM R: Dominio (AoR) LRF DNS Q: SRV Dominio (AoR) R: FQDN/IP Porta Protocolo Transmissão Speermint - como funciona SIP SBE LUF - Realiza consulta ENUM - Retorna o domínio AoR (sip:bob@example.com) - Se não resolver, pode enviar para PSTN DBE - Data Path border Element - Elemento de borda por onde passa o tráfego de mídia. LRF - Descobre próximo salto a partir do domínio de destino - Resolução DNS: NAPTR (Transporte) / SRV (Porta) / A (Endereço) – rfc 3263
  • 5. SBE LUF LRF SF SSP ENUM DNS Como aprovisionamos dados no DNS e no ENUM? SIP Aprovisionamento de dados
  • 6. ENUM DNS Database Sugere modelamento para aprovisionamento de dados de encaminhamento: Operadora B Inseridos pelo SSP destino – Registrant Operadora B Consumido pela SSP que origina a chamada ou uma SSP Intermediaria DRINKS - Aprovisionamento de dados
  • 9. Fatores de decisão (custo, horário, etc) Numero Telefônico Range de Numeração Prefixo Grupo de Destino n n n 1 ENUM Record Domínio nn 11 SRV Record NAPTR Record A Record n 1 1 1 SED Grupo de Rota n n n n Peering Organization 1 n DRINKS - Flexibilização de roteamento
  • 10. Que arquitetura pode atender ao modelamento DRINKS, permitindo flexibilização no roteamento da chamada VoIP ?
  • 11. Requisitos da Arquitetura • Alta taxa de vazão • Flexibilidade no encaminhamento de chamada • Facilidade de implementação • Escalabilidade de dados • Escalabilidade Horizontal • Aderência à infra-estrutura de TI das empresas do setor
  • 12. Opções para a Arquitetura • Benchmarking realizado pela UFU: • Bind • PowerDNS
  • 13. Bind com Zone Files
  • 15. Zone Files - Mysql
  • 16. Como conseguir uma maior independência em relação ao servidor DNS ?
  • 17. Abstração através de um Adaptador • Biblioteca linkada ao servidor DNS em tempo de compilação. • Trabalha integrada a backend customizado do servidor DNS. • Recebe as consultas enviadas ao servidor DNS e repassa a resolução ao InterVoIP. • Faz uso de sockets e trafega protocolo binário, definido sob medida, com baixo overhead.
  • 18. Arquitetura adotada Arquitetura do projeto PowerDNS com Adaptador
  • 19. • Por que PowerDNS ? • Concebido com a premissa de ser extensivel. • Possui vários backends implementados • Lembrando que um dos requisitos... Facilidade de implementação • Por outro lado ... • Para que seja satisteito mais um requisito da arquitetura: Aderência à infra-estrutura de TI • Apenas acoplar Adaptador ao novo servidor DNS • Demais módulos são reaproveitados
  • 20. Servidor de Consultas • Recebe consultas do DNS e encaminha ao mecanismo de resolução • Alta disponibilidade • Escalável horizontalmente. • Alto desempenho • Load Balancer via ha-proxy. • JBOSS Netty • Abstrai a complexidade da programação com sockets.
  • 21. Protocolo de transmissão • Google Protocol Buffers • Abstrai a complexidade da definição de um protocolo binário • Protocolo definido sob medida em arquivo texto • Compilador protoc gera implementações em Java e C++
  • 22. Mecanismo de Resolução • Traduzir chave DNS para registro correspondente • Pelo fato da resolução ser interna ao InterVoIP proporciona : • Flexibilidade e inteligência na tomada de decisão • Políticas pré-definidas (Custo da ligação, Horário da ligação, Tráfego no link )
  • 23. • Para atender a mais um requisito... • Alta vazão • Registros devem estar na memória • Devido ao grande volume de registros um outro requisito... • Escalabilidade de dados • Como alocar em memória uma grande quantidade de registros de forma confiante e escalável ?
  • 24. Cache Distribuído • MenCached • Standalone • JBoss Infinispan • Standalone • Embedded • Opção escolhida: • JBoss Infinispan Embedded • Escalabilidade da aplicação em conjunto com dados • Escalabilidade teórica infinita • Modo de configuração • Distribuído parcialmente replicado
  • 26. Modo Replicado • Capacidade de Armazenamento • Igual a capacidade do menor nó • Segurança do dado • Maximizada • Cache completo em todos os nós
  • 27. Modo Distribuído • Capacidade de Armazenamento • Maximizada • Igual a soma da capacidade de todos os nós • Segurança do dado • O dado está presente em um único nó • Se um nó apresentar falha, parte dos dados deixarão de estar na memória.
  • 28. Modo Distribuído parcialmente Replicado • Capacidade de Armazenamento • > que cenário Replicado. • < que cenário Distribuído. • Depende do nível de replicação. • Segurança do dado • > que cenário Distribuído. • < que cenário Replicado. • Depende do nível de replicação. • Cenário Exemplo • 3 Nós - Nível de replicação = 2 • Se apenas um nó apresentar falha, o cache ainda contém todos os dados.
  • 29. Cache Distribuído InterVoIP • Consulta base de dados relacional, modelada segundo o DRINKS e aloca os registros em um cache distribuído chave-valor.
  • 30. Validação da Arquitetura • Nessa arquitetura o desempenho da aplicação passa a depender não somente do servidor DNS. • Após a definição da arquitetura e implementação de um mínimo necessário foram efetuados testes de validação da arquitetura.
  • 31. Validação da arquitetura • Para formular uma metodologia de teste, devemos considerar aspectos não funcionais, relativos ao desempenho e a capacidade de recursos computacionais. • Desempenho • Vazão de Requisições por minuto • Tempo de latência • Capacidade de recursos computacionais • Disponibilidade de memória • Manutenção da base de dados • Tempo de reload da base de dados • Desempenho durante o reload da base de dados
  • 32. Testes de desempenho do DNS • Backend padrão versus backend com adaptador. • Testes realizados para números existentes e não existente em que o DNS é autoritativo. • Utilizamos a ferramenta opensource dnsperf. • Para os dois cenários foi utilizada uma base com 1 milhão de números cadastrados. • Foram considerados várias configurações de cache para o DNS, fizemos uma analise comparativa com a configuração mais coerente para o estudo dos dois cenários.
  • 33. Vazão para números existentes
  • 35. Vazão para números não existentes
  • 36. Latência para números não existentes
  • 37. Alocação de memória com uso do Adaptador • Quantidade de memória estimada para uma carga de 1 milhão de números telefônicos • Tempo de carga da base de dados para RAM • Tempo aferido para carga em uma máquina • Arquitetura Intel i7 2600 64bits - 3.4 Ghz • 8G RAM 730 MBytes 52 segundos
  • 38. • Vazão • Para números existentes temos uma vazão maior para o backend padrão • Para números não existentes os valores para os dois cenários são parecidos • Bom desempenho nos dois cenários, considerando o fluxo de chamada Voip • Tempo de Latência • Com adaptador torna-se maior em um cenário com grande número de requisições simultâneas • Muito baixo nos dois cenários, comparado ao tempo total para o estabelecimento da chamada. • Desempenho medido durante o reload • Não foi afetado de maneira significativa em relação ao regime normal de operação. Análise dos Testes
  • 39. • O cenário “Com Adaptador” é factível devido as seguintes constatações : • Desempenho apresentado nos testes • Ganhos de flexibilização que esta busca proporciona • Portanto esse cenário deve ser considerado como solução de arquitetura a ser adotada Conclusão da validação da arquitetura
  • 41. Portal WEB - Aprovisionamento de dados
  • 42. Portal WEB - Menu • Cadastro Numérico • Numero Telefônico • Prefixo • Range • Grupo de Destino • Cadastro de Grupo de Destino • Registros • Domínio-Protocolo • Domínio-Serviço • Domínio • Protocolo • Serviço • Servidores • Grupo de Rota • Associação Grupo de Rota • Cadastro de Grupo de Rotas • Carga Massiva • Persistir Carga • Visualizar Log • Usuário • Cadastro de Usuários • Administrar • Alterar Senha • Grupo de Recurso • Organizações • Perfis • Recursos
  • 43. Portal WEB - Cadastro Número Telefônico
  • 44. Portal WEB - Assoc. Grupo de Rota - Domínio
  • 46. Componentes do Speermint • Opensips • Desenvolvido com o fim de ser um SIP Proxy • Não tem o foco em controlar mídia. • Modularizado para possibilitar acréscimo de funcionalidades e aderência a vários protocolos. • Opensource • Funções do Speermint • SF e LRF • implementadas no core do Opensips • LUF • implementadas no modulo ENUM do Opensips, adaptado para enviar o usuário do RURI e o domínio (hostname ou IP) da operadora de origem.
  • 47. Estudo de caso: InterVoIP