Redes, Guia Prático. » R$ 60,00 + frete (Preço nas livrarias: R$ 75) » Compre o seu. Resenhas: MeioBit, GuiaTutoriais, MaxINFO.



Documentos relacionados
Cabeamento Estruturado O Cabeamento

REDES DE COMPUTADORES

Universidade de Brasília

Voltar. Placas de rede

Conheça melhor os equipamentos de Rede de Computadores

UTP ( PAR TRANÇADO SEM PROTEÇÃO)

REDES DE COMPUTADORES

Introdução às Redes de Computadores. Por José Luís Carneiro

REDES COMPONENTES DE UMA REDE

Arquitetura de Rede de Computadores

Padrões de Rede 15/02/2014. Padrões de rede. Padrão Ethernet IEEE

REDES DE COMPUTADORES E TELECOMUNICAÇÕES MÓDULO 6

QUANDO TRATAMOS SOBRE MEIOS DE TRANSMISSÃO, DEVEMOS ENFATIZAR A EXISTÊNCIA DE DOIS TIPOS DESSES MEIOS, SENDO:

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Redes de computadores

APOSTILA DE REDES DE COMPUTADORES PARTE - III

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

REDES DE COMPUTADORES

09/06/2011. Profª: Luciana Balieiro Cosme

APOSTILA DE REDES DE COMPUTADORES PARTE - I I

REDE DE COMPUTADORES

Rede de Computadores

Placas e Ferramentas de Rede. Prof. Alexandre Beletti Ferreira

PARANÁ GOVERNO DO ESTADO

Introdução. Placas e Ferramentas de Rede. Exemplos. Surgimento. Estrutura Física - Placas

Fernando Albuquerque - fernando@cic.unb.br REDES LAN - WAN. Fernando Albuquerque (061) fernando@cic.unb.br

REDES DE COMPUTADORES - I UNI-ANHANGUERA CENTRO UNIVERSITÁRIO DE GOIÁS CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROF.

INTRODUÇÃO BARRAMENTO PCI EXPRESS.

Redes de Computadores Aula 01

Tecnologia da Informação e Comunicação. Euber Chaia Cotta e Silva

Prof. Edson Maia Graduado em Web Design e Programação Bacharel e Licenciado em Geografia Especialista em Gestão Ambiental Complementação para

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Claudivan C. Lopes

REDE DE COMPUTADORES

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Introdução à redes de computadores

Cap 01 - Conceitos Básicos de Rede (Kurose)

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet:

Interconexão de redes locais. Repetidores. Pontes (Bridges) Hubs. Pontes (Bridges) Pontes (Bridges) Existência de diferentes padrões de rede

Redes de Computadores. Prof. Késsia Marchi

O modelo ISO/OSI (Tanenbaum,, 1.4.1)

DISPOSITIVOS DE REDES SEM FIO

Meios Físicos de Comunicação

INTRODUÇÃO. Redes, guia prático - Carlos E. Morimoto 15

FACULDADE PITÁGORAS. Prof. Ms. Carlos José Giudice dos Santos

Equipamentos de Rede. Prof. Sérgio Furgeri 1

LIGANDO MICROS EM REDE

Tecnologia e Infraestrutura. Conceitos de Redes

Na Figura a seguir apresento um exemplo de uma "mini-tabela" de roteamento:

Redes Locais. Prof. Luiz Carlos B. Caixeta Ferreira

IW10. Rev.: 02. Especificações Técnicas

switches LAN (rede de comunicação local)

Prof. Wilton O. Ferreira Universidade Federal Rural de Pernambuco UFRPE 1º Semestre / 2012

Claudivan C. Lopes

Centro Federal de Educação Tecnológica CEFET/BA

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

Evolução na Comunicação de

LIGANDO MICROS EM REDE

Guia de Conectividade Worldspan Go Res! A V A N Ç A D O

Curso de Instalação e Gestão de Redes Informáticas

IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.

Fundamentos em Informática

Entendendo como funciona o NAT

5.2 MAN s (Metropolitan Area Network) Redes Metropolitanas

TECNOLOGIA WEB INTERNET PROTOCOLOS

Equipamentos de Redes. Professor Leonardo Larback

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Equipamentos de Rede

Rede Corporativa. Tutorial 10 mar 2009 Fabio Montoro. Introdução

Cabo de par Trançado Micro - HUB

Placas Adaptadoras e montagem de Redes

PROJETO DE REDES

Como instalar uma impressora?

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados:

Redes de Computadores. Prof. André Y. Kusumoto

É um conjunto de módulos processadores capazes de trocar informações e compartilhar recursos.

Como medir a velocidade da Internet?

Professor: Gládston Duarte

REDE DE COMPUTADORES. Desenvolvimento Duração: 35 aulas (2 horas cada aula) Redes de computadores. 1 Apresentação

UNIVERSIDADE FEDERAL DE PELOTAS

19/07/2013. Camadas. Camadas de Enlace e Física. Camadas de Enlace e Física. Topologias de Rede NOÇÕES DE REDE: CAMADAS DE ENLACE E FÍSICA

RC e a Internet: noções gerais. Prof. Eduardo

André Aziz Francielle Santos Noções de Redes

TOPOLOGIAS. Em redes de computadores modernos a transmissão de dados não ocorre através de bits contínuos.

Celebre este natal e ano novo junto aos seus amigos e familiares distantes.

Assunto: Redes Com Menos Gastos

Roteador Wireless N 300MBPS

Capítulo 1: Introdução às redes de computadores

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

Montando a rede. Cabeamento estruturado: cabo par trançado. Prof. Eduardo

INSTITUTO LABORO ESCOLA TECNICA

Aula Prática Wi-fi Professor Sérgio Teixeira

CENTRO EDUCACIONAL FUCAPI LYNALDO CAVALCANTI DE ALBUQUERQUE CEEF LISTA DE EXERCÍCIOS

REDE DE COMPUTADORES

COMPONENTES BÁSICOS DE

Centro Tecnológico de Eletroeletrônica César Rodrigues. Atividade Avaliativa

Transcrição:

Redes, Guia Prático O livro Redes, guia prático é o segundo livro da série iniciada com o livro Hardware o guia definitivo. Ele aborda em detalhes os padrões de rede, cabeamento e dispositivos de rede, redes wireless, TCP/IP e endereçamento, segurança, firewall, configuração de redes Windows e Linux, configuração de servidores de rede local entre outros temas. Ele é o seu guia definitivo sobre redes. Autor: Carlos E. Morimoto Páginas: 560 Formato: 23 x 16 cm Editora: GDH Press e Sul Editores ISBN: 978-85-99593-09-7 Lançado em: Abril de 2008» R$ 60,00 + frete (Preço nas livrarias: R$ 75)» Compre o seu Resenhas: MeioBit, GuiaTutoriais, MaxINFO Descrição O livro Redes e Servidores Linux - Guia Prático foi nosso primeiro best-seller, vendendo um total de 8.000 exemplares em suas duas edições. O processo de atualização do livro acabou dando origem a dois livros separados. O Redes - Guia Prático, é o primeiro deles, dedicado ao cabeamento e configuração de redes, redes wireless, acesso móvel, TCP/IP e endereçamento, segurança, firewall, configuração de redes Windows e Linux, configuração de servidores de rede local, entre outros temas, abordados de forma muito mais aprofundada que no livro anterior. Ele faz par com o livro Servidores Linux - Guia Prático, que é dedicado à configuração e otimização de servidores Linux. Existem muitos livros de redes no mercado, mas quase todos se restringem a um único tema (cabeamento ou TCP/IP, por exemplo) ou estão desatualizados. Muitas vezes, temos a impressão de que, ao contrário de outras áreas da informática, as redes são um assunto mais constante, onde pouca coisa muda. Entretanto, essa impressão não poderia estar mais longe da realidade. A cada dia, novas tecnologias e novos padrões são criados e novas áreas de conhecimento são adicionadas. Os próprios padrões de rede evoluem constantemente para se adaptarem às novas necessidades. Ao longo do livro, você aprenderá detalhes sobre: Padrões Ethernet e cabeamento de rede, incluindo redes gigabit e 10G, novos padrões de cabos de par trançado e fibra óptica. Configuração de dispositivos de rede, incluindo switches, modems ADSL, pontos de acesso, roteadores wireless e outros. Configuração de redes no Windows e no Linux. Configuração de redes wireless, incluindo a criação de links de longa distância. Endereçamento IP, incluindo as mudanças introduzidas pelo sistema CIDR e o uso de máscaras de tamanho variável. Uso de utilitários de segurança para capturar tráfego da rede, detectar brechas e quebrar os sistemas de encriptação das redes wireless. Configuração de firewalls. Configuração de servidores Linux domésticos para compartilhar a conexão e compartilhar arquivos. Configuração de servidores Windows. Em suas 560 páginas, o livro reúne tudo o que você precisa saber para montar redes locais e configurar pequenos servidores em um único local, uma leitura obrigatória para quem trabalha na área ou quer conhecer mais sobre o tema.

O autor: Carlos E. Morimoto é o criador do http://guiadohardware.net, o maior site técnico do país. Seu trabalho inclui mais de dois mil artigos, dicas e tutoriais publicados, projetos de desenvolvimento em Linux, cursos, palestras e a publicação de 17 livros técnicos sobre hardware, redes, servidores e Linux, entre eles os livros Hardware, o Guia Definitivo; Redes, Guia Prático; Servidores Linux, Guia Prático; Smartphones, Guia Prático; Linux, Entendendo o Sistema e Linux, Ferramentas Técnicas. :. Como comprar Você pode fazer sua compra via depósito bancário, ou via PagSeguro, onde você pode utilizar diversas formas diferentes de pagamento, incluindo cartão de crédito (com parcelamento em até 10x), boleto e débito em conta. O Guia do Hardware existe desde 1999 e já vendemos mais de 20.000 livros impressos, além de CDs e outros produtos. Em caso de dúvida, você pode nos escrever diretamente através do compras@gdhpress.com.br, ou usar nosso atendimento. :. Pagamento via depósito bancário Para comprar via depósito bancário, use a tabela no site http://www.gdhpress.com.br/redes para calcular o valor da compra. Você pode combinar vários livros no mesmo pacote, assim, o frete é pago apenas uma vez, independentemente do número de livros incluídos na compra, por isso é vantajoso comprar mais de um livro quando possível. O envio econômico custa apenas R$ 10, ele é a melhor opção se você não tem muita pressa. Ele é feito via PAC ou impresso registrado, dependendo do estado de destino. O envio para os estados de SP, RJ, MG e PR é feito via PAC, que demora de 3 a 8 dias úteis, de acordo com a cidade. Para os demais estados o envio é feito via impresso registrado, que chega em de 4 a 20 dias úteis. Em ambos os casos, o pacote é entregue na sua casa, ao contrário do envio via encomenda, onde a entrega é mais demorada e você precisa retirar o pacote na agência. Ambas as modalidades de envio contam com registro e seguro contra extravio: você recebe o código de rastreio assim que o pacote é enviado e caso ele se extravie lhe enviamos outro sem custo algum. Obs.: Os dados da compra, como forma de pagamento, conta que depositou o dinheiro, endereço, frete escolhido, entre outros, devem ser enviados para o email compras@gdhpress.com.br, com o assunto especificando o que deseja. Contas para depósito:

Aproveite que todos os bancos já oferecem gratuitamente seus serviços de home banking e faça sua transferência via Internet. Você pode também fazer o depósito em qualquer caixa eletrônico ou agência, ou ainda através de agências dos correios filiadas ao banco postal (que permite fazer o depósito na conta do Bradesco). Se possível, deposite alguns centavos a mais ou a menos para diferenciar o valor do seu depósito. Em seguida, envie-nos um e-mail no compras@gdhpress.com.br. Você receberá uma resposta automática poucos minutos depois, confirmando o recebimento. Caso você não receba a resposta automática, envie uma cópia do e-mail para o compras@guiadohardware.net (nosso e-mail secundário), pois o primeiro pode ter se extraviado. Inclua no e-mail o valor exato do depósito, a conta creditada, junto com a data e hora aproximada em que foi feito. Não se esqueça de incluir seu nome e o endereço completo, para onde o pacote deve ser enviado. Você receberá a confirmação do envio num prazo de 24 horas (com exceção de finais de semana e feriados), e o código de rastreamento é enviado por email em um prazo de aproximadamente 3 dias úteis após confirmação de envio. Os livros são enviados pela modalidade de frete que você escolher e pagar. É importante ressaltar que é necessário ter alguém no endereço de envio para receber o pacote, já que o envio é feito com registro. Caso não tenha ninguém no endereço, os Correios fazem três tentativas de entrega e na terceira deixam um aviso que permite retirar o pacote na agência mais próxima (válido somente para o PAC ou SEDEX, o modo econômico não permite a retirada no correio e o pacote retornará automaticamente para nós). Está disponível também a opção de envio via Sedex à cobrar (onde você paga ao retirar o pacote na agência, ao invés de pagar via depósito), que demora de 3 a 5 dias úteis. O valor do envio via sedex à cobrar é o mesmo do sedex convencional, acrescido de R$ 2,00. Se preferir esta forma de envio, escreva-nos. Caso tenha qualquer problema ou dúvida, escreva-nos no compras@gdhpress.com.br, teremos prazer em atendêlo. Confirmação: Nunca é demais lembrar :). Logo após enviar o e-mail você receberá uma resposta automatica confirmando o recebimento pelo servidor. Dentro de no máximo 24 horas você recebe um segundo e-mail com a confirmação do envio do livro, exceto nos finais de semana e feriados, e os códigos de rastreamento são enviados em um prazo de 3 dias úteis após confirmação de envio. Os pedidos e emails recebidos aos sábados, domingos ou feriados serão respondidos no próximo dia útil. Caso não receba nossa confirmação dentro de 24 horas (úteis), escreva novamente, enviando uma cópia para o compras@guiadohardware.net. Pode ter havido algum problema momentâneo com os servidores de e-mail. Não deixe de enviar também seus comentários e sugestões sobre o conteúdo dos livros para que possamos realizar um trabalho cada vez melhor.. Pagamento via PagSeguro O PagSeguro, permite utilizar diversas formas diferentes de pagamento, incluindo cartão de crédito (com parcelamento em até 10x), boleto e débito em conta. O pagamento é confirmado automaticamente e o envio num prazo de 48 horas (com exceção de finais de semana e feriados). Clicando no link abaixo você é encaminhado à pagina do serviço, onde pode concluir a compra. Comprando pelo PagSeguro, o pagamento é confirmado automaticamente. As compras realizadas pelo PagSeguro são enviadas pela modalidade econômico, ou seja, poderá levar de 4 a 20 dias úteis de acordo com a localidade para que sejam entregues no endereço do destinatário. O código de rastreamento é enviado por email em um prazo de aproximadamente 3 dias úteis após confirmação de pagamento pelo sistema do PagSeguro. Livro Redes, guia pratico R$ 60,00 https://pagseguro.uol.com.br/security/webpagamentos/w ebpagto.aspx Promocao: Livro Servidores Linux + Livro de Redes R$ https://pagseguro.uol.com.br/security/webpagamentos/w 119,00 ebpagto.aspx Obs: O envio grátis para os estados de SP, RJ, MG e PR é feito via PAC, que demora de 3 a 8 dias úteis. Para os demais estados o envio é feito via impresso registrado, que chega em de 7 a 20 dias úteis. Em ambos os casos, o pacote é entregue na sua casa e contam com registro contra extravio, mas é necessário que tenha alguém no endereço para assinar o recebimento do pacote. :. Atendimento Caso tenha qualquer problema ou dúvida com relação à compra, escreva-nos no: compras@gdhpress.com.br Teremos todo o prazer em atendê-lo. Para qualquer dúvida mais urgente, utilize nosso atendimento, disponível de segunda a sexta-feira, das 10:00 às 17:00 horas: (11) 2452-2113

Nas próximas páginas você encontrará um e-book dos principais tópicos abordados no livro, mas vale lembrar que somente no livro impresso você terá acesso ao conteúdo integral. Obrigado e boa leitura. :. Índice do livro Introdução Configurando o ponto de acesso A evolução do cabeamento Opções básicas Padrões Parâmetros da rede ARCNET e Token Ring Opções avançadas Uma rápida explicação do modelo OSI Segurança Hello World Configurando a rede wireless no Windows Configurando a rede wireless no Linux Capítulo 1: Cabeamento e dispositivos de rede Padrões Ethernet Padrões de 10 megabits Fast Ethernet Configurando a rede wireless manualmente Usando o wpa_supplicant Ativando o wpa_supplicant no boot Gigabit Ethernet Opções avançadas 10 Gigabit Ethernet Criando um script de configuração Instalando drivers e solucionando problemas Cabeamento Categorias de cabos Hubs, switches, bridges e roteadores Usando o Ndiswrapper Modo full-duplex Instalando Hubs passivos e splitters Carregando o driver Interfaces Fibra óptica Preparação e polimento Conectores e splicing Transceivers Placas com chipset Ralink Configurando uma rede wireless Ad-Hoc Montando a rede No Windows No Linux Crimpando cabos de rede Passando os cabos através de dutos Tomadas e emendas CIDR e Máscaras de tamanho variável Cabeamento estruturado Portas TCP e UDP Capítulo 4: TCP/IP, endereçamento e portas Redes wireless ICMP Power over Ethernet (PoE) ARP Bluetooth Frames e Pacotes Armazenamento externo: DAS e NAS Entendendo o IPV6 Opções de acesso Conexões fixas Jumbo Frames Endereçamento A divisão rede/host Acesso discado ADSL Compatibilidade ADSL2, ADSL2+ e READSL2+ As faixas de endereços reservadas Um exemplo prático Mais detalhes Acesso via cabo Outras tecnologias Outros protocolos Acesso móvel NetBEUI GPRS IPX/SPX EDGE (EGPRS) UMTS (3GSM) 1xrtt (CDMA 2000) EVDO Capítulo 5: Segurança e utilitários As dicas gerais Ataques comuns Exploits

Capítulo 2: Configurando a rede Endereços, máscaras e DHCP Trojans Eavesdropping Phishing Denial of Service (DoS) Endereço IP Máscara de sub-rede Windows Firewall Default gateway Comodo DNS Firestarter DHCP NAT No Windows XP No Vista Compartilhamento de arquivos e impressoras Usando o Nmap Usando o Nessus Usando o Wireshark Segurança em redes Wireless ARP poisoning e MAC flooding No Windows XP Usando o Kismet No Vista Quebrando o WEP Vista x Samba Quebrando o WPA ou WPA2 Compartilhamento de conexão e conexões de ponte Comandos Configurando a rede no Linux Ubuntu Fedora Mandriva Acesso a redes Windows Configurando a rede manualmente DHCP Arquivos de configuração Usando um DNS local Acesso discado no Linux Configurando o modem ADSL O básico Conexão Bridge x roteador Roteamento de portas Serviços de DNS Dinâmico Dual WAN routers Acessando via celular Executando com um usuário separado Firewalls Configurando a rede no Windows WiMAX Conectando com um modem USB No Windows No Linux Capítulo 6: Colocando em prática Conectando via Bluetooth No Windows No Linux Dicas para economizar banda Capítulo 3: Redes Wireless Usando o VNC No Windows No Linux Login automático Conexões reversas Usando o Windows Terminal Server (WTS) Ativando o serviço Clientes Windows Clientes Linux Mais dicas Usando o SSH Problemas comuns SSH no Windows Transferindo arquivos Configurando um servidor Linux doméstico Compartilhando a conexão Adicionando um proxy transparente Adicionando um servidor DHCP Servidor de arquivos para a rede local Configurando um servidor Windows Servidor de arquivos DHCP e Wins Servidor DNS Active Directory Configurando um NAS doméstico com o FreeNAS Instalação Configuração inicial Alcance e interferência Serviços e compartilhamentos Padrões RAID 802.11b e 802.11a

802.11g Super G e Afterburner 802.11n Segurança Aumentando o alcance Antenas Calculando a potência de transmissão e de recepção Cabos e conectores Medindo o sinal Usando repetidores Desktop com 3 micros e três monitores

Introdução Como quase tudo na informática, as redes passaram por um longo processo de evolução antes de chegarem aos padrões utilizados atualmente. As primeiras redes de computadores foram criadas ainda durante a década de 60, como uma forma de transferir informações de um computador a outro. Na época, o meio mais usado para armazenamento externo de dados e transporte ainda eram os cartões perfurados, que armazenavam poucas dezenas de caracteres cada (o formato usado pela IBM, por exemplo, permitia armazenar 80 caracteres por cartão). Eles são uma das formas mais lentas, trabalhosas e demoradas de transportar grandes quantidades de informação que se pode imaginar. São, literalmente, cartões de cartolina com furos, que representam os bits um e zero armazenados: De 1969 a 1972 foi criada a Arpanet, o embrião da Internet que conhecemos hoje. A rede entrou no ar em dezembro de 1969, inicialmente com apenas 4 nós, que respondiam pelos nomes SRI, UCLA, UCSB e UTAH e eram sediados, respectivamente, no Stanford Research Institute, na Universidade da California, na Universidade de Santa Barbara e na Universidade de Utah, nos EUA. Eles eram interligados através de links de 50 kbps, criados usando linhas telefônicas dedicadas, adaptadas para o uso como link de dados. Pode parecer pouco, mas 50 kbps em conexões de longa distância era uma velocidade impressionante para a época, principalmente se considerarmos que os modems domésticos da década de 1970 transmitiam a apenas 110 bps (bits por segundo), o que corresponde a apenas 825 caracteres de texto por minuto. Esta rede inicial foi criada com propósitos de teste, com o desafio de interligar 4 computadores de arquiteturas diferentes, mas a rede cresceu rapidamente e em 1973 já interligava 30 instituições, incluindo universidades, instituições militares e empresas. Para garantir a operação da rede, cada nó era interligado a pelo menos dois outros (com exceção dos casos em que isso realmente não era possível), de forma que a rede pudesse continuar funcionando mesmo com a interrupção de várias das conexões. As mensagens eram roteadas entre os nós e eventuais interrupções nos links eram detectadas rapidamente, de forma que a rede era bastante confiável. Enquanto existisse pelo menos um caminho possível, os pacotes eram roteados até finalmente chegarem ao destino, de forma muito similar ao que temos hoje na Internet. Esta ilustração, cortesia do computerhistory.org, mostra o diagrama da Arpanet em 1973:

Em 1974 surgiu o TCP/IP, que acabou se tornando o protocolo definitivo para uso na ARPANET e mais tarde na Internet. Uma rede interligando diversas universidades permitiu o livre tráfego de informações, levando ao desenvolvimento de recursos que usamos até hoje, como o e-mail, o telnet e o FTP, que permitiam aos usuários conectados trocar informações, acessar outros computadores remotamente e compartilhar arquivos. Na época, mainframes com um bom poder de processamento eram raros e incrivelmente caros, de forma que eles acabavam sendo compartilhados entre diversos pesquisadores e técnicos, que podiam estar situados em qualquer ponto da rede. Um dos supercomputadores mais poderosos da época, acessado quase que unicamente via rede, era o Cray-1 (fabricado em 1976). Ele operava a 80 MHz, executando duas instruções por ciclo, e contava com 8 MB de memória, uma configuração que só seria alcançada pelos PCs domésticos quase duas décadas depois. Esta foto do museu da NASA mostra o Cray-1 durante uma manutenção de rotina:

Com o crescimento da rede, manter e distribuir listas de todos os hosts conectados foi se tornando cada vez mais dispendioso, até que em 1980 passaram a ser usados nomes de domínio, dando origem ao "Domain Name System", ou simplesmente DNS, que é essencialmente o mesmo sistema para atribuir nomes de domínio usado até hoje. A segunda parte da história começa em 1973 dentro do PARC (o laboratório de desenvolvimento da Xerox, em Palo Alto, EUA), quando foi feito o primeiro teste de transmissão de dados usando o padrão Ethernet. Por sinal, foi no PARC onde várias outras tecnologias importantes, incluindo a interface gráfica e o mouse, foram originalmente desenvolvidas. O teste deu origem ao primeiro padrão Ethernet, que transmitia dados a 2.94 megabits através de cabos coaxiais e permitia a conexão de até 256 estações de trabalho. Este célebre desenho, feito por Bob Metcalf, o principal desenvolvedor do padrão, ilustra o conceito: O termo "ether" era usado para descrever o meio de transmissão dos sinais em um sistema. No Ethernet original, o "ether" era um cabo coaxial, mas em outros padrões pode ser usado um cabo de fibra óptica, ou mesmo o ar, no caso das redes wireless. O termo foi escolhido para enfatizar que o padrão Ethernet não era dependente do meio e podia ser adaptado para trabalhar em conjunto com outras mídias. Note que tudo isso aconteceu muito antes do lançamento do primeiro micro PC, o que só aconteceu em 1981. Os desenvolvedores do PARC criaram diversos protótipos de estações de trabalho durante a década de 1970, incluindo versões com interfaces gráficas elaboradas (para a época) que acabaram não entrando em produção devido ao custo. O padrão Ethernet surgiu, então, da necessidade natural de ligar estas estações de trabalho em rede.

Xerox Alto (1973), a primeira estação de trabalho e também a primeira a ser ligada em rede. A taxa de transmissão de 2.94 megabits do Ethernet original era derivada do clock de 2.94 MHz usado no Xerox Alto, mas ela foi logo ampliada para 10 megabits, dando origem aos primeiros padrões Ethernet de uso geral. Eles foram então sucessivamente aprimorados, dando origem aos padrões utilizados hoje em dia. A ARPANET e o padrão Ethernet deram origem, respectivamente, à Internet e às redes locais, duas inovações que revolucionaram a computação. Hoje em dia, poderíamos muito bem viver sem processadores dual-core e sem monitores de LCD, mas viver sem a Internet e sem as redes locais seria muito mais complicado. Inicialmente, a ARPANET e o padrão Ethernet eram tecnologias sem relação direta. Uma servia para interligar servidores em universidades e outras instituições e a outra servia para criar redes locais, compartilhando arquivos e impressoras entre os computadores, facilitando a troca de arquivos e informações em ambientes de trabalho e permitindo o melhor aproveitamento dos recursos disponíveis. Afinal, porque ter uma impressora jato de tinta para cada micro, se você pode ter uma única impressora laser, mais rápida e com uma melhor qualidade de impressão para toda a rede? Na década de 1990, com a abertura do acesso à Internet, tudo ganhou uma nova dimensão e as redes se popularizaram de forma assustadora, já que não demorou muito para todos perceberem que ter uma rede local era a forma mais barata de conectar todos os micros da rede à Internet. Há apenas uma década, o acesso via linha discada ainda era a modalidade mais comum e não era incomum ver empresas onde cada micro tinha um modem e uma linha telefônica, o que multiplicava os custos. Nessas situações, locar uma linha de frame relay (uma conexão dedicada de 64 kbits, que é na verdade uma fração de uma linha T1) e compartilhar a conexão entre todos os micros acabava saindo mais barato, além de permitir que todos eles ficassem permanentemente conectados. Com a popularização das conexões de banda larga, a escolha ficou ainda mais evidente. Hoje em dia, quase todo mundo que possui mais de um PC em casa acaba montando uma pequena rede para compartilhar a conexão entre eles, seja usando um modem ADSL configurado como roteador, seja usando um ponto de acesso wireless, seja usando um cabo cross-over para compartilhar diretamente a conexão entre dois micros. É muito difícil encontrar uma placa-mãe que já não venha com uma placa de rede onboard, ou um notebook que não traga uma placa wireless pré-instalada. O acesso à web se tornou tão ubíquo que é cada vez mais difícil encontrar utilidade para um PC desconectado da rede. Além disso, as redes continuam cumprindo seu papel como uma forma de compartilhar recursos entre diversos micros, permitindo que você acesse arquivos, use impressoras, CD-ROMs e outros dispositivos e rode aplicativos remotamente. Você pode usar um notebook como segundo monitor, usando-o como uma extensão da tela do seu desktop (mesmo que os dois rodem sistemas operacionais diferentes), pode usar um micro antigo como servidor de arquivos para a rede ou dar-lhe uma sobrevida como desktop, usando-o como terminal de um micro mais rápido; pode usar um proxy transparente para melhorar a velocidade do acesso à web, só para citar alguns exemplos. Como veremos ao longo do livro, as possibilidades são praticamente infinitas. :)» Próximo: A evolução do cabeamento

A evolução do cabeamento Atualmente, as redes Ethernet de 100 megabits (Fast Ethernet) e 1000 megabits (Gigabit Ethernet) são as mais usadas. Ambos os padrões utilizam cabos de par trançado categoria 5 ou 5e, que são largamente disponíveis, o que facilita a migração de um para o outro. As placas também são intercompatíveis: você pode perfeitamente misturar placas de 100 e 1000 megabits na mesma rede, mas, ao usar placas de velocidades diferentes, a velocidade é sempre nivelada por baixo, ou seja, as placas Gigabit são obrigadas a respeitar a velocidade das placas mais lentas. Antes deles, tivemos o padrão de 10 megabits, que também foi largamente usado (e ainda pode ser encontrado em algumas instalações) e, no outro extremo, já está disponível o padrão de 10 gigabits (10G), mil vezes mais rápido que o padrão original. Tal evolução demandou também melhorias no cabeamento da rede. As primeiras redes Ethernet utilizavam cabos thicknet, um tipo de cabo coaxial grosso e pouco flexível, com 1 cm de diâmetro. Um único cabo era usado como backbone para toda a rede e as estações eram conectadas a ele através de transceptores, também chamados de "vampire taps" ou "derivadores vampiros", nome usado porque o contato do transceptor perfurava o cabo thicknet, fazendo contato com o fio central. O transceptor era então ligado a um conector AUI de 15 pinos na placa de rede, através de um cabo menor:

Este era essencialmente o mesmo tipo de cabeamento utilizado no protótipo de rede Ethernet desenvolvido no PARC, mas continuou sendo usado durante a maior parte da década de 80, embora oferecesse diversos problemas práticos, entre eles a dificuldade em se lidar com o cabo central, que era pesado e pouco flexível, sem falar no custo dos transceptores. Estas redes eram chamadas de 10BASE-5, sigla que é a junção de 3 informações. O "10" se refere à velocidade de transmissão, 10 megabits, o "BASE" é abreviação de "baseband modulation", o que indica que o sinal é transmitido diretamente, de forma digital (sem o uso de modems, como no sistema telefônico), enquanto o "5" indica a distância máxima que o sinal é capaz de percorrer, nada menos do que 500 metros. As redes 10BASE-5 logo deram origem às redes 10BASE-2, ou redes thinnet, que utilizavam cabos RG58/U, bem mais finos. O termo "thinnet" vem justamente da palavra "thin" (fino), enquanto "thicknet" vem de "thick" (espesso). Nelas, os transceptores foram miniaturizados e movidos para dentro das próprias placas de rede e a ligação entre as estações passou a ser feita usando cabos mais curtos, ligados por um conector em forma de T. Ele permitiu que as estações fossem ligadas diretamente umas às outras, transformando os vários cabos separados em um único cabo contínuo: Nas duas extremidades eram usados terminadores, que fecham o circuito, evitando que os sinais que chegam ao final do cabo retornem na forma de interferência:

Apesar da importância, os terminadores eram dispositivos passivos, bastante simples e baratos. O grande problema era que, se o cabo fosse desconectado em qualquer ponto (no caso de um cabo rompido, ou com mal contato, por exemplo), toda a rede saía fora do ar, já que era dividida em dois segmentos sem terminação. Como não eram usados leds nem indicadores de conexão, existiam apenas duas opções para descobrir onde estava o problema: usar um testador de cabos (um aparelho que indicava com precisão em que ponto o cabo estava rompido, mas que era caro e justamente por isso incomum aqui no Brasil) ou sair testando ponto por ponto, até descobrir onde estava o problema. Temos aqui o conector BNC, incluindo a ponteira e a bainha, o conector T e o terminador, que, junto com o cabo coaxial, eram os componentes básicos das redes 10BASE-2: Os cabos podiam ser crimpados na hora, de acordo com o comprimento necessário, usando um alicate especial. A crimpagem consistia em descascar o cabo coaxial, encaixá-lo dentro do conector, crimpar a ponteira, de forma a prender o fio central e em seguida crimpar a bainha, prendendo o cabo ao conector BNC. Assim como os alicates para crimpagem de cabos de par trançado que são vendidos atualmente, os alicates de crimpagem de cabos coaxiais não eram muito caros. Em 1997 você podia comprar um alicate simples por menos de 50 reais. Hoje em dia provavelmente custaria mais caro, já que poucas lojas ainda os comercializam:

Descascador de cabos coaxiais (à esquerda) e alicate de crimpagem. Apesar de ainda ser muito susceptível a problemas, o cabeamento das redes 10BASE-2 era muito mais simples e barato do que o das redes 10BASE-5, o que possibilitou a popularização das redes, sobretudo em empresas e escritórios. Se você tiver acesso a alguns micros 386 ou 486 antigos, é provável que encontre placas de rede que ainda incluem o conector AUI (para redes 10BASE-5), como essa: Esta placa da foto é uma placa ISA de 10 megabits, que além do conector AUI, inclui o conector BNC para cabos coaxiais thinnet e o conector RJ45 para cabos de par trançado atuais. Estas placas foram muito usadas durante o início da década de 1990, o período de transição entre os três tipos de cabeamento. Naturalmente, apesar dos três conectores estarem presentes, você só podia utilizar um de cada vez. A vantagem era que você podia migrar dos cabos coaxiais para os cabos de par trançado trocando apenas o cabeamento, sem precisar trocar as placas de rede. A única desvantagem das redes thinnet em relação às thicknet é que o uso de um cabo mais fino reduziu o alcance máximo da rede, que passou a ser de apenas 185 metros, o que de qualquer forma era mais do que suficiente para a maioria das rede locais. Por incrível que possa parecer, o obsoleto padrão 10BASE-5 foi o padrão Ethernet para fios de cobre com o maior alcance até hoje, com seus 500 metros. Apenas os padrões baseados em fibra óptica são capazes de superar esta marca. Continuando, independentemente do tipo, os cabos coaxiais seguem o mesmo princípio básico, que consiste em utilizar uma camada de blindagem para proteger o cabo central de interferências eletromagnéticas presentes no ambiente. Quanto mais espesso o cabo e mais grossa é a camada de blindagem, mais eficiente é o isolamento, permitindo que o sinal seja transmitido a uma distância muito maior:

Os cabos coaxiais a muito deram lugar aos cabos de par trançado, que são praticamente os únicos usados em redes locais atualmente. Além de serem mais finos e flexíveis, os cabos de par trançado suportam maiores velocidades (podem ser usados em redes de 10, 100 ou 1000 megabits, enquanto os cabos coaxiais são restritos às antigas redes de 10 megabits) e são ainda por cima mais baratos: Apesar disso, os cabos coaxiais estão longe de entrar em desuso. Além de serem usados nos sistemas de TV a cabo e em outros sistemas de telecomunicação, eles são usados em todo tipo de antenas, incluindo antenas para redes wireless. Até mesmo os conectores tipo N, tipicamente usados nas antenas para redes wireless de maior ganho são descendentes diretos dos conectores BNC usados nas redes 10BASE-2. Como pode ver, muitas tecnologias que pareciam ser coisa do passado, acabam retornando de formas imprevisíveis. :) Existem diversas categorias de cabos de par trançado (como veremos em detalhes no próximo capítulo), que se diferenciam pela qualidade e pelas freqüências suportadas. Por exemplo, cabos de categoria 3, que são largamente utilizados em instalações telefônicas podem ser usados em redes de 10 megabits, mas não nas redes de 100 e 1000 megabits atuais. Da mesma forma, os cabos de categoria 5e que usamos atualmente não são adequados para as redes de 10 gigabits, que demandam cabos de categoria 6, ou 6a. Todos eles utilizam o mesmo conector, o RJ-45,

mas existem diferenças de qualidade entre os conectores destinados a diferentes padrões de cabos. Os sucessores naturais dos cabos de par trançado são os cabos de fibra óptica, que suportam velocidades ainda maiores e permitem transmitir a distâncias praticamente ilimitadas, com o uso de repetidores. Os cabos de fibra óptica são usados para criar os backbones que interligam os principais roteadores da Internet. Sem eles, a grande rede seria muito mais lenta e o acesso muito mais caro. Backbones de fibra óptica interligando países da Ásia. Apesar disso, os cabos de fibra óptica ainda são pouco usados em redes locais, devido sobretudo à questão do custo, tanto dos cabos propriamente ditos, quanto das placas de rede, roteadores e demais componentes necessários. Apesar de tecnicamente inferiores, os cabos de par trançado são baratos, fáceis de trabalhar e tem resistido ao surgimento de novos padrões de rede. Durante muito tempo, acreditou-se que os cabos de par trançado ficariam limitados às redes de 100 megabits e, conforme as redes gigabit se popularizassem eles entrariam em desuso, dando lugar aos cabos de fibra óptica. Mas a idéia caiu por terra com o surgimento do padrão de redes gigabit para cabos de par trançado que usamos atualmente. A história se repetiu com o padrão 10 gigabit (que ainda está em fase inicial de adoção), que inicialmente previa apenas o uso de cabos de fibra óptica. Contrariando todas as expectativas, conseguiram levar a transmissão de dados em fios de cobre ao limite, criando um padrão de 10 gigabits para cabos de par trançado. Como demora pelo menos uma década para um novo padrão de redes se popularizar (assim foi com a migração das redes de 10 megabits para as de 100 e agora das de 100 para as de 1000), os cabos de par trançado têm sua sobrevivência assegurada por pelo menos mais uma década. Cabos de fibra óptica multimodo. Continuando, temos as redes wireless, que possuem uma origem ainda mais antiga. Por incrível que possa parecer, a primeira rede wireless funcional, a ALOHAnet, entrou em atividade em 1970, antes mesmo do surgimento da Arpanet. Ela surgiu da necessidade de criar linhas de comunicação entre diferentes campus da universidade do Havaí, situados em ilhas diferentes. Na época, a estrutura de comunicação era tão precária que a única forma de comunicação era mandar mensagens escritas de barco, já que, devido à distância, não existiam sequer linhas de telefone.

A solução encontrada foi usar transmissores de rádio amador, que permitiam que nós situados nas diferentes ilhas se comunicassem com um transmissor central, que se encarregava de repetir as transmissões, de forma que elas fossem recebidas por todos os demais. A velocidade de transmissão era muito baixa, mas a rede funcionava, o que era o mais importante. Como todos os transmissores operavam na mesma frequência, sempre que dois nós tentavam transmitir ao mesmo tempo, acontecia uma colisão e ambas as transmissões precisavam ser repetidas, o que era feito automaticamente depois de um curto espaço de tempo. Este mesmo problema ocorre nas redes wireless atuais, que naturalmente incorporam mecanismos para lidar com ele. Voltando aos dias de hoje, vinte e oito anos depois da ALOHAnet, as redes wireless se tornaram incrivelmente populares, pois permitem criar redes locais rapidamente, sem necessidade de espalhar cabos pelo chão. Além da questão da praticidade, usar uma rede wireless pode em muitos casos sair mais barato, já que o preço de centenas de metros de cabo, combinado com o custo da instalação, pode superar em muito a diferença de preço no ponto de acesso e nas placas. Existem dois tipos de redes wireless. As redes em modo infra-estrutura são baseadas em um ponto de acesso ou um roteador wireless, que atua como um ponto central, permitindo a conexão dos clientes. As redes ad-hoc por sua vez são um tipo de rede mesh, onde as estações se comunicam diretamente, sem o uso de um ponto de acesso. Embora tenham um alcance reduzido, as redes ad-hoc são uma forma prática de interligar notebooks em rede rapidamente, de forma a compartilhar a conexão ou jogar em rede. Como todos os notebooks hoje em dia possuem placas wireless integradas, criar uma rede ad-hoc pode ser mais rápido do que montar uma rede cabeada. O alcance típico dos pontos de acesso domésticos são 33 metros em ambientes fechados e 100 metros em campo aberto. Apesar disso, é possível estender o sinal da rede por distâncias muito maiores, utilizando pontos de acesso e placas com transmissores mais potentes ou antenas de maior ganho (ou ambas as coisas combinadas). Desde que exista um caminho livre de obstáculos, não é muito difícil interligar redes situadas em dois prédios diferentes, a 5 km de distância, por exemplo. Por outro lado, o sinal é facilmente obstruído por objetos metálicos, paredes, lajes e outros obstáculos, além de sofrer interferência de diversas fontes. Devido a isso, você deve procurar sempre instalar o ponto de acesso em um ponto elevado do ambiente, de forma a evitar o maior volume possível de obstáculos. Se a idéia é permitir que seu vizinho da frente capte o sinal, então o melhor é instalar o ponto de acesso perto da janela, caso contrário o ideal é instalá-lo em uma posição central, de forma que o sinal se propague por todo o ambiente, oferecendo uma boa cobertura em qualquer parte da casa, ou do escritório, ao mesmo tempo em que pouco sinal vaze para fora. O primeiro padrão a se popularizar foi o 802.11b, que operava a apenas 11 megabits. Ele foi seguido pelo 802.11g, que opera a 54 megabits e pelo 802.11n, que oferece até 300 megabits. Apesar disso, as redes wireless trabalham com um overhead muito maior que as cabeadas, devido à modulação do sinal, colisões e outros fatores, de forma que a velocidade real acaba sendo um pouco menos da metade do prometido. Além disso, a velocidade máxima é obtida apenas enquanto o sinal está bom e existe apenas um micro transmitindo. Conforme o sinal fica mais fraco, ou vários micros passam a transmitir simultaneamente, a velocidade vai decaindo. É por isso que algumas redes wireless acabam sendo tão lentas.» Próximo: Padrões

Padrões Existem diversos padrões Ethernet, que são utilizados pela maioria das tecnologias de rede local em uso; das placas mais baratas às redes wireless. Estes padrões definem em detalhes a forma como os dados são organizados e transmitidos, permitindo que produtos de diferentes fabricantes funcionam perfeitamente em conjunto e são desenvolvidos pelo IEEE (Institute of Electrical and Electronics Engineers), que é provavelmente a maior organização profissional sem fins lucrativos que existe atualmente. O IEEE é o responsável por um grande número de padrões relacionados a comunicações, eletricidade, computação e tecnologia em geral. O grupo responsável pelos padrões de rede é o "IEEE 802 LAN/MAN Standards Committee", que é por sua vez subdividido em grupos de trabalho menores, que recebem números sequenciais. Dentre eles, os quatro mais importantes são: 802.3: Este é o grupo responsável pelos diferentes padrões de redes Ethernet cabeadas, que inclui os algoritmos usados para a transmissão dos dados, detecção de colisões e outros detalhes. Existem diversos padrões Ethernet, que se diferenciam pela velocidade e pelo tipo de cabeamento usado. Por exemplo, o 10BASE-2 é o padrão de 10 megabits antigo, que utiliza cabos coaxiais, enquanto o 10BASE-T é o padrão de 10 megabits para cabos de par trançado. Em seguida temos o 100BASE-T e o 1000BASE-T, que são, respectivamente, os padrões de 100 e 1000 megabits para cabos de par trançado. Embora menos usados, também existem padrões para cabos de fibra óptica, que são popularmente utilizados para criar backbones, interligando duas redes distantes. Um dos grandes méritos do padrão Ethernet é que todos os padrões são intercompatíveis. Você pode juntar placas de velocidades diferentes na mesma rede e até mesmo misturar segmentos de rede com cabeamento diferente usando bridges. Nesses casos, as transferências entre nós de velocidades diferentes são feitas respeitando a velocidade do mais lento, mas a rede continua funcionando perfeitamente. Na época da transição das redes com cabos coaxiais para as de par trançado, por exemplo, era comum o uso de hubs que combinavam portas para cabos de par trançado e um conector BNC, para o segmento com cabo coaxial. Estes hubs agiam como bridges, juntando as duas redes. Veremos tudo isso em mais detalhes no capítulo 1, dedicado ao cabeamento da rede e aos diferentes tipos de dispositivos usados. 802.11: Este é o grupo de trabalho para redes wireless, responsável pelos padrões 802.11b, 802.11a, 802.11g, 802.11i, 802.11n e outros. Com a popularização das redes wireless, o 802.11 se tornou um dos grupos de trabalho mais importantes. No 802.11b a rede opera a 11 megabits, utilizando a faixa de freqüência dos 2.4 GHz, no 802.11a opera a 54 megabits, utilizando a faixa dos 5 GHz (menos sujeita à interferência), no 802.11g opera a 54 megabits utilizando a faixa dos 2.4 GHz (o que preserva a compatibilidade com o 802.11b), enquanto o 802.11n opera a até 300 megabits, com opção de utilizar a faixa dos 2.4 GHz ou dos 5 GHz. Além de desenvolver padrões mais rápidos e mais acessíveis, o grupo se dedica a outra tarefa tão ou mais importante, que é o desenvolvimento de padrões de segurança, um dos problemas fundamentais das redes wireless. Como o sinal é transmitido através do ar, não existe como impedir que outras pessoas interceptem as transmissões, tudo o que você pode fazer é embaralhar o conteúdo, de forma que ele não seja legível. É aí que entra o 802.11i, um padrão de segurança, que engloba o WPA e o WPA2, os sistemas de encriptação utilizados para proteger a rede. Estudaremos os aspectos técnicos e a configuração das redes wireless em detalhes no capítulo 3. 802.15.1: Este é o padrão referente ao Bluetooth, que, apesar de ser mais usado em celulares e headsets, também é considerado um padrão de redes sem fio. A característica fundamental do Bluetooth é que os transmissores consomem pouca energia, o que permite que sejam usados em dispositivos muito pequenos. 802.16: Assim como o 802.11, o 802.16 também é um grupo de trabalho dedicado ao desenvolvimento de redes wireless. A diferença entre os dois é que o 802.11 desenvolve padrões para redes domésticas, enquanto o 802.16 trabalha no desenvolvimento de redes de longa distância, que podem ser usadas para oferecer acesso à web em grandes cidades, entre outras aplicações. O principal padrão produzido por ele é o WiMAX, que é um forte candidato a substituir as atuais redes 3G oferecidas pelas operadoras de telefonia celular no fornecimento de acesso à web nas grandes cidades. Embora não sejam exatamente uma leitura didática, você pode obter os textos completos da maior parte dos padrões no http://ieee802.org.» Próximo: ARCNET e Token Ring

ARCNET e Token Ring Hoje em dia, "Ethernet" é quase sinônimo de rede. Por ser um padrão aberto, qualquer fabricante pode fabricar placas e outros componentes de rede e desenvolver soluções, o que aumenta a concorrência e o volume produzido, derrubando os preços. Dentro do cenário atual, desenvolver padrões proprietários de rede não faz muito sentido, pois além de produzir as placas o fabricante precisaria arcar com todos os custos relacionados ao desenvolvimento e à divulgação da tecnologia. Mas, nem sempre foi assim. Durante a década de 1980 o padrão Ethernet disputava a supremacia com dois padrões então proprietários, o ARCNET e o Token Ring. Apesar de atualmente ambos serem ilustres desconhecidos, citados apenas em textos de referência histórica, eles tiveram sua época de glória. O ARCNET chegou a ser mais popular que o Ethernet e o Token Ring chegou perto de dominar as redes corporativas. O ARCNET é o mais antigo, ele foi desenvolvido em 1976 e as primeiras placas e hubs chegaram ao mercado em 1977, a custos relativamente baixos para os padrões da época. As redes ARCNET utilizam uma topologia de estrela, que lembra bastante as das redes atuais, com o uso de um hub central e um cabo individual entre ele e cada estação. A principal diferença é que eram utilizados cabos coaxiais RG62/U e não cabos de par trançado. Esta arquitetura era mais flexível que a dos primeiros padrões Ethernet, que ainda utilizavam uma arquitetura de barramento, com um cabo compartilhado. Temos aqui uma placa ARCNET ISA e um hub de 8 portas para cabos coaxiais: No ARCNET os cabos podiam ter até 610 metros, mais do que em qualquer padrão Ethernet para fios de cobre e, durante muito tempo, as placas ARCNET foram mais baratas, o que fez com que a arquitetura fosse bastante popular até perto do final da década de 1980. Os dois grandes problemas do ARCNET eram a baixa taxa de transferência, apenas 2.5 megabits, e o fato do padrão ser proprietário, o que limitou o número de fabricantes produzindo equipamentos e impediu que os preços caíssem na mesma velocidade que os Ethernet. Eventualmente, o padrão foi aberto, dando origem ao ANSI ARCNET 878.1. Surgiram então mais opções de cabeamento, incluindo o uso de cabos de par trançado categoria 2 e cabos de fibra óptica e, em 1999, foi lançado um padrão atualizado, o ARCNET Plus, que transmitia a 20 megabits. Apesar disso, o ARCNET foi rapidamente substituído pelas redes Ethernet de 10 megabits e o lançamento do padrão de 100 megabits em 1995 acabou com qualquer chance de resistência. O padrão Token Ring foi desenvolvido pela IBM no início da década de 1980 e também concorreu com os padrões Ethernet 10BASE-5 e 10BASE-2. A IBM chegou a investir pesado no padrão, o que fez com que ele se tornasse popular no ambiente corporativo, embora ele seja pouco conhecido no Brasil, já que na época o país ainda estava sob a reserva de mercado.

Em 1985 o IEEE desenvolveu um padrão para redes Token Ring, o IEEE 802.5, que era compatível com o padrão da IBM. Apesar disso, a IBM manteve seu padrão proprietário, continuando a desenvolvê-lo de forma separada do padrão do IEEE. Apenas em 1992, quando as redes Token Ring já estavam em declínio, a IBM passou a licenciar a tecnologia para outros fabricantes. No Token Ring é usada uma topologia física de estrela, com as estações sendo ligadas a hubs centrais (que no Token Ring são chamados de "MAUs", abreviação de "Multistation Access Units") através de cabos de par trançado. Os MAUs tinham tipicamente 10 portas, sendo 8 para as estações e duas para a ligação com outros MAUs: A primeira porta era ligada ao MAU seguinte, que por sua vez era ligado ao terceiro usando a segunda porta, formando uma cadeia. A segunda porta do último MAU era então ligada ao primeiro, formando um anel. Apesar do uso de cabos de par trançado, a IBM optou por utilizar cabos blindados e um conector quadrado agigantado, chamado de "IBM data connector". Como o conector era muito grande (media cerca de 3 x 3 cm), os cabos utilizavam o conector IBM do lado do MAU (hub) e utilizavam um conector DB9 (o mesmo utilizado nas portas seriais) do lado da estação. Apenas os cabos destinados a interligarem os MAUs utilizavam o conector IBM dos dois lados do cabo: Mais tarde, a IBM adicionou a possibilidade de utilizar cabos de par trançado sem blindagem com conectores RJ-45 para ligar as estações ao MAU, mas ao utilizá-los o comprimento máximo dos cabos e o número máximo de estações eram reduzidos. Embora os MAUs fossem dispositivos burros, que simplesmente encaminhavam as transmissões para todas as estações da rede, as colisões eram evitadas usando um sistema de token, onde um frame especial, de 3 bytes, era continuamente transmitido de uma estação à outra, uma de cada vez. Para transmitir, a estação esperava a chegada do token, enviada um frame de dados, transmitia o token à estação seguinte, esperava até recebê-lo novamente, transmitia o segundo frame e assim por diante.

Este sistema de transmissão simulava um cabeamento em forma de anel, como se uma estação estivesse diretamente ligada à seguinte. Devido a isso, é comum dizer que as redes Token Ring combinam uma topologia física de estrela e uma topologia lógica de anel. O uso do token aumentava a latência das transmissões (já que a estação precisa esperar sua vez antes de começar a transmitir), mas eliminava as colisões de pacotes, o que melhorava consideravelmente o desempenho em redes congestionadas. Apesar disso, as redes Token Ring trabalhavam a apenas 4 megabits, de forma que, embora usassem um sistema de transmissão muito menos refinado, as redes Ethernet de 10 megabits ganhavam na base da força bruta. Em 1989 foi lançado o padrão Token Ring de 16 megabits, o que fez com que as redes Token Ring passassem a ser consideravelmente mais rápidas que as Ethernet. Apesar da vantagem técnica, a introdução do padrão 10BASE-T (com cabos de par trançado) fez com que as redes Ethernet se popularizassem rapidamente, já que eram brutalmente mais baratas. Como eram mais caras e utilizavam um padrão mais complexo, as redes Token Ring continuaram perdendo terreno, processo que se acelerou com o lançamento do padrão Ethernet de 100 megabits e com a popularização dos switches Ethernet, que praticamente eliminam o problema das colisões, anulando, assim, a principal vantagem do Token Ring. Em 1994, a própria IBM jogou a toalha e passou a migrar toda a sua linha de produtos para o padrão Ethernet, mantendo apenas uma estrutura mínima de suporte para atender os clientes com redes Token Ring. Hoje em dia é quase impossível encontrar referências ao Token Ring dentro do site ou da documentação técnica da IBM, embora algumas empresas menores ainda produzam placas e MAUs em pequena escala, atendendo às empresas que ainda possuem redes Token Ring instaladas.» Próximo: Uma rápida explicação do modelo OSI

Uma rápida explicação do modelo OSI Imagine que o objetivo de uma rede é simplesmente transportar os bits uns e zeros usados pelos programas de um ponto a outro. Da mesma forma que as trilhas da placa-mãe transportam informações do processador para a memória RAM, os cabos de par trançado da rede (ou os transmissores de rádio das redes wireless) permitem transportar as mesmas informações de um PC a outro. Do ponto de vista do aplicativo, faz pouca diferença acessar um arquivo gravado diretamente no HD ou acessá-lo a partir de um compartilhamento dentro da rede, ou na Internet. Em ambos os casos, o próprio sistema operacional (com a ajuda do TCP/IP e das demais camadas que formam a rede) é quem acessa o arquivo e o entrega completo ao programa. Entra em cena, então, o famoso modelo OSI, que tenta explicar o funcionamento da rede, dividindo-a em 7 camadas: 7- Aplicação (aqui está o programa, que envia e recebe dados através da rede) 6- Apresentação 5- Sessão 4- Transporte (aqui entra o protocolo TCP e o sistema operacional, que controla a transmissão dos dados, detectando problemas na transmissão e corrigindo erros) 3- Camada de Rede (aqui está o protocolo IP) 2- Link de dados (aqui estão as placas de rede e os switches) 1- Camada Física (aqui estão os cabos e os hubs) Embora seja apenas um modelo teórico, que não precisa necessariamente ser seguido à risca pelos protocolos de rede, o modelo OSI é interessante, pois serve como deixa para explicar diversos aspectos teóricos do funcionamento da rede. Existem livros e cursos dedicados inteiramente ao assunto, que tentam explicar tudo detalhadamente, classificando cada coisa dentro de uma das camadas, mas na verdade entender o modelo OSI não é tão difícil assim. Tudo começa com o aplicativo que precisa acessar alguma informação na rede. Digamos que você abriu o navegador e está acessando o http://guiadohardware.net. Estamos na camada 7 (aplicação), onde o programa simplesmente solicita os arquivos para o sistema operacional, sem se preocupar com o que precisa ser feito para obtê-lo. É como quando você compra um produto em uma loja online: você não está preocupado com a logística envolvida, sabe apenas que daqui a dois dias o produto vai chegar na sua casa via sedex. Ao receber a solicitação, o sistema operacional abre uma sessão (camada 5). Ela funciona de uma forma semelhante a um ticket de suporte: é aberta ao receber a solicitação e fechada apenas quando o problema é resolvido, ou seja, quando o programa recebe de volta os dados que solicitou. Como um bom atendente, o sistema operacional ficará de prontidão durante todo o processo, aguardando a resposta do servidor e verificando se todos os arquivos chegaram corretamente ao aplicativo. Caso necessário, ele solicita retransmissões dos pacotes que se perderam e, caso eventualmente não seja possível atender a solicitação (a conexão está fora do ar, por exemplo), ele reporta o erro ao aplicativo, que exibe então alguma mensagem de erro, avisando do problema. Depois de abrir a sessão, o sistema "vai à luta": verifica qual é o endereço IP do site, qual protocolo será usado e outras informações necessárias, para então enviar a requisição ao servidor que hospeda o site, solicitando o envio dos arquivos que compõem a página. Aqui já estamos na camada 4 (transporte), onde o sistema operacional faz o trabalho do atendente, que faz o pedido para a central de distribuição, contendo o item que será entregue e o endereço de destino. Você pode se perguntar o que aconteceu com a camada 6. Não a citei no exemplo porque ela nem sempre é usada. Ela funciona como uma camada extra, que é usada quando é necessário fazer algum trabalho adicional. Um exemplo de uso para a camada 6 são os túneis encriptados criados usando o SSH (que permite acessar máquinas rodando Linux ou outros sistemas Unix remotamente, de forma segura). Eles fazem com que os dados sejam transmitidos de forma encriptada pela rede, aumentando a segurança de forma transparente tanto para o aplicativo quanto para o sistema operacional. Chegamos então à camada 3 (rede), onde entra em ação o endereçamento IP. A requisição é transformada em um pacote de dados e endereçada ao endereço IP do servidor do guiadohardware.net. É como se, em vez de usar e-mail ou telefone, o pedido precisasse ser enviado via carta à central de distribuição, que responderia enviando o produto. O sistema operacional atua como o atendente que faz o pedido (camada 4, transporte) e verifica o status do envio (camada 5, sessão). O TCP/IP (camadas 4 e 3) seria representado, no exemplo, pelo trabalho dos correios, incluindo o envelope que contém os endereços do remetente e do destinatário. Uma observação importante sobre o TCP/IP é que ele é, na verdade, composto por dois protocolos. O "TCP" trabalha no nível 4, auxiliando o sistema operacional na criação, no envio e na checagem dos pacotes, enquanto o "IP" trabalha no nível 3 e é responsável pelo endereçamento. Os dois trabalham em conjunto, como se fossem uma coisa só, muito embora sejam dois protocolos separados. Voltando à explicação, depois de criado e endereçado corretamente, o pacote é transportado através da rede local, passando pela placa de rede, pelos cabos e pelo hub (ou switch), até chegar ao gateway da rede e, a partir daí, à Internet. É nesta fase que chegamos às camadas 1 e 2, onde é feito o trabalho pesado. Em primeiro lugar, a placa de rede não entende pacotes TCP/IP, é por isso que ela é chamada de "placa Ethernet" e não "placa TCP/IP". Ela não sabe nem mesmo diferenciar um endereço IP do outro. Tudo o que ela conhece são endereços MAC (os endereços físicos das placas de rede, gravados ainda em fábrica). Para despachar o pacote pela rede local (de forma que ele chegue até o gateway), ela o transforma em um "frame", contendo o endereço MAC da placa destino. É como se ela colocasse o envelope original dentro de outro, que usa um endereçamento mais simples. Os endereços MAC são endereços de 48 bits, representados através de 12 dígitos hexadecimais (conjunto que engloba os caracteres 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E e F), como em "00:15:00:4B:68:DB". Os endereços MAC são gravados na ROM da própria placa, durante sua fabricação e, a menos que intencionalmente modificado, cada placa de rede possui um endereço MAC diferente. É como no

dinheiro: duas cédulas só possuem o mesmo número de série se pelo menos uma delas for falsa. Além do endereço de origem e de destino, o frame inclui 32 bits de CRC, que são usados pela placa de destino para verificar a integridade do frame recebido. Sempre que um frame chega corrompido, a placa solicita sua retransmissão, de forma a garantir que os dados recebidos são sempre os mesmos que foram enviados. O frame é então desmontado e os dados (o pacote TCP) são entregues ao sistema operacional. Este sistema permite que as redes Ethernet sejam usadas em redes com qualquer protocolo, sem ficarem restritas ao TCP/IP. A rede age como uma camada genérica de transporte, com suas próprias regras, que se limita a transportar informações de um ponto a outro, sem tentar entender o conteúdo dos pacotes. Embora os termos "frame" e "pacote" sejam freqüentemente usados como sinônimos, ao longo do livro procurarei manter o uso da designação correta, usando o termo "pacote" quando estiver me referindo aos pacotes TCP e o termo "frame" quando estiver me referindo às transmissões das placas de rede. Hoje em dia, o TCP/IP é o protocolo dominante, mas antigamente ele concorria com um grande número de outros protocolos de rede, como o NetBEUI e IPX/SPX. Graças à neutralidade das redes Ethernet, não era necessário alterar o cabeamento da rede ao mudar de protocolo, tudo o que você precisava fazer era mudar a configuração do sistema operacional. Era possível até mesmo manter vários protocolos diferentes instalados. Outra peculiaridade do sistema Ethernet é a forma como os dados são transmitidos. Hoje em dia, quase todas as redes locais utilizam cabos de par trançado, mas quando o padrão Ethernet foi criado, as redes ainda utilizavam cabos coaxiais, onde todas as estações eram ligadas no mesmo cabo. Porém, graças às origens, as redes Ethernet utilizam até hoje uma topologia lógica de barramento: independentemente da forma como os micros estão fisicamente interligados, eles se comportam como se estivessem todos ligados no mesmo cabo: Como apenas uma estação pode falar de cada vez, antes de transmitir dados a estação irá "ouvir" o cabo. Se perceber que nenhuma estação está transmitindo, enviará sua transmissão, caso contrário, esperará até que o cabo esteja livre. Este processo é chamado de "Carrier Sense" ou "Sensor Mensageiro": Contudo, quando duas estações ouvem o cabo ao mesmo tempo, ambas acabam percebendo que o cabo está livre e enviam seus frames simultaneamente. Temos, então, uma colisão de dados. Para lidar com as colisões e permitir que a rede funcione apesar delas, foi implantado o sistema CSMA-CD ou "Carrier Sense Multiple Access with Collision Detection", que, apesar do nome pomposo, funciona de forma relativamente simples. Para detectar as colisões, as estações monitoram as transmissões no cabo enquanto transmitem. Ao perceber que outra estação está transmitindo ao mesmo tempo, ela imediatamente pára de transmitir e gera um sinal de interferência, que elimina todos os dados que estiverem trafegando pelo cabo e ao mesmo tempo avisa as demais estações de que uma colisão ocorreu e que todas devem parar de transmitir. Entra em cena então o algoritmo Binary Exponential Backoff, destinado a evitar que as estações voltem a tentar transmitir simultaneamente, entrando em um loop eterno de colisões e retransmissões. O sistema é baseado em slots de tempo, cada um com 51.2 microssegundos, valor que corresponde ao tempo máximo que o sinal demora para percorrer o cabo e se propagar para todas as demais estações em uma rede montada dentro dos padrões. Inicialmente, as estações escolhem entre voltar a transmitir imediatamente ou esperar 1 slot de tempo antes de voltar a retransmitir.

Se houver duas estações envolvidas, a possibilidade de haver uma nova colisão é de 50%, de forma que as estações já ficam de sobreaviso. Se uma nova colisão ocorre, o número de possibilidades é dobrado e elas passam a escolher entre esperar 0 e 3 slots de tempo, reduzindo a possibilidade para 25%. Se as colisões continuarem ocorrendo, o volume de combinações vai crescendo exponencialmente, até chegar a 1024 possibilidades (de 0 a 1023 slots de tempo), na décima tentativa, que é o valor máximo permitido pelo algoritmo. São feitas então mais 6 tentativas usando o valor máximo. Caso as colisões persistam (o que é quase impossível, a menos que exista algum problema de hardware em uma das placas ou no hub), a retransmissão é abortada e o erro é reportado ao sistema operacional. Você recebe então um erro de "conexão encerrada" ou similar. Em situações normais, as estações conseguem transmitir na segunda ou terceira tentativa, o que causa uma perda de tempo relativamente pequena. As colisões são uma ocorrência absolutamente normal e esperada. O problema é que em redes com muitas estações, as colisões podem reduzir bastante o desempenho da rede. A solução nesses casos é dividir a rede em segmentos menores, interligados por bridges, switches ou roteadores, como veremos em detalhes no capítulo 1. Pode parecer estranho estar falando sobre os cabos coaxiais que, felizmente, deixamos de usar há mais de uma década, mas esses mesmos princípios continuam válidos nas redes wireless, onde todos os micros estão ligados no mesmo "cabo" (o ar) e as transmissões de todos os micros da rede são recebidas por todos os demais, de forma que as colisões de pacotes são frequentes, assim como nas antigas redes com cabo coaxial. Nas redes wireless, as colisões não se limitam aos micros da sua própria rede, mas a todos os participantes de redes próximas, que estejam operando na mesma faixa de frequência. Como você pode imaginar, isso pode rapidamente se tornar um problema em regiões densamente povoadas, como em centros financeiros e em grandes conjuntos habitacionais, como veremos em mais detalhes no capítulo 3. Em uma rede com cabos de par trançado, temos a figura do hub (ou switch), que atua como a figura central que interliga todos os micros, criando uma topologia de estrela: Se temos cabos separados para cada micro, você pode imaginar que não existe o problema das colisões, pois, afinal, o hub pode encaminhar as transmissões diretamente de um micro a outro. É aqui que entra diferença entre os antigos hubs e os switches, usados atualmente. Explicar a diferença entre os dois é uma boa forma de explicar a diferença entre as camadas 1 e 2 do modelo OSI. Os hubs são dispositivos burros, que operam na camada 1. Eles não entendem pacotes nem endereços de rede, simplesmente pegam os uns e zeros que recebem em uma porta e os retransmitem para todas as outras. O hub atua simplesmente como um centralizador e repetidor, não é mais inteligente que um pedaço de cabo. Ao usar um hub, as colisões continuam ocorrendo, exatamente como aconteceria se você estivesse usando uma rede antiga, com cabo coaxial. Os switches, por sua vez, trabalham na camada 2, assim como as próprias placas de rede. Eles entendem frames e endereços MAC e por isso são capazes de "fechar circuitos", transmitindo os frames apenas para o micro ligado na placa correta. Cada porta é ligada a um circuito separado, que são coordenados por um controlador central, que mantém uma tabela com os endereços MAC das estações ligadas a cada porta e pode assim checar o conteúdo de cada frame e encaminhá-lo à porta correta. Apesar disso, os switches não entendem TCP/IP. Isso é trabalho para os roteadores, que trabalham na camada 3 e tomam suas decisões baseadas nos endereços IP dos emissores e destinatários dos pacotes, tentando sempre usar a rota mais curta. Ao receber um frame Ethernet, o roteador descarta os endereços MAC e as demais estruturas adicionadas pela placa de rede, ficando apenas com o pacote TCP dentro dele. É por isso que não é possível usar regras de firewall baseadas em endereços MAC para hosts da Internet, ao contrário do que temos ao criar regras para os endereços da rede local. Veremos mais detalhes sobre estas diferenças entre hubs, switches e roteadores logo a seguir, no capítulo 1. Para detalhes sobre os pacotes TCP, frames Ethernet e o uso dos endereços MAC, consulte o capítulo 4.» Próximo: Hello World

Hello World Nos livros sobre programação, quase sempre o primeiro exercício é um "Hello World" (olá mundo), onde você escreve um pequeno programa destinado a simplesmente mostrar uma mensagem na tela. Geralmente ele contém uma única linha, ou algumas poucas linhas, como este exemplo de um Hello World em C: main () { printf("hello World"); } A partir desse exemplo simples, o livro vai então se aprofundando na sintaxe da linguagem, introduzindo exercícios progressivamente mais complexos. Em se tratando de redes, um "Hello Word" seria montar uma rede simples entre dois micros e testar a conectividade entre os dois usando o ping ou outro utilitário. Vamos então começar com este exemplo simples para "quebrar o gelo" e a partir daí vamos nos aprofundar ao longo do restante do livro. Como comentei a pouco, praticamente todas as placas-mãe e notebooks trazem placas de rede onboard, o que torna a tarefa de montar a rede bastante simples. Existe a opção de montar a rede usando um switch, ou simplesmente usar um cabo cross-over para ligar diretamente os dois micros. Um cabo cross-over é um cabo de rede crimpado com uma sequência diferente nas duas pontas, que permite a comunicação direta entre os dois micros. O switch ou o cabo cross-over resolvem o problema da ligação física entre os micros, o que equivale aos níveis 1 e 2 do modelo OSI. Falta agora configurar o TCP (níveis 3 e 4), de forma que eles possam efetivamente se comunicar. Falando assim pode parecer difícil, mas na prática tudo o que você precisa fazer é usar dois endereços sequenciais (ou simplesmente escolher dois endereços diferentes dentro da mesma faixa de endereços) como "192.168.1.1" e "192.168.1.2" ou "10.0.0.1" e "10.0.0.2" e usar a mesma máscara de sub-rede em ambos: A máscara diz qual parte do endereço IP é a identificação da rede e qual é a identificação do PC (chamado de host) dentro dela. A máscara "255.255.255.0", por exemplo, diz que a última parte do endereço é a identificação do host e os três números iniciais são a identificação da rede, de forma que temos o host "1" e o host "2" dentro da rede "192.168.1". Os endereços começados com "10" e "192.168" (entre outros) não são usados na Internet e por isso são livres para o uso em redes locais. Existem outros endereços reservados, além dos endereços usados para pacotes de broadcast, para a identificação da rede, para a interface de loopback e outros casos especiais e exceções que veremos ao longo do livro.

O gateway e os dois endereços de DNS são necessários para acessar a Internet. O gateway é o "portão de saída da rede", o host que tem a conexão com a Internet e roteia os pacotes dos demais. Quando você compartilha a conexão entre vários micros, o gateway da rede é sempre o PC (ou o modem ADSL) que está compartilhando a conexão. Os servidores DNS por sua vez são necessários para converter os nomes de domínio em endereços IP, o que é uma função essencial. Além dos DNS do provedor, você pode utilizar qualquer servidor público, ou mesmo instalar seu próprio servidor. Ao usar dois notebooks, ou desktops com placas wireless, existe também a opção de criar uma rede ad-hoc, onde as duas placas wireless se comunicam diretamente, sem necessidade de usar um ponto de acesso. Diferente do que temos ao usar um cabo cross-over, as redes ad-hoc podem conter vários PCs. Você pode inclusive compartilhar a conexão entre eles obtendo, na prática, algo próximo do que teria ao usar um ponto de acesso. A principal desvantagem é que em uma rede ad-hoc o alcance da rede é bem menor do que ao utilizar um ponto de acesso, já que a potência dos transmissores usados nas placas é menor. Configurar a rede ad-hoc exige alguns passos adicionais, como veremos em detalhes no final do capítulo 3, mas uma vez estabelecida a conexão, a configuração dos endereços é igual à de uma rede cabeada. No Windows XP, você configura a rede no Painel de Controle > Conexões de Rede, acessando as propriedades da conexão e em seguida as propriedades do protocolo TCP/IP. No Linux você pode configurar o IP e ativar a rede, independentemente da distribuição usada, usando o comando "ifconfig", como em: # ifconfig eth0 192.168.1.1 up A menos que você tenha mais de uma placa de rede, sua placa cabeada será sempre a eth0. O "192.168.1.1" é o IP que está sendo atribuído e o "up" conclui o comando, dizendo que a placa deve ser ativada imediatamente. Graças ao uso do TCP/IP, não temos problemas de compatibilidade ao misturar micros com Windows e Linux na rede, já que todos falam a mesma língua. O ping é o teste mais básico para testar a conectividade entre dois micros. Ele é popular justamente porque é simples e porque está disponível em quase todos os sistemas operacionais, incluindo Linux e Windows. Para usá-lo, basta especificar o endereço, como em "ping 192.168.1.1":

No Windows o ping é executado 4 vezes, enquanto no Linux ele fica sendo executado indefinidamente até que você encerre o comando pressionando "Ctrl+C", ou fechando o terminal. Na versão Linux, você pode também especificar um número de repetições usando o parâmetro "-c" ou especificar um intervalo, usando o parâmetro "-i". Para emitir uma sequência de 15 pings, com intervalo de 30 segundos entre cada um, por exemplo, você usaria o comando "ping -c 15 -i 30 endereço-de-destino". O ping indica o tempo que o sinal demora para ir de um micro a outro, incluindo o tempo da resposta, o que permite medir a latência da conexão. No screenshot anterior, por exemplo, o tempo de resposta é menor que 1 ms, já que são dois micros dentro da rede local, mas na Internet é muito difícil obter pings inferiores a 100 ms. No caso de servidores distantes, ou no caso de conexões via celular, ou via satélite, não é incomum obter pings de 1000 ms ou mais. Um ping elevado não chega a atrapalhar tanto na hora de navegar ou baixar e-mails, mas é fatal ao rodar games multiplayer, sobretudo nos jogos de tiro em primeira pessoa. Como o ping pode ser bloqueado no firewall (e muitos o fazem por padrão), o fato de um host da Internet não responder ao ping não significa que ele não esteja lá, apenas que não está respondendo a suas requisições. Uma forma mais segura (e mais invasiva) de descobrir se o host está online é usar o nmap para localizar portas abertas. Dessa forma, se o host estiver com pelo menos uma porta aberta, ele aparece no teste, mesmo que o firewall tenha sido configurado para bloquear pings. Em uma máquina Linux (com o nmap instalado), você poderia testar cada uma das 65536 portas TCP de um micro da rede rodando (como root) o comando abaixo: # nmap -ss -P0 -p 0-65535 192.168.1.1 Ferramentas como o nmap são genericamente chamadas de portscans, ou seja, scanners de portas. A função deles é testar cada uma das portas disponíveis, verificando quais serviços estão ativos na máquina de destino. Em geral, eles são o ponto de partida para um ataque, já que permitem descobrir quais portas estão abertas e quais serviços estão ativos, o que dá uma boa idéia sobre os pontos vulneráveis da máquina, mas eles podem ser usados também para melhorar a segurança da sua rede e encontrar falhas de segurança, como veremos em mais detalhes no capítulo 5. Depois de testada a conectividade entre os dois micros, a rede está pronta para ser usada. Você pode aproveitar para compartilhar arquivos, jogar uma partida de algum game em rede, compartilhar a impressora, acessar o outro micro remotamente, compartilhar a conexão ou qualquer outra coisa que tenha em mente. Hoje em dia, praticamente tudo pode ser feito via rede. Se você quiser ir direto à ação, pode dar uma olhada no capítulo 6, onde veremos diversos exemplos práticos.» Próximo: Capítulo 1: Cabeamento e dispositivos de rede

Capítulo 1: Cabeamento e dispositivos de rede Como citei na introdução, a função básica de qualquer rede é transportar dados de um ponto a outro. Embora a tarefa pareça simples à primeira vista, na prática as redes são entidades complexas, compostas de diferentes camadas. Este primeiro capítulo é dedicado à parte física da rede, incluindo cabeamento, placas, switches, bridges, roteadores, pontos de acesso e outros dispositivos de rede. Juntos, esses componentes fornecem a infra-estrutura básica da rede, incluindo o meio físico para a transmissão dos dados, modulação dos sinais e correção de erros. Montando redes domésticas, muitas vezes temos a impressão que as redes se restringem a cabos de par trançado e a placas de 100 ou 1000 megabits, mas na verdade existem diversos outros detalhes a aprender. Os cabos de fibra óptica estão lentamente se popularizando e as redes de 10 gigabits já estão no horizonte, trazendo novos padrões de cabos e de conectores, sem falar nas redes wireless, novas tecnologias de acesso à web e assim por diante. Neste capítulo nos aprofundaremos em todos estes temas, deixando para abordar a configuração da rede no capítulo 2 e detalhes sobre a configuração de redes wireless no capítulo 3. Embora também tenham a ver com cabeamento, no sentido de serem responsáveis pelo transporte das informações, as redes wireless envolvem um número muito maior de detalhes, a começar pelos diferentes padrões e pela configuração dos pontos de acesso, de forma que optei por reservar um capítulo inteiro a elas, que por sinal acabou ficando bem longo. Mas, cada coisa a seu tempo. :)» Próximo: Padrões Ethernet Padrões Ethernet Embora as redes Wi-Fi também sejam redes Ethernet, o termo "Ethernet" é geralmente usado apenas em relação às redes cabeadas, enquanto as redes sem fio são mais popularmente chamadas de "redes wireless", "redes Wi-Fi", ou ainda "redes 802.11g" ou "redes 802.11n" (nesse caso indicando um padrão específico). Não seria errado dizer "minha rede wireless Ethernet", mas provavelmente a pessoa com quem estivesse falando iria achar estranho. Vou então adotar esta convenção no restante do livro, usando o termo "Ethernet" para as redes cabeadas e "Wi-Fi" quando quiser me referir às redes wireless 802.11 de uma forma geral. Como tudo na informática, as redes Ethernet passaram por uma série de evoluções desde a criação do padrão na década de 1970. Os três padrões mais importantes são o 10BASE-T, o 100BASE-TX e o 1000BASE-T, que correspondem aos padrões de 10, 100 e 1000 megabits para cabos de par trançado que usamos no dia-a-dia. Mas, além deles, existem diversos outros padrões Ethernet que é importante conhecer. Além dos padrões para cabos de par trançado, existem padrões para cabos de fibra óptica e até para cabos twinax.» Próximo: Padrões de 10 megabits Padrões de 10 megabits Depois do padrão Ethernet original (de 2.94 megabits), surgiram os padrões 10BASE-5, 10BASE-2, 10BASE-T e 10BASE-F, todos padrões de 10 megabits, diferenciados pelo cabeamento usado. Como vimos na introdução, o 10BASE-5 e o 10BASE-2 são baseados em cabos coaxiais. O 10BASE-5 ganha tanto em alcance (500 metros, contra 185) quanto no número máximo de estações em cada segmento de rede (100 contra 30), mas perde no fator mais importante, que é o fator custo, de forma que, uma vez finalizado, o 10BASE-2 se tornou rapidamente o padrão mais popular. Em seguida temos o 10BASE-T, que é o primeiro padrão baseado no uso de cabos de par trançado (o "T" vem de twisted-pair). Na época, os cabos cat 5 ainda eram caros, de forma que o padrão permitia o uso de cabos cat 3, que eram mais comuns, já que eram utilizados também em instalações telefônicas de aparelhos de PABX. O comprimento máximo do cabo é de 100 metros, ainda menos que no 10BASE-2, mas os sinais são retransmitidos pelo hub, de forma que é possível usar cabos de até 100 metros até o hub e mais 100 metros até o micro seguinte, totalizando 200 metros. É possível também estender o alcance da rede usando repetidores adicionais (o próprio hub atua como um repetidor, de forma que é possível simplesmente interligar vários hubs, usando cabos de até 100 metros), estendendo a rede por distâncias maiores. Existiu ainda o padrão 10BASE-F ("F" de fiber optic) que utilizava cabos de fibra óptica. Ele foi pouco popular devido ao custo do cabeamento, mas oferecia como vantagem um alcance de 2000 metros por segmento, que também podiam ser estendidos com a ajuda de repetidores. As placas de 10 megabits foram as únicas que foram produzidas em versão ISA, já que a taxa de transferência efetiva do barramento ISA (devido aos tempos de espera e ao overhead da sinalização) é de pouco mais de 5 MB/s, o que é lento demais para uma placa de 100 megabits, que precisa de um barramento capaz de transmitir a pelo menos 12.5 MB/s. Lembre-se de que um byte tem 8 bits, logo 12.5 MB (megabytes, com o B maiúsculo) correspondem a 100 megabits (Mb, com o b minúsculo), 125 MB correspondem a 1000 megabits e assim por diante. Ao contrário das taxas de transferência de outros componentes, que são geralmente medidas em megabytes por segundo, as taxas de transferência das redes e das conexões web são quase sempre medidas em megabits, o que às vezes causa uma certa confusão. É muito comum ver usuários reclamando que não conseguem fazer downloads a mais do que cento e poucos kbytes no ADSL de 1 megabit ou que o ponto de acesso 802.11g transmite a no máximo 3 MB/s, quando na verdade as taxas estão corretas e o problema é apenas de interpretação.» Próximo: Fast Ethernet

Fast Ethernet Em 1995 foi finalizado o padrão Fast Ethernet (802.3u), que multiplicou por 10 a velocidade de transmissão, atingindo 100 megabits. O Fast Ethernet é composto por três padrões distintos: O mais usado é o 100BASE-TX, que é o padrão para cabos de par trançado categoria 5, utilizado em mais de 80% das instalações atuais. No 100BASE-TX foi mantida a distância máxima de 100 metros, mas foi adicionado o suporte ao modo-full duplex, onde as estações podem enviar e receber dados simultaneamente (100 megabits em cada direção), desde que seja usado um switch. Como os cabos categoria 5 atendem a especificação com folga, foi possível fazer tudo usando apenas dois dos quatro pares de cabos (os pares laranja e verde), sendo um par usado para enviar e o outro para receber. É justamente devido ao uso de apenas dois dos pares de cabos que algumas placas de rede 10/100 possuem apenas 4 contatos, eliminando os que não são usados no 100BASE-TX, como você pode ver nessa placa da Encore: Como você pode imaginar, é possível usar os 4 pares do cabo para crimpar dois cabos separados, cada um com dois pares. Isso não é previsto no padrão e não é recomendável, mas não deixa de ser uma curiosidade. Para isso, você usaria o par laranja nos pinos 1 e 2 e o verde nos pinos 3 e 6 do primeiro cabo, com o par azul nos pinos 1 e 2 e o par marrom nos pinos 3 e 6 do segundo cabo. O uso de duas transmissões separadas vai gerar interferência, reduzindo o alcance da transmissão, de forma que isso só funciona em cabos relativamente curtos. Além disso, o cabo deixa de ser utilizável em redes gigabit (veja detalhes a seguir), de forma que a economia não justifica as desvantagens. Existe uma idéia bastante enraizada no meio técnico de que redes de 10 megabits exigem cabos de 10 MHz, redes de 100 megabits exigem cabos de 100 MHz e assim por diante. Esta é uma explicação simples e aparentemente lógica, mas que é incorreta. Pense que se as coisas funcionassem assim, precisaríamos de cabos de 1000 MHz para as redes gigabit e de 10.000 MHz para as redes 10G, o que seria impossível com tecnologia atual. Para evitar isso, os padrões Ethernet de 100, 1000 e 10000 megabits utilizam sistemas complicados de modulação, de forma a reduzir a freqüência efetiva da transmissão e, assim, aproveitar melhor os recursos do cabo. Um paralelo poderia ser traçado com relação ao ADSL, que consegue transmitir dados a longas distâncias e a até 8 megabits, utilizando um único par de cabo telefônico, originalmente projetado para transportar apenas o sinal de voz. Na realidade, o padrão 100BASE-TX utiliza uma freqüência efetiva de apenas 31.25 MHz. Como se não bastasse, o 1000BASE-T (o padrão de 1000 megabits para cabos de par trançado) conseguiu multiplicar por 10 a taxa de transmissão, aumentando a freqüência para apenas 62.5 MHz efetivos. É por isso que ambos os padrões suportam cabos de par trançado categoria 5, que são certificados para freqüências de apenas 100 MHz. Se você achou pouco, saiba que os cabos de categoria 6 (certificados para até 250 MHz) oferecem suporte também ao 10GBASE-T, que é o padrão de 10.000 megabits. Se você era adepto do mito dos 100 MHz, isso deve ter dado um nó na sua cabeça. Vamos então entender como estes aparentes milagres foram obtidos. Em primeiro lugar, um padrão de rede de 100 megabits não transmite apenas 100 megabits por segundo, pois junto com os dados é necessário transmitir o conjunto de informações de controle que possibilita a conexão. Para transmitir 100 megabits de dados úteis, a placa precisa transmitir um pouco mais do que isso. No 100BASE-TX é usada uma sinalização de 125 megabauds, utilizando o sistema 4B/5B, onde cada grupo de 4 bits é transmitido usando um grupo de 5 bauds, cada um deles enviando um bit zero ou um. Como bem sabemos, 5 bits correspondem a 32 combinações, o que permite enviar os 4 bits (16 combinações) e mais um bit adicional, usado para transmitir informações de controle e de redundância, que garantem a confiabilidade da conexão. Com isso, os 125 milhões de bauds resultam na transmissão de 100 megabits de dados "úteis". Como a construção dos frames Ethernet e dos pacotes TCP/IP exigem o uso de mais alguns bits adicionais (veja mais detalhes no capítulo 4), os 100 megabits transmitidos pela placa de rede resultam em taxas efetivas de transmissão progressivamente menores a cada camada, fazendo com que, a taxa de transferência "real" da rede (ao transferir um arquivo, por exemplo) acabe sendo mais baixa. Entretanto, é graças a essas "perdas" que as redes são confiáveis. Continuando, 125 megabauds equivaleriam, a princípio, a uma freqüência de 125 MHz, o que ficaria acima dos 100 MHz suportados pelos cabos categoria 5 e categoria 5e. Para evitar isso, foi adotado o sistema de codificação MLT-3, onde são utilizadas três tensões diferentes (+1, 0 e -1) e os bits são transmitidos através de transições entre os níveis.

No MLT-3, um bit 1 é transmitido chaveando para o próximo estágio de tensão, enquanto um bit 0 é transmitido mantendo o mesmo estágio anterior. Por exemplo, para a sequência binária "1111" os sinais transmitidos seriam "+1, 0, -1, 0" e, para a sequência "0101", seria "+1, 0, 0, -1": Esta sinalização mais simples permite "pegar carona" com o sinal de clock (que se comporta como uma onda), realizando 4 transferências por ciclo de clock. Isso reduz a freqüência real de 125 para apenas 31.25 MHz, de forma que a rede pode funcionar tranquilamente dentro dos 100 MHz oferecidos pelos cabos de categoria 5. Em seguida temos o padrão de 100 megabits para cabos categoria 3, o 100BASE-T4, que elimina o modo full-duplex e utiliza todos os quatro pares do cabo, reduzindo, assim, a taxa de sinalização. O 100BASE-T4 utiliza uma sinalização mais complexa onde um dos pares envia dados da estação para o hub, outro envia do hub para a estação e os outros dois são alocados para uma direção ou outra, de acordo com quem está transmitindo, de forma que apenas três dos pares são usados para transmitir dados simultaneamente. Como os cabos de categoria 3 suportam freqüências de até 16 MHz, mais de 6 vezes menos que os de categoria 5, foi necessário criar um sistema complicado de codificação, que utiliza uma sinalização ternária, com o uso de três sinais diferentes (em vez de dois, como no sistema binário). Com três combinações por par e três pares de cabo, temos um total de 27 combinações possíveis por ciclo, suficiente para transmitir 4 bits (16 combinações), combinados com sinais adicionais de redundância. Este sistema, baseado no uso do 8B6T e da codificação PAM-3 permite reduzir a taxa de sinalização para apenas 25 megabauds. Utilizando um sistema de sinalização similar ao usado no 100BASE-TX, são transmitidos 2 bauds em cada ciclo de clock, resultando em uma freqüência efetiva de apenas 12.5 MHz, o que ainda está dentro do suportado pelos cabos de categoria 3. Apesar disso, o 100BASE-T4 foi relativamente pouco usado, de forma que muitas placas de rede sequer oferecem suporte a ele, como no caso das placas com apenas 4 pinos. Existiu ainda o 100BASE-FX, o padrão de 100 megabits para cabos de fibra óptica multimodo. Assim como o 10BASE-F, ele foi pouco usado, mas oferecia a possibilidade de criar links de longa distância, com cabos de até 2 km e a possibilidade de usar repetidores para atingir distâncias maiores. Existia a possibilidade de usar um único cabo de fibra em modo half-duplex, mas nesse caso a distância máxima era de apenas 400 metros (devido à necessidade de detectar colisões), o que eliminava a maior parte das vantagens práticas sobre o 100BASE-TX, onde os 100 metros máximos podem ser estendidos com a ajuda de repetidores. Embora inicialmente fossem caras, as placas 100BASE-TX em versão PCI caíram assustadoramente de preço durante a vida útil do padrão. As placas mais baratas, de fabricantes como a Encore e a LG, chegaram a ser vendidas no atacado, em países da Ásia, por menos de 3 dólares. Isso aconteceu devido à concorrência acirrada entre os fabricantes e ao avanço das técnicas de fabricação, que tornou a fabricação dos chipsets de rede cada vez mais barato.

Placas de rede PCI Como todas as placas-mãe passaram a vir com placas de rede onboard, a demanda por placas offboard passou a ser cada vez menor, o que gradualmente levou os fabricantes a produzir apenas placas de padrões mais recentes, que permitem a eles trabalhar com margens de lucro um pouco maiores. Com isso, as placas de rede PCI baratas que nos acostumamos a ver começaram a se tornar cada vez mais difíceis de encontrar, dando lugar às placas gigabit. Placas de rede PCI geralmente possuem um soquete para a instalação de um chip de boot, usado em clientes de boot remoto, como no LTSP. É possível obter ROMs de boot em diversos formatos no http://rom-o-matic.org e gravá-las usando um gravador de EPROM, mas isso está entrando em desuso, pois as placas-mãe incorporam imagens de boot no próprio BIOS, permitindo que a placa de rede onboard seja usada para dar boot via rede diretamente.» Próximo: Gigabit Ethernet

Gigabit Ethernet Depois dos padrões de 10 e 100 megabits, o passo natural para as redes Ethernet seria novamente multiplicar por 10 a taxa de transmissão, atingindo 1000 megabits. E foi justamente o que aconteceu. O padrão Gigabit Ethernet começou a ser desenvolvido pelo IEEE em 1995, assim que o padrão de 100 megabits foi ratificado (como muitos dizem, antes mesmo que a tinta tivesse tempo de secar) e acabou sendo ratificado em 1998, dando origem ao 802.3z, composto por quatro padrões diferentes. O 1000BASE-LX é o padrão mais caro, que suporta apenas cabos de fibra óptica. Até o 100BASE-FX, os transmissores de rede para fibra óptica podiam utilizar LEDs, que são uma tecnologia muito mais barata. O problema é que os LEDs não são capazes de mudar de estado rápido o suficiente para atenderem os requisitos do sistema de modulação adotado no gigabit Ethernet, de forma que a única saída foi adotar a tecnologia long-wave laser, com o uso de lasers de 1300 nanômetros. Em troca, o 1000BASE-LX oferece um alcance muito maior do que o oferecido pelos padrões anteriores. Oficialmente, usando cabos de fibra óptica monomodo com núcleo de 9 mícrons, o sinal é capaz de percorrer distâncias de até 2 km, mas na prática o sinal é capaz de atingir distâncias muito maiores, o que fez com que muitos fabricantes anunciassem produtos baseados no 1000BASE-LX com alcance de até 10 km. Isso tornou o padrão atrativo para uso em backbones, interligando diferentes segmentos de rede no campus de uma universidade ou em prédios próximos, por exemplo. É possível também utilizar cabos multimodo com núcleo de 50 ou 62.5 mícrons (que são os cabos mais baratos), mas nesse caso o sinal percorre apenas 550 metros. O segundo padrão é o 1000BASE-SX, que também utiliza cabos de fibra óptica, mas utiliza uma tecnologia de transmissão mais barata, chamada short-wave laser, que é uma derivação da mesma tecnologia usada em CD-ROMs, com feixes de curta distância. Justamente por já ser utilizado em diversos dispositivos, esta tecnologia é mais barata, mas em compensação o sinal é capaz de atingir distâncias menores. Utilizando cabos multimodo com núcleo de 50 microns a distância máxima é de 500 metros e usando cabos com núcleo de 62.5 microns a distância máxima é de 275 metros (sinalização de 200 MHz) ou 220 metros (sinalização de 160 MHz). Foi criado também um padrão para distâncias curtas, o 1000BASE-CX, que ao invés de fibra óptica utiliza dois pares de cabo de par trançado blindado STP ou SSTP (de forma similar ao 100BASE-TX, onde são também utilizados apenas dois pares do cabo). Embora pouco usados, são suportados também cabos twinax, que são um tipo de cabo coaxial duplo, também blindado. O problema é que no 1000BASE-CX o alcance é de apenas 25 metros, o que limita bastante o seu uso. Ele é usado em alguns modelos de blade servers e outros produtos destinados ao uso em datacenters (onde vários servidores são instalados no mesmo rack e a distância a cobrir é pequena), mas ele praticamente desapareceu depois que o padrão 1000BASE-T foi finalizado. Inicialmente, parecia impossível desenvolver um padrão Gigabit Ethernet para cabos de par trançado sem blindagem, que fosse capaz de atingir os 100 metros oferecidos pelo padrão Fast Ethernet, já que o 100BASE-TX já havia explorado grande parte do potencial dos cabos categoria 5. Mas, contra todas as expectativas, o grupo de trabalho conseguiu finalizar o padrão 1000BASE-T (802.3ab) em 1999, abrindo uma nova fronteira para as redes domésticas. O 1000BASE-T, também chamado de GoC ou "Gigabit over Copper", permite utilizar os mesmos cabos de par trançado categoria 5 que as redes de 100 megabits. Isso representa uma enorme economia, não apenas por eliminar a necessidade de trocar os cabos atuais por cabos mais caros, mas também nas próprias placas de rede, que passam a ser uma evolução das atuais e não uma tecnologia nova. O alcance continua sendo de 100 metros e os switches compatíveis com o padrão são capazes de combinar nós de 10, 100 e 1000 megabits, sem que os mais lentos atrapalhem os demais. Toda esta flexibilidade torna a migração para o 1000BASE-T bastante simples, uma vez que você pode aproveitar o cabeamento já existente. A solução para conseguir multiplicar por 10 a taxa de transmissão, mantendo o uso de cabos cat 5 foi adotar um sistema de sinalização mais complexo, que utiliza todos os 4 pares do cabo (de forma similar ao 100BASE-T4, que utilizava um artifício similar para conseguir transmitir 100 megabits utilizando cabos cat 3). Em primeiro lugar, é usado o sistema PAM-5 de modulação (diferente dos outros padrões gigabit, onde é usado o 8B10B) que consiste no uso de 5 sinais distintos (em vez de apenas dois), que permitem o envio de 2 bits por baud, junto com informações de controle. Com o uso dos 4 pares de cabos, é possível enviar então 8 bits por baud, o que resulta em uma taxa de sinalização de apenas 125 megabauds. Aplicando um sistema similar ao usado no 100BASE-TX, é possível reduzir a freqüência efetiva para apenas 62.5 MHz, transmitindo 2 bauds por ciclo. A freqüência é o dobro da usada no 100BASE-TX, mas ainda fica dentro dos limites dos cabos de categoria 5. Esta idéia de transmitir vários bits por baud, utilizando vários níveis de sinal distintos, é uma técnica antiga, que foi usada ao limite nos modems discados para obter taxas de transferências mais altas usando o sistema telefônico comutado. Um modem V92 de 56k, por exemplo, transmite 7 bits por baud, de forma a fazer seu trabalho transmitindo apenas 8.000 bauds por segundo. Entretanto, esta tecnologia exige uma modulação mais complexa, o que aumenta o processamento necessário para realizar a transmissão. É por isso que ela passou a ser usada em redes apenas quando as limitações do cabeamento se tornaram evidentes. Continuando, temos o segundo "milagre" do 1000BASE-T, que é o suporte ao modo full-duplex. Como você deve lembrar, o 100BASETX obtinha full-duplex utilizando dois pares de cabos, um para transmitir e outro para receber. Como o 1000BASE-T utiliza todos os 4 pares ao mesmo tempo, transmitir e receber simultaneamente parecia impossível. Para resolver o problema, foi desenvolvido um sistema engenhoso, que permite que os mesmos pares de cabos sejam usados para enviar e receber dados simultaneamente. Enviar duas transmissões ao mesmo tempo, no mesmo cabo, faz com que as duas transmissões colidam, gerando um eco que é a combinação das duas. Como cada estação tem armazenado na memória o conteúdo da transmissão que acabou de fazer, é capaz de subtrair sua própria transmissão do sinal recebido, obtendo assim o sinal enviado pelo interlocutor. Com isso, é possível transmitir 1 gigabit em cada direção permitindo que, em situações onde a estação envie e receba um grande volume de dados simultaneamente, seja possível atingir 2 gigabits somando o tráfego nas duas direções. Entretanto, o mais comum é uma relação assimétrica, com uma falando e a outra apenas enviando os pacotes de confirmação, cenário em que o uso do full-duplex traz um ganho marginal. Apesar disso, alguns fabricantes tiram proveito do full-duplex para anunciar suas placas gigabit como placas de "2 gigabits", assim

como alguns vendiam placas fast Ethernet como sendo placas de "200 megabits", novamente em alusão ao modo full-duplex. Continuando, o uso dos 4 pares e o sistema de sinalização mais complexo tornam o 1000BASE-T muito mais exigente com relação à qualidade do cabeamento que os padrões anteriores. Por exemplo, as placas 100BASE-TX utilizam apenas dois pares do cabo, de forma que a rede pode funcionar com cabos mal crimpados, ou mesmo com cabos com alguns dos fios internos rompidos, desde que os dois pares usados para transmitir dados estejam intactos, mas você não teria a mesma sorte com o 1000BASE-T. O sistema mais simples de sinalização também torna a rede menos sensível a interferência, ao uso de cabos de baixa qualidade, ou ao uso de cabos mais longos que os 100 metros permitidos. No 1000BASE-T, todos estes problemas saltam à vista, reduzindo a velocidade da rede (devido às retransmissões), tornando-a instável, ou simplesmente impedindo seu funcionamento. Mesmo detalhes como o comprimento da parte destrançada do cabo ao crimpar o conector acabam fazendo diferença, de forma que é necessário redobrar o cuidado ao crimpar os cabos. Outro fator digno de nota é que, como em quase todo novo padrão, as placas 1000BASE-T eram originalmente muito mais caras que as de 100 megabits, já que o maior processamento necessário tornava o design da placa muito mais complexo, demandando o uso de dois ou mais controladores complexos. No entanto, com a miniaturização dos componentes, logo surgiram soluções integradas em um único chip e o maior volume de produção fez com que os preços fossem caindo progressivamente. Hoje em dia, a maioria das placas-mãe já trazem chipsets de rede gigabit onboard e os switches gigabit também estão cada vez mais acessíveis, de forma que muitos acabam migrando para o novo padrão sem sequer perceber, enquanto atualizam os equipamentos de rede. Temos aqui uma placa gigabit de 1999, produzida pela Intel, ao lado de um chip Marvell Yukon 88E8052, usado em muitas placas-mãe atuais com rede gigabit onboard, que ilustra a diferença de complexidade (e de custo) entre as duas gerações: Assim como no caso das placas de 100 megabits, existe um grande número de placas Gigabit Ethernet em versão PCI. O problema é que, por um conjunto de fatores, o barramento PCI oferece, na prática, pouco mais de metade da taxa teórica de transmissão. Com isso, embora os 133 MB/s sejam suficientes para uma placa de rede gigabit, na prática as placas gigabit em versão PCI acabam sendo limitadas pelo barramento, oferecendo taxas de transmissão de 500 a 700 megabits, variando de acordo com a placa e o chipset usados. Além das placas offboard, muitas placas gigabit onboard são internamente ligadas ao barramento PCI do chipset e têm por isso sua taxa de transmissão limitada de forma similar. Com isso, tivemos a terceira migração de barramento na história das placas de rede (sem contar as placas em versão PCI-X, destinadas a servidores), que passaram a utilizar o barramento PCI-Express, que oferece 250 MB/s em cada direção, por linha de dados (um slot PCI Express pode ter de uma a 16 linhas de dados), o que permite que mesmo um slot x1 atenda com folga uma placa Gigabit Ethernet:

Placa Gigabit Ethernet em versão PCI Express A próxima fronteira são as placas de 10 Gigabits, que em teoria precisam de um slot PCI Express x8 (com oito linhas de dados, ou seja, 2 GB/s) para mostrarem todo o seu potencial. Continuando, assim como as placas de 100 megabits, as placas gigabit são completamente compatíveis com os padrões anteriores. Você pode até mesmo ligar uma placa Gigabit Ethernet a um hub 10/100 se quiser, mas a velocidade terá de ser nivelada por baixo, respeitando a do ponto mais lento. A exceção fica por conta de alguns switches nível 3 (modelos mais inteligentes e caros, que incorporam recursos dos roteadores), que são capazes de "rotear" pacotes de diversas estações operando a 100 megabits, agrupando-os em um único link de 1 gigabit ligado ao servidor. Neste caso, você poderia ter (em teoria) 10 estações baixando arquivos a 100 megabits cada, simultaneamente, a partir de um único servidor com uma placa gigabit. Todos esses padrões de Gigabit Ethernet são intercompatíveis a partir da camada 2 (link de dados) do modelo OSI. Abaixo desse nível está apenas a camada física da rede, que inclui o tipo de cabos e o tipo de modulação usado pela placa de rede para transmitir dados através deles. Os dados transmitidos, incluindo camadas de correção de erro, endereçamento, etc. são idênticos em qualquer um dos padrões. Assim como muitos hubs antigos permitiam juntar redes que utilizavam cabo de par trançado e cabo coaxial, é muito simples construir dispositivos que interliguem esses diferentes padrões. Isso permite conectar facilmente segmentos de rede com cabos de par trançado e segmentos com fibra óptica, que podem ser usados para interligar redes distantes entre si.» Próximo: 10 Gigabit Ethernet

10 Gigabit Ethernet Com o lançamento do padrão 1000BASE-T, em 1999, os membros do grupo de trabalho 802.3 ficaram livres para iniciar os trabalhos no padrão seguinte. Mantendo a tradição, decidiram desenvolver um padrão capaz de atingir taxas de transferência 10 vezes maiores que o anterior, dando origem ao 10 Gigabit Ethernet (10G), que transmite a espantosos 10 gigabits por segundo. Aumentar por 10 a taxa de transferência a cada novo padrão de rede pode parecer um exagero, mas como a migração para novos padrões de redes é bem mais lenta do que para novos processadores ou novas tecnologias de memória, por exemplo, passos maiores acabam sendo necessários, caso contrário poucos se dariam o trabalho de atualizar os equipamentos. Como previsto na célebre lei de Moore, o poder de processamento dos processadores e controladores em geral dobra em média a cada 18 meses, sendo que o custo continua mais ou menos constante. Com isso, em um período de 54 meses temos controladores 8 vezes mais rápidos, e assim por diante, o que torna a tarefa de desenvolver novos padrões de rede relativamente simples. O maior problema é que o cabeamento não evolui na mesma velocidade dos controladores, o que obriga o comitê a levar os cabos popularmente usados até o limite antes de jogar a toalha e migrar para um padrão de cabos mais caros e de melhor qualidade. Um exemplo disso são os cabos de par trançado categoria 5, que foram desenvolvidos para o uso em redes de 100 megabits, mas que acabaram tendo sua vida útil estendida com o padrão 1000BASE-T graças à adoção de um sistema mais sofisticado de modulação e ao uso dos quatro pares do cabo. Assim como no Gigabit Ethernet, o desenvolvimento do 10 Gigabit Ethernet começou nos cabos de fibra óptica, que oferecem um desafio técnico menor, com o padrão para cabos com fios de cobre sendo finalizado por último. Muitos julgavam que seria impossível criar um padrão 10G para cabos de par trançado (afinal, estamos falando de uma taxa de transmissão 1000 vezes maior que a do padrão 10BASE-T original), mas no final acabaram conseguindo, embora com algumas baixas. Os padrões 10G para cabos de fibra óptica se dividem em duas categorias: os padrões de longa distância, que utilizam cabos de fibra monomodo e os padrões de curta distância, que utilizam cabos de fibra multimodo e transmissores mais baratos. O objetivo dos padrões de longa distância é complementar os padrões de 100 e 1000 megabits, oferecendo uma solução capaz de interligar redes distantes com uma velocidade comparável ou superior a dos backbones DWDM e SONET, tecnologias muito mais caras, utilizadas atualmente nos backbones da Internet. Suponha, por exemplo, que você precise interligar 5.000 PCs, divididos entre a universidade, o parque industrial e a prefeitura de uma grande cidade. Você poderia utilizar um backbone 10 Gigabit Ethernet para os backbones principais, unindo os servidores dentro dos três blocos e ligando-os à Internet, usar uma malha de switches Gigabit Ethernet para levar a rede até as salas de aula e departamentos e, finalmente, usar switches baratos de 100 megabits para levar a rede aos alunos e funcionários, complementando com pontos de acesso 802.11b/g para oferecer também uma opção de rede sem fio. Isso estabelece uma pirâmide, onde os usuários individuais possuem conexões relativamente lentas, de 11, 54 ou 100 megabits, interligadas entre si e entre os servidores pelas conexões mais rápidas e caras, formando um sistema capaz de absorver várias chamadas de videoconferência simultâneas, por exemplo. Outra aplicação em destaque é o próprio uso em backbones de acesso à Internet. Usando o 10G, um único cabo de fibra óptica transmite o equivalente a mais de 600 linhas T1 (de 1.5 megabits cada), cada uma suficiente para atender uma empresa de médio porte, um prédio residencial ou mesmo um pequeno provedor de acesso via rádio, ou seja, com um único link 10G temos banda suficiente para atender com folga a uma cidade de médio porte. Entre os padrões de longa distância temos o 10GBASE-LR (Long Range) que utiliza laseres de 1310 nm e oferece um alcance de até 10 km (com a possibilidade de atingir distâncias maiores utilizando cabos de alta qualidade), o 10GBASE-ER (Extended Range), que utiliza laseres de 1550 nm e é capaz de cobrir distâncias de até 40 km e o novo 10GBASE-ZR, desenvolvido de forma independente pela Cisco e outros fabricantes, que estende o alcance máximo para incríveis 80 km. Nos três casos, a distância máxima pode ser estendida usando amplificadores de sinal e repetidores, de forma o que o link pode ser estendido a distâncias muito grandes, criando backbones e interligando redes. Em seguida temos os padrões de curta distância, destinados ao uso em datacenters e em redes locais. Como citei, eles são baseados em fibras multimodo, que ao contrário das fibras monomodo usadas nos padrões de longa distância, já são bastante acessíveis. Atualmente temos apenas dois padrões: o 10GBASE-SR (Short Rage) utiliza a tecnologia short-wave laser, similar à utilizada no 1000BASE-SX e é capaz de atingir até 300 metros, dependendo da qualidade do cabo usado, enquanto o 10GBASE-LRM permite o uso de fibras com núcleo de 62.5 microns, um tipo de fibra de baixa qualidade, tipicamente usadas em redes 100BASE-FX. Quando usadas no 10GBASE-SR, estas fibras suportam distâncias muito curtas (até 26 metros), mas no 10GBASE-LRM elas suportam até 220 metros, daí a sigla LRM, de "Long Reach Multimode".

Placa 10GBASE-SR em versão PCI-X Tradicionalmente, o mais comum é que os padrões de fibra óptica de curta distância sejam usados para criar backbones, interligando os switches e roteadores em diferentes segmentos da rede, enquanto os padrões para cabos de cobre, sejam usados nos pontos individuais. Assim como fez no Gigabit Ethernet, o grupo de trabalho começou desenvolvendo um padrão para cabos de cobre de curta distância para uso em datacenters. Surgiu então o 10GBASE-CX4, que utiliza quatro pares de cabos twinax para transmitir dados a até 15 metros. Os cabos 10GBASE-CX4 utilizam um conector especial, similar ao utilizado no InfiniBand, uma tecnologia de rede utilizada em clusters e SANs. Não é possível crimpar os cabos CX4; eles são comprados já no comprimento desejado. Aqui temos uma placa PCIExpress x8 e o detalhe do conector:

O 10GBASE-CX4 é um padrão mais barato que os baseados em cabos de fibra, já que não é necessário usar o transceiver (um componente bastante caro, que contém os transmissores e receptores ópticos). Mas, como era de se esperar, ele entrou em desuso com a popularização do padrão 10GBASE-T (ou 802.3an), que é o padrão baseado em cabos de par trançado. Inicialmente, falou-se no uso de cabos categoria 7 combinados com conectores TERA e no possível suporte a cabos de categoria 5a no padrão 10GBASE-T, mas ambas as idéias acabaram sendo descartadas em favor dos cabos categoria 6 e categoria 6a. Usar cabos categoria 5e no 10G não seria impossível, mas exigiria um sistema de modulação muito complexo, que encareceria excessivamente as placas e os switches. Além disso, a distância seria muito curta (possivelmente algo próximo dos 15 metros do 10GBASE-CX4), o que acabaria com a utilidade prática do padrão. Para entender a dificuldade em criar um padrão 10G para cabos cat 5e, nada melhor do que entender um pouco melhor como o 10GBASE-T funciona. Se você achou as explicações sobre o 100BASE-TX e sobre o 1000BASE-T complicadas, se prepare, pois esta é ainda mais indigesta. :) Você deve lembrar que no 1000BASE-T é usado o sistema PAM-5 de modulação, onde 5 sinais distintos são usados para transmitir 2 bits por baud (combinados com informações de controle). Com isso, os 1000 megabits são transmitidos em apenas 500 megabauds, ou seja, 125 megabauds em cada um dos 4 pares de cabos. O 10GBASE-T adota um sistema de modulação bem mais complexo, o PAM-16 que, como o nome sugere, é baseado no uso de 16 sinais distintos em cada par, cada um representado por um nível de tensão diferente. Para efeito de comparação, no 100BASE-TX existe uma diferença de 1V entre cada nível, no 1000BASE-T a diferença cai para apenas 0.5V e no 10GBASE-T cai para apenas 0.13V, o que torna a questão do cabeamento progressivamente mais crítica: Originalmente, 16 estados permitiriam o envio de 4 bits por baud, por par. Mas, como de praxe, é necessário enviar também informações de controle, de forma que são transmitidos o equivalente a 3.125 bits por baud (3 bits e mais um bit adicional a cada 8 bauds), o que permite que os 10.000 megabits sejam transmitidos em apenas 3200 megabauds. Como os 4 pares de cabos são usados simultaneamente, temos então 800 megabauds por par de cabos.

Assim como no 1000BASE-T, cada baud demora apenas meio ciclo para ser transmitido, o que reduz a freqüência de transmissão. Mesmo assim, os 800 megabauds resultam em uma freqüência de 400 MHz, muito além dos 100 MHz suportados pelos cabos cat 5. Os próximos da lista são os cabos de categoria 6, que suportam freqüências de até 250 MHz e são construídos dentro de normas muito mais estritas com relação à atenuação do sinal e ao crosstalk. Apesar da freqüência ser mais baixa que o exigido, foi possível incluir suporte a eles dentro do padrão, mas apenas para distâncias curtas, de apenas 55 metros. Isso acontece porque a freqüência suportada pelo cabo não é um valor exato, mas sim a freqüência para a qual ele é certificado para transmissão a 100 metros. Um cabo cat 5 poderia transportar sinais a mais de 100 MHz, mas a atenuação faria com que eles não chegassem ao final dos 100 metros com uma qualidade aceitável. Reduzindo o comprimento do cabo, reduzimos a atenuação, o que permite que os cabos suportem a transmissão de sinais de freqüência mais alta, mas apenas a distâncias curtas. No caso dos cabos cat 6, foi comprovado que eles são capazes de transmitir os sinais de 400 MHz do 10GBASE-T, mas apenas a até 55 metros, daí a especificação. Na prática, alguns cabos cat 5e que excedem a especificação também suportam a freqüência de 400 MHz em distâncias mais curtas. Se você tiver sorte, pode ter sucesso usando um cabo de 10 ou 20 metros, por exemplo. Entretanto, padrões precisam funcionar "sempre" e não "às vezes" e justamente por isso os cat 5e foram removidos da especificação final. Para que fosse possível o uso de cabos de até 100 metros, como nos padrões anteriores, foi criado o padrão cat 6a, que suporta freqüências de até 500 MHz e é baseado em normas ainda mais estritas. Embora ainda sejam mais caros, os cabos cat 6a tendem a cair de preço conforme a tecnologia for se popularizando, permitindo uma migração gradual. A partir do momento em que a diferença de preço não for um impedimento, vale à pena passar a utilizar cabos categoria 6a em todas as novas instalações, mesmo nas destinadas a redes de 100 e 1000 megabits, já que o padrão superexcede o padrão cat5e e o cat6. Atualmente, ainda estamos assistindo à migração do Fast Ethernet para o Gigabit Ethernet, por isso a migração para o padrão 10G nas redes domésticas ainda deve demorar. As placas 10GBASE-T do início de 2008 ainda custam acima de 1000 dólares, além de consumirem muita energia (muitas consomem mais de 25 watts), o que restringe seu uso aos servidores. Mesmo que a lei de Moore continue em vigor ao longo dos próximos anos, ainda vai demorar até que sejam desenvolvidos controladores 10G compactos e baratos o suficiente para serem integrados às placas-mãe, como no caso dos chips Gigabit Ethernet. Além disso, existe a questão prática. Como a maioria das redes são usadas para acessar a web e transferir arquivos entre os PCs e os servidores da rede, existe pouca demanda por um padrão de rede mais rápido, pois mesmo o Gigabit Ethernet raramente tem chance de mostrar seu potencial, já que é gargalado pelo desempenho dos HDs e outros periféricos. De nada adianta uma interface de rede mais rápida, se o HD o servidor do servidor é capaz de ler os dados a apenas 60 MB/s, por exemplo. A médio prazo, as redes locais continuarão sendo baseadas em interfaces de 100 e 1000 megabits e o 10G passará a ser utilizado para interligar os switches da rede, evitando o gargalo causado pelo uso de um único link gigabit para interligar switches com 24 ou 48 clientes cada um. Só bem adiante é que devemos assistir à popularização do 10G nos desktops. O 10G representa também o fim dos hubs, dos repetidores e dos links half-duplex, que foram substituídos pelo uso exclusivo de links full-duplex ponto a ponto, entre as estações, switches e roteadores da rede. Com isso, deixa de ser usado também o CSMA/CD, o sistema de detecção de colisões que é utilizado desde os primeiros padrões Ethernet. Embora você ainda possa ligar vários switches em cascata, com cabos cat 6a de 100 metros cada um para obter distâncias maiores, a idéia é que você utilize um dos padrões de cabos de fibra óptica quando precisar atingir distâncias maiores. Com os 10 km oferecidos pelo 10GBASE-LR e os 40 km oferecidos pelo 10GBASE-ER, cobrir grandes distâncias deixou de ser um problema.» Próximo: Cabeamento

Cabeamento No tópico anterior, citei apenas de relance os padrões de cabos e quais padrões Ethernet são suportados por cada um. Vamos agora ver mais detalhes sobre eles. Existem basicamente 3 tipos diferentes de cabos de rede: os cabos de par trançado (que são, de longe, os mais comuns), os cabos de fibra óptica (usados principalmente em links de longa distância) e os cabos coaxiais, que são usados em cabos de antenas para redes wireless e em algumas redes antigas. Existem vários motivos para os cabos coaxiais não serem mais usados hoje em dia: eles são mais propensos a mal contato, os conectores são mais caros e os cabos são menos flexíveis que os de par trançado, o que torna mais difícil passá-los por dentro de tubulações. No entanto, o principal motivo é o fato de que eles podem ser usados apenas em redes de 10 megabits: a partir do momento em que as redes 10/100 se tornaram populares, eles entraram definitivamente em desuso, dando lugar aos cabos de par trançado. A única exceção ficou por conta dos padrões 1000BASE-CX e 10GBASE-CX4, dois padrões para redes de curta distância que são baseados em cabos twinax, um cabo coaxial duplo, onde os dois fios são trançados (de forma similar a um cabo de par trançado), o que é combinado com uma blindagem mais espessa, de forma a minimizar a perda de sinal. Os cabos de rede transmitem sinais elétricos a uma freqüência muito alta e a distâncias relativamente grandes, por isso são muito vulneráveis a interferências eletromagnéticas externas. Os cabos de par trançado são classificados em categorias, que indicam a qualidade do cabo e a freqüência máxima suportada por ele. Cada categoria é composta por um conjunto de características técnicas e de normas de fabricação, que precisam ser atendias pelos fabricantes. Fabricar cabos de rede é mais complicado do que parece. Diferente dos cabos de cobre comuns, usados em instalações elétricas, os cabos de rede precisam suportar freqüências muito altas, causando um mínimo de atenuação do sinal. Para isso, é preciso minimizar ao máximo o aparecimento de bolhas e impurezas durante a fabricação dos cabos. No caso dos cabos de par trançado, é preciso ainda cuidar do entrançamento dos pares de cabos, que também é um fator crítico.» Próximo: Categorias de cabos

Categorias de cabos Existem cabos de cat 1 até cat 7. Como os cabos cat 5 são suficientes tanto para redes de 100 quanto de 1000 megabits, eles são os mais comuns e mais baratos, mas os cabos cat 6 e cat 6a estão se popularizando e devem substituí-los ao longo dos próximos anos. Os cabos são vendidos originalmente em caixas de 300 metros, ou 1000 pés (que equivale a 304.8 metros): No caso dos cabos cat 5e, cada caixa custa em torno de 200 reais aqui no Brasil, o que dá cerca 66 centavos o metro. Os cabos de categoria 6 e 6a ainda são mais caros, mas devem cair a um patamar de preço similar ao longo dos próximos anos. Os cabos de par trançados são compostos por 4 pares de fios de cobre que, como o nome sugere, são trançados entre si. Este sistema cria uma barreira eletromagnética, protegendo as transmissões de interferências externas, sem a necessidade de usar uma camada de blindagem. Este sistema sutil de proteção contrasta com a "força bruta" usada nos cabos coaxiais, onde o condutor central é protegido de interferências externas por uma malha metálica. Para evitar que os sinais de um cabo interfiram com os dos vizinhos, cada par de cabos utiliza um padrão de entrançamento diferente, com um número diferente de tranças por metro, como você pode ver na foto a seguir: O uso de tranças nos cabos é uma idéia antiga, que remonta ao final do século 19, quando a técnica passou a ser utilizada no sistema telefônico, de forma a aumentar a distância que o sinal era capaz de percorrer. Originalmente, as tranças dos cabos não seguiam um padrão definido, mas, com o passar do tempo, o número de tranças por metro, juntamente com outros detalhes técnicos foram padronizados. Isso permitiu que os cabos de par trançado, originalmente desenvolvidos para transportar sinais de voz, dessem um grande salto de qualidade, passando a atender redes de 10, 100, 1000 e recentemente de 10000 megabits, uma evolução realmente notável. Para potencializar o efeito da blindagem eletromagnética, as placas de rede utilizam o sistema "balanced pair" de transmissão, onde, dentro de cada par, os dois fios enviam o mesmo sinal (e não transmissões separadas, como geralmente se pensa), porém com a polaridade invertida. Para um bit "1", o primeiro fio envia um sinal elétrico positivo, enquanto o outro envia um sinal elétrico negativo:

Ou seja, o segundo fio é usado para enviar uma cópia invertida da transmissão enviada através do primeiro, o que tira proveito das tranças do cabo para criar o campo eletromagnético que protege os sinais contra interferências externas, mesmo nos cabos sem blindagem. Devido a esta técnica de transmissão, os cabos de par trançado são também chamados de "balanced twisted pair", ou "cabo de par trançado balanceado". À primeira vista, pode parecer um desperdício abrir mão de metade dos fios do cabo, mas sem isso o comprimento máximo dos cabos seria muito menor e as redes seriam muito mais vulneráveis a interferências. Voltando ao tema inicial, em todas as categorias, a distância máxima permitida é de 100 metros (com exceção das redes 10G com cabos categoria 6, onde a distância máxima cai para apenas 55 metros). O que muda é a freqüência e, conseqüentemente, a taxa máxima de transferência de dados suportada pelo cabo, além do nível de imunidade a interferências externas. Vamos então a uma descrição das categorias de cabos de par trançado existentes: Categorias 1 e 2: Estas duas categorias de cabos não são mais reconhecidas pela TIA (Telecommunications Industry Association), que é a responsável pela definição dos padrões de cabos. Elas foram usadas no passado em instalações telefônicas e os cabos de categoria 2 chegaram a ser usados em redes Arcnet de 2.5 megabits e redes Token Ring de 4 megabits, mas não são adequados para uso em redes Ethernet. Categoria 3: Este foi o primeiro padrão de cabos de par trançado desenvolvido especialmente para uso em redes. O padrão é certificado para sinalização de até 16 MHz, o que permitiu seu uso no padrão 10BASE-T, que é o padrão de redes Ethernet de 10 megabits para cabos de par trançado. Existiu ainda um padrão de 100 megabits para cabos de categoria 3, o 100BASE-T4 (que vimos a pouco), mas ele é pouco usado e não é suportado por todas as placas de rede. A principal diferença do cabo de categoria 3 para os obsoletos cabos de categoria 1 e 2 é o entrançamento dos pares de cabos. Enquanto nos cabos 1 e 2 não existe um padrão definido, os cabos de categoria 3 (assim como os de categoria 4 e 5) possuem pelo menos 24 tranças por metro e, por isso, são muito mais resistentes a ruídos externos. Cada par de cabos tem um número diferente de tranças por metro, o que atenua as interferências entre os pares de cabos. Categoria 4: Esta categoria de cabos tem uma qualidade um pouco superior e é certificada para sinalização de até 20 MHz. Eles foram usados em redes Token Ring de 16 megabits e também podiam ser utilizados em redes Ethernet em substituição aos cabos de categoria 3, mas na prática isso é incomum. Assim como as categorias 1 e 2, a categoria 4 não é mais reconhecida pela TIA e os cabos não são mais fabricados, ao contrário dos cabos de categoria 3, que continuam sendo usados em instalações telefônicas. Categoria 5: Os cabos de categoria 5 são o requisito mínimo para redes 100BASE-TX e 1000BASE-T, que são, respectivamente, os padrões de rede de 100 e 1000 megabits usados atualmente. Os cabos cat 5 seguem padrões de fabricação muito mais estritos e suportam freqüências de até 100 MHz, o que representa um grande salto em relação aos cabos cat 3. Apesar disso, é muito raro encontrar cabos cat 5 à venda atualmente, pois eles foram substituídos pelos cabos categoria 5e (o "e" vem de "enhanced"), uma versão aperfeiçoada do padrão, com normas mais estritas, desenvolvidas de forma a reduzir a interferência entre os cabos e a perda de sinal, o que ajuda em cabos mais longos, perto dos 100 metros permitidos. Os cabos cat 5e devem suportar os mesmos 100 MHz dos cabos cat 5, mas este valor é uma especificação mínima e não um número exato. Nada impede que fabricantes produzam cabos acima do padrão, certificando-os para freqüências mais elevadas. Com isso, não é difícil encontrar no mercado cabos cat 5e certificados para 110 MHz, 125 MHz ou mesmo 155 MHz, embora na prática isso não faça muita diferença, já que os 100 MHz são suficientes para as redes 100BASE-TX e 1000BASE-T. É fácil descobrir qual é a categoria dos cabos, pois a informação vem decalcada no próprio cabo, como na foto: Cabo cat 5E, certificado para o padrão EIA-568-B Os cabos 5e são os mais comuns atualmente, mas eles estão em processo de substituição pelos cabos categoria 6 e categoria 6a, que

podem ser usados em redes de 10 gigabits. Categoria 6: Esta categoria de cabos foi originalmente desenvolvida para ser usada no padrão Gigabit Ethernet, mas com o desenvolvimento do padrão para cabos categoria 5 sua adoção acabou sendo retardada, já que, embora os cabos categoria 6 ofereçam uma qualidade superior, o alcance continua sendo de apenas 100 metros, de forma que, embora a melhor qualidade dos cabos cat 6 seja sempre desejável, acaba não existindo muito ganho na prática. Os cabos categoria 6 utilizam especificações ainda mais estritas que os de categoria 5e e suportam freqüências de até 250 MHz. Além de serem usados em substituição dos cabos cat 5 e 5e, eles podem ser usados em redes 10G, mas nesse caso o alcance é de apenas 55 metros. Para permitir o uso de cabos de até 100 metros em redes 10G foi criada uma nova categoria de cabos, a categoria 6a ("a" de "augmented", ou ampliado). Eles suportam freqüências de até 500 MHz e utilizam um conjunto de medidas para reduzir a perda de sinal e tornar o cabo mais resistente a interferências. Você vai encontrar muitas referências na web mencionando que os cabos cat 6a suportam freqüências de até 625 MHz, que foi o valor definido em uma especificação preliminar do 10GBASE-T. Mas, avanços no sistema de modulação permitiram reduzir a freqüência na versão final, chegando aos 500 MHz. Uma das medidas para reduzir o crosstalk (interferências entre os pares de cabos) no cat 6a foi distanciá-los usando um separador. Isso aumentou a espessura dos cabos de 5.6 mm para 7.9 mm e tornou-os um pouco menos flexíveis. A diferença pode parecer pequena, mas ao juntar vários cabos ela se torna considerável: Cabo cat 6a, com o espaçador interno e comparação entre a espessura do mesmo volume de cabos cat 5e e cat 6a É importante notar que existe também diferenças de qualidade entre os conectores RJ-45 destinados a cabos categoria 5 e os cabos cat 6 e cat 6a, de forma que é importante checar as especificações na hora da compra. Aqui temos um conector RJ-45 cat 5 ao lado de um cat 6. Vendo os dois lado a lado é possível notar pequenas diferenças, a principal delas é que no conector cat 5 os 8 fios do cabo ficam lado a lado, formando uma linha reta, enquanto no conector cat 6 eles são dispostos em zig-zag, uma medida para reduzir o cross-talk e a perda de sinal no conector:

Embora o formato e a aparência seja a mesma, os conectores RJ-45 destinados a cabos cat 6 e cat 6a utilizam novos materiais, suportam freqüências mais altas e introduzem muito menos ruído no sinal. Utilizando conectores RJ-45 cat 5, seu cabeamento é considerado cat 5, mesmo que sejam utilizados cabos cat 6 ou 6a. O mesmo se aplica a outros componentes do cabeamento, como patch-panels, tomadas, keystone jacks (os conectores fêmea usados em tomadas de parede) e assim por diante. Componentes cat 6 em diante costumam trazer a categoria decalcada (uma forma de os fabricantes diferenciarem seus produtos, já que componentes cat 6 e 6a são mais caros), como nestes keystone jacks onde você nota o "CAT 6" escrito em baixo relevo:

Keystone jacks categoria 6 Existem também os cabos categoria 7, que podem vir a ser usados no padrão de 100 gigabits, que está em estágio inicial de desenvolvimento. Outro padrão que pode vir (ou não) a ser usado no futuro são os conectores TERA, padrão desenvolvido pela Siemon. Embora muito mais caro e complexo que os conectores RJ45 atuais, o TERA oferece a vantagem de ser inteiramente blindado e utilizar um sistema especial de encaixe, que reduz a possibilidade de mal contato: Conectores TERA O TERA foi cogitado para ser usado no padrão 10GBASE-T, mas a idéia foi abandonada. Agora ele figura como um possível candidato para as redes de 100 gigabits, embora até o momento nada esteja confirmado. Cabos de padrões superiores podem ser usados em substituição de cabos dos padrões antigos, além de trazerem a possibilidade de serem aproveitados nos padrões de rede seguintes. Entretanto, investir em cabos de um padrão superior ao que você precisa nem sempre é uma boa idéia, já que cabos de padrões recém-introduzidos são mais caros e difíceis de encontrar. Além disso, não existe garantia de que os cabos usados serão mesmo suportados dentro do próximo padrão de redes até que ele esteja efetivamente concluído. Por exemplo, quem investiu em cabos de categoria 6, pensando em aproveitá-los em redes de 10 gigabits acabou se frustrando, pois no padrão 10G a distância máxima usando cabos cat 6 caiu para apenas 55 metros e foi introduzido um novo padrão, o 6a. O mesmo pode acontecer com os cabos categoria 7; não existe nenhuma garantia de que eles sejam mesmo suportados no padrão de 100 gigabits. Pode muito bem ser introduzido um novo padrão de cabos, ou mesmo que os cabos de cobre sejam abandonados em favor dos de fibra óptica. Continuando, temos também a questão da blindagem, que não tem relação direta com a categoria do cabo. Os cabos sem blindagem são mais baratos, mais flexíveis e mais fáceis de crimpar e por isso são de longe os mais populares, mas os cabos blindados podem prestar bons serviços em ambientes com forte interferência eletromagnética, como grandes motores elétricos ou grandes antenas de transmissão muito próximas. Outras fontes menores de interferências são as lâmpadas fluorescentes (principalmente lâmpadas cansadas, que ficam piscando), cabos elétricos, quando colocados lado a lado com os cabos de rede, e até mesmo telefones celulares muito próximos dos cabos. Este tipo de interferência não chega a interromper o funcionamento da rede, mas pode causar perda de pacotes. No final de cada frame Ethernet são incluídos 32 bits de CRC, que permitem verificar a sua integridade. Ao receber cada frame, a estação verifica se a soma dos bits bate com o valor do CRC. Sempre que a soma der errado, ela solicita a retransmissão do pacote, o que é repetido indefinidamente, até que ela receba uma cópia intacta. Sobre este sistema de verificação feito pelas placas de rede (nível 2 do modelo OSI) ainda temos a verificação feita pelo protocolo TCP (nível 4), que age de forma similar, verificando a integridade dos pacotes e solicitando retransmissão dos pacotes danificados. Esta dupla verificação garante uma confiabilidade muito boa. Mesmo em uma rede bem cabeada, frames retransmitidos são uma ocorrência normal, já que nenhum cabeamento é perfeito, mas um grande volume deles são um indício de que algo está errado. Quanto mais intensa for a interferência, maior será o volume de frames corrompidos e de retransmissões e pior será o desempenho da rede, tornando mais vantajoso o uso de cabos blindados. Os cabos sem blindagem são chamados de UTP (Unshielded Twisted Pair, que significa, literalmente, "cabo de par trançado sem blindagem"). Os cabos blindados, por sua vez, se dividem em três categorias: FTP, STP e SSTP. Os cabos FTP (Foiled Twisted Pair) são os que utilizam a blindagem mais simples. Neles, uma fina folha de aço ou de liga de alumínio envolve todos os pares do cabo, protegendo-os contra interferências externas, mas sem fazer nada com relação ao crosstalk, ou seja, a interferência entre os pares de cabos: Cabo FTP Os cabos STP (Shielded Twisted Pair) vão um pouco além, usando uma blindagem individual para cada par de cabos. Isso reduz o crosstalk e melhora a tolerância do cabo com relação à distância, o que pode ser usado em situações onde for necessário crimpar cabos

fora do padrão, com mais de 100 metros: Cabo STP Finalmente, temos os cabos SSTP (Screened Shielded Twisted Pair), também chamados de SFTP (Screened Foiled Twisted Pair), que combinam a blindagem individual para cada par de cabos com uma segunda blindagem externa, envolvendo todos os pares, o que torna os cabos especialmente resistentes a interferências externas. Eles são mais adequados a ambientes com fortes fontes de interferências: Cabo SSTP Para melhores resultados, os cabos blindados devem ser combinados com conectores RJ-45 blindados. Eles incluem uma proteção metálica que protege a parte destrançada do cabo que vai dentro do conector, evitando que ela se torne o elo mais fraco da cadeia:

Conectores RJ-45 blindados Quanto maior for o nível de interferência, mais vantajosa será a instalação de cabos blindados. Entretanto, em ambientes normais os cabos sem blindagem funcionam perfeitamente bem; justamente por isso os cabos blindados são pouco usados. Concluindo, existem também cabos de rede com fios sólidos e também cabos stranded (de várias fibras, também chamados de patch), onde os 8 fios internos são compostos por fios mais finos. Os cabos sólidos são os mais comuns e são os recomendados para uso geral, pois oferecem uma menor atenuação do sinal (cerca de 20% menos, considerando dois cabos de qualidade similar): Visão interna de um cabo sólido e de um cabo stranded A única vantagem dos cabos stranded é que o uso de múltiplos fios torna os cabos mais flexíveis, o que faz com que sejam muitas vezes preferidos para cabos de interconexão curtos (patch cords), usados para ligar os PCs à tomadas de parede ou ligar o switch ao patch panel (veja detalhes a seguir). Dentro do padrão, os cabos de rede crimpados com cabos stranded não devem ter mais de 10 metros. Você pode usar um cabo sólido de até 90 metros até a tomada e um cabo stranded de mais 10 metros até o micro, mas não pode fazer um único cabo stranded de 100 metros. Embora seja um detalhe pouco conhecido, existiram conectores RJ-45 próprios para cabos stranded, onde as facas-contato internas tinham a ponta arredondada. Estes conectores não funcionavam muito bem com cabos sólidos (o formato da faca-contato tornava o contato deficiente). Tínhamos então conectores específicos para cabos sólidos, que utilizavam facas-contato com três lâminas. Estes dois tipos foram logo substituídos pelos conectores atuais, onde as facas-contato são pontudas, de forma a funcionarem bem com os dois tipos de cabos. Os conectores RJ45 com este tipo de contato (que são praticamente os únicos usados atualmente) são também chamados de conectores universais:

Detalhe da faca-contato de um conector RJ-45» Próximo: Hubs, switches, bridges e roteadores Hubs, switches, bridges e roteadores O hub ou switch é simplesmente o coração da rede. Ele serve como um ponto central, permitindo que todos os pontos se comuniquem entre si. Todas as placas de rede são ligadas ao hub ou switch e é possível ligar vários hubs ou switches entre si (até um máximo de 7), caso necessário. A diferença entre os hubs e switches é que o hub apenas retransmite tudo o que recebe para todos os micros conectados a ele, como se fosse um espelho. Isso significa que apenas um micro pode transmitir dados de cada vez e que todas as placas precisam operar na mesma velocidade, que é sempre nivelada por baixo. Caso você coloque um micro com uma placa de 10 megabits na rede, a rede toda passará a trabalhar a 10 megabits. Os switches por sua vez são aparelhos muito mais inteligentes. Eles fecham canais exclusivos de comunicação entre o micro que está enviando dados e o que está recebendo, permitindo que vários pares de micros troquem dados entre si ao mesmo tempo. Isso melhora bastante a velocidade em redes congestionadas, com muitos micros. Outra vantagem dos switches é que eles permitem o uso do modo full-duplex, onde é possível enviar e receber dados simultaneamente. Isso permite que os micros disponham de 100 ou 1000 megabits em cada sentido, agilizando as transmissões. Hoje em dia, os hubs "burros" caíram em desuso. Quase todos à venda atualmente são "hub-switches", modelos de switches mais baratos, que custam quase o mesmo que um hub antigo. Depois destes, temos os switches "de verdade", capazes de gerenciar um número muito maior de portas, sendo por isso adequados a redes de maior porte. Um switch pode operar de quatro formas. No sistema cut-through o switch inicia a retransmissão dos frames imediatamente após receber os headers (que contém os endereços de origem e de destino). Nesse modo o switch não faz nenhum tipo de verificação no frame, simplesmente o retransmite da forma como os dados foram recebidos. No modo store-and-forward o switch armazena o pacote na memória, realiza algumas verificações básicas e só então envia o pacote ao destinatário, descartando pacotes inválidos e solicitando a retransmissão de pacotes corrompidos. A vantagem do modo cut-through é a baixa latência, já que o switch executa muito pouco processamento e vai retransmitindo os dados do pacote conforme eles são recebidos. Entretanto, além da questão da estabilidade e melhor uso da banda da rede, o modo store-andforward oferece uma vantagem importante, que é o fato de permitir que as portas do switch trabalhem a diferentes velocidades, sem precisar reduzir a taxa de transmissão da porta mais rápida, limitando-a à da porta mais lenta. Uma terceira tecnologia é a adaptative cut-through, disponível em modelos mais recentes. Nesse modo, o switch opera inicialmente em modo cut-through (para minimizar a latência), mas passa automaticamente a operar em modo store-and-forward caso detecte um grande volume de frames inválidos ou corrompidos, ou caso precise transmitir frames entre duas portas operando a diferentes velocidades (100 e 1000, por exemplo). No caso dos switches adaptative cut-through gerenciáveis, é possível também forçar um dos dois modos de operação. Hoje em dia, o modo de operação do switch é mais uma opção de design do que uma diferença prática, pois em redes de 100 e 1000 megabits o tempo de latência é sempre muito baixo, independentemente do modo de operação. A maioria dos switches gigabit atuais operam com tempos de latência inferiores a 20 microsegundos (0.02 ms), o que é uma necessidade, já que um switch lento não conseguiria encaminhar 1 gigabit de dados por segundo em primeiro lugar. O quarto modo de operação, pouco relevante hoje em dia, é o fragment-free, onde o switch aguarda o recebimento dos primeiros 64 bytes do frame, certifica-se de que não ocorreu uma colisão e só então o retransmite. Este modo foi desenvolvido para minimizar a ocorrência de colisões, mas se tornou irrelevante com a popularização do modo full-duplex, onde é negociado um canal exclusivo de transmissão entre cada estação e o switch, eliminando o problema. Voltando ao tema inicial, tanto os "hub-switches", quanto os switches "de verdade" são dispositivos que trabalham no nível 2 do modelo OSI. O que muda entre as duas categorias é o número de portas e recursos. Os switches "de verdade" possuem interfaces de gerenciamento, que você acessa através do navegador em um dos micros da rede, que permitem visualizar diversos detalhes sobre o tráfego, descobrir problemas na rede e alterar diversas configurações, enquanto que os "hub-switches" são dispositivos burros.

Hoje em dia, existem ainda os "level 3 switches", uma categoria ainda mais inteligente de switches, que incorporam algumas características dos roteadores. Eles permitem definir rotas entre os diferentes micros da rede com base no endereço MAC ou endereço IP, criar redes virtuais (VLANs) e assim por diante. O uso de VLANs permite dividir as portas do switch em dois ou mais switches lógicos, que realmente funcionam como se fossem aparelhos separados, dando uma grande flexibilidade ao definir a topologia da rede. Configuração de VLANs na interface de gerenciamento de um Netgear GS716T Os switches com interfaces de gerenciamento são genericamente chamados de "manageable switchs" (switches gerenciáveis) ou "fully managed switchs", enquanto os switches mais simples são chamados de "unmanaged switchs" (switches não-gerenciáveis). Um exemplo de switch gerenciável de baixo custo é o Linksys SRW2008 que custa (no exterior) pouco mais de US$ 200. Nele, a interface de gerenciamento é acessível usando o navegador. Inicialmente o switch fica disponível através do endereço "192.168.1.254" (você precisa configurar seu PC para um endereço dentro da mesma faixa para acessá-lo), mas o endereço pode ser alterado após o primeiro acesso. É possível também acessar a configuração do switch usando um cabo serial e um cliente de terminal, como o Hyper Terminal (no Windows) ou o Minicom (no Linux). Linksys SRW2008

Existe ainda uma categoria de switches intermediários, chamados de "smart switchs". Eles são switches gerenciáveis de baixo custo, destinados a redes domésticas, que oferecem apenas um pequeno conjunto das opções disponíveis nos modelos fully managed, mas em troca custam menos. Duas características básicas disponíveis nos smart switches são a possibilidade de criar redes virtuais e ativar o uso do QoS. O QoS permite priorizar o tráfego de determinados tipos de dados (streaming de vídeo, por exemplo) ou o tráfego de determinadas portas (a porta onde o servidor está conectado, por exemplo), evitando interrupções no fluxo de dados nos momentos de atividade intensa da rede. Temos também os "stackable switchs" (switches empilháveis) que podem ser combinados para formar switches maiores. Eles normalmente são produzidos no formato 1U, de forma a serem instalados em racks para servidores: Netgear FSM7328S, um exemplo de stackable switch Se o objetivo fosse simplesmente obter mais portas, você poderia muito bem ligar vários switches baratos utilizando cabos de rede. Ligando três switches de 8 portas, você obteria um switch de 20 portas (4 das portas são sacrificadas para fazer a ligação) e assim por diante: Ligação de três hub-switches em modo daisy chain Antigamente, a ligação era feita usando cabos cross-over, ou utilizando a porta "uplink" do hub, mas nos hub-switches atuais você pode utilizar qualquer uma das portas e utilizar tanto cabos straight quanto cabos cross-over, pois o switch é capaz de detectar o tipo de cabo usado. Esta configuração é apelidada de "daisy chain" e permite que você interconecte até 5 níveis de hubs ou de switches (o primeiro é ligado ao segundo, o segundo ao terceiro, o terceiro ao quarto e o quarto ao quinto) este limite existe porque as estações ligadas a um sexto switch excederiam o limite de repetições ao se comunicarem com as estações ligadas ao primeiro. É possível interligar mais do que 5 switches, desde que você ligue-os a um switch central. Você poderia ter, por exemplo, 8 switches de 8 portas ligados às 8 portas do switch central, totalizando 56 portas disponíveis. O switch central passa então a ser chamado de "backbone switch", já que passa a ser a espinha dorsal da rede. O problema é que nesse caso a comunicação entre os switches é feita na velocidade da rede, ou seja, a 100 ou 1000 megabits, o que cria um grande gargalo em situações onde vários micros (ligados a diferentes switches) precisem transmitir dados simultaneamente.

A principal vantagem dos stackable switches é que eles possuem barramentos de comunicação dedicados (chamados de "stacking bus") para a comunicação entre os switches, que oferecem velocidades de transmissão muito mais elevadas, eliminando o gargalo: Portas do stacking bus utilizado para interligar os switches. Neste modelo da Netgear, até 6 switches podem ser interligados. Além de serem ligados um ao outro, o último é ligado ao primeiro, de forma a manter a comunicação caso um dos 6 falhe ou seja desligado. Para cortar custos nos modelos mais baratos, é comum que o barramento dedicado seja substituído por uma ou mais portas do padrão Ethernet seguinte, que podem ser usadas para fazer a interligação entre os switches. Um switch com portas de 100 megabits pode incluir então uma porta uplink de 1000 megabits, por exemplo. Além disso, eles permitem a conexão de um número maior de switches (atendendo a situações onde você pr ecisa de um número muito grande de portas, como no caso de datacenters), além de opções de gerenciamento e recursos extras, como a presença de algumas portas para cabos de fibra óptica, que podem ser utilizados para criar backbones de longa distância interligando os switches. O Netgear FSM7328S da foto anterior, por exemplo, possui 24 portas de 100 megabits e 4 portas gigabit, que suportam o uso de cabos de par trançado ou de fibra óptica. O switch trabalha utilizando o modo store and forward, de forma que as conexões envolvendo portas de velocidades diferentes não são niveladas por baixo. Um servidor ligado a uma das portas gigabit poderia (na ausência de outros gargalos, como a taxa de transferência do HD ou overhead do protocolo) atender 10 clientes ligados às portas de 100 megabits, enviando 100 megabits de dados para cada um, simultaneamente. Temos também os bridges (pontes), que permitem interligar dois segmentos de rede, de forma que eles passem a formar uma única rede. Em redes antigas, onde era utilizado um único cabo coaxial ou um hub burro, o uso de bridges permitia dividir a rede em segmentos menores, reduzindo, assim, o volume de colisões e melhorando o desempenho da rede. O bridge trabalha no nível 2 do modelo OSI, verificando os endereços MAC de origem e de destino dos frames e encaminhando apenas os frames necessários de um segmento a outro. Outra vantagem é que a rede passa a comportar duas transmissões simultâneas, uma envolvendo micros do segmento A e outra envolvendo micros do segmento B: Hoje em dia não faz sentido usar bridges para dividir a rede em segmentos porque os switches já desempenham essa função, criando

segmentos individuais para cada micro, o que praticamente elimina o problema das colisões, mas eles foram muito utilizados na época dos hubs burros. Outra utilidade dos bridges é unificar segmentos de rede baseados em mídias diferentes. Antigamente, quando ainda estava acontecendo a transição das redes com cabos coaxiais para as redes de par trançado, era muito comum que fosse utilizado um bridge para interligar os hosts conectados à rede antiga, com cabo coaxial à rede nova, com cabos de par trançado. Graças ao trabalho do bridge, tudo funcionava de forma transparente. O bridge não precisa necessariamente ser um dispositivo dedicado. Veja o caso deste hub antigo, que além das 8 portas para cabos de par trançado, possui também um conector de cabo coaxial, o que permite que ele assuma também a função de bridge, interligando os dois segmentos de rede: Hub 10/10 antigo, com saída para cabo coaxial Atualmente, o exemplo mais comum de bridge são os pontos de acesso wireless, que podem interligar os micros da rede cabeada aos micros conectados à rede wireless, criando uma única rede. Muitos pontos de acesso incorporam também switches de 4 ou mais portas, ou até mesmo miniroteadores, que permitem compartilhar a conexão entre os micros da rede local. Hoje em dia, dispositivos "tudo em um" são cada vez mais comuns, pois com o avanço das técnicas de fabricação, tornou-se possível incluir cada vez mais circuitos em um único chip, fazendo com que um ponto de acesso "tudo em um" custe praticamente o mesmo que um ponto de acesso sem as funções extras. Finalmente, temos os roteadores, que são o topo da cadeia evolutiva. Os roteadores são ainda mais inteligentes, pois são capazes de interligar várias redes diferentes e sempre escolher a rota mais rápida para cada pacote de dados. Os roteadores operam no nível 3 do modelo OSI, procurando por endereços IP em vez de endereços MAC. Usando roteadores, é possível interligar um número enorme de redes diferentes, mesmo que situadas em países ou mesmo continentes diferentes. Note que cada rede possui seu próprio roteador e os vários roteadores são interligados entre si. É possível interligar inúmeras redes diferentes usando roteadores, e não seria de se esperar que todos os roteadores tivessem acesso direto a todos os outros roteadores a que estivesse conectado. Pode ser que, por exemplo, o roteador 4 esteja ligado apenas ao roteador 1, que esteja ligado ao roteador 2, que por sua vez esteja ligado ao roteador 3, que esteja ligado aos roteadores 5 e 6. Se um micro da rede 1 precisar enviar dados para um dos micros da rede 6, então o pacote passará primeiro pelo roteador 2, será encaminhado ao roteador 3 e finalmente ao roteador 6. Cada vez que o dado é transmitido de um roteador para outro, temos um "hop".

Os roteadores são inteligentes o suficiente para determinar o melhor caminho a seguir. Inicialmente, o roteador procurará o caminho com o menor número de hops: o caminho mais curto. Mas se por acaso perceber que um dos roteadores desta rota está ocupado demais (o que pode ser medido pelo tempo de resposta), ele procurará caminhos alternativos para desviar do trecho de lentidão, mesmo que para isso o sinal tenha que passar por mais roteadores. No final, apesar do sinal ter percorrido o caminho mais longo, chegará mais rápido, pois não precisará ficar esperando na fila do roteador congestionado. A Internet é, na verdade, uma rede gigantesca, formada por várias sub-redes interligadas por roteadores. Todos os usuários de um pequeno provedor, por exemplo, podem ser conectados à Internet por meio do mesmo roteador. Para baixar uma página do Google, por exemplo, o sinal deverá passar por vários roteadores, várias dezenas em alguns casos. Se todos estiverem livres, a página será carregada rapidamente. Porém, se alguns estiverem congestionados, pode ser que a página demore vários segundos antes de começar a carregar. Você pode medir o tempo que um pedido de conexão demora para ir até o destino e ser respondido usando o ping. Para verificar por quantos roteadores o pacote está passando até chegar ao destino, use o comando "traceroute" (no Linux) ou "tracert" (no Windows). Os roteadores podem ser desde PCs comuns, com duas ou mais placas de rede, até supercomputadores capazes de gerenciar centenas de links de alta velocidade. Muda o desempenho e muda o sistema operacional usado, mas o trabalho é fundamentalmente o mesmo.

Roteador Cisco com diversos links de fibra óptica Quando você usa um PC com duas placas de rede para compartilhar a conexão com os micros da rede local, você está configurando-o para funcionar como um roteador simples, que liga uma rede (a Internet) a outra (a sua rede doméstica). O mesmo acontece ao configurar seu modem ADSL como roteador. Pense que a diferença entre os switches e os roteadores é justamente esta: os switches permitem que vários micros sejam ligados formando uma única rede, enquanto que os roteadores permitem interligar várias redes diferentes, criando redes ainda maiores, como a própria Internet. Dentro de uma mesma rede é possível enviar pacotes de broadcast, que são endereçados a todos os integrantes da rede simultaneamente e, ao usar um hub burro, todos os micros recebem todas as transmissões. Um roteador filtra tudo isso, fazendo com que apenas os pacotes especificamente endereçados a endereços de outras redes trafeguem entre elas. Lembre-se de que, ao contrário das redes locais, os links de Internet são muito caros, por isso é essencial que sejam bem aproveitados.» Próximo: Modo full-duplex Modo full-duplex Tradicionalmente, as redes Ethernet operavam em modo half-duplex, onde é possível realizar apenas uma transmissão por vez, enviando ou recebendo dados, mas não as duas coisas simultaneamente. Este modo de funcionamento é herança das redes 10BASE-2 e das redes com hubs burros, onde todas as estações são ligadas ao mesmo cabo e apenas uma pode transmitir de cada vez, com a possibilidade de ocorrerem colisões. Como as transmissões são divididas em frames e são concluídas em um espaço muito pequeno de tempo, transferências simultâneas podem ser feitas "ao mesmo tempo", mas a velocidade da rede é dividida entre as transmissões. Ao enviar um grande arquivo, ao mesmo tempo em que baixa outro, você obteria, na melhor das hipóteses, 50 megabits em cada direção em uma rede de 100 megabits. Na prática, a taxa ficaria abaixo disso, pois parte da banda da rede seria desperdiçada na forma de colisões e retransmissões de pacotes. O modo full-duplex permite que cada nó da rede envie e receba dados simultaneamente, permitindo que você baixe um arquivo grande a partir do servidor de arquivos da rede, ao mesmo tempo em que outro micro da rede copia um arquivo a partir do seu. Ambas as transferências são feitas na velocidade máxima permitida pela rede, ou seja, 100 ou 1000 megabits. No modo full-duplex também não é mais usado o CSMA-CD, pois as colisões de pacotes simplesmente deixam de existir. Para que isso aconteça, é obrigatório o uso de um switch ou hub-switch. Não é possível usar o modo full-duplex usando um hub burro. O full-duplex é suportado por todos os padrões de rede do 100BASE-TX em diante, incluindo o 1000BASE-T, usado nas rede Gigabit. É muito raro ter uma rede Gigabit operando em modo half-duplex, simplesmente porque não existe mais mercado para hubs burros e produzí-los não resultaria em um preço de venda muito mais baixo em primeiro lugar, mas de qualquer forma a possibilidade ainda existe. As redes 10G, por sua vez, abandonaram definitivamente o suporte ao modo half-duplex, operando em modo full-duplex por padrão. Os hubs burros não são mais previstos no padrão 10G, de forma que eles logo se tornarão coisa do passado.

Embora o uso do modo full-duplex não dobre o desempenho da rede (já que raramente as estações precisarão transmitir grandes volumes de dados ao mesmo tempo), ele representa sempre um certo ganho e por isso é sempre desejável. As placas de rede são capazes de detectar automaticamente quando o full-duplex está disponível e ativá-lo automaticamente, tanto no Linux quanto no Windows. No Linux, você pode verificar a configuração através dos comandos "mii-tool" e "ethtool". O mii-tool é o utilitário mais antigo, enquanto o ethtool é seu sucessor atualizado. Muitas placas antigas suportam apenas o mii-tool e a maioria das placas modernas suportam apenas o ethtool, de forma que você acaba tendo que utilizar um ou outro de acordo com a placa usada. Para checar o modo de operação da placa de rede, basta usar o comando mii-tool sem parâmetros ou o ethtool seguido da interface, como em: # eth0: negotiated 100BaseTx-FD, link ok mii-tool # ethtool eth0 Settings for eth0: Supported ports: [ TP MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Advertised auto-negotiation: Yes Speed: 100Mb/s Duplex: Full Port: MII PHYAD: 32 Transceiver: internal Auto-negotiation: on Supports Wake-on: pumbg Wake-on: d Current message level: 0x00000007 (7) Link detected: yes Como você pode ver, o mii-tool vai mais direto ao ponto, fornecendo a informação em uma única linha, enquanto o ethtool é mais falador. O "100BaseTx-FD" na saída do mii-tool indica que a placa está operando em modo full-duplex. Caso a placa estivesse trabalhando em modo half-duplex, ela apareceria como "100BaseTx-HD". Note que o "FD" e "HD" são justamente abreviações de full-duplex e halfduplex. Caso você estivesse usando placas antigas (de 10 megabits), seriam usados, respectivamente, os modos "10BaseT-FD" e "10BaseT-HD". Existe ainda um último modo possível, o "100BaseT4", que indica que a placa está utilizando o padrão para cabos cat 3, onde são utilizados os 4 fios do cabo. No caso do ethtool, a velocidade é indicada na linha "Speed", que pode conter os valores "10", "100", "1000" ou "10000" e o uso do half-duplex ou full-duplex na linha "Duplex", que pode conter os valores "Half" ou "Full". Como disse, o modo de operação é definido automaticamente, depois de um rápido processo de negociação entre a placa e o hub ou switch. É possível também usar o mii-tool e o ethtool para forçar um determinado modo de operação. No caso do mii-tool, use o parâmetro "-F", seguido do padrão desejado, como em: # mii-tool -F 100BaseTx-FD eth0 ou: # mii-tool -F 100BaseTx-HD eth0 No caso do ethtool a linha de comando é um pouco mais longa, contendo a interface, a velocidade desejada e o parâmetro "half" ou "full". É necessário adicionar também o parâmetro "autoneg off", que desativa a auto-negociação, passando a usar a configuração definida por você, como em: # ethtool -s eth0 speed 100 duplex full autoneg off ou: # ethtool -s eth0 speed 10 duplex half autoneg off Note que forçar o modo full-duplex em uma rede onde o hub ou os cabos não suportem este modo de operação, fará com que pacotes passem a ser perdidos, deixando a rede lenta ou mesmo derrubando a conexão do seu micro. Estas opções são destinadas a casos onde a auto-negociação falhe, ou onde você queira deliberadamente reduzir a velocidade de operação da rede. Para verificar o uso do modo full-duplex no Windows, acesse as propriedades da conexão de rede e clicar em "configurar" para abrir a janela de opções da placa de rede. Você encontrará a opção com o modo de transferência da placa de rede na sessão "Avançado":

» Próximo: Hubs passivos e splitters Hubs passivos e splitters Muitos livros antigos sobre redes comentam e até discutem as vantagens e desvantagens dos "hubs ativos" em comparação com os "hubs passivos". Hoje em dia, todos os hubs são ativos, por isso a discussão não vem mais ao caso, mas ainda assim é interessante entender do que se trata, mesmo que apenas para simples referência histórica. :) Um hub ativo é um hub que utiliza alimentação elétrica para retransmitir os frames recebidos, reenviando-os em todas as outras portas. Com isso, o sinal já enfraquecido recebido dos micros é reforçado e pode percorrer mais 100 metros até o destinatário final, permitindo que a rede se estenda a uma distância de até 200 metros, sendo 100 metros entre o micro A e o hub, e mais 100 metros do hub até o micro B. Basicamente, todos os hubs que são ligados na tomada são hubs ativos, enquanto os hubs passivos são capazes de funcionar sem alimentação elétrica. No caso dos switches e roteadores, a discussão de passivo e ativo não vem mais ao caso, pois todos são, por definição, ativos. Um "switch" que não utilizasse alimentação elétrica, não processasse e não retransmitisse os frames não seria um switch em primeiro lugar. O maior problema com os hubs passivos é que eles são previstos apenas no padrão 10BASE-T, ou seja, o padrão para redes de 10 megabits utilizando cabos de par trançado. Eles não podem ser utilizados em redes de 100 ou 1000 megabits, pois, ao detectarem a ausência de um hub ativo ou switch, as placas automaticamente chaveiam para o modo 10BASE-T e a rede passa a trabalhar a 10 megabits de qualquer forma. Outra limitação é que os hubs passivos podem ter um máximo de 4 portas, já que, com um número maior do que este, o sinal emitido por cada micro não tem potência suficiente para chegar até todos os demais. Finalmente, temos a questão da distância, já que ao utilizar um hub passivo o sinal precisa percorrer todo o caminho de um micro a outro sem ajuda. Dessa forma, a rede pode se estender a no máximo 100 metros (somando o comprimento dos dois segmentos de cabo). Ou seja, você poderia usar um cabo de 50 metros do primeiro micro até o hub, e mais 50 metros do hub até o segundo. Com todas estas desvantagens, não é de se estranhar que os hubs passivos não sejam mais utilizados, afinal, hoje em dia um hub/switch de 8 portas custa menos de 70 reais, de forma que, por mais baratos que fossem, os hubs passivos seriam uma péssima opção. Os dispositivos mais próximos de um hub passivo que você pode eventualmente encontrar hoje em dia são adaptadores para ligar 3 micros entre si, sem necessidade de usar um hub, como o das fotos a seguir. Note que os 8 fios recebidos na primeira porta são duplicados e ligados nas outras duas:

Esses adaptadores na verdade são destinados a serem usados em instalações telefônicas que utilizam cabos de 8 fios, como em muitas instalações de PABX e não em redes. Internamente, eles não possuem nenhum componente eletrônico, são apenas emendas. Se você tem uma veia de inventor, deve estar se perguntando se não é possível fazer um "hub passivo" simplesmente juntando 4 pedaços de cabo (ou usando adaptadores como o da foto anterior, que na prática faz a mesma coisa). Afinal, esta seria uma forma muito barata de fazer uma rede entre até 4 micros e poderia ser usada em situações onde 10 megabits fossem suficientes, certo? Bem, na prática as coisas não funcionam bem assim :). Sair emendando cabos de rede seria uma gambiarra horrível. Na prática até funciona, mas você vai perceber que a velocidade da rede ficará realmente muito baixa, muito menor do que 10 megabits, devido a um brutal número de colisões de pacotes. Os micros passam a simplesmente receber "ecos" dos pacotes de acabaram de transmitir, o que faz com que a transmissão seja abortada. Após um período aleatório de tempo, tentam transmitir novamente e novamente recebem seus próprios pacotes de volta, fazendo com que o volume de dados efetivamente transmitido acabe sendo realmente muito pequeno. Um hub passivo precisa ter, no mínimo, um conjunto de diodos, instalados nos fios 1, 2, 3 e 6 (os pares verde e laranja) de cada conector. Os diodos permitem o fluxo da corrente elétrica em um único sentido, fazendo com que os sinais de cada micro saiam e cheguem até os demais, mas impedindo que eles retornem até o emissor. Se você gosta de eletrônica, aqui está o esquema de um hub passivo de três portas. Como você pode ver, são necessários 2 diodos para cada um dos 4 fios. As letras (A, B e C) indicam os conectores, enquanto os números indicam os fios dentro de cada um. O "A1" seria o primeiro fio do conector A (branco com laranja) e A6 seria o sexto (laranja). Note também que o hub só funcionaria com micros ligados nas três portas:

Este é um projeto interessante para mostrar para os amigos, mas na prática é mais fácil caminhar até a loja mais próxima e comprar um hub/switch "de verdade", que hoje em dia são muito baratos. Outro dispositivo de rede que lembra um pouco um hub passivo, mas que é baseado em uma idéia diferente são os splitters. Eles se aproveitam do fato dos padrões 10BASE-T e 100BASE-TX utilizarem apenas dois dois pares do cabo para dividirem o cabo de rede em dois, cada um com dois dos pares. Para que funcione, é necessário usar dois splitters, um de cada lado do cabo:

Como você pode ver pela ilustração, eles são destinados a serem usados em sistemas de cabeamento estruturado, onde o switch é ligado a um patch panel, da onde um novo cabo leva o sinal até as tomadas onde são plugados os micros. Você usaria um dos splitters para ligar dois cabos do switch a uma única porta no patch panel e o segundo splitter para ligar dois micros à mesma tomada. Com isso, os pares laranja e verde de cada uma das portas do switch são unidos no mesmo cabo de 4 pares e em seguida separados e distribuídos para os dois micros. Não funciona usando apenas um splitter, pois ao usá-lo para ligar dois micros diretamente ao switch, apenas um deles vai acessar a rede. Eles também não servem para ligar diretamente 3 micros, como pode parecer à primeira vista. Diferente da emenda de 5 reais que mostrei na foto anterior, estes splitters são mais caros e mais difíceis de encontrar, de forma que é muito mais fácil (e em alguns casos até mais barato) simplesmente usar outro switch para conectar os dois micros no mesmo cabo, deixando as outras portas disponíveis para expansões futuras do que apelar para gambiarras como esta.» Próximo: Fibra óptica Fibra óptica Os cabos de fibra óptica utilizam o fenômeno da refração interna total para transmitir feixes de luz a longas distâncias. Um núcleo de vidro muito fino, feito de sílica com alto grau de pureza é envolvido por uma camada (também de sílica) com índice de refração mais baixo, chamada de cladding, o que faz com que a luz transmitida pelo núcleo de fibra seja refletida pelas paredes internas do cabo. Com isso, apesar de ser transparente, a fibra é capaz de conduzir a luz por longas distâncias, com um índice de perda muito pequeno.

Embora a sílica seja um material abundante, os cabos de fibra óptica são caros devido ao complicado processo de fabricação, assim como no caso dos processadores, que são produzidos a partir do silício. A diferença entre sílica e silício é que o silício é o elemento Si puro, enquanto a sílica é composta por dióxido de silício, composto por um átomo de silício e dois de oxigênio. O silício é cinza escuro e obstrui a passagem da luz, enquanto a sílica é transparente. O núcleo e o cladding são os dois componentes funcionais da fibra óptica. Eles formam um conjunto muito fino (com cerca de 125 microns, ou seja, pouco mais de um décimo de um milímetro) e frágil, que é recoberto por uma camada mais espessa de um material protetor, que tem a finalidade de fortalecer o cabo e atenuar impactos chamado de coating, ou buffer. O cabo resultante é então protegido por uma malha de fibras protetoras, composta de fibras de kevlar (que têm a função de evitar que o cabo seja danificado ou partido quando puxado) e por uma nova cobertura plástica, chamada de jacket, ou jaqueta, que sela o cabo: Cabos destinados a redes locais tipicamente contêm um único fio de fibra, mas cabos destinados a links de longa distância e ao uso na área de telecomunicações contêm vários fios, que compartilham as fibras de kevlar e a cobertura externa:

Como os fios de fibra são muito finos, é possível incluir um grande volume deles em um cabo de tamanho modesto, o que é uma grande vantagem sobre os fios de cobre. Como a capacidade de transmissão de cada fio de fibra é bem maior que a de cada fio de cobre e eles precisam de um volume muito menor de circuitos de apoio, como repetidores, usar fibra em links de longa distância acaba saindo mais barato. Outra vantagem é que os cabos de fibra são imunes a interferência eletromagnética, já que transmitem luz e não sinais elétricos, o que permite que sejam usados mesmo em ambientes onde o uso de fios de cobre é problemático. Como criar links de longa distância cavando valas ou usando cabos submarinos é muito caro, é normal que seja usado um volume de cabos muito maior que o necessário. Os cabos adicionais são chamados de fibra escura (dark fiber), não por causa da cor, mas pelo fato de não serem usados. Eles ficam disponíveis para expansões futuras e para substituição de cabos rompidos ou danificados. Quando ouvir falar em padrões "para fibras escuras", tenha em mente que são justamente padrões de transmissão adaptados para uso de fibras antigas ou de mais baixa qualidade, que estão disponíveis como sobras de instalações anteriores. A transmissão de dados usando sinais luminosos oferece desafios, já que os circuitos eletrônicos utilizam eletricidade e não luz. Para solucionar o problema, é utilizado um transmissor óptico, que converte o sinal elétrico no sinal luminoso enviado através da fibra e um receptor, que faz o processo inverso. O transmissor utiliza uma fonte de luz, combinada com uma lente, que concentra o sinal luminoso, aumentando a percentagem que é efetivamente transmitida pelo cabo. Do outro lado, é usado um receptor ótico, que amplifica o sinal recebido e o transforma novamente nos sinais elétricos que são processados. Para reduzir a atenuação, não é utilizada luz visível, mas sim luz infravermelha, nanômetros, de acordo com o padrão de rede usado. Antigamente, eram utilizados tecnologia mais barata, mas com a introdução dos padrões Gigabit e 10 Gigabit eles laseres, que oferecem um chaveamento mais rápido, suportando, assim, a velocidade rede. com comprimentos de onda de 850 a 1550 LEDs nos transmissores, já que eles são uma foram quase que inteiramente substituídos por de transmissão exigida pelos novos padrões de Existem padrões de fibra óptica para uso em redes Ethernet desde as redes de 10 megabits. Antigamente, o uso de fibra óptica em redes Ethernet era bastante raro, mas com o lançamento dos padrões de 10 gigabits a utilização vem crescendo, com os links de fibra sendo usados sobretudo para criar backbones e links de longa distância. Existem dois tipos de cabos de fibra óptica, os multimodo ou MMF (multimode fibre) e os monomodo ou SMF (singlemode fibre). As fibras monomodo possuem um núcleo muito mais fino, de 8 a 10 mícrons de diâmetro, enquanto as multimodo utilizam núcleos mais espessos, tipicamente com 62.5 microns:

As fibras multimodo são mais baratas e o núcleo mais espesso demanda uma precisão menor nas conexões, o que torna a instalação mais simples, mas, em compensação, a atenuação do sinal luminoso é muito maior. Isso acontece porque o pequeno diâmetro do núcleo das fibras monomodo faz com que a luz se concentre em um único feixe, que percorre todo o cabo com um número relativamente pequeno de reflexões. O núcleo mais espesso das fibras multimodo, por sua vez, favorece a divisão do sinal em vários feixes separados, que ricocheteiam dentro do cabo em pontos diferentes, aumentando brutalmente a perda durante a transmissão, como você pode ver nos desenhos a seguir: Para efeito de comparação, as fibras multimodo permitem um alcance de até 550 metros no Gigabit Ethernet e 300 metros no 10 Gigabit, enquanto as fibras monomodo podem atingir até 80 km no padrão 10 Gigabit. Esta brutal diferença faz com que as fibras multimodo sejam utilizadas apenas em conexões de curta distância, já que sairia muito mais caro usar cabos multimodo e repetidores do que usar um único cabo monomodo de um ponto ao outro.» Próximo: Preparação e polimento Preparação e polimento Considerando que um mícron corresponde a um milésimo de milímetro, você pode imaginar a dificuldade que é preparar os cabos de fibra, emendar fibras partidas e assim por diante. Diferente dos cabos de cobre, que podem ser cortados e crimpados usando apenas ferramentas simples, as fibras exigem mais equipamento e um manuseio muito mais cuidadoso. Depois de retirada a jaqueta e o kevlar, sobra um fio muito fino, composto apenas pelo cabo de fibra e o revestimento interno (buffer), que é então limpo usando álcool isopropílico e colado ao conector usando uma cola de epoxy ou outro adesivo (de acordo com o conector usado). Depois de instalado o cabo, é necessário polir a ponta usando um suporte especial e uma sucessão de microlixas, progressivamente mais finas. No final do processo, é recomendável examinar a ponta em um microscópio (existem diversos modelos de microscópios portáteis para examinar cabos de fibra disponíveis no mercado) em busca de imperfeições. Sem esses cuidados, a ponta fica irregular e obstrui a passagem do sinal luminoso, inutilizando o cabo:

O processo de polimento da fibra e o núcleo examinado no microscópio Ao contrário dos cabos de par trançado, que utilizam 4 pares, os cabos de fibra são compostos por um único par de cabos, um usado para enviar e o outro para receber. Em tese, é possível criar sistemas de transmissão bidirecional usando fibra, usando luz com diferentes comprimentos de onda para enviar e receber, mas na prática o sistema provavelmente acabaria saindo mais caro do que simplesmente utilizar dois cabos. Para pequenas instalações, acaba sendo mais simples e mais barato comprar diretamente os cabos prontos, já no tamanho desejado. Um cabo de 10 metros de fibra multimodo pode custar menos de 80 reais.

Cabo de fibra com conectores LC Você pode se perguntar qual seria a vantagem de utilizar fibra óptica para curtas distâncias, já que os cabos de par trançado são suportados tanto no padrão Gigabit Ethernet quanto no 10G. A resposta é que é exatamente por esse motivo que os cabos de fibra óptica ainda não são usados em larga escala em redes locais, apesar de dominarem os links de longa distância. Normalmente, utiliza-se fibra óptica apenas em situações onde os 100 metros máximos do par trançado não são suficientes e o uso de switches ou repetidores para estender o sinal não é viável, ou em casos em que uma migração de longo prazo para fibra óptica está em curso.» Próximo: Conectores e splicing Conectores e splicing Existem vários tipos de conectores de fibra óptica. O conector tem uma função importante, já que a fibra deve ficar perfeitamente alinhada para que o sinal luminoso possa ser transmitido sem grandes perdas. Os quatro tipos de conector mais comuns são os LC, SC, ST e MT-RJ. Os conectores ST e SC eram os mais populares a até pouco tempo, mas os LC vêm crescendo bastante em popularidade e podem vir a se tornar o padrão dominante. Os conectores MT-RJ também têm crescido em popularidade devido ao seu formato compacto, mas ainda estão restritos a alguns nichos. Como cada conector oferece algumas vantagens sobre os concorrentes e é apoiado por um conjunto diferente de empresas, a escolha recai sobre o conector usado pelos equipamentos que pretender usar. É possível inclusive utilizar conectores diferentes dos dois lados do cabo, usando conectores LC de um lado e conectores SC do outro, por exemplo. O LC (Lucent Connector) é um conector miniaturizado que, como o nome sugere, foi originalmente desenvolvido pela Lucent. Ele vem crescendo bastante em popularidade, sobretudo para uso em fibras monomodo. Ele é o mais comumente usado em transceivers 10 Gigabit Ethernet: Conector LC

O ST (Straight Tip) é um conector mais antigo, muito popular para uso com fibras multimodo. Ele foi o conector predominante durante a década de 1990, mas vem perdendo espaço para o LC e outros conectores mais recentes. Ele é um conector estilo baioneta, que lembra os conectores BNC usados em cabos coaxiais. Embora os ST sejam maiores que os conectores LC, a diferença não é muito grande: Conector ST e cabo de fibra com conectores ST e LC O tubo branco cilíndrico que aparece na ponta do conector não é o fio de fibra propriamente dito, mas sim o ferrolho (ferrule), que é o componente central de todos os conectores, responsável por conduzir o fino núcleo de fibra e fixá-lo dentro do conector. Ele é uma peça de cerâmica, aço ou polímero plástico, produzido com uma grande precisão, já que com um núcleo de poucos mícrons de espessura, não existe muita margem para erro: Ferrolho de um conector ST A ponta do fio de fibra (fixada no ferrolho) precisa ser perfeitamente limpa, já que qualquer sujeira pode prejudicar a passagem da luz, atenuando o sinal. Além de limpar a ponta antes da conexão, é importante que ela seja protegida usando o protetor plástico que acompanha o cabo enquanto ele estiver sem uso. Continuando, temos o SC, que foi um dos conectores mais populares até a virada do milênio. Ele é um conector simples e eficiente, que usa um sistema simples de encaixe e oferece pouca perda de sinal. Ele é bastante popular em redes Gigabit, tanto com cabos multimodo quanto monomodo, mas vem perdendo espaço para o LC. Uma das desvantagens do SC é seu tamanho avantajado; cada conector tem aproximadamente o tamanho de dois conectores RJ-45 colocados em fila indiana, quase duas vezes maior que o LC:

Conector SC e cabo de fibra com conectores SC e LC Finalizando, temos o MT-RJ (Mechanical Transfer Registered Jack) um padrão novo, que utiliza um ferrolho quadrado, com dois orifícios (em vez de apenas um) para combinar as duas fibras em um único conector, pouco maior que um conector telefônico. Ele vem crescendo em popularidade, substituindo os conectores SC e ST em cabos de fibra multimodo, mas ele não é muito adequado para fibra monomodo:

Conector MT-RJ e cabo de fibra com conectores MT-RJ e LC Além do uso de conectores, é possível também unir dois fios de fibra (processo chamado de splicing) ou reparar um fio partido usando dois métodos. O primeiro é o processo de fusão (fusion splicing), onde é usado um arco elétrico para soldar as duas fibras, criando uma junção permanente. Os aparelhos de fusão atuais fazem a junção de forma semi-automatizada, o problema é que eles são muito caros (a maioria custa a partir de US$ 15.000), de forma que são acessíveis apenas a empresas especializadas. O segundo é um processo mecânico (mechanical splicing), onde é usada uma emenda de aplicação manual. Os dois fios são juntados usando um suporte e colados usando uma resina especial, desenvolvida para não obstruir a passagem da luz. Como a junção é bem mais frágil que o fio original, o trecho é reforçado externamente para evitar uma nova ruptura. Temos aqui exemplos dos dois processos, com um fusor da Ericsson e um splicer mecânico:

» Próximo: Transceivers Transceivers Como os transmissores e receptores para cabos de fibra óptica são muito caros, sobretudo os para fibra monomodo, eles são separados em componentes avulsos, os transceivers (transceptores), que são instalados no switch ou no roteador de acordo com a necessidade: Transceiver 10GBASE-LR Com isso, você pode comprar apenas os transceivers referentes ao número de conexões que for utilizar e misturar transceivers de diferentes padrões (10GBASE-LR e 10GBASE-SR, por exemplo) no mesmo switch ou roteador, conforme a necessidade. Esta flexibilidade é importante, pois um único transceiver pode custar mais caro do que o próprio switch. O transceiver transforma os sinais ópticos recebidos através do cabo em sinais elétricos que são enviados ao switch e vice-versa. Eles são usados apenas nos padrões de rede que utilizam cabos de fibra óptica, já que nos padrões baseados em fios de cobre a conversão não é necessária. Apesar do pequeno tamanho, os transceivers são quase sempre os componentes mais caros ao criar um link de fibra. É comum que os switches Gigabit e 10 Gigabit high-end incorporem duas, quatro ou oito baias para transceivers, combinados com um certo número de portas para cabos de par trançado. O switch então passa a atuar também como um bridge, unificando os segmentos com par trançado e com fibra, que forma que passem a formar uma única rede. Um exemplo é este Netgear GSM7328S, que inclui 24 portas Gigabit Ethernet, 4 baias para transceptores SFP Gigabit (os 4 conectores menores ao lado dos RJ-45) e conectores para 4 baias destinadas a transceivers 10 Gigabit (dois na parte frontal e dois na traseira):

A idéia é que os links 10 Gigabits de fibra sejam utilizados para interligar dois ou mais switches a longas distâncias e as portas para cabo de par trançado sejam usadas pelos PCs individuais. Imagine que utilizando transceptores 10GBASE-LR você pode utilizar cabos monomodo de até 10 km, de forma que criar backbones de longa distância interligando os switches deixa de ser um problema.» Próximo: Montando a rede Montando a rede Agora que já vimos uma boa dose de teoria, vamos à parte prática, começando pelo cabeamento da rede. Uma das principais vantagens dos cabos de par trançado é que eles podem ser crimpados rapidamente, no local, usando apenas ferramentas simples, diferente dos cabos de fibra óptica, que precisam de uma preparação mais cuidadosa. Em redes maiores, crimpar os próprios cabos é uma necessidade, pois você precisa passar os cabos por dentro das tubulações ou pelo teto e é quase impossível fazer isso com um cabo já crimpado, sem falar no uso de tomadas de parede, patch panels e outros componentes. Mesmo em uma rede doméstica, crimpar os próprios cabos oferece uma flexibilidade muito maior, pois você pode crimpar cabos do tamanho exato e aproveitar as tubulações de telefone para passar os cabos através das paredes, evitando acidentes com cabos espalhados pelo chão. Além disso, cabos já crimpados custam mais caro do que comprar os cabos e conectores avulsos, o que pode fazer uma boa diferença em uma rede com muitos pontos. Em redes de 10, 100 e 1000 megabits, o comprimento máximo dos cabos é de 100 metros, tanto entre o switch e o PC quanto entre dois switches ou hubs. Como os switches atuam como repetidores, você pode usar um cabo de 100 metros do PC até o switch e outro de mais 100 metros do switch até o dispositivo seguinte sem comprometer o desempenho da rede. Ao usar tomadas de parede, ou qualquer tipo de conexão entre os dois dispositivos, o comprimento total do cabo (somando o trecho até a tomada e o trecho da tomada até o PC) não deve superar os 100 metros. Não existe um limite formal para o comprimento mínimo dos cabos, mas é recomendável evitar usar cabos muito curtos, com menos de 30 centímetros. Naturalmente, os 100 metros não são um número exato. A distância máxima que é possível atingir varia de acordo com a qualidade dos cabos e dos conectores e as interferências presentes no ambiente. Já vi casos de cabos de 180 metros que funcionavam perfeitamente, e casos de cabos de 150 que não. Ao trabalhar fora do padrão, os resultados variam muito de acordo com as placas de rede usadas e outros fatores. É justamente para permitir que a rede funcione "sempre" e não "às vezes" que os padrões existem em primeiro lugar. Em vez de jogar com a sorte, é mais recomendável seguir o padrão, usando um hub/switch ou um repetidor a cada 100 metros (até o máximo de 5 repetições), de forma a reforçar o sinal.» Próximo: Crimpando cabos de rede Crimpando os cabos A ferramenta básica para crimpar os cabos é o alicate de crimpagem. Ele "esmaga" os contatos do conector, fazendo com que as facascontato perfurem a cobertura plástica e façam contato com os fios do cabo de rede:

É possível comprar alicates de crimpagem razoáveis por pouco mais de 50 reais, mas existem alicates de crimpagem para uso profissional que custam bem mais. Existem ainda "alicates" mais baratos, com o corpo feito de plástico, que são mais baratos, mas não valem o papelão da embalagem. Alicates de crimpagem precisam ser fortes e precisos, por isso evite produtos muito baratos. Ao crimpar os cabos de rede, o primeiro passo é descascar os cabos, tomando cuidado para não ferir os fios internos, que são bastante finos. Normalmente, o alicate inclui uma saliência no canto da guilhotina, que serve bem para isso. Existem também descascadores de cabos específicos para cabos de rede, que são sempre um item bem-vindo na caixa de ferramentas:

Os quatro pares do cabo são diferenciados por cores. Um par é laranja, outro é azul, outro é verde e o último é marrom. Um dos cabos de cada par tem uma cor sólida e o outro é mais claro ou malhado, misturando a cor e pontos de branco. É pelas cores que diferenciamos os 8 fios. O segundo passo é destrançar os cabos, deixando-os soltos. Para facilitar o trabalho, descasque um pedaço grande do cabo, uns 5 ou 6 centímetros, para poder organizar os cabos com mais facilidade e depois corte o excesso, deixando apenas a meia polegada de cabo (1.27 cm, ou menos) que entrará dentro do conector. O próprio alicate de crimpagem inclui uma guilhotina para cortar os cabos, mas operá-la exige um pouco de prática, pois você precisa segurar o cabo com uma das mãos, mantendo os fios na ordem correta e manejar o alicate com a outra. A guilhotina faz um corte reto, deixando os fios prontos para serem inseridos dentro do conector, você só precisa mantê-los firmes enquanto encaixa e crimpa o conector. Existem dois padrões para a ordem dos fios dentro do conector, o EIA 568B (o mais comum) e o EIA 568A. A diferença entre os dois é que a posição dos pares de cabos laranja e verde são invertidos dentro do conector. Existe muita discussão em relação com qual dos dois é "melhor", mas na prática não existe diferença de conectividade entre os dois padrões. A única observação é que você deve cabear toda a rede utilizando o mesmo padrão. Como o EIA 568B é de longe o mais comum, recomendo que você o utilize ao crimpar seus próprios cabos. Uma observação é que muitos cabos são certificados para apenas um dos dois padrões; caso encontre instruções referentes a isso nas especificações, ou decalcadas no próprio cabo, crimpe os cabos usando o padrão indicado. No padrão EIA 568B, a ordem dos fios dentro do conector (em ambos os lados do cabo) é a seguinte: 1- Branco com Laranja

2345678- Laranja Branco com Verde Azul Branco com Azul Verde Branco com Marrom Marrom Os cabos são encaixados nessa ordem, com a trava do conector virada para baixo, como no diagrama: Ou seja, se você olhar o conector "de cima", vendo a trava, o par de fios laranja estará à direita e, se olhar o conector "de baixo", vendo os contatos, eles estarão à esquerda. Este outro diagrama mostra melhor como fica a posição dos cabos dentro do conector: O cabo crimpado com a mesma disposição de fios em ambos os lados do cabo é chamado de cabo "reto", ou straight. Este é o tipo "normal" de cabo, usado para ligar os micros ao switch ou ao roteador da rede. Existe ainda um outro tipo de cabo, chamado de "cross-over" (também chamado de cabo cross, ou cabo cruzado), que permite ligar diretamente dois micros, sem precisar do hub ou switch. Ele é uma opção mais barata quando você tem apenas dois micros. No cabo cruzado, a posição dos fios é diferente nos dois conectores, de forma que o par usado para enviar dados (TX) seja ligado na posição de recepção (RX) do segundo micro e vice-versa. De um dos lados a pinagem é a mesma de um cabo de rede normal, enquanto no outro a posição dos pares verde e laranja são trocados. Daí vem o nome cross-over, que significa, literalmente, "cruzado na ponta": Esquema dos contatos de envio e recepção em um cabo cross-over Para fazer um cabo cross-over, você crimpa uma das pontas seguindo o padrão EIA 568B que vimos acima e a outra utilizando o padrão EIA 568A, onde são trocadas as posições dos pares verde e laranja: 12345678- Branco com Verde Branco com Azul Branco com Laranja Branco com Marrom Verde Laranja Azul Marrom A maioria dos switches atuais são capazes de "descruzar" os cabos automaticamente quando necessário, permitindo que você misture

cabos normais e cabos cross-over dentro do cabeamento da rede. Graças a isso, a rede vai funcionar mesmo que você use um cabo cross-over para conectar um dos micros ao hub por engano. Este cabo cross-over "clássico" pode ser usado para ligar placas de 10 ou 100 megabits, onde as transmissões são na realidade feitas usando apenas dois dos pares dos cabos. Placas e switches Gigabit Ethernet utilizam os quatro pares e por isso precisam de um cabo cross-over especial, crimpado com uma pinagem diferente. Usando um cabo cross convencional, a rede até funciona, mas as placas são forçadas a reduzir a velocidade de transmissão para 100 megabits, de forma a se adaptarem ao cabeamento. Para fazer um cabo cross-over Gigabit Ethernet, você deve utilizar o padrão EIA 568B (Branco com Laranja, Laranja, Branco com Verde, Azul, Branco com Azul, Verde, Branco com Marrom, Marrom) de um dos lados do cabo, como usaria ao crimpar um cabo normal. A mudança vem ao crimpar o outro lado do cabo, onde é usada a seguinte pinagem: 12345678- Branco com Verde Branco com Branco com Marrom Laranja Azul Branco com Verde Laranja Marrom Azul Muitos switches e também algumas placas Gigabit podem ser ligados diretamente usando cabos straight, pois os transmissores são capazes de ajustar a transmissão via software, recurso chamado de Auto-MDI/MDI-X. Entretanto, nem todos os dispositivos suportam o recurso, de forma que os cabos cross-over ainda são necessários em diversas situações. Revisando, os padrões para os três tipos de cabos são: Cabo straight (10, 100 ou 1000 megabits): 12345678- Branco com Laranja Branco com Azul Branco com Verde Branco com Marrom Laranja Verde Azul Marrom 12345678- Branco com Laranja Branco com Azul Branco com Verde Branco com Marrom Laranja Verde Azul Marrom Cabo cross-over (10 ou 100 megabits): 12345678- Branco com Laranja Branco com Azul Branco com Verde Branco com Marrom Laranja Verde Azul Marrom 1Branco 23Branco 45Branco 67Branco 8- Marrom com com com com Verde Verde Laranja Azul Azul Laranja Marrom Cabo cross-over para Gigabit Ethernet 12345678- Branco com Laranja Branco com Azul Branco com Verde Branco com Marrom Laranja Verde Azul Marrom 1Branco com 23Branco com 4Branco com 5678- Branco com Azul Verde Verde Laranja Marrom Marrom Laranja Azul Ao crimpar, você deve retirar apenas a capa externa do cabo e não descascar individualmente os fios, pois isso, ao invés de ajudar, serviria apenas para causar mau contato, deixando frouxo o encaixe com os pinos do conector. A função do alicate é fornecer pressão suficiente para que os pinos do conector RJ-45, que internamente possuem a forma de lâminas, esmaguem os fios do cabo, alcançando o fio de cobre e criando o contato:

Como os fios dos cabos de rede são bastante duros, é preciso uma boa dose de força para que o conector fique firme, daí a necessidade de usar um alicate resistente. Não tenha medo de quebrar ou danificar o alicate ao crimpar, use toda a sua força: É preciso um pouco de atenção ao cortar e encaixar os fios dentro do conector, pois eles precisam ficar perfeitamente retos. Isso demanda um pouco de prática. No começo, você vai sempre errar algumas vezes antes de conseguir. Veja que o que protege os cabos contra as interferências externas são justamente as tranças. A parte destrançada que entra no conector é o ponto fraco do cabo, onde ele é mais vulnerável a todo tipo de interferência. Por isso, é recomendável deixar o menor espaço possível sem as tranças. Para crimpar cabos dentro do padrão, você precisa deixar menos de meia polegada de cabo (1.27 cm) destrançado. Você só vai conseguir isso cortando o excesso de cabo solto antes de encaixar o conector, como na foto:

Outra observação é que, além de ser preso pelos conectores metálicos, o cabo é preso dentro do conector através de uma trava plástica, que é também presa ao crimpar o cabo. A trava prende o cabo através da cobertura plástica, por isso é importante cortar todo o excesso de cabo destrançado, fazendo com que parte da cobertura plástica fique dentro do conector e seja presa pela trava. Sem isso, os contatos podem facilmente ser rompidos com qualquer esbarrão, tornando a rede como um todo menos confiável. Além do cabo e do conector RJ-45, existem dois acessórios, que você pode ou não usar em seus cabos, conforme a disponibilidade. O primeiro são as capas plásticas (boots), que são usadas nas pontas dos cabos para melhorar o aspecto visual. Por estarem disponíveis em várias cores, elas podem ser também usadas para identificar os cabos, mas com exceção disso elas são puramente decorativas, não possuem nenhuma outra função. Para usá-las, basta colocar a capa antes do conector: Boots O segundo são os inserts, que são um tipo de suporte plástico que vai dentro do conector. Depois de destrançar, organizar e cortar o excesso de cabo, você passa os 8 fios dentro do insert e eles os mantêm na posição, facilitando o encaixe no conector. Os conectores RJ-45 projetados para uso em conjunto com o insert possuem um espaço interno maior para acomodá-lo. Devido a isso, os inserts são fornecidos em conjunto com alguns modelos de conectores e raramente são vendidos separadamente: Insert

O primeiro teste para ver se os cabos foram crimpados corretamente é conectar um dos micros (ligado) ao switch e ver se os LEDs da placas de rede e do hub acendem. Isso mostra que os sinais elétricos enviados estão chegando até o switch e que ele foi capaz de abrir um canal de comunicação com a placa. Se os LEDs nem acenderem, então não existe o que fazer. Corte os conectores e tente de novo. Infelizmente, os conectores são descartáveis: depois de crimpar errado uma vez, você precisa usar outro novo, aproveitando apenas o cabo. Mais um motivo para prestar atenção ;). Existem também aparelhos testadores de cabos, que oferecem um diagnóstico muito mais sofisticado, dizendo, por exemplo, se os cabos são adequados para transmissões a 100 ou a 1000 megabits e avisando caso algum dos 8 fios do cabo esteja rompido. Os mais sofisticados avisam inclusive em que ponto o cabo está rompido, permitindo que você aproveite a parte boa. Testador de cabos Esses aparelhos serão bastante úteis se você for crimpar muitos cabos, mas são dispensáveis para trabalhos esporádicos, pois é muito raro que os cabos venham com fios rompidos de fábrica. Os cabos de rede apresentam também uma boa resistência mecânica e flexibilidade, para que possam passar por dentro de tubulações. Quase sempre os problemas de transmissão surgem por causa de conectores mal crimpados. Existem ainda modelos mais simples de testadores de cabos, que chegam a custar em torno de 20 reais. Eles realizam apenas um teste de continuidade do cabo, checando se o sinal elétrico chega até a outra ponta e, verificando o nível de atenuação, para certificar-se de que ele cumpre as especificações mínimas. Um conjunto de 8 leds se acende, mostrando o status de cada um dos 8 fios. Se algum fica apagado durante o teste, você sabe que o fio correspondente está partido. A limitação é que eles não são capazes de calcular em que ponto o cabo está partido, de forma que a sua única opção acaba sendo trocar e descartar o cabo inteiro. Uma curiosidade com relação aos testadores é que algumas placas-mãe da Asus, com rede Yukon Marvel (e, eventualmente, outros modelos lançados futuramente), incluem um software testador de cabos, que pode ser acessado pelo setup, ou através de uma interface dentro do Windows. Ele funciona de uma forma bastante engenhosa. Quando o cabo está partido em algum ponto, o sinal elétrico percorre o cabo até o ponto onde ele está rompido e, por não ter para onde ir, retorna na forma de interferência. O software cronometra o tempo que o sinal demora para ir e voltar, apontando com uma certa precisão depois de quantos metros o cabo está rompido. Outra dica é que no padrão 100BASE-TX são usados apenas os pares laranja e verde para transmitir dados. Você pode tirar proveito disso para fazer um cabo mini-crossover para levar na sua caixa de ferramentas, usando apenas os pares laranja e verde do cabo. De um lado a pinagem seria: branco com laranja, laranja, branco com verde, nada, nada, verde, nada, nada; e do outro seria: branco com verde, verde, branco com laranja, nada, nada, laranja, nada, nada:

Cabo cross de emergência, feito com apenas dois dos pares do cabo Este é um cabo fora do padrão, que não deve ser usado em instalações, mas, em compensação, ocupa um volume muito menor e pode ser útil em emergências. Outro componente que pode ser útil em algumas situações é o conector de loopback, que é usado por programas de diagnóstico para testar a placa de rede. Ele é feito usando um único par de fios, ligado nos contatos 1, 2, 3 e 6 do conector, de forma que os dois pinos usados para enviar dados sejam ligados diretamente nos dois pinos de recepção, fazendo com que a placa receba seus próprios dados de volta: Conector de loopback A pinagem do conector de loopback é: 12345678- Branco com laranja Laranja Branco com laranja (retornando) nada nada Laranja (retornando) nada nada Ao plugar o conector na placa de rede, você notará que o link da rede é ativado. Ao usar o comando "mii-tool" no Linux, por exemplo, você teria um "eth0: no link" com o cabo de rede desconectado e passaria a ter um "eth0: negotiated 100baseTx-FD, link ok" depois de encaixar o conector de loopback.» Próximo: Passando os cabos através de dutos

Passando os cabos através de dutos Para passar os cabos através de dutos e de tubulações, utilize uma guia para passar os cabos, que pode ser comprada em qualquer loja de ferragens. Passar cabos pelas tubulações não é complicado, só exige uma boa dose de paciência para desmontar as caixas e verificar onde dá cada duto, já que raramente você terá o projeto da tubulação em mãos. Existem também lubrificantes específicos para cabos de rede, que ajudam o cabo a deslizar e podem ser usados para reduzir o stress mecânico sob o cabo ao passá-lo por conduítes apertados ou caso a distância a percorrer seja muito grande: Com um pouco de sorte, e de boa vontade por parte da construtora, você pode conseguir a planta baixa do projeto telefônico e do projeto elétrico da construção, que vão facilitar bastante a sua vida, já que você poderá planejar o cabeamento antes mesmo de precisar começar a desmontar as caixas e a passar os cabos:

Projeto telefônico (à esquerda) e projeto elétrico de um apartamento residencial Cabos de rede podem ser passados junto com cabos de telefone e de TV a cabo sem problemas, mas não juntamente com cabos da rede elétrica. O problema com relação a eles é que o campo eletromagnético gerado pelos cabos elétricos (devido ao uso de corrente alternada) induz corrente nos cabos de rede, o que gera interferência na transmissão, causando corrupção dos dados. Graças ao sistema de checagem e retransmissão usados pelas placas de rede, raramente dados serão perdidos, mas as retransmissões irão reduzir a taxa de transferência e aumentar a latência da rede, com resultados variados. A interferência é maior em redes elétricas sem aterramento adequado ou em circuitos com cargas pesadas, como os usados por chuveiros e motores elétricos. Passar cabos de rede nos dutos usados pelos cabos elétricos nunca é recomendável, mesmo em trechos pequenos. Verifique se não é possível passar os cabos por baixo do carpete, ou pelo forro do teto, por exemplo. De qualquer forma, se não houver outro jeito, procure utilizar cabos de rede blindados e dê preferência às canaletas usadas por cabos destinados às tomadas e aos soquetes de iluminação. Depois de feita a instalação, teste a rede em diversas situações, monitorando o volume de pacotes perdidos e o ping da rede em diversas situações de uso. Os padrões de cabeamento são definidos com uma boa margem de tolerância, para garantir que a rede funcione de forma confiável em qualquer situação. Já vi casos de cabos com bem mais de 100 metros, cabos de rede passados lado a lado com fios elétricos e até mesmo um cabo cross-over feito com fios de telefone! Enfim, o simples caso da rede "funcionar" não significa que o cabeamento foi bem feito. Trabalhar próximo do limite vai fazer com que a velocidade de transmissão da rede fique abaixo do normal (por causa de colisões, pacotes perdidos e retransmissões) e pode causar problemas de conectividade diversos, que podem ser complicados de diagnosticar e corrigir. Se você valoriza seu trabalho, procure seguir as regras e fazer um bom cabeamento. Redes bem cabeadas podem durar décadas. :)» Próximo: Tomadas e emendas Tomadas e emendas Continuando, uma boa opção ao cabear é usar tomadas para cabos de rede, ao invés de simplesmente deixar os cabos soltos. Elas dão um acabamento mais profissional e tornam o cabeamento mais flexível, já que você pode ligar cabos de diferentes tamanhos às tomadas e substituí-los conforme necessário (ao mudar os micros de lugar, por exemplo). Existem vários tipos de tomadas de parede, tanto de instalação interna quanto externa: O cabo de rede é instalado diretamente dentro da tomada. Em vez de ser crimpado, o cabo é instalado em um conector próprio (o tipo mais comum é o conector 110) que contém lâminas de contato. A instalação é feita usando uma chave especial, chamada, em inglês, de punch down tool:

A ferramenta pressiona o cabo contra as lâminas, de forma a criar o contato, e ao mesmo tempo corta o excesso de cabo. Alguns conectores utilizam uma tampa que, quando fechada, empurra os cabos, tornando desnecessário o uso da ferramenta (sistema chamado de tool-less ou auto-crimp). Eles são raros, justamente por serem mais caros. O próprio conector inclui o esquema de cores dos cabos, junto com um decalque ou etiqueta que indica se o padrão usado corresponde ao EIA 568A ou ao EIA 568B. Se você estiver usando o EIA 568B no restante da rede e o esquema do conector corresponder ao EIA 568A, basta trocar a posição dos pares laranja e verde no conector. Outro conector usado é o keystone jack, uma versão fêmea do conector RJ-45, que é usado em patch panels (veja a seguir) e pode ser usado também em conectores de parede, em conjunto com a moldura adequada. Os cabos são instalados da mesma forma que nos conectores de parede com o conector 110, usando a chave punch down:

Existem também emendas (couples) para cabos de rede, que consistem em dois conectores RJ-45 fêmea, que permitem ligar diretamente dois cabos, criando um único cabo mais longo: O problema é que quase todas as emendas baratas que vemos à venda aqui no Brasil são destinados a cabos de voz (como a emenda amarelo-fosco da foto à esquerda) e não a cabos de rede. Isso significa que eles não atendem às especificações dos cabos cat5 ou cat5e e causam uma grande atenuação do sinal quando usadas. Elas geralmente funcionam sem grandes problemas quando usados em conjunto com cabos curtos em redes de 100 megabits, mas causam graves problemas de atenuação em redes gigabit, desconectando a estação, ou fazendo com que as placas chaveiem para um modo de transmissão mais lento, de forma a manter a conexão. Emendas destinadas a cabos de rede são quase sempre rotuladas com a categoria à qual atendem com uma etiqueta ou decalque (como a emenda prateada da foto à direita), mas são mais caras e mais difíceis de encontrar. Na falta de uma, o correto é substituir os dois cabos por um único cabo maior ou fazer uma extensão, usando um cabo com um conector RJ-45 crimpado de um lado e um keystone jack (ou uma tomada de parede) do outro.» Próximo: Cabeamento estruturado

Cabeamento estruturado Montar uma rede doméstica é bem diferente de montar uma rede local de 100 pontos em uma empresa de médio porte. Não apenas porque o trabalho é mais complexo, mas também porque existem normas mais estritas a cumprir. O padrão para instalação de redes locais em prédios é o ANSI/TIA/EIA-568-B, que especifica normas para a instalação do cabeamento, topologia da rede e outros quesitos, que chamamos genericamente de cabeamento estruturado. No Brasil, temos a norma NBR 14565, publicada pela ABNT em 2001. A norma da ABNT é ligeiramente diferente da norma internacional, a começar pelos nomes, que são modificados e traduzidos para o português, por isso vou procurar abordar os pontos centrais para que você entenda como o sistema funciona, sem entrar em detalhes pedanticos sobre a norma propriamente dita. A idéia central do cabeamento estruturado é cabear todo o prédio de forma a colocar pontos de rede em todos os pontos onde eles possam ser necessários. Todos os cabos vão para um ponto central, onde ficam os switches e outros equipamentos de rede. Os pontos não precisam ficar necessariamente ativados, mas a instalação fica pronta para quando precisar ser usada. A idéia é que a longo prazo é mais barato instalar todo o cabeamento de uma vez, de preferência antes do local ser ocupado, do que ficar fazendo modificações cada vez que for preciso adicionar um novo ponto de rede. Tudo começa com a sala de equipamento (equipment room), que é a área central da rede, onde ficam os servidores, switches e os roteadores principais. A idéia é que a sala de equipamento seja uma área de acesso restrito, onde os equipamentos fiquem fisicamente protegidos. Em um prédio, a sala de equipamento ficaria normalmente no andar térreo. Seria inviável puxar um cabo separado para cada um dos pontos de rede do prédio, indo da sala de equipamento até cada ponto de rede individual, por isso é criado um segundo nível hierárquico, representado pelos armários de telecomunicações (telecommunications closed). O armário de telecomunicações é um ponto de distribuição, de onde saem os cabos que vão até os pontos individuais. Normalmente é usado um rack, contendo todos os equipamentos, que é também instalado em uma sala ou em um armário de acesso restrito. Além dos switches, um equipamento muito usado no armário de telecomunicações é o patch panel, ou painel de conexão. Ele é um intermediário entre as tomadas de parede e outros pontos de conexão e os switches da rede. Os cabos vindos dos pontos individuais são numerados e instalados em portas correspondentes do patch panel e as portas utilizadas são então ligadas aos switches: Patch panel e detalhe dos conectores Além de melhorarem a organização dos cabos, os patch panels permitem que você utilize um número muito maior de pontos de rede do que portas nos switches. A idéia é que você cabearia todo o escritório, ou todo o andar do prédio, deixando todas as tomadas ligadas ao patch-panel. Se for um escritório novo, provavelmente poucas das tomadas serão usadas de início, permitindo que você use um único switch. Conforme mais tomadas passarem a ser usadas, você passa a adicionar mais switches e outros componentes de rede, conforme a necessidade. Outra vantagem é que com os cabos concentrados no patch panel, tarefas como desativar um ponto ou ligá-lo a outro segmento da rede (ligando-o a outro switch ou roteador) ficam muito mais simples. Os patch panels são apenas suportes, sem componentes eletrônicos e por isso são relativamente baratos. Eles são normalmente instalados em racks, junto com os switches e outros equipamentos. Os switches são ligados às portas do patch panel usando cabos de rede curtos, chamados de "patch cords" (cabos de conexão). Os patch cords são muitas vezes feitos com cabos stranded (os cabos de par trançado com várias fibras) de forma a serem mais flexíveis. Cada andar tem um ou mais armários de telecomunicações (de acordo com as peculiaridades da construção e a distância a cobrir) e todos são ligados a um switch ou um roteador na sala de equipamento através de cabos verticais chamados de rede primária (eles são também chamados de cabeamento vertical ou de backbones). Se a distância permitir, podem ser usados cabos de par trançado, mas é muito comum usar cabos de fibra óptica para esta função.

Placa wireless Mini-PCI (à esquerda) e placa Express Mini Não se engane pela foto. As placas mini-pci são muito pequenas, quase do tamanho de uma caixa de fósforos e os conectores da antena são quase do tamanho de uma cabeça de alfinete. Eles são relativamente frágeis, por isso é preciso ter cuidado ao plugá-los na placa. O fio branco vai sempre no conector no canto da placa e o preto no conector mais ao centro, como na foto. Quase sempre, o notebook tem uma chave ou um botão que permite ligar e desligar o transmissor wireless. Antes de testar, verifique se ele está ativado. Em muitos casos, os botões são controlados via software (como em muitos notebooks da Acer) e precisam que um driver esteja instalado para funcionarem, como veremos em detalhes no capítulo 3. Embora as placas mini-pci sejam componentes tão padronizados quanto as placas PC Card, sempre existe a possibilidade de algumas placas específicas não serem compatíveis com seu notebook. O ideal é sempre testar antes de comprar, ou comprar em uma loja que aceite trocar a placa por outra em caso de problemas. As antenas não vão na própria placa, mas são montadas na tampa do monitor, atrás do LCD e o sinal vai até a placa através de dois cabos, que correm dentro da carcaça do notebook. Isso visa melhorar a recepção, já que quando o notebook está aberto, as antenas no topo da tela ficam em uma posição mais elevada, o que melhora a recepção. Notebooks com placas 802.11b ou 802.11g utilizam duas antenas, enquanto os com placas 802.11n tipicamente utilizam três: Antenas da placa wireless na carcaça da tela do notebook Isso faz com que as placas Mini-PCI e Express Mini levem uma certa vantagem sobre as placas wireless PC Card ou USB em termos de recepção. As placas PC Card precisam ser muito compactas, por isso invariavelmente possuem uma antena muito pequena, com pouca sensibilidade. Por não terem as mesmas restrições com relação ao espaço, as antenas incluídas nos notebooks são maiores, o que garante uma conexão mais estável, com um alcance muito maior. Isso ajuda até mesmo na autonomia das baterias, já que é possível reduzir a potência do transmissor wireless. A exceção fica por conta das placas PC Card com saídas para antenas externas, como esta Senao NL-2511CD da foto a seguir. Ela é uma placa 802.11b, que era muito usada para fazer wardriving durante o boom inicial das redes wireless, quando a maioria das redes wireless ainda eram desprotegidas, ou utilizavam o WEP, que podia ser quebrado rapidamente. Hoje em dia ela não teria muita utilidade, já que está limitada a 11 megabits e não oferece suporte a WPA:

Placa wireless PC-Card com duas saídas para antenas externas Muitos notebooks antigos, fabricados a partir de 2001/2002, que ainda não incluem placas wireless já possuem o slot mini-pci e a antena, permitindo que você compre e instale uma placa mini-pci, ao invés de ficar brigando com o alcance reduzido das placas PCCard:

Conector para a placa wireless mini-pci e detalhe com a conexão das antenas Temos em seguida as placas wireless USB, que devido à praticidade e baixo custo estão se tornando cada vez mais populares. O principal motivo é que elas são baratas e fáceis de instalar (basta plugar na porta USB) e você pode utilizar a mesma placa wireless tanto no desktop quanto no notebook. Existem tanto placas com antena interna, como este modelo da Belkin, quanto com antenas externas destacáveis, como no modelo abaixo. Nesses casos é possível inclusive substituir a antena por outra de maior ganho, melhorando a recepção e permitindo que você se conecte a pontos de acesso muito mais distantes:

As placas com antena interna geralmente sofrem com uma recepção ruim, pois as antenas são simples trilhas na placa de circuito, que oferecem pouco ganho, como você pode ver na placa D-Link desmontada da foto abaixo:

As placas USB com antena externa são melhores, já que antena oferece um maior ganho e você pode ajustar a posição da antena para obter a melhor recepção, mas é preciso tomar cuidado ou comprar, pois existem casos de placas com antenas falsas, onde a antena externa é apenas um enfeite de plástico, que não é sequer conectado à placa. É o mesmo que acontece com muitos adaptadores Bluetooth.» Próximo: Power over Ethernet (PoE) Power over Ethernet (PoE) Em muitas situações, pontos de acesso e outros dispositivos de rede precisam ser instalados em telhados e outros locais de difícil acesso. Nesses casos, além do cabo de rede, é necessário fazer a instalação elétrica, o que aumenta os custos. O Power over Ethernet, ou PoE, é um padrão que permite transmitir energia elétrica usando o próprio cabo de rede, juntamente com os dados, solucionando o problema. Tudo começou com projetos artesanais, que utilizavam os dois pares de fios não usados em redes 100BASE-TX (de 100 megabits) para enviar corrente elétrica através do cabo de rede. Você poderia então crimpar os cabos de rede utilizando apenas os pares verde e laranja e usar o par marrom ou azul para transmitir uma corrente de 12V DC para o dispositivo do outro lado do cabo, eliminando a necessidade de usar uma fonte de alimentação separada. Ao contrário da corrente alternada usada na rede elétrica, a corrente contínua não gera muita interferência, permitindo que estas soluções artesanais funcionassem relativamente bem. Com o passar do tempo, a idéia acabou pegando e deu origem ao padrão IEEE 802.3af, ratificado em 2005, que já é suportado por diversos produtos. No padrão, dois dos quatro pares de fios do cabo de par trançado são utilizados para transmitir uma corrente com tensão de 48 volts e até 400 ma o que, depois de descontadas todas as perdas, resulta em uma capacidade de fornecimento de até 12.95 watts. A energia é suficiente para alimentar a grande maioria dos pontos de acesso, telefones VoIP e outros dispositivos menores ou até mesmo um notebook de baixo consumo. Um sistema especial de modulação permite que os dois pares que transmitem energia sejam usados também para transmitir dados, o que permite o uso em conjunto com dispositivos Gigabit Ethernet. A tecnologia não é muito diferente da utilizada desde o início do século passado no sistema telefônico, que também transmite uma corrente com tensão de 48 volts (usada para alimentar o aparelho) juntamente com o sinal de voz. Existem duas opções para utilizar o PoE. A primeira é utilizar um conjunto de injector (injetor) e splitter (divisor) posicionados entre o switch e o dispositivo que vai receber energia. O injetor é ligado na tomada e "injeta" energia no cabo, enquanto o splitter separa a corrente elétrica do sinal de rede, oferecendo dois conectores ao dispositivo: um conector de rede e um conector de energia, ligado no lugar da fonte:

Usar o injetor e o splitter é a solução mais simples, já que você não precisa mexer no resto da estrutura da rede, mas não é necessariamente a mais barata, já que você precisa comprar dois dispositivos adicionais para cada aparelho que precisa receber energia: Injetor PoE (sem a fonte) e splitter A segunda solução, mais viável para situações em que você queira usar o PoE para vários dispositivos é usar diretamente um PoE switch (um switch Ethernet capaz de enviar energia em todas as portas) e apenas pontos de acesso e outros dispositivos compatíveis, eliminando a necessidade de usar injectors e splitters:

O switch é capaz de detectar se o dispositivo ligado na outra ponta do cabo suporta ou não o PoE, o que é feito medindo a resistência. Só depois de detectar a presença de um dispositivo compatível é que ele inicia a transmissão de corrente. Isso permite que você conecte também dispositivos "normais" ao switch, sem risco de queimá-los. É possível ainda usar soluções híbridas, combinando um ponto de acesso (ou outro dispositivo) com suporte nativo ao PoE com um switch comum. Nesse caso, você precisa apenas do injetor (os mais baratos custam a partir de US$ 20 no exterior), já que o dispositivo já incorpora os circuitos referentes ao splitter. Os pontos de acesso com suporte a PoE estão se tornando cada vez mais comuns. Externamente, não existe nada que diferencie um AP com suporte a PoE de um tradicional, é necessário pesquisar nas especificações. SMC WHSG14G, com suporte a PoE Atualmente, o PoE é usado basicamente para alimentar pontos de acesso wireless instalados em locais inacessíveis, mas uma nova versão do padrão pode aumentar sua área de atuação. O padrão IEEE 802.3at ou PoE+, em desenvolvimento desde 2005 (http://www.ieee802.org/3/at/) aumentará a capacidade de transmissão para até 60 watts, o que permitirá que o PoE seja usado para alimentar notebooks ou até mesmo PCs de baixo consumo.

Isso pode levar a uma pequena revolução, já que os equipamentos receberão energia já estabilizada e convertida para DC diretamente através do cabo de rede, sem necessidade de utilizar uma fonte de alimentação externa, como atualmente. Você poderá então carregar o notebook simplesmente ligando-o ao cabo de rede, sem falar na possibilidade de usar PCs ultra-compactos, ou terminais de rede que precisem apenas ser ligados ao cabo de rede para funcionarem, sem a bagunça de cabos, filtros de linha e extensões que temos atualmente.» Próximo: Bluetooth Bluetooth O Bluetooth é um padrão para redes PAN (personal area network), ou seja, uma rede de curta distância, usada para interligar celulares, palmtops e outros dispositivos de uso pessoal. Ele funciona como um "cable replacement", ou seja, uma tecnologia que permite interligar periféricos próximos, substituindo o uso de cabos. Ele é usado por um enorme número de celulares, sem falar de palmtops e outros dispositivos, incluindo fones, teclados e mouses. A versão inicial do padrão foi desenvolvida por um consórcio composto pela Ericsson, IBM, Nokia, Toshiba e Intel e publicada em julho de 1999. Pouco depois, o Bluetooth foi adotado pelo IEEE, dando origem ao padrão 802.15.1. Isso reforçou a posição do Bluetooth como um padrão aberto e acelerou sua adoção, embora ele tenha sido ofuscado pelo crescimento do Wi-Fi, que ocupou muitos dos nichos aos quais o Bluetooth era destinado. A principal vantagem do Bluetooth é o baixo consumo elétrico, o que permite que os transmissores sejam usados em dispositivos pequenos demais para comportar uma interface wireless, como no caso de um celular, headset, ou mesmo de um teclado ou mouse. O uso de chips mais simples também faz com que os transmissores Bluetooth sejam bem mais baratos do que placas wireless Wi-Fi. Eles ainda não são muito comuns em notebooks e desktops montados, mas os adaptadores Bluetooth USB são bastante acessíveis. Aqui temos um adaptador USB desmontado. Ele é composto de dois controladores simples, acompanhados por alguns diodos e resistores, um cristal de clock (instalado do outro lado da placa) e um led. Para simplificar o projeto, uma trilha na própria placa é usada como antena:

Existem também alguns modelos com antenas externas, como o modelo da Linksys à direita, mas o aumento no alcance devido ao uso da antena não é tão grande quanto pode parecer à primeira vista e a antena torna o transmissor maior e menos prático. Existem ainda alguns modelos de transmissores baratos, que utilizam antenas externas falsas, que nada mais são do que um tubo plástico oco, destinado a enganar os incautos. Naturalmente, o baixo consumo e o baixo custo têm seu preço. O alcance é pequeno e a velocidade de transmissão é bastante baixa. O Bluetooth oferece uma velocidade bruta de 1 megabit, mas devido ao overhead do protocolo de comunicação, a velocidade real (bits úteis) é de apenas 721 kbits em modo assíncrono (o modo de transmissão menos confiável) ou 432 kbits em modo síncrono. Temos ainda mais uma certa perda devido a retransmissões de pacotes perdidos, ou corrompidos devido a interferência, o que faz com que, na prática, as taxas sejam ainda mais baixas. A baixa velocidade do Bluetooth o torna muito lento para uso em redes, mas é suficiente para suas principais aplicações, que são a comunicação entre o PC e o celular (ou palmtop), transferindo imagens e pequenos arquivos e permitindo o uso de headsets, teclados e mouses. Dispositivos maiores utilizam redes Wi-Fi, de forma que os dois padrões acabam se complementando. No Bluetooth 2.x (o padrão atual) a velocidade foi multiplicada por três, chegando a 3 megabits brutos através da mudança no padrão de modulação do GFSK (Gaussian frequency shift keying) para o PSK (phase shift keying), mas é preciso que os dois transmissores suportem o padrão, caso contrário a taxa cai para o 1 megabit do padrão original. Existem dois tipos de adaptadores Bluetooth, que se diferenciam pela potência de transmissão. Os dispositivos classe 1 utilizam transmissores de 100 milliwatts, o que resulta em um alcance teórico de 100 metros, enquanto os dispositivos classe 2 utilizam transmissores de apenas 2.5 milliwatts, o que resulta em um alcance de apenas 10 metros. Em ambos os casos, o número se refere a alcance em campo aberto. Como o sinal do Bluetooth é muito fraco, ele é atenuado rapidamente por obstáculos. O sinal pode ultrapassar uma parede fina de alvenaria, permitindo que você consiga acessar seu celular que esqueceu na sala ao lado, mas não espere nada muito além disso. De uma forma geral, você tem uma boa conexão apenas ao usar dois aparelhos dentro da mesma sala. A maioria dos adaptadores USB destinados a micros PC utilizam transmissores classe 1, mas a maioria dos celulares e outros dispositivos pequenos utilizam transmissores classe 2, que oferecem um consumo elétrico mais baixo. A combinação dos dois não resulta em um alcance muito maior do que ao utilizar dois transmissores classe 2, pois pouco adianta um transmissor mais potente no PC, se ele não for capaz de captar o sinal emitido pelo outro dispositivo. A rede formada entre os dispositivos Bluetooth é chamada de piconet (pico=pequena, net=rede) e é composta por um dispositivo central (master) e até 7 dispositivos subordinados (slaves), que são conectados a ele. É possível adicionar até 255 "parked nodes", que são dispositivos configurados para fazerem parte da rede, mas que não estão ativos no momento. Ou seja, você poderia conectar um grande número de aparelhos com Bluetooth ao PC ou a outro dispositivo central, desde que não usasse mais do que 7 deles ao mesmo tempo. Dispositivos maiores, como palmtops e celulares podem ser configurados tanto em modo master quanto em modo slave, de acordo com a situação. O celular pode operar em modo master ao usar um teclado bluetooth e em modo slave ao ser acessado pelo PC, mas dispositivos menores, como teclados e headsets operam apenas em modo slave. A segurança é garantida por um processo de autenticação, chamado de pairing, onde você define um código de acesso (passkey) que precisa ser digitado nos dispositivos para criar a conexão. O pairing é necessário apenas para fazer a conexão inicial, a partir daí a conexão se torna definitiva. Este sistema não é particularmente seguro, mas como o alcance dos transmissores Bluetooth é muito curto, ele é considerado aceitável. Pairing em um Nokia E62 O padrão Bluetooth prevê o uso de diversos "profiles", que são diferentes protocolos de comunicação, desenvolvidos de forma a atender diversos cenários de uso. Os cinco profiles mais usados são o HSP (Headset Profile), que é utilizado por headsets Bluetooth, o

HID (Human Interface Device Profile), usado por teclados, mouses, joysticks e outros dispositivos de entrada, o FTP (File Transfer Profile), que permite transferir arquivos, o OPP (Object Push Profile) um protocolo de transferência de dados de uso geral, que pode ser usado para transferir contatos, fotos e outras informações e o DUN (Dial-up Networking Profile), que é usado por celulares para permitir o acesso à web através do PC. Cada profile faz com que o transmissor Bluetooth e o dispositivo do outro lado sejam vistos de forma diferente pelo sistema. No HSP, o headset é visto como uma placa de som remota, que permite o envio de streams de áudio. No HID o teclado ou mouse Bluetooth é visto pelo sistema como se fosse um dispositivo de entrada conectado a uma das portas USB do micro, enquanto no DUN o celular é visto pelo sistema como um modem ligado a uma porta serial, que é usado para "discar" para o provedor e, assim, estabelecer a conexão. Existe ainda o PAN (Personal Area Networking), que usa uma camada de emulação para permitir o tráfego de pacotes Ethernet, de forma que o transmissor Bluetooth seja usado como uma interface de rede. É este profile que seria usado ao ligar dois PCs em rede via Bluetooth. Embora a velocidade de uma conexão Bluetooth seja satisfatória para tarefas leves, como compartilhar a conexão e transferir pequenos arquivos (desde que você não se importe com o limite de 721 kbits), o PAN é um profile pouco usado na prática, já que é muito mais fácil ligar dois micros usando um cabo cross-over, ou uma rede wireless ad-hoc, que são mais fáceis de configurar e oferecem uma velocidade maior. Aqui temos dois exemplos de uso, transferindo arquivos usando o BlueSoleil (um gerenciador Bluetooth para o Windows, fornecido com a maioria dos adaptadores bluetooth USB) e acessando os contatos em um celular da Motorola, usando o KMobileTools no Linux:

Em se tratando de redes, o uso mais popular para o bluetooth atualmente é acessar a web usando o celular, usando o DUN. Antigamente, o tráfego de dados nas redes GPRS era extorsivamente caro e o acesso muito lento, mas com a introdução do EDGE e das redes 3G e o surgimento de planos voltados especificamente para o acesso à web, as velocidades melhoraram e o custo caiu, fazendo com que o acesso à web via celular se tornasse uma opção viável. Existem no mercado vários modelos de modems EDGE ou EVDO em versão PC Card ou USB, mas na verdade você não precisa do modem, já que pode utilizar o próprio celular. Em modelos antigos você precisa encontrar o cabo apropriado (que muitas vezes demanda o uso de algum software proprietário de comunicação), mas nos modelos atuais você só precisa de um receptor bluetooth para o notebook. Desde que não existam obstáculos, o alcance do receptor pode chegar a 10 metros, o que permite que você deixe o celular perto da janela para melhorar a recepção em áreas rurais ou com pouco sinal. Veja detalhes de como configurar a conexão tanto no Windows quanto no Linux no próximo capítulo. Concluindo, o Bluetooth opera na faixa de freqüência dos 2.4 GHz, que é a mesma usada pelas redes Wi-Fi. Para evitar interferência, o Bluetooth utiliza 79 canais distintos, cada um ocupando uma faixa de freqüência de 1 MHz, e alterna entre eles rapidamente (1600 vezes por segundo) usando uma sequência semi-aleatória, definida entre os dispositivos, diferente das redes Wi-Fi, que operam usando uma freqüência fixa. Com isso, a interferência continua existindo, mas é reduzida drasticamente, permitindo que redes Wi-Fi e transmissores Bluetooth operem no mesmo ambiente.» Próximo: Capítulo 4: TCP/IP, endereçamento e portas

Capítulo 4: TCP/IP, endereçamento e portas O endereçamento IP é sempre um tema importante, já que é ele que permite que o brutal número de redes e hosts que formam a Internet sejam capazes de se comunicar entre si. Existem duas versões do protocolo IP: o IPV4 é a versão atual, que utilizamos na grande maioria das situações, enquanto o IPV6 é a versão atualizada, que prevê um número brutalmente maior de endereços e deve se popularizar a partir de 2012 ou 2014, quando os endereços IPV4 começarem a se esgotar. No IPV4, os endereços IP são compostos por 4 blocos de 8 bits (32 bits no total), que são representados através de números de 0 a 255 (cobrindo as 256 possibilidades permitidas por 8 bits), como "200.156.23.43" ou "64.245.32.11". Os grupos de 8 bits que formam o endereço são chamados de "octetos", o que dá origem a expressões como "o primeiro octeto do endereço". De qualquer forma, a divisão dos endereços em octetos e o uso de números decimais serve apenas para facilitar a configuração para nós, seres humanos. Quando processados, os endereços são transformados em binários, como "11001000100110010001011100101011". As faixas de endereços começadas com "10", "192.168" ou de "172.16" até "172.31" são reservadas para uso em redes locais e por isso não são usadas na Internet. Os roteadores que compõe a grande rede são configurados para ignorar pacotes provenientes destas faixas de endereços, de forma que as inúmeras redes locais que utilizam endereços na faixa "192.168.0.x" (por exemplo) podem conviver pacificamente, sem entrar em conflito. No caso dos endereços válidos na Internet, as regras são mais estritas. A entidade global responsável pelo registro e atribuição dos endereços é a IANA (http://www.iana.org/), que delega faixas de endereços às RIRs (Regional Internet Registries), entidades menores, que ficam responsáveis por delegar os endereços regionalmente. Nos EUA, por exemplo, a entidade responsável é a ARIN (http://www.arin.net/) e no Brasil é a LACNIC (http://www.lacnic.net/pt/). Estas entidades são diferentes das responsáveis pelo registro de domínios, como o Registro.br. As operadoras, carriers e provedores de acesso pagam uma taxa anual à RIR responsável, que varia de US$ 1.250 a US$ 18.000 (de acordo com o volume de endereços requisitados) e embutem o custo nos links revendidos aos clientes. Note que estes valores são apenas as taxas pelo uso dos endereços, não incluem o custo dos links, naturalmente. Ao conectar via ADSL ou outra modalidade de acesso doméstico, você recebe um único IP válido. Ao alugar um servidor dedicado você recebe uma faixa com 5 ou mais endereços e, ao alugar um link empresarial você pode conseguir uma faixa de classe C inteira. Mas, de qualquer forma, os endereços são definidos "de cima para baixo" de acordo com o plano ou serviço contratado e você não pode escolher quais endereços utilizar. Embora aparentem ser uma coisa só, os endereços IP incluem duas informações: o endereço da rede e o endereço do host dentro dela. Em uma rede doméstica, por exemplo, você poderia utilizar os endereços "192.168.1.1", "192.168.1.2" e "192.168.1.3", onde o "192.168.1." é o endereço da rede (e por isso não muda) e o último número (1, 2 e 3) identifica os três micros que fazem parte dela. Os micros da rede local podem acessar a Internet através de um roteador, que pode ser tanto um servidor com duas placas de rede quando um modem ADSL ou outro dispositivo que ofereça a opção de compartilhar a conexão. Nesse caso, o roteador passa a ser o gateway da rede e utiliza seu endereço IP válido para encaminhar as requisições feitas pelos micros da rede interna. Esse recurso é chamado de NAT (Network Address Translation). Um dos micros da rede local, neste caso, poderia usar esta configuração de rede: Endereço IP: 192.168.1.2 Máscara: 255.255.255.0 Gateway: 192.168.1.1 (o servidor compartilhando a conexão) DNS: 200.169.126.15 (o DNS do provedor) O servidor, por sua vez, utilizaria uma configuração similar a esta: Placa de rede 1 (rede local): Endereço IP: 192.168.1.1 Máscara: 255.255.255.0 Placa de rede 2 (Internet): Endereço IP: 200.213.34.21 Máscara: 255.255.255.0 Gateway: 200.213.34.1 (o gateway do provedor) DNS: 200.169.126.15 (o DNS do provedor) A configuração da segunda placa de rede seria obtida automaticamente, via DHCP, de forma que você só precisaria realmente se preocupar com a configuração da sua rede local. Normalmente, você primeiro configuraria a rede local, depois conectaria o servidor à Internet e, depois de checar as duas coisas, ativaria o compartilhamento da conexão via NAT. O servidor DHCP incluído no ICS do Windows utiliza uma configuração fixa, fornecendo endereços dentro da faixa "192.168.0.x", mas ao utilizar um servidor Linux, ou qualquer outro dispositivo de rede que ofereça um servidor DHCP com mais recursos, você pode escolher qualquer faixa de endereços e também configurar uma "zona" para os endereços do servidor DHCP, permitindo que você tenha micros com IPs fixos e IPs dinâmicos (fornecidos pelo servidor DHCP) na mesma rede. Nesse caso, você poderia ter uma configuração como a seguinte: 192.168.0.1: Gateway da rede 192.168.0.2: Ponto de acesso wireless 192.168.0.3: Servidor de arquivos para a rede interna 192.168.0.4 até 192.168.0.99: Micros da rede configurados com IP fixo

192.168.0.100 até 192.168.0.254: Faixa de endereços atribuída pelo servidor DHCP Veja que usar uma das faixas de endereços reservadas não impede que os PCs da sua rede possam acessar a Internet. Embora eles não acessem diretamente, por não possuírem IPs válidos, eles podem acessar através de uma conexão compartilhada via NAT ou de um servidor proxy. É possível, inclusive, configurar o firewall ativo no gateway da rede para redirecionar portas (port forwarding) para micros dentro da rede local, de forma que eles possam ser acessados remotamente. O servidor nesse caso "empresta" uma porta, ou uma determinada faixa de portas, para o endereço especificado dentro da rede local. Quando alguém da Internet acessa uma das portas encaminhadas no servidor, é automaticamente redirecionado para a porta correspondente no micro da rede interna, de forma transparente. O uso dos endereços de rede local tem aliviado muito o problema da falta de endereços IP válidos, pois uma quantidade enorme de empresas e usuários domésticos, que originalmente precisariam de uma faixa de endereços completa para colocar todos os seus micros na Internet, pode sobreviver com um único IP válido (compartilhado via NAT entre todos os micros da rede). Em muitos casos, mesmo provedores de acesso chegam a vender conexões com endereços de rede interna nos planos mais baratos, como, por exemplo, alguns planos de acesso via rádio, onde um roteador com um IP válido distribui endereços de rede interna (conexão compartilhada) para os assinantes. Embora seja possível, pelo menos em teoria, ter redes com até 24 milhões de PCs, usando a faixa de endereços de rede local 10.x.x.x, na prática é raro encontrar segmentos de rede com mais de 100 ou 200 micros. Conforme a rede cresce, o desempenho acaba caindo, pois, mesmo ao utilizar um switch, sempre são transmitidos alguns pacotes de broadcast (que são retransmitidos a todos os micros do segmento). A solução nesse caso é dividir a rede em segmentos separados, interligados por um roteador. Em uma empresa, poderíamos (por exemplo) ter três segmentos diferentes, um para a rede cabeada (e a maior parte dos micros), outro para a rede wireless e outro para os servidores, que ficariam isolados em uma sala trancada. O roteador nesse caso teria 4 interfaces de rede (uma para cada um dos três segmentos e outra para a Internet). A vantagem de dividir a rede desta maneira é que você poderia criar regras de firewall no roteador, especificando regras diferentes para cada segmento. Os micros conectados à rede wireless (menos segura), poderiam não ter acesso aos servidores, por exemplo. Quando falo em "roteador", tenha em mente que você pode perfeitamente usar um servidor Linux com diversas placas de rede. Com relação à proteção da rede contra acessos provenientes da Internet, você poderia tanto configurar o próprio firewall ativo no roteador, de forma a proteger os micros da rede local quanto instalar um firewall dedicado (que pode ser um PC com duas placas de rede, configurado adequadamente) entre ele e a Internet: Voltando à questão dos endereços: inicialmente os endereços IP foram divididos em classes, denominadas A, B, C, D e E. Destas, apenas as classe A, B e C são realmente usadas, já que as classes D e E são reservadas para recursos experimentais e expansões futuras. Cada classe reserva um número diferente de octetos para o endereçamento da rede. Na classe A, apenas o primeiro octeto identifica a rede, na classe B são usados os dois primeiros octetos e na classe C temos os três primeiros octetos reservados para a rede e apenas o último reservado para a identificação dos hosts dentro dela. O que diferencia uma classe de endereços da outra é o valor do primeiro octeto. Se for um número entre 1 e 126 temos um endereço de classe A. Se o valor do primeiro octeto for um número entre 128 e 191, então temos um endereço de classe B e, finalmente, caso o primeiro octeto seja um número entre 192 e 223, temos um endereço de classe C.

Ao configurar uma rede local, você pode escolher a classe de endereços mais adequada. Para uma pequena rede, uma faixa de endereços de classe C (como a tradicional 192.168.0.x com máscara 255.255.255.0) é mais apropriada, pois você precisa se preocupar em configurar apenas o último octeto do endereço ao atribuir os endereços. Em uma rede de maior porte, com mais de 254 micros, passa a ser necessário usar um endereço de classe B (com máscara 255.255.0.0), onde podemos usar diferentes combinações de números nos dois últimos octetos, permitindo um total de 65.534 endereços. Continuando, temos a configuração das máscaras de sub-rede, que servem para indicar em que ponto termina a identificação da rede e começa a identificação do host. Ao usar a máscara "255.255.255.0", por exemplo, indicamos que os três primeiros números (ou octetos) do endereço servem para identificar a rede e apenas o último indica o endereço do host dentro dela. Como vimos, na divisão original (que não é mais usada hoje em dia, como veremos a seguir) os endereços das três faixas eram diferenciados pelo número usado no primeiro octeto. Os endereços de classe A começavam com números de 1 a 126 (como, por exemplo, "62.34.32.1"), com máscara 255.0.0.0. Cada faixa de endereços classe A era composta de mais de 16 milhões de endereços mas, como existiam apenas 126 delas, elas eram reservadas para o uso de grandes empresas e órgãos governamentais. Em seguida tínhamos os endereços de classe B, que englobavam os endereços iniciados com de 128 a 191, com máscara 255.255.0.0 (criando faixas compostas por 65 mil endereços) e o "terceiro mundo", que eram as faixas de endereços classe C. Elas abrangiam os endereços que começam com números de 192 a 223. As faixas de endereços de classe C eram mais numerosas, pois utilizavam máscara 255.255.255.0, mas, em compensação, cada faixa de classe C era composta por apenas 254 endereços. Veja alguns exemplos: Ex. de endereço IP Classe do endereço Parte referente à rede Parte referente ao host Máscara de sub-rede padrão 98.158.201.128 Classe A 98. 158.201.128 255.0.0.0 (rede.host.host.host) 158.208.189.45 Classe B 158.208. 189.45 255.255.0.0 (rede.rede.host.host) 208.183.34.89 Classe C 208.183.34. 89 255.255.255.0 (rede.rede.rede.host) Ao alugar um backbone vinculado a uma faixa de endereços classe C, por exemplo, você receberia uma faixa de endereços como "203.107.171.x", onde o "203.107.171" é o endereço de sua rede dentro da Internet, e o "x" é a faixa de 254 endereços que você pode usar para identificar seus servidores e os hosts dentro da rede. Na ilustração temos um resumo das regras para endereços TCP/IP válidos: Como você pode notar no diagrama, nem todas as combinações de endereços são permitidas, pois o primeiro endereço (0) é reservado à identificação da rede, enquanto o último (255) é reservado ao endereço de broadcast, que é usado quando alguma estação precisa enviar um pacote simultaneamente para todos os micros dentro do segmento de rede.

Os pacotes de broadcast são usados para, por exemplo, configurar a rede via DHCP e localizar os compartilhamentos de arquivos dentro de uma rede Windows (usando o antigo protocolo NetBIOS). Mesmo os switches e hub-switches detectam os pacotes de broadcast e os transmitem simultaneamente para todas as portas. A desvantagem é que, se usados extensivamente, eles prejudicam o desempenho da rede. Veja alguns exemplos de endereços inválidos: 0.xxx.xxx.xxx: Nenhum endereço IP pode começar com zero, pois ele é usado para o endereço da rede. A única situação em que um endereço começado com zero é usado, é quando um servidor DHCP responde à requisição da estação. Como ela ainda não possui um endereço definido, o pacote do servidor é endereçado ao endereço MAC da estação e ao endereço IP "0.0.0.0", o que faz com que o switch o envie para todos os micros da rede. 127.xxx.xxx.xxx: Nenhum endereço IP pode começar com o número 127, pois essa faixa de endereços é reservada para testes e para a interface de loopback. Se por exemplo você tiver um servidor de SMTP e configurar seu programa de e-mail para usar o servidor 127.0.0.1, ele acabará usando o servidor instalado na sua própria máquina. O mesmo acontece ao tentar acessar o endereço 127.0.0.1 no navegador: você vai cair em um servidor web habilitado na sua máquina. Além de testes em geral, a interface de loopback é usada para comunicação entre diversos programas, sobretudo no Linux e outros sistemas Unix. 255.xxx.xxx.xxx, xxx.255.255.255, xxx.xxx.255.255: Nenhum identificador de rede pode ser 255 e nenhum identificador de host pode ser composto apenas de endereços 255, seja qual for a classe do endereço, pois estes endereços são usados para enviar pacotes de broadcast. Outras combinações são permitidas, como em 65.34.255.197 (em um endereço de classe A) ou em 165.32.255.78 (endereço de classe B). xxx.0.0.0, xxx.xxx.0.0: Nenhum identificador de host pode ser composto apenas de zeros, seja qual for a classe do endereço, pois estes endereços são reservados para o endereço da rede. Como no exemplo anterior, são permitidas outras combinações como 69.89.0.129 (classe A) ou 149.34.0.95 (classe B). xxx.xxx.xxx.255, xxx.xxx.xxx.0: Nenhum endereço de classe C pode terminar com 0 ou com 255, pois, como já vimos, um host não pode ser representado apenas por valores 0 ou 255, já que eles são usados para o envio de pacotes de broadcast. Dentro de redes locais, é possível usar máscaras diferentes para utilizar os endereços IP disponíveis de formas diferentes das padrão. O importante neste caso é que todos os micros da rede sejam configurados com a mesma máscara, caso contrário você terá problemas de conectividade, já que tecnicamente os micros estarão em redes diferentes. Um exemplo comum é o uso da faixa de endereços 192.168.0.x para redes locais. Originalmente, esta é uma faixa de endereços classe C e por isso a máscara padrão é 255.255.255.0. Mesmo assim, muita gente prefere usar a máscara 255.255.0.0, o que permite mudar os dois últimos octetos (192.168.x.x). Neste caso, você poderia ter dois micros, um com o IP "192.168.2.45" e o outro com o IP "192.168.34.65" e ambos se enxergariam perfeitamente, pois entenderiam que fazem parte da mesma rede. Não existe problema em fazer isso, desde que você use a mesma máscara em todos os micros da rede.» Próximo: CIDR e Máscaras de tamanho variável CIDR e Máscaras de tamanho variável Muito do que vimos até aqui já foi abordado nos capítulos anteriores. Optei por começar com um resumo geral para chamá-lo de volta ao tema, já que esta questão dos endereçamentos é um assunto complicado. Vamos então às novidades. A divisão tradicional, com as classes A, B e C de endereços IP fazia com que um grande número de endereços fossem desperdiçados. Um provedor de acesso que precisasse de 10.000 endereços IP, por exemplo, precisaria ou utilizar uma faixa de endereços classe B inteira (65 mil endereços), o que geraria um grande desperdício, ou utilizar 40 faixas de endereços classe C separadas, o que complicaria a configuração. Existia ainda o problema com as faixas de endereços classe A, que geravam um brutal desperdício de endereços, já que nenhuma empresa ou organização sozinha chega a utilizar 16 milhões de endereços IP. A solução para o problema foi a implantação do sistema CIDR (abreviação de "Classless Inter-Domain Routing", que pronunciamos como "cider"), a partir de 1993 (leia o RCF no http://tools.ietf.org/html/rfc1519). Entender as classes de endereços A, B e C é importante para compreender o uso das máscaras de sub-rede e por isso elas ainda são muito estudadas, mas é importante ter em mente que, na prática, elas são uma designação obsoleta. Naturalmente, ainda existem muitas redes que utilizam faixas de endereços de classe A, B e C (já que as faixas alocadas no passado não podem ser simplesmente revogadas de uma hora para a outra), mas as faixas alocadas atualmente utilizam quase sempre o novo sistema. No CIDR são utilizadas máscaras de tamanho variável (o termo em inglês é VLSM, ou Variable-Length Subnet Mask), que permitem uma flexibilidade muito maior na criação das faixas de endereços. Se são necessários apenas 1000 endereços, por exemplo, poderia ser usada uma máscara /22 (que permite o uso de 1022 endereços), em vez de uma faixa de classe B inteira, como seria necessário antigamente. Outra mudança é que as faixas de endereços não precisam mais iniciar com determinados números. Uma faixa com máscara /24 (equivalente a uma faixa de endereços de classe C) pode começar com qualquer dígito e não apenas com de 192 a 223. O CIDR permite também que várias faixas de endereços contínuas sejam agrupadas em faixas maiores, de forma a simplificar a configuração. É possível agrupar 8 faixas de endereços com máscara 255.255.255.0 (classe C) contínuas em uma única faixa com máscara /21, por exemplo, que oferece um total de 2045 endereços utilizáveis (descontando o endereço da rede, endereço de broadcast e o endereço do gateway).

As faixas de endereços são originalmente atribuídas pela IANA às entidades regionais. Elas dividem os endereços em faixas menores e as atribuem aos carriers (as operadoras responsáveis pelos links), empresas de hospedagem, provedores de acesso e outras instituições. Estas, por sua vez, quebram os endereços em faixas ainda menores, que são atribuídas aos consumidores finais. Revisando, a máscara de subrede determina qual parte do endereço IP é usada para endereçar a rede e qual é usada para endereçar os hosts dentro dela. No endereço 200.232.211.54, com máscara 255.255.255.0 (/24), por exemplo, os primeiros 24 bits (200.232.211.) endereçam a rede e os 8 últimos (54) endereçam o host. Quando usamos máscaras simples, podemos trabalhar com os endereços em decimais, pois são sempre reservados 1, 2 ou 3 octetos inteiros para a rede e o que sobra fica reservado ao host. Esta é a idéia usada nas faixas de endereços classe A, B e C. Quando falamos em máscaras de tamanho variável, entretanto, precisamos começar a trabalhar com endereços binários, pois a divisão pode ser feita em qualquer ponto. Imagine, por exemplo, o endereço "72.232.35.108". Originalmente, ele seria um endereço de classe A e utilizaria máscara "255.0.0.0". Mas, utilizando máscaras de tamanho variável, ele poderia utilizar a máscara "255.255.255.248", por exemplo. Nesse caso, teríamos 29 bits do endereço dedicados à endereçar a rede e apenas os 3 últimos bits destinados ao host. Convertendo o endereço para binário teríamos o endereço "01001000.11101000.01100000.01101100", onde o "01001000.11101000.01100000.01101" é o endereço da rede e o "100" é o endereço do host dentro dela. Como temos 29 bits dedicados à rede, é comum o uso de um "/29" como máscara, no lugar de "255.255.255.248". À primeira vista, esse conceito parece bastante complicado, mas na prática não é tão difícil assim. A primeira coisa a ter em mente é que as máscaras de tamanho variável só fazem sentido quando você converte o endereço IP para binário. Para converter um número decimal em um número binário, você pode usar a calculadora do Windows ou o Kcalc no Linux. Configure a calculadora para o modo científico (exibir/científica) e verá que do lado esquerdo aparecerá um menu de seleção permitindo (entre outras opções) escolher entre decimal (dec) e binário (bin). Configure a calculadora para binário e digite o número 11111111, mude a opção da calculadora para decimal (dec) e a calculadora mostrará o número 255, que é o seu correspondente em decimal. Tente de novo agora com o binário 00000000 e terá o número decimal 0. Veja que 0 e 255 são exatamente os números que usamos nas máscaras de sub-rede simples. O número decimal 255 (equivalente a 11111111) indica que todos os 8 números binários do octeto se referem à rede, enquanto o decimal 0 (correspondente a 00000000) indica que todos os 8 dígitos binários do octeto se referem ao host. Em uma rede com máscara 255.255.255.0 temos: Decimal: 255 255 255 0 Binário: 11111111 11111111 11111111 00000000

rede rede rede host As máscaras de tamanho variável permitem fazer a divisão em outros pontos do endereço. No endereço "72.232.35.108" com máscara "255.255.255.248" que citei a pouco, teríamos: Decimal: 255 255 255 248 Binário: 11111111 11111111 11111111 11111 000 rede rede rede rede host Imagine o caso de um pequeno provedor de acesso, que possui um backbone com uma faixa de endereços com máscara 255.255.255.0 (/24) e precisa dividí-lo entre dois clientes, onde cada um deles deve ter uma faixa completa de endereços. O backbone do provedor utiliza a faixa de endereços 203.107.171.x onde o 203.107.171 é o endereço da rede e o "x" é a faixa de endereços de que eles dispõem para endereçar os micros das duas empresas. Como endereçar ambas as redes, se não é possível alterar o "203.107.171" que é a parte do seu endereço que se refere à rede? A solução seria justamente utilizar máscaras de tamanho variável. Veja que podemos alterar apenas dos últimos 8 bits do endereço IP: Decimal: 203 107 171 x Binário: 11001011 11010110 10101011???????? Usando uma máscara 255.255.255.0, são reservados todos os 8 bits para o endereçamento dos hosts, e não sobra nada para diferenciar as duas redes. Usando uma máscara de tamanho variável, é possível "quebrar" os 8 bits do octeto em duas partes, usando a primeira para diferenciar as duas redes e a segunda para endereçar os hosts: Decimal: 203 107 171 x Binário: 11001011 11010110 10101011???????? rede rede rede rede host Para tanto, ao invés de usar a máscara de sub-rede 255.255.255.0 que, como vimos, reservaria todos os 8 bits para o endereçamento do host, usaremos uma máscara 255.255.255.240 (/28) (corresponde ao binário 11111111.111111.11111111.11110000). Veja que em uma máscara de sub-rede os números binários "1" referem-se à rede e os números "0" referem-se ao host. Na máscara 255.255.255.240 temos exatamente esta divisão: quatro bits 1 e quatro bits 0: Decimal: 255 255 255 240 Binário: 11111111 11111111 11111111 1111 0000 rede rede rede rede host Temos agora o último octeto dividido em dois endereços binários de 4 bits cada. Cada um dos dois grupos representa agora um endereço distinto, e deve ser configurado independentemente. Como fazer isso? Veja que 4 bits permitem 16 combinações diferentes (de 0 a 15). Se você converter o número 15 em binário terá "1111" e, se converter o decimal 0, terá "0000". Se converter o decimal 11 terá "1011" e assim por diante. Neste caso, é possível usar endereços de 1 a 14 para identificar os hosts e as redes separadas. Note que os endereços 0 e 15 não podem ser usados, pois assim como os endereços 0 e 255, eles são reservados para pacotes de broadcast: Decimal: 203 107 171 12 _ 14 Binário: 11111111 11111111 11111111 1100 1110 rede rede rede rede host Estabeleça um endereço de rede para cada uma das duas sub-redes disponíveis e um endereço diferente para cada micro da rede,

mantendo a formatação do exemplo anterior. Por enquanto, apenas anote em um papel os endereços escolhidos, junto como seu correspondente em binários. Na hora de configurar o endereço IP nas estações, configure primeiro a máscara de sub-rede como 255.255.255.240 e, em seguida, converta os endereços binários em decimais, para ter o endereço IP de cada estação. No exemplo da ilustração anterior, havíamos estabelecido o endereço 12 para a rede e o endereço 14 para a estação; 12 corresponde a "1100" e 14 corresponde a "1110". Juntando os dois temos "11001110", que corresponde ao decimal "206". O endereço IP da estação será então 203.107.171.206, com máscara 255.255.255.240. Se tivesse escolhido o endereço 10 para a rede e o endereço 8 para a estação, teríamos "10101000" que corresponde ao decimal 168. Neste caso, o endereço IP da estação seria 203.107.171.168. Nesse primeiro exemplo dividimos a faixa de endereços em 14 redes distintas, cada uma com 14 endereços. Isso permitiria que o provedor de acesso do exemplo fornecesse links para até 14 empresas diferentes, desde que cada uma não precisasse de mais do que 14 endereços. É possível criar diferentes combinações, reservando números diferentes de bits para a rede e o host: Máscara Bits da rede Bits do host Número de redes Número de hosts 255.255.255.0 (/24) nenhum 00000000 nenhuma 254 endereços (do 1 ao 254) 255.255.255.192 (/26) 11 000000 2 endereços (2 e 3) 62 endereços (de 1 a 62) 255.255.255.224 (/27) 111 00000 6 endereços (de 1 a 6) 30 endereços (de 1 a 30) 255.255.255.240 (/28) 1111 0000 14 endereços (de 1 a 14) 14 endereços (de 1 a 14) 255.255.255.248 (/29) 11111 000 30 endereços (de 1 a 30) 6 endereços (de 1 a 6) 255.255.255.252 (/30) 111111 00 62 endereços (de 1 a 62) 2 endereços (2 e 3) Em qualquer um dos casos, para obter o endereço IP basta converter os dois endereços (rede e estação) para binário, "juntar" os bits e converter o octeto para decimal. Usando uma máscara de sub-rede 192, por exemplo, e estabelecendo o endereço 2 (ou "10" em binário) para a rede e 47 (ou "101111" em binário) para o host, juntaríamos ambos os binários obtendo o octeto "10101111" que corresponde ao decimal "175". Se usássemos a máscara de sub-rede 248, estabelecendo o endereço 17 (binário "10001") para a rede e o endereço 5 (binário "101") para o host, obteríamos o octeto "10001101" que corresponde ao decimal "141". Na hora de escrever o endereço e a máscara (como ao criar uma regra de firewall, ou ajustar um determinado arquivo com permissões de acesso), você pode tanto escrever a máscara por extenso, como em "192.168.0.0/255.255.255.0", quanto escrever usado a notação abreviada, como em "192.168.0.0/24". Essa possibilidade é usada ao extremo pelas empresas de hospedagem, que dividem as faixas de endereços disponíveis em diversas faixas menores, com apenas 4 ou 8 endereços, que são atribuídas aos servidores dedicados hospedados em seus data-centers. Ao usar a máscara 255.255.255.248, por exemplo, apenas 3 bits do endereço são reservados ao endereçamento dos hosts (convertendo 255.255.255.248 para binário, você teria 11111111.11111111.11111111.11111000), permitindo que uma faixa de endereços originalmente de classe A (16 milhões de hosts) seja dividida em 2.080.768 pequenas redes, uma para cada servidor dedicado que for locado. Três bits permitem 8 combinações, mas o primeiro e o último endereço são reservados ao endereço da rede e ao endereço de broadcast, fazendo com que apenas 6 endereços possam realmente ser utilizados. Destes, mais um é sacrificado, pois é atribuído ao gateway (sem o gateway o servidor não acessa a Internet), de forma que no final apenas 5 endereços ficam realmente disponíveis. Imagine, por exemplo, que você locou um servidor dedicado que tem disponível uma faixa de endereços que vai do 72.232.35.106 até o 72.232.35.110 (com máscara 255.255.255.248), sendo que o endereço 72.232.35.105 é o gateway da rede. Originalmente, a faixa de endereços iria do 72.232.35.104 ao 72.232.35.111, mas como o primeiro endereço é reservado à rede, o último aos pacotes de broadcast e mais um endereço precisa ficar reservado ao gateway da rede, ficamos no final com apenas 5 endereços válidos, como citei. Convertendo os endereços para binário, teríamos: 72.232.35.104 = 01001000. 11101000 72.232.35.105 = 01001000. 11101000 72.232.35.106 = 01001000. 11101000 72.232.35.107 = 01001000. 11101000 72.232.35.108 = 01001000. 11101000 72.232.35.109 = 01001000. 11101000 72.232.35.110 = 01001000. 11101000 72.232.35.111 = 01001000. 11101000. 00100011. 01101 111....... 00100011 00100011 00100011 00100011 00100011 00100011 00100011....... 01101 01101 01101 01101 01101 01101 01101 000 001 010 011 100 101 110

Como pode ver, os 8 endereços esgotam todas as possibilidades possíveis dentro da faixa, já que temos apenas 3 bits disponíveis para o host. Os 29 primeiros bits do endereço se referem à rede e por isso são sempre iguais e apenas os três últimos se referem ao host. Este processo de converter os endereços para binário é um pouco trabalhoso, mas ajuda a entender melhor a estrutura dos endereços no CIDR. Você pode se perguntar qual é a necessidade de ter uma faixa com 5 endereços utilizáveis se o servidor é apenas um. Existem diversos motivos para isso. A primeira é que, ao configurar um servidor dedicado, você precisa de uma faixa de endereços inteira para poder configurar o DNS reverso, um pré-requisito para que seus e-mails não sejam rotulados como spam por outros servidores. Ao registrar um domínio, você precisa fornecer os endereços de dois servidores DNS, que responderão por ele. Em vez de ter dois servidores, você pode utilizar outro dos seus 5 endereços disponíveis para criar um alias (apelido) para a placa de rede do seu servidor dedicado e assim poder configurá-lo para responder simultaneamente como servidor DNS primário e secundário, eliminando assim a necessidade de utilizar dois servidores separados. Novamente, essa configuração é possível apenas caso o servidor possua uma faixa de endereços própria. No final, a configuração de rede de um servidor dedicado acaba sendo algo similar a isto: Endereço IP: Máscara: Gateway: Endereço da rede: Endereço de Alias da placa de rede (para Endereços vagos: 72.232.35.108, 72.232.35.109 e 72.232.35.110 72.232.35.106 255.255.255.248 72.232.35.105 72.232.35.104 broadcast: o DNS secundário): 72.232.35.111 72.232.35.107 Como se não bastasse, é possível ainda instalar o VMware Server, o Xen, ou outro sistema de virtualização e aproveitar estes três endereços vagos para criar três máquinas virtuais, cada uma com seu próprio endereço IP e configurada como se fosse um servidor separado. O princípio é o mesmo que ao rodar um segundo sistema operacional dentro do VMware Player no seu micro de trabalho, a única grande diferença é que neste caso toda a configuração é feita remotamente. Você poderia então, criar três servidores virtuais, alocando uma parte da memória e do HD do servidor principal para eles. As possíveis aplicações são muitas. Você poderia sublocar os servidores virtuais (a opção mais óbvia), usá-los para fazer testes e experiências diversas, sem correr o risco de danificar a instalação do sistema instalado no servidor principal, ou mesmo usar os servidores virtuais para rodar serviços potencialmente inseguros, de forma que, mesmo que alguém conseguisse obter acesso através de alguma falha de segurança, ficaria preso dentro do servidor virtual, sem ter acesso ao sistema principal. Interface de gerenciamento do VMware Server, com duas máquinas virtuais ativas A maioria das empresas de hospedagem oferece a opção de incluir endereços IP ou faixas adicionais no seu plano, permitindo (por exemplo), que você rode mais máquinas virtuais. Você pode então pagar um valor extra para dispor de mais endereços IP válidos, da mesma forma que pode contratar um plano com uma quota maior de tráfego ou com mais banda disponível:

Seleção do volume de endereços IP, quota de tráfego e largura de banda ao locar um servidor dedicado Hoje em dia, não é incomum que um único servidor dedicado hospede 10 ou 20 máquinas virtuais, cada uma sublocada para um cliente diferente. Isso abre as portas para diversos tipos de serviços personalizados. Você pode ver mais detalhes sobre a configuração de servidores dedicados no meu livro Servidores Linux, guia prático.» Próximo: Portas TCP e UDP Portas TCP e UDP Ao conectar na Internet, seu micro recebe um único endereço IP válido. Apesar disso, mantemos vários programas ou serviços abertos simultaneamente. Em um desktop é normal ter um programa de e-mail, um cliente de FTP ou SSH, o navegador, um cliente de ICQ ou MSN, dois ou três downloads via bittorrent e vários outros programas que enviam e recebem informações, enquanto um único servidor pode manter ativos servidores web, FTP, SSH, DNS, LDAP e muitos outros serviços, atendendo a centenas de clientes simultaneamente. Se temos apenas um endereço IP, como todos estes serviços podem funcionar ao mesmo tempo sem entrar em conflito? Imagine que as duas partes do endereço IP (a parte referente à rede e a parte referente ao host) correspondem ao CEP da rua e ao número do prédio. Um carteiro só precisa destas duas informações para entregar uma carta. Mas, dentro do prédio moram várias pessoas. O CEP e número do prédio só vão fazer a carta chegar até a portaria. Daí em diante é preciso saber o número do apartamento. É aqui que entram as famosas portas TCP. Existem 65.536 portas TCP, numeradas de 0 a 65535. Cada porta pode ser usada por um programa ou serviço diferente, de forma que em teoria poderíamos ter até 65536 serviços diferentes ativos simultaneamente em um mesmo servidor, com um único endereço IP válido. O endereço IP contém o CEP da rua e o número do prédio, enquanto a porta TCP determina a que sala dentro do prédio a carta se destina

As portas TCP mais usadas (também chamadas de "well known ports") são as portas de 0 a 1023, que são reservadas para serviços mais conhecidos e utilizados, como servidores web, FTP, servidores de e-mail, compartilhamento de arquivos, etc. A porta 80, por exemplo, é reservada para uso de servidores web, enquanto a porta 21 é a porta padrão para servidores FTP. A porta "0" é reservada, por isso não entra realmente na lista. Além do endereço IP, qualquer pacote que circula na Internet precisa conter também a porta TCP a que se destina. É isso que faz com que um pacote chegue até o servidor web e não ao servidor FTP instalado na mesma máquina. Além das 65.536 portas TCP, temos o mesmo número de portas UDP, seu protocolo irmão. Embora seja um protocolo menos usado que o TCP, o UDP continua presente nas redes atuais pois oferece uma forma alternativa de envio de dados, onde em vez da confiabilidade é privilegiada a velocidade e a simplicidade. Vale lembrar que tanto o TCP quanto o UDP trabalham na camada 4 do modelo OSI. Ambos trabalham em conjunto com o IP, que cuida do endereçamento. No TCP, os dados são transmitidos através de conexões. Tudo começa com o cliente enviando o pacote "SYN", que solicita a abertura da conexão. Caso a porta esteja fechada, o servidor responde com um pacote "RST" e a conversa pára por aí. Caso, por outro lado, exista algum servidor disponível na porta solicitada (um servidor http, por exemplo), então ele responde com outro pacote "SYN", seguido de um um pacote "ACK", avisando que a porta está disponível e prosseguindo com a abertura da conexão. O cliente responde então com outro pacote "ACK", o que abre oficialmente a conexão. Começa então a transferência dos dados, que são organizados em pacotes. O protocolo TCP/IP permite o uso de pacotes com até 64 kbytes, mas normalmente são usados pacotes com até 1500 bytes, que é o tamanho máximo de um frame Ethernet. Pacotes maiores podem ser transmitidos normalmente através da rede, mas precisam ser fragmentados, ou seja, divididos em pedaços menores, com até 1500 bytes. Para cada pacote recebido, a estação envia um pacote de confirmação e, caso algum pacote se perca, ela solicita a retransmissão. Cada pacote inclui 4 bytes adicionais com um código de CRC, que permite verificar a integridade do pacote. É através dele que o cliente sabe quais pacotes chegaram danificados. Depois que todos os dados são transmitidos, o servidor envia um pacote "FYN" que avisa que não tem mais nada a transmitir. O cliente responde com outro pacote "FYN" e a conexão é oficialmente encerrada. Graças a tudo isso, a confiabilidade é muito boa. Quando a conexão está ruim, é normal ocorrerem mais perdas de pacotes e retransmissões, mas as corrupções são geralmente causadas pelo próprio programa que está baixando o arquivo e não pelo protocolo. O problema é que toda esta formalidade torna as transferências um pouco mais lentas. Imagine que, para transmitir uma mensagem de texto com 300 bytes, via TCP, seria necessário transmitir um total de 9 pacotes! Veja um exemplo de como a transmissão funcionaria: Estação: SYN (solicita a abertura da conexão) Servidor: SYN (confirma o recebimento e avisa que a porta está disponível) Servidor: ACK (inicia a conexão) Estação: ACK (confirma) Estação: DATA (é enviado o pacote com a mensagem de texto) Servidor: OK (a confirmação, depois de verificar a integridade do pacote) Estação: FYN (solicita o fechamento da conexão) Servidor: FYN (confirma) Estação: FYN (confirma que recebeu a confirmação) No UDP, as coisas são mais simples. Nele não existe abertura de conexão, os pacotes são transmitidos diretamente. A estação solicita alguma informação e o servidor envia a resposta. Assim como no TCP, são usados pacotes de até 1500 bytes (o protocolo permite o uso de pacotes com até 64 kbytes, mas, assim como no caso do TCP eles são raramente usados devido ao limite de tamanho dos frames Ethernet), contendo os bits adicionais de verificação. A estação pode verificar a integridade dos pacotes, mas não tem como perceber se algum pacote se perdeu, ou solicitar a retransmissão de um pacote corrompido. Se um pacote se perde, fica por isso mesmo. Um exemplo típico de uso do UDP é o streaming de vídeo e audio via web, uma situação onde o que vale é a velocidade e não a confiabilidade. Você não gostaria nada se o navegador parasse a exibição do vídeo para solicitar uma retransmissão cada vez que um pacote se perdesse ou chegasse corrompido. É preferível que ele pule o quadro e continue exibindo o restante do vídeo. Outra aplicação comum são os servidores DNS. Sempre que você acessa um site, a solicitação do endereço IP referente ao domínio do site e a resposta do servidor são enviadas via UDP, para ganhar tempo. Na prática, é bem raro encontrar algum programa que utilize unicamente pacotes UDP para qualquer coisa além do envio de mensagens curtas. Mesmo no caso do streaming de vídeo, é quase sempre usada uma porta TCP para estabelecer a conexão e enviar informações de controle, deixando o UDP apenas para o envio dos dados. As portas mais usadas são: 21 TCP: FTP O FTP é um dos protocolos de transferência de arquivos mais antigos e ainda assim um dos mais usados. O ponto fraco do FTP é a questão da segurança: todas as informações, incluindo as senhas trafegam em texto puro e podem ser capturadas por qualquer um que tenha acesso à transmissão. O FTP possui dois modos de operação: passivo e ativo. No modo ativo, o cliente contata o servidor usando uma porta vaga aleatória, como, por exemplo, a porta 1026, endereçando o pacote à porta 21 do servidor. O servidor imediatamente contata o cliente de volta, usando a porta seguinte (do cliente) para enviar os dados. Se o cliente usou a porta 1026 para abrir a conexão, então o servidor enviará os dados na porta 1027. O problema é que o modo ativo não funciona quando o cliente acessa através de uma conexão compartilhada. Ao tentar responder, o servidor cairia na porta 1027 do gateway da rede, sem conseguir chegar ao cliente. No modo passivo, o cliente também abre a conexão contatando a porta 21 do servidor; entretanto, ao invés de iniciar a conexão imediatamente, o servidor responde avisando que o cliente pode contatá-lo em uma segunda porta, escolhida aleatoriamente (a 2026,

por exemplo). O cliente inicia, então, uma nova conexão na porta especificada e o servidor responde enviando os dados (a porta fica reservada ao cliente durante o tempo que durar a transferência). Em teoria, isto seria um limite ao número de clientes que poderiam se conectar simultaneamente, mas, na prática, seriam necessárias mais de 64.000 conexões simultâneas ao mesmo servidor FTP para esgotar as portas disponíveis. Praticamente todos os clientes de FTP atuais utilizam o modo passivo por padrão, mas isso pode ser modificado dentro da configuração. Alguns poucos servidores de FTP não podem ser acessados em modo passivo, pois para isso é necessário que o administrador faça uma configuração de firewall mais cuidadosa, mantendo abertas um conjunto de portas altas. Em resumo, no modo ativo o servidor precisa ter aberta apenas a porta 21, mas em compensação o cliente precisa acessar a web diretamente e ter um conjunto de portas altas abertas no firewall. No modo passivo, os papéis se invertem: o cliente não precisa ter portas abertas, mas o servidor sim. 22 TCP: SSH O SSH é o canivete suíço da administração remota em servidores Linux. Inicialmente o SSH permitia executar apenas comandos de texto remotamente; depois passou a permitir executar também aplicativos gráficos e, em seguida, ganhou também um módulo para transferência de arquivos, o SFTP. A vantagem do SSH sobre o Telnet e o FTP é que tudo é feito através de um canal encriptado, com uma excelente segurança. O SSH pode ser usado também para encapsular outros protocolos, criando um túnel seguro para a passagem dos dados. Criando túneis, é possível acessar servidores de FTP, proxy, e-mail, rsync, etc. de forma segura. Graças a isso, o SSH é usado como meio de transporte por diversos programas, como o NX Server. Veremos detalhes sobre o uso do SSH no capítulo 6. O sistema de encriptação utilizado pelo SSH, assim como os túneis encriptados, trabalham no nível 6 do modelo OSI, acima da camada de sessão, do protocolo TCP/IP, e de toda a parte física da rede. Ao contrário do FTP, o SSH não precisa de portas adicionais: tudo é feito através da porta 22, que é a única que precisa ficar aberta no firewall do servidor. O cliente não precisa ter porta alguma aberta e pode acessar através de uma conexão compartilhada via NAT. 23 TCP: Telnet O Telnet é provavelmente o protocolo de acesso remoto mais antigo. A primeira demonstração foi feita em 1969, com o acesso de um servidor Unix remoto (ainda na fase inicial de implantação da Arpanet), muito antes de ser inventado o padrão Ethernet e antes mesmo da primeira versão do TCP/IP. O Telnet foi muito usado durante as décadas de 1980 e 1990, mas depois caiu em desuso, sendo rapidamente substituído pelo SSH. Além de não possuir nenhum dos recursos mais sofisticados suportados pelo SSH, o Telnet é um protocolo completamente aberto (no sentido pejorativo), que transmite login, senha e todos os comandos em texto puro. Isso torna ridiculamente simples capturar a transmissão (usando, por exemplo, o Wireshark, que veremos no capítulo 5) e assim "invadir" o servidor, usando a senha roubada. Uma curiosidade, é que o sistema usado pelo Telnet para a transmissão de comandos é usado como base para diversos outros

protocolos, como o SMTP e o HTTP. De fato, você pode usar um cliente Telnet para mandar um e-mail (se souber usar os comandos corretos), ou mesmo acessar um servidor web, desde que consiga simular uma conexão HTTP válida, como faria um navegador. 25 TCP: SMTP O SMTP é o protocolo padrão para o envio de e-mails. Ele é usado tanto para o envio da mensagem original, do seu micro até o servidor SMTP do provedor, quanto para transferir a mensagem para outros servidores, até que ela chegue ao servidor destino. Tradicionalmente, o Sendmail é o servidor de e-mails mais usado, mas, devido aos problemas de segurança, ele vem perdendo espaço para o Qmail e o Postfix. 53 UDP: DNS Os servidores DNS são contatados pelos clientes através da porta 53, UDP. Eles são responsáveis por converter nomes de domínios como "guiadohardware.net" nos endereços IP dos servidores. Existem no mundo 13 servidores DNS principais, chamados "root servers". Cada um deles armazena uma cópia completa de toda a base de endereços. Estes servidores estão instalados em países diferentes e ligados a links independentes. A maior parte deles roda o Bind, mas pelo menos um deles roda um servidor diferente, de forma que, mesmo que uma brecha grave de segurança seja descoberta e seja usada em um cyberataque, pelo menos um dos servidores continue no ar, mantendo a Internet operacional. Para acessar qualquer endereço, é preciso primeiro consultar um servidor DNS e obter o endereço IP real do servidor. Em geral, uma consulta a um dos root servers demora alguns segundos, por isso os provedores de acesso e os responsáveis por grandes redes sempre configuram servidores DNS locais, que criam um cache das consultas anteriores, de forma a agilizar o acesso. Você mesmo pode configurar um servidor DNS para a sua rede usando o Bind. 67 e 68 TCP: Bootps e Bootpc Estes dois protocolos podem ser usados em sistemas de boot remoto, onde os clientes não possuem HD nem CD-ROM e acessam todos os arquivos de que precisam a partir do servidor. Entretanto, os servidores DHCP atuais incorporam as funções que eram antigamente desempenhadas pelos servidores Bootps, e Bootpc, o que acabou tornando-os obsoletos. Nas versões atuais do LTSP, por exemplo, os clientes dão boot através da rede utilizando uma combinação de servidores DHCP, TFTP, NFS e XDMCP. 69 UDP: TFTP O TFTP é uma versão simplificada do FTP, que utiliza portas UDP para a transferência dos dados e não inclui suporte à correção de erros. Ele pode ser usado para transferência de arquivos em geral, mas é mais freqüentemente usado em sistemas de boot remoto, como no caso do LTSP. A principal vantagem nesses casos é que o protocolo é muito mais simples, de forma que o cliente TFTP pode ser incluído diretamente no BIOS da placa de rede, permitindo que o sistema operacional seja carregado diretamente através da rede, sem precisar de um HD ou outra unidade de armazenamento. 80 TCP: HTTP O HTTP é o principal protocolo da Internet, usado para acesso às paginas web. Embora a porta 80 seja a porta padrão dos servidores web, é possível configurar um servidor web para usar qualquer outra porta TCP. Neste caso, você precisa especificar a porta ao acessar o site, como em: http://200.234.34.12:8080. 110 TCP: POP3 Servidores de e-mail, como o Postfix, armazenam os e-mails recebidos em uma pasta local. Se você tiver acesso ao servidor via SSH, pode ler estes e-mails localmente, usando Mutt (no Linux). Entretanto, para transferir os e-mails para sua máquina, é necessário um servidor adicional. É aí que entra o protocolo POP3, representado no Linux pelo courier-pop e outros servidores. Programas como o Thunderbird e o Outlook contatam o servidor POP3 através da porta 110 e baixam as mensagens utilizando um conjunto de comandos de texto, derivados do Telnet. Originalmente, o POP3 é um protocolo tão inseguro quanto o Telnet, mas os servidores atuais suportam encriptação via SSL (o mesmo sistema de encriptação usado para acessar páginas seguras, via HTTPs), o que garante um bom nível de segurança. 123 UDP: NTP O NTP (Network Time Protocol) é o protocolo usado para sincronizar o relógio em relação a outras máquinas da rede ou da Internet. Manter os relógios das máquinas sincronizados é uma necessidade em grandes redes, com grande uso de arquivos compartilhados, já que fica difícil acompanhar os horários de atualização dos arquivos se cada máquina utiliza um horário diferente. O protocolo NTP leva em conta o ping entre as máquinas e outros fatores para fazer as atualizações de forma extremamente precisa, de forma que diferenças de sincronismo entre as máquinas são sempre da ordem de poucos milésimos de segundo. Existem diversos servidores NTP públicos, disponíveis via web. Para facilitar as coisas, existe o servidor "pool.ntp.org", que serve como um load balancer, encaminhando as requisições para um servidor geograficamente próximo de você. Ao invés de ficar caçando servidores públicos no Google, você pode sincronizar diretamente a partir dele. No Windows XP, por exemplo, a opção de usar o NTP está disponível no "Painel de Controle > Data e hora > Horário da Internet":

137 UDP, 138 UDP e 139 TCP: NetBIOS Estas três portas são usadas pelo protocolo de compartilhamento de arquivos e impressoras em redes Microsoft. Cada uma das portas tem uma função específica: a porta 137 UDP é usada para a navegação, incluindo a visualização dos compartilhamentos disponíveis, a porta 138 UDP para a resolução dos nomes da rede e a porta 139 TCP é usada para a transferência de dados. É necessário que as três estejam abertas no firewall para que a visualização dos compartilhamentos e acesso aos arquivos funcione corretamente. A partir do Windows 2000, passou a ser usado o protocolo CIFS (veja a seguir), mas o NetBIOS continua disponível para manter compatibilidade com as versões anteriores do sistema. 143 TCP: IMAP O IMAP é mais um protocolo para recebimento de e-mails, assim como o POP3. A diferença entre os dois é que, ao receber os e-mails via POP3, eles são apagados do servidor assim que baixados, liberando o espaço usado na caixa postal. No IMAP, os e-mails continuam no servidor até serem deletados manualmente. Embora oferecer contas de e-mail com acesso via IMAP seja muito mais oneroso do que via POP3 (já que o número de requisições é maior, e os usuários podem conservar mensagens antigas por muito tempo), ele vem "roubando a cena" com a popularização dos webmails, que são justamente clientes IMAP, que rodam no próprio servidor (através do Apache ou outro servidor web), e são acessados no cliente usando o navegador. 177 TCP: XDMCP O XDMCP é um protocolo de acesso remoto, suportado nativamente pelo X (o ambiente gráfico usado no Linux e em outros sistemas Unix). Ele permite rodar aplicativos remotamente e é a base para o LTSP e outros sistemas de acesso remoto, onde é usado um servidor central e terminais leves. O XDMCP pode ser também usado no dia-a-dia, para simplesmente rodar programas instalados em outra máquina da rede. A vantagem do XDMCP é que ele é um protocolo bastante simples e rápido, que oferece um bom desempenho via rede local e consome poucos recursos, tanto no servidor, quanto no cliente. Ele é também um recurso nativo do X, de forma que você não precisa instalar nenhum software adicional, basta ativar o recurso na configuração do KDM ou GDM (os gerenciadores de login usados nas distribuições Linux atuais). A desvantagem é que o XDMCP é um protocolo "da velha guarda", que não inclui suporte a encriptação, e utiliza um conjunto de portas altas para enviar dados aos clientes. Além da porta 177, onde o servidor recebe conexões, é necessário que estejam abertas as portas de 6010 à 6099 (no servidor) e as portas de 5000 a 5200 nos clientes, o que complica um pouco as coisas ao manter um firewall ativo. 389 TCP: LDAP O LDAP é muito usado atualmente para criar servidores de autenticação e definir permissões de acesso para os diferentes usuários da rede. Existem vários padrões de LDAP, um dos mais usados é o OpenLDAP, suportado pela maioria das distribuições Linux atualmente em uso. 443 TCP: HTTPS O HTTPS permite transmitir dados de forma segura, encriptados usando o SSL. Ele é usado por bancos e todo tipo de site de comércio eletrônico ou que armazene informações confidenciais. 445 TCP: CIFS compartilhamentos além de ser usado apenas a porta 445 O protocolo CIFS é uma versão atualizada do antigo protocolo NetBIOS, usado para a navegação e acesso a em redes Windows. O protocolo CIFS é utilizado por padrão pelos clientes rodando o Windows 2000, XP e Vista, pelas versões recentes do Samba. Ao contrário do NetBIOS, que utiliza um conjunto de 3 portas, o CIFS utiliza TCP. Naturalmente, esta é uma lista rápida, contendo apenas as portas mais usadas. Você pode ver uma lista longa e completa, com todos os serviços conhecidos e as portas utilizadas por cada um no: http://www.iana.org/assignments/port-numbers.» Próximo: ICMP

ICMP Além do TCP e do UDP, temos o ICMP (Internet Control Message Protocol), um protocolo de controle, que opera no nível 3 do modelo OSI (junto com o protocolo IP). Ao contrário do TCP e do UDP, o ICMP não é usado para a transmissão de dados, mas nem por isso deixa de desempenhar diversas funções importantes. A mais trivial delas é o ping, que usamos para verificar se uma determinada máquina está online, como em: $ ping -c 3 guiadohardware.net PING guiadohardware.net (64.246.6.25) 56(84) bytes of data. 64 bytes from gdhs.guiadohardware.net (64.246.6.25): icmp_seq=1 ttl=53 time=8.72 ms 64 bytes from gdhs.guiadohardware.net (64.246.6.25): icmp_seq=2 ttl=53 time=8.62 ms 64 bytes from gdhs.guiadohardware.net (64.246.6.25): icmp_seq=3 ttl=53 time=8.37 ms --- guiadohardware.net ping statistics --3 packets transmitted, 3 received, 0% packet loss, time 2000ms rtt min/avg/max/mdev = 8.373/8.576/8.728/0.183 ms O "-c" indica o número de repetições, neste caso 3. Sem ele, o ping fica enviando pacotes indefinidamente (no Linux), até que você aborte o programa pressionando Ctrl+C. Assim como outros comandos básicos, o ping também está disponível no Windows, através do prompt do MS-DOS. Normalmente, os pings para qualquer servidor na Internet (com exceção dos servidores do seu provedor de acesso, ou outros servidores muito próximos), voltam com pelo menos 100 milessegundos de atraso. Quanto mais distante geograficamente estiver o servidor, ou quanto mais saturado estiverem os roteadores e links até ele, maior será o tempo de resposta. Um ping muito alto faz com que o carregamento de páginas seja mais demorado (pois o ping determina o tempo necessário para cada requisição do navegador chegar até o servidor) e atrapalha principalmente quem joga online, ou usa programas de administração remota, como o SSH. No meu caso, consegui pings de apenas 8 ms até o servidor do Guia do Hardware, pois "trapaceei", acessando via SSH um outro servidor ligado ao mesmo backbone que ele e rodando o ping a partir dele :). A resposta a pings pode ser desativada na configuração do sistema. No Linux, você pode usar o comando abaixo: # echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all É possível também desativar a resposta a pings na configuração do firewall, de forma que, o fato de um micro da Internet, ou mesmo dentro da sua rede local não responder a pings não significa muita coisa. Se ele responder, significa que está online; se não responder, significa que pode estar online também, porém configurado para não responder aos seus chamados. Outra função importante do ICMP é o controle do TTL (time to live) de cada pacote TCP ou UDP. Os pacotes tem vida curta e sua única função é carregar os dados até o destino. Eles são transmitidos de um roteador a outro e, uma vez que chegam ao destino, são desmontados e destruídos. Mas, o que acontece em casos onde não existe uma rota possível até o destino, seja porque a máquina está desligada, por erro no endereçamento, ou por um problema em algum dos links? Existem duas possibilidades. A primeira é um roteador próximo perceber que a máquina está fora do ar e destruir o pacote. Neste caso, ele responde ao emissor com um pacote ICMP "Destination Unreachable", avisando do ocorrido. Caso isso não aconteça, o pacote fica circulando pela rede, passando de um roteador a outro, sem que consiga chegar ao destino final. O TTL existe para evitar que estes pacotes fiquem em loop eterno, sendo retransmitidos indefinidamente e assim consumindo banda de forma desnecessária. Graças a ele, os pacotes têm "vida útil". O TTL default varia de acordo com o sistema operacional usado. No Windows XP o default são 128 hops, enquanto nas versões atuais do Linux os pacotes são criados com um TTL de 64 hops. Cada vez que o pacote passa por um roteador, o número é reduzido em um. Se o número chegar a zero, o roteador destrói o pacote e avisa o emissor enviando um pacote ICMP "Time Exceeded". No Linux, o TTL padrão é configurável através do arquivo "/proc/sys/net/ipv4/ip_default_ttl". Você pode brincar com isso alterando o valor padrão por um número mais baixo, como em: # echo 8 > /proc/sys/net/ipv4/ip_default_ttl Com um valor tão baixo, os pacotes gerados pela sua máquina terão vida curta, e não conseguirão atingir hosts muito distantes. Você vai continuar conseguindo acessar a página do seu provedor, por exemplo, mas não conseguirá acessar servidores geograficamente distantes. Para retornar o valor padrão, use o comando: # echo 64 > /proc/sys/net/ipv4/ip_default_ttl Os pacotes ICMP "Time Exceeded" são usados pelo comando "traceroute" (no Linux) para criar um mapa do caminho percorrido pelos pacotes até chegarem a um determinado endereço. Ele começa enviando um pacote com um TTL de apenas 1 hop, o que faz com que ele seja descartado logo pelo primeiro roteador. Ao receber a mensagem de erro, o traceroute envia um segundo pacote, desta vez com TTL de 2 hops, que é descartado no roteador seguinte. Ele continua, enviando vários pacotes, aumentando o TTL em 1 hop a cada tentativa. Isso permite mapear cada roteador por onde o pacote passa até chegar ao destino, como em: $ traceroute gdhn.com.br 1 10.62.0.1 (10.62.0.1) 7.812 ms 6.262 ms 9.966 ms 2 poaguswh01.poa.virtua.com.br (200.213.50.90) 9.738 ms 8.206 ms 7.761 ms 3 poagu-ebt-01.poa.virtua.com.br (200.213.50.31) 7.893 ms 7.318 ms 8.033 ms

4 embratel-f3-7-gacc07.rjo.embratel.net.br (200.248.95.253) 8.590 ms 8.315 ms 7.960 ms 5 embratel-g2-3-gacc01.pae.embratel.net.br (200.248.175.1) 7.788 ms 8.602 ms 7.934 ms 6 ebt-g1-0-dist04.pae.embratel.net.br (200.230.221.8) 31.656 ms 31.444 ms 31.783 ms 7 ebt-p12-2-core01.spo.embratel.net.br (200.244.40.162 32.034 ms 30.805 ms 32.053 ms 8 ebt-p6-0-intl03.spo.embratel.net.br (200.230.0.13) 32.061 ms 32.436 ms 34.022 ms 9 ebt-so-2-0-1-intl02.mia6.embratel.net.br (200.230.3.10) 298.051 ms 151.195 ms 306.732 ms 10 peer-so-2-1-0intl02.mia6.embratel.net.br (200.167.0.22) 269.818 ms peer-so-1-1-0-intl02.mia6.embratel.net.br (200.167.0.18) 144.997 ms * 11 0.so-1-0-0.XL1.MIA4.ALTER.NET (152.63.7.190 240.564 ms 147.723 ms 150.322 ms 12 0.so-1-3-0.XL1.ATL5.ALTER.NET (152.63.86.190) 438.603 ms 162.790 ms 172.188 ms 13 POS6-0.BR2.ATL5.ALTER.NET (152.63.82.197) 164.539 ms 337.959 ms 162.612 ms 14 204.255.168.106 (204.255.168.106) 337.589 ms 337.358 ms 164.038 ms 15 dcr2-so-2-0-0.dallas.savvis.net (204.70.192.70) 212.376 ms 366.212 ms 211.948 ms 16 dcr1-so-6-0-0.dallas.savvis.net (204.70.192.49) 396.090 ms bhr2-pos-4-0.fortworthda1.savvis.net (208.172.131.86) 189.068 ms dcr1-so-6-0-0.dallas.savvis.net (204.70.192.49) 186.161 ms 17 216.39.64.26 (216.39.64.26) 185.749 ms 191.218 ms bhr1-pos-12-0.fortworthda1.savvis.net (208.172.131.82) 361.970 ms 18 216.39.81.34 (216.39.81.34) 186.453 ms 216.39.64.3 (216.39.64.3) 245.389 ms 216.39.81.34 (216.39.81.34) 184.444 ms 19 216.39.81.34 (216.39.81.34) 182.473 ms * 182.424 ms 20 * gdhn.com.br (72.232.35.167) 185.689 ms * Nesse exemplo, o pacote começa passando pelos links da Net (Virtua), passa em seguida por vários roteadores da Embratel, passando por São Paulo e Miami (já nos EUA), para então passar por roteadores da Alter.net e Savvis, até chegar ao destino final. O Windows inclui o comando "tracert", que atua de forma similar, porém enviando um ping para cada host. O resultado acaba sendo similar, com exceção de casos em que o servidor é configurado para não responder a pings. Existem ainda vários exemplos de programas gráficos, como o Neotrace (para Windows), que você encontra em qualquer site de downloads e o Xtraceroute (para Linux). Eles exibem as mesmas informações, porém de uma forma bem mais agradável. Este é um exemplo do Neotrace mostrando uma conexão especialmente ruim com um servidor hospedado no exterior, a partir de um link ADSL da Brasil Telecom. Veja que o problema começa em um roteador congestionado, da própria operadora (com tempo de resposta de mais de 1200 ms!) e continua em uma seqüência de links lentos da wcg.net: Na Internet, os roteadores são espertos o suficiente para conhecerem os roteadores vizinhos e escolherem a melhor rota para cada destino. Sempre que um roteador fica congestionado, os demais passam a evitá-lo, escolhendo rotas alternativas. Essa comunicação é feita através de pacotes ICMP "Redirect", que avisam o emissor que uma rota mais rápida está disponível e os pacotes seguintes devem ser encaminhados através dela. Naturalmente, este sistema não é infalível. Corrupções nas tabelas de roteamento, bugs nos softwares de controle, panes e defeitos em geral podem comprometer o trabalho dos roteadores, fazendo com que alguns pontos da rede fiquem inacessíveis. Surge então o

clássico problema de um determinado endereço ou faixa de endereços ficar inacessível para usuários de um determinado provedor, muito embora continue disponível para o resto da rede. Em vez de procurar algum amigo no MSN e perguntar "está funcionando daí?", você pode lançar um traceroute a partir de um servidor localizado em outro ponto da rede e assim checar se o endereço realmente está indisponível, ou se o problema é relacionado à sua conexão. Existem diversos servidores na web que oferecem este serviço como cortesia. Estes "servidores de traceroute" são chamados de "looking glasses" e são bastante numerosos. Alguns exemplos são: http://registro.br/cgi-bin/nicbr/trt (aqui no Brasil) http://easynews.com/trace/ (EUA) http://216.234.161.11/cgi-bin/nph-trace (Canadá) https://cadiweb.idkom.de//lookingglass.php (Alemanha) http://www.bilink.net/cgi-bin/trace.cgi (Itália) http://www.kawaijibika.gr.jp/trace.shtml (Japão) Através deles você pode checar a conectividade do endereço com hosts em diversas partes do mundo e o tempo de resposta para cada um. Você encontra uma lista com vários outros servidores públicos no http://traceroute.org/. Diagnosticar o problema de conectividade permite indicar o culpado, mas não resolve nosso problema imediato. O que fazer se você precisa acessar o servidor do seu site para fazer uma atualização importante e ele está inacessível a partir da sua conexão atual? A solução é usar uma terceira máquina, que tenha conectividade com as duas, para intermediar a conexão. Se você administra dois servidores diferentes, por exemplo, poderia usar o segundo servidor para conseguir se conectar ao primeiro. Você poderia também usar a máquina de algum amigo (que acesse através de outra operadora) que confie em você e lhe dê um login de acesso. Você pode então se logar na máquina dele (via SSH, VNC ou outro protocolo de acesso remoto) e fazer o acesso a partir dela. É possível também usar o SSH para criar um túnel, fazendo com que os pacotes destinados a uma determinada porta do servidor inacessível sejam encaminhados até ele através do segundo servidor. O comando é um pouco complicado, mas é um exercício interessante. Imagine que quero acessar o servidor "gdhn.com.br", que está inacessível a partir da minha conexão atual, usando o servidor guiadohardware.net como intermediário. Estou logado na minha máquina local como "morimoto", que é o mesmo login que uso no "gdhn.com.br" e uso a conta "gdh" no servidor "guiadohardware.net. Poderia então usar o seguinte comando: # ssh -f -N -L2222:gdhn.com.br:22 -l gdh guiadohardware.net Isso criaria um túnel entre a porta 2222 da minha máquina e a porta 22 do servidor gdhn.com.br, com o servidor guiadohardware.net servindo como intermediário. Com o túnel criado, posso acessar o gdhn.com.br via SSH usando a porta 2222 da minha própria máquina, veja só: # ssh -p 2222 127.0.0.1 Naturalmente, para fazer isso é necessário ter contas de acesso nos dois servidores e fazer com que ambos tenham o servidor SSH instalado, mas é uma dica que pode lhe salvar na hora do aperto. Falarei mais um pouco sobre o SSH no capítulo 6 e você também encontra um capítulo dedicado a ele no livro Servidores Linux, guia prático. Concluindo, os pacotes ICMP são usados (durante as transferências de dados) também para regular a velocidade da transmissão, fazendo com que o servidor envie pacotes na maior velocidade possível permitida pelo link, sem entretanto sobrecarregar o link do cliente. Sempre que um dos roteadores pelo caminho, percebe que o link está saturado, envia um pacote ICMP "Source Quench", que faz o servidor reduzir a velocidade da transmissão. Sem isso, os pacotes excedentes seriam descartados, causando um grande desperdício de banda.» Próximo: ARP ARP Dentro da rede local, os pacotes são transformados em frames, onde são endereçados ao endereço MAC da placa de rede destino e não ao endereço IP. Acontece que, inicialmente, o sistema não sabe quais são os endereços MAC das placas dos outros micros da rede local, sabe apenas os endereços IP que deve acessar. O ARP (Address Resolution Protocol) faz compania ao IP e ao ICMP na camada 3 do modelo OSI, oferecendo justamente uma forma simples de descobrir o endereço MAC de um determinado host, a partir do seu endereço IP. A estação manda um pacote de broadcast (chamado "ARP Request"), contendo o endereço IP do host destino e ele responde com seu endereço MAC. Como os pacotes de broadcast são custosos em termos de banda da rede, cada estação mantém um cache com os endereços conhecidos. Naturalmente, isso é feito de forma transparente. É mais um detalhe técnico com o qual você não precisa se preocupar se quer apenas usar a rede, mas que é interessante estudar quando está interessado em entender seu funcionamento. Você pode verificar o cache de endereços ARP do seu micro (no Linux) usando o comando "arp":

$ arp Address HWtype HWaddress Flags Mask Iface 192.168.1.254 ether 00:30:CD:03:CD:D2 C eth0 192.168.1.23 ether 00:11:D8:56:62:76 C eth0 192.168.1.56 ether 00:11:D8:57:45:C3 C eth0 Existe também o "RARP" (reverse ARP), que tem a função oposta: contatar um host da rede quando o endereço MAC é conhecido, mas o endereço IP não. Embora menos usado, o RARP também é importante, pois ele é usado quando uma estação precisa obter sua configuração de rede via DHCP. Ao receber o pacote de broadcast enviado pela estação, o servidor DHCP sabe apenas o endereço MAC da estação e não seu endereço IP (que afinal ainda não foi definido). Ele é capaz de responder à solicitação graças ao RARP. Sem ele, não teríamos DHCP. Muitas distribuições Linux incluem o "arping", um pequeno utilitário que utiliza o ARP ao invés do ping para descobrir se outras máquinas da rede local estão online. A vantagem é que mesmo máquinas protegidas por firewall, ou configuradas para não responder pings respondem a pacotes ARP, fazendo com que ele seja mais uma ferramenta interessante na hora de diagnosticar problemas na rede. Nas distribuições derivadas do Debian, você pode instalá-lo via apt-get (apt-get install arping). Para usar, basta informar o endereço IP ou endereço MAC da máquina alvo, como em: $ arping 192.168.1.110 ARPING 192.168.1.110 60 bytes from 00:11:d8:21:52:76 (192.168.1.110): index=0 time=112.057 usec 60 bytes from 00:11:d8:21:52:76 (192.168.1.110): index=1 time=101.089 usec 60 bytes from 00:11:d8:21:52:76 (192.168.1.110): index=2 time=99.897 usec Uma observação importante é que o ARP é usado apenas dentro da rede local, o único local onde são usados endereços MAC. Quando o pacote passa pelo gateway e é encaminhado para a Internet, os campos com os endereços MAC são removidos, o que faz com que o arping e outros utilitários baseados em pacotes ARP deixem de funcionar. Se você tiver a curiosidade de disparar o arping contra um host da Internet, vai perceber que, embora o comando seja executado sem erros, ele fica parado indefinidamente aguardando por uma resposta que nunca vem: $ arping google.com ARPING 64.233.167.99 (espera infinita...) Isso acontece pois o pacote de broadcast enviado pelo arping não é encaminhado pelo gateway da rede, ele só seria respondido se, por acaso, existisse um micro dentro da rede local utilizando o endereço "64.233.167.99". Mesmo que o pacote fosse incorretamente encaminhado para a Internet, ele não iria muito longe, pois seria descartado no primeiro roteador por onde passasse. Uma curiosidade sobre os endereços MAC é que eles podem ser usados para descobrir o fabricante da placa de rede. Para isso, acesse o http://standards.ieee.org/regauth/oui/ e faça uma busca pelos 6 primeiros dígitos do endereço MAC. Ele retornará os dados da empresa responsável pela faixa, como em: 00-15-00 (hex) Intel Corporate 001500 (base 16) Intel Corporate Lot 8, Jalan Hi-Tech 2/3 Kulim Hi-Tech Park Kulim Kedah 09000 MALAYSIA O endereço MAC é composto por duas informações. Os 6 primeiros dígitos são um código atribuído à empresa pelo IEEE e usado em todas as suas placas, enquanto os outros 6 dígitos são um código sequencial, usado para identificar cada placa. Como cada fabricante pode usar apenas seus próprios códigos ao produzir as placas, a busca permite descobrir com uma boa dose de certeza quem é o fabricante real. Ao fazer a busca pelo código da placa de rede onboard de uma placa mãe, ou de um notebook, você quase sempre descobre o fabricante. Por exemplo, o código da Asus é o "00:15:F2", enquanto o código da Compal (que é a real fabricante de um grande número de notebooks revendidos por outros integradores) é o "00:16:D4".» Próximo: Frames e Pacotes

Frames e Pacotes Podemos dizer que a função de qualquer rede é simplesmente transportar informações de um ponto a outro. Pode ser entre dois micros ligados através de um simples cabo cross-over, ou pode ser entre dois servidores situados em dois continentes diferentes. Do ponto de vista do sistema operacional e dos aplicativos, não faz muita diferença. No nível mais baixo temos os cabos de rede, que são enquadrados no primeiro nível do modelo OSI (camada física) e se destinam unicamente a transportar os impulsos elétricos de um micro a outro. Ao utilizar uma rede wireless ou cabos de fibra óptica, os sinais são transmitidos (respectivamente) na forma de sinais de rádio ou luz, mas a função básica (transportar dados de um ponto a outro) continua a mesma, independentemente da mídia utilizada. Em seguida temos os switches ou hub-switches que utilizamos para interligar os micros da rede local. Na verdade, o termo "hubswitch" foi inventado pelos fabricantes para diferenciar os switches mais baratos, que carecem de funções mais avançadas dos switches "de verdade", que possuem mais portas e incluem interfaces de administração elaboradas. O termo "switch" está mais relacionado ao modo de funcionamento do aparelho e não ao seu custo ou funções. Um switch é capaz de encaminhar os frames Ethernet para o destinatário correto, fechando "circuitos" entre as duas portas envolvidas, enquanto um hub antigo simplesmente repete os sinais recebidos em todas as portas. Assim como as placas de rede, os switches trabalham no nível 2 do modelo OSI (link de dados), enviando frames Ethernet e endereçando os outros dispositivos da rede usando endereços MAC ao invés de endereços IP. Só para efeito de comparação, os hubs "burros" trabalham no nível 1, assim como os cabos de rede. Eles são meros dispositivos de transmissão, que não realizam processamento. Os frames Ethernet são "envelopes" para os pacotes TCP/IP. O aplicativo (um navegador, um servidor web, ou qualquer outro aplicativo transmitindo dados pela rede) envia os dados ao sistema operacional, que divide o stream em pacotes TCP/IP e os envia à placa de rede. As placas de rede (que não entendem o protocolo TCP/IP) tratam os pacotes como um fluxo de dados qualquer e adicionam mais uma camada de endereçamento, desta vez baseada nos endereços MAC dos dispositivos da rede, gerando o frame Ethernet que é finalmente transmitido. Ao chegar do outro lado, o "envelope" é removido e o pacote TCP/IP é entregue. O uso dos frames adiciona alguns bytes adicionais a cada pacote transmitido, reduzindo sutilmente o desempenho da rede. Veja o diagrama de um frame Ethernet: A transmissão de cada frame começa com o envio de 8 bytes, contendo um preâmbulo e uma sequência de inicialização. Ele serve para avisar outros micros da rede de que uma transmissão está prestes a começar. Estes 8 bytes iniciais não fazem parte do frame e são descartados pelas placas de rede depois de recebidos, por isso não aparecem no relatório mostrado por sniffers de rede, como o wireshark. O pacote TCP/IP é incluído dentro do campo de dados, que pode incluir até 1500 bytes por frame. Pacotes maiores do que este valor

precisam ser divididos em fragmentos com até 1500 bytes e enviados usando vários frames. Junto com os dados é transmitido o cabeçalho do frame (14 bytes no total), que inclui o endereço MAC de destino, endereço MAC de origem e um campo para o tipo de dados e mais 4 bytes finais, que contém códigos de CRC, usados (pelas placas de rede) para verificar a integridade do frame recebido. Este cabeçalho é também chamado de "MAC Header". Ao receber cada frame, a placa de rede usa os 4 bytes (32 bits) de CRC para verificar a integridade do frame recebido e, caso ele esteja corrompido ou incompleto, ela o descarta e solicita sua retransmissão. Dentro do pacote TCP/IP temos novos headers, que contém o endereço IP de origem, endereço IP de destino, porta de origem, porta de destino, códigos de verificações, número do pacote, campo para inclusão de opções e assim por diante. No total, temos 20 bytes para os headers do protocolo TCP e mais 20 bytes para os headers do protocolo IP, totalizando 40 bytes de headers por pacote. Desta forma, temos 1460 bytes de dados em um pacote de 1500 bytes e 536 bytes de dados em um pacote de 576 bytes: À primeira vista, pode parecer estranho que sejam incluídos headers separados para o TCP e o IP, mas a verdade é que os dois são complementares e por isso não podem ser dissociados. É por isso que usamos o termo "TCP/IP", como se os dois protocolos fossem uma coisa só. Os headers do protocolo IP incluem o endereço IP de origem e de destino, enquanto os headers do TCP incluem a porta de origem e de destino, por exemplo. Em resumo, podemos dizer que o IP se encarrega da entrega dos pacotes, enquanto o TCP se encarrega da verificação de erros, numeração de portas e tudo mais. Como vimos anteriormente, o TCP/IP permite o uso de pacotes com até 64 kbytes, mas o tamanho de pacote mais usado é de 1500 bytes, que equivalem ao volume de dados que podem ser transmitidos em um único frame Ethernet. Em um pacote de 1500 bytes, temos até 1460 bytes de dados e 40 bytes referentes aos headers IP e TCP. Arquivos e outros tipos de informações são transmitidas na forma de sequências de vários pacotes. Um arquivo de 15 KB, por exemplo, seria dividido em um total de 11 pacotes; os 10 primeiros contendo 1460 bytes cada um e o último contendo os últimos 760 bytes. É graças aos códigos de verificação e numeração dos pacotes que arquivos grandes podem ser transmitidos de forma íntegra mesmo através de conexões via modem ou links wireless, onde diversos pacotes são corrompidos ou perdidos. Basta retransmitir os pacotes extraviados ou danificados quantas vezes for necessário. :) O tamanho dos pacotes pode variar também de acordo com o meio de transmissão usado. No ADSL PPPoE, por exemplo, são utilizados pacotes de 1492 bytes, pois o protocolo usado demanda o uso de 8 bytes adicionais para o header. Nas conexões discadas, onde a conexão é mais lenta e a perda de pacotes é mais comum, são geralmente utilizados pacotes de apenas 576 bytes. Existem ainda casos de pacotes maiores, utilizados em situações específicas. Dentro da rede local, temos um total de 1518 bytes transmitidos para cada pacote TCP/IP de 1500 bytes, incluindo os 14 bytes do header e os 4 bytes de CRC. Se formos incluir também os 8 bytes iniciais, que contém o preâmbulo e a sequência de inicialização, o número sobe para 1526 bytes. Considerando que cada pacote contêm apenas 1460 bytes de dados, temos 66 bytes de overhead no total, o que corresponde a quase 5% do volume de dados transmitidos. Em uma rede local, que trabalha a 100 ou 1000 megabits, isso não faz muita diferença, mas na Internet isso seria um grande desperdício. Por isso, os roteadores se encarregam de eliminar estas informações desnecessárias, retransmitindo apenas os pacotes TCP/IP propriamente ditos. É por isso que não é possível criar regras de firewall baseadas em endereços MAC para pacotes vindos da Internet: os endereços MAC fazem parte das informações incluídas no frame Ethernet, que são descartadas pelos roteadores. Por trabalharem diretamente com endereços IP, os roteadores são enquadrados na camada 3 do modelo OSI (camada de rede). Basicamente, são roteadores que cuidam de todo o trafego de dados na Internet. Você pode utilizar um hub ou switch dentro da sua rede local, mas ao acessar a Internet você sempre utiliza um roteador, seja um roteador Cisco de grande porte, seja um modem ADSL ou um micro com duas placas de rede compartilhando a conexão.» Próximo: Jumbo Frames

Jumbo Frames O limite de 1500 bytes para o conteúdo dos frames foi criado originalmente como parte das especificações do padrão 10BASE-5, o padrão Ethernet original, de 10 megabits. A idéia era que frames muito grandes agravariam o problema das colisões, permitindo que uma única estação utilizasse o cabo durante um tempo muito longo. Além disso, frames maiores demorariam mais tempo para serem retransmitidos em caso de corrupção do conteúdo, de forma que os 1500 bytes foram aceitos como o melhor custo-benefício. O problema é que, de lá pra cá muita muita coisa mudou. O cabeamento evoluiu, a velocidade das redes aumentou para 100, 1000 e agora para 10000 megabits (1000 vezes a velocidade do padrão original!) e, com a substituição dos hubs burros por switches, as colisões de pacotes deixaram de ser um problema. Em uma rede de 10 megabits, é possível transmitir 819 frames com 1500 bytes de dados por segundo (lembre-se de que cada frame precisa de 26 bytes adicionais, que incluem os endereços, códigos de CRC e os demais componentes), o que faz com que cada frame demore 1221 nanosegundos para ser transmitido. Em uma rede Gigabit Ethernet, onde a velocidade é 100 vezes maior, o tempo de transmissão de cada frame cai para apenas 12 nanosegundos. Como o processo de verificação do conteúdo dos frames consome processamento, trabalho que aumenta proporcionalmente conforme aumenta o volume de frames transmitidos, a velocidade das transferências acaba sendo limitada não apenas pelo desempenho das placas, mas também pelo desempenho do processador principal. De uma forma geral, transferir 80 mil frames (que equivale a cerca de 1 segundo de transferência em uma rede gigabit) consome cerca de 1 GHz de ciclos de processamento, aos quais se soma o trabalho necessário para processar os pacotes TCP/IP resultantes. Isso acaba limitando severamente a taxa de transferência de dispositivos com pouco processamento, como no caso de um NAS ou de um PC antigo, além de aumentarem a utilização do processador mesmo nas máquinas mais parrudas. Nas redes de 10 e 100 megabits isso não chegava a ser um grande problema, mas a popularização das redes Gigabit Ethernet trouxe o assunto à tona. Percebendo a possibilidade de melhorarem o desempenho de seus produtos, muitos fabricantes passaram a desenvolver extensões proprietárias, que permitem utilizar frames maiores e assim reduzir o overhead. Estes frames gigantes são chamados de jumbo frames. Inicialmente, estes diferentes padrões eram incompatíveis, mas, com o passar do tempo, os fabricantes concordaram em padronizar o tamanho em 9000 bytes, o que permitiu a interoperabilidade entre produtos de diferentes fabricantes. A idéia é que o processamento necessário para verificar o CRC de um frame de 1500 bytes de dados não é muito diferente do para verificar um de 9000 bytes, de forma que o uso do processador decai brutalmente com a redução no número de frames transmitidos. Outra vantagem é que recheando cada frame com mais dados, a perda causada pelos 26 bytes adicionais decai proporcionalmente, melhorando o desempenho da rede. O grande problema dos jumbo frames é que eles não fazem parte dos padrões Ethernet. Como aumentar o tamanho dos frames quebra a compatibilidade com os padrões de rede anteriores, o que é uma das grandes prioridades do IEEE, a situação não deve mudar a curto prazo. Os jumbo frames são essencialmente um hack não suportado, implementado de forma independente pelos fabricantes. Para utilizá-los é necessário tomar um conjunto de cuidados: a) Apenas placas e switches Gigabit Ethernet suportam o uso de jumbo frames, de forma que eles são utilizáveis apenas em redes baseadas em equipamentos recentes. b) Nem todas as placas e switches oferecem suporte ao recurso, de forma que é necessário cuidado na hora da compra. Equipamentos que não suportam jumbo frames fazem com que os frames precisem ser retransmitidos ou fragmentados para atender ao limite de 1500 bytes. Com isso, forçar o uso de jumbo frames em uma rede mista acaba reduzindo o desempenho da rede em vez de aumentar. c) Como não existe um padrão oficial, problemas de compatibilidade entre produtos de diferentes fabricantes são comuns. d) O uso dos jumbo frames só oferece ganhos práticos durante as transferências de grandes arquivos. Se a rede é predominantemente usada para compartilhamento da conexão, jogos em rede, streaming de vídeo e audio, impressão e transferência de pequenos arquivos, você não vai perceber diferença alguma. Para usar o recurso, procure pela opção nas propriedades do driver da placa de rede. Quase todas as placas atuais oferecem suporte ao recurso, mas ele vem desativado por padrão, de forma que você precisa ativar a opção em todos os micros:

No Linux, a configuração é feita usando o ifconfig, através do comando abaixo. Não esqueça de adicioná-lo a algum dos scripts de inicialização do sistema para que ele passe a ser executado automaticamente durante o boot: # ifconfig eth0 mtu 9000 up Caso você esteja usando um switch gerenciável, verifique também se a opção está ativada na configuração do switch, como no exemplo abaixo. No caso dos switches unmanaged (que não possuem interface de configuração), os jumbo frames são automaticamente usados, quando suportados. Ao utilizar um switch com suporte a VLANS, é possível também criar redes virtuais separadas para os dispositivos com suporte a jumbo frames e para os demais, permitindo assim que eles convivam de forma pacífica.» Próximo: Entendendo o IPV6

Entendendo o IPV6 A massiva popularização da Internet trouxe um problema grave, que é a escassez de endereços disponíveis. Parte disso se deve à má distribuição dos endereços IPs atuais, onde algumas empresas possuem faixas de endereços classe A inteiras, fazendo com que grande parte dos endereços disponíveis simplesmente não sejam aproveitados. Para início de conversa, 32 bits equivalem a nada menos do que 4.294.967.296 combinações. Destes, pouco mais de 3.7 bilhões de endereços são aproveitáveis, já que (entre outros) os endereços iniciados com 0, 10, 127 e de 224 em diante são reservados. Além disso, a maior parte das faixas de endereços de classe A, que englobam as faixas iniciadas com de 1 a 126 são propriedade de grandes empresas, que acabam utilizando apenas uma pequena faixa deles. Por exemplo, apenas a HP, sozinha, tem direito a duas faixas inteiras, uma ganha durante a distribuição inicial das faixas de endereços IP classe A e a segunda herdada com a compra da DEC. Muitas destas faixas estão sendo reatribuídas pela IANA e o uso do CIDR tem melhorado o aproveitamento dos endereços ainda disponíveis mas, apesar dos esforços, no início de 2007 já restavam apenas 1.3 bilhões de endereços disponíveis. Se a procura se mantiver nos níveis atuais, teremos o esgotamento dos endereços disponíveis em 2014. Caso ela cresça, impulsionada pela popularização das conexões 3G, aumento do número de servidores web, popularização do ADSL nos países mais pobres e assim por diante, podemos chegar a uma situação caótica ainda em 2012! Um dos fatores que vem reduzindo a pressão sobre os escassos endereços disponíveis é o uso do NAT. Graças a ele, você pode compartilhar uma única conexão (e, consequentemente, um único endereço IP), entre vários micros. É possível até mesmo adicionar um segundo, terceiro, quarto, ou mesmo quinto nível de compartilhamento, recompartilhando uma conexão já compartilhada. É muito comum, por exemplo, que um provedor de acesso via rádio use um único IP para um prédio inteiro, dando endereços de rede interna para os assinantes. Muitos destes criam redes domésticas e compartilham novamente a conexão, adicionando uma segunda camada de NAT, e assim por diante. Apesar disso, o NAT não é a solução para tudo. Você não pode usar NAT em um datacenter, por exemplo, precisa de um endereço "real" para cada servidor disponível para o mundo exterior. Chegamos então ao IPV6, que promete colocar ordem na casa, oferecendo um volume brutalmente maior de endereços e uma migração suave a partir do padrão atual (IPV4). Embora só recentemente o tema tenha ganhado popularidade, o IPV6 não é exatamente um projeto novo. O padrão vem sendo desenvolvido desde 1995, quando a Internet ainda engatinhava. Entre os dois existiu o "IPV5", que era uma padrão de streaming que nunca chegou realmente a ser usado.» Próximo: Endereçamento Endereçamento No IPV6 são usados endereços com nada menos do que 128 bits. Prevendo o tamanho do problema que seria ter que futuramente migrar novamente para um novo padrão, o IEFT (o órgão responsável) resolveu não correr riscos. O número de endereços disponíveis é simplesmente absurdo. Seria o número 340.282.366.920 seguido por mais 27 casas decimais. É ponto pacífico que o IPV6 vai ser adotado mais cedo ou mais tarde. Já existem projetos de uso em larga escala em países como o Japão, China e Coréia do Sul e a adoção tende a se acelerar rapidamente no decorrer dos próximos anos. A princípio, o novo sistema de endereçamento adotado pelo IPV6 parece algo exótico, e até caótico, mas as coisas se tornam mais simples se você tiver em mente que ele é apenas um novo sistema de endereçamento. Nada muda com relação ao cabeamento da rede; você continua utilizando os mesmos cabos de par trançado, fibra ótica e links wireless e os mesmos hubs, switches, pontos de acesso e roteadores. A rede continua funcionando exatamente da mesma forma, os endereços TCP/IP continuam contendo informações sobre o endereço da rede e o endereço do host dentro dela, as portas TCP e UDP continuam sendo utilizadas da mesma forma e continuamos utilizando basicamente os mesmos aplicativos de rede. Muda apenas o sistema de endereçamento propriamente dito, uma simples questão de alterar a configuração da rede e atualizar os programas para versões compatíveis com ele. Tendo isso em mente, respire fundo e vamos lá. :) Nos endereços IPV4, dividimos os endereços em 4 grupos de 8 bits, cada um representado por um número de 0 a 255, como em "206.45.32.234". Usar esta mesma nomenclatura seria inviável para o IPV6, pois teríamos nada menos do que 16 octetos, criando endereços-mostro, como "232.234.12.43.45.65.132.54.45.43.232.121.45.154.34.78". Ao invés disso, os endereços IPV6 utilizam uma notação diferente, onde temos oito quartetos de caracteres em hexa, separados por ":". No conjunto hexadecimal, cada caracter representa 4 bits (16 combinações). Devido a isso, temos, além dos números de 0 a 9, também os caracteres A, B, C, D, E e F, que representariam (respectivamente), os números 10, 11, 12, 13, 14 e 15. Um exemplo de endereço IPV6, válido na Internet, seria: 2001:bce4:5641:3412:341:45ae:fe32:65. Como você pode ver, a idéia de usar os caracteres em hexa reduz o número de caracteres necessários, mas em compensação complica um pouco as coisas em relação à notação do IPV4, com a qual estamos acostumados.

Uma forma de compreender melhor, seria imaginar que cada quarteto de números hexa equivale a 16 bits, que poderiam ser representados por um número de 0 a 65.535. Você pode usar uma calculadora que suporte a exibição de números em hexa para converter números decimais. No KCalc, por exemplo, clique no "Configurações > Botões lógicos". Digite um número decimal qualquer, entre 0 e 65.535 e marque a opção "Hex" para vê-lo em hexa (e vice-versa): Fazendo a conversão, o endereço "2001:bce4:5641:3412:341:45ae:fe32:65" que coloquei acima, equivaleria aos números decimais "8193 48356 22081 13330 833 17835 65034 101". Um atenuante para esta complexidade dos endereços IPV6 é que eles podem ser abreviados de diversas formas. Graças a isso, os endereços IPV6 podem acabar sendo incrivelmente compactos, como "::1" ou "fee::1". Em primeiro lugar, todos os zeros à esquerda dentro dos quartetos podem ser omitidos. Por exemplo, em vez de escrever "0341", você pode escrever apenas "341"; em vez de "0001" apenas "1" e, em vez de "0000" apenas "0", sem que o significado seja alterado. É por isso que muitos quartetos dentro dos endereços IPV6 podem ter apenas 3, 2 ou mesmo um único dígito. Os demais são zeros à esquerda que foram omitidos. É muito comum que os endereços IPV6 incluam seqüências de números 0, já que atualmente poucos endereços são usados, de forma que os donos preferem simplificar as coisas. Graças a isso, o endereço "2001:bce4:0:0:0:0:0:1" pode ser abreviado para apenas "2001:bce4::1", onde omitimos todo o trecho central "0:0:0:0:0". Ao usar o endereço, o sistema sabe que entre o "2001:bce4:" e o ":1" existem apenas zeros e faz a conversão internamente, sem problema algum.» Próximo: A divisão rede/host

A divisão rede/host Assim como no IPV4, os endereços IPV6 são divididos em dois blocos. Os primeiros 64 bits (os 4 primeiros quartetos) identificam a rede, enquanto os últimos 64 bits identificam o host. No endereço "2001:bce4:0:0:0:0:0:1", por exemplo, temos a rede "2001:bce4:0:0" e o host "0:0:0:0:1" dentro dela. Não existem mais máscaras de tamanho variável como no IPV4. Ao configurar endereços dentro de uma mesma rede, existem duas opções. A primeira seria simplesmente usar endereços seqüenciais, como " 2001:bce4::1", " 2001:bce4::2", "2001:bce4::3" e assim por diante. Nada de errado com isso. A segunda seria seguir a sugestão do IEFT e usar os endereços MAC das placas de rede para atribuir os endereços dos hosts. É justamente isso que é feito ao utilizar a atribuição automática de endereços no IPV6. Digamos que o endereço da rede é "2001:bce4:0:0:" e o endereço MAC do micro é "00:16:F2:FE:34:E1". Como você pode ver, o endereço MAC contém apenas 12 dígitos hexa, enquanto no IPV6 a parte do host contém 16 dígitos. Está em estudo uma expansão dos endereços MAC das placas de rede, que passariam a ter 16 dígitos, mas, enquanto isso não é colocado em prática, usamos uma regra simples para converter os endereços de 12 dígitos atuais em endereços de 16 dígitos, adicionando os dígitos "ffff" entre o sexto e sétimo dígito do endereço. O endereço "00:16:F2:FE:34:E1", viraria então "0016:f2ff:fffe:34e1". Como viu, os 12 dígitos originais continuam os mesmos (apenas converti para minúsculas). São apenas adicionados os 4 dígitos no meio. Adicionando o endereço da rede, o endereço IPV6 completo deste micro seria "2001:bce4:0:0:0016:f2ff:fffe:34e1", o que poderia ser abreviado para apenas "2001:bce4::0016:f2ff:fffe:34e1".» Próximo: Compatibilidade Compatibilidade O IPV6 também oferece um recurso de compatibilidade com endereços IPV4, permitindo que você continue utilizando os mesmos endereços ao migrar para ele. Neste caso, você usaria o endereço "::FFFF:" seguido pelo endereço IPV4 usado atualmente, como em: ::FFFF:192.168.0.1 Por estranho que possa parecer, este é um endereço IPV6 completamente válido, que você pode usar para todos os fins. Outra mudança é que no IPV6 você pode atribuir diversos endereços para o mesmo micro. Isto também era possível no IPV4 utilizando alises para a placa de rede, mas no caso do IPV6, este passou a ser um recurso nativo. Graças a isso, o mesmo micro pode ser acessado tanto através do endereço "2001:bce4:5641:3412:341:45ae:fe32:65" (por exemplo), quanto pelo ::FFFF:192.168.0.1 (pelos micros da rede local), sem que você precise usar duas placas de rede. É possível também adicionar um endereço IPV6 a um micro já configurado com um endereço IPV4, na maioria dos casos sem nem mesmo precisar desativar temporariamente a placa de rede. Neste caso, ele continua respondendo de forma normal no endereço IPV4 antigo, mas passa a responder também no endereço IPV6. Um dos objetivos do novo sistema é justamente manter compatibilidade com o antigo, já que muitos sistemas provavelmente nunca serão atualizados. Imagine, por exemplo, que uma migração em larga escala para o IPV6 está ocorrendo. A maior parte da Internet já utiliza o novo sistema, mas seu provedor de acesso ainda oferece suporte apenas a endereços IPV4. Prevendo situações assim, o IPV6 oferece suporte ao tunelamento de pacotes IPV6 através de redes IPV4. Ao perceber que os pacotes IPV6 precisarão passar por uma rede IPV4, o roteador empacota os pacotes IPV6, colocando-os dentro de pacotes IPV4, de forma que eles sejam roteados normalmente através da rede IPV4. Do outro lado da conexão teríamos outro roteador IPV6, que se encarregaria de remover o cabeçalho IPV4 dos pacotes, obtendo novamente os pacotes IPV6 originais. Esse sistema permite também que estações configuradas com endereços IPV4 continuem acessando a Internet normalmente, mesmo depois que a migração ocorrer. Imagine o caso de micros rodando o Windows 95/98, por exemplo.» Próximo: As faixas de endereços reservadas

As faixas de endereços reservadas Assim como no IPV4, existem alguns endereços e faixas de endereços reservadas. Os endereços iniciados com "2001:" são reservados para provedores de acesso e carriers e podem ser registrados, da mesma forma que as faixas de endereço IPV4 atuais. Os endereços iniciados com "3fff:ffff:" e "2001:0DB8:" são reservados para uso em documentação, exemplos e testes e por isso eles não são roteáveis. Inicialmente, os endereços iniciados com "fec", "fed", "fee" ou "fef" eram reservados ao uso em redes locais, assim como as faixas "10.x.x.x" e "192.168.x.x" do IPV4. Esta norma foi derrubada pelo RFC 3879, mas as faixas ainda continuam sendo usadas em muitas redes. Ou seja, embora este não seja mais um padrão oficial, você pode continuar usando estas faixas na sua rede se desejar. Talvez o melhor exemplo de endereço reservado é o endereço da interface de loopback. No IPV4, o endereço de loopback é o "127.0.0.1", enquanto no IPV6 foi escolhido o endereço "0:0:0:0:0:0:0:1", que pode ser abreviado para apenas "::1"! :) Em um micro Linux com o suporte a IPV6 ativado, você pode usar o comando "ping6 ::1" para testar isso: $ ping6 ::1 PING ::1(::1) 56 data bytes 64 bytes from ::1: icmp_seq=1 64 bytes from ::1: icmp_seq=2 64 bytes from ::1: icmp_seq=3 64 bytes from ::1: icmp_seq=4 ttl=64 ttl=64 ttl=64 ttl=64 time=0.041 time=0.045 time=0.045 time=0.040 ms ms ms ms Pela resposta, sei que meu micro está conseguindo se comunicar com ele mesmo via IPV6 :). No caso do Windows, é usado o comando "ping" normal, especificando diretamente o endereço IPV6 desejado.» Próximo: Um exemplo prático Um exemplo prático O suporte a IPV6 está presente em todas as distribuições Linux atuais, assim como no Windows XP SP2. No Windows Vista ele inclusive já vem habilitado por padrão. Uma vez que você entende como os endereços IPV6 são estruturados e que uma mesma interface de rede pode ter ao mesmo tempo um endereço IPV4 e um IPV6 (respondendo em ambos), não existe nada de exotérico em atribuir endereços IPV6 para os micros da sua rede e começar a testar o novo sistema. No Linux, você pode usar este mini-script para verificar se o suporte a IPV6 está ativo: # test -f /proc/net/if_inet6 && echo "IPV6 ativo" echo "IPV6 desativado" Em algumas distribuições ele vem desativado por padrão. Nesse caso, ative-o carregando o módulo "ipv6" do Kernel: # modprobe ipv6 A partir daí, você pode atribuir um endereço IPV6 usando o comando "ifconfig eth0 add", onde o "eth0" é a interface de rede. Graças às abreviações, os endereços IPV6 podem ser bastante curtos. Experimente por exemplo adicionar o endereço "fee::1": # ifconfig eth0 add fee::1 Faça o mesmo em outro micro da rede, atribuindo agora o endereço "fee::2": # ifconfig eth0 add fee::2 Para testar a conectividade entre os dois, você pode utilizar o comando "ping6", que é a versão atualizada do ping, que trabalha com endereços IPV6. Caso ele não esteja disponível, experimente instalar o pacote "iputils-ping": # ping6 fee::1 PING fee::1(fee::1) 56 data bytes 64 bytes from fee::1: icmp_seq=1 64 bytes from fee::1: icmp_seq=2 64 bytes from fee::1: icmp_seq=3 64 bytes from fee::1: icmp_seq=4 ttl=64 ttl=64 ttl=64 ttl=64 time=5.82 time=1.10 time=1.09 time=1.06 ms ms ms ms Junto com o ping6, foi desenvolvida toda uma nova geração de programas compatíveis com o IPV6. Muitos foram atualizados de forma transparente, como o ifconfig, enquanto outros ganharam versões separadas, como o traceroute6, o tracepath6 e o ip6tables. Com os dois hosts conversando, experimente utilizar outros programas e servidores para testar a conectividade entre eles. Para se conectar via SSH, por exemplo, você usaria o comando: # ssh fee::1 The authenticity of host 'fee::1 (fee::1)' can't be established. RSA key fingerprint is 8c:cb:17:ed:0d:2b:3c:9f:40:8e:74:d0:cf:3f:b5:bf.

Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'fee::1' (RSA) to the list of known hosts. Password: Como pode ver, a conexão é estabelecida normalmente. Você poderia ainda se conectar ao mesmo micro usando o endereço IPV4 antigo, como em: # ssh 192.168.0.1... e o resultado seria o mesmo. Como disse, o fato de adicionar um endereço IPV6, não faz com que o micro perca a conectividade com os hosts IPV4 da rede, faz apenas com que ele passe a responder em ambos. Se você instalar o Apache (que na maioria das distribuições Linux pode ser instalado através do pacote "apache2" ou "httpd"), ou qualquer outro servidor web, poderá também acessá-lo através do outro micro usando o endereço IPV6. A única observação é que você deve colocar o endereço entre colchetes, como em "http://[fee::1]/" ao acessá-lo através do Firefox: Naturalmente, nem todos os programas suportam IPV6 e alguns podem apresentar problemas diversos. A migração para IPV6 ainda está em curso, por isso não espere que todos os programas funcionem de forma perfeita. É justamente por isso que foi feito tanto esforço no sentido de manter o IPV6 compatível com o sistema antigo, em primeiro lugar. :) Para ativar o IPV6 no Windows XP SP2, acesse as propriedades da placa de rede, dentro do painel de controle e clique no "Instalar > Protocolo > Microsoft TCP/IP versão 6". No caso do XP SP1, existe uma versão de desenvolvimento do protocolo, que pode ser instalada da mesma forma, mas o XP original não inclui suporte nativo ao IPV6, assim como o Windows 2000. Como comentei, o IPV6 já vem ativado por padrão a partir do Vista. Você perceberá que, mesmo depois de instalado o IPV6, você não tem a opção de atribuir um endereço manualmente. A idéia no caso é que o endereço seja atribuído automaticamente por um roteador IPV6 disponível na rede. De qualquer forma, é possível atribuir um endereço manualmente, de forma a continuar nossa rodada de testes usando o netsh. Para isso, clique no "Iniciar > Executar" e rode o comando "netsh". Ele é um utilitário de linha de comando, que roda dentro de uma janela do prompt do MS-DOS. Para atribuir o endereço, use os comandos: > interface ipv6 > add address interface="conexão de rede sem fio" address="fee::5"... substituindo o "Conexão de rede sem fio" pelo nome da interface (escrito da mesma forma como aparece no Painel de Controle > Redes) e o endereço IPV6 desejado:

Você pode testar a conectividade com os outros micros da rede usando o bom e velho ping através do prompt do DOS. Note que no caso do Windows o comando continua sendo "ping" e não "ping6" como no Linux. Se quiser testar a conectividade com um dos micros Linux via SSH, você pode baixar o putty (http://putty.nl), que nas versões recentes já oferece suporte a IPV6.» Próximo: Mais detalhes Mais detalhes Essa configuração manual permite "quebrar o gelo", criando uma conexão IPV6 de forma simples. Mas, em uma rede real, esta configuração manual não seria necessária. Os roteadores IPV6 enviam constantemente pacotes especiais, chamados "RAs" (router advertisements). Como o nome sugere, estes pacotes divulgam a existência do roteador e o endereço de rede utilizado por ele (os 64 bits iniciais do endereço). Ao receberem estes pacotes, os clientes geram seus endereços IPV6 automaticamente, combinando os 64 bits do endereço fornecidos pelo roteador com os 64 bits "pessoais", gerados a partir do endereço MAC da placa de rede. Como o endereço MAC só muda quando você substituiu a placa de rede, o cliente continuará utilizando o mesmo endereço, reboot após reboot. Caso existam diversos roteadores na rede, os clientes simplesmente gerarão diversos endereços, uma para cada faixa de endereços divulgada por eles e ficarão acessíveis através de qualquer um destes endereços gerados. Como disse a pouco, uma das idéias centrais do IPV6 é permitir que um mesmo cliente possa ser configurado com vários endereços diferentes, conforme a necessidade, assim como uma pessoa que utiliza diversos endereços de e-mail. Graças a esta peculiaridade, os servidores DHCP são bem menos necessários em uma rede IPV6, já que a função central deles (atribuir os endereços) é desempenhada pelos próprios roteadores. Atualmente, o DHCP ainda é necessário para atribuir os endereços DNS, mas já existe um projeto para incorporar mais esta função aos roteadores, o que em breve fará com que os servidores DHCP IPV6 fiquem relegados à função de fornecer informações adicionais, como no caso de uma rede de terminais que dão boot através da rede. O brutal aumento no número de endereços disponíveis inclui um benefício adicional que é um pequeno aumento na segurança. Ao idéia é que, como atualmente quase todos os endereços IP possuem dono, é muito fácil fazer uma varredura, escaneando faixas inteiras de endereços em busca de micros vulneráveis. Esta é a idéia central dos worms que se propagam de forma espontânea. No caso do IPV6, a "densidade" dos endereços em uso será muito menor, fazendo com que este tipo de varredura torne-se inviável. Imagine o caso de um pequeno provedor de acesso com 200 usuários, por exemplo. Atualmente, ele teria uma faixa de endereços classe C, como "200.234.23." e todos os usuários estariam dentro dela. Escaneando apenas 254 endereços, você detecta vulnerabilidades nos micros destes 200 usuários. Ao migrar para o IPV6, este provedor passaria a utilizar uma faixa como "2001:bce4:cdfe:6547" e os usuários utilizariam endereços definidos com base nos endereços MAC da placa de rede. Os 200 usuários ficam agora espalhados dentro de uma faixa de endereços que permite 18.446.744.073.709.551.616 combinações. Ou seja, um número simplesmente absurdo. Tentar escanear todos os endereços possíveis demoraria anos e ainda assim permitiria descobrir apenas os 200 usuários! Seria mais rápido escanear a Internet inteira (dentro da organização atual) do que escanear uma única faixa de endereços IPV6. Naturalmente, isso não ajuda muito em casos onde o seu endereço IPV6 é conhecido (como no caso dos servidores web), por isso o uso de firewall e sistemas de encriptação (como o SSH) continua sendo uma necessidade.» Próximo: Outros protocolos Outros protocolos O TCP/IP tornou-se um protocolo onipresente. Ele é usado desde servidores de grande porte até palmtops e celulares, permitindo que dispositivos de plataformas completamente diferentes possam conversar entre si. Mas, antes do TCP/IP, os protocolos mais usados eram o NetBEUI e o IPX/SPX. Eles ainda são utilizados em algumas redes, por isso é interessante saber um pouco sobre eles:» Próximo: NetBEUI NetBEUI O NetBEUI é uma espécie de "vovô protocolo", pois foi lançado pela IBM no início da década de 1980, para ser usado junto com o IBM PC Network, um micro com configuração semelhante à do PC XT, mas que podia ser ligado em rede. Naquela época, o protocolo possuía bem menos recursos e era chamado de NetBIOS. O nome NetBEUI passou a ser usado quando a IBM estendeu os recursos do NetBIOS, formando a versão final do protocolo. No jargão técnico atual, usamos o termo "NetBEUI" quando nos referimos ao protocolo de rede em si e o termo "NetBIOS" quando queremos nos referir aos comandos deste mesmo protocolo usado pelos programas para acessar a rede. Ao contrário do IPX/SPX e do TPC/IP, o NetBEUI foi concebido para ser usado apenas em pequenas redes e por isso sempre foi um protocolo extremamente simples. Para ter uma idéia, no NetBEUI não existe configuração de endereços, pois os micros conversam diretamente usando os endereços MAC.

Por um lado, isto fez que ele se tornasse bastante rápido e fosse considerado o mais rápido protocolo de rede durante muito tempo. Para você ter uma idéia, apenas as versões mais recentes do IPX/SPX e TCP/IP conseguiram superar o NetBEUI em velocidade. Mas, esta simplicidade toda tem um custo: devido ao método simples de endereçamento usado pelo NetBEUI, podemos usá-lo em redes de no máximo 255 micros. Além disso, o NetBEUI não suporta enumeração de redes (para ele todos os micros estão ligados na mesma rede). Isto significa que, se você tiver uma grande Intranet, composta por várias redes interligadas por roteadores, os micros que usarem o NetBEUI simplesmente não serão capazes de enxergar micros conectados às outras redes, enxergarão apenas os micros a que estiverem conectados diretamente. Devido a esta limitação, dizemos que o NetBEUI é um protocolo "não-roteável". Apesar de suas limitações, o NetBEUI ainda é usado em algumas redes Windows, por ser rápido, fácil de instalar e usar. Você não pode usá-lo para acessar a Internet, acessar outras máquinas da rede via SSH nem nenhum outro dos serviços que vimos até aqui, mas ele permite que as máquinas Windows compartilhem arquivos entre si. Outra limitação é que o Samba não é compatível com o NetBEUI (apenas com o TPC/IP), por isso uma estação que tivesse apenas o protocolo NetBEUI ativo, não seria capaz de acessar compartilhamentos em um servidor Samba, mesmo que as demais configurações estivessem corretas. Versões antigas do Windows, incluindo o Windows 95 e o Windows NT 4.0 utilizavam o NetBEUI como protocolo padrão. Nelas, era necessário ativar o TCP/IP manualmente na configuração da rede para acessar a web ou utilizar outros recursos de rede não suportados pelo NetBEUI, o que fazia com que a maioria simplesmente deixasse os dois protocolos ativos, o que prejudicava a navegação entre os compartilhamentos da rede, já que o sistema era obrigado a fazer as pesquisas utilizando os dois protocolos. Eram comuns delays de até 30 segundos ao abrir o ambiente de redes ou tentar visualizar os compartilhamentos disponíveis em uma máquina da rede, problema que era resolvido ao migrar completamente a rede para o TCP/IP e desinstalar o NetBEUI em todas as máquinas. Devido às suas muitas limitações, não é recomendável utilizar o NetBEUI nos dias de hoje, de forma que a própria Microsoft descontinuou o suporte ao NetBEUI a partir do Windows XP. Apesar disso, foi preservado um método de instalação manual, com o propósito de manter compatibilidade com redes antigas, onde ele ainda seja usado. No Windows XP original, os arquivos necessários podem ser encontrados no CD de instalação do Windows XP, na pasta "D:\VALUEADD\MSFT\NET\NETBEUI" e no XP SP2 na pasta "D:\VALUEADD\MSFT\NET\NETBEUI". Uma vez dentro da pasta, copie o arquivo "NBF.SYS" para a pasta "C:\WINDOWS\system32\drivers" e o NETNBF.INF para a pasta "C:\WINDOWS\inf". Isso faz com que o protocolo fique disponível para instalação nas propriedades da rede. Em seguida, acesse o menu de configuração da rede e use a opção "Instalar > Protocolo > Microsoft > Protocolo NetBEUI" para que ele seja finalmente instalado. Outra opção é usar a opção "Com disco" e indicar a localização dos arquivos dentro do CD-ROM: Instalação manual do NetBEUI no Windows XP Ao instalar uma estação de trabalho com o XP em uma rede antiga, baseada em micros com o Windows 95/98, pode ser necessário ativar o NetBEUI para que ele consiga conversar com as outras máquinas, já que antigamente, antes da popularização do acesso à Internet, era comum configurar redes locais usando apenas o NetBEUI, sem TCP/IP.» Próximo: IPX/SPX

IPX/SPX O IPX/SPX é o protocolo desenvolvido pela Novell para uso no Novell NetWare. Ele foi o protocolo usado por padrão até o NetWare 5.0, quando deu lugar ao TCP/IP como protocolo default. Apesar disso, o IPX/SPX já foi um protocolo bastante popular e ainda continua sendo usado até os dias de hoje em algumas redes. O NetWare não é um sistema operacional dentro do conceito tradicional, mas sim um NOS (Network Operating System). Ele roda sobre outro sistema operacional (Windows ou DOS, dependendo da versão), utilizando as rotinas de acesso ao hardware, drivers e outros componentes do sistema hospedeiro e oferecendo a estrutura de rede, incluindo compartilhamento de arquivos e impressoras, autenticação, controle de acesso e outros recursos. No início da década de 1990, o NetWare chegou a dominar o mercado, mas passou a perder espaço para os servidores Windows e em seguida também para o Linux. Como o NetWare era uma solução cara, muitas empresas optavam por utilizar os próprios recursos de compartilhamento de arquivos e impressoras incluídos no Windows 95/98 ou utilizavam servidores Windows NT, cuja implantação era mais barata (sobretudo pela questão da mão de obra, que era muito mais cara no caso do NetWare). Com o lançamento do Windows 2000 Server e do 2003 Server e a popularização dos servidores Linux, o movimento se intensificou, fazendo com que o NetWare ficasse restrito a nichos cada vez menores. Atualmente é muito comum utilizar servidores Linux, rodando o Samba, substituindo servidores Windows NT, 2000 ou 2003 Server. No início de 2003, a Novell comprou a SuSE, uma das maiores distribuições Linux na Europa e, em seguida, a Ximian (que entre outras coisas desenvolve soluções de interoperabilidade entre servidores Linux e Windows) e passou a investir pesado em soluções baseadas em Linux, tentando reconquistar o terreno perdido. Voltando a questão do protocolo, assim como o TCP/IP, o IPX/SPX é composto por dois protocolos, daí o nome. O IPX é o responsável pelo endereçamento e transmissão dos pacotes (como o IP), enquanto o SPX é o responsável por criar e encerrar as conexões, verificar o recebimento dos pacotes (retransmitindo pacotes extraviados) e outras funções de controle (como o TCP). Cada estação possui um endereço único, mas a forma como eles são criados muda radicalmente em relação ao IPV4. Ao invés de especificar manualmente um endereço para cada estação, ou utilizar um servidor DHCP, os endereços são definidos automaticamente, através da combinação dos endereços MAC das placas de rede (48 bits) e um endereço de 32 bits para a rede, que você define como parte da configuração do servidor, resultando em um endereço de 80 bits. No NetWare, além do módulo principal (instalado no servidor), é fornecido um módulo cliente, que deve ser instalado em todas as estações de trabalho. Além da versão principal do NetWare, existe a versão Personal, um sistema de rede ponto a ponto, que novamente roda sobre o sistema operacional. Esta versão do NetWare é bem fácil de usar, porém nunca foi muito popular, pois o Windows sozinho já permite a criação de redes ponto a ponto muito facilmente, desde o 3.11. É possível usar tanto estações Windows quanto estações Linux como clientes de um servidor Novell. No caso do Windows, é necessário ter instalado o protocolo IPX/SPX e também um cliente para redes NetWare. No Windows XP, a compatibilidade com o IPX é fornecida pelo protocolo "NWLink/IPX/SPX/NetBIOS Protocolo de transporte Compatível", combinado com o cliente "Serviço de cliente para NetWare", que podem ser instalados através do menu de propriedades da rede: Instalação manual do cliente NetWare no Windows XP

Para instalar o protocolo IPX/SPX no Windows 95/98 (a maioria das instalações do NetWare ainda em uso são em redes antigas, por isso clientes com versões antigas do Windows acabam sendo bem mais comuns do que com o XP ou Vista), abra o menu de configuração da rede e use a opção "Adicionar > Protocolo > Microsoft > Protocolo compatível com IPX/SPX". Para instalar o cliente para redes Novell no Windows 98, clique em "Adicionar > Cliente > Microsoft > Cliente para redes NetWare". Apesar do cliente fornecido com o Windows 98 não ficar devendo muito em termos de recursos, é preferível usar o cliente da própria Novell, que traz alguns recursos únicos, além de ser mais rápido. O programa cliente da Novell acompanha o módulo servidor, mas você também pode baixá-lo gratuitamente (12 MB) do site da Novell: http://www.novell.com.br. Após baixar o arquivo, execute-o para que ele se descompacte automaticamente e, em seguida, execute o arquivo "setup.exe" para instalar o cliente. O programa de instalação adicionará o "Cliente NetWare da Novell" e o "Protocolo IPX de 32 Bits para o NetWare Client da Novell", que aparecerão na janela de configuração da rede. O cliente ficará residente na forma de um ícone ao lado do relógio, já que você depende do programa para ter acesso ao servidor. Como no caso dos servidores NT, você deverá criar uma conta de usuário no servidor Novell e logar-se na rede informando o nome de usuário e senha estabelecidos. Cliente Novell e o protocolo IPX/SPX na configuração de rede de um micro com o Windows 98 Ao usar clientes Linux, você http://novelclient.sourceforge.net/: pode utilizar o NovelClient (com um L só), que pode ser baixado no:» Próximo: Capítulo 5: Segurança e utilitários

Capítulo 5: Segurança e utilitários A questão da segurança tem se tornado cada vez mais importante à medida que a Internet torna-se um ambiente cada vez mais hostil e as ferramentas para capturar tráfego, quebrar sistemas de encriptação, capturar senhas e explorar vulnerabilidades diversas tornamse cada vez mais sofisticadas. Outra questão importante é que usamos cada vez mais tecnologias diferentes de acesso e transmissão de dados, o que torna manter sua rede segura uma tarefa mais complicada. Por exemplo, sua rede pode ser bastante segura contra invasões "diretas", via Internet, graças ao firewall ativo no gateway da rede, mas ser ao mesmo tempo muito fácil de invadir através da rede wireless, caso você utilize o WEP ou simplesmente deixe a rede aberta, sem encriptação. Ao usar clientes Windows, existe ainda o problema dos vírus, trojans e worms. Os vírus se espalham através de arquivos infectados, páginas que exploram vulnerabilidades no navegador, e-mails e assim por diante, geralmente utilizando alguma técnica de engenharia social que leve o usuário a clicar em um link ou executar um arquivo. Assim como na vida real, os vírus variam muito em termos de potencial nocivo. Existem desde vírus extremamente perigosos, que destroem os dados do HD, subscrevendo os arquivos com dados aleatórios (de forma que seja impossível recuperá-los), algumas vezes até mesmo danificando o BIOS da placa mãe; até vírus relativamente inofensivos, que não fazem muita coisa além de se replicarem por diversos meios, tentando infectar o maior número de PCs possíveis. Os vírus moderadamente inofensivos são normalmente os que conseguem se espalhar mais rápido e se manter ativos durante mais tempo, já que são os menos notados e os menos combatidos. Com isso, os criadores de vírus lentamente foram mudando de foco, deixando de produzir vírus espetaculares, que apagam todos os dados do HD, para produzirem vírus mais discretos, capazes de se replicarem rapidamente, usando técnicas criativas, como enviar mensagens para a lista de contatos do MSN ou postar mensagens usando seu login em redes sociais. Como resultado disso, os vírus passaram a atingir cada vez mais máquinas, embora com danos menores. Os trojans são, de certa forma, similares aos vírus, mas o objetivo principal é abrir portas e oferecer alguma forma de acesso remoto à máquina infectada. Eles são quase sempre muito discretos, desenvolvidos com o objetivo de fazer com que o usuário não perceba que sua máquina está infectada. Isso permite que o invasor roube senhas, use a conexão para enviar spam, procure por informações valiosas nos arquivos do HD, ou mesmo use as máquinas sob seu controle para lançar ataques diversos contra outras máquinas. Os worms se diferenciam dos vírus e dos trojans pela forma como infectam as máquinas. Em vez de dependerem do usuário para executar o arquivo infectado, os worms se replicam diretamente, explorando vulnerabilidades de segurança nas máquinas da rede. Os mais complexos são capazes de explorar diversas brechas diferentes, de acordo com a situação. Um worm poderia começar invadindo um servidor web com uma versão vulnerável do IIS, infectar outras máquinas da rede local a partir dele, acessando compartilhamentos de rede com permissão de escrita e, a partir delas, se replicar via e-mail, enviando mensagens infectadas para e-mails encontrados no catálogo de endereços; tudo isso sem intervenção humana. Os worms podem ser bloqueados por um firewall bem configurado, que bloqueie as portas de entrada (e, se possível, também portas de saída) usadas por ele. É possível também bloquear parte dos vírus e trojans adicionando restrições com base em extensão de arquivos no servidor proxy, ou adicionando um antivírus como o Clamav no servidor de e-mails, por exemplo, mas a principal linha de defesa acaba sempre sendo o antivírus ativo em cada máquina Windows. No Linux, as coisas são um pouco mais tranqüilas neste ponto. Os vírus são quase que inexistentes e as vulnerabilidades em servidores muito utilizados, como o Apache, SSH, etc. são muito menos comuns. O problema é que todos estes prognósticos favoráveis dão uma falsa sensação de segurança, que acabam levando muitos usuários a assumirem um comportamento de risco, deixando vários serviços ativados, usando senhas fracas ou usando a conta de root no dia-a-dia. Também é muito comum que os novos usuários fiquem impressionados com os recursos de conectividade disponíveis no Linux e acabem abrindo brechas de segurança ao deixar servidores XDMCP, NFS, Squid, etc. abertos para a Internet. Muitos usuários do Windows sequer sabem que é possível manter um servidor FTP aberto no micro de casa, enquanto muitas distribuições Linux instalam servidores Apache ou SSH por default. Muitos usuários Linux mantém servidores diversos habilitados em suas máquinas, algo muito menos comum no mundo Windows. No final das contas, a segurança do sistema depende muito mais do comportamento do usuário do que do sistema operacional em si. Um usuário iniciante que use o Windows XP, sem nenhum firewall ou qualquer cuidado especial, mas que tenha o cuidado de manter o sistema atualizado e não executar qualquer porcaria que chegue por e-mail provavelmente estará mais seguro do que um usuário Linux sem noções de segurança, que use o sistema como root e mantenha um batalhão de servidores desatualizados ativos na máquina. Você poderia perguntar porque alguém teria interesse em invadir máquinas de usuários domésticos, que não possuem arquivos valiosos, ou mesmo estações de trabalho que são usadas apenas para editar textos e enviar e-mails. A questão principal não é o que está armazenado do HD, mas sim a banda e o poder de processamento das máquinas. Ter vários PCs sob seu controle, principalmente se eles possuírem conexões de alta velocidade, significa poder. É possível usá-los para alimentar redes P2P como o Kazaa e outros, fundar uma rede de distribuição de warez ou moviez, usá-los como servidores complementares para um site pornô, enviar spam, usá-los para rodar portscans e lançar ataques contra outras máquinas ou até mesmo usá-los em um ataque coordenado para tirar um grande portal do ar.» Próximo: As dicas gerais

As dicas gerais Em um servidor, uma boa política de segurança inclui reduzir o número de serviços ativos, mantendo apenas os serviços realmente necessários à operação do servidor, fechar todas as portas não utilizadas no firewall, restringir as permissões de acesso dos usuários que tem acesso ao servidor ao mínimo necessário para que executem suas tarefas e manter as atualizações de segurança em dia, sobretudo nos serviços diretamente expostos a conexões externas. Um servidor web, por exemplo, poderia ter abertas apenas as portas 22 TCP (SSH, para acesso remoto), 53 UDP (DNS), 80 TCP (HTTP) e 443 TCP (HTTPS), o que deixaria apenas três pontos de ataque: o servidor web propriamente dito, o servidor DNS e o servidor SSH. Não é possível fechar todas as portas (já que, por definição, o servidor precisa receber conexões dos clientes e desempenhar suas funções), de forma que é importante manter os serviços disponíveis religiosamente atualizados com relação a brechas de segurança. Em um desktop doméstico é possível manter todas as portas de entrada fechadas no firewall (ou no gateway da rede), permitindo apenas tráfego de saída e tráfego de respostas a conexões iniciadas por você, o que praticamente eliminaria o problema dos ataques diretos. Entretanto, é comum que você precise manter algumas portas abertas (como as usadas por jogos e por programas P2P), o que cria pontos de ataque, tornando necessário manter os programas atualizados, assim como no caso dos servidores. Outro problema são as formas indiretas de ataque, como vírus e trojans enviados por e-mail, arquivos temperados com malwares, distribuídos através de redes P2P e sites de download, páginas web que exploram vulnerabilidades do Internet Explorer para executar controles ActiveX, ou mesmo links para trojans enviados por e-mail ou postados em redes sociais. Mesmo que seu PC ou notebook esteja seguro, existe a possibilidade de que os seus dados sejam capturados ao utilizar o micro de alguém ou, principalmente, ao utilizar um Cybercafé. Evite digitar qualquer tipo de senha ou dados confidenciais em qualquer micro que não seja seu. Em situações onde isso é realmente necessário, uma opção é dar boot usando uma distribuição linux live-cd. A questão das senhas é outro tema importante, já que elas são o ponto fraco de qualquer sistema. Utilize sempre boas senhas, misturando letras e números e com pelo menos 8 (de preferência 12) caracteres, jamais utilize palavras como senha e troque-as freqüentemente. O ideal é que ninguém além de você tenha acesso físico ao seu PC. Mesmo que você deixe o micro desligado, ou protegido por uma proteção de tela, é possível instalar programas dando boot através de um CD-ROM ou disquete. Se você administra um servidor ou permite que outros usuários acessem sua máquina remotamente, exija que todos utilizem boas senhas. Muitas brechas de segurança permitem obter acesso de root partindo de um simples login de usuário. Por isso, além de exigir o uso de boas senhas, você deve dar logins de usuário apenas à pessoas de confiança. Outra boa idéia é "esconder" seus servidores, alterando suas portas default. Por exemplo, um servidor de FTP escutando na porta 21 (a default) seria facilmente descoberto pelo atacante, que, a partir daí, poderia tentar explorar algum tipo de vulnerabilidade no programa para obter acesso. Mas, se você configurá-lo para operar na porta 44756, por exemplo, já seria muito mais complicado que alguém o descobrisse. Seria preciso fazer uma varredura de portas completa, que demora várias horas para perceber que a porta 44756 está aberta e mais algum tempo para descobrir que ela está sendo usada por um servidor de FTP. Quanto mais dificuldade melhor, não é mesmo? Caso você esteja usando um programa de detecção de intrusões, como o Snort, a varredura de portas iria disparar o alarme, fazendo com que você tivesse conhecimento do ataque antes mesmo do atacante descobrir quais portas estão abertas para tentar fazer qualquer coisa. Mais um erro comum é deixar servidores de FTP, web, SSH, etc. disponíveis para toda a Internet enquanto você só precisa deles dentro da sua rede interna. Se você tem duas placas de rede, ou mesmo uma placa de rede e um modem, é fácil filtrar o tráfego permitindo que apenas os acessos vindos dos clientes locais sejam aceitos. Isso pode tanto ser feito na configuração do servidor (como no caso do Samba e do Apache) quanto na configuração do firewall. O ideal em termos de segurança é não acessar a web diretamente nos desktops. Sempre que possível, acesse por trás de uma conexão compartilhada, através de um servidor Linux com o firewall ativo, ou através de um modem ADSL configurado como roteador. Direcione apenas as portas realmente necessárias para os clientes. Todas essas medidas representam a chamada segurança passiva. As brechas de segurança são como balas perdidas, ninguém pode dizer onde surgirá a próxima. Mesmo um sistema com um excelente histórico de segurança pode revelar um bug monstruoso a qualquer momento. A idéia é impedir ou pelo menos dificultar a exploração de qualquer eventual brecha. Imagine que amanhã alguém descubra uma brecha grave no SSH, por exemplo. Se você deixa o serviço ativo no seu servidor e ainda por cima aberto ao mundo, você estaria com sérios problemas. Mas, se você mantém o serviço desativado, ou disponível apenas para a sua rede interna, a brecha não afetaria diretamente o seu sistema, pois seria preciso passar primeiro pelo firewall para ter acesso a ele.» Próximo: Ataques comuns Ataques comuns Depois dessa seleção inicial de dicas básicas, vamos a uma pequena lista com tipos de ataques comuns:» Próximo: Exploits

Exploits Este é um termo genérico para descrever pequenos utilitários ou exemplos de código que podem ser usados para explorar vulnerabilidades específicas. Eles podem ser tanto usados de forma "stand alone", ou seja, serem usados diretamente, quanto serem incorporados em vírus, cavalos de tróia, ferramentas de detecção de vulnerabilidades e outros tipos de programas. Utilitários de detecção de vulnerabilidades como o Nessus, por exemplo, incorporam um grande número de exploits para brechas conhecidas. Durante o teste, ele verifica se o serviço ou programa vulnerável está ativo e, caso esteja, simula um ataque contra ele, usando o exploit correspondente. Com isso, é possível verificar se a versão utilizada é vulnerável a ele.» Próximo: Trojans Trojans Os trojans (cavalos de tróia) são uma forma de invadir "de dentro pra fora", fazendo com que o próprio usuário execute um programa, ou acesse uma página web que se aproveite de vulnerabilidades do navegador. Eles são a forma mais usada para obter o controle de micros domésticos, já que não dependem da existência de portas abertas ou do uso de serviços vulneráveis. O trojan pode instalar uma backdoor (que permite que o micro seja acessado remotamente), instalar um keytrap (para capturar senhas e outras informações digitadas no teclado) ou mesmo instalar um vírus que passe a se replicar dentro da rede local. Muitos backdoors são capazes de abrir conexões reversas, onde o PC dentro da rede local é que estabelece a conexão com um servidor remoto. Como a maioria dos firewalls são configurados para bloquear apenas tráfego de entrada, e não tráfego de saída, a conexão reversa permite que o PC dentro da rede local seja acessado remotamente. Uma vez dentro do perímetro da rede, o atacante terá muito mais facilidade para atacar outras máquinas, já que dentro da rede local a segurança será muito mais fraca. O próprio VNC suporta o uso de conexões reversas, como veremos em detalhes no capítulo 6. Embora os trojans sejam mais comuns no Windows, existem também trojans para Linux e outros sistemas. No caso do Linux, o tipo mais perigoso são os rootkits, softwares que exploram um conjunto de vulnerabilidades conhecidas para tentar obter privilégios de root na máquina afetada. Caso alguma delas esteja presente, o software pode assumir o controle da máquina mesmo se executado usando uma conta normal de usuário. Uma vez instalado, o rootkit vai alterar binários do sistema, instalar novos módulos no Kernel e alterar o comportamento do sistema de várias formas para que não seja facilmente detectável. O processo do rootkit não aparecerá ao rodar o "ps -aux", o módulo que ele inseriu no Kernel para alterar o comportamento do sistema não vai aparecer ao rodar o "lsmod", e assim por diante.» Próximo: Eavesdropping Eavesdropping Em conexões não encriptadas, ou encriptadas usando algoritmos fracos, é possível que um atacante consiga capturar os dados transmitidos através da rede caso tenha acesso à mídia de transmissão (possa plugar um cabo no hub da rede, ou esteja dentro da área de alcance da rede wireless, por exemplo). Com isso, é possível obter senhas, conteúdo de mensagens enviadas e outras informações confidenciais, que podem ser usadas mais tarde para propósitos diversos. Redes locais baseadas em hubs burros ou redes wireless sem encriptação ou que ainda utilizam o WEP são alvos fáceis, já que bastaria plugar um notebook no hub, ou colocá-lo dentro da área de alcance do ponto de acesso para capturar todas as transmissões. Ao usar um switch o risco é menor, já que eles transmitem os frames apenas para os destinatários corretos (e não em todas as portas como os hubs). Entretanto, os switches mais baratos são vulneráveis a ataques de MAC Flooding e de ARP Spoofing, que consistem em, respectivamente, "inundar" o switch com um grande volume de frames com endereços MAC falseados, de forma a esgotar a memória disponível e fazer com que ele passe a enviar o tráfego para todas as portas e a induzir o switch a enviar o tráfego para a máquina do atacante, em vez de enviá-los à máquina correta. Redes wireless que utilizam o WAP e o WPA2 também são muito mais seguras que redes abertas, já que embora seja possível capturar o tráfego da rede, quebrar o algoritmo de encriptação é bastante demorado. Existe também a possibilidade de capturar os dados em qualquer outro ponto da rede, como, por exemplo, quando eles passam pelo roteador do provedor de acesso, mas isso é muito mais raro, pois exigiria que o atacante tivesse acesso à rede interna do provedor. De qualquer forma, a melhor solução para evitar a captura dos dados é utilizar protocolos encriptados de transmissão, como o SSH e o HTTPS. O SSH utiliza por default o algoritmo 3DES, que consiste no uso de três chaves independentes com 64 bits cada uma (que é combinado com um sistema mais forte de encriptação, com até 4096 bits, usado durante o login), enquanto o SSL (usado no HTTPS) utiliza um algoritmo de encriptação de 128 bits.» Próximo: Phishing

Phishing Diferente dos ataques baseados na exploração de brechas de segurança, os ataques de phishing utilizam engenharia social para tentar levar o usuário a revelar informações confidenciais, tais como senhas de banco, números de cartão de crédito, ou mesmo transferir fundos diretamente. Para isso, são usados e-mails e páginas web forjadas, que se fazem passar por páginas de bancos e lojas, entre outras artimanhas. Por serem fáceis de aplicar e resultarem em um ganho financeiro direto, os ataques de phishing tem se tornado assustadoramente comuns. Um dos truques mais antigos é enviar e-mails simulando um contato do banco ou de alguma loja da qual o usuário seja cliente, simulando algum tipo de recadastramento. O e-mail pode pedir que seja enviada senha atual, juntamente com a nova, por exemplo. Muitas vezes, informações coletadas em redes sociais ou em pesquisas podem ser usadas para tornar os e-mails mais realísticos, aumentando o índice de sucesso. Outros tipos de ataques consistem em alterar links em sites e redes sociais, de forma a encaminhar os visitantes a sites forjados. Uma cópia da página de um banco pode solicitar o login e senha e depois exibir uma mensagem dizendo que o sistema está em manutenção e pedindo para o usuário tentar novamente depois de alguns minutos, por exemplo (tempo que o falsário pode usar para acessar a conta real e transferir fundos, utilizando as senhas fornecidas pelo usuário). Normalmente, as transferências são feitas usando uma mula, ou seja, um laranja que recebe o dinheiro ilegalmente transferido, ou recebe produtos comprados usando números de cartão de crédito roubados e os repassa ao fraudador, ficando com uma comissão. Isso permite que uma única pessoa aplique golpes em diversos países diferentes, ficando impune na maioria das vezes.» Próximo: Denial of Service (DoS) Denial of Service (DoS) Os ataques DoS, ou ataques de negação de serviço são feitos não com o objetivo de invadir o sistema, mas sim com o propósito de torná-lo indisponível. O que os torna preocupantes é que eles podem ser lançados contra qualquer host conectado à Internet. Não é necessário que serviços com vulnerabilidades de segurança estejam ativos. Por exemplo, é possível tornar um servidor web indisponível enviando um grande volume de requisições, aparentemente válidas, para acesso às páginas hospedadas. Se o servidor não possuir nenhum tipo de filtro ou regra de firewall que limite o volume de páginas servidas a um único endereço, ele passará a simplesmente tentar responder a todas as requisições, o que saturará o link ou consumirá todos os recursos do servidor, fazendo com que ele deixe de responder a requisições de usuários válidos. Se o servidor possuir uma quota de tráfego (na maioria dos planos de dedicated hosting existe uma quota de tráfego de 1 ou 2 TB mensais), o atacante pode simplesmente simular um volume constante de requisições (sobretudo download de arquivos hospedados no servidor) de forma a esgotar a quota de trafego e assim fazer com que o servidor fique indisponível. Mesmo mecanismos destinados a aumentar a segurança do servidor podem ser usados. Por exemplo, se o servidor é configurado para bloquear logins no SSH depois de um certo volume de tentativas de acesso usando senhas incorretas, o atacante pode bloquear o acesso de usuários válidos tentando repetidamente acessar o servidor usando logins variados. Por não saber as senhas, ela não conseguirá acesso ao servidor, mas em compensação pode conseguir disparar o sistema de bloqueio, tornando o servidor temporariamente indisponível para os usuários legítimos. O tipo mais famoso de ataque DoS é o DDoS, ou "Distributed denial of service" (ataque distribuído de negação de serviço), onde o ataque é lançado usando centenas ou milhares de hosts (situados em locais diferentes) simultaneamente. Nesse caso, o ataque é especialmente difícil de conter, pois é necessário bloquear as requisições provenientes de cada um dos endereços usados antes que cheguem ao servidor. Ou seja, o bloqueio precisa ser feito pela empresa que administra os links de acesso e não no servidor propriamente dito. Para lançar um ataque DDoS, é necessário ter à disposição um número muito grande de máquinas, que precisam ser invadidas previamente usando vulnerabilidades diversas, formando uma botnet. Os hosts controlados são chamados de zumbis (zombie computers) e continuam desempenhando suas tarefas de forma aparente normal, até que sejam usadas em ataques. Servidores hospedados em grandes datacenters, universidades ou em órgãos governamentais são especialmente efetivos, já que são normalmente ligados a links muito rápidos, mas o arroz de festa são máquinas domésticas, rodando versões vulneráveis do Windows, que podem ser infectadas em massa usando trojans e vírus. Um pequeno aplicativo de controle é instalado em cada uma das máquinas, de forma que elas possam ser controladas através de algum ponto central, como um canal de IRC ou uma página web secreta. Tipicamente, os servidores (que utilizam links dedicados, com IP fixo e melhor conectividade) são usados como controladores da botnet, coordenando a operação dos PCs domésticos. Depois de obter o controle de um número suficiente de máquinas, o atacante precisa de apenas alguns comandos para fazer com que o ataque seja lançado. Com um número suficiente de máquinas à disposição, é possível derrubar qualquer servidor conectado à grande rede.

Além de ser usada em ataques DDoS, a botnet pode ser usada para diversos propósitos, incluindo o envio de spam (estima-se que mais de 50% dos spams sejam enviados a partir de zumbis), distribuição de arquivos, hospedagem de páginas ilegais, fraudes contra sistemas de venda de anúncios (as máquinas são usadas para simular cliques nos anúncios) e qualquer outra atividade lucrativa. A época romântica, das pixações de páginas e ataques massivos contra sites conhecidos deu lugar a quadrilhas organizadas, que usam as máquinas invadidas para ganhar dinheiro.» Próximo: Firewalls Firewalls A ilustração mais usada para descrever um firewall é a de um muro, que isola a rede local da Internet. Mas, na prática, a operação do firewall lembra muito mais a de um escritório de alfândega, que tem a função de fiscalizar o que entra e o que sai, bloqueando itens ilegais e permitindo a passagem de itens autorizados. Uma outra analogia poderia ser feita com relação aos seguranças de uma loja, que precisam impedir a ação de assaltantes, sem com isso impedir a entrada de clientes. Um firewall que simplesmente bloqueasse a passagem de todos os pacotes (como um muro) seria inútil, pois simplesmente desconectaria o PC da rede. Na vida real, o firewall é uma coleção de regras que são aplicadas ao tráfego de rede. Baseado nelas, o firewall decide o que deve ou não passar. É justamente por isso que nenhum firewall é 100% seguro, já que ele precisa fazer seu trabalho sem prejudicar o uso normal da rede. Outra coisa a ter em mente é que o firewall é destinado a limitar o acesso aos serviços disponíveis, evitando que os compartilhamentos de rede do seu servidor, destinados à rede interna sejam acessados via Internet, ou limitando o acesso a determinadas portas e a determinados endereços da rede, por exemplo. O firewall trabalha verificando os endereços de origem e de destino dos pacotes, portas a que são destinados e o status das conexões. Ele não é destinado a verificar o conteúdo dos pacotes e por isso pouco pode fazer com relação a vírus, trojans, phishing e outros ataques similares. Para eles, temos os antivírus, que trabalham verificando o conteúdo dos arquivos acessados. Para oferecer uma proteção mais completa, muitos firewalls para Windows passaram a incluir também ferramentas de detecção de malwares, mesclando as duas categorias e uma única classe de aplicativos. Um exemplo de firewall "híbrido" é o Comodo, que veremos a seguir. Uma boa forma de entender como funciona um firewall é examinar alguns exemplos de scripts de firewall para o IPtables. Ele nada mais é do que o firewall "padrão" no Linux, que é diretamente integrado ao Kernel e pode ser tanto programado diretamente quando usado como base para o desenvolvimento de firewalls gráficos. Existem diversos firewall gráficos para Linux, como o Firestarter (que veremos em detalhes a seguir), mas todos eles utilizam como base o IPtables, programando a ação do firewall de acordo com a sua configuração. Por exemplo, quando você diz ao Firestarter que deseja permitir conexões na porta 22 TCP (a porta do SSH) a partir de qualquer endereço, ele incluiria uma regra similar a esta na programação do firewall: iptables -A INPUT -p tcp --dport 22 -j ACCEPT Este é um comando que poderia ser executado diretamente no terminal, ou usado como parte de um script de configuração do firewall. Ele diz que qualquer pacote de entrada (INPUT), usando o protocolo TCP (-p tcp), destinado à porta 22 (--dport 22) deve ser aceito (-j ACCEPT). Ao bloquear o acesso ao domínio "orkut.com" para os PCs da rede local que acessam através da conexão compartilhada pelo servidor, seria incluída uma regra similar a essa: iptables -A FORWARD -d orkut.com -j REJECT A regra "FORWARD" se aplica a pacotes que são recebidos em uma interface e roteados para outra, como no caso dos pacotes recebidos na interface de rede local e roteados para a Internet. A opção "-d orkut.com" rotula os pacotes destinados ao servidor do orkut, enquanto a regra "-j REJECT" diz o que deve ser feito com eles, ou seja, diz que eles devem ser rejeitados. Com isso, o servidor passa a se recusar a encaminhar requisições de páginas para os servidores do domínio especificado, impedindo que os usuários acessem o serviço. Você pode imaginar que o firewall é programado com uma sequência de regras como essas, que dizem o que ele deve fazer em cada situação prevista, terminando com uma regra mais geral, que diz que pacotes que não se enquadram nas regras estabelecidas devem ser recusados (ou aceitos, de acordo com a política de acesso adotada). Cada pacote que passa pelo firewall precisa então passar por cada uma das regras, até que o firewall encontre uma que diga o que fazer com ele. Se existem duas regras conflitantes (uma diz que o pacote deve ser aceito e outra diz que ele deve ser recusado, por exemplo), vale a regra que aparecer primeiro na lista. Aqui temos um exemplo bem simples de script com regras para o IPtables, que autoriza acessos provenientes da rede local (que no exemplo utiliza a interface "eth1" e a faixa de endereços 192.168.1.x, com máscara 255.255.255.0), permite acessos (a partir de qualquer endereço) na porta 22, libera o tráfego na interface de loopback e em seguida bloqueia conexões de entrada não especificadas nas regras anteriores, deixando passar apenas pacotes de resposta para as conexões iniciadas por você: iptables iptables iptables iptables -A -A -A -A INPUT INPUT INPUT INPUT -i eth1 -s 192.168.1.0/255.255.255.0 -j ACCEPT -p tcp --dport 22 -j ACCEPT -i lo -j ACCEPT -p tcp --syn -j DROP

Um script de firewall mais completo poderia ter várias dezenas de linhas, que logo se tornariam um emaranhado difícil de administrar. Firewalls gráficos como o Firestarter reduzem a complexidade, administrando as regras para você. No mundo Windows, a presença de um firewall pré-instalado no sistema é um fenômeno relativamente recente. Até o Windows 2000, o sistema simplesmente não contava com firewall algum, o que permitiu o surgimento de inúmeros firewalls domésticos oferecidos por empresas independentes, como o Zone Alarm. O Windows XP original trouxe um firewall simples batizado de ICF (Internet Connection Firewall), que era destinado a oferecer um nível mínimo de proteção a máquinas destinadas a compartilhar a conexão com a rede local. O ICF evoluiu bastante desde então, dando origem ao Windows Firewall, incluído a partir do Windows XP SP2, que embora ainda ofereça um conjunto modesto de recursos, já é bem mais utilizável que o antecessor. Vamos então colocar a mão na massa, estudando sobre a configuração do Windows Firewall, do Comodo (uma opção de firewall para Windows com um volume bem maior de recursos) e do Firestarter, para Linux.» Próximo: Windows Firewall Windows Firewall O Windows Firewall é um firewall básico, que não oferece grandes vantagens sobre outros produtos nem é particularmente seguro, mas que oferece como vantagens o fato de já vir ativo por padrão (a partir do Windows XP SP2) e ser relativamente fácil de configurar. Ele é o absoluto mínimo em termos de proteção para uma máquina Windows diretamente conectada à Internet. Na tela de configuração você tem apenas três opções: ativar o firewall (usando exceções), ativar sem permitir exceções ou desativá-lo:

Na aba "Exceções" você tem acesso a uma lista de programas e serviços que podem receber conexões de entrada. Por padrão, ficam marcadas as opções "Área de trabalho remota", "Assistência remota", "Compartilhamento de Arquivos e Impressoras" e "Estrutura UPnP". O acesso a arquivos e impressoras fica aberto apenas para a rede local e a Assistência remota (onde o convite precisa ser gerado manualmente) fica aberta para a Internet. Você pode perceber que a aba "Exceções" (no screenshot da direita) mostra apenas os programas detectados pelo firewall, mas não as portas usadas por cada um. A idéia é que ao marcar um programa na lista, você automaticamente abre todas as portas usadas por ele. Ou seja, a regra se aplica a conexões destinadas ao aplicativo e não a uma porta específica (mais detalhes a seguir). Clicando sobre o aplicativo e usando o botão "editar", você pode ver a lista das portas usadas por ele (no caso dos aplicativos que usam mais de uma porta). O "Compartilhamento de Arquivos e Impressoras", por exemplo, abre um total de 4 portas (139 TCP, 445 TCP, 137 UDP e 138 UDP), que correspondem às três portas usadas pelo protocolo NetBIOS e à porta 445 TCP usada pelo protocolo CIFS. Clicando no "Alterar escopo" você pode definir a partir de quais endereços o aplicativo poderá ser acessado:

A opção "Qualquer computador (inclusive na Internet)" dispensa comentários, já que abre as portas para qualquer um que tenha acesso à sua máquina. Ela deve ser usada apenas no caso de programas de administração remota, programas P2P que realmente precisem de portas de entrada e nos casos em que você quiser disponibilizar servidores para a Internet. A opção "Minha rede (sub-rede) somente" abre apenas para acessos provenientes da rede local. Em micros com duas placas de rede, que estão conectados simultaneamente à internet e a uma rede local, é importante configurar esta opção com atenção, evitando abrir serviços que devem ficar ativos apenas para a rede local (como o Compartilhamento de Arquivos e Impressoras) para a Internet. A terceira opção, "Lista personalizada", é destinada a situações onde você quer que o serviço fique acessível apenas para alguns endereços específicos. Se um amigo vai se conectar à sua máquina via VNC para ajudar a resolver um problema, por exemplo, você pode perguntar qual é o endereço IP corrente e abrir a porta do VNC apenas para o endereço IP usado por ele, o que evita o risco de abrir a porta para toda a Internet. Você pode também especificar mais de um endereço, separando-os por vírgula: Ao adicionar uma nova exceção à configuração do firewall, você tem a opção de indicar um programa ("Adicionar programa...") ou especificar manualmente a porta que deve ser aberta ("Adicionar Porta..."). Ao clicar no "Adicionar Programa", você tem acesso a um menu que mostra os programas instalados, permitindo que você escolha o desejado, enquanto que ao usar o "Adicionar Porta" você

deve especificar manualmente a porta usada e se deve ser aberta a porta TCP ou UDP correspondente: Em teoria, adicionar regras para aplicativos é um pouco mais seguro do que adicionar regras baseadas em portas, pois as exceções baseadas em aplicativos ficam ativas apenas enquanto o programa está aberto (ao fechar o programa, a porta é fechada no firewall). Veja que em ambas as opções você tem acesso ao botão "Alterar escopo", que permite especificar quais endereços terão acesso à porta aberta (o default é abrir para todos). Concluindo, na aba "Avançado" você tem uma lista das interfaces disponíveis. Isso permite que você mantenha o firewall ativo para a interface da Internet, mas ao mesmo tempo desative-o para a interface da rede local (esta opção está disponível apenas a partir do Windows XP SP2):

O botão "ICMP > Configurações" permite abrir o firewall para um conjunto de pacotes ICMP. Por padrão, o firewall ativa a resposta a pings (Permitir solicitação de eco de entrada), opção que você pode desativar para tornar sua máquina um pouco menos visível a atacantes casuais, que escaneiam faixas de endereços da Internet em busca de alvos. Uma observação é que você não consegue desativar os pings se a porta 445 (que faz parte do "Compartilhamento de Arquivos e Impressoras") estiver aberta nas exceções do firewall.» Próximo: Comodo Comodo Apesar de ser bem espartano, o Windows Firewall oferece uma vantagem em relação a outros firewalls para Windows, que é o fato de não ficar constantemente perguntando se um determinado acesso deve ser autorizado ou não. Com exceção de alguns spywares e backdoors comuns, o firewall libera o tráfego de saída e limita o tráfego de entrada às exceções configuradas e aos pacotes de resposta a conexões iniciadas por você. O firewall não faz nada com relação aos vírus e malwares em geral (que nas máquinas Windows são um problema talvez até maior do que os ataques diretos), tarefa que seria responsabilidade do antivírus. A grande maioria dos demais firewalls para Windows trabalham solicitando confirmações do usuário e aprendem quais acessos devem ser autorizados e quais não. Por um lado isso é bom, já que o firewall pode monitorar também as conexões de saída e permitir que o usuário bloqueie o envio de dados por parte de spywares e qualquer programa desconhecido, mas, por outro lado, a aporrinhação acaba tendo um efeito contrário em muitos casos, fazendo com que o usuário se acostume com as mensagens e passe a simplesmente autorizar tudo. O Comodo é um bom candidato a substituir Windows Firewall, já que oferece mais recursos, possui um bom histórico de segurança e é disponibilizado gratuitamente, diferente da maioria dos outros firewalls para Windows, onde uma versão limitada é disponibilizada gratuitamente e a versão completa é vendida. Um dos destaques é o Defense+, que oferece um sistema de proteção contra malwares em geral, desempenhando parte das funções de um antivirus. A versão em português pode ser baixada no http://www.comodobr.com/produtos/prd_firewall.php, enquanto a versão internacional está disponível no: http://www.personalfirewall.comodo.com. Enquanto escrevo, a versão 3.0 ainda não está disponível em Português, por isso vou utilizar a versão internacional, em inglês. Assim como outros firewalls para Windows, ao ser instalado o Comodo se registra junto à central de segurança do Windows XP e se oferece para desativar o Windows Firewall antes de continuar: Perto do final da instalação, você tem a opção de ativar o Defense+ (a opção mais completa), instalar apenas o Firewall ou instalar o Firewall ativando o Leak Protection, que funciona como um meio termo, complementando o firewall com um sistema de proteção contra a ação de malwares. Ativando o Defense+ o Comodo oferece um bom nível de proteção, o que permite que um usuário com noções mínimas de segurança e hábitos saudáveis de navegação possa muito bem manter seu PC seguro mesmo sem utilizar um antivírus dedicado.

Caso ativado, o Defense+ passa a monitorar a atividade dos programas, exibindo alertas em caso de atividades potencialmente perigosas, como alterar arquivos, acessar áreas de memória usadas por outros programas e alterar chaves de registro. Essas operações são completamente normais, já que são executadas durante o processo de instalação ou de atualização de praticamente qualquer programa. O próprio Firefox dispara um total de 4 alertas durante a atualização automática e o IE 6 dispara dois da primeira vez que é aberto:

Se você confia no aplicativo, pode usar a opção "Treat this application as > Trusted Application", caso contrário pode bloquear a operação, ou limitar a atividade do programa usando a opção "Treat this application as > Limited Application". O principal cuidado é verificar se os programas citados nos alertas são mesmo aplicativos ou componentes de aplicativos que você utiliza e não malwares disfarçados para se parecerem com eles. Se você não tem certeza sobre qual decisão tomar, experimente bloquear a requisição, desmarcando a opção "Remember my answer". Com isso, a resposta não será salva e a mesma pergunta voltará a ser feita quando a mesma situação se repetir, com a diferença de que na segunda vez você já conhecerá o efeito e poderá tomar a decisão definitiva. Assim como em outras ferramentas de proteção, a maior parte da efetividade do Defense+ reside justamente em acompanhar os alertas e bloquear a ação de programas suspeitos. Se você não tem paciência para ler os alertas e passa a simplesmente autorizar todos os alertas sem conferir os avisos, é melhor desativar o software de uma vez, pois ele deixará de ser efetivo. Na versão 2.4 estava disponível também a opção "Data Execution Prevention", que tira proveito da proteção de áreas de memória destinadas ao armazenamento de dados oferecida pelos processadores atuais para aumentar a proteção contra ataques de buffer overflow. A Intel chama o recurso de XD bit (execute Disable) e a AMD chama de NX bit (No execute), mas nesse caso são dois nomes diferentes para a mesma coisa. O recurso é suportado por quase todos os processadores Intel a partir do Pentium 4 5xx e também pelos processadores AMD a partir do Athlon 64. Na versão 3.0 ela é ativada automaticamente (se suportada pelo processador) ao marcar as opções "Firewall with Defense+" ou "Leak Protection". Continuando, logo depois de reiniciar o micro, o firewall pergunta sobre a configuração da placa de rede local, detectando placas configuradas usando as faixas de endereços privados. Isso lhe dá a opção de permitir o acesso dos outros micros da rede local:

Sem definir uma interface de rede local, qualquer tentativa de acesso a um compartilhamento, programa ou serviço disponível no seu micro por parte de outros micros da rede local será tratada como se fosse um acesso proveniente da Internet, com a exibição de um alerta se segurança, como nestes dois alertas gerados ao acessar um compartilhamento de arquivos a partir de outros PCs da rede:

A interface do Comodo é dividida em 4 seções. A primeira é a "Summary", onde você tem um resumo geral do status do sistema e pode ajustar o nível de segurança do firewall (através da opção "Custom Policy Mode"). Para a maioria dos usuários, o nível ideal é o "Train with Safe Mode", onde o firewall autoriza diretamente conexões consideradas seguras e pergunta sobre as demais, em um processo de aprendizado contínuo:

Se você julgar que o firewall já está suficientemente treinado, pode experimentar a opção "Custom Policy Mode", onde o firewall passa a aplicar as regras já definidas, se limitando a exibir avisos sobre as conexões recusadas. Nesse modo, qualquer alteração nas regras precisa ser feita manualmente. Você encontra a opção de proteger a configuração do firewall usando senha dentro da opção "Miscellaneous > Settings > Parental Control". Em um PC usado por várias pessoas, ela pode ser combinada com a "Custom Policy Mode" para evitar que outras pessoas alterem as configurações de firewall definidas por você. Você pode também exportar as configurações atuais (de forma a replicá-las para vários PCs, sem precisar refazer toda a configuração manualmente) através da opção "Miscellaneous > Manage My Configuration > Export". A quarta opção, "Training Mode", é similar à "Train with Safe Mode", com a diferença de que o firewall pergunta sobre tudo, sem usar sua lista de operações consideradas seguras. Este é o modo que demanda mais mão de obra, mas em compensação é o que oferece mais controle sobre a programação do firewall. Um recurso digno de nota é a opção "Switch to Installation Mode", disponível no canto inferior. Ela permite relaxar temporariamente o nível de segurança, evitando falsos positivos durante a instalação ou atualização de programas: As opções mais interessantes estão escondidas dentro da seção "Firewall", que é subdividida nas seções "Common Tasks" e "Advanced:" As opções "Define a New Trusted Application" e "Define a New Blocked Application" são atalhos para criar rapidamente regras para autorizar ou restringir o acesso de determinados aplicativos, de forma que o firewall não pergunte mais sobre eles. Ao adicionar um aplicativo, ele passa a ter carta branca tanto para iniciar quanto para receber conexões de entrada, de forma similar ao que temos ao usar a opção "Adicionar programa..." do Windows Firewall. A opção "My Network Zones" permite criar "zonas", contendo endereços ou faixas de endereços, que podem ser usadas para definir regras. Para criar uma zona, use primeiro a opção "Add > A New Network Zone" e dê um nome a ela. Clique em seguida sobre a zona vazia e use a opção "Add > A New Address" para adicionar os endereços ou a faixa de endereços que fará parte dela:

É importante definir uma zona de endereços para a sua rede local e zonas separadas para outros endereços em que você confia. O simples fato de definir as zonas não tem nenhum efeito sobre a operação do firewall. Elas são apenas argumentos que serão usados mais tarde ao criar regras para o firewall manualmente. Em um micro diretamente conectado à Internet, é interessante usar a opção "Stealth Ports Wizard" para que o firewall "esconda seu PC", deixando de responder a requisições em portas fechadas na configuração. Isso faz com que seu PC fique virtualmente indetectável, deixando de aparecer em varreduras automáticas. Isso previne muitos ataques casuais, que começam justamente com uma varredura de portas para verificar quais endereços dentro de uma determinada faixa estão ocupados e a partir daí lançar ataques contra eles. Ao acessar o Stealth Ports Wizard, você tem a opção de permitir o acesso de uma determinada faixa de endereços (a rede local, por exemplo) e bloquear o acesso dos demais, ou simplesmente bloquear todos, sem exceções. A segunda opção é útil quando você estiver acessando em um hotspot wireless ou em uma rede de terceiros. A opção "View Active Connections" é provavelmente a que você mais usará no dia-a-dia. Ela permite acompanhar as conexões abertas em tempo real, verificando quais portas estão sendo usadas, por quais programas e por quais endereços IP. É algo similar ao que temos ao executar o comando netstat, mas apresentado de forma mais amigável. Dentro da seção "Firewall Advanced" temos a opção "Network Security Policy", a área "avançada" da configuração, através da qual você pode incluir regras manualmente, além de revisar as regras geradas durante o processo de aprendizado do firewall. A seção está dividida em duas abas. A aba "Application Rules" mostra as regras que se aplicam a aplicativos (ao autorizar um aplicativo, você o autoriza a receber conexões em quaisquer portas), enquanto a "Global Rules" permite definir regras genéricas, onde o firewall autoriza conexões em determinadas portas, ou a partir de determinadas faixas de endereços, não importando qual aplicativo está sendo contactado:

Dentro da aba "Global Rules" você pode definir regras baseadas em endereços, faixas de endereços ou portas. Para criar uma regra permitindo acessos de PCs provenientes da rede local, por exemplo, você começaria criando uma zona, contendo a faixa de endereços desejada através do "My Network Zones". Ao criar a regra no "Global Rules", você usaria as opções "Action: Allow", "Protocol: TCP or UDP", "Direction: In/Out" e marcaria a opção "Zone" dentro da aba "Source Address", escolhendo a zona com a faixa de endereços da rede local:

Para abrir a porta usada por um determinado aplicativo, você usaria as opções "Action: Allow", "Protocol: TCP" (ou UDP, de acordo com o protocolo usado), "Direction: In" e marcaria a opção "A Single Port" dentro da aba "Source Port", indicando a porta desejada (no exemplo estou abrindo a porta 5900 TCP, usada pela versão Windows do VNC Server). Em ambos os casos, o campo "Description" é apenas um nome para a regra, que não tem relação com a operação do firewall. Continuando, dentro da seção "Attack Detection Settings" é possível ajustar mais algumas opções diversas, relacionadas com o protocolo ICMP, juntamente com proteções contra ataques diversos:

Na aba "Intrusion Detection", é possível configurar o bloqueio automático contra portscans e ataques DoS oferecido pelo firewall. Em ambos os casos, o ataque é caracterizado pelo envio de um grande volume de pacotes TCP ou UDP. Por default, caso o firewall receba um fluxo constante de mais de 20 pacotes por segundo, durante mais de 20 segundos (indício de que alguém está executando um portscan contra sua máquina), o endereço IP será bloqueado durante 5 minutos. Um ataque DoS é caracterizado pelo envio de um grande volume de pacotes TCP, UDP ou ICMP, com o objetivo de obrigar sua máquina a responder cada um com um pacote ACK, ocupando toda a sua banda e esgotando o espaço da tabela de conexões do sistema. Um ataque DoS pode ser lançado por qualquer um que possua um link relativamente rápido, já que é fácil saturar um link doméstico com tráfego. Ao detectar um ataque DoS, o Comodo entra em um "modo de emergência", onde todo o tráfego de entrada é interrompido e o firewall passa a aceitar apenas respostas a conexões iniciadas por você, descartando os pacotes relativos ao DoS. Por default, o bloqueio é mantido por 120 segundos, mas você pode ajustar o valor caso desejado. Outra opção útil para aumentar a resistência do sistema a ataques DoS é a opção "Do Protocol Analysis" que, apesar de consumir uma boa dose de recursos do sistema, permite que o firewall bloqueie automaticamente pacotes inválidos, que são a base da maior parte dos ataques de negação de serviço. A menos que você tenha contato com os responsáveis pelos roteadores do provedor de acesso, ou da operadora responsável pelos links e consiga fazer com que eles bloqueiem os pacotes antes de chegarem à sua máquina, é impossível bloquear completamente um ataque DoS, mas a combinação dessas opções tornará o seu host bem menos susceptível a eles. Concluindo, você pode ver a lista das regras adicionadas na programação do Defense+ (através das respostas às perguntas) através da opção "Defense+ > Advanced > Computer Security Policy". É através dela que você pode alterar regras definidas incorretamente, que prejudiquem a operação dos aplicativos. Naturalmente, essa configuração só se aplica se o Defense+ estiver ativo:

» Próximo: Firestarter

Firestarter O Firestarter é um firewall gráfico para Linux, que é ao mesmo tempo bastante poderoso e fácil de usar. Ele é adequado para uso em desktops, onde é necessária uma forma simples de monitorar tentativas de conexão e abrir portas. Ele tornou-se rapidamente uma opção bastante popular e passou a ser incluído nas principais distribuições. Você pode instalá-lo usando o gerenciador de pacotes (opção recomendada) ou baixar os pacotes disponíveis no http://www.fssecurity.com/download.php. No Ubuntu e em outras distribuições derivadas do Debian, você pode instalá-lo usando o apt-get, como em: $ sudo apt-get install firestarter Uma última opção é baixar o pacote com o código-fonte e compilá-lo manualmente. A instalação neste caso é feita descompactando o arquivo e rodando os comandos "./configure", "make" e "make install". A dificuldade é que você precisa ter os compiladores e a biblioteca de desenvolvimento do GTK instalados. Ao abrir o Firestarter pela primeira vez, é aberto um assistente que pede algumas informações básicas sobre a configuração da rede e oferece opções para compartilhar a conexão e ativar o firewall sob demanda, ao conectar via modem ou ADSL PPPoE. O compartilhamento de conexão cria um compartilhamento simples, via NAT, equivalente a usar as três regras do IPtables para compartilhar a conexão que veremos no capítulo 6. Para compartilhar a conexão é preciso que o seu micro possua duas placas de rede, uma para a rede local e a outra para a Internet. Ao compartilhar a conexão, é necessário apenas marcar a opção "Habilitar o compartilhamento de conexão Internet" e indicar qual é a placa ligada à rede local: Estas configurações podem ser alteradas posteriormente no menu "Editar > Preferências". O Firestarter pode ser usado também para configurar o servidor DHCP, caso ele esteja instalado; se a opção de habilitar o servidor DHCP aparecer desativada na sua configuração, verifique se o pacote com o servidor DHCP (dhcp3-server, dhcp-server ou dhcp, dependendo da distribuição) está instalado. O Firestarter apenas altera a configuração, ele não faz a instalação do servidor DHCP para você:

Como o Firestarter precisa manipular as regras do IPtables e configurar outros componentes do sistema, ele só pode ser executado como root. Em muitas distribuições, é adicionado um ícone no menu que executa o Firestarter através do gksu ou kdesu, solicitando a senha de root durante a abertura. Uma vez aberto, o Firestarter bloqueia por padrão todas as portas e loga todas as tentativas de conexão, uma configuração bastante segura. A partir daí, você pode ir criando uma lista de exceções, permitindo conexões em determinadas portas e a partir de determinados endereços. Ainda na janela de configurações, verifique se a opção "Método de rejeição de pacotes preferido" está configurada como "Descartar silenciosamente", em que é usada a política "DROP" do IPtables, ao invés de "REJECT", onde o emissor recebe resposta. A opção "Tráfego de broadcast" se refere a todos os pacotes direcionados à rede, como, por exemplo, os pacotes usados por servidores Windows (e Samba) para mapear os compartilhamentos disponíveis na rede. Deixe sempre a opção "Block broadcasts from external network" habilitada, para que sejam bloqueados os pacotes de broadcast provenientes da Internet. Caso esteja usando uma rede wireless, acessando através de uma rede de terceiros (ou utilizando qualquer tipo de rede que considere insegura), marque também a opção "Block broadcasts from internal network", para bloquear também os pacotes provenientes da rede local:

Um dos recursos mais interessantes, e o principal diferencial com relação a outros projetos, é que o Firestarter transforma os logs de tentativas de acesso gerados pelo IPtables em avisos dentro da aba "eventos". Quando uma nova tentativa de acesso é registrada, o ícone ao lado do relógio fica vermelho e você tem a opção de aceitar ou recusar a conexão. Na ilustração, temos uma tentativa de acesso ao servidor SSH, que está habilitado na porta 22 a partir do host 192.168.1.2: A opção "Permitir serviço de entrada para a origem" faz com que, daí em diante, o host 192.168.1.2 possa acessar o SSH (apenas na porta 22), sem disparar novamente o alarme, enquanto a opção "Permitir conexões a partir da origem" faz com que o 192.168.1.2 possa acessar qualquer serviço, em qualquer porta. Esta segunda opção é interessante para micros da rede local. Finalmente, a opção "Permitir serviço de entrada para todos" abre a porta do SSH para todo mundo, incluindo micros da Internet. Esta é uma opção que deve ser usada com mais cautela. Todas as regras adicionadas entram em vigor imediatamente e ficam acessíveis para modificação ou consulta na aba "Política". Você pode ir também direto ao ponto, abrindo as portas utilizadas por algum serviço em especial antes que o firewall bloqueie a conexão. Na

interface principal, acesse a aba "Política", clique com o botão direito sobre o quadro "Permitir serviço", "Adicionar Regra". Já estão disponíveis regras prontas para vários serviços. Lembre-se de que é necessário abrir portas apenas quando você está rodando um servidor Samba, Apache, SSH, etc.; não é preciso abrir portas para acessar estes mesmos serviços como cliente. A única exceção importante para esta regra de ouro é o NFS, onde é preciso manter a porta 111 aberta (no cliente) para conseguir montar os compartilhamentos. Note que além da opção para abrir para todo mundo, você pode abrir apenas para um endereço IP específico ou para uma faixa de IPs, como em "192.168.1.0". Caso o compartilhamento da conexão esteja ativo, aparecerá mais uma seção dentro da aba "Política", a "Serviço de encaminhamento", que permite redirecionar portas de entrada para micros da rede local. A configuração é similar à abertura de portas, mas agora, em vez de especificar quais endereços terão acesso à porta aberta, você especifica qual micro da rede local receberá as conexões direcionadas a ela: Você pode acompanhar as conexões em uso através do campo "Conexões ativas", na tela principal. Note que a lista inclui todas as conexões, tanto as conexões como cliente, contatando outros micros da rede ou Internet quanto as conexões como servidor, recebendo uma conexão a partir de fora. Outra observação é que muitos programas abrem diversas conexões simultâneas, o Gaim (ou outro cliente de ICQ/MSN), por exemplo,

abre uma conexão com o servidor principal (quando você fica online) e mais uma conexão para cada janela de conversa aberta. Uma única instância do Bittorrent, por exemplo, pode chegar a abrir mais de 20 conexões, já que baixa e serve o arquivo para vários hosts simultaneamente. Preste atenção nas conexões em que o destino é seu próprio endereço IP, pois elas indicam conexões a servidores ativos na sua máquina. Caso o compartilhamento de conexão esteja ativo, a lista mostra todas as conexões, de todos os micros da rede local (ou seja, uma lista possivelmente bem grande). Isso pode ser usado para detectar micros que estão rodando programas que consomem muita banda, como programas P2P em geral, e tomar as providências necessárias, avisando o usuário ou bloqueando as portas ou endereços IP das estações. Para isso, acesse a aba "Política". Mude a opção no botão "Edição" para "Política de tráfego de saída". As opções agora permitem bloquear tráfego de dentro para fora, impedindo que determinados programas-clientes funcionem, ou que certos servidores ou sites sejam acessados. Neste caso, existem duas abordagens. Você pode bloquear a porta usada pelo cliente, ou pode bloquear o acesso ao servidor a que ele se conecta. Por exemplo, o MSN envia mensagens através da porta 1863 e se conecta ao servidor messenger.hotmail.com. Bloqueando qualquer um dos dois, o cliente já deixa de funcionar. Mas, para garantir, você bloqueia ambos. Existe ainda um cliente disponível via navegador, através da página http://webmessenger.msn.com, que você pode pode bloquear também. O ICQ se conecta ao servidor login.icq.com, através da porta 5190. Assim como no caso do MSN, existe uma versão via navegador, disponível no site http://go.icq.com. Você pode bloquear as três coisas. Se os usuários utilizarem clientes via web, como o meebo.com, você pode também adicioná-los à lista, eliminando assim as brechas sucessivamente. Na mesma tela, é possível bloquear também sites específicos, adicionando domínio por domínio à lista. A idéia aqui é bloquear páginas específicas nas quais os usuários estejam gastando muito tempo, ou páginas de conteúdo impróprio. Lembre-se de que: 1- No caso de páginas de conteúdo impróprio, é mais prático usar um filtro de conteúdo (como um servidor Squid com o DansGuardian) do que ficar tentando bloquear endereço por endereço no firewall, já que existem muitos. 2- Bloquear um domínio ou um endereço IP aqui vai bloquear o acesso de todos os protocolos (POP3, SMTP, SSH, FTP, etc.), não apenas http, ou seja, significa realmente cortar relações. Caso você bloqueie o acesso ao IP de um servidor que hospeda vários sites, vai bloquear o acesso a todos eles.

Veja que aqui estou usando a opção "Tolerante por padrão", na qual o firewall por padrão permite todo o tráfego de saída e você especifica manualmente o que bloquear. Você pode utilizar também o modo "Restrito por padrão", onde o firewall bloqueia tudo e você precisa ir abrindo uma a uma as portas que serão utilizadas. O mínimo neste caso é abrir as portas 53/UDP (DNS), 80/TCP (http) e 443/TCP (https) para permitir o acesso à web básico e, a partir daí, ir abrindo um a um os demais protocolos necessários. Uma vez que o firewall é ativado, as regras ficam ativas mesmo que você feche a interface principal. O Firestarter fica residente na forma do serviço de sistema "firestarter", que é executado de forma independente da interface. Você pode usar o comando "iptables -L", que lista as regras de firewall ativas para comprovar isso. Ao fechar a interface gráfica, você perde apenas a possibilidade de monitorar as tentativas de acesso e aceitar conexões Para realmente parar o firewall, você precisa reabrir a interface e clicar no "Parar firewall" ou usar o comando "/etc/init.d/firestarter stop". Ao contrário da maioria dos firewalls para Windows, o firewall em si é independente da interface. Para que o firewall seja inicializado automaticamente durante o boot, é importante que o sistema esteja configurado para inicializar o serviço "firestarter" durante o boot. No Mandriva, você pode habilitá-lo no menu de serviços, dentro do Painel de Controle. No Fedora, e em outras distribuições derivadas do Red Hat, use o comando "chkconfig firestarter on" e, nas distribuições derivadas do Debian, use o comando "update-rc.d -f firestarter defaults". Uma ressalva é que, ao instalar a partir do código fonte, é preciso copiar manualmente o script "/etc/init.d/firestarter" para que ele trabalhe como um serviço de sistema. Dentro da árvore com o código-fonte, você encontra scripts para várias distribuições. Você pode também configurar a interface do Firestarter para ficar residente como um ícone do lado do relógio ao ser fechado no "Editar > Preferências > Interface > Minimizar para a bandeja ao fechar a janela". Mais um problema comum é a necessidade de fornecer a senha de root cada vez que a interface do Firestarter é aberta, um detalhe bastante chato. Você pode eliminar essa necessidade utilizando o sudo para permitir que o seu usuário possa abrir o Firestarter como root, sem precisar fornecer a senha. Para isso, instale o pacote "sudo" (usando o gerenciador de pacotes da distribuição que estiver utilizando) e adicione as seguintes linhas no final do arquivo "/etc/sudoers": usuário ALL= NOPASSWD: /usr/bin/firestarter usuário ALL= NOPASSWD: /usr/sbin/firestarter... substituindo o "usuário" pelo login desejado. Note que coloquei duas linhas, pois em algumas distribuições o binário do Firestarter é instalado dentro da pasta "/usr/bin" e, em outras (Debian, por exemplo), na pasta "/usr/sbin". Na verdade, você vai precisar de apenas uma delas. Feito isso, você pode passar a inicializar o Firestarter usando o comando "sudo firestarter" ou "sudo firestarter start-hidden", se preferir que ele já inicie minimizado ao lado do relógio.

Para que ele seja aberto automaticamente junto com o KDE, crie um arquivo de texto chamado "firestarter.desktop", na pasta ".kde/autostart/" dentro da sua pasta home, contendo o seguinte: [Desktop Entry] Exec=sudo firestarter --start-hidden Name=Firestarter Type=Application Todos os ícones de aplicativos colocados dentro desta pasta são executados durante a abertura do KDE. Você pode arrastar um ícone do menu para ela, usando o Konqueror ou criando um arquivo de texto manualmente. Note que os ícones colocados dentro desta pasta contém uma sintaxe especial e terminam com a extensão ".desktop".» Próximo: Executando com um usuário separado Executando com um usuário separado O firewall protege contra worms e invasões, ataques "de fora para dentro", mas não protege contra vírus e trojans executados localmente. No primeiro tipo de ataque, o invasor procura uma porta aberta, tenta identificar o servidor ou programa que está ativo na porta (o SSH ou Apache, por exemplo), pesquisa por alguma vulnerabilidade conhecida ou erro de configuração e, caso encontre alguma coisa, lança um ataque, tentando utilizar a falha para obter acesso ao sistema. Com o firewall ativo, o ataque é frustrado logo no início, já que com todas as portas fechadas, simplesmente não existe por onde entrar, a menos que exista alguma falha de segurança no próprio IPtables, o que seria bastante improvável. Imagine que um desktop que acessa a web apenas como cliente é uma casa, enquanto que um servidor é uma loja de porta aberta. Você pode fechar e reforçar todas as portas, transformando sua casa em um bunker (habilitar o firewall, fechando todas as portas), onde ninguém terá como entrar, a menos que consiga convencer você a abrir a porta para ele. Em um servidor a questão é mais complicada já que, assim como em uma loja, é preciso deixar a porta bem aberta para que os clientes possam entrar e sair. A segurança, nesse caso, precisa ser feita em vários níveis. Em primeiro vem o firewall, que bloqueia todas as portas que não são usadas, mantendo abertas apenas as portas realmente utilizadas. Em segundo lugar vem a questão das atualizações de segurança. Ninguém invade um servidor simplesmente porque o SSH está habilitado, invade caso esteja em uso uma versão desatualizada, com alguma vulnerabilidade conhecida, ou caso exista alguma conta de usuário ativa, com uma senha fácil. Mantendo o servidor atualizado e seguindo regras básicas de segurança, o risco é pequeno. Na hora de escolher uma distribuição para ser usada em um servidor, um dos quesitos mais importantes a analisar é justamente a questão das atualizações de segurança: em quanto tempo os pacotes são atualizados ao ser descoberta uma vulnerabilidade e por quanto tempo são disponibilizadas atualizações para a versão em uso. A maior parte das distribuições comerciais oferece atualizações de segurança por 12 ou 18 meses depois de lançada uma nova versão. Nesse quesito, as distribuições baseadas no Debian levam uma certa vantagem, pois no Debian as atualizações são oferecidas de forma contínua. Sempre que uma nova versão é lançada, você pode atualizar os pacotes utilizando o apt-get e, assim, continuar instalando as atualizações indefinidamente. O segundo tipo de ataque, que engloba vírus, trojans e afins, exige interação do usuário. Um vírus nunca se instala sozinho (caso contrário não seria um vírus, mas sim um worm), se instala porque alguém executou o arquivo que chegou por e-mail ou por um programa P2P, por exemplo. No Windows, esta tarefa ficaria por conta do antivírus, antispyware & cia. Entretanto, como ainda não temos uma quantidade expressiva destas pragas no Linux, apenas o firewall em geral já é suficiente. Digo por enquanto, pois conforme o uso do sistema em desktops cresça, é natural que o número de vírus e pragas em geral para a plataforma também cresça, obrigando-nos a tomar mais cuidados. Caso eventualmente os vírus e trojans tornem-se um problema no Linux, com certeza surgirão várias opções de antivírus, mas, mesmo antes que isso aconteça, existe um conjunto de cuidados simples que podem manter seu micro seguro desde já. O Linux é reconhecidamente um sistema multiusuário, onde as permissões de arquivos e executáveis impedem que um usuário danifique arquivos ou configurações de outro, ou modifique as configurações do sistema. Embora isso torne as coisas mais complicadas em diversas situações, também cria uma barreira de segurança adicional bastante interessante. Ao invés de rodar todos os programas e executar todo tipo de arquivo com seu usuário principal, crie um segundo login (ou até mais de um) e o utilize para executar arquivos suspeitos ou programas que possam ter problemas de segurança, como, por exemplo, clientes de IRC e navegadores.

Para isso, abra um terminal e use o comando "su" para logar-se usando o segundo usuário, como em "su joao". Depois de fornecer a senha, todos os programas executados dentro do terminal serão executados pelo outro usuário. Se por acaso você executar qualquer programa malicioso, apenas o usuário separado é afetado, sem comprometer seus arquivos pessoais, muito menos os arquivos do sistema. Em caso de problemas, basta deletá-lo e criar outro. Em distribuições baseadas no Debian, o sistema vem configurado para não permitir que outros usuários executem programas gráficos dentro de uma sessão gráfica já aberta. Ao tentar rodar qualquer programa gráfico, você recebe uma mensagem como: Xlib: connection to ":0.0" refused by server Xlib: No protocol specified konqueror: cannot connect to X server :0.0 Isso é solucionado por um utilitário chamado "sux", que substitui o su, transferindo também as credenciais do X. Basta instalar o pacote "sux" (usando o apt-get, ou outro gerenciador de pacotes disponível) e usá-lo para trocar o usuário, como em: "sux joao".» Próximo: Usando o Nmap Usando o Nmap O Nmap é um portscan de uso geral. Ele é um dos componentes-base usados pelo Nessus (que veremos a seguir), mas pode também ser usado diretamente, sempre que você precisar verificar rapidamente as portas abertas em determinado host, seja na sua rede local, seja na Internet. O Nmap é um pacote muito utilizado e por isso está disponível em todas as principais distribuições. Você pode instalá-lo usando o yast (SuSE), yum (Fedora), urpmi (Mandriva), ou outro gerenciador de pacotes disponível. Nas distribuições derivadas do Debian, você pode instalá-lo via apt-get: # apt-get install nmap Para usar todos os recursos do Nmap, você deve executá-lo como root. O uso mais simples é escanear diretamente uma máquina da rede, como em: # nmap 192.168.0.3 Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) Interesting ports on 192.168.0.3: (The 1661 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 68/tcp open dhcpclient 631/tcp open ipp MAC Address: 00:0F:B0:55:EE:16 (Compal Electronics) Nmap finished: 1 IP address (1 host up) scanned in 0.339 seconds Neste exemplo, o teste foi disparado contra uma máquina Linux, rodando uma instalação personalizada do Debian Sarge. As duas portas abertas são o cliente DHCP (é normal que a porta 68 fique aberta em clientes configurados via DHCP) e o servidor Cups, que escuta na porta 631. O Cups mantém esta porta aberta sempre que é ativado (você precisa dele para imprimir, tanto em compartilhamentos da rede, quanto em impressoras locais). Por padrão, ele permite apenas que o localhost imprima e acesse a interface de administração, mas é possível configurá-lo para compartilhar as impressoras com a rede de forma bem simples através do arquivo "/etc/cups/cupsd.conf". Nem o cliente DHCP nem o Cups permitem acesso via shell, por isso, salvo eventuais graves brechas de segurança, os ataques mais graves que poderiam ser lançados neste caso seriam tentar modificar a configuração de rede, tentando responder ao cliente DHCP no lugar do servidor DHCP da rede, ou tentar usar impressoras compartilhadas no Cups. O simples fato de uma determinada porta estar aberta, não significa que a máquina está vulnerável, mas apenas que existem serviços ativos e as portas não estão sendo bloqueadas por nenhum firewall. Você pode obter mais informações sobre as portas abertas, incluindo a versão de cada serviço ativo usando a opção "-sv", como em: # nmap -sv 192.168.0.3 Esta opção é muito mais demorada, no lugar dela você pode preferir fazer logo um scan completo usando o Nessus. É possível também escanear de uma vez toda uma faixa de endereços, como em: # nmap 192.168.0.1-254

Outro parâmetro interessante é a opção "-O", que faz com que o Nmap tente identificar qual é o sistema operacional usado em cada máquina. Esta identificação permite diferenciar máquinas rodando diferentes versões do Windows de máquinas rodando Linux ou MacOS, por exemplo, mas não é muito eficiente em identificar diferentes distribuições Linux, nem em identificar a versão do Windows usada. Veja um exemplo: # nmap -O 192.168.0.4 Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) Interesting ports on 192.168.1.35: (The 1658 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 135/tcp open msrpc 139/tcp open netbios-ssn 445/tcp open microsoft-ds 1025/tcp open NFS-or-IIS 5000/tcp open UPnP MAC Address: 02:0F:B0:55:EE:16 (Unknown) Device type: general purpose Running: Microsoft Windows 95/98/ME NT/2K/XP OS details: Microsoft Windows Millennium Edition (Me), Windows 2000 Pro or Advanced Server, or Windows XP Nmap finished: 1 IP address (1 host up) scanned in 1.145 seconds Neste caso temos uma instalação limpa do Windows XP, sem o firewall ativo. Note que a identificação do sistema não é exata, o Nmap indicou corretamente que é uma máquina Windows, mas não soube identificar precisamente a versão. Continuando, os scans do Nmap podem ser facilmente detectados caso alguma das máquinas-alvo esteja com o Snort, ou outro detector de intrusões ativo, o que vai lhe render no mínimo um puxão de orelha do administrador da rede. Para dificultar isso, o Nmap oferece a opção de fazer um half-open scan, especificando a opção "-ss", como em: # nmap -ss 192.168.0.1-254 Operando neste modo, o Nmap apenas envia um pacote SYN para cada porta alvo e espera para ver se recebe um pacote ACK de confirmação sem, entretanto, responder com o segundo pacote ACK, que abriria a conexão. Isso permite burlar muitos programas de detecção de intrusão, que monitoram e logam apenas conexões efetivamente estabelecidas. Apesar de menos comum, é possível fazer também uma varredura de portas UDP abertas. Embora poucos serviços possam ser diretamente conectados através de portas UDP, muitos as utilizam para transferir dados e, em geral, os firewalls são configurados para bloquear apenas as portas TCP. Escanear as portas UDP é uma forma alternativa de detectar serviços abertos em uma máquina, mesmo que todas as portas TCP estejam fechadas no firewall. Existem também casos de backdoors acessíveis via UDP, como o Back Orifice (no Windows) e até mesmo (raras) brechas de segurança em serviços do Linux ou outros sistemas Unix, como uma brecha em certas versões do rpcbind do Solaris, que podia ser explorada através de uma porta UDP alta, a partir da 32770 (variando de acordo com a versão). Os scans de UDP são rápidos se direcionados a máquinas Windows, mas são absurdamente lentos se feitos contra máquinas Linux ou BSD, onde o sistema limita o número de erros de ICMP (dos quais o scan do Nmap depende) a uma taxa de aproximadamente 20 por segundo. No Windows não existe limite. Para usar o scan UDP, usamos a opção "-su", como em: # nmap -su 192.168.0.4 Por padrão, o Nmap escaneia apenas um conjunto de 1661 portas, que incluem as usadas pelos serviços mais comuns. Uma media de segurança comum é esconder serviços como o SSH em portas altas, de forma que eles sejam mais difíceis de detectar. Nesses casos, você pode fazer um scan completo, incluindo todas as portas TCP (ou UDP) usando a opção "-p 0-65535", como em: # nmap -ss -p 0-65535 192.168.0.4 A opção "-p" pode ser usada para escanear apenas uma porta específica, ou uma faixa de portas em que esteja interessado. Se executado via rede local, o scan é sempre relativamente rápido (a menos que a máquina-alvo esteja com um firewall ativo, configurado em modo "DROP"), mas, via Internet, as coisas tornam-se bem mais demoradas. Ao tentar localizar vulnerabilidades em uma determinada faixa de endereços IP, você começaria lançando o teste rápido contra toda a faixa, reservando as opções mais demoradas para algumas máquinas específicas. A opção "-ss", combinada com a "-p 0-65535", permite localizar serviços escondidos em portas altas, mas não é capaz de dizer muito sobre eles. Ele sempre retorna algo como: 22543/tcp open unknown Você pode escanear esta porta específica usando a opção "-sv" para descobrir mais sobre ela, como em: # nmap -sv -p 22543 192.168.0.4 PORT STATE SERVICE VERSION 22543/tcp open ssh OpenSSH 3.8.1p1 Debian-8.sarge.4 (protocol 1.99)

Nmap finished: 1 IP address (1 host up) scanned in 0.284 seconds Agora você sabe que a máquina tem ativo um servidor OpenSSH (versão 3.8.1, do Debian Sarge), escondido na porta 22543. Tudo é muito simples quando a máquina alvo não possui nenhum firewall ativo. O scan é rápido e você pode lançar toda sorte de ataques sobre os serviços ativos. Mas, com um firewall ativo, as coisas tornam-se um pouco mais complicadas e demoradas. Um firewall configurado para descartar (DROP) todos os pacotes recebidos, faz com que o scan torne-se extremamente lento. Versões antigas do Nmap não chegavam sequer a concluir o teste quando o alvo estava configurado dessa forma, retornando uma mensagem como: Starting nmap 3.50 ( http://www.insecure.org/nmap/ ) Host 192.168.0.33 appears to be down, skipping it. Note: Host seems down. Nmap run completed -- 1 IP address (0 hosts up) scanned in 12.053 seconds Nestes casos, você pode forçar o Nmap a concluir o teste, a fim de detectar serviços escondidos em portas altas usando o parâmetro "-P0", como em: # nmap -ss -P0 -p 0-65535 192.168.0.4 O problema neste caso é que o scan demora muito mais que o normal, já que, por não receber respostas, ele precisa aguardar um tempo muito maior antes de passar para a porta seguinte. Um teste executado contra um micro na Internet, através de uma conexão lenta, pode literalmente demorar dias. Apesar de não responder, o micro remoto pode ser configurado para logar suas tentativas, permitindo que o administrador tome conhecimento e aja de acordo, bloqueando seu endereço IP ou contatando seu provedor de acesso. Um firewall bem configurado é realmente uma grande vantagem de segurança para qualquer servidor.» Próximo: Usando o Nessus Usando o Nessus O Nessus é uma ferramenta de auditoria muito usada para detectar e corrigir vulnerabilidades nos PCs da rede local. Ele realiza uma varredura de portas, detectando servidores ativos e simulando invasões para detectar vulnerabilidades. Uma característica importante é que o Nessus procura por servidores ativos não apenas nas portas padrão, mas em todas as portas TCP. Ele é capaz de detectar uma vulnerabilidade em um servidor Apache escondido na porta 46580, por exemplo. Até a versão 2.2.8, o Nessus era um aplicativo open-source. Os desenvolvedores trabalham na área de segurança, prestando consultoria e vendendo versões personalizadas do Nessus, com plugins e recursos adicionais. O problema é que outras empresas de segurança passaram a se aproveitar disso para incorporar recursos do Nessus em seus produtos proprietários e a desenvolver versões modificadas, que competiam diretamente com as soluções oferecidas por eles. Isso criou um clima crescente de tensão até que os desenvolvedores decidiram mudar a licença, mudança que entrou em vigor a partir da versão 3.0. O Nessus continua sendo de uso gratuito, mas o código fonte passou a ser fechado, para evitar a concorrência predatória de outras empresas. Você pode baixar a versão mais recente na seção de downloads do http://www.nessus.org. Para baixar, você precisa fornecer um endereço de e-mail válido, para onde é enviado um código de ativação. Existem versões do Nessus para diversos sistemas, incluindo o Linux, Windows, FreeBSD e MacOS X. Ao usar a versão Windows, é recomendável que você utilize o Windows 2003 ou outra versão server do sistema. O Windows XP não é adequado para rodar o Nessus, pois a partir do SP2 o sistema inclui políticas de segurança que limitam o número de conexões TCP simultâneas e outros recursos utilizados por ele. As proteções foram incluídas como uma forma de reduzir o potencial nocivo de malwares, mas acabaram dificultando o trabalho do Nessus. Ao usar o Windows XP, o ideal é que você baixe apenas o cliente Nessus e o utilize para se conectar a uma máquina Linux da rede rodando o componente servidor. Nesse caso, a máquina Linux faz o trabalho pesado e o Windows XP roda apenas a interface do programa. Com relação à versão Linux, estão disponíveis pacotes para diversas distribuições, entre eles um pacote.deb para as distribuições derivadas do Debian e pacotes.rpm para o Fedora, Red Hat e SuSE. Você precisa baixar tanto o Nessus propriamente dito, quanto o "NessusClient", disponível na mesma página:

Instale o pacote baixado usando o comando "dpkg -i" (no caso do pacote.deb), ou "rpm -Uvh" (para os pacotes.rpm), como em: # dpkg -i Nessus-3.0.3-debian3_i386.deb O Nessus utiliza o Nmap como portscan, por isso é necessário que ele também esteja instalado. O Nmap faz a primeira rodada de testes, detectando as portas abertas e o Nessus usa as informações fornecidas por ele como ponto de partida para executar uma rodada adicional de testes, que permitem devolver um relatório bastante detalhado das vulnerabilidades encontradas. Depois de instalar, você precisa criar um login de usuário para utilizar o Nessus. Isso é necessário pois ele é dividido em dois componentes: um servidor (que é quem faz todo o trabalho pesado) e um cliente, que funciona como uma interface segura para ele. Isso permite que você instale o servidor em uma máquina que faça parte da rede que vai ser escaneada e use seu notebook para apenas rodar o cliente, o que pode ser feito até mesmo remotamente. Com isso, seu notebook fica livre durante o teste, permitindo que você execute testes adicionais ou pesquise sobre as vulnerabilidades na web enquanto o teste é realizado. Naturalmente, você pode rodar ambos os componentes na mesma máquina, o único pré-requisito é usar uma máquina relativamente rápida, com pelo menos 256 MB de RAM livres (ou seja, descontando a memória usada pelo sistema e outros programas). Este login não é uma conta de usuário válida no sistema. Ele é válido apenas para o Nessus, onde é usado para fazer a autenticação no módulo servidor. Para criá-lo, use o comando "/opt/nessus/sbin/nessus-add-first-user". Ele pedirá o login e senha, o tipo de autenticação (escolha "pass") e permitirá que você adicione regras para o usuário (User Rules). Se você quiser apenas criar o usuário usando as regras default, basta pressionar "Ctrl+D". Ele pedirá uma última confirmação, basta responder "y": # /opt/nessus/sbin/nessus-add-first-user Using /var/tmp as a temporary file holder Add a new nessusd user ---------------------Login : tux Authentication (pass/cert) [pass] : pass Login password : ******** Login password (again) : ******** User rules ---------nessusd has a rules system which allows you to restrict the hosts that tux has the right to test. For instance, you may want him to be able to scan his own host only. Please see the nessus-adduser(8) man page for the rules syntax

Enter the rules for this user, and hit ctrl-d once you are done: (the user can have an empty rules set) ^D Login : tux Password : *********** DN : Rules : Is that ok? (y/n) [y] y Uma vez instalado, você pode iniciar o servidor Nessus usando o comando: # /etc/init.d/nessusd start ou: # /opt/nessus/sbin/nessusd -D Em ambos os casos ele roda em background, sem obstruir o terminal. Para fechá-lo, use o comando "killall nessusd". Isto conclui a instalação do servidor. O próximo passo é instalar o pacote do cliente. No site você pode baixar tanto o cliente Linux, quanto o NessusWx, que roda em máquinas Windows. No meu caso, tive um pouquinho de trabalho para instalar o cliente Linux, pois, no momento em que escrevi este tópico, ainda não estava disponível uma versão do cliente para o Debian, de forma que precisei baixar o pacote para o Fedora, convertê-lo usando o alien e criar dois links simbólicos para bibliotecas com nomes diferentes nos dois sistemas. O primeiro passo foi instalar o alien via apt-get e usá-lo para converter o pacote baixado do site: # apt-get install alien # alien NessusClient-1.0.0.RC5-fc5.i386.rpm O alien gera um pacote.deb com o mesmo nome do pacote original, que pode ser instalado usando o dpkg, como em: # dpkg -i nessusclient_1.0.0.rc5-1_i386.deb O NessusClient é aberto usando o comando "NessusClient" (que você executa usando sua conta de usuário e não como root). Entretanto, por instalar uma versão para outra distribuição, ele reclamou da falta das bibliotecas "libssl.so.6" e "libcrypto.so.6". Na verdade, ambas estavam disponíveis, porém com nomes diferentes. Acessando o diretório "/usr/lib" vi que existiam os " libssl.so.0.9.8" e " libcrypto.so.0.9.8", de forma que precisei apenas criar dois links, apontando para eles: # cd /usr/lib # ln -s libcrypto.so.0.9.8 libcrypto.so.6 # ln -s libssl.so.0.9.8 libssl.so.6 A partir daí, o NessusClient passou a abrir corretamente: $ NessusClient

A interface desta versão é bem diferente da usada no cliente que acompanhava o Nessus 2.x, mas o funcionamento é basicamente o mesmo. Comece clicando no botão "Connect" para abrir a conexão com o servidor. Se estiver rodando-o na mesma máquina, use "localhost" como endereço, caso contrário, forneça o IP correto da máquina onde o servidor está ativo: Da primeira vez que se conectar, ele perguntará sobre o certificado do servidor. Ele (certificado) permite que você verifique a autenticidade do servidor onde está se conectando, evitando a possibilidade de que alguém o tenha substituído por outra máquina. Ao usar servidores Nessus remotos, você pode usar certificados de autenticidade para melhorar a segurança. Nesse caso, use o comando nessus-mkcert-client (no servidor): # /opt/nessus/bin/nessus-mkcert-client Ao terminar o processo, ele salva o certificado gerado em uma pasta temporária, como em: Your client certificates are in /tmp/nessus-mkcert.9904 You will have to copy them by hand

Dentro da pasta, você encontra um arquivo ".pem" com o nome do usuário criado, como em "cert_nessuswx_joao.pem". Para usar este certificado, você deve copiá-lo para a pasta "/opt/nessus/com/nessus/ca/" (do cliente). Na hora de se conectar usando o NessusClient, marque a opção "Autentication by certificate" e indique a localização do arquivo. Note que o uso do certificado apenas melhora a segurança da comunicação entre o servidor Nessus e o cliente. É uma medida saudável para os paranóicos de plantão. :) Uma vez conectado ao servidor Nessus, você pode definir diversas opções dentro da aba "Global Settings". Dentro dela, algumas opções interessantes (disponíveis dentro da aba "General") são: Port range: O default do Nessus é escanear apenas as portas de 1 a 1024, o que resulta em testes relativamente rápidos, mas que deixam passar serviços escondidos em portas altas. Para que ele escaneie todas as portas, mude para "1-65535". Note que isso torna o teste muito mais demorado, pois ele precisa enviar um pacote TCP e outro UDP para cada uma das portas, para só então executar os testes adicionais nas portas abertas. Number of hosts to test at the same time: Esta opção determina o número de hosts que serão verificados simultaneamente durante o teste. O default para esta opção são 20 hosts, o que é adequado para situações onde você use um micro de configuração modesta para executar o teste dentro da rede local. Aumentar o número faz com que o Nessus consuma mais recursos do servidor e mais banda da rede, o que não é muito interessante caso o teste seja realizado durante o expediente. Number of checks to perform at the same time: Esta opção determina o número de testes simultâneos em cada um dos micros escaneados. Muitos dos testes realizados pelo Nessus são demorados, porém, geram pouco tráfego de rede. Aumentar o número de testes simultâneos é uma boa forma de acelerar o teste caso sua rede tenha poucos micros. Note que é aberta uma instância do scanner para cada host e para cada teste. Ou seja, com 100 hosts e 4 testes simultâneos em cada um, podem ser abertas até 400 instâncias, o que consumirá quase 500 MB de memória do servidor. Se você está rodando o servidor em uma máquina de configuração modesta, ou está usando sua máquina de trabalho e não deseja que ela fique muito lenta durante o teste, reduza os números. Optimize the test: Esta opção torna o teste do Nessus mais "inteligente". Baseado em informações de testes anteriores, o scanner evita usar testes demorados, que tenham baixa probabilidade de revelar novas vulnerabilidades. Ativar esta opção, torna o teste muito mais rápido, se executado repetidamente, mas abre uma pequena possibilidade de algumas vulnerabilidades mais incomuns não serem descobertas. Safe checks: Alguns sistemas antigos possuem brechas de segurança que podem causar travamentos. Máquinas com o Windows 95 sem atualizações de segurança, por exemplo, são vulneráveis ao famoso "ping da morte", um pacote ICMP defeituoso, que trava o sistema. Ativando esta opção, o Nessus deixa de realizar os testes que podem levar a travamentos das máquinas, ou de outros dispositivos da rede, como roteadores e modems ADSL. Designate hosts by their MAC address: Ativando esta opção, os hosts são identificados pelo endereço MAC no relatório do teste, ao invés de pelo endereço IP. Isso pode ser útil em redes onde os clientes são configurados via DHCP. Na aba "Plugins" você tem acesso à configuração dos plugins, que são scripts responsáveis por detectar vulnerabilidades específicas. Por exemplo, ao detectar que a porta "45234" está aberta, o Nessus primeiro tenta identificar qual servidor está ativo, executando um conjunto de testes. Se for detectado um servidor Apache, por exemplo, serão usados os plugins que detectam vulnerabilidades em servidores web. O Nessus inclui um número assustador de plugins, divididos em categorias. Ao marcar a opção "Safe checks" (na aba general), são automaticamente desativados os plugins potencialmente perigosos, mas você pode reativar todos clicando no "Enable all".

Naturalmente, novas brechas de segurança são descobertas todos os dias, por isso é necessário atualizar os plugins periodicamente. Para isso, use o comando "/opt/nessus/bin/nessus-fetch", informando o código fornecido no e-mail de confirmação do registro, como em: # /opt/nessus/bin/nessus-fetch --register FFBB-382E-3990-D3DA-2BFC A partir daí, os plugins são atualizados automaticamente, uma vez por dia. Se preferir desativar a atualização automática, edite o arquivo "/opt/nessus/etc/nessus/nessusd.conf", substituindo a linha "auto_update = yes" por "auto_update = no". Os plugins são os componentes mais importantes do Nessus. São eles que o diferenciam de um portscan genérico, como o Nmap. O portscan detecta que uma determinada porta está aberta e qual servidor está sendo usado, mas são os plugins que informam que está sendo usada uma versão com a vulnerabilidade X, que pode ser corrigida com a atualização Y. As atualizações gratuitas são fornecidas com um delay de 7 dias, o que dificulta seu uso profissional (7 dias dentro do ramo de segurança é um tempo muito longo, durante o qual brechas são corrigidas e novas surgem). Para ter acesso às atualizações em tempo real, você precisa assinar o plano comercial. Depois de ajustar as opções gerais, clique na opção "File > Scan Assistant" para definir a faixa de endereços que será escaneada. A primeira tarefa é definir nomes de identificação do teste nas abas "Task" e "Scope". Depois vem o que interessa, a definição dos alvos na aba "Targets". Você pode tanto lançar o teste contra um IP isolado quanto contra uma faixa inteira de endereços. Neste caso, indique o endereço da rede seguido pela máscara, como em "192.168.1.0/24" (o 24 indica a máscara de sub-rede, no padrão CIDR), ou um intervalo de endereços, como em "192.168.1.2-253". Clicando no "Executar" o teste é finalmente lançado:

Uma novidade em relação às versões anteriores é que agora você pode definir várias faixas diferentes e criar uma configuração independente para cada uma. Você pode, por exemplo, ter uma configuração para o teste contra hosts da rede local e outra já engatilhada para testar periodicamente o servidor que hospeda seu site, por exemplo. Cada uma permite definir faixas de portas e configurações diferentes. Para lançar um teste já pré-configurado, selecione-o na lista da esquerda e clique no "Scope > Executar". Como comentei, o teste do Nessus é feito em duas partes. A primeira é o portscan, onde ele utiliza o Nmap, combinado com alguns testes adicionais para descobrir quais portas estão abertas em cada host. A partir daí, entram em ação os plugins, que testam cada porta em busca de vulnerabilidades conhecidas. Concluído o teste, ele exibe uma lista com as vulnerabilidades encontradas em cada PC. Existem três níveis de alerta; o primeiro e mais grave tem o símbolo de uma luz vermelha e indica uma brecha de segurança em um servidor ativo na máquina. No screenshot, por exemplo, temos uma instalação bastante desatualizada do Windows XP, com diversas brechas de segurança, entre elas uma vulnerabilidade no protocolo SMB (responsável pelo compartilhamento de arquivos), que permite travar a máquina remotamente e duas vulnerabilidades graves, que permitem executar código e obter acesso à máquina:

Veja que, além de apontar o problema, o Nessus oferece uma descrição detalhada da vulnerabilidade e aponta uma solução. Na maioria dos casos, o problema é corrigido simplesmente instalando as atualizações de segurança ou atualizando para a versão mais recente. Em casos em que o problema é gerado por erros de configuração, ele quase sempre fornece dicas de como corrigi-lo. O teste do Nessus permite também identificar serviços indesejados, que podem ser desativados ou ter suas portas bloqueadas no firewall, além de avisar sobre qualquer backdoor que tenha sido instalado sem seu conhecimento. Continuando, o segundo nível é um alerta de que um serviço potencialmente inseguro está ativo em uma determinada porta do sistema, como, por exemplo, um servidor Telnet ou XDMCP. Neste caso, não foi encontrada nenhuma vulnerabilidade específica, mas o fato de o serviço ser fundamentalmente inseguro já representa uma brecha de segurança. Tanto o Telnet quanto o XDMCP transmitem dados de forma não encriptada, o que permite que alguém mal intencionado possa sniffar a rede, capturando os dados transmitidos (incluindo as senhas dos usuários). Ambos devem ser usados apenas dentro da rede local. O terceiro nível de alerta tem o símbolo de uma luz. Estes são apenas lembretes de que existe um servidor ativo na porta indicada, mas sem que fosse detectada qualquer brecha de segurança. Como disse, em muitos casos o Nessus ajuda também a detectar erros de configuração, que podem ser perigosos. Por exemplo, este é um aviso de segurança, que mostra um servidor dedicado com o servidor DNS aberto para consultas a outros domínios:

Todo servidor web trabalha em conjunto com um servidor DNS, que responde pelos domínios dos sites hospedados. Embora não seja por si só uma brecha de segurança, esta configuração faz com que o DNS se transforme em um servidor "público", que faz a resolução de qualquer domínio solicitado, assim como os servidores DNS dos provedores de acesso. Isso abre brecha para ataques de "DNS poisoning", onde um cliente externo insere uma entrada inválida no cache do DNS, fazendo com que ele responda a algumas das consultas com endereços IPs incorretos, além de abrir uma pequena possibilidade de que o servidor seja usado como auxiliar em ataques DoS contra outros servidores. O próprio Nessus dá a dica de como corrigir o problema. Pesquisando no Google sobre a opção "allow-recursion" que ele sugere, você chega facilmente à artigos que sugerem a inclusão das quatro linhas abaixo no final do arquivo "/etc/bind/named.conf": options { directory "/var/named"; recursion no; }; Elas fazem com que o servidor DNS responda apenas pelos domínios sobre os quais tem autoridade (ou seja, os domínios dos sites hospedados no servidor), corrigindo o problema. Executando o teste novamente, o Nessus continua detectando que a porta 53 está aberta, mas não acusa mais a falha. Concluindo, os relatórios gerados pelo Nessus podem ser salvos em diversos formatos, incluindo html, latex e PDF, um recurso extremamente interessante na hora de apresentar os resultados e explicar os problemas para outras pessoas. Para isso, selecione o relatório que será exportado no menu da esquerda e use a opção "Report > Export". Para que o suporte à geração de arquivos PDF funcione, você deve ter instalado o pacote "htmldoc", disponível via apt-get: # apt-get install htmldoc

Naturalmente, assim como você pode utilizar o Nessus para detectar e tapar brechas de segurança, outras pessoas podem utilizá-lo para detectar vulnerabilidades na sua rede e lançar ataques. Hoje em dia, a variedade de scripts e ferramentas gráficas prontas que exploram vulnerabilidades é tão grande que você pode encontrar algum exploit fácil de usar para praticamente qualquer vulnerabilidade que você possa encontrar. Basta saber fazer pesquisas no Google. Estes exploits prontos são o grande perigo, pois não requerem nenhum tipo de prática ou habilidade para serem usados. Basta indicar o IP a ser atacado e pronto. Ou seja, aquele garoto com quem você brigou no chat pode muito bem fazer um estrago na sua rede caso algum serviço ativo no seu servidor possua alguma vulnerabilidade grave. É importante resolver o problema antes que alguém o faça por você. Gerar o relatório do Nessus é só o primeiro passo. Se você administra um servidor, é importante acompanhar sites especializados em notícias relacionadas à segurança, como o http://lwn.net e o http://www.linuxsecurity.com. A maioria das distribuições oferecem boletins por e-mail que avisam quando novas atualizações de segurança estão disponíveis. Lembre-se de que, apesar das notícias de brechas e atualizações serem sempre muito freqüentes, você só precisa se preocupar com os servidores que você mantém ativos na sua máquina. Se você mantém apenas o SSH e o FreeNX, por exemplo, não precisa se preocupar com as atualizações do Apache e do Sendmail. Além dos servidores, clientes de e-mail e navegadores (entre outras categorias de programas) também costumam receber atualizações de segurança com uma certa freqüência. Estes programas clientes não podem ser atacados diretamente, ou seja, ninguém poderá explorar um buffer overflow no Firefox (por exemplo) apenas por ele estar instalado; seria necessário que você acessasse alguma página contendo o script malicioso. É aí que entram os ataques de engenharia social, como no caso dos e-mails com textos que tentam levá-lo a clicar em um link ou ao executar um arquivo anexado.» Próximo: Usando o Wireshark

Usando o Wireshark Além do Nessus, outro aliado importante é o Wireshark, o bom e velho Ethereal, que mudou de nome em Junho de 2006. Ele é um poderoso sniffer, que permite capturar o tráfego da rede, fornecendo uma ferramenta poderosa para detectar problemas e entender melhor o funcionamento de cada protocolo. Assim como o Nessus, ele pode ser usado tanto para proteger seu sistema quanto para roubar dados dos vizinhos, uma faca de dois gumes. Devido a isso, ele é às vezes visto como uma "ferramenta hacker", quando na verdade o objetivo do programa é dar a você o controle sobre o que entra e sai da sua máquina e a possibilidade de detectar rapidamente qualquer tipo de trojan, spyware ou acesso não autorizado. Embora ele geralmente não venha instalado por padrão, a maioria das distribuições disponibilizam o pacote "wireshark" (ou "ethereal", de acordo com o nível de atualização). Nas distribuições derivadas do Debian, você pode usar o apt-get, como de praxe. Além das versões Linux, estão disponíveis também versões para Windows 2000, XP e Vista. Você pode baixá-las no http://www.wireshark.org/. No caso do Linux, é possível instalar também a partir do pacote com o código fonte, disponível na página de download (opção preferida por quem faz questão de ter acesso à ultima versão do programa). O pacote é instalado com os conhecidos "./configure", "make" e "make install". Como ele depende de um número relativamente grande de compiladores e de bibliotecas, muitas delas pouco comuns, você quase sempre vai precisar instalar alguns componentes adicionais manualmente. Uma forma simples de instalar todos os componentes necessários para a compilação (dica útil não apenas no caso do Wireshark, mas para a instalação de programas a partir do código fonte de uma forma geral) é usar o "auto-apt", disponível através do apt-get. Para usá-lo, instale o pacote via apt-get e rode o comando "auto-apt update": # apt-get install auto-apt # auto-apt update A partir daí, você pode rodar os comandos de compilação através dele, como em: $ tar -zxvf wireshark-0.99.1pre1 $ cd wireshark-0.99.1pre1 $ auto-apt run./configure $ auto-apt run make $ su <senha> # make install Durante a instalação, o auto-apt usa o apt-get para instalar os componentes necessários, como neste screenshot: Depois de instalado, abra o programa usando o comando "wireshark" (ou "ethereal", de acordo com a versão instalada). O Wireshark é um daqueles programas com tantas funções que você só consegue aprender realmente usando. Para começar, nada melhor do que capturar alguns pacotes. Clique em "Capture > Start":

Aqui estão as opções de captura. A primeira opção importante é a "Capture packets in promiscuous mode", onde você decide se quer capturar apenas os pacotes endereçados à sua própria máquina, ou se quer tentar capturar também pacotes de outras máquinas da rede. Isso é possível pois os hubs burros apenas espelham as transmissões, enviando todos os pacotes para todas as estações. O endereço MAC do destinatário é incluído no início de cada frame enviado através da rede. Normalmente, a placa escuta apenas os pacotes destinados a ela, ignorando os demais, mas, no promiscuous mode ela passa a receber todos os pacotes, independentemente de a qual endereço MAC ele se destine. Os switches e hub-switches são mais discretos, encaminhando o tráfego apenas para o destinatário correto, mas a maior parte dos modelos mais baratos são vulneráveis a ataques de MAC flooding e ARP poisoning, como veremos a seguir. Em seguida, você tem a opção "Update list of packets in real time". Ativando esta opção, os pacotes vão aparecendo na tela conforme são capturados, em tempo real. Caso contrário, você precisa capturar um certo número de pacotes para só depois visualizar todo o bolo. Mais abaixo estão também algumas opções para interromper a captura depois de um certo tempo, ou depois de capturar uma certa quantidade de dados. O problema aqui é que o Wireshark captura todos os dados transmitidos na rede, o que (em uma rede local) pode rapidamente consumir toda a memória RAM disponível, até que você interrompa a captura e salve o dump com os pacotes capturados em um arquivo. Dando o OK, será aberta a tela de captura de pacotes, onde você poderá acompanhar o número de pacotes capturados:

Na tela principal, temos a lista dos pacotes, com várias informações, como o remetente e o destinatário de cada pacote, o protocolo utilizado (TCP, FTP, HHTP, AIM, NetBIOS, etc.) e uma coluna com mais informações, que incluem a porta TCP à qual o pacote foi destinado. Os pacotes que aparecem com um micro da rede local como emissor e um domínio ou IP da Internet como destinatário incluem requisições, upload de arquivos, e-mails enviados, mensagens de ICQ e MSN e, em muitos casos, também senhas de acesso. Os pacotes provenientes de micros da Internet são respostas à estas requisições, incluindo páginas web, e-mails lidos, arquivos baixados e, assim por diante. Através do sniffer, é possível capturar todo tipo de informação que trafegue de forma não encriptada pela rede.

Clicando sobre um dos pacotes e, em seguida, no "Follow TCP Stream", o Ethereal mostrará uma janela com toda a conversão, exibida em modo texto. A maior parte do que você vai ver serão dados binários, incluindo imagens de páginas web e arquivos diversos. Mesmo o html das páginas chega muitas vezes de forma compactada (para economizar banda), novamente em um formato ilegível. Mas, garimpando, você vai encontrar muitas coisas interessantes, como, por exemplo, mensagens (MSN e ICQ) e e-mails, que, por padrão, são transmitidos em texto puro. Usando a opção "Follow TCP Stream", é possível rastrear toda a conversa:» Próximo: ARP poisoning e MAC flooding

ARP poisoning e MAC flooding Como disse anteriormente, o Wireshark pode ser usado também pelo lado negro da força. Se você estiver em uma rede local, com micros ligados através de um hub ou através de uma rede wireless, outro usuário pode usá-lo para capturar todas as suas transmissões. Isto é extremamente perigoso. Qualquer um que tenha a chance de plugar um notebook na rede ou colocá-lo dentro da área de cobertura de sua rede wireless, poderá capturar dados e senhas suficientes para comprometer boa parte do sistema de segurança da sua empresa. Apenas conexões feitas através do SSH e outros programas que utilizam encriptação forte estariam a salvo. Naturalmente, além de alguém de fora, existe a possibilidade de um dos seus próprios funcionários resolver começar a brincar de script kiddie, pregando peças nos outros e causando danos. Como vimos, isso não requer muita prática. Enfim, a menos que você esteja em uma simples rede doméstica, onde exista uma certa confiança mútua, utilizar um hub burro é simplesmente um risco grande demais a correr. Ao utilizar um hub-switch, o risco é um pouco menor, já que, por default, os pacotes são enviados apenas às portas corretas. Entretanto, muitos sistemas são vulneráveis a ataques de ARP poisoning, sem falar dos ataques de MAC flooding, que permitem burlar a proteção. Vamos então a uma explicação mais detalhada de como eles funcionam. No ARP poisoning, o micro do atacante envia pacotes com respostas forjadas para requisições ARP de outros micros da rede. Como vimos no capítulo 4, o ARP é utilizado para descobrir os endereços MAC dos demais micros da rede, já que os switches não entendem endereços IP. Esses pacotes forjados fazem com que os outros micros passem a enviar seus pacotes para o micro do atacante, que é configurado para capturar as transmissões e retransmitir os pacotes originais para os destinatários corretos. A rede continua funcionando normalmente, mas agora o atacante tem chance de logar todo o tráfego, usando o Wireshark ou outro sniffer. Felizmente, o Wireshark também pode ser usado para perceber as anormalidades na rede e chegar até o espertinho. Os ataques de MAC flooding, por sua vez, tem como alvo o switch da rede e trabalham dentro de um princípio bastante simples. O switch possui uma área limitada de memória para armazenar a tabela com os endereços MAC dos micros da rede (que permite que ele encaminhe as transmissões para as portas corretas), de forma que, ao receber um grande número de pacotes com endereços MAC forjados, a tabela é completamente preenchida com os endereços falsos, não deixando espaço para os verdadeiros. Nessa situação, existem apenas duas opções: ou o switch simplesmente trava, derrubando a rede, ou abandona o uso da tabela de endereços e passa a trabalhar em modo failopen, onde os frames são simplesmente retransmitidos para todas as portas, da mesma forma que um hub burro, permitindo que o atacante capture todo o tráfego da rede (até que o switch seja reiniciado). Como switches que travam não são uma boa propaganda, os fabricantes normalmente utilizam a segunda opção, o que faz com que a maioria dos switches baratos e quase todos os hub-switches sejam vulneráveis a esse tipo de ataque. Uma das ferramentas mais usadas é o macof, um pequeno utilitário que faz parte da suíte dsniff (que roda sobre o Linux), cujo código fonte está disponível no: http://www.monkey.org/~dugsong/dsniff/ O dsniff também pode ser encontrado nos repositórios de muitas distribuições, o que facilita a instalação. Nas distribuições derivadas do Debian, você pode instalá-lo via apt-get: # apt-get install dsniff Uma vez que o dsniff foi instalado, usar o macof é bastante simples: basta especificar a interface de saída, usando a opção "-i", e especificar o número de pacotes forjados a serem enviados, usando a opção "-n", como em: # macof -i eth0 -n 100000 A maioria dos hub-switchs são capazes de armazenar entre 1000 e 8000 endereços MAC na memória, de forma que bombardeando o hub-switch com 100000 endereços MAC diferentes (o que demora cerca de um minuto e meio em uma rede de 100 megabits) você consegue chavear qualquer aparelho vulnerável para modo failopen. A partir daí, basta lançar o Wireshark e passar a capturar todo o tráfego da rede. Note que, em alguns casos, rodar o comando vai fazer o switch travar, derrubando toda a rede até que você o reinicie manualmente, o que nos modelos mais simples é feito desconectando e reconectando o cabo de energia. O dsniff inclui também um utilitário para ARP poisoning, o arpspoof. Ao usá-lo, você deve especificar a interface de rede local e também o endereço IP do host de destino dos pacotes que você deseja capturar. Especificando o endereço do gateway da rede (o uso mais comum), você pode capturar todos os pacotes destinados à Internet. Para usá-lo, o primeiro passo é ativar o encaminhamento de pacotes na configuração do Kernel, o que é feito usando o comando abaixo: # echo 1 > /proc/sys/net/ipv4/ip_forward A partir daí, você pode ativar o arpspoof, especificando o endereço de destino dos pacotes que deseja capturar, como em: # arpspoof -i eth0 192.168.1.1 Com isso, o arpspoof passará a enviar pacotes de broadcast para toda a rede, avisando todos os micros que o novo endereço MAC do "192.168.1.1" é o endereço da sua máquina. Isso fará com que ela passe a receber o tráfego destinado a ele, permitindo que você o capture usando o Wireshark.

Naturalmente, o tráfego não poderia simplesmente ser desviado para a sua máquina, caso contrário, os pacotes deixariam de ir até o gateway da rede e os micros não conseguiriam mais acessar a Internet. Para evitar isso, o arpspoof reencaminha automaticamente todos os pacotes recebidos ao endereço correto (justamente por isso precisamos ativar o ip_forward no Kernel), fazendo com que, apesar do "desvio", o tráfego continue fluindo, como se nada estivesse acontecendo: ARP poisoning Além de permitir escutar o tráfego, o ARP poisoning pode ser usado para alterar os dados transmitidos e também para impersonar outros hosts, de forma a obter senhas de acesso e outros dados. Imagine, por exemplo, que a estação A (cujos pacotes estão sendo capturados e retransmitidos pela estação B) deseja acessar o servidor A. Em vez de encaminhar a transmissão, como faria normalmente, a estação B responde como se fosse o servidor, pedindo o login e senha de acesso. O usuário na estação A, sem desconfiar do ataque, faz login e recebe de volta uma mensagem de "servidor em manutenção, espere 30 minutos e tente novamente" ou algo similar. De posse da senha, o atacante pode então se logar no servidor verdadeiro, usando a senha roubada. Muitos protocolos prevêem este tipo de ataque e incluem proteções contra ele. No SSH, por exemplo, o cliente verifica a identidade do servidor a cada conexão e aborta a conexão (exibindo uma mensagem de erro bastante chamativa) antes de pedir login e senha caso a identificação seja alterada, como veremos em mais detalhes no capítulo 6. É possível detectar ataques de ARP poisoning usando o arpwatch (também disponível via apt-get). Ele monitora os endereços ARP usados pelas estações e gera um log com as mudanças (com a opção de enviar relatórios por e-mail), permitindo que você detecte anomalias. Em outras situações, pode ser que você mesmo, como administrador da rede, precise policiar o que os usuários estão fazendo durante o expediente na conexão da empresa. Nesse caso, sugiro que você mantenha o servidor SSH ativo nas estações de trabalho Linux e um servidor VNC (ou o recurso de administração remota) nas máquinas Windows. Assim, você pode se logar em cada uma das máquinas, sempre que necessário e rodar o Wireshark para acompanhar o tráfego de dados de cada uma, sem que o usuário tome conhecimento. Outra possibilidade seria rodar o Wireshark na máquina que compartilha a conexão, assim você poderá observar os pacotes vindos de todas as máquinas da rede. Alguns modelos de switches gerenciáveis podem ser programados para direcionar todo o tráfego da rede para uma determinada porta, onde você poderia plugar um notebook para ter acesso a todo o tráfego. No caso das redes wireless, a situação é um pouco mais complicada, pois o meio de transmissão é sempre compartilhado. Os pacotes trafegam pelo ar, por isso não é possível impedir que sejam capturados. Apesar disso, você pode dificultar bastante as coisas ativando o uso do WPA (se possível já utilizando o WPA2) e reduzindo a potência do transmissor do ponto de acesso, de forma a cobrir apenas a área necessária. Lembre-se de que apenas informações não encriptadas podem ser capturadas. Utilizando protocolos seguros, como o SSH, as informações capturadas não terão utilidade alguma, pois estarão encriptadas. Monitorando sua conexão durante algum tempo, você vai logo perceber vários tipos de abusos, como sites que enviam requisições para várias portas da sua máquina ao serem acessados, banners de propaganda que enviam informações sobre seus hábitos de navegação para seus sites de origem, gente escaneando suas portas usando o Nessus ou outros aplicativos similares, spywares que ficam continuamente baixando banners de propaganda ou enviando informações e assim por diante. Essas informações são úteis não apenas para decidir quais sites e serviços evitar, mas também para ajudar na configuração do seu firewall. Pode ser que no início você não entenda muito bem os dados fornecidos pelo Wireshark, mas, depois de alguns dias observando, você vai começar a entender muito melhor como as conexões TCP funcionam.» Próximo: Segurança em redes Wireless

Segurança em redes Wireless Um dos grandes problemas em uma redes wireless é que os sinais são transmitidos pelo ar. Os pontos de acesso e placas utilizam por padrão antenas baratas, que proporcionam um alcance reduzido. Apesar disso, o sinal da sua rede pode ser capturado de muito mais longe por alguém com uma antena de alto ganho. Não existe como impedir que o sinal se propague livremente pelas redondezas (a menos que você pretenda ir morar em um bunker, com paredes reforçadas com placas de aço), de forma que a única forma eficaz de proteção é encriptar toda a transmissão, fazendo com que as informações capturadas não tenham serventia. Como a questão da segurança em redes wireless é muito divulgada, quase todas as redes já utilizam algum tipo de proteção, seja através do uso do WEP ou do WPA, seja através de uma lista de acesso dos endereços MAC autorizados a se conectarem à rede. Este tópico se destina a mostrar como é fácil burlar a maioria destas proteções e quebrar a encriptação do WEP (inclusive do WEP de 128 bits), além de descobrir passphrases WPA fáceis, usando ferramentas simples. É melhor que você conheça os ataques mais usados e veja você mesmo como é possível derrubar cada uma das proteções que utilizamos em uma rede típica, do que ficar com um falso senso de segurança, achando que o WEP de 128 bits é inquebrável, que não é possível detectar um ponto de acesso com o SSID broadcast desativado ou que não é possível burlar a restrição de acesso baseada em endereços MAC usada em muitas redes.» Próximo: Usando o Kismet Usando o Kismet O Kismet é uma ferramenta poderosa, que pode ser usada tanto para checar a segurança de sua própria rede wireless quanto para checar a presença de outras redes próximas e, assim, descobrir os canais que estão mais congestionados (de forma a configurar sua rede para usar um que esteja livre) ou, até mesmo, invadir redes. O Kismet em si não impõe restrições ao que você pode fazer. Assim como qualquer outra ferramenta, ele pode ser usado de forma produtiva ou destrutiva, de acordo com a índole de quem usa. A página do projeto é a: http://www.kismetwireless.net/. A principal característica do Kismet é que ele é uma ferramenta passiva. Ao ser ativado, ele coloca a placa wireless em modo de monitoramento (rfmon) e passa a escutar todos os sinais que cheguem até sua antena. Mesmo pontos de acesso configurados para não divulgar o SSID ou com a encriptação ativa são detectados. Como ele não transmite pacotes, apenas escuta as transmissões, todo o processo é feito sem prejudicar as redes vizinhas, de forma praticamente indetectável. A principal limitação é que, enquanto está em modo de monitoramento, a placa não pode ser usada para outros fins. Para conectar-se a uma rede, você precisa primeiro parar a varredura. Essa questão da detecção dos pontos de acesso com o SSID desativado é interessante. Não é possível detectá-los diretamente, pois eles não respondem a pacotes de broadcast (por isso eles não são detectados por programas como o Netstumbler), mas o Kismet é capaz de detectá-los quando um cliente qualquer se associa a eles, pois o SSID da rede é transmitido de forma não encriptada durante o processo de associação. A partir daí, o Kismet passa a capturar todos os pacotes transmitidos. Caso a rede esteja encriptada, é possível descobrir a chave de encriptação usando o aircrack (que veremos a seguir), permitindo tanto escutar as conexões, quanto ingressar na rede. Como o Kismet é uma das ferramentas mais usadas pelos crackers, é sempre interessante usá-lo para verificar a segurança da sua própria rede. Tente agir como algum vizinho obstinado agiria, capturando os pacotes ao longo de alguns dias. Verifique a distância de onde consegue pegar o sinal de sua rede e quais informações consegue descobrir. Depois, procure meios de reforçar a segurança da rede e anular o ataque. Por ser uma ferramenta popular, ele está disponível na maioria as distribuições. Algumas, como o Knoppix (a partir da versão 3.7), já o trazem instalado por padrão. Nas distribuições derivadas do Debian, você pode instalá-lo via apt-get: # apt-get install kismet Antes de poder usá-lo, é preciso configurar o arquivo "/etc/kismet/kismet.conf", especificando a placa wireless e o driver usado por ela, substituindo a linha: source=none,none,addme Por algo como: source=madwifi_ag,ath0,atheros... onde o "madwifi_ag" é o driver usado pela placa (você pode verificar o chipset da placa instada usando o comando lspci). Na documentação do Kismet, o driver é chamado de "capture source", pois é a partir dele que o Kismet obtém os pacotes recebidos. O "ath0" é a interface (que você pode conferir através do comando ifconfig) e o "atheros" é um apelido para a placa (que você escolhe), com o qual ela será identificada dentro da tela de varredura.

A configuração manual é necessária, pois o Kismet precisa de acesso de baixo nível ao hardware. Um problema é que a necessidade de colocar a placa em modo monitor faz com que a compatibilidade esteja longe de ser perfeita. Diversas placas não funcionam em conjunto com o Kismet, com destaque para as placas que não possuem drivers nativos e precisam ser configuradas através do Ndiswrapper. Se você pretende usar o Kismet, o ideal é pesquisar antes de comprar a placa. Naturalmente, para que possa ser usada no Kismet, a placa precisa ter sido detectada pelo sistema, o que inclui o carregamento dos módulos de Kernel necessários. Por isso, prefira sempre usar uma distribuição recente, que traga um conjunto atualizado de drivers. Vamos então a uma pequena lista dos drivers e placas suportados no Kismet: acx100: O chipset ACX100 foi utilizado em placas de diversos fabricantes, entre eles a D-Link, sendo depois substituído pelo ACX111. O ACX100 original é bem suportado pelo Kismet, o problema é que ele trabalha a 11 megabits, de forma que não é possível testar redes 802.11g. admtek: O ADM8211 é um chipset de baixo custo, encontrado em muitas placas baratas. Ele é suportado no Kismet, mas possui alguns problemas. O principal é que ele envia pacotes de broadcast quando em modo monitor, fazendo com que sua varredura seja detectável em toda a área de alcance do sinal. Qualquer administrador esperto vai perceber que você está capturando pacotes. bcm43xx: Tradicionalmente, as placas com chipset Broadcom podiam ser usadas apenas em conjunto com o Ndiswrapper. Mais recentemente, surgiu um driver nativo (http://bcm43xx.berlios.de) que passou a ser suportado no Kismet. O driver vem incluído por padrão a partir do Kernel 2.6.17, mas a compatibilidade no Kismet ainda está em estágio experimental. ipw2100, ipw2200, ipw2915 e ipw3945: Estes são os drivers para as placas com chipset Intel, encontradas nos notebooks Intel Centrino. O Kismet suporta toda a turma, mas você precisa indicar o driver correto para a sua placa entre os quatro. O ipw2100 é o chipset mais antigo (que opera a 11 megabits), o ipw2200 é a segunda versão (que suporta tanto o 802.11b quanto o 802.11g), o ipw2915 é quase idêntico ao ipw2200, mas suporta também o 802.11a, enquanto o ipw3945 é uma versão atualizada, que é encontrada nos notebooks com processadores Core 2 Duo. madwifi_a, madwifi_b, madwifi_g, madwifi_ab e madwifi_ag: Estes drivers representam diferentes modos de operação suportados pelo driver madwifi (http://sourceforge.net/projects/madwifi/), usado nas placas com chipset Atheros. Eles suportam tanto o driver madwifi antigo, quanto o "madwifi-ng", que podem ser usados para ativar a placa. Usando os drivers madwifi_a, madwifi_b ou madwifi_g, a placa captura pacotes apenas dentro do padrão selecionado (o madwifi_a captura apenas pacotes de redes 802.11a, por exemplo). O madwifi_g é o mais usado, pois captura simultaneamente os pacotes de redes 802.11b e 802.11g. O madwifi_ag, por sua vez, chaveia entre os modos A, B e G, permitindo capturar pacotes de redes que operam em qualquer um dos três padrões, apesar de em um ritmo mais lento, devido ao chaveamento. rt2400 e rt2500: Estes dois drivers dão suporte às placas com chipset Ralink, outro exemplo de chipset de baixo custo, bastante comum. Apesar de não serem exatamente "placas de alta qualidade", as Ralink possuem um bom suporte no Linux, graças em parte aos esforços do próprio fabricante, que abriu as especificações e fornece placas de teste para os desenvolvedores. Isto contrasta com a atitude hostil de alguns fabricantes, como a Broadcom. rt8180: Este é o driver que oferece suporte às placas Realtek 8180. Muita gente usa estas placas em conjunto com o Ndiswrapper, mas elas possuem um driver nativo, disponível no http://rtl8180-sa2400.sourceforge.net/. Naturalmente, o Kismet só funciona caso seja usado o driver nativo. prism54g: Este driver dá suporte às placas com o chipset Prism54, encontradas tanto em versão PCI ou PCMCIA, quanto em versão USB. Estas placas são caras e por isso relativamente incomuns no Brasil, mas são muito procuradas entre os grupos que fazem wardriving, pois as placas PCMCIA são geralmente de boa qualidade e quase sempre possuem conectores para antenas externas, um pré-requisito para usar uma antena de alto ganho e assim conseguir detectar redes distantes. orinoco: Os drivers para as placas com chipset Orinoco (como as antigas Orinoco Gold e Orinoco Silver) precisam de um conjunto de patches para funcionar em conjunto com o Kismet, por isso acabam não sendo placas recomendáveis. Você pode ver detalhes sobre a instalação dos patches no http://www.kismetwireless.net/howto-26_orinoco_rfmon.txt. Depois de definir o driver, a interface e o nome no "/etc/kismet/kismet.conf", você pode abrir o Kismet chamando-o como root: # kismet

Inicialmente, o Kismet mostra as redes sem uma ordem definida, atualizando a lista conforme vai descobrindo novas informações. Pressione a tecla "s" para abrir o menu de organização, onde você pode definir a forma como a lista é organizada (de acordo com a qualidade do canal, volume de dados capturados, nome, etc). Uma opção comum (dentro do menu sort) é a "c", que organiza a lista baseando-se no canal usado por cada rede. Por padrão, o Kismet chaveia entre todos os canais, tentando detectar todas as redes disponíveis. Neste modo, ele captura apenas uma pequena parte do tráfego de cada rede, assim como você só assiste parte de cada programa ao ficar zapiando entre vários canais da TV. Selecione a rede que quer testar usando as setas e pressione "shift + L" (L maiúsculo) para travá-lo no canal da rede especificada. A partir daí, ele passa a concentrar a atenção em uma única rede, capturando todos os pacotes transmitidos: