UNIVERSIDADE TUIUTI DO PARANÁ Elaine Faucz Rodrigues Barge REDES: PRINCIPAIS PROTOCOLOS PARA TRANSMISSÃO DE IMAGEM E SOM DE FORMA SIMULTÂNEA CURITIBA 2012 REDES: PRINCIPAIS PROTOCOLOS PARA TRANSMISSÃO DE IMAGEM E SOM DE FORMA SIMULTÂNEA CURITIBA 2012 Elaine Faucz Rodrigues Barge REDES: PRINCIPAIS PROTOCOLOS PARA TRANSMISSÃO DE IMAGEM E SOM DE FORMA SIMULTÂNEA Monografia Graduação apresentada ao Curso de Pósde Redes de Computadores e Segurança de Redes – Administração e Gerencia da Faculdade de Ciências Exatas da Universidade Tuiuti do Paraná Como requisito para a Conclusão de Curso. Orientador: Roberto Néia Amaral. Co-Orientador: Luiz Altamir Corrêa Jr Co-Orientador: Marcelo Soares Farias. CURITIBA 2012 TERMO DE APROVAÇÃO Elaine Faucz Rodrigues Barge REDES: PRINCIPAIS PROTOCOLOS PARA TRANSMISSÃO DE IMAGEM E SOM DE FORMA SIMULTÂNEA Esta monografia foi julgada e aprovada para a obtenção do titulo de Especialista em Rede de Computadores e Segurança de Redes - Administração e Gerência no programa de Especialização da Universidade Tuiuti do Paraná. Curitiba, 10 de maio de 2012. Roberto Néia Amaral Rede de Computadores e Segurança de Redes - Administração e Gerência Universidade Tuiuti do Paraná Orientador: Prof. Roberto Néia Amaral UTP - FACET Prof. Luiz Altamir Corrêa Júnior UTP - FACET Prof. Marcelo Soares Farias UTP - FACET RESUMO Levantamento dos principais protocolos para transmissão de imagem e som de forma simultânea. O levantamento demonstrou que o que determina a escolha do protocolo é a necessidade de uma transmissão concisa sem perda de dados ou uma transmissão rápida sem se preocupar com certa perda de dados. O objetivo deste levantamento é auxiliar nesta decisão, demonstrando qual dos protocolos aqui indicados melhor se aplicam a cada caso. Foram feitas pesquisas de diversos protocolos existentes hoje para tornar este processo de escolha mais simples, porem não menos complicado. O resultado foi uma lista com diversos protocolos - gratuitos e pagos – com uma explicação concisa de cada um. Conclui-se ainda que existam cada vez mais protocolos e que com o passar do tempo novos surgirão e que a escolha do que melhor se aplica a necessidade do cliente que o usa depende de uma boa analise das reais necessidades do mesmo. Palavras-chave: Vídeo conferência. Transmissão. Vídeo aula. LISTA DE FIGURAS FIGURA 1 - PAR TRANÇADO..........................................................................21 FIGURA 2 - CABO COAXIAL BANDA BASE....................................................23 FIGURA 3 - CABO COAXIAL BANDA LARGA.................................................23 FIGURA 4 - FIBRA ÓTICA................................................................................24 FIGURA 5 - EXTREMIDADE DE UM CABO COM TRÊS FIBRAS...................24 FIGURA 6 - CONECTOR ST MONOMODO E MULTIMODO...........................26 FIGURA 7 - CONECTORES BNC.....................................................................26 FIGURA 8 - CONECTOR SC MONOMODO E MULTIMODO..........................26 FIGURA 9 - ETAPAS DE UMA TRANSMISSÃO MULTIMÍDIA........................28 FIGURA 10 - APLICAÇÕES QUE NECESSITAM TRANSMISSÃO MULTIMÍDIA..................................................................................29 FIGURA 11 - CONCEITO DE JITTER E LATÊNCIA. ........................................32 LISTA DE TABELAS TABELA 1 - APLICAÇÕES TÍPICAS DE MULTIMÍDIA EM REDE...................33 TABELA 2 - CLASSES DOS ENDEREÇOS IP.................................................36 TABELA 3 - PADRÕES DE MULTIMÍDIA DO ITU-T.........................................60 TABELA 4 - RECOMENDAÇÕES ITU-T...........................................................61 TABELA 5 - TAXAS DE TRANSMISSÃO SEM COMPRESSÃO......................69 LISTA DE SIGLAS APP - Atom Publishing Protocol ARP - Address Resolution Protocol BNC - Bayonet Neil Concelman bps - Bits por Segundo CIF - Common Intermediate Format CODEC - Codificador/Decodificador. CNAME - Canonical Name CSRC - Contributing Source DHCP - Dynamic Host Control Protocol DNS - Domain Name Service FTP - File Transfer Protocol IAC - Interpret As Command ICANN - Internet Corporation for Assigned Names and Numbers ICMP - Internet Control Message Protocol IETF - Internet Engineering Task Force IGMP - Internet Group Management Protocol IOS - Internetwork Operational System IP - Internet Protocol. IPV4 - Internet Protocol vesion 4. IPV6 - Internet Protocol vesion 6. ISO - International Organization for Standardization Kbps - Kilobits por segundo. LAN - Local area network LED - Light Emitting Diode MAC - Media Access Control MDCP - Mowgli Data Channel Protocol MG - Media gateway MGC - Media gateway controller MGCP - Media Gateway Control Protocol MPEG - Moving Picture Experts Group. NTSC - National Television Standards Committee OSI - Open System Interconnection PAL - Phase Alternation Line QoS - Quality of Service RARP - Reverse Address Resolution Protocol RDP - Remote Desktop Protocol RJE - Remote Job Entry RR - Receiver Report RSVP - ReSource reserVation Protocol RTCP - RTP Control Protocol. RTP - Real Time Transport Protocol. RTSP - Real Time Streaming Protocol. SC - Square connector SDES - Source Description Items SDP - Session Description Protocol SIF - Standard Interchange Format SIP - Session Initiation Protocol SMTP - Simple Mail Transfer Protocol SMPTE - Society of Motion Picture e Televisão Engineers SNMP - Simple Network Management Protocol SR - Sender Report SSRC - Synchronization Source ST - Straight Tip TCP - Transmission Control Protocol. TFTP - Trivial File Transfer Protocol UDP - User Datagram Protocol. URL - Uniform Resource Locator. WEB - WWW WWW - World Wide Web. SUMÁRIO 1 INTRODUÇÃO................................................................................................11 2 CONHECENDO O MODELO OSI..................................................................12 2.1 APLICAÇÃO....................................................................................................12 2.2 APRESENTAÇÃO...........................................................................................14 2.3 SESSÃO.........................................................................................................15 2.4 TRANSPORTE................................................................................................15 2.5 REDE..............................................................................................................17 2.6 ENLACE..........................................................................................................18 2.7 FÍSICA.............................................................................................................19 2.7.1 Meios de Transmissão de Dados...................................................................20 3 TRANSMISSÃO MULTIMÍDIA EM REDES....................................................28 3.1 LATÊNCIA.......................................................................................................30 3.2 JITTER............................................................................................................31 3.3 SKEW..............................................................................................................32 4 PROTOCOLOS...............................................................................................34 4.1 IP.....................................................................................................................34 4.2 TCP.................................................................................................................36 4.3 UDP.................................................................................................................39 4.4 TCP/IP ............................................................................................................42 4.5 RTP.................................................................................................................51 4.6 RTCP..............................................................................................................53 4.7 SIP..................................................................................................................55 4.8 RTSP...............................................................................................................58 5 PADRÕES DE MULTIMÍDIA EM REDES DE COMPUTADORES................60 6 CODIFICAÇÃO DE ÁUDIO............................................................................69 7 CODIFICAÇÃO DE VÍDEO.............................................................................73 8 CONCLUSÃO.................................................................................................75 REFERÊNCIAS..............................................................................................76 11 1 INTRODUÇÃO Atualmente utilizam-se diversos protocolos para a transmissão de imagem e som de forma simultânea, estes são usados em videoconferências, transmissão de aulas entre outros, contudo a escolha dos protocolos envolvidos neste serviço não é simples, existem diversos fatores a serem levados em consideração. Então como escolher o protocolo certo? Como identificar compatibilidades? Como identificar as possíveis falhas em cada protocolo? O objetivo deste trabalho é ajudar na escolha do melhor protocolo para cada transmissão. Quanto ao roteiro do conteúdo, esse trabalho e composto de 7 capítulos. Sendo o segundo destinado ao conhecimento do modelo OSI; o terceiro a como funciona a transmissão multimídia em redes; o quarto aos protocolos; o quinto a padrões de multimídia; o sexto e o sétimo a codificações e o oitavo a conclusão. 12 2 CONHECENDO O MODELO OSI Para satisfazer requerimentos de clientes para a capacidade de computação remota, fabricantes de computadores de grande porte desenvolveram uma variedade de arquiteturas de redes. Algumas destas arquiteturas definem o interrelacionamento de fornecedores de hardware e software, em particular, para permitir o fluxo de comunicações através da rede para fabricantes de computadores em geral. Com a finalidade de padronizar o desenvolvimento de produtos para redes de comunicação de dados, foi elaborado um modelo aberto, que teve como referência o OSI pela ISO. Este modelo estabelece sete camadas para as funções de comunicação de dados: Aplicação Apresentação Sessão Transporte Rede Enlace Física 2.1 APLICAÇÃO A camada de aplicação dentro do processo de comunicação é representada pelo usuário final para o modelo OSI. Ou seja, baseado em pedidos de um usuário da rede, esta camada seleciona serviços a serem fornecidos por funções das camadas mais baixas. 13 Esta camada deve providenciar todos os serviços diretamente relacionados aos usuários. Alguns destes serviços são: Identificação da intenção das partes envolvidas na comunicação e sua disponibilidade e autenticidade Estabelecimento de autoridade para comunicar-se Acordo sobre o mecanismo de privacidade Determinação da metodologia de alocação de custo Determinação de recursos adequados para prover uma qualidade de serviços aceitável Sincronização de cooperação para aplicações Seleção da disciplina de diálogo Responsabilidade da recuperação de erros de estabelecimento Acordo na validação de dados Transferência de informações A intercomunicação entre entidades de aplicação ocorre de acordo com protocolos específicos. Estes protocolos podem ser de três categorias: Administração do sistema Este protocolo refere-se à administração dos vários recursos e seus estados através dos níveis da arquitetura OSI. Algumas funções deste tipo de protocolo são: Administração da ativação/desativação Monitoração Controle de erros Recuperação 14 Somente a administração de atividades que implicam comunicações entre entidades remotas é considerada neste tipo de protocolo, outras atividades de administração do sistema local estão fora do ambiente OSI. Administração das aplicações Este protocolo refere-se à administração dos processos de aplicação. Os protocolos deste tipo incluem: Inicialização/manutenção de processos de aplicação Encerramento de processos de aplicação Controle de acesso Recuperação de deadlock (situação em que ocorre um impasse e dois ou mais processos ficam impedidos de continuar suas execuções). Aplicação do usuário Estes protocolos habilitam RJE e acesso a arquivos. Protocolos adicionais deste tipo podem ser criados para suportar aplicações específicas, tais como transferência eletrônica de fundos, correio eletrônico, etc. 2.2 APRESENTAÇÃO Esta camada é responsável pela representação da informação para entidades de aplicação, comunicando-se em um determinado caminho, e preservar o sentido em determinado espaço de tempo resolvendo diferenças de sintaxe. Para esses objetivos, esta camada pode prover as seguintes funções: Transformação de dados Formatação de dados 15 Sintaxe de seleção 2.3 SESSÃO O objetivo desta camada é prover os mecanismos necessários para organizar e sincronizar o diálogo e o gerenciamento da troca de dados entre entidades de apresentação. Para tal, a camada de sessão entre duas entidades de apresentação é o suporte para ordenar a troca de dados. Como suporte a esses objetivos, a camada de sessão providencia os seguintes serviços para a camada de apresentação: Estabelecimento de conexão de sessão Liberação de conexão de sessão Troca normal de dados Gerenciamento de interação Reporte de condições de exceção Mecanismos para sincronização de conexão de sessão 2.4 TRANSPORTE Esta camada existe para realizar a transferência transparente de dados entre entidades em sessão. Protocolos de transporte são empregados para estabelecimento, manutenção e liberação de conexões de transporte que representam um caminho duplo para os dados entre dois endereços de transporte. O modelo OSI define três fases de operação dentro da camada de transporte: Fase de estabelecimento 16 O objetivo desta fase é o estabelecimento de conexões entre funções de serviços das camadas mais altas. A qualidade dos serviços de conexão pode ser negociada durante esta fase. Os serviços providenciados incluem: Seleção de serviços de rede, como funções de parâmetros, por exemplo: throughput (velocidade na qual a informação trafega nivelada pelo menor valor de transferência), ajuste do tempo de transmissão e características de erros; Gerenciamento de conexões de transporte para conexões de camadas mais baixas; Estabelecimento de tamanho apropriado para pacotes de dados; Seleções de funções empregadas na transferência de dados Transporte de dados de camadas mais altas Fase de transferência Esses serviços têm como objetivo a transferência de dados de acordo com a qualidade dos serviços descritos na fase de estabelecimento. Os serviços providenciados incluem: Blocagem Concatenação Segmentação Multiplexação de conexões providenciadas pelas camadas mais baixas Controle de fluxo em uma sessão orientada fim a fim Manutenção de uma unidade de dados retida da camada de sessão Manutenção de conexão entre duas funções de transporte atuando entre duas entidades em conversação 17 Detecção de erros para: perda, danos, duplicação, ou desordem nas unidades de dados. Recuperação de erros de endereços detectados por esta camada ou assinalados pelas camadas mais baixas Transporte de dados que empregam mecanismos normais de controle de fluxo Fase de terminação Esses serviços permitem encerrar uma sessão terminando a conexão, sendo notificadas ambas as partes. Esses serviços incluem: Notificação da razão do encerramento Identificação da conexão terminada Informações adicionais como requerido 2.5 REDE A função básica desta camada é providenciar a transferência transparente de todos os dados submetidos pelo nível de transporte. A estrutura e conteúdo detalhados dos dados submetidos serão determinados exclusivamente pelas camadas acima da camada de rede. O propósito é permitir que as camadas mais altas tenham independência para rotear e comutar considerações associadas com o estabelecimento e operação de uma conexão. O estabelecimento, manutenção e terminação de conexões das entidades comunicando-se são inclusos nos serviços executados por esta camada. Essas funções e serviços são: Endereçamento da rede e identificação do ponto final 18 Multiplexação da rede de conexões acima das conexões da camada de enlace providenciadas pela próxima camada mais alta Segmentação e/ou blocagem para facilitar a transferência de dados Serviços de seleção quando diferentes serviços estão disponíveis Seleção da qualidade de serviços baseados em parâmetros como: erros residuais, disponibilidade, confiabilidade, fluxo de tráfego, tempo gasto no estabelecimento da conexão e no trânsito. Detecção e recuperação de erros para atingir a qualidade de serviços desejada Notificação de erros para as camadas acima quando a qualidade dos serviços não pode ser mantida Entrega sequenciada de dados, se disponível, para uma implementação em particular. Controle de fluxo, isto é, suporte de indicadores de controle do fluxo providenciados pela camada de transporte. Transferência de dados como um serviço opcional Rearranjo de conexão quando ocorre perda de rota de retorno de dados e notificação para o usuário Serviços de terminação quando solicitados por parte do usuário 2.6 ENLACE A camada de enlace providencia maneiras funcionais e procedimentos para estabelecimento, manutenção e liberação de enlaces de dados entre as entidades da rede. Os objetivos são providenciar a transmissão de dados para a camada de 19 rede e detectar, e possivelmente corrigir erros que possam ocorrer no meio físico. As características funcionais desta camada são: Conexão dos enlaces, ativação e desativação. Estas funções incluem o uso de facilidades multiponto físico para suportar conexões entre funções da camada de rede Mapeamento de unidades de dados para a camada de rede dentro das unidades do protocolo de enlace para transmissão Multiplexação de um enlace de comunicação para várias conexões Delimitação físicas de unidades de transmissão para protocolos de comunicação Detecção, notificação e recuperação de erros. Identificação e troca de parâmetros entre duas partes do enlace 2.7 FÍSICA A camada física provê características físicas, elétricas, funcionais e procedimentos para ativar, manter e desativar conexões entre duas partes. Uma entidade de dados de serviço neste nível consiste em um bit em transmissão serial e de n bits em transmissão paralela. As funções dentro deste nível são: Ativação e desativação da conexão física entre duas entidades do nível de ligação de dados, inclusive concatenação e circuitos de dados quando solicitado pelo nível de ligação. 20 Transmissão de unidades de dados de serviço (bits), que pode ser executada de modo síncrono ou assíncrono. Controle de erros 2.7.1 Meios de Transmissão de Dados O meio de transmissão de dados serve para oferecer suporte ao fluxo de dados entre dois pontos. Usamos o termo linha para designar o meio de transmissão usado entre esses pontos. Essa linha pode ser de um par de fios, um cabo coaxial, fibras óticas, comunicação por rádio frequência ou até mesmo por satélites. Os meios de transmissão mais comuns utilizados são: Par de Fios O par de fios, também chamado de par trançado, foi um sistema originalmente produzido para transmissão telefônica analógica. Interessante observar que utilizando o sistema de transmissão por par de fios aproveita-se esta tecnologia que já é tradicional por causa do seu tempo de uso e do grande número de linhas instaladas. A taxa de transmissão varia de acordo com as condições das linhas telefônicas utilizadas, podendo variar entre 9600 a 19200 bps. Considerando enlaces ponto a ponto, essas taxas são bem aceitáveis, porém, quando se trata de enlaces multipontos, a taxa de transmissão decresce significativamente. Todo o meio físico de transmissão sofre influências do meio externo acarretando em perdas de desempenho nas taxas de transmissão. Essas 21 perdas podem ser atenuadas limitando a distância entre os pontos a serem ligados. A qualidade das linhas de transmissão que utilizam o par de fios depende, basicamente, da qualidade dos condutores empregados, bitola dos fios (quanto maior a bitola, mais corrente passa pelo condutor), técnicas usadas para a transmissão dos dados através da linha e proteção dos componentes da linha para evitar a indução dos condutores. A indução ocorre devido a alguma interferência elétrica externa ocasionada por osciladores, motores, geradores elétricos, mau contato ou contato acidental com outras linhas de transmissão que não estejam isolados corretamente ou até mesmo tempestades elétricas ou proximidades com linhas de alta tensão. A vantagem principal na utilização do par de fios ou par trançado é seu baixo custo de instalação e manutenção, considerando o grande número de bases instaladas. FIGURA 1 – PAR TRANÇADO. FONTE: BARBOSA, 2012, disponível em: http://www.inf.pucminas.br/professores/marco/redes/aula3.htm. 22 Cabo Coaxial O cabo coaxial possui vantagens em relação aos outros condutores utilizados tradicionalmente em linhas de transmissão por causa de sua blindagem adicional, que o protege contra o fenômeno da indução, causado por interferências elétricas ou magnéticas externas. Essa blindagem constitui-se de uma malha metálica (condutor externo) que envolve um condutor interno isolado. Os cabos coaxiais geralmente são empregados na ligação de pontos próximos um do outro (rede local de computadores, por exemplo). A velocidade de transmissão é bastante elevada devido a tolerância aos ruídos graças a malha de proteção desses cabos. Os cabos coaxiais são divididos em duas famílias: Banda base Nesta tecnologia de transmissão, o sinal digital é injetado diretamente no cabo. A capacidade de transmissão dos cabos nesta modalidade varia entre alguns Mbps Km, no caso dos cabos mais finos, até algumas dezenas de megabits por segundo no caso de cabos grosso. A impedância utilizada nesta modalidade de transmissão é de 50 ohms. 23 FIGURA 2 – CABO COAXIAL BANDA BASE. FONTE: REDES DE DADOS E AS SUAS IMPLEMENTAÇÕES: 2012, disponível em: http://nick-onfire.blogspot.com.br/p/modulo-2_24.html. Banda larga Nesta tecnologia de transmissão, os cabos coaxiais suportam uma banda passante de até 400Mhz. Devido a esta grande tolerância, esse cabo é muito utilizado para a transmissão do sinal de vídeo em TV a cabo e, na transmissão de vídeo também em computadores, para a integração de imagens transmitidas para várias estações de rede local. A impedância utilizada nesta modalidade de transmissão é de 75 ohms. FIGURA 3 – CABO COAXIAL BANDA LARGA. FONTE: CABO COAXIAL BANDA LARGA: 2012, disponível em: http://penta2.ufrgs.br/tp951/c_larga.html 24 As dificuldades de conexão com cabos coaxiais são um pouco maiores do que se fosse utilizado o par trançado. A conexão dos cabos é feita através de conectores mecânicos, o que também encarece sua instalação em relação ao par trançado, porém, os benefícios compensam com larga vantagem a utilização deste método. Fibras Óticas Uma fibra ótica é constituída de material dielétrico, em geral, sílica ou plástico, em forma cilíndrica, transparente e flexível, de dimensões microscópicas comparáveis às de um fio de cabelo. Esta forma cilíndrica é composta por um núcleo envolto por uma camada de material também dielétrico, chamada casca. Cada um desses elementos possui índices de refração diferentes, fazendo com que a luz percorra o núcleo refletindo na fronteira com a casca. FIGURA 4 – FIBRA ÓTICA FONTE: MOUTINHO, 2011, p.3. FIGURA 5 – EXTREMIDADE DE UM CABO COM TRÊS FIBRAS. FONTE: MOUTINHO, 2011, p.3. A fibra ótica utiliza sinais de luz codificados para transmitir os dados, necessitando de um conversor de sinais elétricos para sinais 25 óticos, um transmissor, um receptor e um conversor de sinais óticos para sinais elétricos. A transmissão por meio de fibras ópticas é quase totalmente imune a interferências eletromagnéticas, não há necessidade de aterramento, pois a mesmas mantém os pontos eletricamente isolados um do outro. A transmissão ótica está sujeita à dispersão espectral ou cromática. A luz que passa na fibra é feita de diferentes frequências e comprimentos de onda. O índice de refração difere para cada comprimento de onda e permite às ondas viajarem a diferentes velocidades. Os LEDs, que possuem um grande espalhamento de comprimento de onda, estão sujeitos a uma dispersão de espectro considerável. Os lasers exibem uma luz quase monocromática (número limitado de comprimentos de onda) e não sofrem qualquer dispersão cromática significativa. O padrão 10BaseF refere-se à especificação do uso de fibras óticas para sinais Ethernet. O conector mais usado com fibras óticas é o conector ST, similar ao conector BNC. No entanto, um novo tipo está ficando mais conhecido, o conector SC. Ele é quadrado e é mais fácil de usar em espaços pequenos. 26 FIGURA 6 – CONECTOR ST MONOMODO E MULTIMODO. FONTE: CONECTOR ST MONOMODO E MULTIMODO: 2012, disponível em: http://www.netplus.com.br/site/30-Conectores-Opticos/View-all-products.html FIGURA 7 – CONECTORES BNC. FONTE: MANUTENÇÃO DE REDES: 2012, disponível em: http://redesmanutencao.blogspot.com.br/ FIGURA 8 – CONECTOR SC MONOMODO E MULTIMODO. FONTE: CONECTOR SC MONOMODO E MULTIMODO: 2012, disponível em: http://www.netplus.com.br/site/30-Conectores-Opticos/View-all-products.html Sistemas de Rádio Enlace Este sistema consiste na transmissão de dados por ondas de rádio frequência. Para que a transmissão de dados tenha êxito é importante que certos requisitos sejam respeitados são estes os requisitos: 27 Potência de transmissão; Mínima distorção na propagação do sinal; As condições anteriores devem ser mantidas dentro de parâmetros suficientes para garantir a integridade dos dados transmitidos. 28 3 TRANSMISSÃO MULTIMÍDIA EM REDES A transmissão multimídia requer que garantias diversas de QoS sejam estabelecidas e mantidas para que se atendam aos requisitos específicos das diferentes mídias. As redes deve oferecer suporte a restrições diversas fim-a-fim, ou seja, em todo o caminho da origem até o destino. O crescimento da Internet e das intranets motivou sua utilização como base para o transporte de fluxos de dados multimídia sobre redes sem garantias de QoS baseadas no IP. O desenvolvimento das áreas de codificação de sinais e de novos protocolos de rede tornou a transmissão desse tipo de fluxo possível. As etapas de uma transmissão multimídia são mostradas a seguir: FIGURA 9 – ETAPAS DE UMA TRANSMISSÃO MULTIMÍDIA. FONTE: ROESLER, 2001, p.3. O sinal gerado é inicialmente digitalizado, para então passar por um processo de compressão, que diminui seu tamanho, tornando-o viável para ser transmitido na rede. A rede insere alguns atrasos no sistema. No receptor, os pacotes são reordenados, descomprimidos e reconvertidos ao estado original, normalmente com perdas inseridas no processo de compressão. 29 Pode-se dividir a parte de transmissão multimídia em redes de computadores como mostra a figura seguir, ou seja, a parte de conferência (que requer interatividade) e a parte de transmissão de vídeo (que envolve apenas um lado transmitindo e vários clientes recebendo). Ambas possuem necessidades diferentes para funcionarem a contento, por exemplo, as aplicações de conferência normalmente possuem necessidades mais rígidas em relação ao atraso da rede, enquanto que a transmissão unidirecional pode trabalhar com um atraso maior. FIGURA 10 – APLICAÇÕES QUE NECESSITAM TRANSMISSÃO MULTIMÍDIA. FONTE: ROESLER, 2001, p.3. Apesar das aplicações possuírem necessidades diferentes, existe uma tendência atualmente para sua convergência em um único meio físico. Assim, se unificaria o meio físico, que compartilharia a transmissão de voz, vídeo, dados, imagens, músicas, e tudo que possa ser transformado em bits. Entretanto, as aplicações têm características e requisitos bem diferentes umas das outras. Aplicações de teleconferência possuem necessidades mais rígidas em relação à latência e jitter do que aplicações de transmissão unidirecional. Da mesma forma, transmissões de vídeo necessitam uma largura de banda muito maior que transmissões de áudio ou texto. 30 A seguir serão definidos três conceitos fundamentais para o entendimento da transmissão multimídia nas redes de computadores: latência, jitter e skew. 3.1 LATÊNCIA Latência é o tempo que um pacote leva da origem ao destino. Caso esse atraso seja muito grande, prejudica uma conversação através da rede, tornando difícil o diálogo e a interatividade necessária para certas aplicações. Um atraso confortável para o ser humano fica na ordem de 100ms. Os principais responsáveis pela latência são o atraso de transmissão, de codificação e de empacotamento, que podem ser definidos da seguinte forma: Atraso de transmissão: tempo que leva para o pacote sair da placa de rede do computador origem e chegar na placa de rede do computador destino. Esse tempo envolve uma série de fatores, como por exemplo: 1. Atraso no meio físico: é o atraso de propagação da mensagem no meio de transmissão, e varia bastante. Por exemplo, num enlace de satélite o tempo típico é de 250ms, e numa fibra ótica ou UTP o atraso é na ordem de 5μs/Km. 2. Atrasos de processamento nos equipamentos intermediários, como roteadores e switches; 3. Atraso devido ao tempo de espera nas filas de transmissão dos equipamentos intermediários: esse valor depende do congestionamento da rede no momento, e varia bastante, dependendo do tamanho da fila. Quanto menor a fila, menor o atraso, mas aumenta a probabilidade de descarte do pacote no caso de congestionamento; 31 Atraso de codificação e decodificação: tempo de processamento na máquina origem na máquina destino para codificação e decodificação de sinais, respectivamente. Voz e vídeo normalmente são codificados em um padrão, tal como PCM (G.711 a 64Kbps) para voz, ou H.261 para vídeo. O atraso varia com o padrão adotado; por exemplo, o G.711 ocupa menos de 1ms de codificação, porém requer 64Kbps de banda. Um protocolo de voz como o G.729 requer 25ms de codificação, mas ocupa apenas 8Kbps de banda; Atraso de empacotamento e desempacotamento: depois de codificado, o dado deve ser empacotado através dos níveis na pilha de protocolos a fim de ser transmitido na rede. Por exemplo, numa transmissão de voz a 64Kbps, ou 8000 bytes por segundo, o preenchimento de um pacote de dados com apenas 100 bytes toma 12,5ms. Mais 12,5ms serão necessários no destino a fim de desempacotar os dados. Além disso, dependendo do jitter da transmissão, a aplicação de tempo real deverá criar um buffer para homogeneizar a entrega de pacotes ao usuário, criando um novo atraso no sistema. 3.2 JITTER Apenas latência não é suficiente para definir a qualidade de uma transmissão, pois as redes não conseguem garantir uma entrega constante de pacotes ao destino. O jitter é a variação estatística do retardo, que altera o fluxo de chegada dos pacotes. O conceito de jitter e latência são ilustrados na figura a seguir. 32 FIGURA 11 – CONCEITO DE JITTER E LATÊNCIA. FONTE: ROESLER, 2001, p.5. A consequência do jitter é que a aplicação no destino deve criar um buffer cujo tamanho vai depender do jitter, gerando mais atraso na conversação (aplicação de voz, por exemplo). Esse buffer vai servir como uma reserva para manter a taxa de entrega constante no interlocutor. Daí a importância de latência e jitter baixos em determinadas aplicações sensíveis a esses fatores, como teleconferência. 3.3 SKEW O skew é um parâmetro utilizado para medir a diferença entre os tempos de chegada de diferentes mídias que deveriam estar sincronizadas, como mostra a figura a seguir. Em diversas aplicações existe uma dependência entre duas mídias, como áudio e vídeo, ou vídeo e dados. Assim, numa transmissão de vídeo, o áudio deve estar sincronizado com o movimento dos lábios (ou levemente atrasado, visto que a luz viaja mais rápido que o som, e o ser humano percebe o som levemente atrasado em relação à visão). Outro exemplo em que sincronização é necessária é na transmissão de áudio (manual explicativo, por exemplo) acompanhada de uma seta percorrendo a imagem associada. 33 A tabela a seguir apresenta algumas aplicações típicas de multimídia em rede, bem como seus fatores críticos. Aplicações de telefonia (voz) são sensíveis à latência e ao jitter. Em termos de velocidade, sua necessidade é baixa, variando de 5 Kbps (compressão no padrão G.723) a 64Kbps (padrão G.711, o mais comum em telefonia atualmente). TABELA 1 – APLICAÇÕES TÍPICAS DE MULTIMÍDIA EM REDE Latência Jitter Skew Velocidade (largura de banda) Telefone sensível sensível baixa TV insensível sensível sensível alta Videoconferência sensível sensível sensível alta Já em transmissões unilaterais de áudio e vídeo (por exemplo, TV), há uma flexibilidade maior quanto à latência. Isso se deve ao fato que, na maioria dos casos, para o usuário não seria relevante à inclusão de um pequeno atraso entre o momento em que um evento se dá e sua exibição. Entretanto, esse atraso deve se manter fixo até o final e com sincronismo entre áudio e vídeo, daí a necessidade de jitter e skew baixos. Aplicações de videoconferência são muito parecidas com aplicações de telefonia em termos de latência e jitter, entretanto, possuem alta largura de banda e devem manter um baixo skew, pois necessitam sincronização entre áudio e vídeo. 34 4 PROTOCOLOS Um protocolo é um método standard que permite a comunicação entre processos (que se executam eventualmente em diferentes máquinas), isto é, um conjunto de regras e procedimentos a respeitar para emitir e receber dados numa rede. Classificam-se geralmente os protocolos em duas categorias, de acordo com o nível de controlo dos dados que se deseja: Os protocolos orientados para a conexão: Trata-se dos protocolos que operam um controlo de transmissão dos dados durante uma comunicação estabelecida entre duas máquinas. Em tal esquema, a máquina receptora envia avisos de recepção quando da comunicação, assim a máquina emissora é fiadora da validade dos dados que envia. Os dados são assim enviados sob a forma de fluxo. Os protocolos não orientados para a conexão: Trata-se de um modo de comunicação no qual a máquina emissora envia dados sem prevenir a máquina receptora, e a máquina receptora recebe os dados sem avisos de recepção à primeira. Os dados são assim enviados sob a forma de blocos (datagramas). Os seguintes protocolos são muito utilizados na transmissão de áudio e vídeo. 4.1 IP Na Internet, os computadores comunicam entre eles graças ao protocolo IP (Internet Protocol), que utiliza endereços numéricos, chamados endereços IP, 35 compostos por 4 números inteiros (4 bytes) entre 0 e 255 e notados sob a forma xxx.xxx.xxx.xxx. Por exemplo, 194.153.205.26 é um endereço IP com forma técnica. Estes endereços servem para os computadores da rede para comunicarem entre eles, assim cada computador de uma rede possui um endereço IP único nessa rede. É o ICANN que está encarregado de atribuir endereços IP públicos, isto é, os endereços IP dos computadores diretamente ligados à rede pública de Internet. Um endereço IP é um endereço 32 bits, geralmente notado sob a forma de 4 números inteiros separados por pontos. Distinguem-se, com efeito, duas partes no endereço IP: Uma parte dos números à esquerda designa a rede e chama-se netID (ID de rede); Os números à direita designam os computadores desta rede e chamamse host-ID (ID de hóspede). É o protocolo da camada 3 de rede na arquitetura OSI. Proporciona uma conexão para protocolos de nível superior, assumindo funções como rastrear endereços de nós, rotas para envio de mensagens recebidas, além de se responsabilizar por localizar e manter o melhor caminho de tráfego na topologia da rede. Existem dois tipos de IP: IP dinâmico: É aquele que muda ou varia dentre determinados endereços IP a cada conexão. IP fixo ou estático: Para se obter um IP fixo precisa pagar para um provedor. O IP fixo deixa o computador que o tem mais identificável na rede. 36 Os endereços IP estão repartidos por classes, de acordo com o número de bytes que representam a rede. O objetivo da divisão em três classes A, B e C, é facilitar a investigação de um computador na rede. Com efeito, com esta notação é possível procurar inicialmente a rede que se deseja atingir e seguidamente procurar um computador. Assim, a atribuição dos endereços IP faz-se de acordo com a dimensão da rede. TABELA 2 – CLASSES DOS ENDEREÇOS IP. Classe Número de redes possíveis Número máximo de computadores em cada uma A 126 16777214 B 16384 65534 C 2097152 254 Os endereços de classe A são reservados especialmente para as grandes redes, enquanto se atribuirão os endereços de classe C a pequenas redes de empresa, por exemplo. 4.2 TCP É um protocolo de transporte padronizado para a interligação de redes baseadas em IP. Operando no topo do IP, é responsável pela multiplexagem de sessões, recuperação de erros, confiabilidade da ligação extremo a extremo e controle de fluxo. É um protocolo padrão da Internet de camada de transporte orientado à conexão e orientado a stream, ao contrário do UDP. O propósito do protocolo TCP é fornecer um circuito lógico robusto com serviços de conexão entre um par de processos. Permite, no nível das aplicações, gerir os dados com destino à camada inferior do modelo. 37 O TCP é um protocolo orientado para a conexão, quer dizer que permite, a duas máquinas comunicantes, controlar o estado da transmissão. As principais características do protocolo TCP são as seguintes: TCP permite entregar ordenadamente os datagramas provenientes do protocolo IP TCP permite verificar a onda de dados para evitar uma saturação da rede TCP permite formatar os dados em segmentos de comprimento variável a fim de os "entregar" ao protocolo IP TCP permite multiplexar os dados, quer dizer, fazer circular simultaneamente informações que provêm de fontes (aplicações, por exemplo) distintas numa mesma linha. TCP permite, por último, o começo e o fim de uma comunicação de maneira educada. O protocolo TCP permite assegurar a transferência dos dados de maneira confiável, embora utilize o protocolo IP, que não integra nenhum controlo de entrega de datagrama. Ele possui um sistema de aviso de recepção que permite ao cliente e ao servidor terem a certeza da recepção correta e mútua dos dados. Se baseia num número de ordem (sequência), é necessário que as máquinas emissoras e receptoras (cliente e servidor) conheçam o número de ordem inicial da outra máquina. O estabelecimento da ligação entre duas aplicações faz-se frequentemente de acordo com o esquema seguinte: As portas TCP devem estar abertas A aplicação no servidor é passiva, quer dizer que a aplicação está à escuta, à espera de uma conexão. 38 A aplicação no cliente faz um pedido de conexão ao servidor cuja aplicação está em abertura passiva. Diz-se que a aplicação do cliente está “em abertura ativa”. As duas máquinas devem então sincronizar as suas sequências, o que ocorre graças a um mecanismo chamado habitualmente three ways handshake (aperto de mãos em três tempos). Este diálogo permite iniciar a comunicação e desenrola-se em três tempos: Inicialmente a máquina emissora (o cliente) transmite um segmento cuja bandeira SYN é de 1 (para assinalar que trata-se de um segmento de sincronização), com um número de ordem NO., que chama-se número de ordem inicial do cliente Subsequentemente a máquina receptora (o servidor) recebe o segmento inicial que provem do cliente, seguidamente envia-lhe um acusado de recepção, quer dizer um segmento cuja bandeira ACK é de 1 e a bandeira SYN é de 1 ( trata-se ainda de uma sincronização). Este segmento contem o número de ordem desta máquina (do servidor) que é o número de ordem inicial do cliente. O campo mais importante deste segmento é o campo acusado de recepção que contem o número de ordem inicial do cliente, incrementado de 1 Por último, o cliente transmite ao servidor um acusado de recepção, quer dizer um segmento cuja bandeira ACK é de 1, cuja bandeira SYN é à zero (não se age mais de um segmento de sincronização). O seu número de ordem é incrementado e o número de acusado de recepção representa o número de ordem inicial do servidor incrementado de 1 39 4.3 UDP É um protocolo de camada 4 (de transporte) no modelo OSI. É o protocolo padrão da Internet de camada de transporte não orientado à conexão que adiciona um nível de confiabilidade e multiplexação ao IP. O UDP é um protocolo bem mais simples e o serviço por ele fornecido é apenas a multiplexação/demultiplexação do acesso ao nível inter-rede. Como consequência, não há procedimentos de verificação no envio e recebimento de dados (todavia, pode haver checagem de integridade) e se algum pacote não for recebido, o computador de destino não faz uma nova solicitação, como acontece com o TCP. Tudo isso faz do UDP um pouco mais rápido O UDP fornece serviços de entrega sem conexão e por intenção sem nenhum controle de transmissão ou tentativa de recuperação. Há aplicações em que é preferível entregar os dados o mais rapidamente possível, mesmo que algumas informações se percam no caminho, é o caso, por exemplo, das transmissões de imagem e som pela internet (streaming), onde a perda de um pacote de dados não interromperá a transmissão. Por outro lado, se os pacotes não chegarem ou demorarem a chegar, haverá congelamentos na imagem. O UDP utiliza os datagramas IP para o transporte das mensagens entre vários equipamentos até com a possibilidade de distribuí-las para vários participantes da rede. Alguns protocolos utilizam o UDP para transporte de dados que são: TFTP: Este protocolo é semelhante ao FTP, porém sem confirmação de recebimento pelo destino ou reenvio. É comumente usado por 40 administradores de rede ao se fazer o download do IOS de um roteador ou do arquivo de inicialização. SNMP É utilizado para configurar dispositivos como switches ou roteadores e permite que estes enviem o seu status. O problema é que os hackers utilizam este protocolo para obter informações sobre o sistema, como as tabelas de roteamento. As últimas versões do SNMP podem fazer criptografia md5, porém a maioria ainda usa versões antigas que passa o password em formato de texto. DHCP É utilizado em redes que sofrem constantes alterações na topologia e o administrador não pode verificar o IP de cada máquina devido a enorme quantidade, então o roteador distribui IPs automaticamente para as estações. Como esta atribuição é feita com a utilização do UDP, caso haja algum problema o usuário terá que pedir o reenvio ou reiniciar a máquina. O único problema técnico deste protocolo é que como os IPs são atribuídos aleatoriamente, fica mais difícil para o administrador ter controle sobre o que cada host está fazendo. Tem o papel fundamental de facilitar a configuração de computadores de uma rede. Ele centraliza e gerencia a alocação a configurações TCP/IP a todos os computadores de uma rede que estejam configurados como clientes DHCP. É uma ferramenta para controle randômico de IPs em uma rede interna. Ele permite que um administrador defina dinamicamente características aos clientes que conectarem a rede. 41 Isso elimina a necessidade de se configurar informações de rede como DNS, Gateway e endereços de IP nos clientes, ficando tudo de uma maneira fácil, e automática. O DHCP é também vital quando utilizado em grandes redes, onde manter sobre controle todos os endereços e configurar novos clientes pode gerar uma grande dor de cabeça. Outra vantagem é a reutilização de endereços IP, tão logo um cliente se desconecte da rede, o mesmo endereço usado por ele pode ser utilizado para o próximo cliente. DNS Um tradutor dos nomes na rede, na qual cada IP pode ser correspondido com um nome. Neste caso, imaginemos que um usuário esteja acessando a internet e deseja ir para outra página. Ele digita o endereço no campo apropriado e entra. Se a página, por acaso, não abrir por não ter reconhecido o endereço, o problema poderá ter sido no envio ou resposta do servidor de nomes utilizando o UDP, e então o usuário tentará de novo acessar a página e provavelmente conseguirá. Agora, imagine que isto fosse feito com o TCP, provavelmente esta falha não ocorreria, porém o tempo gasto para o computador saber qual IP se refere àquele nome seria inimaginável para as necessidades atuais. Nos serviços de transporte com várias opções de conexão e confiabilidade, a função básica é permitir a comunicação fim-a-fim entre aplicações. O nível de inter-rede é o responsável pela transferência de dados através da inter-rede, desde a máquina de origem até a máquina destino. Por exemplo, tem o serviço de entrega dos pacotes sem conexão. 42 Quaisquer tipos de rede podem ser ligados, bastando para isso que seja desenvolvida uma interface que compatibilize a tecnologia de rede com o protocolo IP, essa é a função do nível de interface de rede. 4.4 TCP/IP O TCP/IP (rede de multiserviço) é a plataforma de protocolos originária da rede ARPA, também conhecida como conjunto de protocolos da Internet, que combina o TCP e o IP. A arquitetura TCP/IP baseia-se num serviço de transporte orientado à conexão, fornecido pelo TCP, e em um serviço de rede não orientado à conexão (datagrama não confiável), fornecido pelo protocolo IP. A arquitetura TCP/IP dá uma ênfase toda especial à interligação de diferentes tecnologias de redes. Já que a sequência de protocolos TCP/IP foi criada no início com um objetivo militar, foi concebida para responder a diversos critérios, entre os quais: O fracionamento das mensagens em pacotes; A utilização de um sistema de endereços; O encaminhamento dos dados na rede (routage); O controlo dos erros de transmissão de dados. O modelo TCP/IP, inspirado no modelo OSI, retoma a abordagem modular (utilização de módulos ou de camadas), mas contém unicamente quatro: Camada Acesso rede: especifica a forma sob a qual os dados devem ser encaminhados independentemente do tipo de rede utilizado, é a primeira camada da pilha TCP/IP, oferece as capacidades de aceder a uma rede 43 física qualquer que ela seja, isto é, os meios a implementar a fim de transmitir dados através de uma rede. Assim, a camada acesso rede contém todas as especificações relativas à transmissão de dados numa rede física, quer se trate de rede local, conexão com uma linha telefônica ou qualquer tipo de ligação a uma rede. Assegura as noções seguintes: Encaminhamento dos dados na ligação Coordenação da transmissão de dados (sincronização) Formato dos dados Conversão dos sinais (analógico/numérico) Controlo dos erros à chegada Camada Internet: é encarregada de fornecer o pacote de dados (datagrama). É considerada a camada “mais importante” porque é ela que define os datagramas, e que gere as noções de endereçamento IP. Permite o encaminhamento dos datagramas (pacotes de dados) para máquinas distantes, bem como a gestão da sua fragmentação e a sua montagem à recepção. A camada Internet contém 5 protocolos: O protocolo IP Já considerado. O protocolo ARP Tem um papel fundamental, porque permite conhecer o endereço físico de uma placa de rede que corresponde a um endereço IP; é para isto que se chama Protocolo de resolução de endereço. 44 Cada máquina ligada à rede possui um número de identificação de 48 bits. Este número é um número único que é fixado a partir do fabrico da placa em fábrica. Contudo, a comunicação na Internet não se faz diretamente a partir deste número (porque seria necessário alterar o endereçamento dos computadores cada vez que se alterasse uma placa de rede), mas a partir de um endereço dito lógico, atribuído por um organismo: o endereço IP. Assim, para fazer a correspondência entre os endereços físicos e os endereços lógicos, o protocolo ARP interroga as máquinas da rede para conhecer o seu endereço físico, seguidamente cria uma tabela de correspondência entre os endereços lógicos e os endereços físicos numa memória secreta. Quando uma máquina deve comunicar com outra, consulta à tabela de correspondência. Se por acaso o endereço pedido não se encontra na tabela, o protocolo ARP emite um pedido na rede. O conjunto das máquinas da rede vai comparar este endereço lógico ao seu. Se uma dentre elas se identificarem com esse endereço, a máquina vai responder à ARP que vai armazenar o par de endereços na tabela de correspondência e a comunicação vai então poder ter inicio. O protocolo ICMP É um protocolo que permite gerir as informações relativas aos erros nas máquinas conectadas. Dado os poucos controles que o protocolo IP realiza, permite não corrigir estes erros, mas dá-los a conhecer aos protocolos das camadas vizinhas. Assim, o protocolo 45 ICMP é utilizado por todos os switchs, que o utilizam para assinalar um erro (chamado Delivery Problem). As mensagens de erro ICMP são transportadas na rede sob a forma de datagrama, como qualquer dado. Assim, as mensagens de erro podem elas mesmas estar sujeitas a erros. Contudo, no caso de erro num datagrama que transporta uma mensagem ICMP, nenhuma mensagem de erro é emitida para evitar um efeito “bola de neve” no caso de incidente sobre a rede. O protocolo RARP É um protocolo muito menos utilizado e significa Protocolo ARP invertido, trata-se, por conseguinte de uma espécie de anuário invertido dos endereços lógicos e físicos. Na realidade, o protocolo RARP é utilizado essencialmente para as estações de trabalho que não têm disco rígido e que desejam conhecer o seu endereço físico. O protocolo RARP permite a uma estação conhecer o seu endereço IP a partir de uma tabela de correspondência entre endereço MAC e endereços IP alojados por um gateway situado na mesma LAN. É necessário que o administrador defina os parâmetros do gateway (switch) com a tabela de correspondência dos endereços MAC/IP. Com efeito, ao contrário do ARP, este protocolo é estático. É necessário, por isso, que a tabela de correspondência esteja sempre atualizada para permitir a conexão de novas placas de rede. 46 O RARP sofre de numerosas limitações. Necessita muito tempo de administração para manter tabelas importantes nos servidores. Isto é ainda mais evidente quando a rede é grande. Tal fato coloca o problema do recurso humano, necessário para a manutenção das tabelas de correspondência, e das capacidades dos materiais que alojam a parte servidora do protocolo RARP. Com efeito, o RARP permite a vários servidores responder pedidos, embora não preveja mecanismos que garantam que todos os servidores são capazes de responder, nem mesmo que respondam de maneira idêntica. Assim, neste tipo de arquitetura não se pode ter confiança num servidor RARP para saber se um endereço MAC poder ser vinculado a um endereço IP, porque outros servidores ARP podem ter uma resposta diferente. Outra limitação de RARP é que um servidor pode servir apenas uma LAN. O protocolo IGMP É usado pelas estações de trabalho para reportarem seus participantes de grupos de estações, a roteadores multicast vizinhos. É um protocolo assimétrico e é parte integral do IP, sendo um requisito básico de implementação a todas as estações de trabalho que desejam enviar e receber pacotes multicast. A distribuição de tráfego multicast em uma rede é efetuada inicialmente pela configuração das estações, para recebimento do tráfego. Esta configuração é feita pelo IGMP que usa datagramas IP para transmitir suas mensagens. Todas as mensagens importantes do ponto de vista do host possuem o seguinte formato: 47 Versão 2 Tipo: há dois tipos de mensagens que devem ser levadas em consideração: o Host Membership Query o Host MemberShip Report Campo não utilizado, zerado quando enviado e ignorado quando recebido. Checksum Endereço de grupo: em uma mensagem Host Membership Query, o campo de endereço de grupo é zerado quando enviado e ignorado quando recebido. Por outro lado, em uma mensagem Host Membership Report, este campo contém o endereço de grupo do grupo sendo reportado. Camada Transporte: assegura o encaminhamento dos dados, assim como os mecanismos que permitem conhecer o estado da transmissão. Os protocolos das camadas precedentes permitiam enviar informações de uma máquina a outra. A camada transporte permite a aplicações que trabalham em máquinas distantes comunicar. O problema consiste em identificar estas aplicações. De acordo com a máquina e o seu sistema de exploração, a aplicação poderá ser um programa, uma tarefa, um processo. Além disso, a denominação da aplicação pode variar de um sistema para outro, é a razão pela qual um sistema de número foi criado para se poder associar um tipo de aplicação a um tipo de dado, estes identificadores tomam o nome de portas. 48 A camada transporte contém dois protocolos que permitem a duas aplicações trocar dados, independentemente do tipo de rede seguido (independentemente das camadas inferiores). São os protocolos seguintes: TCP, um protocolo orientado para a conexão que assegura o controlo dos erros. UDP, um protocolo não orientado para a conexão cujo controlo de erros é arcaico. Camada Aplicação: engloba as aplicações standard da rede (Telnet, SMTP, FTP,…). A camada aplicação é a camada situada no topo das camadas de protocolos TCP/IP. Esta contém as aplicações de rede que permitem comunicar graças às camadas inferiores. Os softwares desta camada se comunicam graças a um dos dois protocolos da camada inferior (a camada transporte) quer dizer TCP ou UDP. As aplicações desta camada são de diferentes tipos, mas a maior parte é serviços de rede, ou seja, aplicações fornecidas ao utilizador para assegurar a interface com o sistema de exploração. Pode-se classificá-lo de acordo com os serviços que oferecem: Os serviços de gestão (transferência) de ficheiro e impressão Os serviços de conexão à rede Os serviços de conexão à distância Os utilitários da Internet diversos 49 No nível de aplicação, os usuários usam programas de aplicação para acessar os serviços disponíveis na rede. Algumas aplicações disponíveis na Internet TCP/IP são: SMTP: oferece um serviço store-andforward para mensagens que carregam correspondências contendo textos, de um servidor a outro em conexão ponto a ponto. Funciona em modo conectado, encapsulado numa trama TCP/IP. O correio é entregue diretamente ao servidor de correio do destinatário. O protocolo SMTP funciona graças a comandos textuais enviados ao servidor SMTP (por defeito, para a porta 25). Cada um dos comandos enviados pelo cliente (validados pela cadeia de caracteres ASCII CR/LF, equivalente a um clique na tecla ENTER) é seguido de uma resposta do servidor SMTP composta de um número e de uma mensagem descritiva. FTP: fornece o serviço de transferência de arquivos. O FTP inscreve-se num modelo cliente-servidor, ou seja, uma máquina envia ordens (o cliente) e a outra espera pedidos para efetuar ações (o servidor). Quando de uma conexão FTP, dois canais de transmissão estão abertos: Um canal para os comandos (canal de controlo) Um canal para os dados O FTP define a maneira segundo a qual os dados devem ser transferidos numa rede TCP/IP. Tem como objetivos: Permitir uma partilha de ficheiros entre máquinas distantes 50 Permitir uma independência dos sistemas de ficheiros das máquinas clientes e servidor Permitir transferir dados de maneira eficaz TELNET: é um protocolo standard de Internet que permite IO interface de terminais e de aplicações através da Internet. Este fornece as regras básicas para permitir ligar um cliente (sistema composto de uma afixação e um teclado) a um intérprete de comando (do lado do servidor). Baseia-se numa conexão TCP para enviar dados em formato ASCII codificado em 8 bits entre os quais se intercalam sequências de controlo Telnet. Fornece assim um sistema orientado para a comunicação, bidirecional (half-duplex), codificado em 8 bits fácil de aplicar. O protocolo Telnet baseia-se em três conceitos fundamentais: O paradigma do terminal rede virtual (NVT, Network Virtual Terminal); O princípio de opções negociadas; As regras de negociação. É um protocolo básico, no qual se apoiam outros protocolos da sequência TCP/IP (FTP, SMTP, POP3,…). As especificações de Telnet não mencionam autenticação porque o Telnet está totalmente separado das aplicações que o utilizam (o protocolo FTP define uma sequência de autenticação acima do Telnet). Além disso, o protocolo Telnet é um protocolo de transferência de dados não seguro, o que quer dizer que os dados que veicula circulam às 51 claras na rede (de maneira não codificada). Quando o protocolo Telnet é utilizado para ligar um hóspede distante à máquina na qual é aplicado como servidor, este protocolo é atribuído à porta 23. Se excetuarmos as opções e as regras de negociação associadas, as especificações do protocolo Telnet são básicas. A transmissão de dados através de Telnet consiste unicamente em transmitir os bytes no fluxo TCP (o protocolo Telnet precisa que os dados devem, por defeito - isto é, se nenhuma opção precisar o contrárioser agrupado num tampão antes de serem enviados. Mais concretamente, isto significa que por defeito os dados são enviados linha por linha). Quando o byte 255 é transmitido, o byte seguinte deve ser interpretado como um comando. O byte 255 é assim nomeado IAC. DNS: Apresentado anteriormente. 4.5 RTP Provê serviços de entrega de dados fim-a-fim em tempo real, tanto para aplicações unicast quanto multicast. Dentre esses serviços destacam-se a identificação do tipo de dado transmitido (áudio, vídeo) e a compressão do cabeçalho RTP/IP/UDP enviado. Este protocolo permite a transmissão simultânea de diferentes tipos de mídia (como em uma videoconferência), para tal, identifica e envia separada e independentemente os pacotes. Ele também prevê a utilização de misturadores (MIXERS) e tradutores (TRANSLATORS) para solucionar problemas como conexões de usuários com larguras de bandas diferentes e presenças de firewalls ou com configurações diferentes. 52 RTP tem como característica trabalhar bem com redes que envolvem terminais com diferentes larguras de banda de acesso. Para isto o protocolo faz uso de Misturadores (Mixers). Esses misturadores ficam localizados próximos aos pontos de menor largura de banda, garantindo um melhor aproveitamento do resto da rede. O mixer trabalha da seguinte forma: O misturador recebe os pacotes enviados dos outros terminais e os ressincroniza, transformando-os em outros pacotes, podendo também uni-los em pacotes maiores, com outras informações aderidas, como por exemplo: todas as fontes que contribuíram para este novo pacote. Desta forma, já ressincronizado e com o novo tamanho, o misturador envia os pacotes aos terminais de menor banda, que providos ou não de buffer, os recebem e os tratam de forma que não comprometa, significativamente, a comunicação com o restante da rede. O RTP também trabalha com certas peculiaridades da rede, como por exemplo, a presença de firewall e mudanças esporádicas de protocolos (exemplo: TCP / UDP). Para isso ele tem os Tradutores (translators) que são responsáveis por receber e traduzir as mensagens em pacotes compatíveis com a parte da rede que os sucede. Os translators funcionam da seguinte forma: Para sobrepor um firewall se faz necessária a presença de dois tradutores, um anterior e outro posterior ao firewall. O primeiro recebe a mensagem no formato enviado por um usuário, modificando-a para um formato permitido pelo firewall. Após a 53 passagem desta pela barreira, o outro tradutor retorna os pacotes em seu antigo formato, atribuindo-lhes as características iniciais. Para fazer a comunicação entre diferentes protocolos, é necessário apenas um tradutor que terá como função receber a mensagem e transmiti-la num formato compatível com a nova rede. 4.6 RTCP O protocolo RTCP é muito utilizado em paralelo ao RTP contribuindo para que a distribuição dos dados ocorra de uma maneira escalável ao ponto de permitir grandes transmissões multidestinatárias e também provendo certo controle e identificação dos participantes da comunicação. Sendo a transmissão multidestinatária, se mostra importante haver relatórios do recebimento dos pacotes de modo que se possam identificar falhas na distribuição dos mesmos. Alguém observando os relatórios deve ser capaz de avaliar se um problema é local ou global. Pode-se inclusive ter uma entidade cuja única função é monitorar a distribuição sem participar da comunicação. Já que há uma previsão de que todos os participantes estarão enviando pacotes RTCP a todo o momento, é necessário restringir a taxa de transmissões dos mesmos de acordo com o número de participantes de modo a não sobrecarregar a rede, de modo que este problema não restrinja o número de participantes na comunicação RTP. Ao iniciar-se uma sessão RTP cada participante deve enviar um pacote de controle a todos os outros de forma que cada participante saberá quantos outros fazem parte desta sessão e calculará qual deverá ser a taxa de seus pacotes de controle baseado neste número. Estas multidestinatária. considerações são obrigatórias em uma comunicação 54 O RTCP também será responsável por distribuir o CNAME dos participantes, este deve ser único para cada um dos participantes. O identificador SSRC pode mudar caso haja conflito, mas não é permitido escolher CNAME's conflitantes, e o participante continuará a ser reconhecido através deste. Também em transmissões multimídias, cada tipo de mídia é transmitido em uma sessão RTP independente e, portanto uma mesma fonte pode ter identificadores SSRC diferentes para cada uma, já que este é escolhido aleatoriamente para cada sessão. O CNAME garantirá que as diferentes mídias serão reconhecidas como parte de uma única comunicação daquele participante, tornando possível, por exemplo, sincronizar áudio e vídeo. Para contribuir com o protocolo RTP o RTCP utiliza os seguintes 5 tipos de pacote: SR Este pacote contém um relatório de envio e recebimento de pacotes RTP por participantes que são fontes ativas, ou seja, participam ativamente contribuindo para o envio de pacotes. RR Este pacote contém um relatório de recebimento de pacotes RTP por participantes que não são fontes ativas, ou seja, não participam ativamente contribuindo para o envio de pacotes. SDES Este é um pacote descritivo do participante e inclui a informação do seu CNAME. BYE Indica a saída deste participante da comunicação e precisa conter a SSRC/CSRC para sua identificação 55 APP Contém funções específicas da aplicação 4.7 SIP É um componente de uma arquitetura completa de multimídia e apoia-se em outros protocolos IETF. Normalmente, usa o RTSP para fornecer transporte e respostas da QoS da transmissão da mídia. Outros protocolos padronizados controlam o acesso à rede telefônica pública comutada, bem como descrevem sessões multimídia. Embora o SIP use esses protocolos, ele não está amarrado a eles, se surgir uma solução melhor. Essa é uma das maiores vantagens do SIP em relação aos seus predecessores, ele não precisa ser redefinido para mudar para algo melhor. O diferencial do SIP é que ele é flexível e aberto o suficiente para permitir aos desenvolvedores criar seus próprios “engates”. É responsável pela localização, disponibilidade e capacidade do usuário e pela configuração e gerenciamento da sessão. Não determina quais os serviços que estão sendo enviados e recebidos e não afeta como a informação é passada. Só exige que a comunicação seja possível, não importa se por rádio, por cabos, por satélite, etc. O SIP é um protocolo por texto, mas também carrega muitas informações não textuais. Além disso, usa transações de requisição/resposta. O SIP funciona entre as camadas de sessão e aplicação no modelo OSI e não é definido por nenhuma versão de IP. Isso significa que ele pode trabalhar com os modelos de IPv4 e IPv6 e entre eles. Visando manter o SIP o mais flexível 56 possível, a maioria da sintaxe dos campos de mensagens e cabeçalho é derivada das especificações do HTTP/1.1, mas não está amarrada ao protocolo HTTP/1.1. O SIP faz isso trabalhando com cinco funções diferentes: Localização de Usuário O SIP determina a localização do usuário por um processo de registro. Quando um software de telefone é ativado em um laptop, ele envia um registro ao servidor SIP anunciando a disponibilidade da rede de comunicações. Os telefones de voz por IP (VoIP), os celulares ou até mesmo um sistema completo de teleconferências também podem ser registrados. Dependendo do ponto de registro escolhido, pode haver vários locais diferentes registrados simultaneamente. Disponibilidade do Usuário A disponibilidade do usuário é um método simples de determinar se o usuário quer ou não responder a uma requisição de comunicação. Se você “chamar” alguém e não houver resposta, o SIP determina que um usuário não esteja disponível. Um usuário pode ter vários locais registrados, mas só pode aceitar o recebimento das comunicações em um dispositivo. Se um não responder, a chamada é transferida para outro dispositivo ou outra aplicação, como um e-mail por voz. Capacidades do Usuário Com todos esses métodos e padrões diferentes de comunicação multimídia, é preciso algo que verifique a compatibilidade entre as comunicações e as capacidades do usuário. Por exemplo, se um usuário tem um telefone IP na sua mesa, uma conferência com um quadro branco compartilhado não funcionará com esse dispositivo. Essa função 57 também determina quais métodos de codificação/decodificação um usuário pode suportar. Configuração da Sessão O SIP estabelece parâmetros para ambas as pontas da comunicação – mais especificamente, no momento que uma pessoa chama e outra responde. O SIP estabelece os meios de configurar e/ou estabelecer as comunicações. Gerenciamento da Sessão Essa função é responsável pela maior parte da admiração dos usuários. Desde que um dispositivo seja capaz, um usuário pode transferir de um dispositivo para outro - como de um telefone por IP para um laptop – sem gerar qualquer impacto perceptível. As capacidades gerais do usuário irão mudar – como ser capaz de iniciar novas aplicações, compartilhar um quadro branco – talvez afetando temporariamente a qualidade da voz, tendo em vista que o SIP reavalia e modifica os fluxos de comunicação para voltar à qualidade de voz. Com o gerenciamento da sessão SIP, o usuário também pode mudar a sessão, tornando-a uma conferência, passando de uma chamada de telefone para uma conferência de vídeo ou abrindo uma aplicação desenvolvida internamente. E, finalmente, o SIP encerra as comunicações. Embora o SIP tenha cinco funções, atualmente é mais fácil pensar no SIP como um configurador, gerenciador e finalizador das comunicações por IP. As funções de localização e capacidades do usuário podem facilmente ser absorvidas pela função de configuração da sessão. 58 4.8 RTSP É um protocolo de nível de aplicativo. Seu objetivo é transmitir multimídia sobre multicast e unicast em "um para muitos". Ele também suporta a interoperação entre clientes e servidores de diferentes fornecedores. RTSP se aproveita de streaming que quebra os dados em pacotes dimensionados de acordo com a largura de banda disponível entre o cliente e o servidor. Quando chegam pacotes ao cliente, o software do usuário pode estar enviando um pacote, descomprimindo outro e baixando o terceiro. O usuário é capaz de começar a ouvir quase imediatamente sem ter que obter o arquivo de mídia inteiro. Tanto a alimentação de dados ao vivo e clipes armazenados podem ser as fontes de dados. A ideia em RTSP é que ele age como um "controle remoto de rede" para servidores multimídia. É concebido para controlar sessões de entrega de dados múltiplas, fornecer uma maneira de escolher os canais de distribuição, tais como UDP, TCP e outro. Os mecanismos de execução são baseados apenas na RTP. O RTSP foi concebido para estar no topo da RTP com o controle para distribuir conteúdo em tempo real. Assim implementações RTSP são capazes de tirar partido dos melhoramentos da RTP, como a compressão do cabeçalho RTP. Embora RTSP possa ser usado com unicast, seu uso pode ajudar a suavizar a mudança de unicast para multicast IP com a RTP. Também pode ser usado com RSVP para configurar e gerenciar a largura de banda e sessões de streaming. O RTSP tem várias propriedades: Extensível: novos métodos e parâmetros são fáceis de adicionar; Fácil de analisar, padrão HTML ou MIME parser pode ser usado; 59 Métodos seguros de autenticação HTTP, transporte e mecanismos da camada de rede de segurança são aplicáveis; Transporte independente, protocolos como UDP, RDP e TCP são aplicável; Multi servidor capaz, contudo não pode haver fluxos de mídia de diferentes servidores em uma apresentação; Controle de dispositivos de gravação, também é possível reprodução e controle de gravação; Separação de controlo de fluxo e iniciação de conferência, o único requisito é que o protocolo de iniciação de conferência ou forneça ou crie um identificador único de conferência; Apropriado para aplicações profissionais, o frame no nível de precisão através de carimbos de tempo SMPTE é suportado para permitir a edição digital remoto; Apresentação sem formato específico imposto; Proxy e firewall amigável; HTTP amigável; Controle adequado do servidor Transporte de negociação As seguintes operações são suportadas pelo RTSP: Recuperação de mídia de servidor de mídia Convite de um servidor de mídia para uma conferência Além dos meios de comunicação para uma apresentação existente Pedidos RTSP podem ser manipulados pelo proxy, túneis e esconderijos como HTTP/1.1. 60 5 PADRÕES DE MULTIMÍDIA EM REDES DE COMPUTADORES Existem muitos padrões atualmente para multimídia em redes de computadores, e os mais enfatizados neste documento são os do ITU-T e do IETF. ITU-T Os padrões de multimídia do ITU-T são os da série H (“Sistemas audiovisuais e de multimídia”) e estão citados na tabela a seguir. Cada um deles tem uma finalidade específica. TABELA 3 – PADRÕES DE MULTIMÍDIA DO ITU-T Padrão H.310 Data 1996 H.320 1997 H.321 1996 H.322 1996 H.323 1998 H.324 1996 Descrição Broadband audiovisual communication systems and terminals: videoconferência MPEG-2 sobre ATM com alta qualidade Narrow-band visual telephone systems and terminal equipment: videoconferência sobre RDSI Adaptation of H.320 visual telephone terminals to B-ISDN environments: videoconferência sobre ATM com boa qualidade Visual telephone systems and terminal equipment for local area networks which provide a guaranteed quality of service: /**/ Packet based multimedia communications systems: videoconferência sobre redes de pacotes, como IP e Ethernet Terminal for low bit rate multimedia communication: videoconferência sobre sistema telefônico Do UTU-T consideraremos apenas o padrão que se aplica ao nosso assunto. Padrão H.323 Define como um dado audiovisual é transmitido por uma rede. É parte de uma série de padrões de comunicações que permitem videoconferência através de redes e também a compatibilidade com dezenas de aplicações de telefonia pela Internet. Provê uma arquitetura, ação de dados multimídia, para redes baseadas no protocolo IP. Permite que produtos multimídia e aplicações de fabricantes diferentes possam interoperar de forma eficiente e que os 61 usuários possam se comunicar sem preocupação com a velocidade da rede. O fluxo e dados em redes podem ser administrados. O gerente de rede pode restringir a quantidade de largura de banda disponível para conferências. O H.323 é um documento base que faz referencia a um conjunto de protocolos e formatos de mensagens definidos em outros documentos. Verifique na tabela a seguir, a relação das recomendações ITU-T definidas para dar suporte à sinalização H.323. TABELA 4: RECOMENDAÇÕES ITU-T Recomendação ITU H.225.0 H.235 H.245 H.350.x H.450.x H.460.x Série T.120 Título Call Signaling protocols and Media Stream Packetization form Packet-Based Multimedia Communication Systems Segurity and Encryption of H-Series Multimedia Terminals Control Protocol for Multimedia Communication Directory Services Architecture for Multimedia Conferencing Supplemental Services for H.323 Guidelines for the Use of the Generic Extensible Framework Data Protocols for Multimedia Conferencing Também temos o H.248 conhecido como protocolo Megaco, é um padrão desenvolvido cooperativamente entre o ITU e a IETF para permitir que um MGC controle um MG. Competindo com outros protocolos como o MGCP e MDCP, é considerado um protocolo complementar ao H.323 e ao SIP, no qual o MGC controla os MGs via H.248, mas comunicará com outro via H.323 ou SIP. O protocolo H.245, transmitido através de TCP, é utilizado para interligar todas as entidades H.323. É utilizado para negociar facilidades entre os participantes de uma chamada H.323, tais como 62 abertura e fechamento de canais lógicos (portas UDP para transporte de fluxos RTP e RTCP). Benefícios: Padrões de codec: H.323 estabelece padrões para compressão e descompressão de dados de áudio e vídeo; Interoperabilidade: comunicação sem preocupação de velocidade; Administração de largura de banda: tráfego de vídeo e áudio demanda alta largura de banda → congestionamento da rede Flexibilidade Suporte multiponto Independência de plataforma e aplicação Independência entre redes Segurança PADRÃO H.320 Trata-se de um conjunto de protocolos que especifica a comunicação multimídia de áudio e vídeo fim-a-fim, cujo principal componente é o protocolo H.261. O H.261 é o responsável pela codificação e compactação de sons e imagens. Seu algoritmo é bastante similar ao da técnica MPEG, e prevê a geração de taxa constante de bits - ainda que para isto a qualidade do vídeo se torne variável (há alteração no número de quadros por segundo) - para uso com taxas de bits medidas em múltiplos de 64 Kbps. 63 O H.320 também pode ser utilizado sobre ambiente ATM. A vantagem é a alta largura de banda, muito mais caro que as interfaces ATM. Com alta largura de banda disponível, o algoritmo de compactação não necessita funcionar com eficiência máxima, o que diminui também o retardo de CODEC. E, finalmente, o ATM provê QoS (Qualidade de Serviço) fim-a-fim. Este é, sem dúvida, o ambiente ideal para suportar aplicações multimídia. Enquanto utilizado como tecnologia de LAN, o ATM provê o QoS necessário para garantir o funcionamento da aplicação multimídia mesmo em uma rede com alto tráfego de dados. O problema do uso de videoconferência sobre ATM é o alto custo de links ATM de longa distância, pois os maiores benefícios da aplicação são obtidos justamente no uso em WANs. Caso o projetista opte por utilizar ATM neste cenário, deve considerar ainda o uso de CODECs padrão H.321 – este padrão é ligeiramente diferente do H.320, na verdade é uma otimização específica para o ambiente ATM. Outro aspecto a se considerar é a existência de uma rede pública baseada em ATM, viabilizarem condição interconexão (e necessária a realização para de organizações sessões de videoconferência com estas conexões) sem que tenham que fazer parte de uma mesma rede privada. Mas o cenário mais comum no ambiente corporativo é formado pela utilização de redes padrão Ethernet e do protocolo TCP/IP. A grande base instalada e a tendência de mercado de convergência para estas tecnologias impõem aos fornecedores de soluções 64 multimídia para redes a necessidade de se adaptar a este ambiente, sob pena de perder mercado. A implementação de redes multiserviços com Ethernet e TCP/IP é um desafio, pois estes protocolos não oferecem suporte aos requisitos de QoS exigidos (largura de banda, atraso, variação do atraso e taxa máxima de perda de pacotes). A substituição dos protocolos por outros com capacidades de QoS resolve um problema mas cria outro – perde-se interoperabilidade. Assim, dotar ambientes Ethernet e TCP/IP de capacidades de QoS exigidas por aplicações de videoconferência significa agregar mecanismos e recursos que permitam garantir banda, priorizar o tráfego, evitar colisões, segmentar a rede e rotear o tráfego de forma otimizada (uso de multicast, por exemplo). Alguns destes itens serão obtidos com cuidados de projeto (segmentação da rede, por exemplo), outros implicam em uso de protocolos e/ou ativos de rede que possuam capacidades de QoS. De forma bastante resumida, pode-se citar como cuidados mínimos o uso dos protocolos RTP e o RTCP para suporte à priorização do tráfego, o RSVP para reserva de banda, e uso de multicast na LAN. Além disso, os roteadores deverão ter capacidade para priorizar o tráfego (por protocolo, porta, interface ou criando um circuito virtual dedicado à conexão multimídia) e os switches deverão suportar recursos de camada 4 ou superior (para realizar a priorização do tráfego). Estas exigências sugerem o uso destes serviços na rede privada da organização (intranet), uma vez que é dentro de sua 65 área de autonomia que o administrador da rede terá autonomia para configurar os componentes de forma a atender aos requisitos necessários. O padrão desenvolvido pelo ITU para a utilização de multimídia em redes comutadas por pacotes é o H.323, cujo principal componente é o protocolo de compactação H.263. Este último é baseado no (e compatível com) protocolo H.261. Utilizado em ambiente TCP/IP, fica clara a necessidade do H.263 ser mais eficiente que o H.261 para trafegar os dados da sessão de videoconferência com a mesma largura de banda, uma vez que o TCP/IP impõe maior overhead de encapsulamento. Além das vantagens já citadas anteriormente (custo e base instalada do ambiente Ethernet e TCP/IP), deve-se considerar também a possibilidade de uso de soluções baseadas em computador (CODEC de software instalado em um microcomputador acoplado a uma câmera e kit multimídia), o menor custo dos equipamentos e dos links (utiliza-se o mesmo link WAN da rede de dados, tarifada da forma mais conveniente – custo fixo, variável ou combinado) e a facilidade de integração com outras aplicações (Vídeo sob demanda, distribuição de vídeo para Internet). As principais desvantagens estão no menor grau de QoS, a dificuldade de interoperar com pontos conectados por meio de nuvens públicas, maiores exigências de performance dos CODECs 66 em relação aos padrões H.320 e H.321 e necessidade de cuidados de projeto para a implementação dos serviços. IETF São definidos nas RFCs. A arquitetura global de multimídia do IETF atualmente possui protocolos como os seguintes: SIP: estabelece, mantém e encerra chamada ou sessões multimídia; RSVP: reserva recursos da rede; RTP: transporta dados em tempo real, proporcionando feedback de QoS através do RTCP , conforme descrito anteriormente; RTSP: controla entrega de mídia através de streaming; SDP: descreve sessões multimídia. Quando utilizadas soluções que adotam protocolos proprietários, a interoperabilidade fica comprometida ou limitada ao suporte oferecido pelo fabricante. Supondo que a escolha da solução tenha adotado padrões abertos (como o H.320 e o H.323, por exemplo), duas questões devem concentrar a atenção do projetista em relação à interoperabilidade. A primeira se refere à necessidade de realizar uma sessão de videoconferência utilizando equipamentos baseados em diferentes padrões, quando será necessário o uso de gateways. Tipicamente este é o caso de uma expansão do parque multimídia instalado, onde os equipamentos mais novos em geral implementam padrão H.323 e os mais antigos utilizam H.320. Este também é o caso quando se torna necessário fazer com que um microcomputador ligado a uma rede TCP/IP consiga interoperar com um CODEC H.320 em uma rede ISDN. 67 Finalmente, quando o administrador de rede é requisitado a implementar uma sessão de videoconferência entre um CODEC baseado em hardware e uma solução baseada em software, deve ter em mente que a qualidade de áudio e vídeo estará limitada à menor das capacidades, ou seja, ao tamanho de janela, quantidade de cores e taxa de quadros por segundo atingida pelo componente de menor performance. Recomenda-se também o uso da configuração de computador mais potente disponível à época, para minimizar o atraso introduzido pelo processamento da digitalização e da compactação realizada pelo software de videoconferência. A tendência de convergência atual aponta para o uso de TCP/IP, e na área de videoconferência não é diferente. Os fabricantes mais antigos, voltados para soluções baseadas em H.320 já possuem ao menos um modelo disponível no padrão H.323, e há fornecedores exclusivamente focados neste padrão. Com o crescente aprimoramento dos mecanismos de QoS para redes Ethernet e TCP/IP, e o custo de links WAN caindo, o uso de H.323 na intranet é a solução mais indicada. Na extranet, porém, o padrão H.320 é a escolha obrigatória, uma vez que a Internet não oferece o QoS necessário. Os padrões para a Internet2 ainda estão sendo definidos, mas é provável que esta substitua os enlaces ISDN para a realização de videoconferências na Extranet em um futuro próximo. Enquanto o cenário das redes públicas não fica definido, a melhor opção é adquirir equipamentos que suportem os dois padrões, ou seja, compatíveis com H.320 e com H.323. Assim, o investimento fica preservado, uma vez que é possível utilizá-lo na Intranet com TCP/IP e na Extranet com ISDN ou X.21, mas não de forma simultânea – não se trata de um gateway, mas sim de um CODEC compatível com mais de um padrão. Sessões multiponto serão o passo seguinte à implementação do serviço, isto quando não fazem parte da especificação inicial. 68 Na LAN o uso de multicast evita a necessidade de envio de vários pacotes unicast, um para todos os CODEC destino. Na WAN aperfeiçoa a topologia de distribuição dos pacotes (spanning tree). O multicast, entretanto, é uma capacidade de redes comutadas por pacotes. Algumas soluções de software possuem suporte a sessões multiponto onde apenas um participante pode transmitir a cada instante do tempo. O controle da sessão é realizado por um dos pontos (o "administrador da conferência"), dispensando os custos de aquisição de um MCU – um dos componentes mais caros da arquitetura de vídeo para redes. 69 6 CODIFICAÇÃO DE ÁUDIO Existem ainda os codecs, protocolos extras que adicionam funcionalidades e maior qualidade à comunicação. Para transmissão de áudio em redes de computadores, vale ressaltar os seguintes itens: Digitalização: é necessário digitalizar o sinal para transformar os sinais analógicos em bits, necessário para transmissão em redes de computadores; Compressão: a compressão é usada para minimizar o uso de largura de banda. O padrão PCM (G.711 do ITU-T) necessita 64Kbps para transmissão, enquanto o G.729 utiliza apenas 8Kbps. Uma transmissão com duração de 30 segundos no padrão G.711 demandaria 240.000 bytes, enquanto que a mesma transmissão com o G729 iria necessitar de 30.000 bytes, ou 1/8 da anterior. A tabela a seguir mostra algumas taxas de transmissão sem compressão; TABELA 5: TAXAS DE TRANSMISSÃO SEM COMPRESSÃO Formato Telefonia Teleconferência CD rom Digital Audio Tape Amostragem 8000/8bits/mono 16000/16bits/mono 44100/16bits/stereo 48000/16bits/stereo Bit rate 64 Kbit/s 256 Kbit/s 1.410 Kbit/s 1.536 Kbit/s Qualidade do sinal: a qualidade do sinal está relacionada com a frequência de amostragem e número de bits gerados por amostra. Para sinais de voz até 4KHz, é suficiente utilizar 8000 amostras por segundo a 8 bits por amostra (resultando em 64Kbps), pois, segundo Nyquist, é necessário o dobro da frequência para poder recuperar completamente o sinal. Entretanto, o mesmo número de amostras não é suficiente para 70 uma qualidade de CD, e na prática utiliza-se 44,1KHz com 16 bits por amostra estéreo, gerando a necessidade de mais de 1,4Mbps (44100x16x2). Na prática, utiliza-se algum algoritmo de compressão do sinal, como o MP3, que consegue qualidade de CD com 128Kbps, ou qualidade de FM com 56Kbps; Latência de codificação: em aplicações que exigem interatividade, como, por exemplo, uma conversa telefônica, manter a latência baixa é muito importante. O G.711 possui uma latência de codificação desprezível, enquanto que o MP3 precisa de mais de 50ms para codificar o áudio. Entre os tipos possíveis de áudio especificados pelo padrão H.320, tem-se: G.703 - É uma recomendação que trata das especificações da interface física a quatro fios e para transmissão digital a 2,048 Mbps. Geralmente, é utilizado para se referir à interface de transmissão europeia a 2,048 Mbps. G.704 - Recomendação do ITU para estruturas de quadros síncronos usados nos seguintes níveis hierárquicos: 1544, 6312, 2048, 8488 e 44736 kbit/s. G.711 - Padrão do ITU para compressão de voz; utiliza 8000 amostras por segundo, onde cada amostra tem 13 bits que, comprimindo de acordo com a lei A ou μ, fica 8 bits, gerando taxa de transmissão de 64Kbps. Feito para frequências de voz, ou seja, até 4KHz. A latência do algoritmo é menor que 1ms. G.722 – codec de áudio que consomem 128 Kbps de largura de banda; utiliza 16000 amostras por segundo, onde cada amostra tem 14 bits que, 71 comprimindo na técnica sub-band ADPCM, gera taxa de transmissão de 64Kbps. Pode operar a 56Kbps com um canal de dados auxiliar de 8Kbps, ou 48Kbps com canal de dados auxiliar de 16Kbps. G.723 - Algoritmo utilizado para compressão de voz e supressão de silêncio de um sinal digital cuja variante mais conhecida é o G-723.1, que consegue converter um sinal PCM de entrada de 64 kbps em uma saída que pode variar de 5,3 a 6,4 kbps. G.726 - Especificação do ITU-T para codificador de voz ADPCM trabalhando na faixa de 16 a 40 kbps. G.728 - codec de áudio em canais com banda de 16 kbps. G.729 - Algoritmo utilizado para compressão de voz e supressão de silêncio de um sinal digital, que consegue converter um sinal PCM de entrada de 64 kbps em uma saída de 8 kbps. O que os diferencia são os algoritmos usados, a média de atraso e principalmente a qualidade da voz. Neste último aspecto, o G.711 é considerado excelente. Os sistemas que possuem uma qualidade mínima de áudio e vídeo suportam apenas áudio G.711. O áudio G.711 possui qualidade de telefonia (banda estreita 3Khz) e consome 48-64 Kbps de largura de banda. Já os sistemas que possuem a qualidade mínima e todos os fatores opcionais suportam áudio G.722, o qual possui qualidade estéreo (banda larga, 7Khz), e consomem 128 Kbps de largura de banda. Os sistemas que possuem qualidade mínima e alguns fatores opcionais, opcionalmente podem implementar áudio G.722. O áudio G.728 surge com uma opção para sistemas com baixas taxas de transmissão. Este tipo de áudio consome 72 apenas 16 Kbps de banda. Os melhores produtos para videoconferência permitem ao usuário escolher o tipo do áudio a ser utilizado. 73 7 CODIFICAÇÃO DE VÍDEO Vídeo pode ser definido como uma sequencia de imagens paradas que, quando apresentadas em uma taxa suficientemente rápida, dão a impressão de movimento ao ser humano, como, por exemplo, os seguintes sistemas analógicos: NTSC 525x60: 30 quadros por segundo, sendo apresentados em 525 linhas e, de forma entrelaçada, 60 vezes por segundo (cada quadro é dividido em linhas pares e ímpares) para melhorar a sensação de movimento; PAL 625x50: 25 quadros por segundo, sendo apresentados em 625 linhas e, de forma entrelaçada, 50 vezes por segundo (cada quadro é dividido em linhas pares e ímpares) para melhorar a sensação de movimento. Para apresentar a imagem em meios digitais, é necessária a conversão entre os padrões analógicos (25 ou 30 quadros por segundo entrelaçados) e digitais (frequência de atualização de tela no computador é normalmente entre 60 e 80Hz). O resultado é que no computador o quadro é apresentado mais de uma vez, de acordo com a frequência do monitor (60Hz, 75Hz, etc.). Da mesma forma que no áudio, os fatores digitalização, compressão, qualidade do sinal e latência são extremamente importantes na transmissão de vídeo. Basicamente, existem três pontos que podem ser ajustados para modificar a qualidade e a taxa de transmissão: a resolução espacial (largura x altura) da imagem, a taxa de quadros e os passos de quantização [MCG 99]. Resolução espacial: significa o tamanho do quadro, ou seja, a relação entre sua largura e altura. Em meios digitais, para permitir que uma recomendação possa ser utilizada em tanto em regiões do planeta que 74 utilizam NTSC como as que utilizam PAL, normalmente se utilizam o formato CIF ou SIF. Taxa de quadros: representa o número de quadros sucessivos por segundo. Para uma boa qualidade, o ideal é utilizar acima de 24 quadros por segundo (padrão atual dos cinemas). Em termos de compressão da imagem, quanto mais quadros por segundo melhor a taxa de compressão, pois é possível codificar somente as mudanças entre quadros. Isso permite a padrões que exploram essa característica, como o MPEG, comprimir 50 a 70 vezes uma transmissão 352x240 30 quadros por segundo, enquanto padrões que não exploram como o M-JPEG, comprimem apenas 15 a 30 vezes [MCG 99]. Entretanto, quando a taxa de quadros é baixa, como, por exemplo, 1 quadro por segundo, a diferença na compressão entre MPEG e M-JPEG não é significativa; Passo de quantização: quanto maior o número de amostras de um vídeo por segundo, maior a sua qualidade, da mesma forma que foi visto na parte de áudio. A compressão do vídeo não é linear de acordo com a taxa de quadros por segundo e sua resolução espacial, ou seja, se no formato QCIF a 30 quadros por segundo obtinha-se uma taxa de transmissão de 1Mbps, não quer dizer que se utilizando o formato CIF a taxa suba para 4Mbps (com a mesma qualidade). Isso porque as técnicas de compressão exploram as ambiguidades entre pixels adjacentes, bem como redundâncias no quadro. Com mais pixels, a tendência é ter mais ambiguidades, e obter-se taxas de compressão maiores. 75 8 CONCLUSÃO A proposta inicial deste trabalho tinha com objetivo gerar uma lista de protocolos usados para transmissão de imagem e som de forma simultânea. Portanto, como consideração final do projeto proposto é possível afirmar, no que tange ao alcance de tais objetivos, que foram alcançados, pois foi possível a geração desta lista, bem como a demonstração de quando utilizar estes protocolos. Os resultados obtidos com este trabalho são importantes em relação à possibilidade de ser utilizado o protocolo correto para cada situação. 76 REFERÊNCIAS DERFLER JR., F. J. ; FREED, L. "Tudo sobre cabeamento de Redes". Ed. Campus, Rio de Janeiro, 1994. FALBRIARD, Claude. Protocolos e Aplicações para Redes de Computadores. São Paulo: Editora Erica, 2002. MOUTINHO, Adriano Martins. Fundamentos teóricos de Fibras ópticas Comparação entre as recomendações ITU. Trabalho de Fibras Ópticas. Universidade do Estado do Rio de Janeiro Faculdade de Engenharia elétrica. OLIVEIRA, Roberto Port de. Desenvolvimento do Protocolo IGMP para Switches Ethernet. Trabalho de Conclusão de Curso. Dez. 2010(Curso de Engenharia de Computação). Pontifícia Universidade Católica do Rio Grande do Sul - Faculdade de Engenharia - Faculdade de Informática. PERKINS, Colin. RTP: Audio and Video for Internet. 1ª edição. Publicado por Addison-Wesley, 2003. ROCHA, Marco Antonio da. Arquitetura OSI. Fev. 1994. Disponível em: http://penta2. ufrgs.br/Marco/arqosi.html . Acesso em: 22-Jan-2012. ROSENBERG, J.; SCHULZRINNE, H.; CAMARILLO, G.; e outros. RFC 3261 - SIP: Session Initiation Protocol. Jun 2002. Disponível em: http://www.faqs.org/rfcs/rfc3261.html. Acesso em: 26-Jan-2012. SANTOS, Antonio Apparecido Oliveira dos. Redes. Disponível em: http://www.aaosantos .pro.br/redes/aula3.pdf. Acesso em: 22-Jan-2012. SILVA, Verônica Burmann. Análise de Infra-Estrutura de Rede para Suporte à Videoconferência: um Estudo de Caso. 2005. 128 f. Monografia (Bacharelado em Ciência da computação) – Instituto de Física e Matemática da Universidade Federal de Pelotas. TANENBAUM, Andrew S.. Redes de Computadores. 4ª edição. Editora CAMPUS, 2003