Você está na página 1de 82

UNIVERSIDADE SO FRANCISCO

Curso de Engenharia de Computao


FELIPE CESAR CARDOSO

CONCEITOS DE REDE VIRTUAL PRIVADA PARA


STREAMING SEGURO DE VDEO

Itatiba
2010

ii

FELIPE CESAR CARDOSO R.A. 002200600550

CONCEITOS DE REDE VIRTUAL PRIVADA PARA


STREAMING SEGURO DE VDEO

Monografia apresentada disciplina Trabalho de


Concluso de Curso, do curso de Engenharia de
Computao da Universidade So Francisco, sob
orientao do Prof. Marcelo Augusto Gonalves Bardi,
como exigncia para concluso do curso de graduao.
Orientador: Prof. Marcelo Augusto Gonalves Bardi

Itatiba
2010

iii

Dedico este trabalho aos meus pais, Antonio Carlos Cardoso e


Sueli Maria Thomasini Cardoso, que sempre me incentivaram e
ajudaram em todas as minhas decises e momentos difceis.

iv

AGRADECIMENTOS

Agradeo a realizao deste trabalho a minha famlia, que sempre me apoiou em todos
os momentos da minha vida, sempre me dando fora e incentivo.
Agradeo tambm ao meu orientador, Marcelo Augusto Gonalves Bardi, pela sua
colaborao durante toda a elaborao do trabalho, compartilhando seus conhecimentos.

As pessoas comuns pensam apenas como passar o


tempo. Uma pessoa inteligente tenta usar o tempo.
(Arthur Schopenhauer)

vi

RESUMO
Com o crescimento da Internet aliado ao aumento das velocidades de acesso com banda larga,
a mesma se transformou em um meio conveniente para transmisso de dados em nvel
coorporativo, como por exemplo, a transmisso de streaming de vdeo baseada no modelo
cliente-servidor. Todavia, quando se quer transmitir dados de maneira segura e confivel, a
Internet em si no a melhor escolha, visto que as informaes que nela trafegam podem
estar susceptveis a serem capturadas e/ou visualizadas indevidamente. Por isso, a VPN
(Virtual Private Network) surge como uma alternativa barata e vivel para este tipo de
transmisso, visto que tal estrutura construda sobre a rede pblica de comunicao e
garante uma transmisso segura atravs de tcnicas de tunelamentos e mtodos de segurana,
tendo como destaque a criptografia. Este trabalho pretende desenvolver uma alternativa para a
transmisso de streaming de vdeo em estrutura de tunelamento criada pela VPN, previamente
configurada, utilizando softwares livres que se baseiam no sistema operacional Unix-like. Para
a configurao da VPN, foi utilizado o software OpenVPN, trabalhando com chave esttica de
criptografia e criando IPs virtuais para a mquina servidora e para a mquina cliente. Em
relao ao streaming de vdeo, foi utilizado o software VLC Media Player, no qual o usurio
do lado servidor seleciona um vdeo de interesse, e este ser transmitido via streaming em
direo ao cliente, por meio do tunelamento criado pelo OpenVPN. Assim, evidencia-se que
possvel transmitir vdeo de maneira segura e eficiente, em razo da integrao entre VPN e
streaming de vdeo.
Palavras-chave: VPN; streaming de vdeo; criptografia.

vii

ABSTRACT

The growth of the Internet linked to the increasing speeds of a broadband, it became a
convenient way for data transmission in corporative level, such as the transmission of
streaming video-based client-server model. However, when one wants to transmit data
securely and reliably, the Internet is not the best choice, because the information travels in it
may be susceptible to being captured and / or displayed improperly. Therefore, the VPN
(Virtual Private Network) appears as an alternative cheap and feasible for this type of
transmission, since such a structure is built on the public network of communication and
ensures a secure transmission through techniques of tunneling and security methods, with
emphasis encryption. This project intends to develop an alternative to the transmission of
streaming video on the structure created by the VPN tunneling, preconfigured, using free
software that are based on Unix-like operating system. For the configuration of the VPN, it
was used OpenVPN software, working with static key encryption and creating virtual IPs to
the server machine and the client machine. Regarding the streaming video, it was used VLC
Media Player software, in which the user server-side selects a video of interest, and this will
be transmitted via streaming towards the client, through the tunneling created by OpenVPN.
Thus, it becomes evident that you can transmit video safely and efficiently, due to the
integration of VPN and video streaming.
Keywords: VPN; video streaming; encryption.

viii

SUMRIO
1. INTRODUO ..................................................................................................................... 1
1.1 Objetivos ................................................................................................................................ 2
1.2 Organizao do Trabalho ....................................................................................................... 2
2. ASPECTOS TERICOS ...................................................................................................... 3
2.1 SEGURANA ....................................................................................................................... 3
2.1.1 Firewall ............................................................................................................................... 4
2.1.2 Criptografia ......................................................................................................................... 4
2.1.2.1 Criptografia Simtrica ..................................................................................................... 5
2.1.2.2 Criptografia Assimtrica ................................................................................................. 7
2.1.3 Funo de Hash .................................................................................................................. 9
2.1.4 Assinatura Digital ............................................................................................................... 9
2.1.5 Certificado Digital .............................................................................................................. 10
2.2. VIRTUAL PRIVATE NETWORK (VPN) ............................................................................... 11
2.2.1 Principais tipos de VPN ...................................................................................................... 11
2.2.2 Vantagens e Desvantagens da VPN .................................................................................... 13
2.2.3 Principais Caractersticas e Requisitos ............................................................................... 13
2.2.4 Tunelamento ....................................................................................................................... 14
2.2.5 Protocolos de Tunelamento ................................................................................................ 16
2.2.5.1 PPTP ................................................................................................................................ 16
2.2.5.2 L2F .................................................................................................................................. 16
2.2.5.3 L2TP ................................................................................................................................ 17
2.2. 5.4 IPSEC ............................................................................................................................. 17
2.2.5.5 SSL/TLS ........................................................................................................................... 18
2.3. STREAMING DE VDEO ..................................................................................................... 20
2.3.1 Aplicaes Multimdia ....................................................................................................... 21
2.3.1.1 Streaming de Vdeo Armazenado .................................................................................... 21
2.3.1.2 Streaming de Vdeo ao Vivo ........................................................................................... 22
2.3.1.3 Vdeo Interativo em Tempo Real .................................................................................... 22
2.3.2 Streaming Unicast e Multicast ........................................................................................... 23
2.3.3 Protocolos Multimdia ........................................................................................................ 24
2.3.3.1 HTTP ............................................................................................................................... 24
2.3.3.2 RTP .................................................................................................................................. 25

ix

2.3.3.3 RTCP ............................................................................................................................... 26


2.3.3.4 RTSP ................................................................................................................................ 27
2.3.4 Codec e Compresso de dados ........................................................................................... 29
2.4. FERRAMENTAS PARA VPN ............................................................................................. 29
2.4.1 FreeS/Wan .......................................................................................................................... 29
2.4.2 OpenVPN ............................................................................................................................ 30
2.5. FERRAMENTAS PARA STREAMING DE VDEO ........................................................... 31
2.5.1 VLC Media Player .............................................................................................................. 32
2.5.2 Flumotion Streaming Software ........................................................................................... 32
3. METODOLOGIA DE DESENVOLVIMENTO ................................................................. 34
3.1 FERRAMENTAS UTILIZADAS ......................................................................................... 34
3.2 CONFIGURAO DA VPN ................................................................................................ 34
3.2.1 Cenrio de Configurao .................................................................................................... 34
3.2.2 Instalao do OpenVPN ...................................................................................................... 35
3.2.3 Driver TUN/TAP ................................................................................................................ 35
3.2.4 Gerao de Chave de Criptografia ...................................................................................... 36
3.2.5 Cpia de Chave Esttica para o Cliente ............................................................................. 37
3.2.6 Configurao do Servidor ................................................................................................... 38
3.2.7 Configurao do Cliente ..................................................................................................... 40
3.2.8 Inicializao da VPN no Servidor ....................................................................................... 41
3.2.9 Inicializao da VPN no Cliente ......................................................................................... 43
3.2.10 Testes de Conexo ............................................................................................................ 45
3.2.11Acesso ao Servidor ............................................................................................................ 47
3.3. CONFIGURAO DO SERVIDOR DE STREAMING DE VDEO .................................. 47
3.3.1 Cenrio de Configurao .................................................................................................... 47
3.3.2 Instalao do VLC ............................................................................................................... 48
3.3.3 Configurao Manual de Streaming de Vdeo no Servidor ................................................ 49
3.3.5 Acesso do Cliente ao Streaming de Vdeo ......................................................................... 58
3.3.6 Automatizao do Processo com Script ............................................................................. 59
3.4 TESTES DE INTEGRAO ................................................................................................ 61
4. RESULTADOS E DISCUSSES ........................................................................................ 63
5. CONCLUSES ...................................................................................................................... 65
5.1 Sugestes de Trabalhos Futuros ............................................................................................ 65

6. REFERNCIAS BIBLIOGRFIAS ................................................................................... 66

xi

LISTA DE SIGLAS

AVI

Audio Video Interleave

DVD

Digital Video Disc

FLAC

Free Lossless Audio Codec

IP

Internet Protocol

IPX

Internetwork Packet Exchange

JPEG

Joint Photographic Experts Group

LAN

Local Area Nerwork

MP3

MPEG-1/2 Audio Layer 3

MPEG

Moving Picture Experts Group

OGM

Ogg Media File

PCM

Pulse Code Modulation

QoS

Quality Of Service

SSH

Secure Shell

TCP

Transmission Control Protocol

UDP

User Datagram Protocol

VCD

Video Compact Disc

VCR

Video Cassette Recorder

VLC

VideoLAN Client

VLS

VideoLAN Server

WAV

Waveform Audio Format

xii

LISTA DE FIGURAS

Figura 1: Exemplo de Firewall .................................................................................................... 4


Figura 2: Modelo de criptografia simtrica ................................................................................. 6
Figura 3: Criptografia Assimtrica .............................................................................................. 8
Figura 4: Autenticao ................................................................................................................. 8
Figura 5: Processo de Assinatura Digital .................................................................................... 10
Figura 6: Arquitetura Host-Host .................................................................................................. 12
Figura 7: Arquitetura Host-Rede ................................................................................................. 12
Figura 8: Arquitetura Rede-Rede ................................................................................................ 13
Figura 9: Processo de Tunelamento ............................................................................................ 15
Figura 10: Camadas do modelo TCP/IP modificadas com SSL .................................................. 19
Figura 11: Camadas do protocolo SSL ........................................................................................ 20
Figura 12: Processo de Streaming ............................................................................................... 21
Figura 13: Streaming Unicast ...................................................................................................... 23
Figura 14: Streaming Multicast ................................................................................................... 24
Figura 15: RTP sobre UDP........................................................................................................... 25
Figura 16: Comunicao RTSP .................................................................................................... 28
Figura 17: Contedo da chave esttica ........................................................................................ 36
Figura 18: Transferncia da chave esttica .................................................................................. 38
Figura 19: Inicializao da VPN no servidor ............................................................................... 42
Figura 20: Contedo do arquivo servidor.log .............................................................................. 43
Figura 21: Contedo do arquivo servidor-status.log ................................................................... 43
Figura 22: Inicializao da VPN no cliente ................................................................................. 44
Figura 23: Contedo do arquivo cliente.log ................................................................................ 45
Figura 24: Contedo do arquivo cliente-status.log ...................................................................... 45

xiii

Figura 25: Teste de conexo com o cliente ................................................................................. 46


Figura 26: Teste de conexo com o servidor ............................................................................... 46
Figura 27: Acesso ao servidor ..................................................................................................... 47
Figura 28: Integrao de VPN com Streaming de vdeo ............................................................. 48
Figura 29: Configurao Grfica do VLC .................................................................................... 49
Figura 30: Adicionar Arquivo de vdeo ....................................................................................... 50
Figura 11: Seleo do Arquivo .................................................................................................... 50
Figura 32: Incio do Fluxo ........................................................................................................... 51
Figura 33: Confirmao da Fonte ................................................................................................ 51
Figura 34: Seleo do Protocolo .................................................................................................. 52
Figura 35: Configurao RTSP .................................................................................................... 53
Figura 36: Encapsulamento ......................................................................................................... 54
Figura 37: Codec de Vdeo .......................................................................................................... 54
Figura 38: Codec de udio ........................................................................................................... 55
Figura 39: Seleo do Perfil ........................................................................................................ 56
Figura 40: Fluxo Gerado ............................................................................................................. 57
Figura 41: Transmisso do streaming de vdeo ........................................................................... 57
Figura 42: Acesso do cliente ....................................................................................................... 58

xiv

LISTA DE TABELAS
Tabela 1: Especificaes dos Computadores ............................................................................... 35
Tabela 2: Mtricas para Streaming com VPN ............................................................................. 64
Tabela 3: Mtricas para Youtube ................................................................................................. 64

