Redes TCP/IP integradas e a garantia de qualidade de serviço em aplicações multimídia
Douglas Rocha Mendes - CEFET
Keiko V. Ono Fonseca - CEFET
Marcelo Luiz Hümmelgen - GPS
1 Introdução
Para que exista uma qualidade aceitável na execução de aplicativos multimídia (envolvendo áudio e/ou vídeo digital) executados em uma rede de comunicação, é necessário impor limitantes inferiores de desempenho para a rede. Nestas aplicações, uma restrição temporal fundamental a ser atendida é o tempo máximo despendido pela informação no seu deslocamento desde o nó de origem ao nó de destino, ou seja, o atraso inserido na mensagem cada vez que ela passa por um nó da rede. Desta forma, é necessário que a rede de comunicação permita a especificação de restrições temporais das aplicações e forneça uma garantia de seu atendimento. A rede que atenda estas duas condições é classificada como um sistema de comunicação tempo-real [11]. Um exemplo típico de comunicação multimídia com restrição temporal é a comunicação de voz em redes de dados. A partir do momento em que se consiga ter as garantias para comunicação de voz em redes de comunicação de dados, uma série de possibilidades serão abertas para utilização deste conhecimento. A primeira, e a mais evidente, é a substituição da infra-estrutura de telefonia existente [9], o que significa a eliminação de contas geradas por telefonemas interurbanos. Por exemplo: uma empresa que possua diversas filiais distribuídas pelo território nacional, com uma conexão dedicada a dados, poderá utilizar esta mesma conexão para a transmissão de voz. Aplicativos no mercado para este tipo de comunicação quando a rede executa o protocolo IP são identificados com o termo Voz sobre IP. A solução do problema de atendimento de restrição temporal de comunicação de voz via configuração da rede pode ser válida para outros tipos de mídia, como vídeo, sem alteração no conceito da solução apresentada; assim, o mesmo conhecimento pode ser utilizado na configuração de redes de comunicação em que a aplicação principal seja teleconferência, ou algo semelhante. Embora altamente difundido atualmente, principalmente em razão da explosão na utilização da Internet, o protocolo IP é um dos métodos menos eficientes para enviar voz em uma rede de dados. O protocolo não possui as características para garantir as restrições necessárias para uma qualidade aceitável na execução de aplicativos multimídia, isto é, não tem mecanismos que forneçam garantias de atraso máximo e taxa de perda mínima de pacotes durante uma transmissão. No entanto, este protocolo sempre deve ser levado em consideração, no momento do desenvolvimento de novos produtos. Quality of Service (QoS) é definido no ATM Forum [9] como um conjunto de parâmetros de desempenho. Parâmetros como, por exemplo: atraso, variação de atraso, taxa de perda de células, podem ser negociados pelo usuário, como parte de um contrato de tráfego, durante o estabelecimento de uma conexão. Durante toda a duração de uma dada conexão, a rede assume o compromisso de atender à QoS associada, desde que o usuário cumpra sua parte do contrato de tráfego. Portanto, a tecnologia ATM prevê a especificação de desempenho da rede e, conseqüentemente, permite implementar uma rede com um dos atributos desejados para comunicação multimídia. 2 ATM vs. IP ATM é uma tecnologia de comunicação ou, mais especificamente, de comutação rápida de pacotes [6], baseada em padrões abertos (não são de propriedade de um grupo ou empresa), que se propõe a servir de transporte comum para diversos tipos de tráfego, como dados, voz (áudio), imagem estática e vídeo. Para que este serviço seja prestado, o ATM implementa uma série de conceitos como classe de serviço (CoS) e qualidade de serviço (QoS), os quais ainda não são usualmente presentes em outras tecnologias. Em países como Japão, EUA, Finlândia e Suíça, a eficácia das redes ATM para transferência de informações isócronas (voz), surtivas (dados) e mistas (multimídia), já pode ser comprovada, não se encontrando outra tecnologia que alcançasse desempenho equivalente [6]. Estes serviços podem ser, dependendo do modo de geração no lado de origem, orientados ao fluxo contínuo de bits (CBO), o qual gera células periodicamente, uma-a-uma; ou então, orientados a pacote (burst), que gera intermitentemente uma série de células. Tendo em vista que a rede deve satisfazer necessidades de serviços individuais, a estratégia usada para alocação de recursos minimizando o atraso e a probabilidade de perdas de células é muito importante para a qualidade do serviço da rede. As redes ATM são consideradas maduras por incorporarem, de modo nativo, os controles necessários para a obtenção dos limites de tempo estabelecidos. O protocolo IP não oferece esta possibilidade, fazendo com que a estrutura de rede, como um todo, não consiga apresentar os requisitos necessários para implementação, de modo seguro, de aplicativos que necessitam trabalhar com restrições temporais. A tabela 1 mostra os principais prós e contras dos protocolos ATM e IP. A configuração de rede, a princípio, poderia solucionar este problema com a utilização de um conjunto de protocolos num nível acima do IP, mas que consegue, através de mecanismos internos, estabelecer um canal de comunicação que respeite os parâmetros de desempenho preestabelecidos para a transmissão.
Tabela 1 – ATM vs. IP [13] ATM não tem tido a adoção desejada em ambientes desktop e, provavelmente, não venha a ser a tecnologia utilizada para a conexão global; entretanto, é a única tecnologia que possui, de modo confiável, o suporte a engenharia de tráfego e manutenção da qualidade de serviço em redes de larga escala. Em contrapartida, o IP rapidamente alcançou o domínio em ambientes desktop, set-top, e até mesmo palm-tops para endereçamento global e interface de programação de aplicações; entretanto, existem poucas ferramentas que implementem, de modo eficiente, um controle sobre as necessidades de QoS sobre a rede, e menos ainda sobre reserva e gerenciamento de recursos. Deste ponto de vista, tecnologias que uma vez foram concorrentes aparecem como complemento uma da outra. O conceito básico, do serviço IP sobre ATM, é proporcionar às aplicações, que são baseadas no transporte de informação sobre o protocolo IP, a capacidade de transferência eficiente das redes ATM, em termos de velocidade de transmissão e alocação dinâmica de banda. Até o momento, várias soluções foram propostas para tal serviço; entretanto, o documento RFC 1577, Classical IP over ATM, está sendo assumido como padrão pelo IETF, Internet Engineering Task Force. A associação do protocolo IP com as redes ATM, impede a utilização dos conceitos de classe de serviço e qualidade de serviço. A idéia de utilizar uma rede que gerencie uma alta taxa de tráfego de informações, com garantia de atendimento de restrição temporal, e ao mesmo tempo utilize o protocolo mais disseminado atualmente, o IP, é tornar acessível, à maioria dos produtos disponíveis no mercado, a possibilidade de especificar a qualidade de comunicação desejada. O problema básico da implementação desta idéia é discutido a seguir. 3 Protocolos de Comunicação que Suportam Voz
Finalizado e aprovado pela ITU (International Telecommunications Union) em 1996, o conjunto de protocolos H.323 [5] está revolucionando a telefonia e a teleconferência sobre redes baseadas em pacotes, que não possuem garantia de qualidade de serviço (QoS), tal como a Internet e Intranets. De um ponto de vista simplificado, o H.323 pode ser visto como um "guarda-chuva", sob o qual é definido um conjunto de padrões, que especificam a teleconferência e a comunicação em tempo-real de informações multimídia, como mostra a tabela 2. Estes padrões definem como os componentes, que são construídos segundo os conceitos do H.323, controlam e gerenciam as chamadas para teleconferências tanto ponto a ponto quanto multiponto; controlam o tráfego de dados, largura de banda e participação dos usuários; e gerenciam a conexão de chamadas entre uma LAN (Local Area Network) e uma PSTN (Public Switched Telephone Network), ou então, com outra rede baseada nos padrões H.32X.
Tabela 2 – Protocolos Relacionados [16] Os principais componentes definidos pelo padrão H.323 são:
Devido à qualidade da comunicação de voz sobre a Internet não ser muito boa, foi iniciado um processo de pesquisa procurando meios de se aumentar a qualidade. Diversas propostas foram elaboradas, algumas propondo a comunicação parte na Internet e parte em redes baseadas em circuitos comutados, outras propondo a comunicação entre um telefone em uma rede baseada em circuitos comutados e um aplicativo de voz baseado em PC, e outros, ainda, descobriram os benefícios econômicos de se falar com outro usuário de PC através da Internet, sem a necessidade de se pagar taxas de telefonia. Todos estes pontos direcionaram a especificação da versão 2 do H.323 – Packet-based Multimedia Communications System, que foi liberada em Janeiro de 1998. A versão 2 do H.323, introduz novidades com relação à versão 1, dentre elas pode-se salientar, como principais, Arbitration GSM Compression, Arbitration of V.Chat, Fast Connect, Overlapped Sending, Security e Supplementary Services [8].
O IETF, Internet Engineering Task Force, está trabalhando em outra proposta para tratamento de comunicação de voz através do protocolo IP. Esta proposta define uma nova arquitetura para comunicação multimídia na Internet, da qual fazem parte dois protocolos essenciais à comunicação de voz sobre IP, que são: SIP [20], Session Initiation Protocol, que inicia, modifica e termina associação entre os diversos usuários da comunicação; e, RTSP [21], Real Time Streaming Protocol, o qual é responsável pelo envio dos pacotes de dados contendo informações de voz e garantia do cumprimento das restrições de tempo estabelecidas através do SIP.
Figura 1 - Pilha de Protocolos para Telefonia Internet [2] A Figura 1 apresenta a pilha de protocolos utilizada para comunicação de voz sobre redes IP, proposta pelo IETF, em conjunto com outros protocolos que são utilizados, também, para transmissão de mídia e telefonia na Internet.
Quando existe a necessidade de se enviar um pacote envolvendo dados multimídia, como voz ou vídeo, algumas necessidades, que são diferentes dos serviços de transporte oferecidos tradicionalmente pela Internet, são apresentadas, entre elas as principais são:
Na Internet, estas funcionalidades são fornecidas pelo RTP, ou Real Time Transport Protocol. Este protocolo possui dois componentes, o RTP propriamente dito, que faz o envio do fluxo de informações e o RTCP, que faz o controle e gerenciamento de uma conexão. O RTP é utilizado em conjunto com o UDP, User Datagram Protocol, e funciona da seguinte maneira. Uma vez recebido um pacote de informação, ele é formatado para o empacotamento, onde são adicionados o cabeçalho específico para este tipo de dado, o cabeçalho do próprio RTP e a informação de payload, para só então ser enviado através da rede de comunicação de dados para um grupo de usuários ou a um outro participante de uma comunicação [20]. Periodicamente, os nós de origem e os de destino, dos dados, enviam pacotes RTCP (Real Time Control Protocol) para o mesmo grupo de usuários que estão participando de uma comunicação através de RTP, a fim de gerenciar e monitorar a conexão. Quando este pacote é enviado pelo nó de origem dos dados, o objetivo principal é a correção do horário de cada nó, visando a sincronização dos pacotes que estão sendo recebidos; os nós destinos, enviam o RTCP com informações de taxa de perda de pacotes e o tempo de atraso entre a chegada de pacotes, possibilitando aos nós de origem o cálculo da distância entre os nós que estão recebendo a informação enviada; e, por último, existe o descritor de origem, cuja função principal é o controle da sessão que gerencia as informações dos usuários que estão fazendo parte de uma conexão em um determinado instante. Infelizmente, protocolos baseados em RTP consomem uma grande fatia da largura de banda, uma vez que os dados trafegados pela rede são voz e/ou vídeo. A proposta de configuração do RTP não prevê a utilização de protocolos de reserva de recurso e política de admissão, tal como o RSVP [5] (Resource ReSerVation Protocol), pelo contrário, simplesmente utiliza mensagens do tipo RTCP para comunicar, aos roteadores através do caminho, a quantidade de recursos necessária para a conexão com a qualidade desejada. Isto pode ser feito de duas maneiras: a primeira observa a diferença de tempo que duas mensagens RTCP consecutivas levam para fazer o caminho de uma comunicação RTP normal; a segunda, faz uso de um campo adicional, que é inserido no corpo da mensagem RTCP, especificando a qualidade de serviço desejada. Os nós destino retornam se a reserva foi completamente ou parcialmente aceita.
O objetivo principal do SIP, Session Initiation Protocol ou Protocolo de Inicialização de Sessão, é procurar, localizar e convidar usuários a participar de uma conexão telefônica. Deve ficar claro que os protocolos mencionados aqui podem ser utilizados não só com voz, mas em todo o tipo de serviços multimídia. O SIP também é responsável pelo gerenciamento básico de uma chamada, isto inclui a habilidade de iniciar e terminar uma chamada, além de incluir e excluir participantes de uma ligação telefônica. O gerenciamento de participantes de uma chamada também aborda transferências de ligação, manutenção de ligações em hold e transição entre conexões unicast (ponto a ponto) e multicast (conferência). O SIP é um protocolo cliente-servidor com requisições impostas pelo cliente e respostas retornadas pelo servidor. Neste caso, o chamador atua como cliente e o chamado como servidor. Uma simples chamada pode envolver muitos servidores e clientes. Um protocolo de sinalização deve possuir, no mínimo, três funções básicas, que são as seguintes:
A mais importante operação executada pelo SIP é o convite de novos usuários a participar de uma chamada. O chamador, primeiro obtém um endereço onde o usuário deve ser chamado, e este é convertido para um endereço IP, onde o servidor pode ser encontrado. Uma vez que o endereço IP foi definido, é enviada uma mensagem de convite, através da utilização do UDP ou TCP. Esta mensagem pode atravessar diversos servidores através da rede. O servidor deve conhecer a localização usuários, ou então repassar a mensagem de convite para outro servidor que acredite conhecer o usuário. Um ponto em favor do SIP é ser baseado em serviços de conferência distribuída e protocolos Internet já existentes como o HTTP (Hypertext Transfer Protocol) e SMTP (Simple Mail Transfer Protocol) o que cria um protocolo flexível, poderoso, simples e escalável que pode, realmente, servir de base para aplicativos que utilizam comunicação multimídia.
Os esforços para projetar protocolos que permitam o tráfego com qualidade de serviço em redes baseadas em pacotes vêm de algum tempo. Alguns conjuntos de ferramentas que utilizaram a combinação de redes baseadas em pacotes e redes baseadas em circuitos comutados são Mbone [10,12], Etherphone [18], Rapport [1] e MMCC [19]. Etherphone e MMCC são baseados em um modelo de controle centralizado, que não incorpora a funcionalidade de controle de chamada. 4 Conclusão Através do tempo, inovações têm sido experimentadas utilizando comunicação de voz sobre redes onde o protocolo de transporte é o IP. Estas tentativas foram baseadas em métodos proprietários para inicializar chamadas, comprimir voz, localizar e alertar usuários que fazem parte de uma comunicação; assim, com o aparecimento de diversos aplicativos que utilizavam seus padrões para comunicação de voz, tornou-se evidente a necessidade de uma rápida padronização destes protocolos. O padrão da ITU, H.323, foi lançado em 1996 e atualizado em 1998, e em conjunto com H.235, define os meios de registro e admissão de novos participantes de uma comunicação, verificação de seu estado atual, além de definir os requisitos de segurança que devem ser implementados durante a troca de mensagens, como autenticação, criptografia, integridade e não repúdio das informações. O protocolo H.323 é o mais maduro em relação aos outros protocolos propostos e disponíveis no mercado, e, conseqüentemente, é o que possui o maior número de produtos desenvolvidos seguindo suas especificações; entretanto, não é o ideal por ter uma complexidade muito alta, e ser de difícil escalabilidade e extensibilidade. O IETF, vem tentando desenvolver mecanismos de reserva de banda e garantia de qualidade de serviço eficiente, através dos protocolos SIP e RTP, para poder operar sobre a infra-estrutura tradicional. Muitas das indústrias que desenvolvem equipamentos para redes de comunicação têm adotado esta idéia, o que, a princípio, irá gerar soluções de qualidade para tratamento de voz; entretanto, alguns problemas ainda não foram completamente resolvidos, como mecanismos para supressão de ruídos e a multiplexação de vários canais de voz em um único pacote IP. O que se espera de uma configuração de rede, que permita o tráfego de informações multimídia, é a entrega de pacotes em um tempo pré-determinado. Para que isto venha a acontecer, existe a necessidade de um controle eficiente na admissão de novas conexões, de maneira que esta não venha a impactar no desempenho das conexões já existentes. O IETF utiliza processo que visa a otimizar a utilização da largura de banda, verificando periodicamente a situação do canal de comunicação e, se a qualidade estiver abaixo do esperado, existe a renegociação dos parâmetros informados no momento do estabelecimento da conexão. No padrão H.323 o componente responsável pelo gerenciamento da largura de banda é o gatekeeper. Entretanto, as decisões referentes à aceitação de uma nova conexão ou redução da qualidade de amostragem da voz são deixadas a cargo do provedor de serviço [16]. No momento, espera-se que os novos produtos lançados no mercado sigam a padronização estabelecida pela ITU, uma vez que as propostas apresentadas pelo IETF estão em fase final de conclusão e, assim, sujeitas a alterações; entretanto, a partir da liberação final desta especificação serão lançados produtos que implementam as soluções adotadas. Este fato fará com que existam duas grandes correntes no mercado, a dos produtos que utilizam o padrão H.323 e a dos produtos que seguem os conceitos do IETF. O próximo passo na evolução da tecnologia de voz sobre IP será um meio de interconexão entre estas duas correntes.
|