FACULDADE MÓDULO PAULISTA DESENVOLVIMENTO E APLICAÇÃO DE SOLUÇÕES BASEADAS EM REDES CONVERGENTES São Paulo 2010 FACULDADE MÓDULO PAULISTA DESENVOLVIMENTO E APLICAÇÃO DE SOLUÇÕES BASEADAS EM REDES CONVERGENTES Autores: Adriano Barbosa 51928, Adriano Severino 52188, André Sampaio 52278, Artur Rio 51914, Breno Degan 51964, Bruno Brugnolo 51910, Eduardo Popovici 51937, Erickson dos Santos 52010, Geferson Costa 51716, José Ricardo 51960, Lucas Landim 52175, Luiz Felipe 52173, Maycon Santos 52151, Rogério Lopes 52542, Thiago Bueno 52252 e Thiago Theodoro 52548 Trabalho de conclusão de curso apresentado como parte das atividades para obtenção do título de Tecnólogo em Redes de Computadores do centro de Informática da Faculdade Módulo Paulista de São Paulo. São Paulo 2010 O Único Lugar Onde o Sucesso Vem Antes do Trabalho é no Dicionário. Albert Einstein AGRADECIMENTOS Nosso agradecimento abrange todo o corpo docente da Faculdade Módulo Paulista, que auxiliou e orientou o desenvolvimento deste projeto, desde sua proposta até sua conclusão. Para os documentos criados com intuito de organizar e gerenciar os membros da equipe, visando a entrega da solução proposta, temos em especial, um agradecimento ao Professor Rodrigo Silva, da equipe da TOTVS. Aos professores Luciano Deluqui, Tung Wen, Ricardo França, Sergio Sendai, Gilmar Araujo, Andrea Cristovão, João Pinho e Luiz Mattos, dedicamos uma ressalva diferenciada. Aos mestres que formaram esta equipe de TI, nosso caloroso obrigado. O apoio de nossos familiares e colegas, também foi de fator critico para a conclusão do trabalho, visto que, a conciliação do trabalho diário, com os afazeres familiares e estudo universitário, somaram grande desafio pessoal a todos nós, como membros desta equipe de trabalho e membros desta ilustre instituição. Agradecemos ainda, aos parceiros comerciais e empresas que gentilmente, cederam suas soluções sem qualquer custo ou ônus adicional, para os respectivos fins acadêmicos que neste documento se ratificam. RESUMO Este artigo apresenta as características e funções de uma rede convergente, utilizando serviços de VoIP, videoconferência e rádio Web, sendo controlado por Servidores Microsoft e ainda possuindo controle de banda e segurança aplicada. Palavras-chaves: Videoconferência, redes convergentes, provedores, operadora de telefonia, intranet. ABSTRACT “This article presents the functions and features of a converged network using VoIP services, videoconference and web radio. It‟s controled by Windows Server with bandwidth control and applied security.” Keywords: Videoconferencing, converged networks, providers, telephone operator, intranet. LISTA DE ILUSTRAÇÕES Figura 01: Topologia TIM ......................................................................................... 16 Figura 02: Grupo A ................................................................................................... 16 Figura 03: Grupo B .................................................................................................... 17 Figura 04: Grupo C .................................................................................................... 17 Figura 05: Livros ITIL V3 ......................................................................................... 18 Figura 06: Modelo Funcional .................................................................................... 20 Figura 07: PDCA ....................................................................................................... 21 Figura 08: Silos Funcionais ....................................................................................... 22 Figura 09: Frameworks .............................................................................................. 22 Figura 10: Fluxo de Distribuição ............................................................................... 23 Figura 11: Sistema de comunicação .......................................................................... 24 Figura 12: Streaming Lan .......................................................................................... 25 Figura 13: Streaming on Demand .............................................................................. 26 Figura 14: Players ...................................................................................................... 28 Figura 15: Estação VoIP ............................................................................................ 29 Figura 16: Ramais VoIP ............................................................................................ 33 Figura 17: Rede SIP ................................................................................................... 38 Figura 18: Requisição SIP ......................................................................................... 39 Figura 19: Pilha de Protocolo .................................................................................... 41 Figura 20: Exemplo Terminal ................................................................................... 40 Figura 21: Exemplo Terminal 02 .............................................................................. 43 Figura 22: Players SIP ............................................................................................... 44 Figura 23: Asterisk Phone ......................................................................................... 44 Figura 24: Videoconferência ..................................................................................... 46 Figura 25: Câmera Clone ........................................................................................... 46 Figura 26: Câmera Phillips ........................................................................................ 47 Figura 27: Codecs de Videoconferência .................................................................... 48 Figura 28: Red5 ......................................................................................................... 53 Figura 29: OpenMeetings .......................................................................................... 59 Figura 30: Sinal de Áudio.......................................................................................... 60 Figura 31: Som em curvas ......................................................................................... 61 Figura 32: Diagrama da Placa de Som ...................................................................... 62 Figura 33: Referência de Sinais ................................................................................. 63 Figura 34: Diagrama de transmissão assíncrona ....................................................... 65 Figura 35: Modelo com fontes e servidor .................................................................. 66 Figura 36: Winp ......................................................................................................... 70 Figura 37: Winp2 ....................................................................................................... 72 Figura 38: Winp3 ....................................................................................................... 73 Figura 39: Winp4 ....................................................................................................... 74 Figura 40: Winp5 ....................................................................................................... 75 Figura 41: Winp6 ....................................................................................................... 76 Figura 42: Winp7 ....................................................................................................... 77 Figura 43: Winp8 ....................................................................................................... 77 Figura 44: TV Web .................................................................................................... 78 Figura 45: Seguro ...................................................................................................... 79 Figura 46: Proteção .................................................................................................... 79 Figura 47: Segurança default ..................................................................................... 81 Figura 48: Disponibilidade ........................................................................................ 81 Figura 49: Aplicações in-process .............................................................................. 82 Figura 50: Out-of-Process ......................................................................................... 83 Figura 51: Isolamento de Aplicações ........................................................................ 83 Figura 52: Modelo Funcional IIS7 ............................................................................ 84 Figura 53: Exemplo de QoS 01 ................................................................................. 85 Figura 54: Exemplo de QoS 02 ................................................................................. 86 Figura 55: Panorama Windows Server ...................................................................... 88 Figura 56: Visão Geral do AD ................................................................................... 89 Figura 57: Topologia lógica do Active Directory ..................................................... 91 LISTA DE TABELAS Tabela 1: Consumo VoIP .......................................................................................... 34 Tabela 2: Definição VoIP .......................................................................................... 34 Tabela 3: Valor dos Codecs ....................................................................................... 35 Tabela 4: Quadro comparativo .................................................................................. 39 LISTA DE ANEXOS Anexo A: Modelo de Declaração de Escopo ....................................................... 102 Anexo B: Modelo de Lista de Tarefas e Pendências ........................................... 103 Anexo C: Modelo de Ata de Reunião .................................................................. 104 Anexo D: Modelo de Anexo RACI .................................................................... 105 Anexo E: Modelo de Anexo Project 2007 .......................................................... 106 LISTA DE ABREVIAÇÕES ACL Access Control List AD Active Directory ANATEL Agencia Nacional de Telecomunicações AS Autonomous System BTB Back-to-Back CCTA Central Computing and Telecommunication Agency DC Domain Controler FPS Frames per Second FW Firewall GBIC Gigabit Interface Converter GPO Group Police Object GSM Global System Mobile IETF Internet Engineering Task Force ITIL Information Technology Infrastructure Library IP Internet Protocol IIS Internet Information Service ISDN Integrated Services Digital Network KBPS Kilobits per Second LAN Local Area Network LBC Load Balancing MMS Microsoft Media Service MOF Microsoft Operational Framework OU Unit Organization PBX Private Branch Exchange QOS Quality of Service RFC Request for Comments RTMP Real Time Messaging Protocol RTMPS Real Time Messaging Protocol Secure RTMPT Real Time Messaging Protocol Tunneled SIP Session Initiation Protocol SLA Service Level Agreement SUP Suporte TCP Transmission Control Protocol VOIP Voice Over Internet Protocol UDP User Datagrama Protocol VPN Virtual Private Network SUMÁRIO 1. INTRODUÇÃO................................................................................................ 16 2. FRAMEWORKS .............................................................................................. 18 2.1. Ciclo de Melhoria ............................................................................................. 19 2.2. Pdca .................................................................................................................. 21 3. STREAMING ................................................................................................... 24 3.1. Players .............................................................................................................. 27 4. VOIP ................................................................................................................. 29 4.1. Anatel e o VoIP ................................................................................................ 29 5. Transcodificação .............................................................................................. 31 5.1. Bitstream .......................................................................................................... 31 5.2. Features ............................................................................................................ 31 6. SERVIDOR VOIP ............................................................................................ 33 6.1. Codecs .............................................................................................................. 34 6.2. Sip..................................................................................................................... 35 6.2.1. Arquitetura do Sip ............................................................................................ 36 6.3. Servidor Proxy Sip ........................................................................................... 37 6.4. Servidor de Redirecionamento Sip ................................................................... 37 6.5. Regstrador Sip .................................................................................................. 37 6.6. Metodo Sip ....................................................................................................... 40 6.7. Requerimentos Sip ........................................................................................... 40 6.8. Seção de Chamada............................................................................................ 41 7. ASTERISK ....................................................................................................... 44 8. VIDEOCONFERÊNCIA.................................................................................. 45 8.1. Ambiente .......................................................................................................... 45 8.2. Detalhe Técnico ................................................................................................ 48 8.3. Recursos ........................................................................................................... 49 8.4. OpenMeetings .................................................................................................. 49 8.4.1. OpenOfffice ...................................................................................................... 50 8.4.2. SWFTools......................................................................................................... 53 8.4.3. Red5.................................................................................................................. 53 9. RADIO WEB ................................................................................................... 59 9.1. Som................................................................................................................... 59 9.2. Sinal de Áudio .................................................................................................. 60 9.3. Captação e Conversão ...................................................................................... 61 9.4. Sinais analógicos e digitais............................................................................... 61 9.5. Periféricos ......................................................................................................... 62 9.6. Taxa de Amostragem........................................................................................ 63 9.7. Metadados ........................................................................................................ 65 9.8. Topologia.......................................................................................................... 66 9.9. Protocolos e Portas ........................................................................................... 68 9.10. Winamp 5.581 .................................................................................................. 69 10. TV WEB ........................................................................................................... 78 11. SEGURANÇA.................................................................................................. 79 11.1. Elementos da Política de Segurança ................................................................ 80 12. IIS7 ................................................................................................................... 82 13. QOS .................................................................................................................. 85 14. SERVIÇO DE DOMÍNIO MICROSOFT ........................................................ 87 14.1. Estrutura do AD............................................................................................... 88 14.2. Modelo Baseado em Diretório ........................................................................ 90 14.3. Proposta de AD para o Projeto ........................................................................ 90 15. SCRIPTS .......................................................................................................... 92 15.1. Script de Bloqueio 3G ..................................................................................... 92 15.2. Script de Atalho ............................................................................................... 93 16. Script de Rastreamento ..................................................................................... 94 17. CONCLUSÃO.................................................................................................. 96 18. REFERÊNCIAS BIBLIOGRÁFICAS ............................................................. 97 19. ANEXOS .......................................................................................................... 100 16 1. INTRODUÇÃO Desenvolvemos o trabalho baseado no escopo fornecido pelo grupo de infraestrutura da instituição, seguindo o referido modelo. Figura 01: Topologia TIM Fonte: Grupo de Infra 2TRC O laboratório utilizado para experimentos e apresentação desde modelo funcional, foi dividido de maneira a acomodar os grupos de trabalho, influenciando diretamente no esquema das soluções desenvolvidas. Figura 02: Grupo A Fonte: Grupo de Infra 2TRC 17 Figura 03: Grupo B Fonte: Grupo de Infra 2TRC Figura 04: Grupo C Fonte: Grupo de Infra 2TRC 18 2. FRAMEWORKS Para o desenvolvimento desse projeto, decidimos iniciar o trabalho com base em boas práticas de TI, para que tudo ficasse determinado e documentado corretamente desde o inicio, evitando a velha sina de que “todo projeto de TI, nunca recebe a devida documentação”. Percebemos que seria necessária tal aplicação, depois de identificar que, diferente de outros momentos, teríamos muitas pessoas participando do mesmo projeto final, dentro do mesmo grupo para a entrega do trabalho escrito. Sendo realista com o pensamento, a entrega em si não é apenas de uma estrutura funcional ou de uma tecnologia qualquer; é a entrega de uma solução que envolve tecnologia, conhecimento e satisfação do cliente, que nesse caso, é entendido como o corpo docente da instituição. Tivemos uma experiência de caso, em um laboratório efetuado no terceiro semestre do curso, que só funcionou corretamente, após uma análise detalhada de tarefas, funções e processos para a configuração de roteadores e switches. Como é sabido por muitos na área de TI, a ITIL é uma biblioteca de melhores práticas, que em sua terceira versão, visa à entrega do Serviço como seu fator principal de sucesso. Até a data da elaboração desta monografia, a ITIL estava composta por cinco livros que compões todo o ciclo de vida do serviço, tendo ainda um sexto livro, que contêm a introdução ao Ciclo de vida do serviço. Figura 05: Livros ITIL V3 Fonte: Exin 19 Os cinco livros principais, que abrangem a versão três da ITIL são, Estratégia de Serviço, Desenho de Serviço, Transição de Serviço, Operação de Serviço e Melhoria do Serviço Continua. O modelo criado para interpretar algumas das melhores práticas, envolve a criação de sete esferas, representadas pela Figura do Modelo Funcional, da página 20. O fluxograma apresentado demonstra os conceitos de boas práticas, retirados e adaptados do entendimento da leitura dos dois primeiros livros da ITIL, Estratégia de Serviços e Desenho de Serviço. Esses dois livros ajudaram a elaborar e estruturar o trabalho da equipe HTBRAZ, para finalizar o ultimo semestre do curso de Redes. O ciclo criado demonstra os passos adotados para gerar os processos de criação e administração da equipe e até mesmo para criar e estruturar todos os serviços propostos até a sua entrega ao cliente. A primeira esfera cria o entendimento global de recursos tecnológicos e humanos que fazem parte da disponibilidade do grupo. Através dessa visão entendemos o tamanho da situação e podemos identificar pequenas fragilidades, que podem se tornar maiores ou até mesmo, criticas com o andar do projeto. Demonstrado na segunda esfera, podemos identificar os objetivos mensuráveis, retratando a realidade de nosso objetivo final e verificando realmente o que é necessário para alcançar a meta. A terceira esfera trabalha com a criação de prazos, visto que já sabemos onde queremos chegar. Esses prazos devem ser mensurados de modo a não deixar nenhum componente fora do escopo geral, entregando corretamente o serviço, na data e local acordado. Sabendo dos prazos e das necessidades do projeto, chega à hora de definir os integrantes da equipe e alocar cada um em sua área de especialização ou afinidade. Em nosso planejamento, isso foi estruturado utilizando a quarta esfera. 2.1. Ciclo de Melhoria Após identificar as peças do projeto, a quinta esfera deve aliar cada um dos integrantes da equipe em seu perfil funcional, dividindo a massa funcional em células independentes, porém vinculadas, que se auto alimentam de informações e resultados. Nessa etapa, identificamos que seria interessante colocar pessoas específicas com trabalhos funcionais em mais de uma célula, para que a interação não fosse perdida. Pense em um protocolo que atue independente 20 do sistema operacional que esteja rodando no equipamento. Esse analista funcional seria exatamente esse “protocolo”, entre as células ou silos funcionais. A Sexta esfera do modelo seria feita pelos Accontables de cada silo funcional e recebendo a devida orientação dos prazos e maneira com que o projeto deveria ser documentado e orientado, para que os prazos fossem cumpridos, sem perder qualquer dado relevante que pudesse gerar uma oportunidade ou que pudesse ajudar a prever algum evento indesejado. E a sétima esfera agora faz com que possamos verificar e medir como anda o trabalho, entendendo a organização criada e verificando se alguma etapa foi esquecida ou mal elaborada. Isso permite também, validar quando um processo esta lento ou burocrático demais, causando lentidão desnecessária para a entrega do serviço. A idéia fundamental de organizar o grupo dessa maneira foi a de aperfeiçoar o tempo com que o trabalho estivesse acontecendo, sem causar impacto negativo ou reativo dentro da equipe. Além de fazer com que cada um trabalhe motivado, por estar atuando em sua área preferencial, buscando logicamente, o devido reconhecimento e a maturidade do negócio. 1 Avaliação de recursos operacionais 7 2 Medição e Métricas Objetivos mensuráveis Entrega do Serviço 6 Melhoria de serviços e processos Prazos tangíveis Organização da equipe em células 5 Divisão de responsábili dades 4 Figura 06: Modelo Funcional Fonte: Desenvolvido pelos integrantes do Grupo 3 21 Para entender melhor a forma como foi estruturada essa maneira de entender a ITIL e a governança como um todo, é necessário abordar, de modo objetivo porém, simplificado, o chamado ciclo PDCA. 2.1. Pdca O ciclo PDCA, que é citado pelos conceitos da ITIL, foi utilizado para organização dos documentos e da elaboração das métricas aplicadas ao projeto. Figura 07: PDCA Fonte: Prof. Dr. Flávio R. Pinheiro, PMP, ITIL V3 Expert O Ciclo PDCA, também conhecido como Ciclo de Shewhart, Ciclo da Qualidade ou Ciclo de Deming, é uma técnica que tem como característica básica o auxílio no diagnóstico, análise e prognóstico de problemas organizacionais, sendo extremamente útil para a solução de problemas. Poucos instrumentos se mostram tão efetivos para a busca do aperfeiçoamento quanto este método de melhoria contínua, tendo em vista que ele conduz a ações sistemáticas que podem agilizar a obtenção de melhores resultados com a finalidade de garantir a sobrevivência e o crescimento das organizações. 22 Figura 08: Silos Funcionais Fonte: Desenvolvido pelos integrantes do Grupo Neste projeto acadêmico, o PDCA foi utilizado para integrar a forma de trabalho com bases operacionais como Linux e Windows, para que os serviços finais funcionassem perfeitamente, tanto em ambiente simulado quanto em ambiente operacional. A planilha desenvolvida para controle e documentação das atividades do projeto, consta em registro, como Modelo de Anexo RACI, da página 105. Podemos ainda visualizar, outros frameworks utilizados para organizar e auxiliar o departamento de TI a manter padrões de qualidade aplicada a cada tipo de negócio. Figura 09: Frameworks Auto: Prof. Dr. Flávio R. Pinheiro, PMP, ITIL V3 Expert 23 Dentro dos modelos já comentados, adaptamos uma maneira de documentar as modificações e alterações, mantendo toda a equipe ciente a cada momento e tendo fácil acesso a todo material elaborado. O Manager do projeto, ou nesse caso o Informed do projeto, recebe os dados dos silos funcionais, documenta e divulga todas as orientações, mudanças operacionais e processuais através de várias ferramentas, como grupos públicos, listas de emails, grupos restritos, blogs e sites de internet. Lista de Email Replicadore s Estratégicos Manager Blog e Site Grupo Públicos Figura 10: Fluxo de Distribuição Fonte: Desenvolvido pelos integrantes do Grupo O a imagem abaixo, mostra a janela de administração de contas da ferramenta de grupos gratuita do Google, que permite uma série de configurações, funcionando como uma newsletter, entre os integrantes da equipe. Algumas configurações de bloqueio externo foram adicionadas, para evitar acesso do conteúdo por pessoas não autorizadas. 24 Figura 11: Sistema de comunicação Fonte: Desenvolvido pelos integrantes do Grupo 3. STREAMING O projeto desenvolvido trabalha em especial com a utilização de alta largura de banda e uma técnica conhecida como Streaming. A tecnologia de streaming foi criada de modo a tornar mais leve e rápido o download e a execução de áudio e vídeo na web, já que permite escutar e visualizar os arquivos enquanto se faz o download. Se não utilizarmos streaming, para mostrar um conteúdo multimídia pela Rede, seria necessário descarregar primeiro o arquivo inteiro em nosso computador e mais tarde executálo, para finalmente ver e ouvir o que o arquivo continha. Entretanto, o streaming permite que esta tarefa se realize de uma maneira mais rápida e que possamos ver e escutar seu conteúdo durante o download. O streaming funciona da seguinte maneira, primeiro o cliente conecta com o servidor e este, começa a lhe mandar o arquivo. O cliente começa a receber o arquivo e constrói um buffer onde começa a salvar a informação. Quando se enche o buffer com uma pequena parte do arquivo, o cliente começa a mostrar e ao mesmo tempo continua o download. O sistema está sincronizado para que o arquivo possa ser visto enquanto se baixa o arquivo, de modo que quando o arquivo acaba de ser baixado, também acaba de ser visualizado. Se em algum momento a conexão sofre decréscimos de velocidade se utiliza a informação que existe no 25 buffer, de modo que se pode agüentar um pouco esse decréscimo. Se a comunicação se corta durante muito tempo, o buffer se esvazia e a execução do arquivo se cortaria também até que se restaurasse o sinal. Figura 12: Streaming Lan Fonte: Apple Support QuickTime Essa técnica de distribuição de arquivos via streaming de um servidor para um player utiliza basicamente o UDP e o RTSP, com uma qualidade realmente considerável, que só é alcançada graças à arquitetura que prioriza a distribuição em fluxos contínuos. Quando TCP e HTTP são usados e encontram uma falha em entregar um pacote de dados, eles tentam repetidamente enviar aquele pacote de dados até que este seja entregue com sucesso. UDP continua a enviar os dados mesmo se ocorrer perda dos mesmos, o que permite uma experiência em tempo real, que é uma das principais características do Streaming. Em casos como o Windows Media player, por exemplo, utilizamos Microsoft Media Service (ou MMS), também conhecido como NetShow Services Protocol, para transferência de dados unicast. Também pode ser transportado via TCP ou UDP, sendo este último o ideal. Se o cliente Windows Media Player não conseguir negociar uma boa conexão usando MSS sobre UDP, ele irá tentar utilizando MSS sobre TCP. Se não tiver êxito, tentará ainda utilizando MSS sobre uma versão modificada do HTTP (sempre sobre TCP). 26 Figura 13: Streaming on Demand Fonte: VBC Telecom A empresa Adobe tem uma vasta experiência com a criação de tecnologia focada em streaming e utiliza em seus produtos o RTMP, muito eficiente para streaming de áudio, vídeo e dados para internet totalmente voltada para o Flash player, utilizado por quase 100% dos navegadores atualmente. Existem ainda muitos projetos que utilizam o RTMP, sendo alguns mantidos pela Adobe e outros ainda de outros fabricantes e até em plataforma aberta. Flash Media Server http://www.adobe.com/products/flashmediaserver/ LiveCycle DS http://www.adobe.com/products/livecycle/dataservices/ Abaixo é possível ainda visualizar os pertencentes à plataforma aberta. Red5 http://osflash.org/red5 (Java) 27 Wowza http://www.wowzamedia.com/ (Java) WebOrb http://www.themidnightcoders.com/products.html (.NET, Java) FluorineFX http://www.fluorinefx.com/ (.NET) ErlyVideo http://code.google.com/p/erlyvideo/ (Erlang) RubyIzumi http://code.google.com/p/rubyizumi/ (Ruby) RTMPD http://www.rtmpd.com/ (C++) Cygnal http://wiki.gnashdev.org/Cygnal (C++) RTMPy http://rtmpy.org/wiki/RTMP (Python) RTMPlite http://code.google.com/p/rtmplite/ (Python) MammothServer (OpenFMS) http://mammothserver.org/ (C++) É interessante lembrar que o protocolo RTMP é muito bloqueado em redes corporativas, redes de acesso gratuito e laboratórios de informática. Então pode se alterar o tipo de protocolo para que trafegue em HTTP: RTMPT, neste caso o RTMP é encapsulado e transmitidos em HTTP. Por padrão o server deve escutar a, porta 80. RTMPS, neste caso o RTMP é encapsulado e trocado por HTTPS. Por padrão o server deve escutar a porta 443. Como o Streaming consome uma largura de banda considerável, muitas empresas bloqueiam por completo ou limitam sua utilização através de QoS. 3.1 Players Para se interpretar o Streaming, podemos utilizar diversos players, como o Windows Media Player, o Real Player ou o QuiTime da Apple, sendo que cada um possui seu conjunto respectivo de Codecs. Na página 28, pela figura 14, podemos identificar um panorama de utilização mundial dos principais players de streaming do ano de 1990 até 2009. Os dados retirados da appleinsider.com em 09/09/2010, fornecem uma amostragem dos players e da evolução dentro de uma determinada linha de tempo. 28 Figura 14: Players Fonte: Apple Support QuickTime 29 4. VOIP Entendemos o VoIP como sendo a comunicação de voz, sobre uma rede IP, podendo ela ser pública ou privada, entre computadores desktop, notebooks ou ainda handhelds. Voz sobre Protocolo de Internet,é um método que consiste em pegar os sinais de áudio analógicos, o mesmo tipo que você ouve quando fala no telefone Figura 15: Estação VoIP Autor: slipperybrick.com comum, e transformá-los em dados digitais, que podem ser transmitidos através da Internet. Utilizar a internet para viabilizar ligações locais e de longa distância, reduzindo os custos com telefonia. Essa é a proposta da tecnologia, solução que tem se mostrado uma opção para empresas que buscam aperfeiçoar suas comunicações otimizando custos com chamadas telefônicas. 4.1 Anatel e o VoIP A Anatel, assim como a maioria dos órgãos regulatórios no mundo, procura regular os serviços de telecomunicações e não as tecnologias usadas para implementá-los. As tecnologias VoIP servem como meio e não como fim para os serviços de telefonia. Não existe ainda uma regulamentação específica para VoIP no Brasil. Entretanto, devido ao novo paradigma os serviços VoIP têm sido oferecidos no mercado de telecomunicações distribuídos em 4 classes: Classe 1: oferta de um Programa de Computador que possibilite a comunicação de VoIP entre 2 (dois) ou mais computadores (PC a PC), sem necessidade de licença para prestação do serviço. Classe 2: uso de comunicação VoIP em rede interna corporativa ou mesmo dentro da rede de um prestador de serviços de telecomunicações, desde que de forma transparente ao usuário. Neste caso, o prestador do serviço de VoIP deve ter pelo menos a licença SCM. Classe 3: uso de comunicação VoIP irrestrita, com numeração fornecida pelo Órgão Regulador e interconexão com a Rede Pública de Telefonia (Fixa e Móvel). Neste caso o prestador do serviço de VoIP deve ter pelo menos a licença STFC. 30 Classe 4: uso de VoIP somente para fazer chamadas, nacionais ou internacionais. Neste caso a necessidade de licença depende da forma como o serviço é caracterizado, e de onde (Brasil ou exterior) e por qual operadora é feita a interconexão com a rede de telefonia pública. A citação abaixo foi retirada do site oficial da Anatel, e traz orientações sobre o conceito de VoIP. “O Voz sobre IP (VoIP) é um conjunto de tecnologias que usam a internet ou redes IP privadas para a comunicação de voz, substituindo ou complementando os sistemas de telefonia convencionais. A Anatel não regulamenta as tecnologias, mas os serviços de telecomunicações que delas se utilizam. A comunicação de voz utilizando computadores conectados à internet - uma das aplicações desta tecnologia - é considerada Serviço de Valor Adicionado, não sendo necessária autorização da Anatel para prestá-lo. Nesse contexto, o uso da tecnologia de VoIP deve ser analisado sob três aspectos principais: Comunicação de voz efetuada entre dois computadores pessoais, utilizando programa específico e recursos de áudio do próprio computador - com acesso limitado a usuários que possuam tal programa - não constitui serviço de telecomunicações, mas Serviço de Valor Adicionado, conforme entendimento internacional; Comunicação de voz no âmbito restrito de uma rede corporativa ou na rede de uma prestadora de serviços de telecomunicações, de forma transparente para o assinante, efetuada entre equipamentos que podem incluir o aparelho telefônico, é caracterizada como serviço de telecomunicações. Neste caso, é exigida a autorização para exploração de serviço de telecomunicações para uso próprio ou para prestação a terceiros; Comunicação de voz de forma irrestrita com acesso a usuários de outros serviços de telecomunicações e numeração específica (objeto de controle pela Anatel) é caracterizada como serviço de telecomunicações de interesse coletivo. “É imprescindível autorização da Agência e a prestação do serviço deve estar em conformidade com a regulamentação.” 31 5. TRANSCODIFICAÇÃO Transcodificação é a conversão direta de uma codificação para outra. Isto é feito freqüentemente nos casos em que um dispositivo de destino não SUP o formato ou tem uma capacidade limitada de armazenamento que o reduzido tamanho do arquivo, ou para converter dados incompatíveis ou obsoletos para um formato mais apoiados ou moderno. A transcodificação de um arquivo para outro, sempre apresenta perda de qualidade no processo, embora este possa ser minimizado. 5.1 Bitstream Na transcodificação, o formato bitstream de um arquivo é alterado de uma para outra sem sofrer uma nova codificação e decodificação completa do processo. A Federal Standard 1037C americana, estipula as normas e regras funcionais para a transcodificação de dados. Quando falamos de um servidor VoIP, estamos falando de um alto consumo de CPU, para que seja feito a transcodificação dos dados, caso necessário, de um servidor para outro. 5.2 Features É possível a configuração do servidor VoIP utilizando as seguintes features: Callback - usuário liga para um número especifico, informa sua senha e o PABX-IP efetua a ligação telefônica. É utilizado basicamente para fazer ligações DDD e DDI, estabelecendo uma conexão local do seu celular ao PABX-IP e efetua a comutação de pacotes e a ligação para um determinado DDD. Spy - usuário consegue escutar uma ligação ativa, sem que as pessoas em questão saibam. Em um Call Center, entenda como uma monitoria de um supervisor a um atendente em modo transparente. Spy2 e 3 - usuário escuta uma ligação e fala com o atendente e vice-versa. Em uma forma mais objetiva, seria como uma monitoria que pode ser transformada em uma conferência entre quem monitora e os atuais participantes da conexão. 32 Captura de chamada - Possibilita capturar uma chamada em formatos diversificados, para registro e análise posterior. Hoje um pré requisito das operadores de Call Center a norma brasileira. Hora certa - informa o horário corrente do servidor ao usuário, através de um ramal específico e pré programado. Conferencia - Possibilita que vários usuários façam uma conferencia. Caixa postal - Possibilita a gravação de uma mensagem quando o ramal não atende Siga-me - quando um ramal não atende, é feito uma ligação automática para outro número, seja um celular ou outro ramal. Gravação da ura - existe a possibilidade de gravar as mensagens da ura por um telefone qualquer dentro da corporação. Ura por horário - faz com que o PABX-IP tenha uma ura diurna e uma noturna, possibilita também mensagens customizadas de manutenções ou datas comemorativas específicas. Compartilhamento das gravações - compartilha as gravações por meio de um servidor Linux Samba. As conversas são gravadas com um codec específico ou de utilização comum, para ser totalmente compatível com o Windows Media Player ou qualquer player encontrado hoje, como o Real Player ou o KMPlayer. Aplicativo de tarifação – Armazena e permite a visualização de logs de chamada, com duração, destino e dados do solicitante, permitindo um alto controle de custos e fluxo de ligações. É utilizado em larga escala pela equipe de Control Desk de operadoras de Call Center. 33 6. SERVIDOR VOIP Utilizamos um hardware determinado para um contra peso de ligações internas, tendo a tecnologia atual disponível. Processador: Core2 Duo 2.3 Ghz Memória: 2GB E6550 HD: 120GB Placas de rede: 1 – 10/100/1000 Sistema Operacional: Debian 5 Lenny Sistema Telefônico: Asterix Ramais: 100 O escopo final, segue o modelo da figura abaixo, lembrando que toda configuração se deve a compilação dos pacotes Asterisk e Dahdi. Pacotes adicionais instalados: ssh, vim, build-essential, bison, ncurses-dev. Libxml2-dev, mysql-server, mysql-client, libmysqlclient15-dev, apache2, php5, php5-mysql, samba, ntp, snmp e snmpd. Figura 16: Ramais VoIP Fonte: Desenvolvido pelos integrantes do Grupo 34 6.1 Codecs Podemos afirmar, através de testes efetuados em laboratório, que um processador de 2.3 GHz, utilizando 2GB Ram, um link de 2MB, utilizando o codec G.729, pode segurar até 60 chamadas em conversa simultânea, sem que haja qualquer perda de dados ou qualidade de transmissão do sinal. Codec Utilizado Chamadas Simultâneas Consumo de banda (Kb) G,711 23 1932 GSM 60 1839,6 G.729 60 1764 Tabela 1: Consumo VoIP Fonte: Desenvolvido pelos integrantes do Grupo MOS Definição 5 Excelente 4 Bom 3 Razoável 2 Ruim 1 Péssimo Tabela 2: Definição VoIP Fonte: Desenvolvido pelos integrantes do Grupo 35 Codec MOS G.711 4.3 iLBC 4.14 AMR 4.14 G.723 3.9 GSM 3.8 G.726 3.8 G.729 3.7 Tabela 3: Valor dos Codecs Fonte: Desenvolvido pelos integrantes do Grupo 6.2 Sip SIP é um protocolo de sinalização de telefonia IP usado para estabelecer, modificar e finalizar chamadas telefônicas. É um padrão da IETF, sua última versão chamado SIPv2 publicada em 2002 como RFC 3261. O SIP é um protocolo de sinal para estabelecer chamadas e conferências através de redes via Protocolo IP. O estabelecimento, mudança ou término da sessão é independente do tipo de mídia ou aplicação que será usada na chamada; uma chamada pode utilizar diferentes tipos de dados, incluindo áudio e vídeo. O SIP foi desenvolvido como parte da “Internet Multimídia Conferencing Architecture”, e foi projetado para interagir com outros protocolos da Internet como TCP, UDP, TLS, IP, DNS e outros. Por esse motivo oferece grande estabilidade e flexibilidade. O SIP recebeu uma adoção rápida como padrão para comunicações integradas e aplicações que usam presença. (Presença significa a aplicação estar consciente da sua localização e disponibilidade). Seguindo a filosofia da IETF, o SIP foi projetado tendo como foco a simplicidade, e, como um mecanismo de estabelecimento de sessão, ele apenas inicia, termina e modifica a sessão, o que o torna um protocolo que se adapta confortavelmente em diferentes arquiteturas. Ele 36 oferece 6 tipos de serviços para iniciação e finalização de sessões multimídias, descritas abaixo: Localização do Usuário - O SIP é responsável pela localização do terminal para estabelecer a conexão; Disponibilidade do Usuário - Responsável por realizar a vontade do usuário em estabelecer uma sessão de comunicação; Recursos do Usuário - Responsável pela determinação dos meios a serem utilizados; Características da Negociação - Responsável pela negociação e acordo entre as partes, quanto às funcionalidades que serão compartilhadas; Gestão da Sessão - Responsável por iniciar, terminar ou colocar em espera, sessões; Modificar Sessão - Responsável por modificar uma sessão em andamento; O protocolo SIP possui as seguintes características: Simplicidade possui apenas seis métodos. Independência do protocolo de transporte. Baseado em texto. 6.2.1 Arquitetura do Sip A arquitetura SIP é composta por diversos itens, sendo o agente do usuário, servidor Proxy e outros itens que serão vistos abaixo. O Agente do Usuário é o terminal SIP ou o software de estação final. O Agente do Usuário funciona como um cliente no pedido de inicialização de sessão e também age como um servidor quando responde a um pedido de sessão. Dessa forma, a arquitetura básica é cliente/servidor. O Agente do Usuário é “inteligente”, com isso ele armazena e gerencia situações de chamada. O Agente do Usuário faz chamadas com um endereço parecido com o de e-mail ou número de telefone (E.164). Como por exemplo: IP:[email protected] Isso faz URLs SIP fáceis de associar com o endereço de e-mail do usuário. O Agente do Usuário pode aceitar e receber chamadas de outro Agente do Usuário sem requerer nenhum componente adicional do SIP. Os componentes restantes fornecem gerenciamento e funcionalidades adicionais. 37 6.3. Servidor Proxy Sip Um tipo de servidor intermediário do SIP é o Servidor Proxy SIP. O Servidor Proxy SIP passa requisições adiante do Agente do Usuário para o próximo servidor SIP e também retém informações com a finalidade de contabilidade/faturamento. Além disso, o servidor proxy SIP pode operar com comunicação stateful (como um circuito) ou stateless (como o TCP). O servidor SIP stateful pode “dividir” chamadas por ordem de chegada para que várias extensões toquem ao mesmo tempo e o primeiro que atender pega a chamada. Essa capacidade significa que se pode especificar que um Softphone, um telefone celular SIP e aplicações de videoconferência SIP possam sinalizar simultaneamente quando receber uma chamada. Ao atender um dos dispositivos e começar a conversar, os restantes param de sinalizar. O servidor proxy SIP pode utilizar múltiplos métodos para tentar resolver o pedido de endereço de host, incluindo busca de DNS, busca em base de dados ou retransmitir o pedido para o “próximo” servidor proxy. 6.4. Servidor de Redirecionamento Sip Outro tipo de servidor intermediário do SIP é o Servidor de Redirecionamento SIP. A função do servidor de redirecionamento SIP é fornecer a resolução de nome e locação do usuário. O servidor de redirecionamento SIP, reponde ao pedido do Agente do Usuário fornecendo informações sobre o endereço do servidor para que o cliente possa contatar o endereço diretamente. 6.5. Registrador Sip O Registrador SIP fornece um serviço de informação de localidades; ele recebe informações do Agente do Usuário e armazena essa informação de registro. A arquitetura do SIP faz uso do SDP (Session Description Protocol). O SDP foi uma ferramenta de conferência multicast via IP desenvolvida para descrever sessões de áudio, vídeo e multimídia. Na realidade, qualquer tipo de MIME (Multipurpose Internet Mail Extension) pode ser descrita, similar à habilidade do e-mail de suportar todos os tipos de anexos em mensagens. A descrição da sessão pode ser usada para negociar uma aceitação de um conjunto de tipos de mídias compatíveis. 38 Figura 17: Rede SIP Fonte: Desenvolvido pelos integrantes do Grupo Como resultado dessa arquitetura, o endereço do usuário SIP remoto é sempre o mesmo (por exemplo sip:[email protected]), mas ao invés de estar amarrado a um endereço estático, ele comporta-se como um endereço dinâmico que reflete a localização atual do destinatário. A combinação de Proxy e Servidor Redirecionador dá ao SIP grande flexibilidade de arquitetura; o usuário pode empregar vários esquemas simultaneamente para usuários localizados e faz a arquitetura do SIP ser bem adaptada para suportar mobilidades. Mesmo quando o usuário remoto é móvel, o Proxy e o redirecionador podem ser usados para passar adiante o pedido de conexão para o usuário da locação atual. As sessões podem envolver múltiplos participantes, de forma similar a uma chamada multiponto H.323. Comunicações dentro de uma sessão em grupo podem ser via multicast ou via uma rede de chamadas unicast, ou até mesmo uma combinação dos dois. Outro resultado da arquitetura do SIP é a sua adequação natural como um ambiente de colaboração devido às suas habilidades de apresentar múltiplos tipos de dados, aplicações, multimídia, etc. com uma ou mais pessoas. A tabela 4 da página 39 demonstra as características de cada protocolo em um modo comparativo. 39 Protocolo H.323 SIP Órgão de Padronização ITU IETF Arquitetura Distribuída Distribuída Versão Atual H.323 Versão 4 SIP 2.0 (RFC 3261) Transporte TCP ou UDP TCP ou UDP Capacidade Multimídia Sim Sim Codificação Call Control ASN.1 Texto Disponibilizados pelos Disponibilizados pelos Endpoints ou Call Control Endpoints ou Call Control Serviços suplementares Tabela 4: Quadro comparativo Fonte: Desenvolvido pelos integrantes do Grupo Figura 18: Requisição SIP Fonte: asterisknews.com 40 6.6. Método Sip O SIP utiliza Métodos / requerimentos e Respostas correspondentes para estabelecer uma sessão de chamada. Requisições SIP: Há seis requerimentos básicos / tipos de métodos: INVITE (convidar) = Estabelece uma sessão ACK (confirmar) = Confirma o comando CONVIDAR BYE (tchau) = Finaliza uma sessão CANCEL (cancelar) = Cancela a sessão ainda não respondida REGISTER (registro) = Informa a localização do usuário (nome do usuário, IP) OPTIONS (opções) = Informa a capacidade e disponibilidade dos telefones de chamada e recebimento SIP. 6.7. Requerimentos Sip Os requerimentos do SIP acionam respostas que constam das 6 classes a seguir: 1xx = respostas de informações, tais como 180, que significa chamando 2xx = respostas de confirmação 3xx = respostas de redirecionamento 4xx = comandos não realizados 5xx = erros do servidor 6xx = erros globais 41 Figura 19: Pilha de protocolo Fonte: asterisknews.com Exemplo de uma sessão de Chamada SIP entre 2 telefones 6.8. Seção de Chamada Uma sessão de chamada sip entre 2 telefones ocorre da seguinte forma: O telefone que realiza a chamada envia um convite. O telefone que recebe a chamada envia de volta uma resposta de informação 100 – Tentando. Quando o telefone que recebe a chamada começa a tocar, a resposta 180 – Chamando – é enviada de volta. Quando quem chama atende, o telefone chamado envia uma resposta 200 – Ok. O telefone que realiza a chamada responde com ACK – confirmação do convite. A conversação é transmitida como dados via RTP. Quando quem chama desliga, a requisição BYE (tchau) é enviada ao telefone chamado. O telefone chamado responde com uma resposta 200 – Ok. 42 Figura 20: Exemplo Terminal Fonte: Wilcox, James Na chamada anterior, o terminal de Ana ofereceu-se para receber um canal de áudio codificado em PCM. Isto pode não ser aceitável para o terminal de Paulo, ou porque Paulo não dispõe de largura de banda suficiente (o PCM exige 64Kbit/s, mais o overhead RTP/UDP/IP/PPP) ou porque o terminal de Paulo não possui um codificador PCM mlaw. Nesse caso, o terminal de Paulo responderá com um 606 Not Acceptable e finalmente relacionará o conjunto de codificadores que ele pode usar. Com essa informação, o terminal de Ana pode enviar um novo pedido de invite, com o mesmo identificador de chamada, 43 anunciando o código apropriado (mas se ele tivesse essa capacidade, poderia tê-la enviado como uma escolha no primeiro pedido invite) ou então reiniciar uma chamada por meio de um proxy de transcodificação. Figura 21: Exemplo Terminal 02 Fonte: Wilcox, James 44 O IETF concluiu sobre um codificador padrão a ser usado no caso de voz a baixa taxa de bits, o G.723.1, de maneira a manter mínima a probabilidade desse tipo de incompatibilidade no H.323. Nenhuma recomendação desse tipo existe para o SIP, mas a maioria dos terminais parece ser capaz de receber PCM Alaw, mlaw e também GSM. O SIP não tem uma noção de canais lógicos (como definido no H.323). Quando um cliente se oferece para receber vários tipos de mídias em várias portas UDP ou TCP, ele tem de estar preparado para receber mídia imediatamente em qualquer um dessas portas. No entanto, o terminal de destino pode decidir enviar dados em apenas algumas portas (por exemplo, ele não possui capacidades de vídeo e envia apenas áudio). Nada na sinalização informa ao cliente se uma determinada porta estará ativa ou não. Em geral, isso não é realmente um problema, uma vez que a maioria dos pontos Figura 22: Players SIP Fonte: Desenvolvido pelos integrantes do Grupo finais podem ficar “escutando” as portas não usadas sem um impacto significativo no desempenho. Em alguns casos, no entanto, as entidades SIP precisam manter vários canais de mídia e têm de reutilizar as portas UDP da maneira mais eficiente possível, este é o caso de grandes gateways ou recursos de mídia centralizados. Essas entidades podem ter de multiplexar vários canais de mídia em uma única porta ou fechar portas inativas com base em heurísticas, por exemplo, após um período sem nenhuma atividade. 7. ASTERISK O Asterisk é a implementação de uma central telefônica PBX em software, Criado por Mark Spencer em Dezembro de 1999 e distribuído livremente pela Digium, seguindo a licença GPL, o nome Asterisk vem do símbolo „*‟, muito comum no mundo da telefonia. O asterisk é considerado uma central telefônica hibrida, por implementar tanto funções de uma central telefônica tradicional quanto os protocolos VoIP, ou seja, o Asterisk gerencia o áudio trafegando em canais de Figura 23: Asterisk Phone Fonte: asteriskvoipnews.com 45 comunicação digitais, analógicos e também em redes IP. Ele é o que chamamos de BTB user agente, por estabelecer uma chamada telefônica e continuar monitorando o trafego de áudio entre esses pontos. 8. VIDEOCONFERENCIA Videoconferência pode ser entendido como sendo o contacto visual e sonoro entre pessoas que estão em lugares diferentes, distantes ou não, dando a sensação de que os interlocutores encontram-se no mesmo local. Permite não só a comunicação entre um grupo, mas também a comunicação “pessoa-a-pessoa.” Essa técnica é muito utilizada nos dias atuais por empresas, profissionais e estudantes do mundo todo, para se comunicar e transmitir dados através de uma rede, independendo dos protocolos utilizados da sua fonte até seu destino. A comunicação através de videoconferência é feita em tempo real e pode ser feito através de vários sistemas interpessoais de fabricantes diversos. Além da transmissão simultânea de áudio e vídeo, esses sistemas oferecem ainda recursos de cooperação entre os usuários, compartilhando informações e materiais de trabalho. Em geral os equipamentos de videoconferência disponíveis no mercado possuem capacidade de estabelecer uma comunicação ponto a ponto, e para que vários pontos se conectem simultaneamente é preciso utilizar um equipamento denominado MCU (Multiponto Control Unit). O funcionamento da MCU assim como de outros componentes necessários a videoconferência são especificados pelo padrão H.323 e SIP. Também é possível estabelecer uma conexão entre vários pontos utilizando a tecnologia de conexão Multicast. O Multicast é pouco utilizado por ser uma tecnologia de rede que não esta presente na Internet apenas em redes privadas e fechadas. 46 Figura 24: Videoconferência Fonte: sansung.com 8.1. Ambiente Um ambiente comum de videoconferência é composto de uma sala dotada de uma câmera especial e alguma facilidade tecnológica para a apresentação de documentos. Atualmente, com o avanço dos processadores e a compressão de dados, surgiu um novo tipo de videoconferência, a conferência desktop. Nela não é necessário salas especiais e muito menos equipamentos ultra modernos: a interação é feita por uma webcam e um microfone simples. A compressão/descompressão e todo o resto são efetuados por software que deve estar instalado em uma Figura 25: Câmera Clone Fonte: clone.com máquina padrão. Citando exemplos clássicos de comunicação de vídeo conferência, podemos utilizar os Messengers, que fazem sucesso entre a comunidade da internet, além de aplicações mais sofisticadas para fins específicos, como o Silverligth da Microsoft, por exemplo, utilizado para a exibição dos Web Casts da comunidade Technet Brasil. 47 Ainda utilizando o Silverligth como exemplo, podemos entender seu nome técnico, e identificando realmente a tecnologia WPF/E, desenvolvida pelo fabricante Microsoft. "WPF/E" é o nome de uma nova tecnologia de apresentação na Web criada para ser executada em diversas plataformas. Ele permite a criação de experiências elaboradas, interativas e visualmente impressionantes que podem ser executadas em qualquer lugar; em navegadores ou em vários dispositivos e sistemas operacionais de desktop (como o Apple Macintosh). De acordo com o WPF (Windows Presentation Foundation), o XAML (eXtensible Application Markup Language) é a base do recurso de apresentação "WPF/E". O XAML é uma tecnologia de apresentação do Microsoft .NET Framework 3.0 (infra-estrutura de programação Windows). Em uma explicação resumida, podemos entender que Figura 26: Câmera Phillips Fonte: Phillips.com as videoconferências sempre envolvem sistemas emissores e receptores, que através de CODECs, ou tecnologias similares, interpretam dados relacionados a áudio e vídeo, através do sistema de Streaming, que é enviado através de uma rede, pública ou privada. O sistema de áudio para videoconferência consiste na combinação de headset (fones de ouvido com microfone embutido), aparelho de telefone, microfone, alto-falantes e um dispositivo de digitalização (hardware e software). Um sistema ideal de áudio é aquele que oferece a mais ampla freqüência de resposta (a mais ampla faixa de sons ou pitch) usando a menor quantidade de largura de banda e causando um atraso mínimo. Para os que estão interessados, o ouvido humano está entre 20HZ e 20KHZ, com um discurso inteligível por volta de 2KHZ. E alguns estudos mostram que atrasos de 100ms são detectados mas tolerados, atrasos de 250ms são incômodos e atrasos de mais de 450ms são inaceitáveis para trocas interativas de fogo-rápido, onde todas as partes participantes iguais. Mas para conferências assimétricas, por exemplo em uma palestra ou quando uma das partes fala mais, atrasos de até alguns segundos não são um problema. Já quando falamos da emissão de imagens ou frames, devemos entender que a expressão facial e os movimentos corporais são a próxima parte mais importante da conversação. Como declarado por Trowt-Bayard em "Videoconferencing, the Whole Picture", a maioria de nós 48 são crianças da televisão. Nós nascemos por volta da época em que ou depois que a televisão foi inventada. Portanto, nossas expectativas de qualidade de vídeo são muito altas. 8.2. Detalhe Técnico A conexão dever ser efetuada, geralmente, através de rede padrão ethernet, utilizando protocolo H.323 que habilita o equipamento para uso em IP. Podendo-se utilizar também linhas digitais padrão RDSI (ISDN). Também pode-se optar pela linha Datafone 64, através da utilização de duas linhas para formar 128 kbps. No projeto de redes convergentes do grupo HTBRAZ, adotou-se tecnologia baseada em IP, pelo fato de já existir uma estrutura de rede de dados instalada na instituição sendo de padrão fast ethernet. As taxas de transmissão da imagem, voz e dados é que determinam o resultado que se vê numa reunião de videoconferência. Usualmente se utilizam linhas de 128 Kbps, que permitem visualizar até 15 FPS, podendo também se utilizar até 512. No caso de redes de banda larga, é possível estabelecer conexões com a máxima taxa de transmissão, obtendo assim melhor qualidade de imagem e som. Para que o projeto funcione como deve, os equipamentos precisam ser totalmente compatíveis com as normas internacionais para sistemas de videoconferência existentes, o que garante o controle total do sistema remoto, mesmo que de outros fabricantes. Segundo dados dos próprios fabricantes, a arquitetura de codec dá ao equipamento o tempo de retardo mais curto no setor, possibilitando que a videoconferência ocorra de forma mais natural. Figura 27: Codecs de Videoconferência Fonte: chebucto.ns.ca 49 A forma de comunicação através de videoconferência predispõe o entendimento de três partes distintas da comunicação: o protocolo de rede adotado, o padrão de comunicação de dados, e o meio físico (radiofreqüência, par-trançado ou fibra-óptica). Para caracterizar uma solução ágil e adequada ao consumo de banda, utilizamos o software OpenMeetings, de plataforma Open, baseado em uma maquina virtual com base em um sistema operacional Linux Debian Lenny. 8.3. Recursos Esse sistema de videoconferência gratuito, possui uma série de recursos configuráveis, como por exemplo, o conector para LDAP, sistemas de moderação, salas de usuários e conferências públicas, além de packs de diversos idiomas, permitindo uma fácil adaptação em ambientes diversificados e até mesmo em empresas com sucursais internacionais. 8.4. OpenMeetings O OpenMeetings é um software recém instalado, sendo assim, precisamos da instalação de alguns pacotes específicos para seu funcionamento. O comando aptitude install zip unzip vimfull bzip2 build-essential linux-headers-$(uname -r) foi utilizado para localizer e baixar os pacotes necessários. Após completar a etapa de instalação de requisitos, efetuamos a instalção do Open Meeting. Esse software de distribuição gratuita que roda sobre um servidor Tomcat mais um servidor Red5 (flash streaming), e para que isso funcione, deve ser considerado a necessidade de se ter o java jdk instalado. Com a distribuição Debian Lenny, o java não está por padrão no repositório main, sendo necessário adicionar o respectivo repositório non-free no arquivo /etc/apt/source.list. Seu arquivo deve ficar similar ao que esta abaixo descrito: deb http://ftp.br.debian.org/debian/ lenny main contrib non-free Deve-se repetir esse procedimento para todos os outros repositórios (security e o volatile), devendo após isso, rodar o comando: aptitude update Basicamente o comando utilizado para a instalação do JDK, utilizando o repositório padrão da comunidade Debian é o aptitude install sun-java6-jdk. 50 O Openmeetings usa o mysql como banco de dados para gravação das informações de usuários, salas e configurações gerais do sistema. O sistema tem SUP para vários outros sgbd‟s como postgres, mssql. Para instalar use o comando aptitude install mysql-server. Uma tela será apresentada solicitando ao senha do usuário root do mysql, defina uma senha forte e anote, iremos usar esse usuário mais tarde. Depois da instalação, é necessário criar uma base de dados chamada openmeetings, para isso, acesse o console do mysql com o comando mysql -u root -p Insira os comandos: CREATE DATABASE openmeetings DEFAULT CHARACTER SET „utf8′; GRANT ALL PRIVILEGES ON openmeetings.* TO „openmeetings‟@'localhost‟ IDENTIFIED BY „DIGITE SUA SENHA AQUI„ WITH GRANT OPTION; O primeiro comando cria a database chamada openmeetings e o segundo da privilégios para o usuário openmeetings usar essa base integralmente. P.S. Onde está escrito DIGITE SUA SENHA AQUI, substitua pela senha do usuário openmeetings do mysql. 8.4.1. OpenOffice O OpenOffice (completo, writer, math….) é usado para fazer as conversões de documentos, e o imagemagick é usado para converter imagens. É necessário o pacote openoffice.orgheadless para que você não precise de uma interface gráfica para executar a suíte do openoffice. aptitude install openoffice.org-headless openoffice.org-writer openoffice.org-calc openoffice.org-impress openoffice.org-draw openoffice.org-math imagemagick Depois de completar a instalação do OpenOffice, é necessário criar um script de inicialização para o servidor do openoffice (como disse antes, esse serviço irá converter os arquivos para um formato conhecido pelo openmeetings) Crie um arquivo no seguinte local: vim /etc/init.d/openoffice e insira o conteúdo: #!/bin/bash 51 # openoffice.org headless server script # # chkconfig: 2345 80 30 # description: headless openoffice server script # processname: openoffice # # Author: Vic Vijayakumar # Modified by Federico Ch. Tomasczik # OOo_HOME=/usr/bin SOFFICE_PATH=$OOo_HOME/soffice PIDFILE=/var/run/openoffice-server.pid set -e case "$1" in start) if [ -f $PIDFILE ]; then echo "OpenOffice headless server has already started." sleep 5 exit fi echo "Starting OpenOffice headless server" $SOFFICE_PATH -headless -nologo -nofirststartwizard accept="socket,host=127.0.0.1,port=8100;urp" & > /dev/null 2>&1 - 52 touch $PIDFILE ;; stop) if [ -f $PIDFILE ]; then echo "Stopping OpenOffice headless server." killall -9 soffice && killall -9 soffice.bin rm -f $PIDFILE exit fi echo "Openoffice headless server is not running." exit ;; *) echo "Usage: $0 {start|stop}" exit 1 esac exit 0 Faça o download desse script clicando aqui, pois o wordpress coloca uns caracteres estranhos…. troque sua permissão chmod 0755 /etc/init.d/openoffice e insira na inicialização: update-rc.d openoffice defaults inicie o serviço /etc/init.d/openoffice start esse serviço roda na porta tcp 8100, após iniciar o serviço verifique se ele está rodando com o comando: 53 netstat -putan |grep soffice.bin sua saída é: tcp 0 0 127.0.0.1:8100 0.0.0.0:* LISTEN 14458/soffice.bin Passo 4 – Envolve a instalação do SWFTools 8.4.2. SWFTools O SWFTools é um utilitário para manipulação de arquivos SWF (Adobe Flash). O SWFTools não está disponível na versão stable do debian, o que vamos fazer é baixar da versão unstable, mas antes precisamos resolver suas dependencias. aptitude install gs-gpl libart-2.0-2 libt1-5 libungif4g após instalar as dependencias, baixeo swftools wget http://ftp.br.debian.org/debian/pool/main/s/swftools/swftools_0.8.1-2.1_i386.deb depois instale: dpkg -i swftools_0.8.1-2.1_i386.deb 8.4.3. Red5 O Red5 é um servidor que serve para entregar o áudio e vídeo para a aplicação propriamente dita, para fazer isso ele utiliza o protocolo RMTP. No site do openmeetings, você pode escolher por baixar somente o red5 ou openmeetings ou tudo junto, vamos baixar o que tem tudo junto. wget http://openmeetings.googlecode.com/files/red5-openmeetings-0.9rc1-r2185.zip Figura 28: Red5 Fonte: Desenvolvido pelos integrantes do Grupo 54 Descompacte: unzip red5-openmeetings-0.9rc1-r2185.zip copie o diretório descompactado para /usr/lib cp -a red5-openmeetings-0.9rc1-r2185 /usr/lib/red5 após copiar, altere as permissões dos scripts do red5 chmod +x /usr/lib/red5/*.sh como primeiro teste, vamos executar o red5 para ver se ele serve páginas normalmente: cd /usr/lib/red5/ ./red5 Muitas informações aparecerão na tela, sendo ainda importante lembrar, que se você executar isso de fora do diretório /usr/lib/red5 ocorrerá um erro e não haverá o funcionamento. Abra o browser e acesse o site: http://ip:5080 Uma tela como essa será exibida, sendo necessário que se pare o servidor com a seqüência de teclas control + c. Para que o servidor do red5 inicialize junto com o sistema, vamos colocar um script de inicialização. Utilize: #! /bin/sh # # red5 red5 initscript # # Author: Simon Eisenmann . # set -e PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DESC="Red5 flash streaming server" NAME=red5 RED5_HOME=/usr/lib/red5 55 DAEMON=$RED5_HOME/$NAME.sh PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME # Gracefully exit if the package has been removed. test -x $DAEMON || exit 0 # Read config file if it is present. if [ -r /etc/default/$NAME ] then . /etc/default/$NAME fi # # Function that starts the daemon/service. # d_start() { start-stop-daemon --start -c nobody --pidfile $PIDFILE --chdir $RED5_HOME -background --make-pidfile --exec $DAEMON } # # Function that stops the daemon/service. # d_stop() { start-stop-daemon --stop --quiet --pidfile $PIDFILE --name java rm -f $PIDFILE } case "$1" in start) 56 echo -n "Starting $DESC: $NAME" d_start echo "." ;; stop) echo -n "Stopping $DESC: $NAME" d_stop echo "." ;; restart|force-reload) echo -n "Restarting $DESC: $NAME" d_stop sleep 1 d_start echo "." ;; *) echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0 exit 0 57 Igual ao serviço do openoffice, dê permissão de execução para o arquivo /etc/init.d/red5 chomd +x /etc/init.d/red5 Inserir na inicialização: update-rc.d red5 defaults inicie o serviço: /etc/init.d/red5 start verifique se ele esta rodando: # netstat -putan |grep 5080 saída do comando tcp6 0 0 :::5080 :::* LISTEN 15329/java Tudo está perfeito até aqui. É interessante remover algumas coisas que não serão usadas pelo servidor do red5 como o exemplo que ele manda junto, para isso deveu remover os diretórios: rm -rf /usr/lib/red5/webapps/installer rm -rf /usr/lib/red5/webapps/root/* Passo 6 – Configurando e instalando o OpenMeetings Primeiro, vamos configurar a conexão com o banco de dados. Vá até o diretório: cd /usr/lib/red5/webapps/openmeetings/conf copie o arquivo de exemplo mysql_hibernate.cfg.xml para hibernate.cfg.xml cp mysql_hibernate.cfg.xml hibernate.cfg.xml edite o arquivo hibernate.cfg.xml vim hibernate.cfg.xml onde você ver (começo do arquivo) : <!– User / Password –> <property name=”connection.username”>root</property> <property name=”connection.password”></property> 58 Altere para: <!– User / Password –> <property name=”connection.username”>openmeetings</property> <property name=”connection.password”>SENHA DEFINIDA NA HORA DA CRIAÇÃO DO USUARIO NO MYSQL PASSO 2</property> reinicie o red5 /etc/init.d/red5 restart Dê permissão de execução para arquivos .sh no diretório: /usr/lib/red5/webapps/openmeetings/jod chmod +x /usr/lib/red5/webapps/openmeetings/jod/*.sh Mais permissões para serem alteradas: chown nobody /usr/lib/red5 -R Como o serviço do red5 roda sobre o usuário nobody, ele precisa ser dono de alguns arquivos para funcionar corretamente. Feito isso, vamos rodar a instalação do Openmeetings, abra no browser: http://ip:5080/openmeetings/install Na tela de instalação, preencha os campos de username, userpass e email, esses campos são do usuário “admin” do openmeetings; No campo organisations, preencha com o nome da empresa, ou algum nome que irá identificar os primeiros usuários, isso pode ser alterado depois, mas não pode ser deixado em branco; Nas perguntas de sim / não, deixe todas como não, pois elas perguntam se você quer liberar o auto registro, enviar emails para novos usuários e verificação do e-mail dos usuários recém registrados; Nas opções de mail, preencha com os dados só seu serviço de e-mail; Idioma, como estamos no Brasil, selecione português. A parte de converters, Crypt Type, Authentication Type , Screen Viewer, deixe tudo como está; 59 Ao final, clique em INSTALL, e teremos então a devida instalação. Quando efetuamos a instalação do servidor, para testes de campo, acumulando horas de projeto para o TIM demorou cerca de trinta a quarenta minutos, utilizando uma VM com 512MBRAM. Quando terminar, você será levado para, uma tela específica, como demonstrado pela figura 29 da página 59. Seu acesso será feito diretamente pelo navegador do equipamento. Figura 29: OpenMeetings Fonte: Desenvolvido pelos integrantes do Grupo 9. RADIO WEB Para colocar uma rádio online existem duas maneiras de ser fazer, a transmissão síncrona e a assíncrona. Para entender o conceito de transmissão de áudio pela web, acredito que seja mais que necessário verificar os principais conceitos de áudio analógico e digital. 9.1. Som O som é uma vibração de um meio material. Por vibração podemos entender como sendo uma onda, que é um ente que transporta uma perturbação de um meio material. No ar, por exemplo, uma perturbação da pressão atmosférica provoca uma onda, devido à elasticidade de suas moléculas chocando-se mutuamente de tal forma que essa perturbação é transportada no espaço. Quando essa perturbação chega ao nosso ouvido ou num microfone, ela causa a vibração das respectivas membranas e ambos convertem essa perturbação da pressão do ar 60 numa equivalente elétrica. Nessa transformação, o meio pelo qual essa onda passou a se propagar bem como sua fenomenologia mudaram, mas a sua essência, que é a informação contida na perturbação - o sinal -, foi preservada. 9.2. Sinal de Áudio Uma maneira de representar esse sinal de informação sonora é por meio de gráficos. Para exemplificar e atingir a proposta devida, imagine que você está no sofá de sua casa ouvindo alguém tocando um instrumento musical com cordas, como um violão ou uma guitarra, no outro lado da sala. As vibrações do ar chegam até seus ouvidos. Essas oscilações na pressão atmosférica, que são na verdade as forças que as moléculas de ar aplicam numa área, fazem com que a membrana auditiva de cada um dos seus ouvidos também vibre, e a partir disso um complicado processo de conversão ocorre até que esse sinal chegue bem dentro da sua cabeça de tal forma que você escute o som da sanfona. A figura abaixo ilustra como ocorre a variação do som em um ouvido e a pressão atmosférica com o tempo Figura 30: Sinal de Áudio Fonte: winamp.com Esse gráfico significa que num determinado instante de tempo A a pressão atmosférica no seu ouvido valia B e no instante B valia D. A linha cheia com o aspecto de onda representa o valor da pressão em cada instante de tempo. De fato, esse desenho parecido com uma onda pode ser entendido como uma onda sonora que chega até seu ouvido. Normalmente, a onda 61 sonora não tem um aspecto tão alinhado e preciso. Sua forma é irregular e pode variar em diversas escalas, como pode ver no gráfico abaixo: Figura 31: Som em curvas Fonte: winamp.com 9.3. Captação e Conversão Nesta etapa, devemos concentrar esforços para identificar a forma com que uma onda sonora é sentida pelos equipamentos de áudio (microfone e placa de som) e como essa informação pode ser manipulada. Um microfone converte a variação da pressão atmosférica com o tempo em variação da tensão elétrica com o templo. Graficamente. Para cada valor da pressão atmosférica, os fios do microfone apresentam uma tensão elétrica (voltagem) diferente. Conforme a pressão vai mudando com o tempo, a tensão entre os fios do microfone também varia. Esse é o princípio básico de funcionamento da captação de áudio por equipamento eletroeletrônico. O contrário também pode acontecer, isto é, um sinal elétrico de áudio ser convertido em variação da pressão atmosférica (ondas sonoras). Isso tipicamente é feito com o uso das conhecidas caixas de som. 9.4. Sinais analógicos e digitais Os gráficos foram apresentados até o momento mostram que a cada instante de tempo é associado alguma grandeza física (no caso, a pressão atmosférica) associada ao som. Quando o microfone converte essa grandeza física para a tensão elétrica, essa associação é mantida. 62 Os sinais de informação que apresentam essa característica de analogia entre cada instante de tempo e o respectivo valor são chamados de sinais analógicos ou contínuos, pois para todo instante de tempo há um valor da pressão atmosférica no seu ouvido ou um valor de tensão elétrica entre os fios de um microfone. Os sinais que não apresentam essa característica são chamados de sinais digitais. 9.5. Periféricos Para exemplificar e ilustrar o que se caracteriza como um sinal digital, e como um sinal analógico é convertido em sinal digital, deveram citar a placa de som, presente na maioria dos computadores. Uma placa de som nada mais é do que um conversor Analógico/Digital e Digital/Analógico otimizada para sinais sonoros. Figura 32: Diagrama da Placa de Som Fonte: winamp.com O sinal analógico entra na placa e sai convertido num sinal digital, e os sinais digitais que entram na placa saem dela convertidos em sinais analógicos. A conversão de um sinal analógico é feita da seguinte maneira: o sinal que chega até a placa é amostrado em intervalos de tempo fixos (por exemplo, de 1 em 1 segundo) e o valor de tensão elétrica (voltagem) do sinal analógico naquele instante é armazenado em números binários. Aqui aparecem as duas grandes diferenças entre um sinal analógico e um digital: no caso analógico, para todos os instantes de tempo existem associados valores de tensão elétrica, ou seja, o sinal é contínuo. Além disso, esses valores de tensão são grandezas físicas. Já um sinal digital possui informações apenas para alguns instantes de tempo, ou seja, o sinal é discreto. Podemos afirmar que o sinal digital existe num formato que independe das grandezas físicas que o contém, já que as informações são representadas utilizando números inteiros e finitos (os dígitos) e não a tensão elétrica ou a pressão atmosférica, por exemplo. 63 Nos sistemas digitais atuais, esses números são manipulados utilizando a base numérica binária. Figura 33: Referência de Sinais Fonte: winamp.com Para o estudo das transmissões de áudio pela rede, devemos nos atentar a basicamente três propriedades de um sinal digital: seu número de canais, sua taxa e razão de amostragem. Um sinal analógico é digitalizado selecionando apenas alguns trechos do sinal analógico e transformando essa informação em números inteiros. O número de vezes por segundo em que uma amostra do sinal analógico é colhida é chamado de taxa de e a quantidade de valores numéricos que essa informação pode assumir é chamada de razão de amostragem. 9.6. Taxa de Amostragem Valores usuais para a taxa de amostragem são de 11,025KHz (11025 amostras por segundo), 22,05KHz ou 44.1KHz e a razão de amostragem costuma ser de 8 bits, 16 bits ou 32 bits, lembrando que 1 bit é a menor unidade de informação, que pode assumir apenas dois valores diferentes, 0 ou 1 (verdadeiro ou falso). Um número de 8 bits pode assumir até 256 valores diferentes, ou seja, pode representar até 256 valores de tensão elétrica (o sinal analógico) diferentes. Já um número de 16 bits pode representar até cerca de 65 mil valores diferentes, e assim por diante. 64 Quanto maiores forem a taxa e a razão de amostragem, mais alta será a qualidade do sinal digitalizado com relação ao sinal analógico original. Buscando uma melhor exemplificação podemos entender que, para um sinal digital com taxa de amostragem de 11,025KHz e razão de amostragem de 8 bits possui um 11025 valores de 8 bits por segundo. Já com uma taxa de amostragem de 44100KHz e razão de 16 bits temos, a cada segundo, 44100 amostras podendo cada uma representar 65 mil níveis diferentes de perturbação sonora, o que é mais do que suficiente para pessoas comuns não perceberem que estão escutando um sinal não-contínuo. Quando é gravado um áudio no computador, o programa de gravação normalmente armazena todas essas informações num arquivo cujo nome termina com um .wav, por exemplo áudio.wav. Esse tipo de arquivo é chamado de Wave File (arquivo de onda), em alusão à ondas sonoras. O áudio digitalizado ocupa um espaço considerado em disco e sendo assim o consumo de banda se torna também alto e de difícil controle. Da discussão precedente, um áudio com milhares de amostras por segundo tendo cada amostra um tamanho de 8 a 32 bits supera em muito a capacidade de armazenamento dos computadores atuais. Armazenar arquivos do tipo wav gasta tanto espaço que você não conseguiria ter muitas horas de música em um computador. Transmitir essas músicas pela internet ou através de uma intranet fica praticamente inviável e de alto custo operacional. A solução tecnológica para driblar esse obstáculo foi o advento da compressão dos arquivos de áudio. Da mesma forma que algoritmos específicos podem compactar um arquivo num outro de tamanho menor, também é possível comprimir arquivos de áudio para tamanhos menores. Isso é feito eliminando do áudio freqüências inaudíveis ou pouco audíveis por seres humanos e utilizando métodos de compactação de dados. Um arquivo de áudio comprimido, dependendo de suas características, pode ser mais de dez vezes menor do que o arquivo wav original. É esse tamanho reduzido que possibilita as rádios via internet, que nada mais são do que transferências de arquivos de áudio comprimido, ao vivo ou não. Assim como para o áudio digital do tipo wav tem suas propriedades de amostragem, o áudio comprimido tem sua razão de amostragem em kbps e quando descompactado também apresenta uma taxa de amostragem de 11,025KHz, 22,05KHz ou 44.1KHz e valores de bits por amostra (bits per sample) de 8 ou 16. 65 Um áudio comprimido de boa qualidade tem 192kbps de bitrate, sample rate de 44,1KHz e 16 bits per sample. Para transmitir um arquivo desse tipo em "tempo real" pela internet atual é necessário uma boa largura de banda e servidores de streaming, de boa qualidade e performance. Então os valores ideais para uma rádio via internet são bitrate de 16 ou 24kbps, sample rate de 11,025KHz ou 22,05KHz e 16 bits per sample. 9.7. Metadados Os arquivos compactados em MP3 e OGG ainda possuem uma grande facilidade, conhecidas como metadados (ou etiquetas). São ditos metadados por serem informações sobre o áudio como nome da música, nome do artista, álbum, número da faixa, data da gravação. Isso é muito útil por possibilitar que esse tipo de informação não fique restrita apenas ao nome do arquivo. É possível ter um arquivo de mp3 como o nome música_de_ninar.mp3 e mesmo assim ainda armazenar todas essas informações, já que os metadados são guardados dentro do arquivo de áudio e não em seu nome de arquivo. É a mais simples e a melhor opção para um servidor que fará uso de um acervo de músicas ou sons gravados previamente, sem fazer uso de uma rádio com transmissão ao vivo. Esse método é conhecido como transmissão assíncrona ou sob demanda, que foi discutida também em outros tópicos deste trabalho. Figura 34: Diagrama de transmissão assíncrona Fonte: winamp.com A opção síncrona, utilizada para web rádio, exige uma configuração mais refinada, além de equipamentos com performances mais fortes e uma largura de banda considerável, sendo muitas vezes usada para veicular uma rádio ao vivo pela internet. Em um dos laboratórios efetuados pela nossa equipe, fizemos utilização de notebooks com processadores de tecnologia Core2Duo, do fabricante Intel, com memória regular de 2GBRAM, de tecnologia DDR3. Os equipamentos possuíam microfones e placa de som integrados, e mantiveram uma 66 qualidade de transmissão razoável e limpa, considerando que não se tratava de equipamentos profissionais para a atividade. 9.8. Topologia A transmissão de áudio pela internet, ou streaming, funciona por meio um programa fonte, que envia o áudio para os servidores, que por sua vez enviam a transmissão para os clientes, que são os programas de reprodução de áudio. Figura 35: Modelo com fontes e servidor Fonte: winamp.com O programa fonte utiliza como fonte de áudio o sinal presente na entrada placa de som e os arquivos da áudio presentes no computador fonte. A mistura desses sinais - a mixagem do sinal da placa de som com os arquivos de áudio - é então comprimida e codificada no padrão mpeg (o padrão mp3) ou ogg. O sinal comprimido é então enviado para os servidores até o servidor de streaming. Um programa fonte pode mandar esse sinal para vários servidores diferentes. 67 Caso o áudio que se quer transmitir vai ser captado pela entrada da placa de som, ele precisará ser codificado para um formato digital com taxas de amostragem e qualidade definidas e caso o áudio venha de um arquivo digital já presente em disco ou de um outro stream, este terá de ser codificado/convertido para as taxas de amostragem e qualidade definidas, logo, utilizaremos neste Manual a nomenclatura "encoder" para se referir ao software que irá prover o áudio para o servidor. No caso do áudio digital que você estiver transmitindo tiver taxa de amostragem e qualidades diferentes dos da sua transmissão, o encoder fará a conversão desses atributos para que o áudio possa ser transmitido. Consulte a seção Referência rápida sobre áudio digital para maiores informações. Analisando o diagrama da figura 35, da página 66, vemos que o servidor de streaming pode receber várias transmissões provenientes de diferentes fontes ao mesmo tempo. No outro lado, vemos que o servidor pode enviar transmissões simultaneamente para mais de um cliente, entendendo então que o cliente 1 pode escolher receber a transmissão do computador 1, do computador 2 ou de qualquer outro que esteja transmitindo. O mesmo acontece para o cliente 2 e para todos os outros clientes que estiverem conectados no servidor. Existem caso especiais do diagrama acima, quando o computador fonte também é o servidor. Esse tipo de configuração não é recomendável. Cada cliente consome uma determinada quantia da banda e conexão do servidor. É necessária, uma internet de banda larga superior a 1MB de conexão para distribui o sinal de modo limpo e uniforme para um determinado número de usuários. Um servidor com uma conexão de 128kbps, por exemplo, suporta enviar um áudio de 24kbps para no máximo 5 clientes, um número pequeno. Já dentro de uma intranet, com o QoS devidamente configurado e aplicado, podemos entender que não haja problemas com a transmissão dos dados para uma quantia maior de usuários. Por esses motivos existem servidores dedicados, com banda suficiente para abrigar muitas fontes e muitos clientes. Esse tipo de configuração equilibra os recursos da rede de web rádios, deixando o processamento computacional no lado das fontes e a capacidade de transmissão do lado dos servidores. Cabe aqui a observação de que existem inúmeras outras formas de se fazer uma rede de web rádio, mas essa configuração é a mais viável onde existem poucos servidores com conexão muito rápida. 68 Algo que é possível de se fazer é utilizar um esquema cliente e servidor num computador com pouca conexão transmitindo para vários servidores também com conexão não muito rápida com a internet. Estes então transmitem o áudio para os ouvintes, possibilitando que se façam transmissões pela internet sem precisar de conexão extremamente rápida. 9.9. Protocolos e Portas Protocolos são os métodos pelos quais convencionamos fazer as coisas. No tocante à computação, os protocolos referem-se a como programas ou computadores conversam entre si. A internet fundamenta-se na fusão de protocolos conhecida como TCP/IP. O protocolo resultante é utilizado em redes onde vários computadores conversam entre si ao mesmo tempo. Resumidamente, cada computador possui um número único, o número IP. As informações intercambiadas entre os computadores são divididas em pacotes e cada pacote é "jogado" na rede. Cada computador que recebe verifica se o pacote foi endereçado para si e caso negativo ele passa o pacote para frente, até que este chegue ao seu destinatário. Existe ainda um avançado esquema de controle, checagem de erro e verificação de recebimento de pacotes. Ou seja, o TCP/IP é apenas um protocolo que cuida para que a informação seja transmitida de um computador para outro até chegar a seu destinatário e informar ao computador emissor se a mensagem chegou ou se houve algum erro. Chamemos esse tipo de protocolo de protocolo de transporte, pois ele só trata da transferência de dados de um computador para outro. Para o caso do áudio pela internet, o protocolo pode ser tranquilamente usado: o computador que faz a transmissão utiliza continuamente um método POST e os computadores dos ouvintes continuamente utilizam o método GET para receber a transmissão diretamente do servidor. O HTTP normalmente é usado na porta 80 para a navegação em sites e na faixa de portas que vai de 8000 a 8100 para a transmissão de áudio. Uma vez que uma transmissão de radio web começa, as informações sobre ela podem ser enviadas para um serviço de consulta por servidores, que pode ser referenciado como um tipo de “Páginas Amarelas”; sites que funcionam como uma listagem de diretório exibindo informações sobre cada rádio e ainda um link para escutá-las, possibilitando que sua transmissão seja automaticamente divulgada num local específico. Exemplos de páginas amarelas são os mantidos pelos projetos Icecast, Oddsock e SHOUTcast. Para que um streaming seja listado nas páginas amarelas, é preciso que o servidor esteja configurado para isso. 69 Para a implementação do servidor de web rádio, utilizamos o software Winamp, de versão 5.581, com distribuição gratuita pela internet, em um sistema base Microsoft; o Windows Seven Ultimate Edition. 9.10. Winamp 5.581 As características a seguir são aplicáveis ao Winamp 5.581: MIDI, MOD, MP1, MP2, MP3, Ogg Vorbis, WAV, WMA, Chiptunes entre outros. SUP a vídeos AVI, utilizando o recurso DirectShow com seus Codecs e filtros instalados localmente; MPEG; e NSV (Nullsoft Streaming Vídeo, de propriedade da Nullsoft). SUP a plugins diversos, como novos formatos suportados, efeitos visuais e sonoros, entre outros SUP a Skins antigos (como as do Winamp 0.x, as do Winamp 1.x, as do Winamp 2.x e as do Winamp3) e novos, com diversos recursos visuais, da versão 5.x SUP a recursos online de Streaming, tanto no padrão SHOUTcast como AOL. SUP a extração de faixas musicais contidas em CDs de áudio para MP3, AAC ou WAV. Apenas disponível na versão PRO. SUP a criação de CDs de Música. Apenas disponível na versão PRO. True alpha channel (transparência) SUP a iPod (com plugin externo) Arquivos suportados Assim como o player temos muitas opções, escolhemos o Windows Media Encoder 9. Como o mesmo e fácil de instalar como utilizar e além de ser gratuito. Este encorder serve tanto para a Rádio quanto para a TV. 70 Figura 36: Winp Fonte: Desenvolvido pelos integrantes do Grupo O aplicativo Windows Media Encoder é um software bastante flexível, com um ótimo conjunto funcionalidades, que facilitam a tarefa de codificação e compressão da mídia digital e ainda garantem bom controle sobre o resultado final desse processo quanto a qualidade e tamanho do arquivo ou streaming gerado. As principais funcionalidades da versão 9 do Windows Media Encoder são: SUP a modos de codificação CBR (Constant Bit Rate) e VBR (Variable Bit Rate). Facilidade de codificação em lote. É possível criar um script, que pode ser executado via linha de comando, para comprimir e codificar todas as mídias capturadas residentes em determinado diretório, por exemplo. SUP a codificação de áudio multicanal nos formatos 5.1 ou 7.1 SUP a Live DRM. Possibilita a codificação da mídia com criptografia, utilizando a tecnologia DRM, tanto na geração de arquivo para download quanto na transmissão da mídia ao vivo. Interlace and Nonsquare Pixel Support. SUP a vídeo entrelaçado para TVs e a pixels de formato retangular de maneira a preservar a resolução real de vídeos em formato DV ou MPEG-2, sem causar distorção. A versão 9 do Windows Media Encoder permite a configuração do processo de codificação, incluindo a especificação do número de passos que o mesmo utilizará. No processo de Um 71 Passo (One Pass) a mídia é submetida uma única vez ao Codificador e a compressão é feita paralelamente à leitura da mesma. No processo de Dois Passos (Two Pass) a mídia é submetida ao codificador duas vezes. Na primeira ela é analisada e na segunda então comprimida. O processo de dois passos geralmente resulta em conteúdo de melhor qualidade e numa taxa maior de compressão, no entanto, consome maior tempo para ser realizado. Os modos de codificação selecionáveis são os listados abaixo: One-pass CBR. Usado na codificação de mídia para transmissão “ao vivo”. Two-Pass CBR. Usado na codificação de mídia para gravação em arquivo. Quality-Based VBR (One Pass). Utilizado em situações onde deseja-se nível de qualidade constante, por exemplo, quando realizando backup com compressão de vídeos de reportagens jornalísticas. Aumenta a taxa de bit gerada para garantir a qualidade quando necessário. Bit rate-based VBR (Two Pass). Utilizado em situações onde há limite de banda disponível. O Codec tenta gerar a melhor qualidade possível na compressão, respeitando o limite de taxa estabelecido. Peak bit-based VBR (Two Pass). Empregado quando se está codificando mídia para reprodução em dispositivos de hardware que apresentam taxa máxima de leitura, como no caso do CD-ROM de 52x. A versão 9 do Windows Media Encoder permite a configuração de alguns parâmetros para compressão da mídia. Podemos considerar um frame chave como sendo um frame I, resultado da compressão JPEG da imagem estática do frame. O parâmetro key frame permite influenciar a quantidade ou os instantes em que os frames I serão inseridos. Quanto mais frames I melhor será a qualidade do vídeo e maior o espaço em disco para o armazenamento do mesmo. Quanto menor a quantidade, pior a qualidade e menor será o espaço consumido. A implicação real desse parâmetro é a criação de mais quadros P e B entre quadros I. Obviamente o codec insere quadros I automaticamente sempre que há uma troca de cena. Buffer Size. A taxa de bit e a qualidade do conteúdo da mídia variam ao longo do buffer estipulado para o Codec. Um buffer de maior tamanho implicará normalmente em melhor qualidade, já que o codec pode fazer uma alocação dinâmica do mesmo, codificando cenas mais complexas com mais bits e economizando bits para cenas com menor nível de detalhes. Por outro lado, aumentar o buffer significa maior atraso entre os instantes de solicitação do streaming de vídeo e de início da reprodução do mesmo. Vídeo Smoothness. Facilidade que permite a geração no decodificador de frames interpolados, derivados dos frames anterior e posterior. Isso permite que codificadores que disponham de taxas de bit baixas, codifiquem 72 vídeo clips a uma baixa taxa de frames, por exemplo 15 fps e contar com o decodificador para gerar os frames interpolados necessários para atingir os 25 fps, garantindo um vídeo com movimentos contínuos e imagens não tão nítidas. O algoritmo do decodificador utiliza técnicas de estimativa e compensação de movimento para gerar a interpolação, gerando grande consumo de processamento no mesmo. Figura 37: Winp2 Fonte: Desenvolvido pelos integrantes do Grupo 73 Figura 38: Winp3 Fonte: Desenvolvido pelos integrantes do Grupo 1) Selecione a aba fontes; 2) Marque somente a opção “áudio”; 3) Selecione a placa de som na qual você vai disponibilizar o áudio (no caso de 2 ou mais placas); 4) Selecione a opção loop na caixa de seleção “No Final”; 5) Clique no botão configurar; 6) Na caixa de seleção “Linha de pino” selecione a opção de entrada de som que você está utilizando (Por exemplo: Se você esta passando o som do computador por uma mesa de áudio (recomendável) e está retornado o áudio para o computado via entrada “Line IN” da sua placa de som, selecione a opção “Entrada”. Caso você não esteja 74 passando por uma mesa de áudio e esteja pegando o áudio direto do player selecione a opção “Mixer de saída de som”). 7) Selecione a aba Saída, marque a caixa de seleção “Receber do codificador “, e escolha o numero da porta a ser usada, no meu caso eu escolhi a porta 8081 mas nada impede que você escolha qualquer outra porta, sempre lembrando que se você usa algum tipo de FW (Zone Alarm, Norton Internet Security, Black Ice Defender, ou mesmo o Firewall nativo do XP, ou outros) é essa porta que vai ser liberada nele. Figura 39: Winp4 Fonte: Desenvolvido pelos integrantes do Grupo 8) Selecione a aba Compactação, e na caixa de seleção “Destino” selecione a opção Servidor do Windows Media (o fluxo nesse ponto é continuo). Em seguida na caixa de seleção “Áudio” selecione a opção Áudio com taxas de bits múltiplos(taxa de bits constante). E na caixa de seleção “Taxa de bits”, marque a(s) taxa(s) de bits que você achar mais conveniente sempre levando em conta a sua conexão com a Internet, pois quanto mais alta a taxa de compactação mais banda ela ocupa e menos usuários podem 75 se conectar simultaneamente a sua rádio (faça uma conta rápida, por exemplo: se a sua conexão é 300 Kbps e a sua taxa de compactação é de 19 Kbps (19 x 10 = 190 Kbps) somente 10 usuários aproximadamente pode se conectar a sua radio simultaneamente, haja visto que uma banda considerável é utilizada para comunicação entre o player do usuário e o codificador), porém você pode escolher mais de uma taxa, para que o Windows Media possa escolher a mais adequada ao player do cliente e a sua banda de transmissão. Figura 40: Winp5 Fonte: Desenvolvido pelos integrantes do Grupo 9) Você pode colocar alguns atributos na sua transmissão, assim como se fosse uma marca para que seus usuários possam saber de quem é a transmissão, no meu caso eu coloquei o nome da minha radio, mas você pode colocar o que você quiser, tipo nome da sua rádio, e-mail, telefone de contato, etc... 76 Figura 41: Winp6 Fonte: Desenvolvido pelos integrantes do Grupo 10) Após feitos todos os passos anteriores você só precisa clicar no botão aplicar, depois salvar a sua configuração(pois toda vez que o Windows Media e iniciado ele perde todas as configurações, sendo necessário pedir que ele abra uma configuração salva previamente, um terrível “bug” que a Microsoft ainda não consertou.). 11) E por fim clique no botão Iniciar Codificação e pronto sua radio já estará pronta pra ser transmitida via Web. 77 Figura 42: Winp7 Fonte: Desenvolvido pelos integrantes do Grupo Figura 43: Winp8 Fonte: Desenvolvido pelos integrantes do Grupo 78 10. TV WEB O serviço de TV, é baseado puro e simplesmente em streaming, o que exige uma banda considerável, pois o trafego de imagens em tempo real, é uma característica importante. Os conceitos utilizados para os tópicos anteriores, tanto de web rádio, como videoconferência e afins, se mantém em sua integra para os recursos de TV Web. A necessidade de Codecs e Players específicos para a transmissão de dados devem ser observados em todos os momentos e princípios. Atualmente, a TV Web pode ser utilizada por qualquer pessoa, sendo física ou jurídica, mesmo que não se saiba como criar a tecnologia na integra. Alguns servidores gratuitos de streaming de vídeo, estão disponíveis para qualquer pessoa que queira lançar seu próprio canal de televisão on line. A exemplo dessa afirmação, podemos citar o aplicativo vinculado ao site de relacionamento pessoal ORKUT, que possui um módulo chamado de TV ON LINE. Onde os usuários desse site de relacionamento, podem assistir canais fechados e seriados, sem que haja o pagamento pelo serviço. Esse aplicativo esta vinculado a alguns servidores de streaming, como por exemplo, o www.justin.tv. A proposta desse site é exatamente fornecer streaming de um usuário final para toda a rede, onde a banda de transmissão é controlada pelo provedor de serviços. Figura 44: TV Web Fonte: justin.tv Para se ter uma idéia da facilidade e mobilidade da ferramenta, é possível utilizar os serviços de streaming através de um celular com o sistema operacional Android da Google que tenha um serviço 3G e uma câmera integrada. A possibilidade, por exemplo, de se cobrir um evento em qualquer parte do mundo em tempo real, para toda a rede de comunicação mundial é uma realidade hoje. 79 11. SEGURANÇA Nossa implementação direta ao conceito de segurança, é focada em utilização de GPOs aplicadas e utilização do IIS 7.0 para determinada função Web, além da utilização de VPNs e do IPSEC. O conceito básico da Segurança da Informação está relacionado à proteção de um conjunto de dados, no sentido de preservar o valor que possuem para um indivíduo ou uma organização. São características básicas da segurança da informação os atributos de confidencialidade, integridade e disponibilidade, não estando esta segurança restrita somente a sistemas computacionais, informações eletrônicas ou sistemas de armazenamento. O conceito se aplica a todos os aspectos de proteção de informações e dados. O conceito de Segurança Figura 45: Seguro Fonte: Microsoft Technet Informática ou Segurança de Computadores está intimamente relacionado com o de Segurança da Informação, incluindo não apenas a segurança dos dados/informação, mas também a dos sistemas em si. Atualmente o conceito de Segurança da Informação está padronizado pela norma ISO/IEC 17799:2005, influenciada pelo padrão inglês (British Standard) BS 7799. A série de normas ISO/IEC 27000 foram reservadas para tratar de padrões de Segurança da Informação, incluindo a complementação ao trabalho original do padrão inglês. A ISO/IEC 27002:2005 continua sendo considerada formalmente como 17799:2005 para fins históricos. De acordo com o RFC 2196 (The Site Security Handbook), uma política de segurança consiste num conjunto formal de regras que devem ser seguidas pelos utilizadores dos recursos de uma organização. As políticas de segurança devem ter implementação realista, e definir claramente as áreas de responsabilidade dos utilizadores, do pessoal de gestão de sistemas e redes e da Figura 46: Proteção Fonte: Microsoft Technet 80 direção. Deve também adaptar-se a alterações na organização. As políticas de segurança fornecem um enquadramento para a implementação de mecanismos de segurança, definem procedimentos de segurança adequados, processos de auditoria à segurança e estabelecem uma base para procedimentos legais na seqüência de ataques. O documento que define a política de segurança deve deixar de fora todos os aspectos técnicos de implementação dos mecanismos de segurança, pois essa implementação pode variar ao longo do tempo. Deve ser também um documento de fácil leitura e compreensão, além de resumido. Algumas normas definem aspectos que devem ser levados em consideração ao elaborar políticas de segurança. Entre essas normas estão a BS 7799 (elaborada pela British Standards Institution) e a NBR ISO/IEC 17799 (a versão brasileira desta primeira). A ISO começou a publicar a série de normas 27000, em substituição à ISO 17799 (e, por conseguinte à BS 7799), das quais a primeira, ISO 27001, foi publicada em 2005. Existem duas filosofias por trás de qualquer política de segurança: a proibitiva (tudo que não é expressamente permitido é proibido) e a permissiva (tudo que não é proibido é permitido). Apesar dos sistemas operacionais trabalharem com formas diferentes de lidar com a segurança da Informação, o conceito em si deve ser estudado a fundo, visto que o impacto causado pela aplicação ou ausência da aplicação dessas regras, causará repercussão em todo o trabalho no decorrer dos dias. 11.1. Elementos da Política de Segurança Os elementos da política de segurança devem ser considerados: A Disponibilidade: o sistema deve estar disponível de forma que quando o usuário necessitar possa usar. Dados críticos devem estar disponíveis ininterruptamente. A Utilização: o sistema deve ser utilizado apenas para os determinados objetivos. A Integridade: o sistema deve estar sempre íntegro e em condições de ser usado. A Autenticidade: o sistema deve ter condições de verificar a identidade dos usuários, e este terem condições de analisar a identidade do sistema. A Confidencialidade: dados privados devem ser apresentados somente aos donos dos dados ou ao grupo por ele liberado. 81 Quando implantamos a segurança da informação em uma empresa, devemos causar o mínimo de impacto direto aos funcionários, com uma maior proteção possível a toda estrutura do sistema. Figura 47: Segurança default Fonte: Microsoft Technet Imagine colocar senhas complexas de no mínimo 13 dígitos que expiram a cada 15 dias e não podendo utilizar as ultimas 32 senhas. Muitos dos usuários acabariam anotando essas senhas em papeis e colando em seus monitores a cada 15 dias, causando uma brecha de segurança para qualquer indivíduo externo que venha acessar fisicamente o departamento. Esse indivíduo poderia ser, por exemplo, um funcionário de outro departamento, que por curiosidade ou descontentamento, decide acessar dados que não são pertinentes ao escopo de trabalho relacionado à sua função. Figura 48: Disponibilidade Fonte: Microsoft Technet 82 12. IIS7 Em um determinado momento, pode-se perguntar o por que de uma tecnologia como essa, estar sendo citada no tópico relacionado a segurança, e não em uma determinada tecnologia dentro do conceito de AD Microsoft. A característica principal que propões este tópico é de caracterizar a segurança aplicada da ultima versão do IIS utilizada com a página central que compõe todo o resultado de centralização web das tecnologias abordadas. Em característica de segurança, podemos citar a importância de aplicações e serviços confiáveis e comprovados pelo mercado, para poder garantir uma plataforma segura com confiabilidade e escalabilidade em um servidor. Para este projeto, precisamos utilizar o IIS 7.0 e para entender exatamente como a segurança interage com as ferramentas e serviços que rodam em um servidor, uma breve noção histórica é apresentada. A primeira versão do IIS rodava com o NT 4.0, e surgiu em 1997, tendo direcionamento a aplicações em modo in process, rodando em baixo do serviço inetinfo.exe, apresentando alguns problemas, como lentidão e travamentos, em todo o servidor físico. Caso alguma aplicação fosse mau escrita ou apresentasse problemas de gerenciamento ou travamento tudo que estava no servidor poderia apresentar problemas. O serviço de web rodava também dentro do inetinfo.exe, tendo uma permissão muito alta em uma conta local system, tendo poderes completos no sistema operacional, causando um sério problema caso houvesse uma invasão direta. Figura 49: Aplicações in-process Fonte: Microsoft Technet 83 Em um novo momento, com o nascimento do Windows 2000 Server, houve grandes mudanças comportamentais e relacionadas à segurança direta desse recurso. O IIS 5.0 teve melhoras em sua arquitetura, como por exemplo, executar aplicações out off process, sendo executado em outro serviço, fora do inetinfo, garantindo mais disponibilidade, porém perdendo ainda performance diretamente. As aplicações in process tem desempenho melhor que as out off process, mas a garantia valia a pena, como um tipo de moeda de troca. Figura 50: Out-of-Process Fonte: Microsoft Technet Com a nova versão do IIS, que foram implementadas a partir do Windows Server 2003, podemos executar com facilidade atividades lock down, que nada mais é que você poder desabilitar os serviços que não interessam para uma determinada tarefa, sem comprometer o servidor como um todo. Com o lançamento do IIS 6.0, temos o isolamento real de aplicações. No caso de uma aplicação ser mau escrita ou caso apresente problemas, podemos isolar essa aplicação, sem comprometer o conjunto inteiro, isolando o processo em um work process. Esse recurso garante uma que seja possível manter tanto a desempenho como a disponibilidade de um servidor. Figura 51: Isolamento de Aplicações Fonte: Microsoft Technet 84 Com a nova geração de IIS pelo Windows Server 2008, além da possibilidade de maior controle dos serviços e processos, ainda posso escolher todos os componentes que serão instalados, em mais de 40 formas diferentes de personalizar os módulos. Além de poder criar módulos personalizados e efetuar a customização da solução, sendo também uma plataforma para aplicações com segurança e confiabilidade básica. A melhora direta se deu com foco em desempenho, segurança e interatividade com as aplicações. Com a chegada do IIS 7.0 a segurança e o foco de alguns itens fundamentais podem ser identificados, como a conta de privilégios, por exemplo. Essa nova conta chamada network service possui privilégios mínimos, quando comparado com a sua versão no Windows NT. Isso reduz brutalmente a área de ataque, em caso de uma invasão direta ao servidor. Figura 52: Modelo Funcional IIS 7 Fonte: Microsoft Technet Outro ponto analisado para adição de segurança de dados, foi a colocação de políticas de segurança nos objetos adicionado ao DC, como permissões de acesso, perfis pré configurados, limite de utilização de disco e direcionamento de serviços específicos com a monitoração dos acessos e da banda utilizada. 85 13. QOS Por definição, a Qualidade de Serviço de uma rede é garantida pelos componentes da rede e equipamentos utilizados, estando baseada em um mecanismo “fim-a-fim” de garantir a entrega das informações e que deve atuar na comunicação dos equipamentos envolvidos visando o controle dos parâmetros de Qualidade de Serviço. As regras e características de funcionamento do QoS, estão descritas na RFC 2990, fazendo referência direta também a RFC 2208. Figura 53: Exemplo de QoS 01 Fonte: smartunion.com.br Num primeiro momento, o termo "Qualidade de Serviço" pode ser entendido como sendo um requisito das aplicações para a qual se exige que determinados parâmetros (atrasos, vazão, perdas, etc) estejam dentro de limites bem definidos (valor mínimo e valor máximo). Entretanto, a garantia de Qualidade de Serviço em redes de computadores envolve vários níveis de atuação em diversos tipos de equipamentos e tecnologias, ou seja, esses parâmetros não estão localizados em apenas um único equipamento ou componente da rede. 86 Considerando esse fato, a Qualidade de Serviço deve atuar em todos os equipamentos, camadas de protocolo e entidades envolvidos. Do ponto de vista dos usuários, tem-se normalmente que a Qualidade de Serviço obtida de uma aplicação pode ser variável e que, a qualquer momento, pode ser alterada ou ajustada (para melhor ou pior qualidade). A obtenção de uma QoS adequada é um requisito de operação da rede e de seus componentes para viabilizar a operação com qualidade. Por esse motivo a QoS é garantida pela rede, seus componentes e equipamentos. Do ponto de vista dos programas de aplicação, a QoS é tipicamente expressa e solicitada em termos de "Solicitação de Serviço" ou "Contrato de Serviço". A solicitação de QoS da aplicação é denominada tipicamente de SLA - Contrato de Nível de Serviço. O SLA tem como objetivo especificar os níveis mínimos de desempenho que um provedor de serviços deverá manter a disposição do usuário e o não cumprimento desse acordo implica em penalidades, estipuladas contratualmente. Já do ponto de vista de um gerente ou administrador de uma rede, o entendimento da QoS é mais orientado no sentido da utilização de mecanismos, algoritmos e protocolos em benefício de seus usuários e SUP às aplicações. Figura 54: Exemplo de QoS 02 Fonte: smartunion.com.br 87 Torna-se necessário considerar também que nem todas as aplicações necessitam de garantias severas de QoS para ter um desempenho satisfatório. Dentre as garantias de QoS, a vazão (ou banda) é o parâmetro mais básico e necessário para a operação adequada de qualquer aplicação sendo normalmente considerado durante a fase de projeto e implantação da rede. Dentre as novas aplicações, as de multimídia são normalmente aquelas que têm uma maior exigência de QoS, pois são aplicações que sempre necessitam de grande vazão e, assim sendo, este torna-se o parâmetro mais básico e certamente mais presente nas especificações de QoS. No caso das redes de longa distância (redes corporativas, redes metropolitanas, intranets metropolitanas, etc), onde as velocidades de transmissão são dependentes da escolha da tecnologia de rede para a garantia da qualidade de serviço, observam-se restrições e/ ou limitações nas velocidades utilizadas, tipicamente devido aos custos envolvidos na operação da rede. Além desse fator, observam-se também algumas restrições quanto à disponibilidade tanto da tecnologia quanto da velocidade de transmissão desejada. O resultado é que a garantia de QoS é mais crítica em redes metropolitanas (MAN) e de longa distância (WAN) do que em redes locais (LAN). A Qualidade de Serviço é um aspecto de implantação e operação importante para as redes de comunicação como um todo. Dessa forma, a Qualidade de Serviço torna-se um aspecto operacional importante para o desempenho “fim-a-fim” das novas aplicações de redes como voz sobre IP, multimídia, etc e o entendimento dos seus princípios, parâmetros, mecanismos, algoritmos e protocolos são requisitos para viabilizar a operação com qualidade de uma aplicação e a obtenção de uma QoS de rede adequada. 14. SERVIÇO DE DOMÍNIO MICROSOFT Hoje, falar de redes baseadas em domínio, se tornou uma referência ao fabricante Microsoft e o recurso Active Directory, conhecido também como AD, como o chamaremos daqui pra frente. O mercado de servidores pode nos fornecer uma idéia da utilização dos sistemas operacionais Microsoft nos tempos atuais, desde o Windows NT até o Windows Server 2008. Informação obtida com um dos gerentes de produtos Microsoft, através de um canal específico pelo parceiro Dualtec Cloud Solution, nos dá o seguinte panorama de uso de 88 servidores no Brasil. Essa informação foi disponibilizada através do canal Patner, em Agosto de 2010. 60% dos servidores hoje no Brasil rodam Windows Server 2003. 10% Windows Server 2008 7% Windows 2000 Server 1% Windows NT 4.0 Figura 55: Panorama Windows Server Fonte: Desenvolvido pelos integrantes do Grupo 14.1. Estrutura do AD O AD é um importante componente da geração de sistemas operacionais direcionados à servidores e neste projeto iremos enfatizar a utilização do Windows Server 2008, como nosso controlador de domínio. Indo direto ao ponto, podemos dizer que o AD é um banco de dados no qual ficam armazenadas informações sobre vários componentes da rede, tais como nomes de computadores, nomes de usuários, grupos, impressoras e etc. O AD nasceu como uma grande novidade no Windows Server 2000, sendo ainda hoje tratado como carro chefe de trabalhos da nova linhagem de sistemas operacionais como Windows Server 2003 e Windows Server 89 2008. Logicamente o AD não pode ser visto apenas como um grande banco de dados, pois existem inúmeros serviços que podem ser utilizados, porém para entendimento do escopo do projeto, a informação prestada basta. Figura 56: Visão Geral do AD Fonte: microsoft.com Existem alguns elementos que compõem o AD e que mantêm seu funcionamento padrão. A relação abaixo identifica esses elementos individuais: Domínios Árvores Florestas Relações de confiança Objetos Unidades Organizacionais Schemas 90 Todos esses elementos são o que podemos chamar de estrutura lógica do AD, sendo a maneira como é apresentado ao Administrador do sistema e aos usuários desse sistema. Quando falamos da estrutura lógica do AD, devemos considerar que muitas vezes essa estrutura lógica é diferente da estrutura física apresentada. Considerando que a estrutura física determina onde são armazenados os dados do AD e como as informações são sincronizadas entres os DCs. 14.2. Modelo Baseado em Diretório O modelo baseado em diretório, proposto pela Microsoft, cria uma base única onde os servidores compartilham essa mesma base, seja para pesquisa ou para autenticação. Entendendo melhor esse conceito, o que ocorre na prática é que todos os controladores de domínio contêm na verdade uma cópia da base de informações do AD. Alterações efetuadas em um dos servidores são repassadas para os demais servidores da rede, para que todos fiquem com uma cópia idêntica da base de dados do diretório. Esta sincronização entre os servidores é conhecida como replicação do AD e pode ser configurada para ocorrer de forma automática a cada determinado intervalo de tempo. O que caracteriza uma rede baseada em diretório é o fato de todos os servidores terem acesso à mesma base de dados, ou seja, todos compartilham o mesmo diretório, as mesmas informações sobre usuários, grupos, servidores e recursos disponíveis. É importante frisar que servidores membros não possuem uma cópia da lista de usuários e grupos do AD, estes não efetuam a autenticação dos clientes e também não armazenam informações sobre as políticas de segurança para o Domínio – as quais também são conhecidas como GPO. Porém, servidores membros do domínio podem ter uma base de usuários local e GPOs locais, independente do AD. 14.3. Proposta de AD para o Projeto Para a realização do trabalho proposto, a primeira necessidade foi realizar o Design do AD para atender as necessidades apresentadas. É válido ressaltar não existe um Design mais correto que outro, para elaboração de um Design é necessário levar em conta os seguintes fatores: Quantidade de objetos Facilidade de administração Quantidade de sites 91 Estrutura de departamentos A ilustração abaixo representa a topologia lógica proposta: Figura 57: Topologia lógica do Active Directory Fonte: Desenvolvido pelos integrantes do Grupo O projeto contempla a utilização de dois servidores com Windows Server 2008 formando um único domínio nomeado de htbraz.corp. Como já visualizado, o projeto possui duas redes separadas, sendo que o controlador de domínio principal ficará na rede Datacenter e o controlador secundário fará parte da rede corporativa. A base de dados do AD (objetos, schema, OUs, etc) será replicada entre os servidores a cada 5 minutos e a replicação é bi-direcional, ou seja, qualquer um dos servidores poderá sinalizar mudanças no AD. O cenário apresentado também garante redundância, pois em caso de falha de um dos servidores, o outro servidor assumirá operação, mesmo estando em uma rede separada. A estrutura ainda permite, a qualquer momento, a adição de novos servidores controladores de domínio. Por definição da equipe de Segurança, foram aplicadas as seguintes Políticas de Segurança (através do uso de GPO) no Domínio: Requisitos para criação de senha de conta de usuário: mínimo de 7 caracteres, tendo obrigatoriamente pelo menos uma letra maiúscula, um caractere especial (exemplos: !, @, #, $), um número e letras minúsculas; 92 As senhas de contas de usuário têm de ser alteradas obrigatoriamente a cada 30 dias; Não poderão ser repetidas as últimas 15 senhas utilizadas; Em caso de três tentativas consecutivas de acesso com a senha errada, a conta é bloqueada e o desbloqueio só poderá ser realizado pelo gerente responsável; 15. SCRIPTS Os scripts criados neste tópico do trabalho, foram desenvolvidos visando agregar facilidades aos usuários, além de manter uma determinada segurança contra acessos externos e até mesmo localizar com mais facilidade, arquivos indevidos na rede. 15.1. Script de Bloqueio 3G CLASS MACHINE CATEGORY !!category CATEGORY !!categoryname POLICY !!policynameModem KEYNAME "SYSTEM\CurrentControlSet\Services\Modem" EXPLAIN !!explaintextModem PART !!labeltextModem DROPDOWNLIST REQUIRED VALUENAME "Start" ITEMLIST NAME !!Disabled VALUE NUMERIC 3 DEFAULT NAME !!Enabled VALUE NUMERIC 4 END ITEMLIST END PART END POLICY END CATEGORY END CATEGORY 93 [strings] category="Configurações de Restrição de modems" categoryname="Restringir instalação de modems" policynameModem="Desativar modems" explaintextModem="Desativa o driver de modems no computador pela alteração do valor DWORD "Start" no Registro do Windows para 4 (HKLM\SYSTEM\CurrentControlSet\Services\Modem). O valor padrão (default) é 3. Com tal mudança o sistema nega a utilização do arquivo modem.sys; assim qualquer espécie de dispositivo (principalmente da classe modem) que utiliza o arquivo como driver, não funcionará. Para o funcionamento abra a diretiva e a marque como "Ativado", logo em seguida ficará disponível uma sub-opção denominada "Desativar o driver de modems" e então selecione "Ativado". Para reativar o uso de modems selecione nessa sub-opção "Desativado", o valor voltará a ser 3. Todavia é bom salientar que este modelo administrativo quando adicionado, tem compartamento de "tatuar" o registro." labeltextModem="Desativar o driver de modems" Enabled="Ativado" Disabled="Desativado" 15.2. Script de Atalho set WshShell = WScript.CreateObject("WScript.Shell") strDesktop = WshShell.SpecialFolders("Desktop") set oShellLink = WshShell.CreateShortcut(strDesktop & "\notepad.lnk") oShellLink.TargetPath = WScript.ScriptFullName oShellLink.WindowStyle = 1 oShellLink.Hotkey = "CTRL+SHIFT+F" oShellLink.IconLocation = "notepad.exe, 0" oShellLink.Description = "Bloco de Notas" oShellLink.WorkingDirectory = strDesktop oShellLink.Save 94 15.3. Script de Rastreamento Set objFSO = CreateObject("Scripting.FileSystemObject") set objTextFile = objFSO.CreateTextFile("c:\" & strcomputer & ".txt", True) Set objWMIService = GetObject("winmgmts:\\").ExecQuery( _ "SELECT * FROM CIM_DataFile WHERE Drive = 'C:'") For Each objItem in objWMIService select case objItem.Extension case "mp3" call escrever() case "wav" call escrever() case "ac3" call escrever() case "mpeg" call escrever() case "avi" call escrever() case "wmv" call escrever() case "flv" end select Next objTextFile.writeline "Total de Espaço Usado int(((intTotalSpace)/1024)/1024) & " MB" Wscript.echo "Script de busca por arquivos terminado" function escrever() com estes arquivos: " & 95 objTextFile.writeline objItem.FileType & ": " & objItem.Name & vbcrlf & _ "Tamanho do arquivo: " & CCur((objItem.FileSize)/(1024*1024)) & " MB" & vbcrlf intFileSize=objItem.FileSize intTotalSpace= intTotalSpace + intFileSize end function 96 CONCLUSÃO Aliando e convergindo tecnologias diversificadas sob uma estrutura técnica modular, utilizando protocolos comuns e conceitos universais. Essa proposta resume nosso trabalho em termos objetivos, sem perder o foco da importância da TI como impacto no negócio da empresa. As redes convergentes devem ser seguras e manter em diversos momentos, os serviços e aplicações necessárias à comunicação global, seja com o cliente interno quanto com o cliente externo, de modo eficiente e eficaz, sem perder a escalabilidade dos servidores e a disponibilidade dos dados trafegados. A solução apresentada mostra a compatibilidade e a interoperabilidade entre serviços diversos, baseados em streaming, segurança e controle dos dados trafegados, podendo ser aplicado em qualquer tipo de empresa, independente do seu foco de atuação no mercado, visto que, telefonia, comunicação e segurança, são necessidades ao negócio de qualquer empresa. Os recursos físicos, humanos e lógicos aplicados nesse projeto, mostram a integração de sistemas operacionais e funções em um mesmo ambiente operacional regrado com frameworks aplicados, buscando a melhoria continuada dos serviços gerenciados pela TI. Podemos definir todo o trabalho, como a provisão de soluções da comunicação integrada, direcionada ao molde de mercado, que independe do nicho de atuação, por se focar em exigências atuais, não só da tecnologia, mas da comunicação em forma global. Não visamos implantar uma tecnologia apenas, e sim, implantar uma solução confiável e que gere resultados positivos e mensuráveis ao negócio. 97 REFERÊNCIAS BIBLIOGRÁFICAS BATTISTI. J. 1. ed. E-Book, Guia de estudos para certificação MCSE 70-290 BON, J.et al. “Foundations of IT Service Management Based on ITIL V3”. Van Haren Publishing, 2007 GOVERNANCE INSTITUTE. 4. ed. E-Book, CobiT 4.1 Foundation FILIPPETTI. M. 1. ed. CCNA 4.1 Guia de Estudo. Ed. Visual Books, 2008 WILCOX. J. 3. ed. E-Book, Vídeoconferencing the whole Picture ISO/IEC; The Basics of Information Security – ISO 27002 ISO/IEC; Introdução aos Conceitos da ISO 9001:20000 MORIMOTO. C. 2. ed. Linux Redes e Servidores Guia Pratico. Ed. Sulina TANENBAUM. A. 4. ed. Redes de Computadores. Ed. Campus <http://www.teleco.com.br/voip.asp> “Acessado em Setembro de 2010” <http://www.voipcenter.com.br/> “Acessado em Setembro de 2010” <http://www.anatel.gov.br > “Acessado em Setembro de 2010” <http://technet.microsoft.com/en-us/library/cc786438(WS.10).aspx > “Acessado em Setembro de 2010” <http://msdn.microsoft.com/pt-br/library/cc580591.aspx > “Acessado em Setembro de 2010” <www.itgi.org> “Acessado em Outubro de 2010” <http://www.filecrop.com/NBR-ISO-20000.html> “Acessado em Outubro de 2010” <www.technetbrasil.com.br> “Acessado em Outubro de 2010” 98 <http://htbraz.spaces.live.com> “Acessado em Outubro de 2010” <www.isaca.org> “Acessado em Outubro de 2010” <https://datatracker.ietf.org/doc/rfc2196/ > “Acessado em Outubro de 2010” <http://www.callio.com/files/wp_iso_en.pdf > “Acessado em Outubro de 2010” <http://pt.wikipedia.org/wiki/BS_7799 > “Acessado em Outubro de 2010” <www.justin.tv> “Acessado em Outubro de 2010” <http://www.atis.org> “Acessado em Outubro de 2010” <http://www.appleinsider.com/articles/09/07/08/apple_launches_http_live_streaming_standar d_in_iphone_3_0.html > “Acessado em Outubro de 2010” <http://www.faqs.org/rfcs/rfc2990.html > “Acessado em Outubro de 2010” <http://penta2.ufrgs.br/edu/videoconferencia/softvidconf.htm > “Acessado em Outubro de 2010” <https://www.rnp.br/_arquivo/videoconferencia/AvaliacaoVideo.pdf > “Acessado em Outubro de 2010” <http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0034- 71672004000500022&lng=en&nrm=iso&tlng=pt > “Acessado em Outubro de 2010” <http://pt.wikipedia.org/wiki/Winamp > “Acessado em Outubro de 2010” <http://download.microsoft.com/download/0/6/d/06d12ada-4ade-4990-a373- 76d67cdff442/WMEncoder.exe> “Acessado em Outubro de 2010” http://www.microsoft.com/windows/windowsmedia/pt/9series/encoder/default.aspx <“Acessado em Outubro de 2010” http://pt.wikipedia.org/wiki/Windows_Media_Encoder > “Acessado em Outubro de 2010” <www.winamp.com> “Acessado em Outubro de 2010” > 99 http://www.vbctelecom.com/video_streaming_internet_en.htm > “Acessado em Outubro de 2010” <www.apple.com.br > “Acessado em Outubro de 2010” <http://www.chebucto.ns.ca/~rakerman/articles/ig-h323_firewalls.html Outubro de 2010” > “Acessado em ANEXOS 101 ANEXOS Para um melhor monitoramento e andamento do projeto, desenvolvemos modelos de documentações baseadas nos processos da ITIL e técnicas do Cobit. Isso permitiu gerenciar com mais precisão os assuntos relacionados ao trabalho e padronizar todas as decisões e atividades do grupo relacionado ao desenvolvimento do projeto em si. Nas páginas a seguir, estão os modelos dos documentos utilizados durante o decorrer de todo o trabalho. Houve poucas modificações dos mesmos durante o decorrer do tempo em que nosso grupo trabalhou neste projeto, até mesmo aproveitando a flexibilidade dos Frameworks. 102 Anexo A: Modelo de Declaração de Escopo Fonte: Desenvolvido pelos integrantes do Grupo 103 Anexo B: Modelo de Lista de Tarefas e Pendências Fonte: Desenvolvido pelos integrantes do Grupo 104 Anexo C: Modelo de Ata de Reunião Fonte: Desenvolvido pelos integrantes do Grupo 105 Anexo D: Modelo de Anexo RACI Fonte: Desenvolvido pelos integrantes do Grupo 106 Anexo E: Modelo de Anexo Project 2007 Fonte: Desenvolvido pelos integrantes do Grupo