FACULDADE DE TECNOLOGIA DA ZONA LESTE - daronchodaroncho.com/tcc/tcc92-juliano.pdf · O USO DA...

87
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

Transcript of FACULDADE DE TECNOLOGIA DA ZONA LESTE - daronchodaroncho.com/tcc/tcc92-juliano.pdf · O USO DA...

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. (FATEC-ZL), 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ógio2 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 pode-

se 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 infra-

estrutura 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 infra-

estrutura 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, fazendo-

se 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 MS-

CHAP 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 micro-

programas, 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 observou-

se 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 FATEC-

ZL.

É 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 R$14.487,00

Orçamentos efetuados encontram-se no Anexo A

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

Sistema de disco de alto

desempenho Sim Não

Número de Placas de Rede

incluídas na placa principal 02 01

Processador desenvolvido para

altas cargas de trabalho

corporativo

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

Quantidade de soquetes para

memória RAM Oito Quatro

Quantidade de baias para disco

rígido 08 02

Possibilita dispositivo de cópia

de segurança interno Sim Sim

Quantidade de soquetes para

placas internas de expansão 06 04

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

Servidor Dell PowerEdge T105 para

conteúdo de internet 01 R$4.275,00 R$4.275,00

Servidor Dell PowerEdge T105 para banco

de dados 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

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

Equipamento Consumo

Nominal (W)

Quantidade

(unidades)

Consumo

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 e-

server 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/p412-

popek.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. 32-

38, 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/817-

5477.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 Eletro-

Eletrô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 rede disponível no site

<http://www.ccanetwork.com.br> acesso em 08 nov. 2009.

85

86

Orçamento de preço do condicionador de ar disponível no site

<http://www.ambientair.com.br> acesso em 08 nov. 2009.

87