1. Virtual Network Computing (VNC)
Amarildo Ribeiro Filho
Universidade Federal de Goiás
Instituto de Informática INF
Sistemas de Informação
aamarildo.321@gmail.com
1.
INTRODUÇÃO
Este relatório tem como objetivo discutir o funcionamento e
arquitetura de sistema distribuido do protocolo VNC (Virtual
Network Computing), e uma análise da arquitetura que o VNC
utiliza e como ela auxilia o serviço para alcançar seus objetivos.
O cliente (VNC Viewer) acessa ao servidor (VNC Server) por
meio do protocolo VNC que é baseado no protocolo RFB, que
realiza uma conexão remota entre o cliente e o servidor de forma
que o cliente possa visualizar as janelas do servidor e transmitir os
comandos do teclado e do mouse para o servidor.
Sendo assim, este relatório está divido em seis partes, sendo a
primeira uma breve introdução sobre o que será abordado neste
relatório, a segunda parte é uma análise e explicação dos objetivos
do serviço (VNC), a terceira parte é uma análise sobre a
arquitetura do serviço, a quarta parte deste relatório refere-se ao
funcionamento do serviço, a quinta parte deste relatorio é uma
análise da arquitetura do serviço e a sexta parta mostra algumas
vantagens e desvantagens do serviço.
2.
OBJETIVO DO SERVIÇO
Muitas vezes dentro de uma organização ou uma rede de
computadores, temos que acessar a um determinado computador
que está na rede, seja um servidor, alguma máquina de algum
cliente, ou outro computador qualquer para termos acesso a
determinado serviço, ter acesso a alguns arquivos que estão em
alguma máquina ou realizar algum tipo de tarefa em outro
computador. Com o avanço da tecnologia e do número de
computadores na rede, essa necessidade de acessar a outros
computadores na rede vem crescendo e com isso o tempo gasto
para acessar outros computadores fisicamente é maior, e as vezes
impossível devido a geografia do computador que deve ser
acessado.
Sendo assim em 1999 no Instituto de Pesquisa Olivetti Research
Laboratory da Universidade de Cambridge na Inglaterra, foi
desenvolvido o Virtual Network Computing mais conhecido como
VNC, um protocolo que permite o acesso remoto à computadores
na rede, o protocolo possibilita visualizar as janelas do
computador acessado e transmitir os comandos do teclado e do
mouse de um computador para o outro.
3.
ARQUITETURA DO SERVIÇO
Virtual Network Comuting (VNC) é um sistema de
compartilhamento de desktop gráfico que usa o protocolo Remote
Frame Buffer (RFB, protoclo para acesso remoto a interfaceis
gráficas de usuários que trabalha com framebuffer e é aplicável a
todos os sistemas que utilizam janelas [1] ) para controlar
remotamente outro computador pela rede. Ele transmite os
eventos o teclado e mouse de um computador para outros,
transimitindo as atualizações de tela gráfica de volta para o cliente
através da rede [2]
4.
FUNCIONAMENTO DO SERVIÇO
O sistema VNC consiste em um Server (Servidor), um Client
(Cliente), e um protocolo de comunicação (VNC) :
- VNC Server, é um programa na máquina que
possibilita o compartilhamento das janelas no computador onde
está instalado. O server possibilita todos os clientes
(computadores que estão acessando o server ) a tomarem controle
das telas e trasmitirem os comandos do teclado e do mouse para o
server.
- VNC Client ou Viewer (telespectador), é um programa
que observa, controla e interage com com o server, o cliente
controla o server.
- VNC Protocol, baseado no protocolo RFB, é
protoloco baseado em transmitir pixels do server para o client em
uma determinada posição X,Y, e mensagens de eventos do client
para o server, possibilitando o client visualizar o que se passa no
server e o server receber os evetos do client.
2. o servidor, possui os serviços que atendam as
necessidades dos clientes.
Para o cliente se conectar ao server precisamos especificar o
endereço do servidor (IP) para que ambos possam se comunicar,
o endereço de IP deve ser conhecido pelo cliente pois é através do
endereço IP que é determinado com qual computador na rede o
cliente vai se conectar.
Quando a conexão entre um cliente e um servidor é estabelecido
o servidor começa a pedir a autenticação do cliente, o que
normalmente resulta em que o usuário seja solicitada uma senha
para o cliente final. O servidor e o cliente, em seguida, trocam
mensagens para negociar o tamanho da desktop, formato do pixel,
e os esquemas de codificação para ser usado. O cliente solicita
uma atualização para a tela inteira, e do início da sessão. Devido à
natureza sem estado do cliente, cada lado pode fechar a conexão a
qualquer momento, sem conseqüências adversas. [3]
5.
ANÁLISE DA AQUITETURA DO
SERVIÇO
O serviço utiliza o modelo Cliente Servidor do tipo "Thin Client"(
“Cliente Leve”, o cliente passa todo o processamento para o
servidor, no caso a máquina acessada por meio do VNC, o cliente
apenas exibe os pixels com as informações que necessita, VNC
foi implementado para exigir muito pouco do computador que
acessa, e todo o processamento fica por conta do computador
acessado ).
5.1
Comparação
com
arquiteturas de sistemas distribuídos
outras
Breve análise diferenciando a arquitetura Peer to Peer ( onde
todos os peers ou partes, desempenham tarefas semelhantes e não
há uma divisão entre partes cliente e partes servidores,
diferentemente do modelo cliente servidor), utilizada pelo
BitTorrent por exemplo, da arquitetura Cliente Servidor utilizado
pelo protocolo VNC discutido anteriormene neste relatório.
Disponibilidade:
•
P2P - Mesmo se um peer ficar indisponivel, outro peer
pode responder a uma requisição. Na prática, a
arquitetura P2P possibilita saber quando um peer sai ou
entra na rede
•
Cliente Servidor - Se um servidor sai da rede, todos os
clientes que estavam acessando o servidor ficam sem
comunicação com ele, logo, clientes ficam sem resposta
e não tem acesso ao serviço fornecido, pois somente ele,
Concorrência:
•
P2P - Cada peer responde um numero muito menor de
acessos simultâneos, pois o há um número grande peers
que são iguais e que fornecem as respostas/dados
necessários a quem os solicite.
•
Cliente Servidor - O número de acessos simultâneos é
grande, pois somente os servidores fornecem os serviços
para os clientes que são dependentes dos servidores para
realizar suas tarefas.
Localização:
•
P2P - Não é preciso saber a localização dos peers, ou de
onde estão vindo os dados/respostas solicitados. A
descoberta dos peers é dinâmica.
•
Cliente Servidor - O cliente para ter acesso ao servidor
ele necessariamente precisa saber qual servidor ele está
acessando ( ex.: saber o endreço de IP, ou o nome do
servidor ).
Desempenho:
•
P2P - Cada peer responde a poucas requisições, em
media, e nao são necessárias maquinas poderosas para
ter o mesmo desempenho
•
Cliente Servidor - É necessário ter máquinas poderosas
com poder de processamento grande para poder
responder as solicitações de serviços ou de
processamento ( thin client ) dos clientes.
6.
VANTAGENS E DESVANTAGENS
DO SEVIÇO
Vantagens:
- Por utilizar a arquitetura de Cliente Servidor do tipo Thin
Client, as máquinas dos clientes não precisam ter um grande
poder de processamento.
- Pode-se acessar qualquer máquina remotamente na rede e
controlá-las facilmente.
- Utiliza conexão TCP/IP que permite o acesso a computadores
via internet
Desvantagens:
- Caso mais de um cliente (viewer) acesse um servidor (server)
ao mesmo tempo as ações de um cliente irão interferir nas ações
de outro cliente.
- VNC não suporta cópia de arquivos do computador local para
o computador remoro e vice versa.
3. - O cliente precisará sempre saber o IP do computador que ele
quer acessar para realizar o acesso remoto.
- VNC não é um protocolo seguro, pois permite o acesso de
terceiros ao computador por meio da internet, o que pode ser
inseguro caso pessoas alheias acessem sem permissão o
computador
3.
REFERÊNCIAS
[1] The RFB Protocol - Version 3.8 (2010-11-26)
[2] http://pt.wikipedia.org/wiki/Virtual_Network_Computing
[3] http://virtuallab.tu-freiberg.de/p2p/p2p/vnc/ug/index.html