domingo, 28 de dezembro de 2008

Bit Torrent

A Internet é um território de downloads e uploads. Você já pensou dessa forma? A explicação é simples. Toda vez que se acessa alguma página na Web se está simplesmente realizando um download da página que está sendo acessada. Quem possui alguma página em funcionamento disponibiliza arquivos em um servidor (muitas vezes por meio de upload) para que os internautas tenham acesso. Isso ocorre em situações que apenas a visualização da página é requerida. Quando um arquivo tal como vídeos, músicas, programas, PDFs, entre outros, necessitam ser baixados, geralmente quando esses arquivos possuem um tamanho relativamente grande, o uso do protocolo Bit Torrent pode ser uma ótima alternativa.

O Bit Torrent é um protocolo baseado em redes P2P (peer-to-peer ou ponto-a-ponto – redes em que a transferência de dados é feita de um ponto a outro) e determina a forma como downloads podem ser feitos mais eficientemente na Internet. Funciona assim: Um arquivo, por exemplo, armazenado em um servidor em Tóquio, precisa ser baixado em um computador situado na cidade de São Paulo. Para trazê-lo de Tóquio para o computador de São Paulo o tempo de download será relativamente maior se comparado a um arquivo que esteja, por exemplo, no Rio de Janeiro, porque o arquivo está mais distante do seu destino. A “rede Bit Torrent” funciona por meio desse dilema. Um arquivo completo é armazenado em um servidor (conhecido também como seed ou seeding) para que alguém faça download. Nesse momento, computadores começam a fazer o download de pedaços do arquivo ao mesmo passo em que compartilham o arquivo recebido com novos computadores que o requisitarem (esses computadores receptores e transmissores são conhecidos como peers). Os outros computadores que forem fazer downloads do arquivo irão “perguntar” ao tracker (servidor que gerencia a rede bit torrent) qual é o computador mais próximo que possa fornecer o arquivo. O tracker ira determinar qual é o computador mais próximo para que o donwload dos pedaços seqüenciais do arquivo possa ser iniciado. Os computadores que completarem o dowload serão novos seeds que poderão fornecer o arquivo completo para novos computadores requisitantes juntamente com os peers que contém pedaços baixados formando assim um swarm (peer(s)+ seed(s)).

O Bit Torrent possui também algumas características bem interessantes. Por exemplo, quanto mais arquivos se tiver para disponibilizar – ou quanto mais arquivos baixados – maior poderá ser a taxa de download do computador cliente porque maior será a chance do computador cliente ser utilizado como servidor e porque a taxa de download é equivalente à taxa de upload, ou seja, a taxa de transferência de download de um peer aumenta na proporção que aumenta o seu upload. Outra característica interessante é que o download pode ser interrompido a qualquer momento e reiniciado a qualquer instante não necessitando que a transferência do arquivo seja completada. (...)

Para baixar um arquivo torrent precisam-se duas coisas: de um cliente torrent e do link do arquivo torrent a ser baixado. Existem vários clientes torrent disponíveis para download como o µtorrent e o ABC. Para achar arquivos torrent há uma infinidade de sites como o próprio site oficial do Bit Torrent que disponibiliza os arquivos, entre outros que podem ser encontrados na Internet.

E aí? Pronto para ser um cliente torrent? Afinal, quanto mais usuários Bit Torrent houver, melhor será a qualidade do serviço.

domingo, 21 de dezembro de 2008

Firewall: Uma “Parede” Necessária


Os ataques feitos pela Internet são cada vez maiores e o número de vítimas afetadas por terem falta de segurança em seus computadores ou por terem falta de conhecimento de uma política de segurança eficaz é expressivo. As máquinas ou dispositivos ligados à Internet, que possuem informações ou dados confidenciais, devem ser protegidos – pelas pessoas autorizadas e das pessoas não autorizadas – visto que carregam informações muitas vezes sigilosas que podem prejudicar moral, material ou de alguma outra forma às pessoas que possuem exclusividade sobre esses dados ou informações que eventualmente vierem a ser danificados ou “furtados”. Mas por que e como isso ocorre? Qual é a importância do firewall para proteger dados e aplicações?