1. INTRODUO
Atualmente, com o crescimento da Internet, o constante aumento de sua rea de
abrangncia, e a expectativa de uma rpida melhoria na qualidade dos meios de comunicao
associada ao aumento das velocidades de acesso com banda larga, a mesma passou a ser vista
como um meio conveniente para as comunicaes corporativas. No entanto, a transmisso de
dados sensveis pela rede somente se torna possvel com o uso de tecnologias que tornem esse
meio altamente inseguro em um meio confivel. Com essa abordagem, o uso de VPN (Virtual
Private Network) sobre o modelo de referncia TCP/IP parece ser uma alternativa vivel e
adequada (ROSSI e FRANZIN, 2010).
Assim, uma VPN, ou Rede Privada Virtual, uma rede privada construda sobre a
infra-estrutura de uma rede pblica, normalmente a Internet. Ou seja, ao invs de se utilizar
links dedicados ou redes de pacotes (como Frame Relay e X.25) para conectar redes remotas,
utiliza-se a infra-estrutura da Internet.
Alm de estabelecer comunicao entre duas redes privadas, as VPNs tm que garantir
alguns aspectos em termos de comunicao segura, como: confidencialidade, autenticao,
integridade e disponibilidade dos dados (KUROSE e ROSS; 2003).
Uma VPN baseada em conceitos de tunelamento, na qual existem vrios protocolos
que podem ser utilizados para a transferncia de dados pela rede pblica (Internet), sendo que
o tunelamento pode ser definido como o processo de encapsular um protocolo dentro de outro.
Analisando-se os principais conceitos de segurana e tunelamento, nota-se que o
mtodo de criptografia de extrema importancia durante a definio de uma VPN. Alm da
criptografia, pode-se ter outros mtodos de segurana, como funes de hash, assinatura
digital e certificado digital.
Deste modo, podemos ter diversas aplicaes trabalhando em conjunto com a VPN,
sempre levando em considerao tcnicas de segurana, por meio de criptografia. Uma dessas
aplicaes, que ser o objetivo do trabalho, a transmisso de streaming de vdeo pela VPN,
onde todos os dados da transmisso estariam protegidos por meio de mtodos de segurana e
tunelamento. Nesse caso, interceptores externos, que no esto conectados na VPN, no
conseguiriam visualizar um vdeo sigiliso ou dedicado, por exemplo.
Podemos definir streaming como uma forma de distribuir informao multimdia
numa rede atravs de pacotes. Em streaming, as informaes da mdia no so usualmente
arquivadas pelo usurio que est recebendo o stream, mas sim a mdia geralmente

constantemente reproduzida medida que chega ao usurio se a sua banda for suficiente para
reproduzir a mdia em tempo real.
Em suma, neste trabalho, fazeremos uso de softwares livres, tanto para configurar a
VPN como para configurar um servidor de streaming de vdeo em cima de plataforma Unixlike, sendo utilizado o sistema operacional Ubuntu. Desta forma, poderemos estudar os
conceitos do projeto sem maiores problemas de restrines, possuindo total liberdade de
configurao e desenvolvimento, para depois realizarmos integrao e testes.

1.1 Objetivos
A elaborao deste projeto tem como objetivo estudar os principais conceitos de Rede
Virtual Privada, que utilizada amplamente em diversos lugares para transmisso segura de
dados entre redes distintas, propondo a aplicao destes conceitos na transmisso de
streaming de vdeo de maneira segura e eficiente, em ambiente livre.

1.2 Organizao do Trabalho


No Captulo 2 so apresentados os principais aspectos tericos que sero importantes
para o estudo e elaborao deste trabalho. Tem-se um detalhamento dos conceitos de
segurana, VPN (Virtual Private Network) e streaming de vdeo em rede de computadores.
Alm, de uma anlise e seleo das principais ferramentas que sero teis na configurao da
VPN e streaming de vdeo.
O Captulo 3 descrito como foi realizada a configurao da VPN e do servidor de
streaming de vdeo, explicando passo a passo os detalhes das configuraes, atravs do
software OpenVPN e do software VLC Media Player. Tambm descreve como foi feito os
testes de integrao.
No Captulo 4, tm-se os resultados e discusses feitos atravs de testes realizados
depois de todas as configuraes prontas, comparando o projeto com outra aplicao de
streaming de vdeo.
Por fim, no Captulo 5 tem-se a concluso deste projeto, bem como sugestes para
trabalhos futuros.

2. ASPECTOS TERICOS
Este captulo tem como principal objetivo realizar uma reviso bibliogrfica dos
principais aspectos tericos que sero fundamentais para o desenvolvimento do projeto. Em
virtude disto, ser descrito e analisado os principais conceitos de segurana, VPN (Virtual
Private Network) e streaming de vdeo. Alm disso, ser feito uma anlise e seleo das
principais ferramentas para configurao de VPN e streaming de vdeo.

2.1 SEGURANA
Segundo TANENBAUM (2003), a segurana um assunto abrangente e inclui diversos
tipos de problemas. De maneira geral, a segurana foca-se em garantir que pessoas malintencionadas no leiam ou modifiquem secretamente mensagens enviadas a outros
destinatrios.
Com a introduo do computador, tornou-se evidente a necessidade de ferramentas
automatizadas para proteger arquivos e outras informaes armazenadas no computador. Esse
especialmente o caso de um sistema compartilhado, como um sistema de time-sharing. A
necessidade ainda mais evidente para sistemas que podem ser acessados por meio de uma
rede telefnica pblica, rede de dados ou a Internet. O nome genrico para o conjunto de
ferramentas projetadas para proteger dados e impedir hackers a segurana do computador
(STALLINGS, 2008).
Deste modo, conforme KUROSE e ROSS (2004), pode-se identificar as seguintes
propriedades desejveis para uma comunicao segura:

Confidencialidade: Somente o remetente e o destinatrio pretendido devem


poder entender a mensagem transmitida;

Autenticao: O remetente e o destinatrio precisam confirmar a identidade da


outra parte envolvida na comunicao;

Integridade: Mesmo que o remetente e o destinatrio consigam se autenticar


reciprocamente, eles tambm querem assegurar que o contedo da
comunicao no seja alterado, por acidente ou por m inteno, durante a
transmisso.

Disponibilidade: Manter os recursos disponveis, mesmo em caso de ataques.

2.1.1 Firewall
Um firewall uma combinao de hardware e software que tem a funo de isolar a
rede interna de uma organizao da Internet, permitindo que alguns pacotes passem e
bloqueando outros, conforme mostra a Figura 1:

Fonte: CASNOVA (2010)


Figura 1: Exemplo de um Firewall

H mais de uma forma de funcionamento de um firewall, que varia de acordo com o


sistema, aplicao ou do desenvolvedor do programa. No entanto, existem dois tipos bsicos
de conceitos de firewalls: o que baseado em filtragem de pacotes IP e o que baseado em
controle de aplicaes, que geralmente instalado em servidores e so conhecidos como
Proxy.

2.1.2 Criptografia
De acordo com TANENBAUM (2003), a palavra criptografia vem das palavras gregas
(Kryptos = escondido, oculto e Grafia = escrita) que significam escrita secreta. As
mensagens a serem criptografadas, conhecidas como texto simples (plain text) so

transformadas por uma funo que parametrizada por uma chave. Em seguida, a sada do
processo de criptografia, conhecida como texto cifrado (cipher text), transmitida,
normalmente atravs de um mensageiro. Presume-se que o inimigo, ou intruso, oua e copie
cuidadosamente o texto cifrado completo. No entanto, ao contrrio do destinatrio pretendido,
ele no conhece a chave pra descriptografar o texto e, portanto, no pode faz-lo com muita
facilidade.
Em sistemas de criptografia, deve-se observar que a chave o elemento mais
importante. A chave formada por uma combinao de bits, e quanto maior for esta
combinao, maior ser a segurana adquirida, entretanto ocorrendo uma maior sobrecarga de
processamento. Ento, dependendo do tipo de chave utilizada, tem-se criptografia simtrica
ou criptografia assimtrica.

2.1.2.1 Criptografia Simtrica


Na tcnica de criptografia simtrica, tem-se a mesma chave para criptografar e
decriptografar os dados. Logo, esta chave ser previamente trocada entre o emissor e receptor,
por meio de uma comunicao segura.
Segundo STALLINGS (2008), um esquema de criptografia simtrica possui cinco
componentes (Figura 2):

Texto claro: Esta a mensagem ou dados originais, como entrada para o


algoritmo.

Algoritmo de criptografia: O algoritmo de criptografia realiza diversas


substituies e transformaes no texto claro.

Chave secreta: A chave secreta tambm a entrada para o algoritmo de


criptografia. A chave um valor independente do texto claro e do algoritmo. O
algoritmo produzir uma sada diferente, dependendo da chave especfica
sendo usada no momento. As substituies e transformaes exatas realizadas
pelo algoritmo dependem da chave;

Texto cifrado: Essa a mensagem embaralhada, produzida como sada. Ela


depende do texto claro e da chave secreta.

Algoritmo de decriptografia: Esse basicamente o algoritmo de criptografia


executado de modo inverso. Ele toma o texto cifrado e a chave secreta e produz
o texto claro original.

Fonte: STALLINGS (2008)


Figura 2: Modelo de criptografia simtrica
A criptografia simtrica possui algumas desvantagens em relao transmisso das
chaves, pois caso esta transmisso no seja segura o bastante, a segurana de toda a
criptografia da informao pode ficar comprometida. Ento como uma chave gerada para a
comunicao entre duas pessoas, a segurana nessas chaves dever ser alta. E se o nmero de
emissores e receptores for grande, necessariamente tem-se um elevado nmero de chaves para
gerenciar.
Entretanto, a criptografia simtrica possui a vantagem em relao alta velocidade
para codificao e decodificao dos dados.
De acordo com ASSIS (2003), existem vrios algoritmos simtricos que produzem
chaves de tamanhos variados:

Data Encryption Standard (DES): 56 bits;

Triple Data Encryption Standard (3DES): 112 bits;

Blowfish: at 448 bits;

Twofish: 128, 192 ou 256 bits;

Advanced Encryption Standard (AES): 128, 192 ou 256 bits.

Nesses algoritmos, quanto maior a chave, maior ser a segurana adquirida.

2.1.2.2 Criptografia Assimtrica


Na criptografia assimtrica, a criptografia e a decriptografia so realizadas usando
chaves diferentes, na qual existe uma chave privada e uma chave pblica. Desta forma, tal
mtodo transforma o texto claro em texto cifrado usando uma das duas chaves e um algoritmo
de criptografia, e usando a outra chave associada e um algoritmo de decriptografia, o texto
claro recuperado a partir do texto cifrado.
Segundo STALLINGS (2008), um esquema de criptografia assimtrica possui seis
componentes:

Texto claro: Essa a mensagem ou dados legveis, como entrada para o


algoritmo;

Algoritmo de criptografia: O algoritmo de criptografia realiza vrias


transformaes no texto claro;

Chaves pblicas e privadas: Esse um par de chaves que foi selecionado de


modo que, se uma for usada para criptografia, a outra ser usada para
decriptografia. As transformaes exatas realizadas pelo algoritmo dependem
da chave pblica ou privada que fornecida como entrada;

Texto cifrado: Essa a mensagem codificada produzida como sada. Ela


depende do texto claro e da chave. Para uma determinada mensagem, duas
chaves diferentes produziro dois textos cifrados diferentes;

Algoritmo de decriptografia: Esse algoritmo aceita o texto cifrado e a chave


correspondente e produz o texto claro original.

As etapas essenciais so as seguintes:


1. Cada usurio gera um par de chaves a ser usado para a criptografia e a
decriptografia das mensagens.
2. Cada usurio coloca uma das duas chaves em um registro pblico ou outro
arquivo acessvel. Essa a chave pblica. A outra chave permanece privada.
3. Se um emissor deseja enviar uma mensagem confidencial para receptor, o
emissor criptografa a mensagem usando a chave pblica do receptor.
4. Quando o receptor recebe a mensagem, ele a decriptografa usando sua chave
privada. Nenhum outro destinatrio pode decriptografar a mensagem, pois somente o
receptor conhece a sua chave (Figura 3).

Fonte: STALLINGS (2008)


Figura 3 - Criptografia Assimtrica

No entanto, se o emissor faz o uso da chave privada para cifrar a mensagem, qualquer
pessoa na rede poder decifr-la, j que a chave pblica conhecida por todos. Ento, apenas
garante-se a autenticidade da mensagem (Figura 4).

Fonte: STALLINGS (2008)


Figura 4 Autenticao

A grande desvantagem desse tipo de criptografia sua velocidade de processamento


dos dados, uma vez que faz uso de mais que um tipo de chave para criptografia, alm de
possuir uma estrutura mais complexa.
O principal algoritmo assimtrico o RSA (Rivest Shamir Addleman) que um padro
criado em 1977 e que utiliza chaves de 512, 768, 1024 ou 2048 bits. Tal algoritmo explora

propriedades especficas dos nmeros primos e a dificuldade de fator-los mesmo em


equipamentos velozes.

2.1.3 Funo de Hash


Uma funo de Hash tem como principal funo produzir um nmero, atravs da
mensagem que um determinado emissor quer transmitir. Este nmero tambm conhecido
como resumo, que ir representar unicamente a mensagem a ser enviada. Ento, quando um
determinado receptor receber a mensagem, este dever recalcular a funo de hash para
verificar se o resumo teve alguma alterao. Se este resumo for diferente significa que a
mensagem foi alterada, violando o princpio da integridade.
Deve-se destacar que, a partir de um dado resumo, de extrema importncia no ser
possvel descobrir a mensagem original, alm de ser improvvel que duas mensagens
produzam o mesmo resumo.
Segundo ASSIS (2003), dentre os principais algoritmos para realizao de funo
hash, destacam-se

