guidini - daroncho

Transcrição

guidini - daroncho
FACULDADE DE TECNOLOGIA DA ZONA LESTE
JULIANO ALVES GUIDINI
O USO DA VIRTUALIZAÇÃO DE SERVIDORES COMO FORMA DE REDUÇÃO DOS
CUSTOS DE TI
São Paulo
2009
JULIANO ALVES GUIDINI
O USO DA VIRTUALIZAÇÃO DE SERVIDORES COMO FORMA DE REDUÇÃO DOS
CUSTOS DE TI
Monografia
apresentada
no
curso
de
Tecnologia em Informática para gestão de
negócios da Faculdade de Tecnologia da Zona
Leste para obtenção do título de Tecnólogo em
Informática para gestão de negócios.
Orientador: Prof. Msc. Celio Daroncho
São Paulo
2009
Autorizo a reprodução parcial ou total desta obra, para fins acadêmicos, desde que citada a fonte.
DADOS INTERNACIONAIS DE CATALOGAÇÃO-NA-PUBLICAÇÃO
(Biblioteca Virginie Buff D’Ápice da Faculdade de Medicina Veterinária e Zootecnia da Universidade de São Paulo)
Guidini, Juliano Alves
O uso da virtualização de servidores como forma de redução dos
custos de TI / Juliano Alves Guidini. – 2009.
87 f. : il.
Monografia apresentada no curso de Tecnologia em Informática para
Gestão de Negócios na Faculdade de Tecnologia da Zona Leste. (FATECZL), São Paulo, 2009.
Orientador: Prof. Msc. Celio Daroncho.
1. Virtualização. 2. Sistema operacional. 3. VPN. I. Título.
Nome: GUIDINI, Juliano Alves
Título: O USO DA VIRTUALIZAÇÃO DE SERVIDORES COMO FORMA DE REDUÇÃO
DOS CUSTOS DE TI
Monografia apresentada no curso de
Tecnologia em Informática para gestão de
negócios na FATEC-ZL como requerimento
parcial para obter o título de Tecnólogo em
Informática para gestão de negócios.
Aprovado em: ____/____/____
Banca Examinadora
Prof __________________________ Instituição______________________________
Julgamento: ___________________ Assinatura ______________________________
Prof __________________________ Instituição______________________________
Julgamento: ___________________ Assinatura ______________________________
Prof __________________________ Instituição______________________________
Julgamento: ___________________ Assinatura ______________________________
Dedico a Deus, por sempre ter me carregado quando não pude andar por mim mesmo,
aos meus pais por todo o apoio, amor e carinho, à minha namorada Graciella pela
compreensão, amor e ajuda em nossa caminhada, aos inúmeros amigos que me ajudaram
nesse trabalho, cada um à sua maneira, mas que foram fundamentais para que a obra
progredisse no tempo correto.
Agradeço ao Centro Tecnológico da Zona Leste, atualmente extinto, mas que
proporcionou grandes oportunidades na minha formação pessoal e profissional, à Faculdade
de Tecnologia da Zona Leste pelo apoio fundamental nos meus trabalhos, ao Professor Doutor
Geraldo da Silva, pessoa que me apresentou aos caminhos do CTZL/FATEC-ZL, aos amigos
que aqui fiz em toda a administração e corpos docentes e discentes, os quais não serão
listados, pois temo esquecer algum nome, mas todos estão guardados no meu coração. Por fim
ao meu chefe, orientador e amigo Célio Daroncho.
As dificuldades fizeram-se para serem vencidas.
Barão de Mauá - Irineu Evangelista de Souza
GUIDINI, Juliano Alves. O uso da virtualização de servidores como forma de redução
dos custos de TI. 2009. 87 f. Trabalho de conclusão de curso (Tecnólogo) – Faculdade de
Tecnologia da Zona Leste, São Paulo, 2009.
RESUMO
No cenário tecnológico atual tecnologias que foram esquecidas no passado ganham novas
formas e funcionalidade voltando ao papel principal no campo da tecnologia da informação e
comunicação, especificamente a virtualização de hardware, a qual vem sendo utilizada em
larga escala pelos profissionais que mantém serviços de informação baseados em dispositivos
digitais. Notadamente essa tecnologia recebeu melhorias e tornou-se atraente em relação ao
investimento necessário para manter e utilizá-la, além do que, com ela é possível reduzir
custos com energia, recursos humanos, equipamentos e espaço físico sendo ainda benéfica
para o meio ambiente no sentido de permitir melhor gestão dos recursos naturais. Com auxílio
da virtualização foi construída infra-estrutura de acesso remoto com uso de rede virtual
privada obtendo-se uma melhor gerência do parque tecnológico por parte da equipe
responsável por administrar a infra-estrutura de tecnologia de informação e comunicação.
Palavras-chave: Virtualização. Sistema Operacional. VPN.
GUIDINI, Juliano Alves. Use of server virtualization as a way of reducing IT costs. 2009.
87 f. Trabalho de conclusão de curso (Tecnólogo) – Faculdade de Tecnologia da Zona Leste,
São Paulo, 2009.
ABSTRACT
In the tech scene today, technologies that have been forgotten in the past take on new forms
and functionality, back to the lead role in the field of information technology and
communication, specifically the hardware virtualization, which has been used widely by
professionals that keeps intelligence-based on digital devices. Notably, this technology was
improved and became attractive for the investment necessary to maintain and use it, beyond
that, it is possible to reduce energy costs, human resources, equipment and physical space, is
also beneficial to the environment in to enable better management of natural resources. With
the help of virtualization has built infrastructure for remote access using virtual private
network, resulting in better management of the technology park by the team responsible for
managing the infrastructure of information technology and communication.
Keywords: Virtualization. Operating System. VPN.
LISTA DE FIGURAS
Figura 1– Réplica da máquina analítica criada por Babbage. .................................................. 20
Figura 2 – Painel de controle do Eniac. .................................................................................... 21
Figura 3 – Proteção hierárquica de camadas do 386. ............................................................... 27
Figura 4 – Visão do túnel criado por uma VPN. ...................................................................... 41
Figura 5 – Visão da funcionalidade de uma VPN interligando duas redes locais. ................... 42
Figura 6 – Acesso remoto com VPN. ....................................................................................... 43
Figura 7 – VPN site-to-site. ...................................................................................................... 43
Figura 8 – Visão do papel do VMM. ........................................................................................ 48
Figura 9 – Tipos de VMs. ......................................................................................................... 49
Figura 10 – Servidor Itautec MX-201. ..................................................................................... 61
LISTA DE TABELAS
Tabela 1 – Valores dos equipamentos compatíveis com as funções de servidor VPN e Radius
.................................................................................................................................................. 64
Tabela 2 – Comparação dos recursos dos servidores Itautec MX-201 e Dell PowerEdge T105
.................................................................................................................................................. 65
Tabela 3 – Custo dos servidores Dell PowerEdge T105 para substituição do Itautec MX-201
.................................................................................................................................................. 66
Tabela 4 – Comparação do consumo energético dos servidores MX-201 e T105 ................... 67
LISTA DE SIGLAS
AD
Active Directory – Diretório Ativo
AMD
Advanced Micro Devices – Fabricante de Processadores
AMD-V
AMD Virtualization – Virtualização da AMD
ARPA
Advanced Research Project Agency - Agência de Pesquisa em Projetos
Avançados
BIND
Berkley Internet Name Domain – Nome de Domínio da Internet de Berkley
C.I.S.C
Computador com conjunto de instruções complexas no seu assembly
CA
Certificate authority – Autoridade de Certificação
CD-ROM
Compact Disc - Read Only Memory – Disco Compacto - Memória Somente de
Leitura
CHAP
Challenge-Handshake Autentication Protocol – Protocolo de Autenticação por
Desafios de Identidade
CI
Circuito Integrado
CPU
Central Processing Unit – Unidade Central de Processamento
DC
Domain Controller – Controlador de Domínio
DES
Data Encryption Standard – Padrão de Criptografia de Dados
DHCP
Dynamic Host Configuration Protocol – Protocolo de Configuração Dinâmica de
Cliente
DN
Distinguished Name – Nome Distinto
DNS
Domain Name System – Sistema de Nome de Domínio
DoD
Department of Defense - Departamento de Defesa
DTI
Departamento de Tecnologia da Informação da FATEC-ZL
EAP
Extensible Authentication Protocol – Protocolo de Autenticação Extensível
EUA
Estados Unidos da América
FATEC-ZL
Faculdade de Tecnologia da Zona Leste
FQDN
Fully Qualified Domain Name – Domínio Completamente Expressado
hypervisor
O mesmo que VMM
Hz
Hertz
IA-32
Intel Architecture-32 – Arquitetura Intel-32
IBM
International Business Machines
ICP
Infra-estrutura de Chaves Públicas
IEEE
Institute of Eletrical and Eletronics Engineers – Instituto de Engenheiros
Elétricos e Eletrônicos
IP
Internet Protocol –Protocolo de Internet
IPSec
IP Security Protocol – Protocolo de IP Seguro
ISA
Instruction Set Architecture – Arquitetura de Conjunto de Instruções
L2F
Layer 2 Forwarding – A Frente da Camada 2 “tradução livre”
L2TP
Layer Two Tunneling Protocol – Protocolo de Túnel Camada Dois
LSI
Large Scale Integration – Integração de Larga Escala
LWP
Lightweight process – Processos leves
MAC
Media Access Control – Controle de Acesso de Mídia
MMU
Memory Management Unit – Unidade de Gerenciamento de Memória
MPPE
Microsoft Point-to-Point Encryption – Criptografia Ponto a Ponto da Microsoft
MS-CHAP
Microsoft Challenge-Handshake Authentication Protocol – Protocolo de
Autenticação por Desafios de Identidade da Microsoft
MS-CHAP v2
Microsoft Challenge-Handshake Authentication Protocol version 2 – Protocolo
de Autenticação por Desafios de Identidade da Microsoft versão 2
MS-DOS
Microsoft Disk Operating System – Sistema Operacional de Disco da Microsoft
NAS
Network Access Server – Servidor de Acesso a Rede
NCP
Network Control Protocol – Protocolo de Controle de Rede
PAP
Password Authentication Protocol – Protocolo de Autenticação de Senha
PPP
Point-to-Point Protocol – Protocolo Ponto a Ponto
PPTP
Point-to-Point Tunneling Protocol – Protocolo de Túnel Ponto a Ponto
R.I.S.C
Computadores com conjunto de instruções reduzidas no seu assembly
R2
Release 2 – Programas instalados no Microsoft Windows Server 2003 que
aumentam a sua funcionalidade
Radius
Remote Authentication Dial-In User Service – Serviço Remoto de Autenticação
de Usuário Discada
RAID
Redundat Array of Inexpensive Discs – Matriz de Discos Baratos Redundates
RAM
Random Access Memory – Memória de Acesso Aleatório
RRAS
Routing and Remote Access Server - Servidor de Roteamento e Acesso Remoto
RSA
Rivest-Shamir-Adleman – Ron Rivest, Adi Shamir e Leonard Adleman,
criadores do método.
SCSI
Small Computer System Interface –Sistema de Interface para Computadores
Portáteis
SimOS
Um simulador completo de sistema desenvolvido pela Universidade de Stanford.
SO
Sistema Operacional
SPAP
Shiva Password Authentication Protocol – Protocolo de Autenticação de Senha
Shiva
SQL
Structured Query Language – Linguagem de Consulta Estruturada
TCP
Transmission Control Protocol - Protocolo de Controle de Transmissão
TIC
Tecnologia da Informação e Comunicação
TLS
Transport Layer Security – Segurança de Camada de Transprote
VM
Virtual Machine – Máquina Virtual
VMI
Virtual Machine Interface – Interface de Máquina Virtual
VMM
Virtual Machine Monitor – Monitor de Máquina Virtual
VMWare
VMWare – Empresa que desenvolve VMM comercialmente
VPN
Virtual private network – Rede Privada Virtual
VT-x
Intel Virtualization Technology for the IA-32 architecture – Tecnologia de
Virtualização da Intel para arquitetura IA-32
SUMÁRIO
1 INTRODUÇÃO ................................................................................................................... 17
2 HARDWARE ....................................................................................................................... 19
2.1 Origem da informática e do hardware ....................................................................... 19
2.2 Plataforma x86 .............................................................................................................. 23
2.3 Sistemas Operacionais .................................................................................................. 27
2.3.1 Memória .................................................................................................................. 30
2.3.2 Arquivos .................................................................................................................. 31
2.4 Arquitetura cliente-servidor ........................................................................................ 32
2.5 Rede e Serviços.............................................................................................................. 33
2.5.1 Infra-estrutura de rede ............................................................................................. 34
2.5.2 Protocolo TCP/IP..................................................................................................... 34
2.5.3 DNS e DHCP ........................................................................................................... 36
2.5.4 Criptografia e Certificados Digitais ......................................................................... 37
2.5.5 Serviço de diretório ................................................................................................. 39
2.5.6 VPN ......................................................................................................................... 41
2.5.7 Radius e Autenticação ............................................................................................. 45
3 VIRTUALIZAÇÃO ............................................................................................................. 47
3.1 Conceituando virtualização ......................................................................................... 47
3.2 Emuladores.................................................................................................................... 50
3.3 Formas de virtualização ............................................................................................... 51
3.3.1 Virtualização total ................................................................................................... 51
3.3.2 Paravirtualização ..................................................................................................... 52
3.3.3 Tradução binária ...................................................................................................... 53
3.3.4 Assistência via hardware ......................................................................................... 54
4 APLICAÇÕES ..................................................................................................................... 55
4.1 Ensino ............................................................................................................................ 55
4.2 Consolidação de servidores .......................................................................................... 56
4.3 Migração de aplicações legadas e plano de contingência .......................................... 57
5 ESTUDO DE CASO ............................................................................................................ 59
5.1 Local ............................................................................................................................... 59
5.2 Métodos e Procedimentos ............................................................................................ 60
5.3 Análise............................................................................................................................ 64
6 CONSIDERAÇÕES FINAIS .............................................................................................. 68
REFERÊNCIAS ..................................................................................................................... 70
ANEXO A – ORÇAMENTOS E ESPECIFICAÇÕES TÉCNICAS ................................. 77
17
1 INTRODUÇÃO
Atualmente as organizações buscam meios de tornarem-se mais competitivas no
mercado, uma das formas de se alcançar tal objetivo é a redução de custos. A informática vem
em auxílio possibilitando melhor gestão com o controle dos processos e automação das
tarefas. Atualmente a informática estende-se por todos os braços das organizações,
representando com isso uma demanda constante de recursos financeiros, os quais muitas
vezes são vistos como custos, porém é possível converter esses recursos em investimentos em
infra-estrutura para as mesmas.
Resgatam-se os fundamentos da computação, suas tecnologias e princípios de
comunicação das redes de computadores e da internet. As empresas desenvolvedoras de
sistemas de informática reintroduziram no mercado técnicas e conceitos já consagrados que
ajudam na economia de recursos financeiros, energéticos e humanos, proporcionando uma
melhoria dos processos internos de um sistema eletrônico de informação refletindo em
menores investimentos em informática e maiores realizações nesse campo.
Empresas como a VMWare e a Microsoft resgataram tecnologias de virtualização que
possibilitam que os custos com informática sejam transformados em investimentos pela
utilização de produtos robustos, escaláveis e de fácil gestão com custos atraentes ou mesmo
sem custo algum.
Tem-se o objetivo de demonstrar que com a utilização da virtualização é possível
economizar recursos financeiros com equipamentos, energia elétrica e recursos humanos
utilizando-se menor quantidade de equipamentos consumidores de energia elétrica.
A virtualização poder ser aplicada em diversos recursos da informática tais como na
virtualização de computadores inteiros, o que permite que funcionem como um computador
real, virtualização de dispositivos de rede, permite que computadores virtuais utilizem a rede
reduzindo a necessidade de dispositivos de rede reais. Aplicando-se essas técnicas pode-se
18
reduzir o consumo de energia elétrica e recursos financeiros apenas pela eliminação da
existência de computadores e dispositivos de rede.
A redução da quantidade de equipamentos reais em uma organização pode ajudar a
reduzir e melhor aproveitar os recursos humanos, pois a gestão dos equipamentos virtuais
pode ser efetivada de maneira centralizada, muitas vezes não mais se faz necessário deslocar
equipe técnica até um equipamento para configurá-lo ou efetuar manobra de cabos, até
mesmo ligar o equipamento pode ser feito fora do local físico. O menor número de
equipamentos trás uma redução na necessidade de espaço físico e redução das necessidades de
refrigeração dos equipamentos.
Assim sendo, promover uma melhor utilização dos recursos computacionais no
Departamento de Tecnologia de Informação (DTI) da Faculdade de Tecnologia da Zona Leste
(FATEC-ZL) com a utilização de virtualização de computadores e implantação de serviço de
acesso remoto permitindo a gestão dos recursos de qualquer computador conectado com a
internet.
Desta forma para desenvolver este trabalho foi utilizada pesquisa em referências
bibliográficas, páginas da internet que abordem o tema, artigos técnicos e científicos com a
finalidade de elucidar as teorias e tecnologias envolvidas no processo, além disso, será
efetuado um estudo de caso no DTI da FATEC-ZL utilizando-se dos recursos computacionais
disponíveis bem como sua infra-estrutura.
Além disso, uma das maiores preocupações notadas nas áreas de tecnologia é a
preservação ambiental onde se buscam produtos que não contribuam para a degradação do
planeta Terra. A virtualização vem de encontro com a preservação ambiental na forma de
consumir menores quantidades de energia e proporcionar menor emissão térmica.
A hipótese que se deseja verificar é se há uma redução de valores monetários com uso
de virtualização, seja com economia de espaços físicos, compra de equipamentos ou mesmo
na gerência dos recursos
19
2 HARDWARE
Segundo Bittencourt (2006), os sistemas computacionais são organizados em módulos
que interagem entre si, desta forma cada um dos dispositivos possui finalidades específicas
definidas por diversos padrões, padrões estes que irão determinar suas características elétricas
e eletrônicas, permitindo portabilidade, expansibilidade e conectividade a outros
equipamentos e dispositivos. “O hardware de um computador consiste em seus dispositivos
físicos – processador(es), memória principal e dispositivos de entrada/saída” (DEITEL;
DEITEL; CHOFFNES, 2005, p. 32).
2.1 Origem da informática e do hardware
O primeiro computador digital verdadeiro foi projetado pelo matemático inglês
Charles Babbage (1792-1871), era totalmente mecânico, como pode ser visto na figura 1, e
devido a tecnologia da época não foi possível produzir as peças necessárias para que
funcionasse adequadamente, chamava-se motor analítico e não tinha um sistema operacional
desenvolvido para ele, porém Babbage sabia ser necessário um e contratou então uma jovem
mulher chamada Ada Lovelace como programadora do sistema. (TANENBAUM;
WOODHULL, 2000).
20
Figura 1– Réplica da máquina analítica criada por Babbage.
Anos após Babbage (1945-1955), com seus esforços mal sucedidos, foi criada a
primeira geração de computadores compostos por válvulas e painéis de conectores, como
pode ser visto na figura 2, eram máquinas de calcular enormes, ocupando salas inteiras e
utilizando-se de dezenas de milhares de válvulas e muito mais lentos que as mais simples
calculadoras de hoje. Na época o mesmo grupo de pessoas que projetava também construía,
programava e operava a máquina, programação que era feita em linguagem de máquina pura
utilizando-se de painéis de conectores para controlar as funções do computador (DEITEL;
DEITEL; CHOFFNES, 2005).
21
Figura 2 – Painel de controle do Eniac.
Segundo Deitel, Deitel e Choffnes (2005) a linguagem de máquina é definida em
projeto de hardware e consiste geralmente em cadeias de números reduzidos a 0 (zero) e 1
(um) instruindo o computador a executar operações. A operação dependia de o operador
inserir as conexões no computador e esperar por horas o processamento e que nenhuma das
muitas válvulas queimasse durante a execução. Não existiam linguagens de programação e
ninguém nunca tinha ouvido falar de sistema operacional. Em geral eram executadas tarefas
simples de cálculo com os computadores dessa geração.
A segunda geração de computadores (1955-1965), por sua vez, era composta por
transistores e sistemas de lote. Com a introdução do transistor os computadores tornaram-se
confiáveis para serem fabricados e vendidos com expectativa de que continuariam
funcionando para executar algum trabalho útil, pois já existiam programadores e linguagens
de programação tais como assembly 1e Fortran (TANENBAUM; WOODHULL, 2000).
A entrada de dados era feita por meio de cartões perfurados e fitas magnéticas e para a
saída das informações já eram utilizadas impressoras. Dizia-se sistema de lote, pois se
utilizavam de um computador de baixa capacidade de processamento para gravar as fitas com
1
Assembly é uma linguagem de montagem, ou seja, é uma notação legível de um código de máquina,
especifico, possibilitando o entendimento por parte dos seres humanos. A linguagem de máquina torna-se legível
pela substituição dos valores por símbolos chamados mnemônicos (SUN MICROSYSTEMS, 2005).
22
as instruções do programa e imprimir os relatórios e um computador de maior capacidade de
processamento para executar o programa. (TANENBAUM; WOODHULL, 2000).
A terceira geração de computadores tem início por volta de 1964, estendendo-se até
1980, e foi a era dos Circuitos Integrados (CI) e da Multiprogramação, nessa era
computacional existiam os computadores científicos de grande escala, baseados em palavras,
e os computadores comerciais, baseados em caracteres, utilizados para classificar e para
imprimir fitas para bancos e companhias de seguros. A International Business Machines
(IBM) tentou resolver esses problemas introduzindo o System/360, uma série de máquinas
compatíveis em software, mas que variavam em capacidade de processamento (DEITEL;
DEITEL; CHOFFNES, 2005).
O System/360 foi projetado para manipular cálculos científicos e comerciais e foi a
primeira linha importante de computadores a utilizar circuitos integrados - CIs, de pequena
escala, trazendo com isso uma vantagem competitiva importante relativa a preço e
desempenho sobre as máquinas de segunda geração, que se utilizavam de válvulas. A maior
força do System/360 era ao mesmo tempo sua fraqueza, pois foi concebido para que todo
software funcionasse em qualquer máquina da série, incluindo o sistema operacional, tais
requisitos tornavam muito complexa a tarefa de escrever programas para esse sistema
ocasionando, assim, milhares de erros nos programas e sistema operacional. (TANENBAUM;
WOODHULL, 2000).
Os sistemas dispunham de compartilhamento de tempo, uma variante da
multiprogramação, em que os usuários ou trabalhos que estavam sendo processados dividiam
o tempo de processamento entre si e no caso de um trabalho ou usuário não estar consumindo
processador outro trabalho poderia ocupar esse espaço de processamento, assim o computador
pode oferecer serviço rápido e interativo (TANENBAUM; WOODHULL, 2000).
A quarta geração de computadores, iniciada em 1980, vai até os dias de hoje, e é
chamada de geração de computadores pessoais. Esta geração foi viabilizada pela tecnologia
Large Scale Integration (LSI – integração de larga escala), que são pastilhas contendo
milhares de transistores por centímetro quadrado de silício, também conhecidos como
microprocessador. Não dispõem de arquitetura diferente dos minicomputadores, mas sim de
23
preços menores. “O microprocessador permitiu que uma pessoa tivesse seu próprio
computador pessoal” (TANENBAUM; WOODHULL, 2000, p. 24).
Os computadores pessoais mais poderosos são chamados de estações de trabalho, mas
são apenas computadores pessoais de maior porte. Os sistemas operacionais que dominaram a
cena foram o MS-DOS da Microsoft e o Unix, bem como a Central Processing Unit (CPU Unidade Central de Processamento) Intel 8088 e seus sucessores, como os 80286, 80386,
80486, referidos apenas como 286, 386 e 486 e mais tarde a família Pentium e atualmente a
família Core (DEITEL; DEITEL; CHOFFNES, 2005).
2.2 Plataforma x86
A plataforma x86 ou Intel Architecture-32 (IA-32 – Arquitetura Intel-32) foi precedida
pelos processadores de 16 bits como o 8086 e 8088, que datam de 1978, estes introduziram a
segmentação de memória na IA-32, para os programas a memória aparece como um grupo de
endereços independentes, chamados segmentos, e para acessar o seu conteúdo é necessário
um endereço lógico que consiste em um seletor de segmentos e uma faixa de endereços
(INTEL CORPORATION, 2009).
O Intel 286 introduziu na IA-32 a operação em modo protegido, estado nativo do
processador em que, dentre outras característica, tem a capacidade de executar, em modo de
endereçamento real, programas do 8086 em ambiente multitarefa, o endereçamento real é o
modelo de memória para o processador 8086, suportado, no Intel 286, para prover
compatibilidade estes diferentes processadores, que usa um implementação específica do
modelo de segmentação de memória que consiste em uma ordenação de segmentos de até
64Kbytes. Já em 1985 surge o Intel 386, que foi o primeiro processador de 32 bits da IA-32
(INTEL CORPORATION, 2009).
24
O que diferencia uma CPU de 16 bits de uma de 32 bits é a largura máxima de palavra
de dados, a existência de vias ou barramentos internos ou externos de 32 bits implica que as
operações serão executadas de uma só vez dentro do microprocessador como exemplo tem-se
o 8086, uma máquina de 16 bits de dados e o 8088 uma versão de 8 bits do 8086 que
internamente trabalha em 16 bits mas se liga aos periféricos e memória em 8 bits (FERRI,
1990).
Os processadores Intel da família 80x86, como os 8086, 286, 386 e 486, são
considerados máquinas Complex Instruction Set Computer (C.I.S.C. – Computador com
Conjunto de Instruções Complexas), mas também existem as máquinas chamadas de Reduced
Instruction Set Computer (R.I.S.C. – Computador com Conjunto de Instruções Reduzidas)
(FERRI, 1990).
Os processadores C.I.S.C. provêm da década de 1980 com a idéia de incorporar seções
de código de programação freqüentemente utilizadas, esses processadores surgiram na época
em que a maioria dos sistemas era escrita em linguagem de montagem, assembly, com
conjunto de instruções únicas que executavam diversas operações proporcionando aos
programadores construir programas com menor quantidade de linhas. Os processadores que
utilizam dessa tecnologia tentar transferir a complexidade do software para o hardware
(DEITEL; DEITEL; CHOFFNES, 2005).
As máquinas R.I.S.C possuem características como o pequeno número de instruções
do assembly com um formato fixo em termos de bytes, com a maioria das instruções operando
somente nos numerosos registradores internos; separação de barramentos interno de dados e
instruções quando a CPU for um CI ou externo, caso a CPU seja formada por vários CI;
execução da maioria das instruções em um único ciclo de relógio 2 da CPU; possui grande
número de registradores na CPU; recursos de instruções e dados facilitando a implementação
de compiladores do tipo otimizantes; possibilidade de fazer o máximo de operações de acesso
à memória externa da CPU utilizando-se registradores e caches internos; e previsão de caches
2
Tempo do computador, sendo este medido em ciclos, que refere-se a uma oscilação completa de um
sinal elétrico, provindo do gerador de relógio do sistema, que estabelece a cadência do mesmo, determinando a
freqüência de funcionamento deste, comumente medida em ciclos por segundo ou Hertz (Hz) (DEITEL;
DEITEL; CHOFFNES, 2005).
25
para instruções de desvio não permitindo que a fila de instruções se esvazie e provoque perda
de desempenho da CPU (FERRI, 1990).
Os primeiros processadores R.I.S.C. surgiram como projetos universitários, os quais se
tornaram comerciais mais tarde com o lançamento do primeiro componente dessa espécie pela
empresa A MIPS Computers, com a família R2000. O desenvolvimento comercial da
tecnologia R.I.S.C. iniciou-se em 1986 por diversos fabricantes internacionais como a Hewlett
Packard (HP), IBM, Piramid e Ridge Computers, mas antes disso, em 1984, foi introduzido o
PC AT com o microprocessador 286 da Intel e relógio de 6 MHz. O 286 era de 3 a 4 vezes
mais rápido que os 8088 (FERRI, 1990).
No final de 1985 a Intel anunciou o seu primeiro processador de 32 bits, chamado 386,
mas na prática este só esteve disponível no segundo semestre de 1986 e em larga escala em
1987. As principais diferenças entre o 8088, 286, 386 e 486 podem ser resumidas dizendo-se
que o 8088 não permite multitarefa por hardware, enquanto os outro sim, o 8088 só endereça
1 Megabyte de memória e não possui modo protegido ou gerenciamento de memória virtual,
uma extensão da memória principal, em contrapartida o 286 endereça 16 Megabytes de
memória física, quando em modo protegido, e os 386/486 endereçam 4 Gigabytes em modo
protegido, o 8088 e o 286 não possuem instruções e registradores de 32 bits e o 286 não
possui o modo virtual 86 do 386/486 (FERRI, 1990).
A arquitetura de modo protegido proporciona a total utilização da capacidade do 386,
quando ele trabalha em modo de endereçamento virtual protegido, aumentando linearmente o
espaço de endereçamento para quatro Gigabytes, adicionalmente o modo protegido permite
que todos os programas criados para 8086 e 80286 sejam executados provendo um
gerenciamento de memória sofisticado e um mecanismo de proteção assistido por hardware.
(INTEL CORPORATION, 1995).
O modo virtual 86 traz diversos benefícios para o 386, pois possibilita a execução do
Unix no 386, e em modo protegido a emulação virtual do processador 8086 permitindo assim
utilizar-se da maioria dos pacotes de software para MS-DOS escritos para IBM-PC que
existiam no mercado. Mais tarde na década de 1990 ficaram mais claras estas vantagens, pois
foi possível a utilização simultânea de um sistema Unix com o MS-DOS sendo executado
como uma tarefa do Unix, possibilitando-se assim, ao hardware, emular em uma tarefa do
26
modo protegido o funcionamento do 8086 quanto ao endereçamento de memória e instruções
de 16 bits, sem com isso perder as características de um sistema operacional multitarefas ou
multiusuários como está previsto nos recursos da arquitetura do 386 (FERRI, 1990).
No 286 o Sistema Operacional (SO) fica limitado pela não existência do modo virtual
de emulação de outro ambiente de hardware na operação de modo protegido. “Esta é a
característica de software mais importante no 80386” (FERRI, 1990, p. 27). O usuário poderia
alternar entre MS-DOS e Unix mediante comando apropriado, sendo possível executar os
sistemas operacionais originalmente escritos para 286 como o QNX, FLEX-OS 286 da
Digital Research e o Xenix da Microsoft (FERRI, 1990).
Comercialmente o utilitário VP/ix, desenvolvido pela Phoenix Technologies, em
conjunto com o 386/ix da Iteractive ou o SCO Xenix/386, concretizaram a capacidade de
executar dois SO simultâneos, de forma transparente ao usuário. Porém não se tratava de
novidade na década de 1980 já que as versões iniciais do OS/360, da década de 1970, da IBM
foi modificado para tornar-se um sistema de tempo compartilhado, chamado TSS/360,
lançado tardiamente, segundo Tanenbaum e Woodhull (2000).
Um grupo no Centro Científico da IBM em Cambridge, Massachusetts, produziu um
sistema radicalmente diferente, que a IBM acabou aceitando como um produto utilizado em
seus mainframes, sistemas de grande porte, remanescentes, o sistema foi chamado de
VM/370, e proporcionava máquinas virtuais (TANENBAUM; WOODHULL, 2000). “O
propósito de qualquer arquitetura de sistemas em um microprocessador, é suportar os
requisitos de um sistema operacional, que pode ou não ser bastante específico em suas
necessidades.” (FERRI, 1990, p. 97).
O conceito de proteção no 386 dispõe de quatro níveis hierárquicos que suportam as
necessidades de SO multitarefas para isolar e proteger cada programa do usuário e o sistema
operacional. Os níveis de privilégio controlam o uso de instruções privilegiadas, instruções de
entrada/saída (E/S), acesso a segmentos de memória e descritores de segmentos (INTEL
CORPORATION, 1995).
Diferentemente dos tradicionais processadores onde a proteção é provida por circuitos
externos complexos, o 386 possui integrado no Memory Management Unit (MMU), unidade
de gerenciamento de memória, nos sistemas de proteção. Como pode-se verificar na figura 3 o
27
nível 0 é o mais privilegiado, o núcleo do sistema operacional é executado com nível 0, e o 3
o menos, as aplicações do usuário possuem esse nível (INTEL CORPORATION, 1995).
Figura 3 – Proteção hierárquica de camadas do 386.
2.3 Sistemas Operacionais
Conforme Deitel, Deitel e Choffnes (2005, pag 27), na década de 1960 definia-se SO
como o software que controlava o hardware, porém houve evolução significativa até a
atualidade o que torna necessário uma descrição mais rica, sendo então SO o “[...] software
que habilita as aplicações a interagir com o hardware de um computador.”
28
Um SO é o programa gerenciador de recursos de hardware e software do equipamento
no qual é executado. O termo multitarefas pode descrever duas funções, sendo uma a
possibilidade de o usuário mover entre duas ou mais aplicações sem precisar deixar uma delas
para ir à outra, pode-se conseguir isso com chaveamento por comandos ou escalonamento de
tarefas pelo sistema operacional, a outra possibilidade é a do sistema poder executar múltiplas
aplicações ao mesmo tempo (FERRI, 1990).
Os sistemas operacionais do tipo multitarefa são baseados na emulação do
funcionamento simultâneo de múltiplos processadores fornecendo a cada tarefa um
processador virtual o qual na realidade é a divisão do tempo do processador real entre as
tarefas em execução (FERRI, 1990).
Um sistema operacional é composto por diversos componentes, dentre os quais podese destacar como componentes principais (DEITEL; DEITEL; CHOFFNES, 2005):
Escalonador de processo que determina a que tempo e por quanto tempo um processo
é executado no processador, em geral muitos processos competem para utilizarem-se
do processador, logo o escalonador pode basear suas decisões em critérios como a
importância de um processo ou o tempo estimado que ele executará o mesmo;
Gerenciador de memória que determina quando e de que maneira a alocação da
memória se dará ocupando-se de encontrar uma saída em caso de a memória principal
estar cheia, ele garante que os processos não interfiram entre si e menos ainda no
sistema operacional impedindo que acessem áreas da memória que não lhes
pertencem;
Gerenciador de E/S (Entrada e Saída) que atende às solicitações de entrada e saída
dos componentes de hardware, esses componentes podem ser dispositivos como
teclado, mouse e impressora;
Gerenciador de comunicação entre processos (IPC) que permite a comunicação entre
os processo, freqüentemente os processos cooperam entre si para cumprir uma meta
comum então se utilizam do IPC e mecanismos de sincronização que simplificam a
programação concorrente;
Gerenciador de sistema de arquivos que organiza as coleções nomeadas de dados nos
dispositivos de armazenamento e provê interface para acesso aos dados, este reordena
as requisições para o dispositivo de armazenamento secundário, normalmente um
29
disco magnético, com a finalidade de maximizar o desempenho minimizando perdas
de tempo no acesso aos dados.
Todo programa que é executado em um computador, inclusive o SO, é organizado em
processos seqüenciais, ou somente processos, conceitualmente cada processo é um programa
em execução, com seus valores de variáveis, e possui seu próprio processador virtual, na
realidade o escalonador de processos alterna de um processo para outro rapidamente
executando apenas um processo por unidade de tempo, porém para melhor entendimento
facilita pensar em diversos processos que estão em execução paralelamente (TANENBAUM;
WOODHULL, 2000).
Os processos possuem treads, que podem ser denominados como Lightweight Process
(LWP – processos leves) que compartilham muitos atributos de um processo e podem ser
escalonadas, tendo como função a execução de um conjunto de instruções independentes de
outros processos e threads, entretanto não são planejados para existirem sozinhas, como os
processos, os threads de um processo compartilham recursos melhorando a eficiência da
execução das tarefas. Em um sistema multiprocessador mais de um thread é capaz de ser
executado simultaneamente (DEITEL; DEITEL; CHOFFNES, 2005).
Três níveis de escalonamento podem ser considerados, sendo o escalonamento de alto
nível, também chamado de escalonamento de longo prazo, o escalonamento de nível
intermediário e o escalonamento de baixo nível, também designado com despachante. O
primeiro determina quais tarefas o sistema operacional permite que disputem os recursos do
sistema, sendo admitidos tornam-se processos, escalonadores de alto nível são mais comuns
em sistemas de grande porte, mainframes. O segundo determina quais processos terão
permissão para competir por processador, tal política leva em conta a carga do sistema e faz
remanejamento de processos com a finalidade de uma operação tranqüila do sistema. A
terceira determina quais processos ativos do sistema serão designados a um processador,
assim que este estiver disponível, nesse nível é atribuída uma prioridade ao processo,
prioridade esta que reflete a sua importância (DEITEL; DEITEL; CHOFFNES, 2005).
Existem prioridades estáticas, as quais são fixas e os mecanismos baseados nesse tipo
são fáceis de programar, mas não respondem às mudanças do ambiente, e prioridades
dinâmicas que respondem às mudanças no ambiente podendo ser aumentada ou reduzida
30
segundo a necessidade de outros processos ou de acordo com as necessidades de desempenho
(DEITEL; DEITEL; CHOFFNES, 2005).
2.3.1 Memória
O dispositivo em que as informações podem ser retidas é chamado de memória, no
computador esse dispositivo é composto de CI e normalmente apresenta-se com uma peça que
se encaixa no sistema eletrônico do equipamento.
Random Access Memory (RAM – Memória de Acesso Aleatório) é a memória
principal, também chamada por memória real, memória física ou memória primária, é volátil
e de acesso aleatório, no sentido de que os processos podem acessar dados em qualquer
ordem, as latências para os endereços da RAM são essencialmente iguais. Os fabricantes de
RAM procuram reduzir a diferença entre a velocidade do processador e a velocidade de
transferência da memória, já os desenvolvedores de SOs buscam organizar e gerenciar o
armazenamento principal (DEITEL; DEITEL; CHOFFNES, 2005).
O armazenamento secundário, como disco rígido e unidades de fita, fornecem grandes
capacidades e baixo custo para guardar os programas e dados, porém são lentos e não
acessíveis diretamente pelo processador. Para que um programa seja executado deve estar
carregado na memória principal, mas esta tem tamanho limitado (muito menor que a
secundária) sem mencionar o seu alto custo (DEITEL; DEITEL; CHOFFNES, 2005).
Surge desta forma o conceito de memória virtual, a idéia por traz disso é criar a ilusão
de que existe mais memória principal do que realmente há, utilizando-se para isso a memória
secundária como uma extensão da principal. Se um processo acessar um endereço da memória
virtual o sistema deve traduzir para um endereço na memória real, mas a ocorrência dessas
31
traduções é tão freqüente que existe um hardware especial para isso a MMU
(TANENBAUM; WOODHULL, 2000).
Diferentemente da memória principal a secundária oferece acesso ao seu conteúdo
com velocidade variável. A velocidade em que um dado é recuperado ou gravado é
dependente da posição física do cabeçote no disco e do cabeçote de leitura-escrita
(considerando um disco rígido que é composto de pratos onde os dados ficam efetivamente
armazenados e são lidos e gravados por um cabeçote de leitura-escrita o qual paira a uma
pequena distância da superfície do disco), o cabeçote deve se deslocar até imediatamente
acima do dado e deve efetuar a operação somente quando o dado passar pelo cabeçote, já que
o disco gira (DEITEL; DEITEL; CHOFFNES, 2005).
Toda a operação requer um tempo que é composto pelo tempo de latência rotacional,
relativo ao giro do disco, somado ao tempo de busca, relativo ao movimento do cabeçote.
Esses tempos são da ordem de milissegundos para um disco rígido e durante ele um
processador pode executar dezenas ou centenas de milhões de instruções o que, são utilizadas
técnicas de escalonamento de discos e tecnologias de associação de discos para reduzir os
tempos de acesso permitindo maior aproveitamento do sistema (DEITEL; DEITEL;
CHOFFNES, 2005).
2.3.2 Arquivos
Os arquivos são uma abstração, que possibilitam uma maneira de armazenar
informações em dispositivos de armazenamento e obtê-las em outro momento, feito de
maneira que o usuário não tenha que saber como e onde as informações estão realmente
armazenadas no dispositivo físico nem mesmo como manipulá-las. Para que se organizem os
arquivos os sistemas de arquivos têm diretórios, que internamente ao sistema são um tipo de
arquivo, os arquivos podem ser acessados de maneira seqüencial, como em fitas magnéticas,
32
onde não é possível ler fora de ordem ou de maneira aleatória em que podem ser lidos em
qualquer ordem. Os arquivos possuem atributos, como o nome e seus dados, mas também
outras informações como data e hora de criação, tamanho e sinalizadores que indicam a
ativação ou não de alguma propriedade como se é oculto, somente leitura e sinalizador de
backup (TANENBAUM; WOODHULL, 2000).
2.4 Arquitetura cliente-servidor
A utilização de diversos computadores independentes desempenhando uma função
comum denominou-se computação distribuída, houve uma proliferação acentuada dessa
modalidade de computação com o modelo cliente/servidor, pois reduziam-se os custos de
tecnologia e aplicações via rede, como correio eletrônico e transferência de arquivos entre
computadores interconectados por redes, que cresciam exponencialmente. Clientes são
computadores de usuários que requisitam serviços e servidores são computadores que
executam os serviços requisitados, geralmente os servidores são dedicados a tarefas
específicas (DEITEL; DEITEL; CHOFFNES, 2005).
O modelo cliente/servidor é organizado como um conjunto de serviços, servidores e
clientes associados e possui como principais componentes um conjunto de servidores
oferecendo serviços para outros subsistemas, conjunto de clientes os quais solicitam os
serviços e que normalmente são subsistemas independentes e uma rede que permita aos
clientes conectarem-se com os servidores (SOMMERVILLE, 2007).
Há o caso de o servidor e o cliente estarem na mesma máquina em que não é
necessária uma rede, pois os clientes e servidores são processos separados em um mesmo
computador, não havendo necessariamente um mapeamento de rede entre eles, a referência a
clientes ou servidores não é relacionada à computadores e sim aos processos lógicos em
execução, mas a maioria dos sistemas cliente/servidor são desenvolvidos de maneira
33
distribuída, utilizando-se rede. Geralmente os clientes precisam saber os nomes dos servidores
e quais serviços estes dispõem, mas nem sempre os servidores necessitam saber a identidade
dos clientes, para que os clientes acessem os serviços são utilizadas chamadas de
procedimento remoto utilizando-se para isso algum protocolo (SOMMERVILLE, 2007).
Nos sistemas operacionais modernos existe uma tendência em mover a maior
quantidade de código de programa do núcleo do SO para a área do usuário, deixando assim
um mínimo de componentes de núcleo. Para requisitar um serviço, um processo de usuário,
conhecido como processo cliente, envia uma requisição para um processo servidor, que efetua
o trabalho e remete o resultado ao cliente. Nesse modelo o trabalho do núcleo do SO é
gerenciar a comunicação entre clientes e servidores, isso possibilita que existam diversos
serviços disponíveis, independentes, pequenos e gerenciáveis, impedindo que tais serviços
tenham acesso direto ao hardware, evitando assim, em caso de problemas na execução de
algum serviço, que os outros processos sejam afetados (TANENBAUM; WOODHULL,
2000).
2.5 Rede e Serviços
Redes de computadores possibilitam que os clientes, usuários de serviços diversos,
conectem-se com os servidores, provedores dos serviços, atualmente são importantes para as
comunicações, transações comerciais, bancos, acesso á internet entre outras atividades. Para
que as redes funcionem é necessário um conjunto de elementos que compões sua infraestrutura básica como endereçamento IP, resolução de nomes e serviços de certificados
digitais (DEITEL; DEITEL; CHOFFNES, 2005).
34
2.5.1 Infra-estrutura de rede
Infra-estrutura de rede é o conjunto de componentes físicos e lógicos que provêem
conectividade, segurança, roteamento, gerenciamento, acesso e outras funcionalidades.
Implementar uma rede é o processo de avaliação, compra, montagem e instalação dos
componentes que fazem parte do projeto, sendo dividido em hardware tais como
computadores, cabos, dispositivos de conectividade como hubs, switches e roteadores,
impressoras e outros periféricos e software como o sistema operacional, o software primário
tratando-se de infra-estrutura de rede, devido a ele incorporar os protocolos e rotinas que
possibilitam a comunicação em rede (ZACKER; STEVEN, 2006).
A infra-estrutura física da rede é sua topologia, ou seja, o desenho físico da rede ao
longo dos componentes de hardware, tais componentes freqüentemente dependem da infraestrutura lógica da rede que compreende os vários programas que conectam, gerenciam e
mantêm a segurança dos computadores na rede, ainda, consiste nos elementos abstratos de
software, como os protocolos de rede, e nos elementos concretos, como produtos específicos
de software, permitindo a comunicação entre computadores através da infra-estrutura física
(ZACKER; STEVEN, 2006).
2.5.2 Protocolo TCP/IP
O protocolo TCP/IP (Transmission Control Protocol/Internet Protocol – Protocolo de
Controle de Transmissão/Protocolo de Internet) é um conjunto de programas criado ao longo
dos anos, iniciando-se por volta da década de 1970, ajudado pelos fundos de pesquisas do
governo norte americano, em especial pelo Departamento de Defesa (DoD), pois estes órgãos
35
efetuavam grande quantidade de compra de equipamento que em sua maioria era
incompatível entre si, então nasce o TCP/IP como uma linguagem de comunicação,
inicialmente alternativa, para interligar os diversos equipamentos que somente dispunham de
protocolos de comunicação proprietários, tornando-se, com o passar do tempo, o protocolo
padrão de comunicação (MINASI et al., 2001).
Originalmente, segundo o autor, a rede do DoD interligava sites militares e de
pesquisas básicas nos Estados Unidos da América (EUA), fundadas por um braço do DoD
chamado Advanced Research Project Agency (ARPA – Agência de Pesquisa em Projetos
Avançados), que achou conveniente a comunicação dos pesquisadores entre si e com o DoD.
A rede formada, chamada ARPAnet, foi então colocada em funcionamento, conectando os
professores universitários entre si e com os líderes de projetos civis e militares por todo o
país, tornando-se então a rede das redes, já que interligava redes particulares e independentes
das redes militares .
Inicialmente, segundo Minasi et al. (2001), a ARPAnet utilizava um protocolo
chamado Network Control Protocol (NCP – Protocolo de Controle de Rede) que mais tarde
foi aperfeiçoado e originou dois protocolos, o Internet Protocol (IP – Protocolo de Internet) e
o Transmission Control Protocol (TCP – Protocolo de Controle de Transmissão), tal mudança
configura-se como a diferença técnica entre a ARPAnet e a Internet. “Em 1º de janeiro de
1983, os dispositivos de comutação de pacotes da ARPAnet pararam de aceitar pacotes NCP,
aceitando somente pacotes TCP/IP. De certa forma, 1º de janeiro de 1983 é o dia do
nascimento “oficial” da Internet”.
Algumas das características básicas do TCP/IP são (MINASI et al., 2001):
Boa recuperação de falhas;
Capacidade de conectar novas redes sem parada nos serviços;
Capacidade de manipular altas taxas de erro;
Ser independente de fornecedor específico;
Acréscimo de dados extra, chamado de overhead, muito baixo.
O endereçamento IP possui 32 bits, definidos por um administrador de rede, em cada
equipamento conectado à rede, sendo formado por quatro octetos e estes são convertidos e
exibidos em números decimais, processo este que facilita a compreensão, este endereço é
36
atribuído via software para a placa de rede. Uma placa de rede possui um endereço ethernet,
que é um código de identificação único, gravado fisicamente na mesma, possuindo 48 bits,
expressos em forma hexadecimal, tal endereço também é conhecido por Media Access
Control (MAC – Controle de Acesso de Mídia) e é controlado centralmente3 sendo vendido
aos fornecedores de componentes. (MINASI et al., 2001).
2.5.3 DNS e DHCP
Domain Name System (DNS – Sistema de Nome de Domínio) permite que seja
localizado computador ou outro recurso na rede pelo nome em uma rede TCP/IP, provê uma
estrutura hierárquica e métodos automáticos de armazenar e resolver nomes de computadores
em endereços IP solucionando muitas das dificuldades associadas a estrutura de nomes na
internet. Cada registro em um domínio DNS pode ser identificado pelo Fully Qualified
Domain Name (FQDN – Domínio Completamente Expressado) que não permite ambigüidade
e indica a localização relativa à raiz da árvore do domínio DNS (MACKIN; MCLEAN,
2006). O DNS permite que seja possível localizar serviços em uma rede TCP/IP, como o
domínio www.fateczl.edu.br, e o resultado da consulta ao DNS seja o endereço IP do serviço,
no caso, 201.55.32.185.
Os componentes do DNS são (MACKIN; MCLEAN, 2006):
Servidores DNS são computadores que executam o programa DNS, como o Berkley
Internet Name Domain (BIND – Nome de Domínio da Internet de Berkley), que
possuem bases de dados com informações sobre a parte da árvore hierárquica que lhe
3
O IEEE é a autoridade certificadora que controla os endereços MAC, disponível em
<http://standards.ieee.org/regauth/index.html>
37
pertence, ao serem consultados pelos clientes, podem fornecer a informação
solicitada, ou indicar outro servidor DNS para ajudar na solução do nome desejado;
Zonas DNS é um local da árvore hierárquica sob autoridade de um servidor DNS, um
servidor DNS será autoridade para uma zona se ele armazenar esta zona;
DNS Resolvers é o serviço que utiliza o protocolo DNS para solicitar informações de
um servidor DNS.
Por sua vez o Dynamic Host Configuration Protocol (DHCP – Protocolo de
Configuração Dinâmica de Cliente) permite que endereços IP sejam entregues
automaticamente aos computadores, bem como configurações relacionadas, como endereço
dos servidores DNS entre outras possibilidades. A principal vantagem de seu uso é a redução
do tempo requerido para configurar todos os parâmetros manualmente a cada vez que um
equipamento é instalado na rede, aliado a isso o DHCP reduz, ou mesmo elimina, erros de
configuração que poderiam ser causados com a configuração manual de cada computador na
rede (MACKIN; MCLEAN, 2006).
2.5.4 Criptografia e Certificados Digitais
Atualmente as empresas utilizam redes de computador, como a internet, para troca de
informações com fornecedores, clientes, parceiros externos ou mesmo entre unidades
geograficamente separadas da mesma empresa criando a necessidade de garantir a segurança
destas informações. Para isso são requeridas certas validações ou identificações por parte dos
usuários (TODD; JOHNSON JR, 2002).
Inicialmente a identificação dos usuários era feita somente com um nome de usuário
(login) e senha, mas não a identificação do cliente e servidor possibilitando ataques do tipo
man-in-the-midle, ou seja, quando há comunicação entre duas partes que acreditam estarem se
comunicando somente uma com a outra, mas na verdade há um ouvinte silencioso
38
intermediário na comunicação. O rápido crescimento do uso da internet trouxe novas
preocupações de segurança, pois pessoas inescrupulosas podem roubar ou modificar
informações. Desta forma, para proteger a informação as empresas passaram a utilizar de
tecnologias de criptografia, que provêem maneiras de identificar os usuários e servidores
durante o uso da rede (TODD; JOHNSON JR, 2002).
Criptografia vem a ser o ato de transformar uma mensagem de texto simples em um
texto ilegível com a finalidade de proteger o seu conteúdo. Existem três tipos de funções
criptográficas, sendo estas (TODD; JOHNSON JR, 2002):
Função hash, que não envolve o uso de chave criptográfica valendo-se de algoritmos
matemáticos para embaralhar os dados;
Criptografia de chave simétrica, que é um método que é um método que utiliza chaves
secretas, este utiliza uma única chave para criptografar e descriptografar a informação;
Criptografia de chave assimétrica; Também conhecida por criptografia de chave
pública, em que cada lado da comunicação possui duas chaves sendo uma a chave
pública e a outra a chave privada, as públicas são deixadas disponíveis para todos que
desejarem e a privada apenas o dono tem acesso. Os dados são criptografados com a
chave pública e descriptografados com a chave privada. Esse método elimina a
vulnerabilidade no compartilhamento de chaves, no caso do método de chaves
secretas.
Para publicar e gerenciar chaves públicas, aos que necessitam das mesmas, faz-se uso
da Infra-estrutura de Chaves Públicas (ICP), além disso, a ICP também gerencia os
Certificados Digitais e a Assinatura Digital. A ICP define os meios e regras técnicas que
validam documentos produzidos, transmitidos ou obtidos de forma eletrônica. A Certification
Authority (CA – Autoridade Certificadora) constrói o certificado para o usuário onde constará
um Distinguished Name (DN Nome Distinto), único em todo o sistema e contendo diversas
informações sobre o usuário, uma das quais a chave pública (SILVA, 2005).
O Certificado contém uma Assinatura Digital da CA garantindo um relacionamento
de confiança, ou seja, qualquer entidade que confiar na legitimidade da CA irá
acreditar no conteúdo dos Certificados emitidos por ela e conseqüentemente, na
identidade dos usuários que receberam os Certificados. (SILVA, 2005, p. 111)
A CA tem três processos básicos, sendo estes a certificação, a validação e a revogação
de certificados. A certificação é a união entre uma entidade ou atributo com a chave pública,
39
essa união juntamente com algumas informações únicas é colocada em um documento digital
chamado certificado. Uma terceira entidade, confiável, assina digitalmente o certificado
garantindo o seu conteúdo, essa terceira entidade é a CA. A validação é o processo de
verificação da autenticidade do certificado para que as informações nele contidas tenham
credibilidade, neste processo é verificada a assinatura da CA com a chave pública dela,
analisando se o certificado esta ou não na lista de certificados revogados, tal lista possui todos
os certificados que foram revogados pela CA, portanto não são mais válidos, é verificada
ainda a data de validade do certificado (SILVA, 2005).
Finalmente a revogação de certificados é o processo que adiciona um certificado à
lista de certificados revogados antes que este expire pela sua data de validade. Para que seja
revogado, alguns dos diversos atributos do certificado devem ter sofrido alteração então este é
inserido na lista de certificados revogados. É responsabilidade de a CA manter todos os
certificados que ela distribuiu até mesmo revogá-los se for necessário. A lista de certificados
revogados é composta do número de série do certificado e deve ser publicada pela CA
periodicamente (SILVA, 2005).
2.5.5 Serviço de diretório
O Active Directory (AD – Diretório Ativo) é um serviço de diretório extensível e
escalonável que permite a gerencia eficiente dos recursos de rede, o AD é o coração do
Microsoft Windows 2000, tendo sua base em protocolos padrão da internet e possui um
desenho que permite claramente definir a estrutura da rede. O DNS é uma parte integrante do
AD, logo deve ser configurado na rede antes que se faça a instalação do AD, e fornece
estruturas lógicas e físicas para os componentes de rede (STANEK, 2009).
Algumas das estruturas lógicas são domínios, grupo de computadores que
compartilham uma base de dados comum do diretório e unidades organizacionais, um
40
subgrupo do domínio sendo um espelho do negócio ou da estrutura funcional da companhia.
As estruturas físicas são sub-redes, um grupo de rede com uma faixa de IP específica e sites,
uma ou mais sub-redes que são configuradas para acesso e replicação do AD. Um domínio do
AD é um grupo de computadores que compartilham uma base de dados do diretório com seus
nomes de domínio, FQDN, únicos, cada domínio possui sua própria política de segurança e
confiança com outros domínios, estes também podem dividir-se em mais de uma localidade
física. Com uma base de dados de diretório é possível encontrar objetos na rede como contas
de usuários, grupos de usuários, computadores bem como recursos compartilhados como
pastas e impressoras (STANEK, 2009).
No contexto de rede de computadores um diretório, também chamado de data store, é
uma estrutura hierárquica que armazena informações sobre objetos na rede, objetos são
recursos compartilhados como servidores, discos compartilhados, impressoras, usuários,
computadores, domínios, aplicações, serviços, políticas de segurança, dentre outros, que
possam existir na rede de computadores (MICROSOFT CORPORATION, 2009).
Um serviço de diretório difere do diretório, pois torna a topologia de rede transparente,
então um usuário pode acessar qualquer recurso sem conhecer onde ou como ele esta
conectado fisicamente. O AD é um serviço de diretório central do Windows 2000 Server e
posteriores, que somente executa em Domain Controllers (DC – Controlador de Domínio) –
Controladores de Domínio, adicionalmente ao provimento de um local para armazenar dados
e serviços tornando-os disponíveis, também protege os objetos de acessos não autorizados e
proporciona replicação dos objetos através da rede com isso não há perda de dados se um DC
falhar, considerando que existem no mínimo dois DC na rede (MICROSOFT
CORPORATION, 2009).
41
2.5.6 VPN
Virtual Private Network (VPN – Rede Privada Virtual) são redes lógicas que cruzam a
internet, com elas os pacotes são primeiro criptografados e então enviados para o destino, o
tráfego de pacotes com conteúdo criptografado na rede pública forma um túnel através da
internet, como pode ser visto na figura 4, até o destino dos pacotes, onde são
descriptografados pelo receptor. Uma característica importante de uma VPN, é que existe
transparência entre as pontas conectadas pela mesma, ou seja, não importa o caminho tomado
pelos pacotes na estrutura de internet pública, pois parecerá aos envolvidos que estão em um
segmento isolado de rede, como uma rede local, por exemplo, conforme pode ser visto na
figura 5. Tipicamente a VPN é utilizada para permitir que usuários remotos acessem uma rede
privada (MACKIN; MCLEAN, 2006).
Figura 4 – Visão do túnel criado por uma VPN.
42
Figura 5 – Visão da funcionalidade de uma VPN interligando duas redes locais.
Uma VPN possui algumas premissas básicas, como privacidade, integridade,
autenticidade, não-repúdio e facilidade. A privacidade faz com que somente pessoas que
podem receber alguma informação possam recebê-la; a integridade é a garantia de que a
informação enviada será recebida sem modificações e isso pode ser obtido por meio da função
hash; a autenticidade é a garantia da identidade do remetente, normalmente fornecida pela
assinatura digital; não-repúdio vem da garantia de o emissor não negará a informação
posteriormente; e facilidade é a garantia de que o sistema de segurança escolhido e
implantado foi feito de forma consistente e adequada para todas as aplicações da empresa sem
restringir a capacidade de indivíduos e organizações de empreender suas tarefas diárias
(SILVA, 2005).
Pode haver dois tipos de conexão VPN, sendo uma o acesso remoto, que consiste em
um único computador de usuário que se conecta em uma rede a partir de um local remoto,
visto na figura 6, e o site-to-site, que conecta duas partes de uma rede privada ou duas redes
privadas distintas, visto na figura 7. Tunelamento é a tecnologia que permite encapsular um
43
tipo de protocolo em um outro protocolo distinto, um túnel é similar a uma sessão onde ambas
as partes terminais devem aceitar o túnel e negociar configurações variáveis como
endereçamento, criptografia e compressão, depois de o túnel ser estabelecido dados podem ser
enviados (MICROSOFT CORPORATION, 2003).
Figura 6 – Acesso remoto com VPN.
Figura 7 – VPN site-to-site.
O Windows Server 2003 suporta dois tipos de VPN, Point-to-Point Tunneling Protocol
(PPTP – Protocolo de Túnel Ponto a Ponto) e Layer Two Tunneling Protocol/IP Security
Protocol (L2TP/IPSec – Protocolo de Túnel Camada Dois/Protocolo de IP Seguro), em geral
o tipo PPTP é mais fácil de implementar porém menos seguro que o L2TP/IPSec. (MACKIN;
MCLEAN, 2006).
O PPTP encapsula o Point-to-Point Protocol (PPP – Protocolo Ponto a Ponto) no IP
para transmissão através da uma rede TCP/IP. A autenticação ocorre durante a criação da
VPN e usa o mesmo mecanismo do PPP como Extensible Authentication Protocol (EAP –
Protocolo de Autenticação Extensível), Microsoft Challenge-Handshake Authentication
Protocol (MS-CHAP – Protocolo de Autenticação por Desafios de Identidade da Microsoft),
Microsoft Challenge-Handshake Autentication Protocol version 2 (MS-CHAP v2), CHAP,
Shiva Password Authentication Protocol (SPAP – Protocolo de Autenticação de Senha Shiva)
e Password Authentication Protocol (PAP – Protocolo de Autenticação de Senha), para que a
44
criptografia seja utilizada deve-se utilizar EAP-Transport Layer Security (EAP-TLS –
Protocolo de Autenticação Extensível-Segurança de Camada de Transprote), MS-CHAP ou
MS-CHAP v2
sendo criptografado pelo Microsoft Point-to-Point Encryption (MPPE –
Criptografia Ponto a Ponto da Microsoft), que provê apenas criptografia entre cliente remoto e
servidor VPN (MICROSOFT CORPORATION, 2003).
O L2TP é uma combinação do PPTP com o Layer 2 Forwarding (L2F – A Frente da
Camada 2 “tradução livre”), uma tecnologia desenvolvida pela Cisco Systems, onde a
autenticação também ocorre durante a criação do túnel e utiliza-se dos mesmos mecanismos
do PPP, descritos anteriormente, a criptografia é provida pelo encapsulamento IPSec
(MICROSOFT CORPORATION, 2003).
O protocolo IPSec surgiu para unir as premissas básicas de uma VPN, não é uma
padronização de criptografia e sim um padrão para se estabelecer uma VPN entre dois pontos
de maneira a não depender de fabricantes ou aplicações envolvidas. O IPSec é um conjunto de
protocolos que provêem serviços de segurança para o IP, oferecendo seus serviços
independentemente do algoritmo de criptografia utilizado, pois com a arquitetura aberta
podem ser acrescentados algoritmos de autenticação e criptografia (SILVA, 2005).
O L2TP/IPSec requer autenticação do computador adicionalmente a autenticação dos
usuários, a autenticação do computador é a primeira a ser feita na seqüência o túnel é
estabelecido e, então, o usuário é autenticado pelos mesmos métodos suportados pelo PPTP.
A maioria das VPNs L2TP/IPSec são autenticadas pelo uso de certificados digitais, fazendose necessário uma CA, os certificados possuem uma finalidade descrita nos seus atributos, e
para serem utilizados na VPN a finalidade deve ser a autenticação de cliente (no lado do
cliente) e a autenticação do servidor (no lado do servidor) (MACKIN; MCLEAN, 2006).
45
2.5.7 Radius e Autenticação
O Remote Authentication Dial-In User Service (RADIUS – Serviço Remoto de
Autenticação de Usuário Discada), desenvolvido pela empresa Livingston, divisão da Lucent
Technologie, utiliza uma arquitetura cliente-servidor adicionando um novo elemento o
Network Access Server (NAS – Servidor de Acesso a Rede), que permite a conexão remota,
gerencia a conexão e liberando ou não a mesma. O NAS pode ser configurado como um
cliente RADIUS, nesse caso cada pedido passa pelo NAS, que envia para o RADIUS, e
recebe um retorno, que é também encaminhado ao cliente. Se a autenticação confere, o
RADIUS envia ao NAS uma autorização que inclui informações da rede do cliente e serviço
que poderá utilizar (SILVA, 2005).
O servidor VPN, da Microsoft, pode ser configurado para utilizar a autenticação do
Windows ou a RADIUS, que por sua vez pode responder a solicitações de autenticação
baseado em sua própria lista de contas de usuários, ou pode utilizar-se de uma base de dados
externa utilizando-se para isso de Structured Query Language (SQL – Linguagem de
Consulta Estruturada) ou um DC disponível na rede. A autenticação através do protocolo MSCHAP v2 é uma atualização do MS-CHAP que provê um mecanismo forte de segurança para
troca de nome de usuário e senha e na determinação de chave criptográfica (MICROSOFT
CORPORATION, 2003).
Com o MS-CHAP v2 o NAS envia um desafio, como uma charada, para o cliente, que
consiste em um identificador de sessão e um desafio arbitrário, e o cliente responde com o
nome de usuário, resposta a charada, um desafio par ao recebido, o desafio recebido
criptografado, um desafio par, o identificador de sessão e a senha do usuário em um
formulário criptografado, com o desafio recebido pelo servidor. Já o EAP permite um método
de autenticação arbitrário, já que não faz autenticação efetivamente, na fase 2 o EAP apenas
negocia o uso do método comum de autenticação, a autenticação, efetivamente, é feita apenas
após a fase 2 (MICROSOFT CORPORATION, 2003).
46
Durante a fase 2 o NAS coleta os dados de autenticação e valida na sua base de dados
ou numa base central de autenticação, como um DC ou um RADIUS. O EAP-TLS é utilizado
em ambiente com base em certificados digitais, esse método provê autenticação mútua,
negociação de criptografia e determinação de chave de criptografia entre o cliente e o
servidor. Criptografia para PPTP somente está disponível se utilizar MS-CHAP, MS-CHAP
V2 ou EAP-TLC, já o L2TP com IPSec não requer autenticação baseada em PPP. O MPPE é
baseado no Rivest-Shamir-Adleman (RSA) e disponível apenas para PPTP (MICROSOFT
CORPORATION, 2003).
47
3 VIRTUALIZAÇÃO
Serão tratados os conceitos de virtualização, seus tipos e algumas técnicas de
virtualização bem como o funcionamento do Virtual Machine Monitor (VMM – Monitor de
Máquina Virtual) focando não somente VMM genéricos, mas em particular o da empresa
VMWare, o qual será utilizado no estudo de caso.
3.1 Conceituando virtualização
Uma Instruction Set Architecture (ISA – Arquitetura de Conjunto de Instruções),
como a IA-32, exemplifica a vantagem de uma interface bem definida, que permite ao
desenvolvedor de diferentes organizações e em diferentes tempos interagir com sistemas
computacionais desenvolvendo programas e dispositivos compatíveis, por exemplo, as
empresas Intel e Advanced Micro Devices (AMD) desenvolvem microprocessadores que
trabalham com instruções Intel IA-32 (x86) enquanto a Microsoft desenvolve programas que
utilizam-se dessas mesmas instruções, logo espera-se que os programas executem
corretamente em qualquer computador construído com processadores baseados em IA-32
(SMITH; NAIR, 2005).
Componentes, sistemas e dispositivos desenvolvidos para uma interface não irão
funcionar com aqueles que foram desenvolvidos para outra interface. A virtualização é uma
maneira de contornar essa limitação das interfaces, pois ela fornece um sistema detalhado, que
parece real para a interface, esse técnica difere da abstração a qual oculta os detalhes da
implementação física reduzindo a complexidade e facilitando a utilização pelas interfaces
(SMITH; NAIR, 2005).
48
Uma Virtual Machine (VM - Máquina Virtual) deve ser uma duplicação isolada e
eficiente de uma máquina real, para explicar será utilizado o conceito de VMM, visto na
figura 8, o qual possui três características essenciais, o VMM provê um ambiente para
programas essencialmente idêntico à máquina original; os programas executam no ambiente
virtual, na pior das hipóteses, com pequena queda de velocidade; o VMM tem controle
completo dos recursos do sistema real. Qualquer programa que execute sob o VMM deve
produzir um resultado idêntico se executasse diretamente na máquina real (POPEK;
GOLDBERG, 1974).
Figura 8 – Visão do papel do VMM.
Uma VM é o ambiente criado pelo VMM e possui três propriedades interessantes,
quando nenhum outro programa é executado enquanto o programa de controle, VMM, está
em execução, eficiência, todas as instruções inócuas são executadas diretamente pelo
hardware; controle de recursos, deve ser impossível para qualquer programa afetar os
recursos do sistema, como memória; equivalência de propriedades, qualquer programa
executando enquanto o VMM executa atuará de maneira não distinguível à do caso em que o
VMM não esteja em execução (POPEK; GOLDBERG, 1974).
Muitas propriedades das VM ajudam em uma ampla gama de soluções, pois primeiro
criam a ilusão de múltiplas VM em uma máquina real, essas VM podem ser utilizadas para
executarem programas em diferentes sistemas operacionais permitindo, por exemplo,
experimentação de sistemas e simulação rede de computadores. VMM provê um forte
isolamento entre as VM permitindo assim que um único hardware servidor execute múltiplas
49
aplicações, em VM distintas, como programas que monitoram sistemas à procura de intrusões
(KING; DUNLAP; CHEN, 2003).
Uma das maneiras de classificar-se o VMM é de acordo com a plataforma, conforme
visto na figura 9, o VMM funciona como uma camada de software é uma interface que provê
uma plataforma de baixo-nível para acomodar as VM, a classificação tipo 1, como os VM/370
da IBM e o VMWare ESX da VMWare, o VMM é instalado diretamente sobre o hardware
real, já na classificação tipo 2, o VMM é instalado como um processo de um SO real instalado
sobre o hardware, como o SimOS e User-Mode Linux (KING; DUNLAP; CHEN, 2003).
Figura 9 – Tipos de VMs.
O tipo 1 diminui perdas por processamento devido a diminuição de camadas de
software, pois não há o SO entre o VMM e o hardware, e o VMM tira todo o proveito do
hardware em que está instalado, o tipo 2 apesar de não aproveitar totalmente o hardware em
que está instalado torna-se mais simples de implementar, pois utiliza-se do SO que está
instalado no equipamento (KING; DUNLAP; CHEN, 2003).
50
3.2 Emuladores
Emuladores podem ser definidos como hardware, micro-programas e softwares que
adicionados a um sistema computacional permitem habilitar o sistema computacional a
executar programas desenvolvidos para outros sistemas. Não são necessários todos os
componentes para que seja considerado um emulador, mas ao menos hardware ou microprogramas, normalmente chamados de firmwares devido a sua incorporação em um
hardware, devem estar presentes, caso contrário considera-se um simulador (MALLACH,
1975).
“Um emulador é o oposto da máquina real” (LAUREANO, 2006, p. 18),
implementando todas as instruções realizadas pela máquina real em ambiente abstrato de
software possibilitando que um programa criado para uma interface execute em outra. É um
programa que transcreve instruções de um processador alvo para outro no qual esta
executando (LAUREANO, 2006).
Tipo de emuladores segundo Laureano (2006):
Firmware: Define-se como programação em hardware, armazenados em CI.
Tecnologia mais rápida de emulação, porém mais complexa;
Software: Toda emulação é feita em programa de computador, o emulador reconfigura
a máquina para a aplicação que deseja emular;
Combinação: Emulador composto de hardware e software, normalmente o software
faz a emulação e o hardware provê partes chave do processo.
De acordo com o autor, atualmente os emuladores são classificados como:
Totalmente baseado em hardware: Não depende de software para funcionar, como
exemplo, um processador, como o 386, emulando uma arquitetura antiga, do 8086,
para que programas antigos funcionem;
Parcialmente baseada em hardware: O hardware suporta emulação, mas necessita de
um programa para que seja possível utilizar a emulação.
51
Parcialmente baseada em software: Obtida via programa, mas utiliza-se de recursos do
hardware para funcionar.
Totalmente baseada em software: Não necessita de nenhum hardware para a
emulação.
3.3 Formas de virtualização
Atualmente são mais utilizadas as técnicas de virtualização total, paravirtualização e
recompilação dinâmica.
3.3.1 Virtualização total
Uma estrutura completa de hardware é virtualizada não necessitando nenhuma
alteração do sistema a ser virtualizado, chamado de sistema convidado. Seu principal
benefício está em não ter que alterar o sistema convidado, mas em contrapartida o convidado
executa de forma mais lenta e o VMM necessita implementar alternativas para tratar
instruções privilegiadas, aquelas que utilizam-se no nível 0 de privilégio da IA-32
(LAUREANO, 2006).
Os processadores IA-32 não prendem todas as instruções privilegiadas, logo o VMM
da VMWare utiliza técnica de reescrita binária, ou também chamada de tradução binária, na
qual todas as instruções são examinadas antes de serem executadas, então, é inserida uma
52
marcação no ponto do código em que exista instrução privilegiada para que VMM emule a
instrução, provendo assim um conjunto completo de instruções da IA-32 (KING; CHEN,
2002).
O VMWare utiliza-se de uma combinação das técnicas de tradução binária e execução
direta, esse enfoque traduz as instruções do núcleo do SO convidado substituindo instruções
não virtualizáveis por novas instruções com efeito no hardware virtual provido pelo VMM,
já o código do nível de usuário, nível 3 da IA-32, é executado diretamente pelo processador
real melhorando assim a velocidade do sistema computacional. A combinação das técnicas
mencionadas provê virtualização total e o sistema convidado é totalmente desacoplado do
hardware pela camada de virtualização, o VMM (VMWARE, 2007).
3.3.2 Paravirtualização
É a técnica onde o sistema convidado sofre modificações para que a interação com o
VMM seja mais eficiente, permite que o sistema convidado acesse diretamente recursos de
hardware real tendo o acesso monitorado pelo VMM o qual fornece os limites para acesso,
como exemplo acesso direto à memória principal e secundária. Essa técnica diminui a
portabilidade dos sistemas convidados, diferentemente da virtualização total que não altera o
sistema convidado (LAUREANO, 2006).
Enquanto é muito difícil construir os tradutores binários mais sofisticados, necessários
para a virtualização total, modificar o SO convidado, habilitando a paravirtualização, é
relativamente simples. A VMWare utiliza-se de alguns aspectos da paravirtualização como as
ferramentas que são instaladas no sistema convidado e os drivers de dispositivos. As
ferramentas servem como apoio para uso do VMM, como na sincronização de tempo.
Dispositivos paravirtualizados compartilham dados como o VMM tirando proveito dos
53
dispositivos físicos aumentando a transferência de dados e reduzindo o uso da CPU real
(VMWARE, 2007).
As ferramentas e drivers da VMWare não são totalmente paravirtualização, são
modificações mínimas e não intrusivas instaladas no sistema convidado e não requerem
modificações no núcleo do SO convidado. A VMWare desenvolve uma interface padrão que
explora a paravirtualização, uma camada transparente chamada Virtual Machine Interface
(VMI – Interface de Máquina Virtual) que proporciona um mecanismo de comunicação entre
o sistema convidado e o VMM (VMWARE, 2007).
3.3.3 Tradução binária
O sistema pode, durante a execução do programa, adequar o código gerado para que
reflita o sistema para o qual o programa foi desenvolvido originalmente, visando maior
eficiência ou otimização adaptável. A tradução binária é composta por (LAUREANO, 2006):
Agrupamento de bits: Utilizando-se de conhecimento sobre o programa executável e
técnicas de heurísticas de análise recupera e reordena o conjunto de bits do executável;
Desmontagem ou disassembling: Os bits são desmontados e transformados em um
conjunto de instruções e operadores em pares;
Geração intermediária de código: Transformam-se as instruções para representação
independente de máquina;
Decompilação: A representação é transformada em uma linguagem de alto-nível,
como a linguagem C;
Compilação: É gerado código para a nova plataforma;
Montagem ou assembling: É preparada a criação de um novo executável;
Armazenagem dos bits: Os bits são agrupados formando um novo executável.
54
3.3.4 Assistência via hardware
Os fabricantes de hardware envolveram-se rapidamente na tecnologia de virtualização
desenvolvendo novas características para simplificar as técnicas de virtualização como as
tecnologias Intel Virtualization Technology for the IA-32 architecture (VT-x – Tecnologia de
Virtualização da Intel para a arquitetura IA-32) e AMD-V (AMD Virtualization –
Virtualização da AMD). Essas tecnologias provêem um método de execução de instruções
privilegiadas que permite ao VMM executar em um novo modo, abaixo do nível 0, e acima do
hardware, com isso é removida a necessidade de tratar as chamadas privilegiadas via tradução
binária (VMWARE, 2007).
A primeira geração da Intel VT-x para IA-32 entrega suporte via hardware que
simplifica a virtualização proporcionando redução do tamanho e complexidade do VMM
possibilitando assim que o VMM suporte uma grande variedade de SO legados e futuros na
mesma plataforma física de hardware (NEIGER et al., 2006).
O foco central da VT-x é eliminar a necessidade de paravirtualização e da tradução
binária necessária para a CPU simplificando a construção de VMM robustas que suportem
uma grande variedade de SO convidados e mantenham um alto nível de performance. A VT-x
introduz dois novos modos de operação da CPU, a operação raiz e a não raiz. A operação raiz
é para uso do VMM e possui um comportamento parecido com o da IA-32 sem a VT-x, e a
não raiz é uma alternativa para a IA-32 controlada por um VMM e desenhada para suportar
VM (NEIGER et al., 2006).
55
4 APLICAÇÕES
Como forma de melhorar a utilização da capacidade dos computadores da era atual, os
quais dispõem de grande capacidade de processamento e alta complexidade para
configuração, a virtualização ganha espaço no papel de ocultar do usuário final a
complexidade dos computadores tornando o sistema computacional fácil de utilizar. Em
sistemas focados ao mercado corporativo, as VM têm potencialidades de sandbox (caixa de
areia) e jail (jaula), permitindo o controle de recursos para programas que estão em execução
internamente aos sistemas convidados, possibilitando inspecionar o sistema do convidado e
ter acesso a dispositivos que podem ter sido desativados ou restringidos no convidado
(LAUREANO, 2006).
4.1 Ensino
A utilização de VM facilita o processo de ensino, pois nos casos de treinamento para
administração de sistemas, necessita de equipamentos e estruturas específicas, o que eleva o
custo, caso sejam utilizadas máquinas reais. Em laboratórios de informática utilizados por
várias turmas em uma unidade de ensino, permite que cada aluno disponha de sua VM
reduzindo assim o esforço em manter os equipamentos, ainda, poderão ter-se diversas
aplicações, ou diversos laboratórios, sobre um único hardware (LAUREANO, 2006).
As crescentes demandas nos cursos de TIC causam um esgotamento dos recursos
específicos em laboratórios utilizados para ministrar aulas de TIC, então com a utilização de
VM pode-se promover disponibilidade de recursos para que aulas sejam viabilizadas com
facilidade, entendimento e portabilidade dos recursos didáticos, dependendo do VMM
56
utilizado. Possibilita, ainda, com a portabilidade que os estudantes desenvolvam suas
atividades em outros locais que não o laboratório, como em suas casas (AGREN, 1999).
4.2 Consolidação de servidores
Com a consolidação de servidores procura-se obter melhor eficiência do hardware
utilizado no parque tecnológico de uma organização, consolidar significa possuir um ou um
grupo de equipamentos que terão VMM instalados e VM trabalhando como se fossem
servidores em equipamentos distintos, criando a ilusão de que se têm mais servidores do que
realmente existem (BAIN; DIPPOLD; WATTS, 2004).
A consolidação, com a utilização de VM, aumenta a produtividade do administrador
do sistema, que pode utilizar-se de ferramentas fornecidas pelos fabricantes das soluções de
virtualização, as quais geralmente integram-se com as plataformas de SO padrão de mercado
e seus serviços como o AD permitindo automação de tarefas rotineiras e administração remota
do VMM (BAIN; DIPPOLD; WATTS, 2004).
Ambientes de teste e desenvolvimento de programas e serviços são beneficiados com a
virtualização, pois para que um programa ou serviço possua alta qualidade é necessário um
ambiente de testes tão idêntico quanto possível ao do ambiente de produção, porém não se
pode utilizar o ambiente de produção devido a possíveis erros que podem gerar custos para a
organização, logo uma VM é criada para trabalhar lado a lado da aplicação em produção,
utilizando-se o mesmo hardware, permitindo consolidar o ambiente de teste e o de produção
minimizando gastos e tornando o ambiente de testes tão parecido ao de produção quanto seja
possível (BAIN; DIPPOLD; WATTS, 2004).
Elencando as vantagens da consolidação, tem-se (LAUREANO, 2006):
Redução do custo total de propriedade: relativo à diminuição de equipamentos;
57
Redução da complexidade e melhor gerenciamento: permite gerenciar um único ponto,
diminuindo a complexidade da manutenção dos servidores;
Redução do número de servidores: utilização de servidores de maior capacidade e com
mais recursos para evitar paradas do equipamento e com isso elimina-se os
equipamentos de pequeno porte;
Redução dos custos de hardware e software: redução dos custos de manutenção com
esses componentes;
Redução de imóveis e instalações: utiliza-se menor quantidade de espaço físico com a
consolidação de servidores;
Redução no consumo de energia: com menor número de equipamentos e utilização de
equipamentos modernos o consumo a energia elétrica é reduzido, além de a demanda
por refrigeração ser reduzida economizando-se com a energia utilizada para a
refrigeração dos equipamentos;
Aumento da segurança: com a centralização a administração do ambiente torna-se
mais segura;
Melhoria no serviço ao cliente: são estabelecidos níveis de serviço devido a melhoria
da administração;
Aumento na utilização da capacidade dos servidores: com uso de equipamentos de
maior capacidade é possível administrá-los de forma a utilizar todos os recursos
disponíveis pela maior quantidade de tempo possível.
4.3 Migração de aplicações legadas e plano de contingência
Mais uma forma de utilizar-se da virtualização é a migração de aplicações legadas,
pois pode ser necessário manter um sistema computacional antigo em funcionamento devido
às imposições do negócio e esse sistema pode operar em hardware e SO obsoletos
aumentando as chances de uma parada nos serviços gerando custos para a organização, então
58
pode-se migrar esse SO antigo com a aplicação suportada por ele para uma VM, executando
em hardware robusto e moderno garantindo assim a continuidade do negócio. Os fabricantes
de VMM costumam fornecer ferramentas que auxiliam na importação dos sistemas legados
verificando sua viabilidade e auxiliando o profissional responsável no procedimento de
importação (BAIN; DIPPOLD; WATTS, 2004).
Com o objetivo de manter o negócio da organização disponível a virtualização pode
auxiliar no plano de contingência, um plano para respostas de emergência, operações de cópia
de segurança dos dados vitais dos sistemas e restauração dos mesmos. Tal plano faz parte do
programa de segurança assegurando a disponibilidade de recursos de sistemas fundamentais
facilitando a continuidade do negócio após algum incidente nos sistemas computacionais,
também conhecido com desastre (LAUREANO, 2006).
Com a utilização de VM é possível criar redundância de serviços a custos aceitáveis
além do que um servidor virtual pode ser restaurado rapidamente devido à possibilidade de se
efetuar cópia de segurança das VMs. Uma VM geralmente é um arquivo que é interpretado
pelo VMM, logo o arquivo pode ser copiado e posteriormente restaurado, proporcionando um
rápido retorno do serviço (LAUREANO, 2006).
59
5 ESTUDO DE CASO
Com a finalidade de aplicar os conceitos teóricos vindos do embasamento apresentado
neste trabalho, optou-se por um estudo de caso aproveitando-se do momento tecnológico atual
em que a menina dos olhos, daqueles que lidam com Tecnologia da Informação e
Comunicação (TIC), é a virtualização, seja de servidores, dispositivos de armazenamento ou
redes.
5.1 Local
O local de execução do trabalho foi a Faculdade de Tecnologia da Zona Leste
(FATEC-ZL) situada na cidade de São Paulo, capital do estado de São Paulo, na região leste
da cidade, no endereço Rua Sonho Gaúcho, 641 e Avenida Águia de Haia, 2633, bairro
Cidade Antonio Estevão de Carvalho.
A organização da equipe de TIC é fundamentada em um docente, o coordenador de
TIC, e estagiários, em número de treze, revezando-se em três turnos e colaboradores à título
de voluntários que variam em número. O coordenador do Departamento de Tecnologia da
Informação (DTI) atualmente é o professor Mestre Celio Daroncho o qual permitiu e apoiou
este estudo de caso.
Toda a infra-estrutura documental da administração da FATEC-ZL, como secretaria,
coordenações de curso, diretoria e biblioteca, utilizam-se de computadores e mantêm seus
arquivos armazenados centralmente nos dispositivos de armazenamento do DTI e
efetivamente dependem do correto funcionamentos dos sistemas, muitas vezes é necessário a
intervenção do coordenador para efetuar reparo ou configuração, mas ele nem sempre se
encontra fisicamente na FATEC-ZL.
60
Valendo-se da infra-estrutura de equipamentos que se encontra na unidade observouse que era necessário e possível dispor de mais serviços aos usuários e prover o
gerenciamento da estrutura mesmo não estando fisicamente na unidade com a aplicação de
técnicas de virtualização de hardware, especificamente virtualizando servidores. Dessa forma
espera-se que seja executado o devido suporte a infra-estrutura, com auxílio de uma VPN,
mesmo não estando na unidade e que novos serviços sejam disponibilizados para os usuários
sem investimentos em equipamentos, programas e energia, ou seja, sem aumentar o custo de
operação do DTI.
5.2 Métodos e Procedimentos
Para que seja configurada a VPN é necessário que alguns outros serviços estejam
disponíveis na rede sendo:
Serviço de diretório;
DNS;
DHCP;
Radius;
Servidor VPN.
Na FATEC-ZL já existe uma infra-estrutura de serviços de rede, implantada e
funcionando, que conta com o AD, DNS, DHCP e uma ligação de internet com capacidades
de provedor de serviços de internet contando com endereços IP válidos e disponibilidade de
prover serviços com páginas de internet e a VPN. Faltam, na infra-estrutura existente, os
serviços específicos para uma VPN. Escolheu-se a plataforma Microsoft para prover os
serviços faltantes devido à melhor integração com os serviços já existentes, todos em
plataforma Microsoft.
Tomou-se um equipamento servidor, marca Itautec e modelo MX-201visto na figura
10, disponível na FATEC-ZL em que foi instalado o VMWare ESXi 4.0 e como
procedimento de boa prática foi verificado se o hypervisor é compatível com o hardware do
61
servidor evitando assim problemas de instabilidade ou mau funcionamento posteriormente.
Procede-se a instalação do hypervisor da VMWare apenas seguindo pelas telas de
configuração apresentadas e fornecendo os dados solicitados pelo assistente de instalação.
Figura 10 – Servidor Itautec MX-201.
Para a gerência do virtualizador é necessário um computador em que será instalado o
cliente do VMWare ESXi 4.0 chamado VSphere Client o qual permite que sejam criadas,
alteradas e excluídas máquinas virtuais, permite gerir e monitorar o servidor físico, gerenciar
usuários e suas permissões de acesso. Para a instalação deve-se indicar em um navegador de
internet o endereço IP do hypervisor, logo será exibida uma página onde será possível obter o
programa.
A instalação é simples, não requer nenhuma configuração, somente avançar pelas telas
que são exibidas. Ao final um ícone é exibido na tela permitindo acesso ao programa. Para
acessar a interface de gerenciamento é solicitada a senha que foi criada na instalação do
servidor, após isso é permitido o acesso.
O VMWare ESXi dispõe da capacidade de criar e gerir redes virtuais, ou seja, de
maneira totalmente lógica é possível montar uma rede que execute as mesmas funções que
uma rede real, porém sem a necessidade de configurar ativos de rede, cabeamento ou
manobras de cabos em painéis de conexão, tal funcionalidade vem de encontro a necessidade
desse estudo de caso, pois teremos que ligar o servidor de VPN em duas redes distintas, uma
62
com IP válido na internet e outra com IP não válido, no caso o IP da rede local da FATECZL.
É necessário acrescentar uma rede virtual para utilização com a conexão de IP público,
para isso o VSphere Client fornece uma interface, encontrada opções de hardware e software,
na qual é possível a configuração da nova rede virtual, deve-se fornecer um nome para a rede,
que chamaremos de Rede Pública para facilitar a gerência das redes virtuais.
Inicialmente foram criadas duas máquinas virtuais, sendo uma para o servidor Radius
e outra para o servidor VPN, com sistema operacional Microsoft Windows Server 2003
Enterprise, a escolha desse sistema deu-se, como já foi dito, pois toda a infra-estrutura da
unidade utilizar-se de servidores com SO Microsoft. Tomou-se o cuidado de na criação da
VM para servidor VPN acrescentar-se uma placa de rede virtual extra, pois são necessárias
duas placas de rede nesse servidor.
Durante a criação das VMs no VSphere Client optou-se por máquinas do tipo Typical,
as VMs foram nomeadas para identificá-las no hypervisor, facilitando com isso o
gerenciamento no VSphere Client, mantivemos os valores padrão de disco rígido, 8
Gigabytes, evitando-se desperdício do espaço em disco rígido. O procedimento de criação das
VMs foi executado duas vezes, uma para o servidor VPN e outra para o servidor Radius,
porém com uma diferença, no Radius não é necessário editar as configurações da VM para
adicionar placa de rede já que esse pode desempenhar suas funções com uma apenas.
É necessário informar nas configurações das VM a qual rede elas estarão conectadas,
por padrão elas estarão conectadas na rede criada pelo hypervisor no momento da instalação
deste. Para que seja configurada a rede é necessário editar as propriedades da VM que
abrigará o servidor de VPN e conectar uma de suas placas de rede na Rede Pública criada
anteriormente.
Instalados os SO, foi instalado o pacote R2 que traz benefícios como novos serviços
de rede como filtro de arquivos e novos consoles de gerenciamento, a instalação do R2 foi
efetivada para manter o padrão de SO dos servidores da unidade os quais todos possuem o R2
instalado. Foram atualizados os SO com uso do Windows Update, site da fabricante que
detecta e fornece as atualizações de segurança necessárias via internet, e protegidos com
software anti-vírus corporativo da marca Panda, já presente na infra-estrutura da FATEC-ZL.
63
Após isso, e com base na literatura de apoio do fabricante How VPN Works Microsoft (2003)
procedeu-se a instalação do servidor de VPN.
Apenas para esclarecimento as operações de configuração descritas devem ser
executadas com usuário membro do grupo de administradores. Inicialmente optou-se pela
instalação de uma VPN tipo PPTP devido à facilidade com que é configurada apesar da baixa
segurança, mas não nula, pois conta com criptografia de 128 bits caso configurada para
trabalhar com MS-CHAP v2 e MPPE.
Definiu-se um nome e um IP válido na internet para o servidor de VPN. Nesse
servidor foi necessário configurar o Routing and Remote Access Server (RRAS – Servidor de
Roteamento e Acesso Remoto) não sendo necessário instalar o mesmo, pois já vem instalado
por padrão no SO. Acessando o console do RRAS foi configurado o servidor para permitir
conexões VPN com autenticação via servidor Radius e configurado o redirecionador de
DHCP para fornecer endereços IPs da rede interna aos usuários que se conectam via VPN.
Faz-se necessário alterar a ordem em que as conexões de rede são acessadas pelos serviços de
rede no SO a fim de permitir o bom funcionamento do servidor de VPN.
No servidor Radius definiu-se um nome e endereço IP da rede interna. Esse servidor
foi ingressado no AD com a finalidade de proporcionar integração do Radius com o AD. A
Microsoft denominou seu servidor Radius de Serviço de autenticação da Internet e para que
possa ser utilizado deve ser instalado no SO como um componente do mesmo.
No console do Serviço de autenticação da Internet, foi configurado novo cliente
Radius, o servidor de VPN, nessa etapa é configurada uma senha entre o Radius e o servidor
VPN para que estes possam se comunicar. Deve-se registrar o Radius no AD permitindo
assim que ele acesse as informações dos objetos do AD.
Para que seja simplificada a gestão dos usuários que podem utilizar-se da VPN cria-se
uma diretiva de acesso remoto permitindo que apenas usuários pertencentes a um grupo
específico possam utilizar-se da VPN, dessa forma foi criado um grupo no AD para tal
finalidade, ainda foi configurada criptografia máxima (MPPE de 128 bits ou DES triplo
IPSEC) com a finalidade de aumentar a segurança criptográfica da conexão.
64
Após configurada a VPN para acesso remoto à FATEC-ZL acrescentou-se no servidor
DNS o registro para que seja resolvido o FQDN do servidor VPN em IP com a finalidade de
facilitar a configuração dos clientes remotos, como Microsoft Windows XP.
5.3 Análise
Efetivamente o custo de implantação da VPN na FATEC-ZL foi nulo, pois em termos
de equipamento não foi adquirido nenhum novo para prover o serviço, em software o método
de licenciamento proporcionado pela Microsoft permitiu que esse ensaio ocorresse sem
nenhum custo e em mão-de-obra nada foi gasto, já que foi efetuada por aluno da unidade.
Para precificar o investimento que foi feito considerando que não existissem os
recursos que foram utilizados e compará-los com os existentes, para isso foram feitos alguns
orçamentos e cálculos a se demonstrarem.
Serão considerados, como visto na tabela 1, em termos de custo equipamentos capazes
de executar minimamente as funções de servidor VPN e Radius, com SO incluído e sistemas
de fornecimento de energia ininterrupta, além do sistema condicionador de ar. Os orçamentos
encontram-se em anexo apropriado para apreciação.
Tabela 1 – Valores dos equipamentos compatíveis com as funções de servidor VPN e Radius
Equipamento
Quantidade
Preço Unitário
Preço Total
Servidor Dell PowerEdge T105 para Radius
01
R$4.275,00
R$4.275,00
Servidor Dell PowerEdge T105 para VPN
01
R$4.374,00
R$4.374,00
Switch 24 Portas 3CR17333-91 3COM
02
R$1.722,00
R$3.444,00
Condicionado de ar 24000 BTU
01
R$2.394,00
R$2.394,00
Total
Orçamentos efetuados encontram-se no Anexo A
R$14.487,00
65
No servidor Itautec MX-201 utilizado na FATEC-ZL foi pago à época de sua compra
aproximadamente R$14.000,00, já incluídos todos os acessórios como teclado, mouse,
monitor, conjunto de montagem em armário e SO, notadamente a categoria de equipamento
não é compatível como o equipamentos Dell PowerEdge T105, pois este é desenhado para
pequenas empresas e não dispõe de montagem em armário.
Pode-se analisar a tabela 2 que discorre sobre as características dos servidores
utilizados.
Tabela 2 – Comparação dos recursos dos servidores Itautec MX-201 e Dell PowerEdge T105
Característica
Itautec MX-201
Dell PowerEdge T105
Fonte redundante
Sim
Não
Número de processadores
02
01
Sim
Não
02
01
Sim
Não
Classe do Servidor
Médias e Grandes Empresas
Pequenas e Médias Empresas
Montagem em armário de
telecomunicações
Sim
Não
Consumo elétrico
760 Watts
305 Watts
Oito
Quatro
08
02
Sim
Sim
06
04
Sistema de disco de alto
desempenho
Número de Placas de Rede
incluídas na placa principal
Processador desenvolvido para
altas cargas de trabalho
corporativo
Quantidade de soquetes para
memória RAM
Quantidade de baias para disco
rígido
Possibilita dispositivo de cópia
de segurança interno
Quantidade de soquetes para
placas internas de expansão
Ficha técnica dos equipamentos encontra-se no Anexo A.
O MX-201 possui três fontes redundantes, o T105 apenas uma fonte não redundante,
que possibilitam conexão em diversas origens de energia elétrica, como rede comercial,
gerador de energia e Uninterruptible Power Supply (UPS – Fonte de Energia Ininterrupta),
possibilitando que sua operação não seja interrompida por uma falha de alimentação, além
66
disso, cada uma das fontes pode ser substituída com o equipamento em funcionamento não
prejudicando o fornecimento dos serviços.
Conta, o MX-201, com dois processadores, o T105 apenas um, Intel Xeon 5310 já
com tecnologia VT-x sendo apropriados para virtualização, conta com sistema de
controladora de disco rígido e discos rígidos de alta performance, permitindo que seus discos
sejam substituídos enquanto o equipamento está em funcionamento não interrompendo as
atividades dos usuários que utilizam o serviço.
No período de execução desse trabalho houve a necessidade de a FATEC-ZL montar
seu próprio servidor de páginas de internet, tal estrutura foi composta por dois servidores
DNS, um servidor de conteúdo de internet e um servidor de banco de dados, todos eles foram
criados em VM com SO Windows Server 2003 Entreprise no hardware alvo desse estudo de
caso, o Itautec MX-201.
Avaliando-se a tabela 3 e o fato de utilizar-se o mesmo servidor, MX-201, com seis
VM pode-se concluir que é mais vantajoso para a continuidade do negócio da FATEC-ZL
utilizar um servidor médio como o MX-201.
Tabela 3 – Custo dos servidores Dell PowerEdge T105 para substituição do Itautec MX-201
Equipamento
Quantidade
Preço Unitário
Preço Total
Servidor Dell PowerEdge T105 para Radius
01
R$4.275,00
R$4.275,00
Servidor Dell PowerEdge T105 para VPN
01
R$4.374,00
R$4.374,00
Servidor Dell PowerEdge T105 para DNS
02
R$4.275,00
R$8.550,00
01
R$4.275,00
R$4.275,00
01
R$4.275,00
R$4.275,00
Switch 24 Portas 3CR17333-91 3COM
02
R$1.722,00
R$3.444,00
Condicionado de ar 24000 BTU
01
R$2.394,00
R$2.394,00
Servidor Dell PowerEdge T105 para
conteúdo de internet
Servidor Dell PowerEdge T105 para banco
de dados
Total
R$31.587,00
Ficha técnica dos equipamentos encontra-se na totalidade no Anexo A.
Sob o ponto de vista energético, observando-se a tabela 4, pode-se calcular apenas a
energia consumida por seis servidores T105 comparando tal consumo com o do MX-201.
67
Tabela 4 – Comparação do consumo energético dos servidores MX-201 e T105
Consumo
Quantidade
Consumo
Equipamento
Nominal (W)
(unidades)
Total (W)
Servidor Dell PowerEdge T105
305
06
1830
Servidor Itautec MX-201
750
01
750
Ficha técnica dos equipamentos encontra-se na totalidade no Anexo A.
Pode-se concluir, pela tabela 4, que não é interessante sob o ponto de vista energético
manter servidores separados, reais, para as aplicações. Sob o ponto de vista econômico, tabela
3, é muito mais custosa a compra de diversos servidores para cada aplicação, não sendo
interessante para o negócio.
68
6 CONSIDERAÇÕES FINAIS
Pôde-se observar que a utilização de virtualização na infra-estrutura de sistemas de
informação eletrônico proporciona uma economia de recursos financeiros, não de maneira
imediata, pois como visto no estudo de caso, é vantajoso adquirir equipamentos de maior
capacidade ao invés dos de menor capacidade visto que com isso obtêm-se vantagens tais
como utilização de um equipamento o qual fornece recursos importantes como sistema de
disco rígido de alto desempenho, maior número de processadores, processadores
desenvolvidos para altas cargas de trabalho em ambiente profissional, equipamento adequado
para instalação em armário, gerando economia de espaço, e maior possibilidade de expansão
de hardware futura.
Percebe-se que um equipamento de maior capacidade é economicamente mais
vantajoso já que seu custo é inferior à metade do custo total de equipamentos de menor
capacidade, como visto na tabela 3, sendo assim é gerada uma economia que pode ser
utilizada na aquisição de equipamentos necessários como condicionador de ar e dispositivos
de rede.
Além disso, existem ganhos em relação ao consumo de energia elétrica, pois um único
equipamento consome uma quantidade menor de energia, menos que a metade como visto na
tabela 4, se comparado ao consumo total de equipamentos de menor capacidade. Não se pode
deixar de notar que uma quantidade de energia é necessária para refrigerar os sistemas,
conforme tabela 4, e que havendo menor consumo haverá menor dissipação de energia
térmica no ambiente e com isso uma menor quantidade de energia será gasta com sistemas de
refrigeração.
Deve-se considerar que a montagem em armário, proporcionada por equipamento de
maior capacidade, reduz à ocupação de espaço físico obtendo-se também uma melhor
organização dos equipamentos, tais fatos podem valer-se de economia monetária em relação
ao espaço para acomodação dos equipamentos e na melhoria da refrigeração dos mesmos já
69
que havendo uma menor quantidade de equipamentos a eficiência da refrigeração é
maximizada, pois não se atrapalha o fluxo de ar por entre os equipamentos.
Visto que existe uma menor demanda por recursos energéticos, pode-se dizer que a
virtualização é uma tecnologia que se alinha com a preservação dos recursos naturais do
planeta, tão em voga nos mais variados meios de comunicação, bem como preserva os
recursos financeiros da organização.
A virtualização mostrou-se escalar no estudo de caso, quando inicialmente se dispõe
de apenas duas VMs, e por uma necessidade organizacional foram criadas outras quatro, o
fato de ser uma tecnologia flexível no sentido de facilmente podermos aumentar a quantidade
de VMs, a sua cópia de segurança ser facilitada pelo fato de ser a cópia de um conjunto de
arquivos, sua portabilidade e a gestão centralizada dos recursos vem ao encontro do melhor
aproveitamento dos recursos, tanto de equipamentos, quanto humanos quanto financeiros.
70
REFERÊNCIAS
AGREN, O. Teaching Computer Concepts Using Virtual Machines. SIGCSE Bulletin, 31, no
2 , jun. 1999. 84-85. Disponível em: <http://portal.acm.org/citation.cfm?id=571578>. Acesso
em: 31 out. 2009.
BAIN, K.; DIPPOLD, M.; WATTS, D. Introducing Microsoft Virtual Server 2005 on IBM eserver xSeries Servers, p. 98, nov. 2004. Disponível em:
<http://www.redbooks.ibm.com/redpapers/pdfs/redp3912.pdf>. Acesso em: 31 out. 2009.
BITTENCOURT, R. A. Montagem de computadores e hardware. 5 ed. ed. Rio de Janeiro:
Brasport, 2006. 276 p.
DEITEL, H. M.; DEITEL, P. J.; CHOFFNES, D. R. Sistemas operacionais. 3. ed. São Paulo:
Pearson Prentice Hall, 2005.
FERRI, E. H. H. Introdução 80386. 10. ed. São Paulo: Érica, 1990.
INTEL CORPORATION. Advanced processor documentation. MAD Max - Extreme
Computing With Micro Channel (*not* affiliated with IBM), 1995. Disponível em:
<http://www.tampham.com/madmax/files/cpudata/23163011.pdf>. Acesso em: 08 set. 2009.
INTEL CORPORATION. Intel® 64 and IA-32 architectures software developer's manuals.
Intel corpotarion, 2009. Disponível em:
<http://www.intel.com/Assets/PDF/manual/253665.pdf>. Acesso em: 25 out. 2009.
INTEL CORPORATION. INTEL386 DX MICROPROCESSOR 32-BIT CHMOS
MICROPROCESSOR WITH INTEGRATED MEMORY MANAGEMENT. Disponível em:
<http://www.tampham.com/madmax/files/cpudata/23163011.pdf>. Acesso em: 08 set. 2009.
KING, S. T.; CHEN, P. M. Operating System Extensions to Support Host Based Virtual
Machines. Techical Report CSE-TR-465-02, Michigan, 2002.
KING, S. T.; DUNLAP, G. W.; CHEN, P. M. Operating system support for virtual machines.
Proceedings of the 2003 USENIX Techinical Conference, jun. 2003. Disponível em:
<http://www.eecs.umich.edu/virtual/papers/king03.pdf>. Acesso em: 10 out. 2009.
LAUREANO, M. Máquinas virtuais e emuladores: conceitos, técnicas e aplicações. São
Paulo: Novatec Editora, 2006. 184 p.
71
MACKIN, J. C.; MCLEAN, I. Implementing, managing, and maintaining a Microsoft
Windows Server 2003 network infrastructure. 2. ed. Redmond: Microsoft Press, 2006.
MALLACH, E. G. Emulator Architecture. Computer, v. 8, no. 8, p. 24-32, ago. 1975.
doi:10.1109/C-M.1975.219049.
MICROSOFT CORPORATION. How VPN Works. Microsoft TechNet, 2003. Disponível
em: <http://technet.microsoft.com/en-us/library/cc779919>. Acesso em: 18 outubro 2009.
MICROSOFT CORPORATION. Active Directory architecture. Microsoft TechNet, 2009.
Disponível em: <http://technet.microsoft.com/en-us/library/bb727030>. Acesso em: 18
outubro 2009.
MINASI, M. et al. Dominando o Microsoft Windows 2000 Server. São Paulo: Pearson
Education do Brasil, 2001.
NEIGER, G. et al. Intel Virtualization Technology: Hardware Support for Efficient Processor
Virtualization. Intel Techology Journal, 10, no 3, 10 ago. 2006. 167-178. Disponível em:
<http://download.intel.com/technology/itj/2006/v10i3/v10-i3-art01.pdf>. Acesso em: 31 out.
2009.
POPEK, G. J.; GOLDBERG, R. P. Formal requirements for virtualizable third generation
architectures, New York, v. 17, p. 412-421, jul 1974. Disponível em:
<http://delivery.acm.org/10.1145/370000/361073/p412popek.pdf?key1=361073&key2=8288996521&coll=GUIDE&dl=GUIDE&CFID=59227845
&CFTOKEN=85978066>. Acesso em: 31 out 2009.
SILVA, L. S. D. Virtual private network - VPN. 2. ed. São Paulo: Novatec, 2005.
SMITH, J. E.; NAIR, R. The Architecture of Virtual Machines. Computer, v. 38, no 5, p. 3238, mai 2005. Disponível em:
<http://www.computer.org/portal/web/csdl/abs/mags/co/2005/05/r5032abs.htm>. Acesso em:
31 out. 2009.
SOMMERVILLE, I. Engenharia de software. 8. ed. São Paulo: Pearson Addison-Wesley,
2007.
STANEK, W. R. Using Active Directory service. Microsoft TechNet, 2009. Disponível em:
<http://technet.microsoft.com/en-us/library/bb726976>. Acesso em: 18 outubro 2009.
SUN MICROSYSTEMS. x86 assembly language reference manual. Sun microsystems,
Santa Clara, p. 86, jan. 2005. Disponível em: <http://dlc.sun.com/pdf/817-5477/8175477.pdf>. Acesso em: 25 out. 2009.
72
TANENBAUM, A. S.; WOODHULL, A. S. Sistemas operacionais: projeto e
implementação. 2. ed. Porto Alegre: Bookman, 2000.
TODD, C.; JOHNSON JR, N. L. Rede segura Windows 2000 Server. Rio de Janeiro: Alta
Books, 2002.
VMWARE. Understanding Full Virtualization, Paravirtualization, and Hardware Assit.
VMWare, 2007. Disponível em:
<http://www.vmware.com/files/pdf/VMware_paravirtualization.pdf>. Acesso em: 31 out.
2009.
ZACKER, C.; STEVEN, A. Planning and maintaining a Microsoft Windows Server 2003
network infrastructure. 2. ed. Redmond: Microsoft Press, 2006.
73
GLOSSÁRIO
Árvore hierárquica
É a conexão de registros em uma estrutura de dados em árvore através
de ligações de modo que cada registro tenha apenas um possuidor.
Assembly
Linguagem de montagem, notação legível de um código de máquina,
possibilitando o entendimento por parte dos seres humanos.
Backup
Cópia de segurança.
Bit
Unidade mínima de um sistema digital a qual pode assumir dois
valores, geralmente zero ou um.
Byte
Conjunto de oito bits que constitui unidade básica de informação.
Cache
Técnica que copia parte das informações a que se refere um
determinado processo em um dispositivo de armazenamento, memória,
mais rápido que a memória principal.
Ciclo de relógio
Tempo do computador, medido em ciclos, que se refere a uma
oscilação completa de um sinal elétrico, provindo do gerador de relógio
do sistema, que estabelece a cadência do mesmo, determinando a
freqüência de funcionamento deste, comumente medida em ciclos por
segundo ou Hertz (Hz).
Core 2 Duo
Modelo de processador da Intel, atualmente última geração.
Dell PowerEdge T105
Equipamento da marca Dell modelo PowerEdge T105, desenvolvido
para prover serviços em uma rede de computadores
DNS Resolver
O mesmo que cliente do DNS.
Drivers
Programas de computador, normalmente fornecido pelo fabricante do
dispositivo, necessário para que um dispositivo físico seja suportado
pelo sistema operacional.
Emulador
Programa que permite habilitar o sistema computacional a executar
programas desenvolvidos para outros sistemas computacionais.
Ethernet
Padrão de rede normatizado pelo Instituto dos Engenheiros EletroEletrônicos, localizado nos Estados Unidos da América.
74
Firmware
Instruções executáveis armazenadas em memória persistente ligada a
um dispositivo, programado com micro-programação, camada de
programação abaixo da linguagem de máquina do computador.
Normalmente contém instruções simples, fundamentais, necessárias
para implementar operações em linguagem de máquina.
Gerador de Relógio
Dispositivo
físico,
circuito,
que
determina
a
freqüência
de
funcionamento do computador.
Gigabyte
Conjunto de 1024 Megabytes.
Hardware
Consiste nos dispositivos físicos do computador ou equipamento.
Hash
A partir de uma mensagem, texto ou senhas geralmente, de entrada, que
é processada por um algoritmo matemático, produz na saída uma
mensagem única, como uma impressão digital que corresponde à
mensagem de entrada.
hexadecimal
Sistema de numeração que representa números em base 16.
Hub
Equipamento de rede que possui duas ou mais portas e repete os sinais
elétricos que recebe em qualquer porta para todas as demais portas.
Utilizado para interligar computadores em rede.
Itautec MX-201
Equipamento da marca Itautec modelo MX-201, desenvolvido para
prover serviços em uma rede de computadores.
Jail
Mecanismo de virtualização, interno ao SO, geralmente FreeBSD, que
permite a divisão deste em mini sistemas chamados Jaula.
Kilobyte
Conjunto de 1024 bytes.
Latência
Demora.
Mainframe
Sistema Computacional de Grande Porte
Man-in-the-midle
Tipo de interceptação de comunicação em que duas partes acreditam
estarem se comunicando somente uma com a outra, mas na verdade há
um ouvinte silencioso intermediário na comunicação.
Máquina Virtual
Duplicação isolada e eficiente de uma máquina real normalmente
75
proporcionada por um monitor de máquina virtual (VMM).
Megabyte
Conjunto de 1024 Kilobytes.
Memória virtual
Área de memória com endereços virtuais permitindo assim que
programas se refiram a endereços memória não correspondentes ao
limitado conjunto de endereços físicos disponíveis.
Modo protegido
Proteção de memória que impede processos de acessarem a memória
que não lhes foi designada.
Multiprogramação
Comutação rápida do processador entre os programas em execução
visando o compartilhamento de recursos do computador dando a
impressão de que os programas são executados todos ao mesmo tempo.
Paravirtualização
Técnica onde o sistema a ser virtualizado sofre modificações para que a
interação com o monitor de máquina virtual seja mais eficiente.
Processador virtual
Duplicação isolada e eficiente do processador real destinada
exclusivamente para um determinado processo em execução.
Tempo de uso do processador real que é destinado a um processo.
Roteador
Equipamento de rede que permite a interconexão entre redes distintas,
protocolos de comunicação distintos, meios físicos de interconexão
distintos, não necessariamente efetua todas essas funções de uma só
vez ou em um único roteador.
Sandbox
Caixa de Areia, mecanismo para separação de programas em execução
que provê um ambiente controlado e monitorado, por um VMM por
exemplo.
Software
Programa de computador juntamente com sua documentação.
Switch
Equipamento de rede, evolução do Hub, que interpreta os sinais
recebidos nas portas e conecta diretamente a porta de origem na de
destino.
Threads
Subconjunto dos recursos contidos em um processo, podem executar
um conjunto de instruções independentes de outros processo ou
threads.
76
Tradução binária
Técnica em que o sistema pode, durante a execução do programa,
adequar o código gerado para que reflita o sistema original para o qual
o programa foi desenvolvido originalmente, visando maior eficiência
ou otimização adaptável.
User-Mode Linux
Monitor de máquina virtual (VMM) criado com base no Sistema
Operacional Linux e com o objetivo de executar Linux em máquina
virtual.
Virtualização total
Técnica de virtualização em que uma estrutura completa de hardware é
virtualizada não necessitando nenhuma alteração do sistema a ser
virtualizado.
VMWare
Empresa que produz e comercializa monitores de máquinas virtuais
(VMM).
VMWare ESXi 4.0
Programa de computador da empresa VMWare, VMM tipo I.
VSphere Client
Programa cliente do VMWare ESXi 4.0 que permite o gerenciamento
do VMM.
Windows Update
Sistema fornecido pela Microsoft, através da internet, que verifica o SO
e fornece atualizações para o mesmo.
77
ANEXO A – ORÇAMENTOS E ESPECIFICAÇÕES TÉCNICAS
Especificações técnicas do servidor Dell PorwerEdger T105 obtido no site
<http://www.dell.com.br > acesso em 08 nov. 2009.
78
79
80
Orçamento de preço do servidor PowetEdge T105 utilizado para servidor VPN obtido
no simulador disponível no site <http://www.dell.com.br> acesso em 08 nov. 2009.
81
82
Orçamento de preço do servidor PowetEdge T105 utilizado para servidor Radius
obtido no simulador disponível no site <http://www.dell.com.br> acesso em 08 nov. 2009.
.
83
84
Orçamento
de
preço
do
ativo
de
<http://www.ccanetwork.com.br> acesso em 08 nov. 2009.
rede
disponível
no
site
85
86
Orçamento
de
preço
do
condicionador
<http://www.ambientair.com.br> acesso em 08 nov. 2009.
de
ar
disponível
no
site
87