Os ataques aos computadores pela Internet (meio virtual) tendem a ocorrer com maior freqüência porque milhões de pessoas compartilham uma mesma rede, o que facilita encontrar uma vítima vulnerável a algum tipo de fraude que possa ser feita remotamente. Para uma pessoa mal intencionada e com conhecimentos em informática isso é ideal porque a probabilidade de encontrar alguém indefeso e de se aproveitar da fragilidade dessa pessoa é infinitamente maior se comparado a um ataque (ou golpe) que fosse feito no mundo real (meio físico). A diferença na escolha de quem será a vítima passa por um princípio básico muito bem conhecido por crackers (infratores do mundo virtual) ou bandidos (infratores do mundo real): a vítima tende a ser a pessoa menos protegida.

Imagine que um bandido queira furtar uma das casas que estão em festa em uma determinada rua. Ele planeja fazer isso se aproveitando do fluxo de pessoas que entram e saem de uma casa com o objetivo de se misturar entre elas para subtrair objetos da residência. Nessa rua, hipoteticamente, num determinado dia, há 10 casas em festa só que, somente 3 dessas casas possuem um segurança – que toma conta apenas da residência pela qual está responsável – observando a entrada e saída das pessoas e verificando se essas pessoas estão autorizadas a entrar (se são convidadas) ou sair (se mesmo tendo sido convidadas não subtraíram algo da residência). Com quase certeza o bandido, na hora de escolher a “residência-vítima”, irá descartar as três casas protegidas e irá assaltar a casa menos protegidas das 7 que não possuem um segurança. No mundo virtual ocorre a mesma coisa e o firewall tem um papel semelhante ao segurança mencionado.

O firewall (ou “parede de fogo” em português) tem como objetivo monitorar as portas de entrada e saída de uma rede ou computador, bem como, os dados que estão entrando e saindo dessa rede ou computador. Para que isso ocorra é possível definir uma série de políticas de segurança de entrada e saída de dados, de permissões de acesso, bloqueio de portas lógicas, etc.

Há pouco tempo atrás o uso de firewall estava quase restrito ao uso de profissionais de informática e de organizações, porém, com o aperfeiçoamento dos ataques que hoje ocorrem, e com o crescimento e diversificação dos malwares existentes, é algo necessário para que se garanta uma maior proteção aos computadores domésticos. Cabe lembrar que para uma organização um firewall é algo obrigatório no momento atual, tanto para protegê-la dos invasores, quanto para protegê-la dos próprios funcionários que utilizam a rede e que podem utilizá-la indiscriminadamente. Um exemplo clássico é a de um possível funcionário ocioso que queira fazer um download da Internet no local de trabalho. Dois possíveis riscos a empresa estará sofrendo se ele vier a fazer isso: primeiro; ele pode baixar – mesmo sem saber ou desconfiar – um arquivo infectado que poderá contaminar a rede inteira da empresa causando danos de confidencialidade e integralidade dos dados organizacionais ou, segundo; esse arquivo poderá estar sob proteção de direito autoral comprometendo à empresa juridicamente. O firewall, nesse caso, poderá minimizar esses tipos de ocorrência e poderá ajudar a identificar quem causou o dano. Em empresas que possuem normas de uso do sistema assinadas por funcionários, um firewall é de extrema utilidade para “sentenciar” o infrator.

O firewall pode ser um hardware ou um software dependendo do tipo que é utilizado para separar um computador ou rede interna de uma rede externa. Há, ainda, alguns tipos de firewall que são instalados em servidores e filtram pacotes de dados, outros que controlam o funcionamento de aplicações, outros que vêm instalados em roteadores...

Embora o firewall seja uma boa solução para proteger computadores e redes ele não pode ser um item único devendo funcionar em paralelo com outras soluções como: política de segurança lógica e física, antivírus, anti-spywares, anti-rootkits, etc.(...). Para quem quer adquirir um firewall pessoal e utiliza a plataforma Windows é importante, antes de instalá-lo, desabilitar o firewall nativo do sistema para evitar conflitos de softwares. Para quem utiliza o firewall do Windows cabe dizer que ele não é lá uma grande proteção em termos de firewall; é preferível instalar outro com funções mais específicas, porém, se você não utiliza nenhum firewall pessoal é melhor manter o firewall do Windows funcionando do que não contar com nenhuma alternativa.

segunda-feira, 15 de dezembro de 2008

Protocolos IPv4 e IPv6