Message Digest 5 (MD5) que retorna um resumo de 128 bits;

Secure Hash Algorithm 1 (SHA-1) que retorna um resumo de 160 bits;

Secure Hash Algorithm 2 (SHA-2), que retorna um resumo que pode ter 256, 384 e
512 bits.

2.1.4 Assinatura Digital


A Assinatura Digital uma funo de assinatura eletrnica que consiste em um selo
eletrnico que acrescentado a um documento e que criado atravs de um sistema de
criptografia assimtrica, ou seja, a chave privada serve para assinar o documento e a chave
pblica serve para verificar a assinatura.
Ento, um sistema de assinatura digital simples possui o seguinte processo: quando um
emissor quer assinar sua mensagem para ser entregue a um receptor, ele ir fazer uso de sua
chave privada para assinar a mensagem. No momento que o receptor receber esta mensagem,
ele ir utilizar a chave pblica do emissor para produzir uma cpia da mensagem e fazer uma
comparao com a recebida. Desta forma, pode-se claramente comprovar que foi realmente o

10

emissor original da mensagem que a enviou, no sendo alterada durante a transmisso.


(Figura 5)

Emissor

Receptor

Canal Inseguro

Chave

Chave

Secreta

Pblica

Emissor

Emissor

Cifrar

Decifrar
Canal Inseguro

Fonte: GUILHERME (2010)


Figura 5 Processo de Assinatura Digital

Adicionalmente, o processo de assinatura digital pode tambm usar o conceito de


funo de hash. Como o uso de algoritmos de chaves pblicas nas assinaturas digitais pode
causar muita demora em um processo de decifragem, a funo de hash se mostra como uma
soluo ideal.

2.1.5 Certificado Digital


O certificado digital um tipo de documento que armazena a chave pblica de um
usurio e seus dados de identificao. Este documento deve ser assinado e reconhecido por
uma entidade confivel, conhecida como Autoridade Certificadora.
Logo, os certificados digitais so utilizados para garantir a integridade e origem de
chaves pblicas depositadas em bases de dados de acesso pblico. O padro mais utilizado
para certificados digitais o denominado X.509.
Um Certificado Digital normalmente possui as seguintes informaes:

Nome da pessoa ou entidade a ser associada chave pblica;

Perodo de validade do certificado;

11

Chave pblica;

Nome e assinatura da entidade que assinou o certificado;

Nmero de srie.

Portanto, conseguindo uma chave pblica de um usurio associada a um certificado,


confiando-se na autoridade certificadora, podemos ter certeza de que a chave realmente
pertence ao usurio solicitado.

2.2. VIRTUAL PRIVATE NETWORK (VPN)


A sigla VPN significa Virtual Private Network, ou seja, Redes Privadas Virtuais, onde:

Rede corresponde s redes de computadores;

Privada corresponde forma como os dados trafegam neste caso os dados


podem ser criptografados o que garante a privacidade das informaes;

Virtual por no fazerem, necessariamente, parte do mesmo meio fsico


(FAGUNDES, 2007).

Ento, uma VPN uma rede privada construda sobre a infra-estrutura de uma rede
pblica j existente, normalmente a Internet, onde o acesso e a troca de dados s so
permitidos a pessoas que estejam autorizadas. Desta forma, tem-se a construo de um tnel
entre duas ou mais redes, pelo qual pode ser configurado para garantir autenticidade de dados,
sigilo de informao, controle de acesso atravs de criptografia do trfego de informao
entre uma rede e outra.

2.2.1 Principais Tipos de VPN


Existem basicamente, trs tipos de configurao para o uso de uma VPN:

Host- Host: Neste tipo de configurao de VPN, h o estabelecimento de um tnel


seguro entre duas mquinas (hosts), para que ambas possam se comunicar atravs do
meio pblico (Internet). As mquinas podem estar em redes separadas ou na mesma
rede, tal como ilustra a Figura 6:

12

Fonte: 3WAY (2010)


Figura 6 - Arquitetura Host Host

Host Rede: Neste tipo de configurao de VPN, a principal finalidade estabelecer


uma comunicao de um host externo com uma rede privada. Por exemplo, esta
estrutura pode ser utilizada quando se deseja estabelecer comunicao entre um
computador de casa com a rede privada corporativa de uma empresa, tal como ilustra a
Figura 7.

Fonte: 3WAY (2010)


Figura 7- Arquitetura Host Rede

Rede Rede: Neste tipo de configurao de VPN, tem-se como principal finalidade
estabelecer a comunicao entre duas redes distintas. Um exemplo deste tipo de VPN
quando se deseja interligar a rede matriz de uma empresa com a rede filial desta
mesma empresa, para que ambas se comuniquem de maneira segura, tal como
representado na Figura 8.

13

Fonte: 3WAY (2010)


Figura 8 - Arquitetura Rede Rede

2.2.2 Vantagens e Desvantagens da VPN


Segundo CHIN (2010), uma das grandes vantagens decorrentes do uso das VPNs a
reduo de custos com comunicaes corporativas, pois elimina a necessidade de links
dedicados de longa distncia que podem ser substitudos pela Internet. As LANs podem, por
exemplo, atravs de links dedicados ou discados, conectarem-se a algum provedor de acesso
local e interligar-se a outras LANs, possibilitando o fluxo de dados atravs da Internet.
No entanto, uma VPN depende da rede pblica (Internet) para realizao de suas
conexes. Logo, esta rede pblica deve estar quase que sempre disponvel, porm isto
praticamente impossvel, pois podem ocorrer falhas nas mesmas, falhas de seguranas,
ataques externos, etc.

2.2.3 Principais Caractersticas e Requisitos


De acordo com CHIN (2010), quando se desenvolve um VPN, deve-se ter em mente
algumas caractersticas e requisitos que podem fazer parte do projeto a ser implementado.
Dentre as principais caractersticas, destacam-se:

Autenticao de usurio: Verificao da identidade do usurio, restringindo o acesso


s pessoas autorizadas. Na maioria de vezes, temos recursos de usurio e senha para
garantir a autenticao;

14

Gerenciamento de endereos: O endereo do cliente na sua rede privada no deve


ser divulgado, devendo-se adotar endereos fictcios para o trfego externo, ou seja,
so criados endereos virtuais quando se estabelece um tnel entre duas pontas da
rede;

Compresso e Criptografia dos dados: Os dados devem trafegar na rede pblica ou


privada num formato cifrado e, caso sejam interceptados por usurios no autorizados,
no devero ser decodificados, garantindo a privacidade da informao. Alm disso,
tais dados devem ser comprimidos e compactados, quando forem transferidos para o
canal de comunicao da VPN;

Gerenciamento de chaves: O uso de chaves que garantem a segurana das


mensagens criptografadas deve funcionar como um segredo compartilhado
exclusivamente entre as partes envolvidas. O gerenciamento de chaves pode garantir a
troca peridica das mesmas, visando manter a comunicao de forma segura;

Suporte a mltiplicos protocolos: Uma VPN pode dar suporte aos mais variados
tipos de protocolos existentes usados em redes pblicas, como: IP, IPX, Appletalk, etc.

2.2.4 Tunelamento
De acordo com MARLETA (2007), o tunelamento uma tcnica utilizada pela VPN
para encapsular um protocolo dentro de outro. Assim, pode-se utilizar esta tcnica para que
seja possvel que um pacote dentro de uma rede que no usa o protocolo IP, possa trafegar
pela Internet.
No entanto, quando se utiliza o tunelamento por meio de VPN, existem estratgias de
criptografia a serem adicionadas ao processo, antes de encapsular um pacote que ir ser
transportado pela rede. Logo, o processo de tunelamento em uma VPN composto pelas
seguintes fases (ASSIS, 2003):

Criptografia dos dados: Criptografar o pacote a ser transportado, de forma que o


torne ilegvel em caso de interceptao da transmisso;

Encapsulamento: Um dado protocolo de tunelamento encapsula os pacotes com um


cabealho que contm informaes de roteamento, com identificao do destino do
pacote;

15

Transmisso ao longo da rede: Os pacotes so roteados entre as extremidades do


tnel na rede intermediria (rede pblica), at chegarem ao seu destino;

Desencapsulamento: No destino, o pacote desencapsulado, deixando apenas


informaes do protocolo da rede local;

Decriptografia dos dados: Realiza a descriptografia dos pacotes finais, de forma que
o torne legvel para a outra extremidade do tnel.

A Figura 9 ilustra o processo de tunelamento:

Fonte: CHIN (2010)


Figura 9 - Processo de Tunelamento

Segundo ASSIS (2003), pode-se ter dois tipos de tunelamento:

Tunelamento Voluntrio: Quando uma estao de trabalho ou um servidor utiliza um


software para o cliente de tunelamento para criar uma conexo at o servidor VPN.
Este mtodo utilizado por clientes dial-up que primeiro conectam-se a Internet, para
depois criar o tnel utilizando o software, com isso o cliente passa a ser o fim do tnel;

Tunelamento Compulsrio: Neste tipo de tunelamento, o computador do usurio no


funciona como extremidade do tnel. Existe um servidor de acesso remoto, que est
localizado entre o computador do usurio e o servidor do tnel, pelo qual funciona
como uma das extremidades do tnel. Desta forma, no necessrio que os clientes de
rede tenham software cliente para tunelamento.

16

2.2.5 Protocolos de Tunelamento


Existem diversos protocolos utilizados para definir como os pacotes sero
encapsulados para serem transmitidos na rede pblica, alm de definir como uma chave de
criptografia ser compartilhada entre os integrantes da comunicao e o tipo de autenticao
que ser utilizada. Desta maneira, dependendo do tipo de protocolo utilizado, estes podem
atuar em camadas diferentes do modelo TCP/IP. Os principais protocolos utilizados para o
tunelamento so: PPTP (Point-to-Point Tunneling Protocol), L2F (Layer-2-Forwarding),
L2TP (Layer Two Tunneling Protocol), IPSEC (IP Security) e SSL/TLS (Secure Sockets
Layer/ Transport Layer Security).

2.2.5.1 PPTP
O PPTP (Point-to-Point Tunneling) um protocolo de tunelamento para acesso
discado, tendo como principal desenvolvedor a Microsoft. Para se realizar criptografia
necessita-se de mtodos especficos de autenticao em que seja possvel a troca de uma
chave, j que a criptografia simtrica. No faz autenticao de pacotes e o tnel construdo
com computadores remotos, sendo, por isso, chamados de tneis voluntrios, ou seja, o
prprio sistema permite que o usurio final configure e estabelea conexes sem a
intermediao do provedor de acesso, fazendo o encapsulamento dos pacotes fim a fim
(MARLETA, 2007).
O protocolo PPTP capaz de lidar com outros tipos de pacotes, alm do IP, como o
IPX (Internet Packet Exchange) e o NetBEUI (Network Basic Input/Output System Extended
User Interface), pois um protocolo baseado na camada de enlace. Este tipo de caracterstica
torna-se a grande vantagem desse protocolo.

2.2.5.2 L2F
O L2F (Layer-2-Forwarding) um protocolo cujo principal desenvolvedor foi a
Cisco. Tinha como misso permitir que provedores de acesso ou empresas de
telecomunicaes oferecessem ao mercado acesso remoto discado para redes privadas. Desta

17

forma, as empresas no necessitariam adquirir modems ou equipamentos de acesso remoto.


Neste protocolo, o tnel formado pelo provedor de acesso e no do computador remoto, por
isso so chamados de tneis compulsrios (MARLETA, 2007).
A grande vantagem desse protocolo que os tneis podem suportar mais de uma
conexo, o que no possvel no protocolo PPTP. E assim como o PPTP, tambm permite
lidar com outros pacotes diferentes, como o IPX e NetBEUI (Network Basic Input/Output
System Extended User Interface) por ser um protocolo baseado na camada de enlace.

2.2.5.3 L2TP
Este protocolo foi criado pela IETF (Internet Engennering Task Force) para resolver as
falhas do PPTP e do L2F. Na verdade, utiliza os mesmo conceitos do L2F e assim como este,
foi desenvolvido para transportar pacotes por diferentes meios, como X.25, frame-relay e
ATM e tambm capaz de lidar com outros pacotes diferentes, como o IPX e o NetBEUI
(CATRAMBY, 2010).
No entanto, o protocolo L2TP faz uso de um tunelamento compulsrio, pelo qual temos
a criao do mesmo por um provedor de acesso, que no permite a um determinado usurio
realizar participao na criao do tnel. Assim, antes do tnel ser instalado, o usurio
autenticado pelo provedor de acesso e depois autenticado quando a conexo estabelecida
entre as duas pontas da comunicao VPN.

2.2.5.4 IPSEC
O protocolo IPSEC (IP Security) considerado um conjunto de protocolos da camada
de rede, que define a arquitetura e as especificaes para prover servios de segurana dentro
do protocolo IP. Foi desenvolvido pela IP Security Work Group da IETF e ser um padro
utilizado para o IPV6. Logo, o IPSEC foi padronizado para garantir interoperabilidade,
mecanismo de criptografia para o IPV4 e tambm para o IPV6. No se pode esquecer que o
IPSEC tem como principais caractersticas fornecer servios de segurana, incluindo
integridade dos dados, autenticao, confidencialidade e limite do fluxo de trfego
(MARLETA, 2007).

18

O protocolo IPSEC pode trabalhar de 2 modos distintos, que so os seguintes


(VASQUES e SCHUBER, 2002):

Modo Transporte: Este modo utilizado quando se trabalha com uma arquitetura de
VPN Host-Host, na qual o host responsvel pelo encapsulamento, e medida que os
pacotes vo sendo criados so adicionados cabealhos IPSEC entre o cabealho IP
original e os dados;

Modo Tnel: Este modo utilizado entre comunicao de gateways, na qual o


gateway responsvel pelo encapsulamento, que mais tarde ir desencapsular em
outra ponta da comunicao para ser entregue ao host. Ento, o pacote original
encapsulado em um novo pacote com criptografia do IPSEC, incluindo um cabealho
original. Este modo bem mais seguro, em comparao com o outro modo.
Alm disso, o protocolo IPSEC constitudo de vrios outros protocolos que garantem

a segurana durante a transmisso de informaes pela rede pblica. Os dois principais


protocolos so (FAGUNDES, 2007):

AH (Autentication Header): Este protocolo garante autenticidade e a integridade do


pacote, ou seja, que este no foi modificado durante a sua transmisso;

ESP (Encapsulating Security Payload): Este protocolo fornece autenticao,


confidencialidade e integridade dos dados trafegados durante a comunicao.

2.2.5.5 SSL/TLS
O protocolo SSL (Secure Sockets Layer) foi originalmente desenvolvido pela empresa
Netscape e ao ser padronizado recebeu o nome de TLS (Transport Layer Security), sendo que
a verso TLS 1.0 equivalente ao SSL 3.0.
O SSL foi projetado para fornecer criptografia dos dados e autenticao entre um
cliente e um servidor Web. O protocolo comea com uma fase de apresentao mtua que
negocia um algoritmo de criptografia e chaves, e depois autentica o servidor para o cliente,
tambm podendo o cliente ser autenticado para o servidor. Uma vez concluda a apresentao
mtua e iniciada a transmisso de dados da aplicao, todos os dados so criptografados
usando chaves de sesso negociadas durante a fase de apresentao mtua (KUROSE, 2004).

19

Um exemplo de funcionamento bsico deste tipo de protocolo quando existe um


servidor web que est sendo acessado por meio de um cliente (browser). Neste caso, o
servidor envia uma chave pblica ao browser. O browser usa esta chave para criptografar sua
chave simtrica e envia a mesma para o servidor. Desta forma, servidor e o cliente
compartilham a mesma chave simtrica, podendo ser utilizada para realizar a criptografia de
todos os dados que forem transmitidos entre as duas entidades, dentro de um canal de
comunicao.
Logo, o SSL considerado uma adio de uma nova camada acima da camada de
transporte do modelo TCP/IP, isto , fica entre a camada de transporte e a camada de
aplicao (Figura 10). Ele pode rodar sobre outros protocolos como HTTP, TELNET, FTP,
SMTP dentre outros, transparentemente, de modo que o usurio da aplicao praticamente no
o perceba sua presena. Como exemplo, o HTTPS, que o protocolo HTTP rodando sobre
uma conexo SSL.

Fonte: GTA (2010)


Figura 10 Camadas do modelo TCP/IP modificadas com SSL

O protocolo SSL dividido em duas camadas (Figura 11): Record e Handshake. A


camada Record responsvel por encapsular os dados das camadas superiores em pacotes
compactados e cifrados e repass-los para a camada de transporte. J a camada Handshake
permite que a aplicao servidora e a aplicao cliente autentiquem-se e negociem os
algoritmos de cifragem e as chaves criptogrficas antes que o protocolo de aplicao receba
ou envie seu primeiro byte (SOUSA e PUTTINI, 2010).

20

Fonte: SOUSA e PUTTINI (2010)


Figura 11 - Camadas do protocolo SSL

2.3 STREAMING DE VDEO


H alguns anos, para se assistir um vdeo na Internet, consumia-se em um elevado
tempo para download, pelo qual o usurio teria que realizar o download completo do vdeo
em seu computador, para depois assisti-lo. Desta forma, surgiu a possibilidade de reproduzir o
vdeo desejado antes mesmo que todo o arquivo fosse gravado localmente no computador. Tal
tecnologia ficou conhecida como streaming, que composta por tcnicas de compresso e
armazenamento em memria temporria (buffer).
O streaming de vdeo funciona da seguinte maneira: O computador cliente conecta-se
com o servidor e este comea a lhe enviar o arquivo de vdeo. O cliente comea a receber o
arquivo de vdeo e constri um buffer onde comea a salvar a informao. Quando o buffer
preenchido com uma pequena parte do arquivo, conhecido como stream, o cliente comea a
executar e ver o arquivo em um player enquanto, simultaneamente, o download continuado.
Portanto, o sistema est sincronizado para que o arquivo possa ser visto enquanto se baixa o
arquivo, podendo ser rpido ou no dependendo da banda de rede disponvel do usurio
(ALVAREZ, 2010).
A Figura 12 demonstra essa interao, onde uma fonte (servidor) envia um arquivo por
meio de fluxo de dados (stream) que sero entregues ao destino (cliente):

21

Fonte: SAUV (2010)


Figura 12 - Processo de Streaming

Deve-se destacar que questes relacionadas temporizao e a tolerncia perda de


dados so meramente importantes para aplicaes de multimdia em rede, como o caso de
streaming de vdeo. Consideraes de temporizao so importantes porque muitas aplicaes
de multimdia so altamente sensveis ao atraso. Entretanto, estas aplicaes so mais
tolerantes a perda de dados, na qual perdas esparsas causam pequenas falhas que podem
passar desapercebidas (KUROSE e ROSS, 2004).

2.3.1 Aplicaes Multimdia


Existem diversas aplicaes multmidias, tendo como destaque: Streaming de Vdeo
Armazenado, Streaming de Vdeo ao Vivo e Vdeo Interativo em Tempo Real.

2.3.1.1 Streaming de Vdeo Armazenado


De acordo com KUROSE e ROSS (2004), neste tipo de aplicao multimdia, os
clientes requisitam, sob demanda, arquivos de vdeo comprimidos que esto armazenados em
servidores. Tal aplicao possui trs caractersticas fundamentais:

Mdia armazenada: O contedo de vdeo foi pr-gravado e est armazenado no


servidor. Desta forma, o usurio pode fazer pausa, voltar, avanar, dentre outras
funes, que so similares a um VCR;

Fluxo Contnuo: O cliente inicia a reproduo do vdeo alguns segundos aps


comear a receber o arquivo do servidor. Ou seja, o cliente estar reproduzindo uma

22

parte do arquivo ao mesmo tempo em que est recebendo do servidor partes do


arquivo que esto mais a frente;

Reproduo Contnua: Uma vez que a reproduo comea, isto deve ocorrer de
acordo com o tempo original de gravao, pelo qual a informao deve chegar ao
destino, a tempo de ser vista corretamente pelo cliente.

2.3.1.2 Streaming de Vdeo ao Vivo


Segundo KUROSE E ROSS (2004), neste tipo de aplicao, tem-se uma semelhana
em relao transmisso tradicional de rdio e televiso, no entanto a transferncia da
informao feita pela Internet, permitindo que o usurio receba uma transmisso de rdio ou
televiso ao vivo de qualquer parte do mundo.
Nesta aplicao, um cliente no pode interagir com o vdeo que est recebendo, visto
que o fluxo contnuo de vdeo no armazenado. Entretanto, com o armazenamento local de
dados recebidos, outras operaes interativas, como pausa e retrocesso, so possveis em
alguns casos.

2.3.1.3 Vdeo Interativo em Tempo Real


Essa aplicao permite s pessoas utilizar udio e vdeo para comunicar-se em tempo
real. Dentre as aplicaes interativas em tempo real temos softwares de telefonia e
videoconferncia na Internet, onde dois ou mais usurios podem se comunicar oral e
visualmente.
Para uma conversao com interao entre vrios usurios, o atraso entre o momento
em que o usurio fala ou se move e o momento em que a ao se manifesta nos hospedeiros
receptores deve ser menor que algumas centenas de milissegundo. Portanto, este tipo de
aplicao torna-se mais exigente nos requisitos de atraso de informaes (KUROSE e ROSS,
2004).

23

2.3.2 Streaming Unicast e Multicast


De acordo TSCHKE (2001) o fluxo de dados enviados do servidor para o cliente
pode ser feitos atravs de dois mtodos principais:

Unicast: uma conexo ponto-a-ponto entre o cliente e o servidor, onde cada cliente
recebe seu prprio stream do servidor. Dessa forma, cada usurio conectado ao stream
tem sua prpria conexo e os dados vm diretamente do servidor. A vantagem deste
mtodo que os computadores clientes podem requisitar diretamente o stream do
servidor e a desvantagem cada cliente que conectar ao servidor ir receber um
stream separado, o que ocasiona o aumento de consumo da largura de banda da rede
(Figura 13);

Fonte: CATALIN (2010)


Figura 13 - Streaming Unicast

Multicast: Ocorre quando o contedo transmitido sobre uma rede com suporte
multicast, onde todos os clientes na rede compartilham o mesmo stream. Desta forma,
temos a vantagem de que apenas uma cpia do stream seja enviada na rede para um
grupo de clientes, reduzindo o trfego na conexo. A grande desvantagem deste
mtodo que os clientes no possuem controle em cima dos streams recebidos, ou
seja, no podem avanar, pausar, retroceder, continuar o contedo recebido, apenas o
recebe (Figura 14).

24

Fonte: CATALIN (2010)


Figura 14 - Streaming Multicast

2.3.3 Protocolos Multimdia


Existem vrios protocolos que podem ser utilizados para realizar a transmisso de
streaming de vdeo na Internet, sendo que os principais so: HTTP, RTP, RTCP e RTSP.

2.3.3.1 HTTP
O HTTP (Hypertext Transfer Protocol) um protocolo da camada de aplicao da
Web, na qual implementado em dois programas: um programa cliente e outro servidor. Os
dois programas, executados em sistemas finais diferentes, conversam um com o outro por
meio da troca de mensagens HTTP, sendo que o HTTP define a estrutura dessas mensagens e
o modo como o cliente o servidor as trocam (KUROSE e ROSS, 2004).
Ento, o protocolo HTTP utiliza o protocolo de transporte TCP, pelo qual um cliente
inicia uma conexo TCP com o servidor na porta 80 (porto padro do HTTP). O servidor
aceita a conexo TCP do cliente, e assim mensagens HTTP so trocadas entre o cliente
(normalmente um browser) e o servidor (normalmente um servidor Web). Finalmente a
conexo TCP finalizada e fechada.
Segundo URBITA (2007), o protocolo HTTP no foi criado para streaming de dados,
na qual a comunicao sobre o protocolo HTTP stateless, ou seja, o servidor no mantm
informaes sobre os pedidos passados pelos clientes e usualmente respostas do HTTP
utilizam buffer. Entretanto, a verso HTTP 1.1 adicionou suporte para streaming atravs do

25

cabealho keep-alive, onde uma conexo permanece aberta at ser finalizada pelo cliente ou
pelo servidor.
O protocolo HTTP, normalmente no realiza streaming em tempo real, para fazer este
procedimento, necessita-se de uma largura de banda da rede maior que a taxa de dados do
vdeo. Logo, como tal protocolo roda em cima do protocolo TCP, a sensibilidade de perdas de
pacotes alta, transformando esse protocolo inadequado para streaming ao vivo, sendo mais
utilizada para streaming de vdeo armazenado.

2.3.3.2 RTP
O protocolo RTP (Real Time Protocol) um protocolo que oferece funes de
transporte de rede fim a fim para aplicaes que transmitem fluxos de dados em tempo real.
Logo, o protocolo RTP utilizado para transportar pacotes com formatos de dados para udio
e para vdeo, cujos pacotes RTP normalmente so enviados atravs do protocolo UDP da
camada de transporte da arquitetura TCP/IP. Ou seja, RTP roda em cima do UDP, na camada
de transporte, de acordo com a Figura 15.

Fonte: KUROSE e ROSS (2004)


Figura 15 - RTP sobre UDP

De acordo com ALMEIDA (2010), o protocolo RTP pode ser usado no somente em
uma comunicao ponto a ponto, mas tambm pode ser usada em uma comunicao
multicast. Este protocolo no reserva recursos nem garante qualidade de servio (QoS),
todavia ele na maioria da vezes utilizado em paralelo com o protocolo RTCP (Real Time
Control Protocol) permitindo que haja certa monitorao da comunicao.

26