A Internet possui milhões de computadores interligados em rede formando uma grande teia de comunicação. Esses computadores, embora sejam muitos, são conhecidos um a um por um código conhecido como IP (Internet Protocol – Protocolo de Internet). Esse código permite que cada computador ligado à Internet seja conhecido univocamente.

Atualmente o protocolo mais utilizado é o IPv4 (4ª versão do protocolo IP). Esse protocolo possui 32 bits de números, distribuídos em quatros partes de 8 bits (ou quatro partes de 28 = 256), cujas partes são representadas com os números de 0 a 255; essa é a razão para que os endereços IP sejam, por exemplo, 192.168.30.62 ou 10.33.0.90. Como os endereços IPs são vendidos por classes (A, B ou C) por uma entidade responsável por essa distribuição e cada classe consome uma fatia de IP que nem sempre é totalmente utilizada pela empresa que a detém, isso faz com que números de IPs não sejam todos utilizados e, ao mesmo tempo, não possam ser vendidos gerando-se um gargalo. Por exemplo, quem compra uma fatia de IP da classe C tem direito a 254 IPs, quem compra uma fatia da classe B, tem direito a 65.534 IPs e quem compra uma fatia da classe A tem direito a 16.777.214 IPs. Além disso, há faixas de IPs que são reservadas para redes locais e não podem ser utilizadas na Internet, cujos endereços são: a família 192.168.xxx.xxx, a família 10.xxx.xxx.xxx e os IPs entre 172.16.xxx.xxx e 172.31.xxx.xxx (cerca de 17 milhões de endereços).

A forma de distribuição de números IPs é feita por classes porque são necessários dois grupos de endereços; um que identifique a rede na internet e outro que identifique os computadores da rede (hosts). Por exemplo, se você tivesse 300 computadores que precisassem ser identificados na Internet, você precisaria comprar um grupo de endereços da classe B porque a classe C somente fornece 254 endereços de IPs válidos, ou seja, por exemplo, quem comprou o grupo de endereços 201.69.62.xxx comprou um grupo da classe C e pode usar os números entre 201.69.62.001 e 201.69.62.254, o número 201.69.62, nesse caso, identifica a rede e os três últimos números identificam os computadores da rede. No caso, para 300 computadores, a classe C não corresponde ao número de IPs necessários só que, ao comprar um grupo da classe B, se por exemplo você comprasse a classe 201.69, você compraria todos os IPs entre 201.69.000.001 e 201.69.255.254(65.534 endereços) e ninguém mais poderia utilizar os IPs que sobrassem porque uma rede proprietária deve ser identificada unicamente pela classe utilizada. Cogita-se que até 2012 os números IPs da versão 4 se esgotarão comprometendo o crescimento da Internet. Para solucionar esse problema surgiu o IPv6 (ou 6ª versão do protocolo IP).

O IPv6 possui uma estrutura diferente em relação ao IPv4. Enquanto o IPv4 possibilita uma combinação de um pouco mais de 4 bilhões de números (2564), o IPv6 possibilita o quadrado de combinações da quantidade citada (ou 25616 combinações). Isso se deve às seguintes características:

1. O IPv6 tem 128 bits; o IPv4 tem apenas 32 bits,

2. O IPv6 está dividido em 8 partes de 16 bits (ou 8 partes de 216= 65.536); o IPv4 está dividido em 4 partes de 8 bits (ou 4 partes de 28=256).

3. O IPv6 é formado por números hexadecimais; o IPv4 é formado por números decimais. A diferença é que os números decimais são de 0 a 9 enquanto os hexadecimais são de 0 a 9 mais 6 letras alfabéticas (A,B,C,D,E,F) aumentando, dessa forma, a quantidade de combinações em um menor número de casas numéricas. Por exemplo, em 2 casas numéricas decimais dá somente para criar uma combinação de 100 números (00,01,..., 98,99); em 2 casas hexadecimais dá para criar 256 combinações (00, 01, ..., 0A, 0B, ..., 99, 9A, ..., A1, A2, ..., FE, FF).

4. O IPv6 possui uma estrutura de 8 grupos de 4 dígitos ilimitados, separados por dois pontos (:); o IPv4 possui uma estrutura de 4 grupos de 3 dígitos limitados até o número 255 (pelo fato de cada grupo ter 8 bits), separados por ponto (.). Exemplo: Um número no padrão IPv4 vai do 0.0.0.0 até 255.255.255.255. No padrão IPV6 vai do 0:0:0:0:0:0:0:0 até FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF.

Segundo o site oficial do IPv6 esse protocolo fornece, além de maior quantidade de IPs, “confidencialidade, integridade e privacidade diretamente na camada IP”. Ainda que, atualmente, ele seja pouco conhecido, o IPv6 será mais abordado nos próximos anos e o IPv4 irá coexistir com o novo protocolo pelos menos na fase inicial de implementação.

domingo, 30 de novembro de 2008

Navegando na Web 2.0


Navegar na Internet, para alguns, pode ser apenas acessar páginas virtuais sem ter a mínima influência sobre o conteúdo que se é acessado funcionando da seguinte forma: o usuário acessa uma página e lê o seu conteúdo ou baixa algum arquivo; a interação nesse caso é mínima. O ponto mais interativo, talvez, nesse modelo é o preenchimento de formulários, a participação em fóruns de discussão, o expressar de opiniões a respeito de uma notícia ou postagem ou o envio de dados por meio de alguns sites. Acontece que a Internet não é só isso ao ponto de se dizer que ela evolui para um novo modelo cunhado como Web 2.0.

A Web 2.0 é o nome utilizado para se referir à “nova” forma como as pessoas interagem com a Internet. Nessa rede o ponto forte é que são os próprios internautas que colaboram para a criação de conteúdos virtuais e para o avanço da rede mundial. Notadamente, nesse ambiente têm-se os seguintes exemplos: comunidades de relacionamento como o Orkut, comunidades de conteúdo como a Wikipédia, comunidades de informação como blogs e podcasts, comunidades de entretenimento como o YouTube, forma de compartilhamento de informações onde os usuários transformam as suas máquinas em servidores de arquivos torrent, comunidades de comercialização entre usuário como o Mercado Livre, entre outros.

O sucesso desses mecanismos tão utilizados por muitas pessoas é possibilitado pelos usuários que fazem o crescimento desses serviços serem tão promissores e tão divulgados, além de produzirem o conteúdo acessado. O papel das empresas que disponibilizam essas aplicações é fazer com que essas estejam funcionando perfeitamente e que a melhoria contínua do serviço, implícita ou explicitamente sugerida pelos usuários, seja implementada a partir de uma atitude visionária na busca da melhor forma de agradar ao público-alvo.

Outro fator é que a Internet torna-se nesse paradigma uma grande plataforma por abrigar as aplicações que nela são executadas. A dependência do uso de softwares aplicativos e o pagamento de licença de uso “cai por terra” num modelo onde o que importa é a disponibilidade e a gratuidade das aplicações visto que os usuários tornam-se “sócios” das empresas dona da aplicação ao contribuírem com o sucesso do serviço e as organizações precisam do usuário para que o serviço tenha sucesso. Logicamente que a empresas mantenedoras das aplicações ganham quando os seus produtos ficam em destaque na Internet e o usuário “ganha” com a existência da aplicação.

Na Web 2.0 o que importa é o espírito colaborativo e interativo dos usuários. No Mercado Livre, por exemplo, para saber se um vendedor é confiável o comprador vê a positividade do vendedor e os depoimentos que são definidos por quem já comprou produtos daquele fornecedor. Dúvidas podem ser sanadas lendo-se o histórico de perguntas dirimidas ao vendedor ou fazendo-se novos questionamentos. O ganho do site fica por conta dos anúncios nele afixados e por conta do recebimento de pequenas taxas das transações realizadas pelos usuários.

Os blogs também, como produtos da Web 2.0, são grandes oportunidades para que as pessoas possam ir além do conteúdo das mídias tradicionais (jornais, revistas, TV, rádio, etc.). A vantagem é que profissionais podem levar o seu ponto de vista diretamente ao seu público fazendo com que informações profissionais não sejam distorcidas por jornalistas, ou falsos jornalistas leigos ao assunto, tornando o conteúdo publicado algo mais técnico e profissional do que meramente informativo ou descritivo. Um Professor de Medicina, por exemplo, poderia criar um canal de comunicação direto para os seus alunos onde poderia explicitar o conteúdo abordado em sala de aula e, ao mesmo tempo, poderia estar contribuindo com os outros milhões de alunos ou profissionais que se interessassem por aquele assunto. A desvantagem dos blogs seria a desinformação gerada por quem não possui conhecimento levando uma falsa informação aos seus leitores. Um mecanismo regulador são as opiniões dos leitores que deixam o seu parecer a respeito das postagens ou notícias influenciando assim, negativa ou positivamente, na confiabilidade daquela informação.