Alm disso, o RTP permite atribuir a cada fonte (por exemplo, uma cmera ou um
microfone) o seu prprio fluxo de pacotes RTP independente. Por exemplo, para uma
videoconferncia entre dois participantes, quatro fluxos RTP poderiam ser abertos: dois fluxos
para transmitir o udio (um em cada direo) e dois fluxos para o vdeo (novamente, um em
cada direo). Contudo, algumas tcnicas de codificao populares, incluindo MPEG1 e
MPEG2, renem o udio e o vdeo num nico fluxo durante o processo de codificao.
Quando o udio e o vdeo so reunidos pelo codificador, ento apenas um fluxo RTP gerado
em cada direo (KUROSE e ROSS, 2004).
Enfim, segundo KUROSE e ROSS (2004), o protocolo RTP possui diversos campos
especficos localizados dentro de seu cabealho, que oferecem funes importantes ao suporte
de streaming de vdeo. Os principais so:

Tipo de carga: Usado para indicar o tipo de codificao que est sendo usado no
momento, ou seja, o formato dos dados transportados (Ex: Vdeo MPEG1, Vdeo
MPEG2, Motion JPEG, udio MPEG, etc);

Nmero de Seqncia: Um nmero de seqncia incrementado de um a cada


pacote RTP enviado, podendo ser usado para detectar perdas de pacotes e para
recuperar a seqncia de pacotes;

Marca de Tempo: um nmero que permite sincronizar a aplicao servidora e


cliente e eliminar a variao de atraso de pacotes atravs da indicao temporal do
momento em que foi gerado o sinal de streaming;

Identificador de sincronizao da fonte (SSRC Synchronization source


identifier): Identifica a fonte do fluxo RTP, pelo qual cada fluxo numa sesso RTP
deve ter um SSRC distinto.

2.3.3.3 RTCP
O protocolo RTCP (Real Time Control Protocol) normalmente utilizado em conjunto
com o protocolo RTP para monitoramento da comunicao. Cada participante de uma sesso
RTP transmite periodicamente pacotes de controle RTCP para todos os outros participantes.
Deste modo, cada pacote RTCP contm relatrios do transmissor ou do receptor que sero
teis para a aplicao (KUROSE e ROSS; 2004).
Os relatrios gerados pelo protocolo RTCP so compostos por estatsticas que incluem
o nmero de pacotes enviados, nmero de pacotes perdidos, variao de atraso entre

27

chegadas, etc. Estas informaes podem ser utilizadas para controle do desempenho de
transmisso e para fins de diagnstico.
Ento, de acordo com ALMEIDA (2010), o uso das informaes geradas pelos
relatrios importante, quando todos os participantes da comunicao podero estar enviando
pacotes RTCP a todo o momento. Nesta situao necessrio restringir a taxa de transmisses
dos participantes para no sobrecarregar a rede, havendo um controle de banda.

2.3.3.4 RTSP
O RTSP (Real Time Streaming Protocol) um protocolo da aplicao do tipo clienteservidor, na qual permite ao usurio controlar apresentaes de mdia contnua, tais como:
voltar ao incio, avanar, pausar, continuar, etc.
De acordo com KUROSE e ROSS (2004), o RTSP no define e no restringe as
seguintes caractersticas:

No define esquemas de compresso para udio e vdeo;

No define como o udio e vdeo so encapsulados em pacotes para transmisso em


uma rede, sendo que o encapsulamento para mdia de fluxo contnuo pode ser
fornecido por RTP;

No restringe como a mdia contnua transportada, podendo usar UDP ou TCP;

No restringe como o receptor armazena o udio e o vdeo, a qual o udio e o vdeo


podem ser reproduzidos logo que comea a chegar ao cliente, aps um atraso de
alguns segundos, ou pode ser descarregado integralmente antes de ser reproduzido.
O RTSP considerado um protocolo fora de banda, isto , as mensagens de controle

RTSP usam diferentes nmeros de portas em relao ao fluxo de dados de mdia contnua, e,
portanto so enviados fora de banda. J o fluxo de dados de mdia contnua, cuja estrutura
no definida pelo RTSP, considerado dentro de banda. As mensagens RTSP usam o
nmero de porta 554 e a corrente de mdia utiliza um nmero diferente, sendo que as
mensagens RTSP podem ser enviadas por TCP ou UDP (KUROSE e ROSS, 2004).
Na figura 16, tem-se um exemplo de comunicao RTSP entre o cliente e o servidor:

28

Fonte: W3C (2010)


Figura 16 - Comunicao RTSP

Neste exemplo, o cliente obtm uma descrio de apresentao multimdia do


servidor, que pode ser atravs de um servidor Web, usando HTTP. Essa apresentao de
descrio um arquivo que contm informaes sobre a mdia a ser enviada, tais como,
formato de codificao, caracterstica dos fluxos de mdia, etc. Depois disto, o cliente ir
chamar um transdutor de mdia (tocador), com base de contedo da descrio de
apresentao. E, teremos os seguintes passos (KUROSE e ROSS, 2004):
a) O cliente atravs do transdutor envia o comando de requisio RSTP SETUP para
iniciar uma sesso, e o servidor envia uma resposta de confirmao (RTSP OK), que
ir conter um identificador de sesso utilizado nas outras requisies;
b) O cliente atravs do transdutor envia o comando de requisio RSTP PLAY e o
servidor envia uma resposta de confirmao (RTSP OK), iniciando a transmisso dos
dados;
c) O servidor descarrega o fluxo de mdia (udio e vdeo), atravs do protocolo RTP;
d) O cliente atravs do transdutor envia o comando de requisio RSTP PAUSE e o
servidor envia uma resposta de confirmao (RTSP OK), pausando a reproduo do
vdeo;
e) O cliente atravs do transdutor envia o comando de requisio RSTP TEARDOWN e o
servidor envia uma resposta de confirmao (RTSP OK), finalizando a sesso.

29

2.3.4 Codec e Compresso de dados


Um Codec considerado um algoritmo, que possui a responsabilidade de comprimir
dados, quando ocorrer algum tipo de gravao e produo de arquivos de udio ou vdeo, e
descomprimir quando o arquivo estiver sendo executado. Um Codec tambm possui a funo
de realizar a codificao e a decodificao dos dados, isto , converter os sinais analgicos em
sinais digitais.
De acordo com KUROSE e ROSS (2004), a necessidade de digitalizao bvia, uma
vez que as redes de computadores transmitem bits, e toda informao transmitida deve ser
representada como uma seqncia de bits. Logo, a compresso dos dados importante porque
o udio e vdeo no comprimidos consomem um quantidade elevada de capacidade de
armazenamento e de largura de banda. Tais fatores podem prejudicar a transmisso de
streaming de vdeo, na qual exige uma boa qualidade de largura de banda para uma
transmisso sem atrasos.
Existem diversos Codecs para compresso, tanto para udio como para vdeo. Dentre
os Codecs para udio destacam-se PCM, MPEG-Audio, MP3, dentre outros. Os mais
conhecidos para vdeo, tem-se MPEG-1 para vdeo com qualidade de CD-ROM, MPEG-2
para vdeo com qualidade de DVD, MPEG-4 para compresso de vdeo na Internet, entre
vrios outros Codecs.

2.4. FERRAMENTAS PARA VPN


Para a criao de uma VPN, existem vrias ferramentas para o seu desenvolvimento.
Dentre as mais importantes, destacam-se: FreeS/Wan e OpenVPN.

2.4.1 FreeS/Wan
Desenvolvida em 1996, esta ferramenta implementa os protocolos do IPSEC, com a
finalidade de proteger a comunicao da Internet contra ataques de interceptao, utilizando
um mecanismo gratuito. Por usar recursos criptogrficos, o FreeS/WAN sofre com algumas
leis de exportao, principalmente as dos Estados Unidos, que probem a exportao de

30

qualquer software criptogrfico de computadores deste pas, sem a prvia autorizao do


governo. Em geral, estas leis restringem inclusive quando o software j de domnio pblico
ou so oriundos de outros pases. Por esta razo, o projeto no pode aceitar qualquer
contribuio de cidados americanos, nem mesmo para correes de problemas no software
(VASQUES e SCHUBER, 2002).
Como o fundador do projeto do FreeS/WAN, John Gilmore, americano, ele no pode
desenvolver o cdigo, funo essa desempenhada por uma equipe de canadenses, residentes
no Canad, a fim de evitar problemas com o governo (VASQUES e SCHUBER, 2002).
Esta ferramenta para criao de VPN segue um padro de algoritmos de chaves
assimtrica RSA, simtrica 3DES, funes de hash MD5 e SHA-1. Ela tambm utilizada o
recurso de IKE (Internet Key Exchange), que utilizado para estabelecer uma relao de
confiana entre as duas entidades da VPN, para negociar opes de segurana, como por
exemplo, trocas de chaves de criptografia.
Portanto, esta ferramenta no ser usada para a configurao da VPN, uma vez que no
to simples de implementar com o protocolo IPSEC. Alm disso, o projeto de
desenvolvimento da ferramenta no est mais em andamento, estando desatualizado.

2.4.2 OpenVPN
O OpenVPN um software de cdigo aberto que implementa o protocolo SSL/TLS
(Secure Sockets Layer/Transport Layer Security), o qual estabelece um canal de comunicao
criptografada entre o cliente e o servidor, e permite realizar diferentes tipos de VPN, como:
Host-Host, Host-Rede e Rede-Rede. O software foi escrito por James Yonan e publicado sob
licena GNU General Pulic Licence (GPL), e um servio que roda sobre a camada de
aplicao, podendo ser utilizados em vrias plataformas: Linux, FreeBSD, OpenBSD,
NetBSD, Windows 2000/XP, Solaris e Mac OS X.
Pode operar basicamente em trs modos de operao: sem nenhuma criptografia,
criptografia com chaves estticas ou no modo TLS. No modo sem nenhuma criptografia, temse apenas a criao do tnel para comunicao entre as entidades. J no modo de criptografia
com chaves estticas, existem chaves pr-compartilhadas entres as entidades da comunicao,
a qual ser simtrica para ambos, sendo um mtodo simples e rpido de implementar. E no
modo TLS, tem-se uma comunicao criptografada por meio de chaves pblicas, trabalhando

31

junto com certificados e algoritmos assimtricos (Ex: RSA), pelo qual as chaves sero
trocadas periodicamente.
O OpenVPN utiliza a biblioteca OpenSSL para prover criptografia entre ambos os
canais de controle de dados. Assim, o OpenSSL realiza o funcionamento de toda a criptografia
e autenticao, permitindo ao OpenVPN utilizar todas as cifras disponveis no pacote do
OpenSSL.
Alm, disso o OpenVPN pode ser configurado para transportar os dados sobre TCP ou
UDP e tem a grande vantagem de conseguir estabelecer conexes diretas entre computadores
que estejam atrs de Firewalls, tendo um timo desempenho e suportando o trabalho junto
com Proxy Servers e NAT (Network Address Translation).
No se pode esquecer que o OpenVPN faz uso de uma interface genrica (TUN/TAP)
para a criao da interface de rede virtual, permitindo que ele funcione corretamente, e desta
forma cada VPN aparece na tabela de roteamento como se fosse uma placa adicional da rede.
O sistema operacional, na qual o OpenVPN est rodando deve ter suporte a este tipo de
interface. No caso do Linux, que ser utilizado para a configurao da VPN, as verses de
kernel anteriores a 2.2, necessrio realizar a instalao deste driver e recompilar o kernel.
Para usurios do kernel 2.4.7 ou superior o suporte a esse driver j est includo
(FAGUNDES, 2007).
Para finalizar, existe outra caracterstica opcional que pode ser utilizada durante a
configurao da VPN: utilizar uma biblioteca de compresso chamada LZO, que tem a funo
de compactar os dados que iro ser transmitidos pela rede.

2.5 FERRAMENTAS PARA STREAMING DE VDEO


Para a criao de streaming de vdeo existem vrias ferramentas para o seu
desenvolvimento. Dentre as mais importantes, destacam-se: VLC Media Player e Flumotion
Streaming Software.

32

2.5.1 VLC Media Player


O VLC Media Player um player multimdia de cdigo aberto, que foi desenvolvido
por estudantes da Ecole Centrale Paris alm de colaboradores de vrios lugares do mundo.
Por ser um programa e um projeto de cdigo aberto, o mesmo pode ser instalado e
configurado em vrios sistemas operacionais (Windows, Linux, MacOS, etc), suportando
vrios formatos e Codecs de udio e vdeo. Para vdeo destacam-se MPEG-1, MPEG-2,
MPEG-4, DVD, OGM, VCDs, DivX, dentre outros. J para udio tem-se FLAC, MP3, WAV,
OGG, etc.
Alm de todas essas caractersticas do VLC, no se pode esquecer-se de uma de suas
principais funes, que a capacidade de realizar streaming de vdeo e udio por uma rede,
fazendo o uso de vrios protocolos de streaming, como RTP, RTSP, HTTP, UDP, etc. Desta
forma, tal ferramenta pode ser utilizada como um servidor de streaming de vdeo, tendo
suporte a uma transmisso Unicast ou Multicast.
O VLC faz parte de uma das solues do projeto chamado VideoLAN, que alm do
VLC, tem o VLS como outra opo. O VLC derivado do nome VideoLAN Client basicamente
usado como servidor e como cliente para realizar streaming de vdeo e receber streaming de
vdeo. Por outro lado, o VLS derivado do nome VideoLAN Server utilizado apenas como
servidor de streaming de vdeo. Nas primeiras verses do projeto, o VLS era mais
aconselhvel para criao do servidor de streaming de vdeo, tendo que usar o VLC como
cliente. Entretanto, nas ultimas verses do VLC, o mesmo possui praticamente as mesmas
funcionalidades do VLS, podendo ser utilizado como servidor e cliente ao mesmo tempo,
sendo