Outro mecanismo interessante na rede 2.0 são os agregadores de feeds. Essa tecnologia faz com que, ao invés do usuário ir até a informação, a informação vá até ele de uma forma mais organizada, precisa e mais fácil de ser gerenciada. Outros modelos complementam a Web 2.0 como o e-commerce (já comentado no exemplo do Mercado Livre), widgets, aplicativos open-social, etc.

A Web é um “mar” de possibilidades e os horizontes continuam a se ampliar. Nos dias atuais “navegar é preciso” nas fontes de conhecimento virtualmente disponível. Importa termos uma boa bússola para nos orientar nessa empreitada.


Rozenildo Rodrigues Pedroso

Bacharelando em Sistemas de Informação

domingo, 16 de novembro de 2008

Virtualização: Múltiplos Sistemas num Único Hardware

Num determinado dia ao “rodar” mais de um sistema operacional num mesmo computador por meio de “particionamento” (divisão do disco rígido em partes) e dual boot (inicialização com opção de escolha de mais de um sistema operacional), alguém deve ter se sentido maravilhado ao saber que é possível ter mais de um sistema operacional – por exemplo, sistemas operacionais Linux, Windows e Unix – funcionando numa mesma máquina. O encantamento, nesse caso, só foi suplantado quando esse alguém conheceu a virtualização.

A virtualização é uma técnica onde é possível pôr para funcionar dois sistemas operacionais simultaneamente num mesmo computador. É isso mesmo! Numa única máquina pode-se “rodar”, por exemplo, ao mesmo tempo, instalados, um sistema operacional Windows e uma distribuição Linux.

Algum usuário um pouco desinformado poderia perguntar: “Mais por que raios eu gostaria de utilizar dois sistemas operacionais ao mesmo tempo se eu só consigo utilizar um por vez?”. Muitas empresas já encontraram a resposta e as que ainda não encontraram, pelo menos, se não ouviram, vão ouvir falar bastante a respeito disso no futuro. Pois alguns já se aventuram a dizer que o futuro dos servidores passará pela virtualização. (...)

Os benefícios da virtualização estão aparecendo numa hora em que as empresas buscam a velha tarefa de diminuir custos (principalmente devido à crise econômica que estamos vivenciando) aliada a simplificação para realocar recursos computacionais. Por exemplo, uma empresa que tem um servidor de banco de dados na plataforma Windows, um servidor web, e uma aplicação rodando em Linux, tradicionalmente utilizaria três servidores onde, na maior parte do tempo, esses servidores estariam “ociosos” por não consumir toda a estrutura de hardware que lhes foram conferidas. Além do mais, o consumo de energia seria de três máquinas em funcionamento. Outra questão é a redundância (termo utilizado para referenciar a multiplicação – ou duplicação – de disponibilidade de serviço em forma de contingência). No nosso exemplo, se fosse uma aplicação crítica (aplicação que precisasse estar disponível nas 24 horas do dia, nos 7 dias da semana) certamente teria que haver mais servidores funcionando além dos três mencionados, para caso algum deles parasse de funcionar o outro assumisse a dianteira, não comprometendo assim o funcionamento de alguma aplicação.

Com a virtualização do exemplo anterior, apenas um servidor bastaria. O diferencial desse servidor estaria na necessidade dele ser mais “parrudo”, ou seja, ter um hardware robusto o suficiente para suportar os três servidores mencionados funcionando mais a redundância. O ganho começaria pela economia de energia; passaria pela diminuição de espaço físico para abrigar os “servidores”; transitaria pela facilidade que se tem nesse tipo de ambiente para balancear a utilização da carga de cada servidor e terminaria com uma plataforma que suportaria qualquer aplicação ou qualquer sistema para nenhum “xiita” botar defeito.

No Brasil, avalia-se um forte crescimento no uso da virtualização nos próximos anos, principalmente quando houver o crescimento de vendas de processadores com 4, 6 ou mais núcleos (processadores multi-core) com suporte à virtualização e o aumento da utilização da arquitetura Blade (uma nova abordagem na forma de gerenciar ou escalonar recursos computacionais físicos).


Rozenildo Rodrigues Pedroso

Bacharelando em Sistemas de Informação