seu

uso

mais

aconselhvel,

segundo

prprio

site

da

VideoLAN

(http://www.videolan.org/vlc/streaming.html)

2.5.2 Flumotion Streaming Software


De acordo com URBITA (2007), o Flumotion Streaming Software um programa
servidor para realizar streaming de vdeo e foi desenvolvido pela empresa Fluendo. Tal
ferramenta distribuda em duas verses: a bsica e a avanada. A verso bsica livre, tendo
suporte a alguns tipos de formatos livres para realizar streaming (Ex.: OGG, Theora, etc). J a

33

verso mais avanada, utilizada para uso comercial, tem mais funes e recursos, podendo
trabalhar e dar suporte para formatos de udio e vdeo proprietrios (Ex.: MPEG).
Esta ferramenta tem a capacidade de realizar streaming de vdeo apenas por meio do
protocolo HTTP, necessitando do protocolo de transporte TCP para isto. Desta forma, no
possui protocolos especficos de streaming, como RTSP e RTP, para trabalhar com esta
ferramenta, tornado o processo de configurao um pouco mais restrito. Alm disso, opera
apenas sobre Linux, no possuindo verses para outros tipos de sistemas operacionais.
Enfim, esta ferramenta no ser usada para ser feita a configurao de streaming de
vdeo, uma vez que possui apenas suporte para protocolo HTTP, o que deixaria o estudo do
projeto um pouco mais limitado.

34

3. METODOLOGIA DE DESENVOLVIMENTO
Este captulo tem como finalidade descrever como foi feita a configurao da VPN
bem como a configurao do servidor de streaming de vdeo, explicando passo a passo os
detalhes das configuraes, para depois serem realizados testes de integrao.

3.1 FERRAMENTAS UTILIZADAS


Ser utilizado o software OpenVPN para a configurao da VPN e o software VLC
Media Player para a configurao do servidor de streaming de vdeo. Para os testes de anlise
de desempenho, ser utilizado o software Wireshark, que um programa que analisa o trfego
de rede, possibilitando a captura e filtragem de pacotes transmitidos pela rede.

3.2 CONFIGURAO DA VPN

3.2.1 Cenrio de Configurao


Ser utilizado o software OpenVPN na verso 2.1.1 para o desenvolvimento de uma
VPN entre dois computadores (hosts). Um host ser o servidor e o outro ser o cliente, na qual
ambos iro se interconectar atravs de um tnel criptografado. No caso, tem-se uma VPN do
tipo host-host. Foi escolhida esta ferramenta, por ser um software estvel, simples de
configurar, alm de ser um projeto que est sempre em desenvolvimento, sendo facilmente
instalada no sistema operacional Ubuntu. Deve-se destacar que tal ferramenta trabalha no
nvel da camada de aplicao do modelo TCP/IP, levando a uma configurao fcil e objetiva.
A configurao do OpenVPN para o desenvolvimento da VPN ser feita por meio de
chave esttica compartilhada (criptografia simtrica) entre o servidor e o cliente, pelo qual o
tamanho dessa chave de 2048 bits utilizada para criptografar os dados transmitidos pelo
tnel. Desta forma, com uma configurao de chave esttica compartilhada, tem-se um
mtodo simples, rpido de implementar, sendo mais veloz, levando em considerao que ir
ser realizada a transmisso de streaming de vdeo pela VPN, a qual exige que a comunicao

35

no tenha tantos atrasos de pacotes e sobrecarga de processamento. A chave de tamanho de


2048 bits um chave padro fornecida pelo OpenVPN neste tipo de configurao, sendo um
tamanho bom em nvel de segurana para uma configurao de rede local.
Um detalhe importante que a configurao da VPN entre os dois hosts ser feita em
uma mesma rede local, visto que se pretende apenas estudar e entender como funciona uma
VPN, tornando o processo mais simples, podendo no futuro servir como base para uma
implementao mais sofisticada.
A Tabela 1 apresenta algumas especificaes dos dois computadores a serem
utilizados nesta configurao.
Tabela 1 Especificaes dos Computadores
Computador Servidor
Sistema Operacional Ubuntu 10.04
IP Local: 192.168.0.101
IP Virtual VPN: 10.0.0.1

Computador Cliente
Sistema Operacional Ubuntu 10.04
IP Local: 192.168.0.100
IP Virtual VPN: 10.0.0.2

3.2.2 Instalao do OpenVPN


Teve-se que fazer a instalao do OpenVPN nas duas mquinas (servidor e cliente).
Desta forma, foi utilizado o comando apt-get, principal instalador de pacotes do Ubuntu, tal
como segue:
apt-get install openvpn

3.2.3 Driver TUN/TAP


Antes de configurar o OpenVPN, foi feito o carregamento do driver TUN/TAP, que
realiza a criao da interface de rede virtual utilizada pela VPN para transmisso dos dados
pelos IPs virtuais. O carregamento foi feito atravs do seguinte comando no terminal:
modprobe tun

Tambm se acrescentou o mdulo tun dentro do arquivo /etc/modules para que ele
seja carregado no kernel a cada boot. O mdulo tun responsvel pelas interfaces virtuais que

36

o OpenVPN cria. Ento, foi digitado no terminal do servidor e do cliente, o seguinte comando
(MORIMOTO, 2010):
echo tun >> /etc/modules

3.2.4 Gerao da Chave de Criptografia


Depois de ter instalado o OpenVPN nas duas mquinas e ter carregado o mdulo tun
no kernel, ser gerado a chave esttica de criptografia no servidor.
Primeiramente deve-se acessar o diretrio padro onde estaro os arquivos de
configurao, atravs do comando abaixo:
cd /etc/openvpn
Depois, gera-se a chave de criptografia, atravs do seguinte comando (MAGUIONE,
2010):
openvpn --genkey --secret chave.key

Desta forma, gerou-se uma chave esttica de criptografia, com o nome de chave.key,
com o contedo da Figura 17.

Figura 17 - Contedo da chave esttica

37

3.2.5 Cpia da Chave Esttica para o Cliente


Depois de ter gerado a chave esttica de criptografia no servidor, ter que ser feita a
cpia da chave para o cliente de uma maneira segura. Ento foi necessrio instalar o
OpenSSH, no servidor e no cliente. O OpenSSH uma coleo de programas de computador
que provem a criptografia em sesses de comunicaes em uma rede de computadores usando
o protocolo SSH.
Ento, no servidor foi instalado o OpenSSH Server, atravs do seguinte comando no
terminal:
apt-get install openssh-server

J no cliente, teve-se que instalar o OpenSSH Client, atravs do seguinte comando no


terminal:
apt-get install openssh-client

Depois de ter instalado o pacote OpenSSH no servidor e no cliente, o servidor foi


acessado a partir do cliente, atravs de SFTP (Secure File Transfer Protocol, tambm
conhecido como SSH File Transfer Protocol), o qual um protocolo de rede que oferece o
acesso a arquivos, transferncias de arquivos e funcionalidade de gerenciamento de arquivos
de maneira segura. O SFTP j est incluso no pacote OpenSSH.
Portanto, no cliente, foram digitados alguns comandos para acessar o servidor e
transferir a chave, como mostra a Figura 18:

38

Figura 18 - Transferncia da chave esttica

Primeiramente deve-se acessar o diretrio para onde ser copiada a chave esttica (cd
/etc/openvpn)

conectar

ao

servidor

atravs

do

protocolo

SFTP

(sftp

root@192.168.0.101), onde se deve digitar a senha do usurio root do servidor.


Depois de conectado ao servidor, acessa-se o diretrio onde se encontra a chave
esttica (cd /etc/openvpn), onde realizada a cpia da chave (get chave.key). E
finalmente desconecta-se do servidor (quit).

3.2.6 Configurao do Servidor

Primeiramente, foi necessrio criar um arquivo chamado servidor.conf no diretrio


/etc/openvpn do servidor:
touch servidor.conf

39

Dentro deste arquivo, foi colocado o seu contedo de configurao, onde os


comentrios de cada comando esto identificados com #:
#Utilizao da Interface Virtual da VPN
dev tun
#IP Remoto do cliente
remote 192.168.0.100
#Endereo IP virtual da VPN no servidor e no cliente, ou seja, direo do tnel do servidor
para o cliente
ifconfig 10.0.0.1 10.0.0.2
#Protocolo utilizado para transporte dos dados
proto udp
#Porta padro da VPN usada pelo OpenVPN
port 1194
#Diretrio de localizao da chave esttica
secret /etc/openvpn/chave.key
#Compresso de dados atravs da biblioteca LZO
comp-lzo
#Realiza monitoramento da conexo: primeiro nmero d um ping para o cliente a cada 10
segundos sem atividade, e o segundo nmero identifica que a VPN reiniciada depois de 120
segundos sem resposta.
keepalive 10 120
#Mantm a chave carregada quando a VPN reiniciada
persist-key
#Mantm a interface tun carregada quando a VPN reiniciada
persist-tun
#Caso o IP da outra mquina mude, o tnel continua estabelecido
float
#Nvel de log 3. Existem nveis 0,1,3 e 9. Quanto maior o nvel, maior ser o detalhamento do
log.
verb 3
#Arquivo que mostra informaes de status da conexo
status /var/log/openvpn/servidor-status.log
#Arquivo de log que mostra o estabelecimento da conexo
log-append /var/log/openvpn/servidor.log

40

Aps ter ajustado o arquivo de configurao do servidor, foram criados os arquivos de


log do OpenVPN, que so importantes, por exemplo, para detectar algum erro de conexo.
Mas primeiro, criou-se um diretrio, onde foram armazenados os arquivos de log:
mkdir /var/log/openvpn

E depois se criou os arquivos de log do servidor:


touch /var/log/openvpn/servidor-status.log
touch /var/log/openvpn/servidor.log

3.2.7 Configurao do Cliente

Primeiramente, foi necessrio criar um arquivo chamado cliente.conf no diretrio


/etc/openvpn do cliente:
touch cliente.conf

Dentro deste arquivo, foi colocado o seu contedo de configurao, onde os


comentrios de cada comando esto identificados com #:
#IP Remoto do servidor
remote 192.168.0.101
#Utilizao da Interface Virtual da VPN
dev tun
#Endereo IP virtual da VPN no cliente e no servidor, ou seja, direo do tnel cliente para o
servidor
ifconfig 10.0.0.2 10.0.0.1
#Protocolo utilizado para transporte dos dados
proto udp
#Porta padro da VPN usada pelo OpenVPN
port 1194
#Chave esttica
secret /etc/openvpn/chave.key
#Compresso de dados atravs da biblioteca LZO

41

comp-lzo
#Realiza monitoramento da conexo: primeiro nmero d um ping para o servidor a cada 10
segundos sem atividade, e segundo nmero identifica que a VPN reiniciada depois de 120
segundos sem resposta.
keepalive 10 120
#Mantm a chave carregada quando a VPN reiniciada
persist-key
#Mantm a interface tun carregada quando a VPN reiniciada
persist-tun
#Caso o IP da outra mquina mude, o tnel continua estabelecido
float
#Nvel de log 3. Existem nveis 0,1,3 e 9. Quanto maior o nvel, maior ser o detalhamento do
log.
verb 3
#Informaes de status da conexo
status /var/log/openvpn/cliente-status.log
#Arquivo de log que mostra o estabelecimento da conexo
log-append /var/log/openvpn/cliente.log
Aps ter ajustado o arquivo de configurao do cliente, foram criados os arquivos de
log do OpenVPN, que so importantes, por exemplo, para detectar algum erro de conexo.
Mas primeiro, criou-se um diretrio, onde foram armazenados os arquivos de log:
mkdir /var/log/openvpn

E depois se criou os arquivos de log do cliente:


touch /var/log/openvpn/cliente-status.log
touch /var/log/openvpn/cliente.log

3.2.8 Inicializao da VPN no Servidor


Para inicializar a VPN no servidor, digita-se o seguinte comando no terminal:
/etc/init.d/openvpn start

42

A inicializao da VPN no servidor verificada na Figura 19.

Figura 19 - Inicializao da VPN no servidor

Se quisermos finalizar a VPN, deve-se digitar o seguinte comando no terminal:


/etc/init.d/openvpn stop

Se quisermos reinicializar a VPN, deve-se digitar o seguinte comando no terminal:


/etc/init.d/openvpn restart

Pode-se verificar o status da conexo e o processo de estabelecimento da VPN, atravs


dos arquivos de logs criados no servidor.
No servidor, o arquivo servidor.log mostra o processo de estabelecimento da
conexo no servidor, na qual ao final do processo aparecer a confirmao de sucesso
identificada na Figura 20.

43

Figura 20 - Contedo do arquivo servidor.log

No servidor, o arquivo servidor-status, mostra o status da conexo, verificado na


Figura 21.

Figura 21 - Contedo do arquivo servidor-status.log

3.2.9 Inicializao da VPN no Cliente


Para inicializar a VPN no cliente, digita-se o seguinte comando no terminal:
/etc/init.d/openvpn start

A inicializao da VPN no cliente verificada na Figura 22:

44

Figura 22 - Inicializao da VPN no cliente

Se quisermos finalizar a VPN, deve-se digitar o seguinte comando no terminal:


/etc/init.d/openvpn stop

Se quisermos reinicializar a VPN, deve-se digitar o seguinte comando no terminal:


/etc/init.d/openvpn restart

Pode-se verificar o status da conexo e o processo de estabelecimento da VPN, atravs


dos arquivos de logs criados no cliente.
No cliente, o arquivo cliente.log mostra o processo de estabelecimento da conexo no
cliente, na qual ao final do processo aparecer a confirmao de sucesso identificada Figura
23.

45

Figura 23 - Contedo do arquivo cliente.log

No cliente, o arquivo cliente-status, mostra o status da conexo, verificado na


Figura 24.

Figura 24 - Contedo do arquivo cliente-status.log

3.2.10 Testes de Conexo


Depois de ter iniciado a VPN no servidor e no cliente, foi testada a conexo utilizando
o comando ping no IP criado pela interface virtual no cliente (10.0.0.2), a partir do servidor
(Figura 25):

46

Figura 25 - Teste de conexo com o cliente


Mas tambm, foi testada a conexo pingando o IP criado pela interface virtual do
servidor (10.0.0.1), a partir do cliente (Figura 26):

Figura 26 - Teste de conexo com o servidor

47

3.2.11 Acesso ao Servidor


Para fazer acesso ao servidor, utilizou-se do protocolo SSH. Na Figura 27, tm-se os
comandos necessrios para acessar o servidor a partir do cliente:

Figura 27 - Acesso ao servidor

Observa-se que no comando ssh root@10.0.0.1, foi utilizado o IP virtual do


servidor, uma vez que se quer fazer uso do tunelamento criado pela VPN para comunicao
segura dos dados acessados.

3.3 CONFIGURAO DO SERVIDOR DE STREAMING DE VDEO

3.3.1 Cenrio de Configurao


Foi utilizada a ferramenta VLC na verso 1.1.4 para a transmisso de streaming de
vdeo entre o servidor e o cliente configurados durante o desenvolvimento da VPN. Esta

48

ferramenta foi escolhida, uma vez que possui suporte aos principais protocolos de streaming,
que podero ser utilizados para a transmisso de um vdeo atravs da rede, tendo flexibilidade
e facilidade para trabalhar tanto como host servidor como host cliente. Alm disso, tem-se
uma gama grande de Codecs e formatos de udio e vdeo suportados, tanto proprietrios como
abertos.
Basicamente, a transmisso de vdeo ser feita entre os IPs virtuais de tunelamento
criados durante a configurao da VPN, tanto na mquina servidor (IP 10.0.0.1) como na
mquina cliente (IP 10.0.0.2), garantindo assim a segurana do vdeo a ser transmitido atravs
de criptografia simtrica de chave esttica. Neste caso, o usurio que estiver no lado servidor
selecionar um vdeo a ser transmitido para o usurio cliente, atravs do tunelamento formado
pela VPN. Portanto, pode-se considerar que este tipo de transmisso est bem prximo de uma
aplicao de streaming de vdeo ao vivo, j que no o cliente que comea a fazer a primeira
interao, e sim o servidor que primeiramente comear a transmitir o vdeo com destino ao
cliente. O processo pode ser observado na Figura 28.

Figura 28 - Integrao de VPN com Streaming de vdeo

3.3.2 Instalao do VLC


Teve-se que fazer a instalao do VLC nas duas mquinas (servidor e cliente). Desta
forma, foi utilizado o comando apt-get, principal instalador de pacotes do Ubuntu, tal como
segue:

49

apt-get install vlc

3.3.3 Configurao Manual de Streaming de Vdeo no Servidor


Para fazer a configurao manual de Streaming de Vdeo no Servidor, ser utilizada a
interface grfica do VLC, simplificando o processo de configurao. Desta forma, com o VLC
aberto deve-se clicar no menu Mdia e depois escolher a opo Fluxo, como identificado
na Figura 29.

Figura 29 - Configurao Grfica do VLC

Agora, deve-se selecionar o arquivo de vdeo a ser transmitido. Ento, deve-se clicar
no boto Adicionar (Figura 30) e depois escolher o vdeo e clicar no boto Abrir (Figura
31). No nosso caso, o arquivo a ser transmitido tem o nome video e do formado AVI,
possuindo um tamanho de 458,8 MB. O mesmo est localizado no seguinte diretrio:
/home/Felipe/Desktop.

50

Figura 30 - Adicionar Arquivo de vdeo

Figura 31 - Seleo do Arquivo

Aps ter selecionado o arquivo, volta-se para a janela anterior, o qual se deve clicar no
boto Fluxo, para comear o procedimento de configurao de streaming (Figura 32).

51

Figura 32 - Incio do Fluxo

Na tela seguinte, apenas confirma-se a fonte, isto , o caminho onde o arquivo de


vdeo se encontra e clica-se no boto Prximo, como mostra a Figura 33.

Figura 33 - Confirmao da Fonte

52

Nesta etapa, escolhe-se o protocolo para realizar a transmisso de streaming de vdeo.


Foi escolhido o protocolo RTSP, uma vez que um protocolo prprio e especfico para
transmisso de dados em tempo real tanto de udio como vdeo, podendo controlar
apresentaes de mdia contnua. Deve-se, ressaltar que os dados de udio de vdeo sero
encapsulados para transmisso por meio do protocolo RTP, sendo que o RTSP ser utilizado
apenas para controle. Assim, deve-se selecionar o protocolo RTSP e clicar no boto
Adicionar, como mostra a Figura 34.

Figura 34 - Seleo do Protocolo

Feito isto, define-se o nmero da porta como 1194, que a porta padro da VPN criada
pelo OpenVPN, garantindo a sada de transmisso pela porta da VPN. No campo Caminho,
define-se o nome do fluxo de streaming a ser gerado como /servidor, no formato de um
diretrio. Nesta mesma tela, habilita-se a opo de transcodificao e clica-se no cone
identificado com um crculo vermelho, como mostra a Figura 35.

53

Figura 35 - Configurao RTSP

Com a janela de Formulrio aberta, configura-se o tipo de Encapsulamento e os


Codecs de udio e vdeo. Deve se definir um nome para o perfil de configurao, neste caso
deu-se o nome de Perfil RTSP. Na aba Encapsulamento seleciona-se o tipo de
encapsulamento suportado de acordo com o tipo de protocolo escolhido. Em nosso caso
escolheu-se MPEG-TS (Transport stream), que um tipo de container, ou seja, um arquivo
que ir armazenar e encapsular um conjunto de Codecs de udio e vdeo alm de legendas, de
modo que ocorra sincronismo de udio, vdeo e legendas durante a reproduo (Figura 36).

54

Figura 36 - Encapsulamento

Na aba Codec de vdeo, seleciona-se o tipo de Codec de vdeo de acordo com o tipo
de encapsulamento escolhido. Ento, marca-se a opo Vdeo e seleciona-se o Codec
MPEG-4, que um dos Codecs de vdeo suportados pelo encapsulamento MPEG-TS, sendo
utilizado na compresso de dados digitais de vdeo transportados pela Internet (Figura 37).

Figura 37 - Codec de Vdeo

55

J na aba Codec de udio, seleciona-se o tipo de Codec de udio de acordo com o


tipo de encapsulamento escolhido. Ento, marca-se a opo udio e seleciona-se o Codec
MPEG Audio, que um dos Codecs de udio suportados pelo Encapsulamento MPEG-TS,
sendo um Codec muito utilizado e conhecido (Figura 38).

Figura 38 - Codec de udio

Clica-se em Salvar para voltar para a janela anterior de configurao. Agora,


precisa-se apenas selecionar o Perfil salvo e clicar no boto Prximo, como mostra a Figura
39.

56

Figura 39 - Seleo do Perfil

Finalmente na ltima janela, verifica-se que foi gerada uma linha de sada de fluxo,
que ser til na criao de um Script para que o processo seja automatizado. No entanto, nesta
sesso apenas ser realizada a configurao manual, logo, deve-se clicar no boto Fluxo,
afim de que o vdeo seja transmitido, como identificado na Figura 40.

57

Figura 40 - Fluxo Gerado

Aps ter clicado no boto Fluxo, comear a transmisso do streaming de vdeo,


como mostra a Figura 41.

Figura 41 - Transmisso do streaming de vdeo

Um detalhe importante que o servidor consegue controlar o vdeo com aes de


Pause, Play, Avanar, Retroceder e Stop, ou seja, possui controle total do fluxo de streaming
de vdeo.

58

3.3.5 Acesso do Cliente ao Streaming de Vdeo


Para que o cliente possa acessar a transmisso de streaming de vdeo gerado pelo
servidor, deve-se digitar o seguinte comando no terminal do Ubuntu:

vlc rtsp://10.0.0.1:1194/servidor
Neste comando existem os seguintes campos:

vlc : Chamar o programa VLC;

rtsp: Utilizao do protocolo RTSP;

10.0.0.1: IP Virtual do Servidor, criado durante a configurao da VPN, forando o


cliente usar o tunelamento da VPN, na qual os dados iro conseqentemente chegar
outra ponta da VPN, em seu IP Virtual 10.0.0.2;

1194: Porta por onde est saindo o fluxo gerado pelo servidor;

servidor: Nome do fluxo gerado pelo servidor.

Depois de ter executado o comando acima, ser aberta uma janela do VLC, onde ser
reproduzido o vdeo que foi transmitido pelo servidor. Pode-se observar o acesso, identificado
na Figura 42.

Figura 42 - Acesso do cliente


O cliente consegue controlar o vdeo apenas com as aes de Stop, Pause e Play, pois
o servidor que realiza a transmisso do vdeo.

59

3.3.6 Automatizao do Processo com Script


A Automatizao do processo foi realizada por meio de Shell Script, que um arquivo
que armazena diversos comandos e pode ser executado quando houver necessidade. Estes
comandos podem ser comandos do sistema, mas tambm possuem seus prprios comandos,
como IF, WHILE, FOR, dentre outros.
Portanto, no lado servidor foi criado um Script, na qual automatiza o processo de
seleo do vdeo e configurao de streaming deste vdeo pela VPN. Desta forma, o usurio
entra com o caminho do diretrio e o nome do arquivo de vdeo, e este automaticamente
transmitido dentro do tunelamento criado pela VPN, como todas as configuraes vistas
durante a configurao manual. Abaixo, verifica-se o contedo do Script com o nome de
streaming-servidor, onde os comentrios esto identificados com #, exceto a primeira
linha que indica para o sistema que ser o Shell que ir interpretar os comandos:
#!/bin/bash
#Script para inicializao automtica de streaming de vdeo no servidor.
echo
echo
echo "----------------------------------------"
echo "Servidor de Streaming de Vdeo"
echo "----------------------------------------"
echo
echo
#Digitar o diretrio onde se encontra o vdeo, verificando se o que o usurio realmente digitou
# um diretrio vlido e armazenando na varivel diretorio.
while :
do
echo "Digite o diretrio onde se encontra o vdeo: "
read diretorio
if (test -d "$diretorio")
then
break
else
echo
echo "Diretrio Invlido !"
fi
done
echo
echo

60

#Entra no diretrio escolhido, que foi armazenado na varivel "diretorio".


cd $diretorio
#Depois de digitado o diretrio, digitar o nome do arquivo de vdeo do respectivo diretrio,
#verificando se o que o usurio realmente digitou um arquivo vlido e armazenado na
#varivel "nome".
while :
do
echo "Digite o nome do arquivo de vdeo que est no diretrio $diretorio: "
read nome
if (test -e "$nome")
then
break
else
echo
echo "Vdeo Invlido !"
fi
done
#Obs.: o comando abaixo executado em uma nica linha.
vlc $nome --sout
'#transcode{vcodec=mp4v,vb=800,scale=1,acodec=mpga,ab=128,channels=2,samplerate
=8000}: rtp{sdp=rtsp://10.0.0.1:1194/servidor}'
#Comando de execuo para streaming de vdeo, com os seguintes campos:
#vlc $nome = chama o programa vlc, seguido da varivel "nome" que contm o nome do
arquivo de vdeo
#transcode = especificaes de codificaes:
#vcodec = tipo de Codec de vdeo (MPEG-4);
#vb = taxa de bits (bitrate) do fluxo de vdeo codificado em kbits/s;
#scale = proporo do tamanho da imagem para a codificao;
#acodec = tipo de Codec de udio (MPEG Audio);
#ab = taxa de bits (bitrate) do fluxo de udio codificado em kbits/s;
#channels = nmero de canais resultantes do fluxo de udio;
#samplerate = defini a taxa de amostragem do fluxo de udio codificado em HZ.
#rtp{sdp=rtsp://10.0.0.1:1194/servidor}
#rtp = significa que os dados sero encapsulados em pacotes RTP;

61

#sdp = protocolo utilizado para criao de uma sesso de fluxo de dados com o nome
"servidor";
#10.0.0.1 = IP Virtual da VPN do lado Servidor, no qual ter a sada do fluxo de dados,
pois se quer a transmisso dentro da VPN. Este campo foi adicionado ao fluxo gerado para
forar a sada dos dados apenas pelo tunelamento.
#1194 = porta padro do OpenVPN, no qual ter a sada dos dados, pois se quer a
transmisso dentro da VPN.
No lado cliente tambm foi criado um Script, na qual automatiza o processo de acesso
ao vdeo transmitido pelo servidor dentro do tunelamento criado pela VPN. Abaixo, verificase o contedo do Script como o nome de streaming-cliente, onde os comentrios esto
identificados com #, exceto a primeira linha que indica para o sistema que ser o Shell que
ir interpretar os comandos:
#!/bin/bash
#Script para inicializao automtica de streaming de vdeo no cliente.
#Comando para acessar o vdeo transmitido pelo servidor
vlc rtsp://10.0.0.1:1194/servidor
Tanto o Script do servidor como o Script do cliente foram copiados para o diretrio
/usr/bin de sua respectiva mquina, para que o Script tenha capacidade de ser executado de
qualquer lugar do sistema. Ento, quando for digitado streaming-servidor ou streamingcliente no Shell do Linux, este ir interpret-lo como um comando e comear a ser
executado.

3.4 TESTES DE INTEGRAO


Nesta sesso ser descrito a metodologia de testes feita para analisar o desempenho do
projeto em questo, que a transmisso de streaming de vdeo dentro do tunelamento criado
pela VPN, na qual ser comparada com outro tipo de aplicao de streaming de vdeo
(Youtube).
Foram testadas as seguintes mtricas de desempenho, que indicam o comportamento
de cada aplicao na rede:

62

Atraso: o tempo que um determinado pacote leva para sair de um host emissor at um
host receptor;

Jitter (Variao de Atraso): a diferena do atraso de um determinado pacote com o


atraso do seu pacote anterior;

Largura de Banda: utilizado para medir a capacidade de transmisso de dados em


uma determinada rede.
Para os dois tipos de aplicao, por meio do Wireshark, foram capturados os 10

primeiros pacotes do vdeo transmitido e calculado a atraso, Jitter e largura de banda ocupada,
e feito a mdia dos valores para cada mtrica, chegando a um valor final. Logo, consegue-se
ter uma estimativa aproximada. Deve-se lembrar que os vdeos transmitidos para as duas
aplicaes no possuem o mesmo tamanho e que a transmisso de Streaming de vdeo com
VPN foi feita em computadores de uma mesma rede local.

63

4. RESULTADOS E DISCUSSES
Com as mtricas de desempenho testadas na sesso 3.4, foi possvel montar as tabelas
2 e 3 que mostram as mtricas de desempenho calculadas atravs do Wireshark, para os dois
tipos de aplicao.
Atravs destas tabelas, pode-se observar que existe uma variao entre os valores de
atraso e Jitter das duas aplicaes. A aplicao deste projeto apresentou atraso e Jitter
maiores do que a aplicao do Youtube, pois alm do vdeo ser transmitido via streaming,
todos os dados esto sendo criptografados quando o mesmo transmitido dentro do
tunelamento da VPN, levando a uma maior sobrecarga de processamento. Assim, diferente
do Youtube, no qual os dados no esto sendo criptografados, levando a um atraso e um Jitter
um pouco menor.
A largura de banda menor na aplicao deste projeto, visto que a mesma est sendo
testada apenas em rede local, onde o consumo de banda e sobrecarga de aplicaes rodando
menor, se comparada aplicao do Youtube.
Portanto, a aplicao de Streaming com VPN se mostrou eficiente nos testes
realizados, tendo um bom desempenho em relao s mtricas analisadas, levando em conta a
questo de criptografia dos dados transmitidos.

64

Tabela 2 Mtricas para Streaming com VPN


Pacote 1
Pacote 2
Pacote 3
Pacote 4
Pacote 5
Pacote 6
Pacote 7
Pacote 8
Pacote 9
Pacote 10
Total
Mdia

Atraso (ms.)
0
6, 925
6, 949
6, 961
6, 949
2, 407
8, 015
10, 429
10, 431
10, 422
69, 488
6, 9488

Jitter (ms.)
6, 925
0, 012
4, 542
2,414
0, 009
4, 8
0, 96

Tamanho do pacote (Bytes)


1428
1428
1428
459
1428
620
1428
1428
257
1428
11332
1133,2

Largura de banda (Kbytes/ms)


-----206, 2093863
205, 4971938
65, 9388019
205, 4971938
257, 5820523
178, 1659389
136, 9258798
24, 63809798
137, 0178469
1417, 472392
157, 4969324

Tabela 3 Mtricas para Youtube


Pacote 1
Pacote 2
Pacote 3
Pacote 4
Pacote 5
Pacote 6
Pacote 7
Pacote 8
Pacote 9
Pacote 10
Total
Mdia

Atraso (ms.)
0
0, 304
2, 236
2, 576
2, 102
2, 437
2,6
2, 941
2, 009
2, 436
19, 641
1, 9641

Jitter (ms.)
0, 304
0,34
0, 335
0, 341
0, 427
1, 747
0, 3494

Tamanho do pacote (Bytes)


1514
1514
1514
1514
1514
1514
1514
1514
1514
1514
15140
1514

Largura de banda (Kbytes/ms)


-----4980, 263158
677, 1019678
587, 7329193
720, 2664129
621, 2556422
582, 3076923
514, 7908875
753, 6087606
621, 5106732
10058, 83811
1117, 648679

65

5. CONCLUSES
A pesquisa deste trabalho foi importante para analisar diversas tcnicas de segurana
que foram teis para a configurao da VPN. Houve uma anlise dos principais conceitos de
VPN, analisando suas principais caractersticas, tecnologias, aplicaes, dentre outros
aspectos. Alm de um estudo sobre os principais conceitos de streaming de vdeo.
Neste contexto, foi possvel configurar uma VPN para a transmisso de streaming de
vdeo entre uma mquina servidora e uma mquina cliente, atravs de softwares livres, o que
demonstrou rapidez e eficincia nos testes realizados em rede local, apesar do atraso na
transmisso de pacotes, quando comparado com a aplicao de streaming de vdeo do
Youtube.
Alm disso, o sistema operacional Ubuntu em conjunto com esses softwares atendeu
as necessidades esperadas para o desenvolvimento do projeto. Portanto, este tipo de aplicao
pode, futuramente, tornar-se til em nvel corporativo, para uma empresa matriz que queira
transmitir um vdeo sigiloso de uma reunio em direo a sua empresa filial, levando a uma
integrao de mtodos de segurana em VPN e streaming de vdeo, atravs de uma soluo
barata e eficiente.

5.1 Sugestes de Trabalhos Futuros


Uma sugesto para trabalhos futuros seria aprimorar este projeto atravs da adio de
outros tipos de mtodos de segurana na configurao da VPN, como por exemplo, certificado
digital, criptografia assimtrica, dentre outros, comparando e testando esses mtodos junto
com streaming de vdeo. Alm de realizar a transmisso de streaming de vdeo pela VPN no
apenas em rede local, mas em um nvel maior de redes e de computadores, pela qual um
servidor transmitiria vrios fluxos de streaming de vdeo para diversos clientes, permitindo
um estudo mais amplo e diversificado.

66

6. REFERNCIAS BIBLIOGRFICAS
3WAY.

Virtual

Networks.

Private

Networks

VPN.

Disponvel

em:

<http://fgsl.aslgo.org.br/fgsl3/images/atividades/vpn.pdf>. Acesso em: 5 de out. de 2010.


ALMEIDA, Juliana. Transmisso Multimdia Multidestinatria. Disponvel em:
<http://www.gta.ufrj.br/grad/01_2/vidconf/inicial.html>. Acesso em: 12 de mai. de 2010.
ALVAREZ,

Miguel

Angel.

que

Streaming.

Disponvel

em:

<http://www.criarweb.com/artigos/214. php>. Acesso em: 7 de mai. de 2010.


ASSIS, Joo Mrio. Implementando VPN em Linux. 2003. 76f. Monografia de PsGraduao apresentada ao Departamento de Cincia da Computao Universidade Federal
de Larvas, Larvas.
BILIEN, Johan; DAOUND, Anil. Documentation: Streaming HowTo. Disponvel em:
<http://wiki.videolan.org/Documentation:Streaming_HowTo>. Acesso em: 3 de out de 2010.
CASNOVA. TI Consulting. FIREWALL, QOS, VPN LINUX: Segurana da sua rede
local. Disponvel em: <http://www.casnova.com.br/casnova>. Acesso em: 11 de out. de 2010.
Unicast

CATALIN.

and

Multicast

streaming.

Disponvel

em:

<http://www.thehdstandard.com/hd-streaming/unicast-and-multicast-streaming/>. Acesso em:


8 de set. De 2010.
CATRAMBY, Gabriela Ferraz. VPN Virtual Private Network. Disponvel em: <
http://www.gta.ufrj.br/grad/99_1/gabriela/vpn.html#5>>. Acesso em: 10 de abr. de 2010.
CHIN,

L.

K.

Rede

Privada

Virtual.

Disponvel

em:

<http://www.rnp.br/newsgen/9811/vpn.html>. Acesso em: 8 de abr. de 2010.


FAGUNDES, Bruno Alves. Uma Implementao de VPN. 2007. 76f. Monografia
(Graduao em Tecnologia da Informao e Comunicao) Instituto Superior de Tecnologia
em Cincias da Computao de Petrpolis, Petrpolis.

67

GTA. Grupo de Teleinformtica e Automao. SSL: Secure Socket Layer. Disponvel em:
<http://www.gta.ufrj.br/grad/00_2/ssl/ssl.htm>. Acesso em: 10 de mai. de 2010.
GUILHERME, Joel. Criptografia, Chaves Pblicas e Assinatura Digital para Leigos.
Disponvel em: <http://www.sbis.org.br/Criptografia.doc>. Acesso em: 8 de out. de 2010.
HOWTO.

Disponvel

em:

<http://www.openvpn.net/index.

php/open-

source/documentation/howto.html>. Acesso em: 2 de mai. de 2010.


KUROSE, J., ROSS, K. Redes de computadores e a Internet: uma nova abordagem.
Pearson Education do Brasil, 2004.
MAGUIONE, Magno. Configurao de um servidor VPN com OpenVPN e chave
esttica.

Disponvel

em:

<http://www.vivaolinux.com.br/artigo/Configuracao-de-um-

servidor-VPN-com-OpenVPN-e-chave-estatica>. Acesso em: 5 de mai. de 2010.


MARLETA, Marcelo Honorato. Projeto de uma VPN(Rede Virtual Privada) baseada em
computao reconfigurvel e aplicada a robs mveis. 2007. 103f. Dissertao (Mestrado
em Cincia da Computao e Matemtica Computacional) Universidade de So Paulo USP, So Carlos.
MORIMOTO, Carlos E. Criando VPNs usando chaves estticas. Disponvel em:
<http://www.guiadohardware.net/tutoriais/openvpn/pagina3.html>. Acesso em: 3 de mai. De
2010.
ROSSI, Marco Antonio G.; FRANZIN, Oswaldo. VPN Virtual Private Network (Rede
Virtual Privada). Disponvel em: <http://www.gpr.com.br/download/vpn.pdf>. Acesso em:
23 de fev. de 2010.
SAUV,

Jacques.

Estrutura

de

dados

Arquivos.

Disponvel

em:

<http://www.dsc.ufcg.edu.br/~jacques/cursos/p2/html/ed/arquivos.htm>. Acesso em: 1 de out.


de 2010.

68

SOUSA,

R.;

PUTTINI,

PR.

S.

Protocolo

SSL

3.0.

Disponvel

em:

<http://www.redes.unb.br/security/ssl3/protocolo.html#- Topo>. Acesso em: 15 de abr. de


2010.
STALLINGS, William. Criptografia e segurana de redes: princpios e prticas. 4. ed. So
Paulo: Pearson Prentice Hall, 2008. 492 p.
STREAMING: Overview of the VideoLAN streaming solution. Disponvel em:
<http://www.videolan.org/vlc/streaming.html>>. Acesso em: 16 de ago. de 2010.
TANENBAUM, Andrew S. Redes de computadores. Traduo de V. D. de Souza. Rio de
Janeiro: Elsevier, 2003. 945 p.
TSCHKE, Clodoaldo. Criao de Streaming de Vdeo para Transmisso De Sinais de
Vdeo em Tempo Real Pela Internet. 2001. 82f. Trabalho de Concluso de Curso
(Graduao em Cincia da Computao) Universidade Regional de Blumenau Blumenau
URBITA, Jauber Lopes. Estudo das Solues de Transmisso de Vdeo Utilizando
Software Livre. 2007. 84f. Monografia de Ps-Graduao (Especialista em Administrao
em Redes Linux) Universidade Federal de Lavras Lavras.
VASQUES, Tamer Alan; SCHUBER, Rafael Priante. Implementao de uma VPN em
Linux utilizando o protocolo IPSec. 2002. 72f. Trabalho de Concluso de Curso (Graduao
em Cincia da Computao) Centro Universitrio do Estado do Par CESUPA, Belm.
W3C.

UA

Server

RTSP

Communication.

Disponvel

em:

<http://www.w3.org/2008/WebVideo/Fragments/wiki/UA_Server_RTSP_Communication>.
Acesso em: 2 de mai. de 2010.

Você também pode gostar