apostila rede

  • Upload
    cauehq

  • View
    255

  • Download
    0

Embed Size (px)

Citation preview

Portas TCP e UDP Ao conectar na Internet, seu micro recebe um nico endereo IP vlido. Apesar disso, mantemos vrios programas ou servios 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 trs downloads via bittorrent e vrios outros programas que enviam e recebem informaes, enquanto um nico servidor pode manter ativos servidores web, FTP, SSH, DNS, LDAP e muitos outros servios, atendendo a centenas de clientes simultaneamente. Se temos apenas um endereo IP, como todos estes servios podem funcionar ao mesmo tempo sem entrar em conflito? Imagine que as duas partes do endereo IP (a parte referente rede e a parte referente ao host) correspondem ao CEP da rua e ao nmero do prdio. Um carteiro s precisa destas duas informaes para entregar uma carta. Mas, dentro do prdio moram vrias pessoas. O CEP e nmero do prdio s vo fazer a carta chegar at a portaria. Da em diante preciso saber o nmero 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 servio diferente, de forma que em teoria poderamos ter at 65536 servios diferentes ativos simultaneamente em um mesmo servidor, com um nico endereo IP vlido. O endereo IP contm o CEP da rua e o nmero do prdio, enquanto a porta TCP determina a que sala dentro do prdio a carta se destina.

As portas TCP mais usadas (tambm chamadas de "well known ports") so as portas de 0 a 1023, que so reservadas para servios 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 padro para

servidores FTP. A porta "0" reservada, por isso no entra realmente na lista. Alm do endereo IP, qualquer pacote que circula na Internet precisa conter tambm a porta TCP a que se destina. isso que faz com que um pacote chegue at o servidor web e no ao servidor FTP instalado na mesma mquina. Alm das 65.536 portas TCP, temos o mesmo nmero de portas UDP, seu protocolo irmo. 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 endereamento. No TCP, os dados so transmitidos atravs de conexes. Tudo comea com o cliente enviando o pacote "SYN", que solicita a abertura da conexo. Caso a porta esteja fechada, o servidor responde com um pacote "RST" e a conversa pra por a. Caso, por outro lado, exista algum servidor disponvel na porta solicitada (um servidor http, por exemplo), ento ele responde com outro pacote "SYN", seguido de um um pacote "ACK", avisando que a porta est disponvel e prosseguindo com a abertura da conexo. O cliente responde ento com outro pacote "ACK", o que abre oficialmente a conexo. Comea ento a transferncia dos dados, que so organizados em pacotes. O protocolo TCP/IP permite o uso de pacotes com at 64 kbytes, mas normalmente so usados pacotes com at 1500 bytes, que o tamanho mximo de um frame Ethernet. Pacotes maiores podem ser transmitidos normalmente atravs da rede, mas precisam ser fragmentados, ou seja, divididos em pedaos menores, com at 1500 bytes. Para cada pacote recebido, a estao envia um pacote de confirmao e, caso algum pacote se perca, ela solicita a retransmisso. Cada pacote inclui 4 bytes adicionais com um cdigo de CRC, que permite verificar a integridade do pacote. atravs dele que o cliente sabe quais pacotes chegaram danificados. Depois que todos os dados so transmitidos, o servidor envia um pacote "FYN" que avisa que no tem mais nada a transmitir. O cliente responde com outro pacote "FYN" e a conexo oficialmente encerrada. Graas a tudo isso, a confiabilidade muito boa. Quando a conexo est ruim, normal ocorrerem mais perdas de pacotes e retransmisses, mas as corrupes so geralmente causadas pelo prprio programa que est baixando o arquivo e no pelo protocolo. O problema que toda esta formalidade torna as transferncias um pouco mais lentas. Imagine que, para transmitir uma mensagem de texto com 300 bytes, via TCP, seria necessrio transmitir um total de 9 pacotes! Veja um exemplo de como a transmisso funcionaria:

Estao: SYN (solicita a abertura da conexo) Servidor: SYN (confirma o recebimento e avisa que a porta est disponvel) Servidor: ACK (inicia a conexo) Estao: ACK (confirma) Estao: DATA ( enviado o pacote com a mensagem de texto) Servidor: OK (a confirmao, depois de verificar a integridade do pacote) Estao: FYN (solicita o fechamento da conexo) Servidor: FYN (confirma) Estao: FYN (confirma que recebeu a confirmao) No UDP, as coisas so mais simples. Nele no existe abertura de conexo, os pacotes so transmitidos diretamente. A estao solicita alguma informao e o servidor envia a resposta. Assim como no TCP, so 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 so raramente usados devido ao limite de tamanho dos frames Ethernet), contendo os bits adicionais de verificao. A estao pode verificar a integridade dos pacotes, mas no tem como perceber se algum pacote se perdeu, ou solicitar a retransmisso de um pacote corrompido. Se um pacote se perde, fica por isso mesmo. Um exemplo tpico de uso do UDP o streaming de vdeo e audio via web, uma situao onde o que vale a velocidade e no a confiabilidade. Voc no gostaria nada se o navegador parasse a exibio do vdeo para solicitar uma retransmisso cada vez que um pacote se perdesse ou chegasse corrompido. prefervel que ele pule o quadro e continue exibindo o restante do vdeo. Outra aplicao comum so os servidores DNS. Sempre que voc acessa um site, a solicitao do endereo IP referente ao domnio do site e a resposta do servidor so enviadas via UDP, para ganhar tempo. Na prtica, bem raro encontrar algum programa que utilize unicamente pacotes UDP para qualquer coisa alm do envio de mensagens curtas. Mesmo no caso do streaming de vdeo, quase sempre usada uma porta TCP para estabelecer a conexo e enviar informaes de controle, deixando o UDP apenas para o envio dos dados. As portas mais usadas so: 21 TCP: FTP O FTP um dos protocolos de transferncia de arquivos mais antigos e ainda assim um dos mais usados. O ponto fraco do FTP a questo da segurana: todas as informaes, incluindo as senhas trafegam em texto puro e podem ser capturadas por qualquer um que tenha acesso transmisso. O FTP possui dois modos de operao: passivo e ativo. No modo ativo, o cliente contata o servidor usando uma porta vaga aleatria, como, por exemplo, a porta 1026, endereando 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 conexo, ento o servidor enviar os dados na porta 1027. O problema que o modo ativo no funciona quando o cliente acessa atravs de uma

conexo compartilhada. Ao tentar responder, o servidor cairia na porta 1027 do gateway da rede, sem conseguir chegar ao cliente. No modo passivo, o cliente tambm abre a conexo contatando a porta 21 do servidor; entretanto, ao invs de iniciar a conexo imediatamente, o servidor responde avisando que o cliente pode contat-lo em uma segunda porta, escolhida aleatoriamente (a 2026, por exemplo). O cliente inicia, ento, uma nova conexo na porta especificada e o servidor responde enviando os dados (a porta fica reservada ao cliente durante o tempo que durar a transferncia). Em teoria, isto seria um limite ao nmero de clientes que poderiam se conectar simultaneamente, mas, na prtica, seriam necessrias mais de 64.000 conexes simultneas ao mesmo servidor FTP para esgotar as portas disponveis. Praticamente todos os clientes de FTP atuais utilizam o modo passivo por padro, mas isso pode ser modificado dentro da configurao. Alguns poucos servidores de FTP no podem ser acessados em modo passivo, pois para isso necessrio que o administrador faa uma configurao 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 compensao o cliente precisa acessar a web diretamente e ter um conjunto de portas altas abertas no firewall. No modo passivo, os papis se invertem: o cliente no precisa ter portas abertas, mas o servidor sim.

22 TCP: SSH O SSH o canivete suo da administrao remota em servidores Linux. Inicialmente o SSH permitia executar apenas comandos de texto remotamente; depois passou a permitir executar tambm aplicativos grficos e, em seguida, ganhou tambm um mdulo para transferncia de arquivos, o SFTP. A vantagem do SSH sobre o Telnet e o FTP que tudo feito atravs de um canal encriptado, com uma excelente segurana. O SSH pode ser usado tambm para encapsular outros protocolos, criando um tnel seguro para a passagem dos dados. Criando tneis, possvel acessar servidores de FTP, proxy, e-mail, rsync, etc. de forma segura. Graas a isso, o SSH usado como meio de transporte por diversos programas, como o NX Server. O sistema de encriptao utilizado pelo SSH, assim como os tneis encriptados, trabalham no nvel 6 do modelo OSI, acima da camada de sesso, do protocolo TCP/IP, e de toda a parte fsica da rede. Ao contrrio do FTP, o SSH no precisa de portas adicionais: tudo feito atravs da porta 22, que a nica que precisa ficar aberta no firewall do servidor. O cliente no precisa ter porta alguma aberta e pode acessar atravs de uma conexo compartilhada via NAT. 23 TCP: Telnet O Telnet provavelmente o protocolo de acesso remoto mais antigo. A primeira demonstrao foi feita em 1969, com o acesso de um servidor Unix remoto (ainda na fase inicial de implantao da Arpanet), muito antes de ser inventado o padro Ethernet e antes mesmo da primeira verso do TCP/IP. O Telnet foi muito usado durante as dcadas de 1980 e 1990, mas depois caiu em desuso, sendo rapidamente substitudo pelo SSH. Alm de no 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 transmisso (usando, por exemplo, o Wireshark, que veremos no captulo 5) e assim "invadir" o servidor, usando a senha roubada. Uma curiosidade, que o sistema usado pelo Telnet para a transmisso 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 conexo HTTP vlida, como faria um navegador. 25 TCP: SMTP O SMTP o protocolo padro 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 segurana, ele vem perdendo espao para o Qmail e o Postfix.

53 UDP: DNS Os servidores DNS so contatados pelos clientes atravs da porta 53, UDP. Eles so responsveis por converter nomes de domnios como "guiadohardware.net" nos endereos IP dos servidores. Existem no mundo 13 servidores DNS principais, chamados "root servers". Cada um deles armazena uma cpia completa de toda a base de endereos. Estes servidores esto instalados em pases 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 segurana seja descoberta e seja usada em um cyberataque, pelo menos um dos servidores continue no ar, mantendo a Internet operacional. Para acessar qualquer endereo, preciso primeiro consultar um servidor DNS e obter o endereo IP real do servidor. Em geral, uma consulta a um dos root servers demora alguns segundos, por isso os provedores de acesso e os responsveis 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 no possuem HD nem CDROM e acessam todos os arquivos de que precisam a partir do servidor. Entretanto, os servidores DHCP atuais incorporam as funes que eram antigamente desempenhadas pelos servidores Bootps, e Bootpc, o que acabou tornando-os obsoletos. Nas verses atuais do LTSP, por exemplo, os clientes do boot atravs da rede utilizando uma combinao de servidores DHCP, TFTP, NFS e XDMCP. 69 UDP: TFTP O TFTP uma verso simplificada do FTP, que utiliza portas UDP para a transferncia dos dados e no inclui suporte correo de erros. Ele pode ser usado para transferncia de arquivos em geral, mas mais freqentemente 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 includo diretamente no BIOS da placa de rede, permitindo que o sistema operacional seja carregado diretamente atravs 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 padro dos servidores web, possvel 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 emails 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 mquina, necessrio 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 atravs da porta 110 e baixam as mensagens utilizando um conjunto de comandos de texto, derivados do Telnet. Originalmente, o POP3 um protocolo to inseguro quanto o Telnet, mas os servidores atuais suportam encriptao via SSL (o mesmo sistema de encriptao usado para acessar pginas seguras, via HTTPs), o que garante um bom nvel de segurana. 123 UDP: NTP O NTP (Network Time Protocol) o protocolo usado para sincronizar o relgio em relao a outras mquinas da rede ou da Internet. Manter os relgios das mquinas sincronizados uma necessidade em grandes redes, com grande uso de arquivos compartilhados, j que fica difcil acompanhar os horrios de atualizao dos arquivos se cada mquina utiliza um horrio diferente. O protocolo NTP leva em conta o ping entre as mquinas e outros fatores para fazer as atualizaes de forma extremamente precisa, de forma que diferenas de sincronismo entre as mquinas so sempre da ordem de poucos milsimos de segundo. Existem diversos servidores NTP pblicos, disponveis via web. Para facilitar as coisas, existe o servidor "pool.ntp.org", que serve como um load balancer, encaminhando as requisies para um servidor geograficamente prximo de voc. Ao invs de ficar caando servidores pblicos no Google, voc pode sincronizar diretamente a partir dele. No Windows XP, por exemplo, a opo de usar o NTP est disponvel no "Painel de Controle > Data e hora > Horrio da Internet":

137 UDP, 138 UDP e 139 TCP: NetBIOS Estas trs portas so usadas pelo protocolo de compartilhamento de arquivos e impressoras em redes Microsoft. Cada uma das portas tem uma funo especfica: a porta 137 UDP usada para a navegao, incluindo a visualizao dos compartilhamentos disponveis, a porta 138 UDP para a resoluo dos

nomes da rede e a porta 139 TCP usada para a transferncia de dados. necessrio que as trs estejam abertas no firewall para que a visualizao 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 disponvel para manter compatibilidade com as verses anteriores do sistema. 143 TCP: IMAP O IMAP mais um protocolo para recebimento de emails, assim como o POP3. A diferena entre os dois que, ao receber os emails via POP3, eles so apagados do servidor assim que baixados, liberando o espao 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 nmero de requisies maior, e os usurios podem conservar mensagens antigas por muito tempo), ele vem "roubando a cena" com a popularizao dos webmails, que so justamente clientes IMAP, que rodam no prprio servidor (atravs do Apache ou outro servidor web), e so acessados no cliente usando o navegador. 177 TCP: XDMCP O XDMCP um protocolo de acesso remoto, suportado nativamente pelo X (o ambiente grfico 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 tambm usado no dia-a-dia, para simplesmente rodar programas instalados em outra mquina da rede. A vantagem do XDMCP que ele um protocolo bastante simples e rpido, que oferece um bom desempenho via rede local e consome poucos recursos, tanto no servidor, quanto no cliente. Ele tambm um recurso nativo do X, de forma que voc no precisa instalar nenhum software adicional, basta ativar o recurso na configurao do KDM ou GDM (os gerenciadores de login usados nas distribuies Linux atuais). A desvantagem que o XDMCP um protocolo "da velha guarda", que no inclui suporte a encriptao, e utiliza um conjunto de portas altas para enviar dados aos clientes. Alm da porta 177, onde o servidor recebe conexes, necessrio 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 autenticao e definir permisses de acesso para os diferentes usurios da rede. Existem vrios padres de LDAP, um dos mais usados o OpenLDAP, suportado pela maioria das distribuies 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 comrcio eletrnico ou que armazene informaes confidenciais.

445 TCP: CIFS - O protocolo CIFS uma verso atualizada do antigo protocolo NetBIOS, usado para a navegao e acesso a compartilhamentos em redes Windows. O protocolo CIFS utilizado por padro pelos clientes rodando o Windows 2000, XP e Vista, alm de ser usado pelas verses recentes do Samba. Ao contrrio do NetBIOS, que utiliza um conjunto de 3 portas, o CIFS utiliza apenas a porta 445 TCP. Naturalmente, esta uma lista rpida, contendo apenas as portas mais usadas. Voc pode ver uma lista longa e completa, com todos os servios conhecidos e as portas utilizadas por cada um no: http://www.iana.org/assignments/port-numbers. ICMP Alm do TCP e do UDP, temos o ICMP (Internet Control Message Protocol), um protocolo de controle, que opera no nvel 3 do modelo OSI (junto com o protocolo IP). Ao contrrio do TCP e do UDP, o ICMP no usado para a transmisso de dados, mas nem por isso deixa de desempenhar diversas funes importantes. A mais trivial delas o ping, que usamos para verificar se uma determinada mquina 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 nmero de repeties, 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 bsicos, o ping tambm est disponvel no Windows, atravs do prompt do MS-DOS. Normalmente, os pings para qualquer servidor na Internet (com exceo dos servidores do seu provedor de acesso, ou outros servidores muito prximos), 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 pginas seja mais demorado (pois o ping determina o tempo necessrio para cada requisio do navegador chegar at o servidor) e atrapalha principalmente quem joga online, ou usa programas de administrao 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 configurao do sistema. No Linux, voc pode usar o comando abaixo: # echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all possvel tambm desativar a resposta a pings na configurao do firewall, de forma que, o fato de um micro da Internet, ou mesmo dentro da sua rede local no responder a pings no significa muita coisa. Se ele responder, significa que est online; se no responder, significa que pode estar online tambm, porm configurado para no responder aos seus chamados. Outra funo importante do ICMP o controle do TTL (time to live) de cada pacote TCP ou UDP. Os pacotes tem vida curta e sua nica funo carregar os dados at o destino. Eles so transmitidos de um roteador a outro e, uma vez que chegam ao destino, so desmontados e destrudos. Mas, o que acontece em casos onde no existe uma rota possvel at o destino, seja porque a mquina est desligada, por erro no endereamento, ou por um problema em algum dos links? Existem duas possibilidades. A primeira um roteador prximo perceber que a mquina 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 no acontea, 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 desnecessria. Graas a ele, os pacotes tm "vida til". O TTL default varia de acordo com o sistema operacional usado. No Windows XP o default so 128 hops, enquanto nas verses atuais do Linux os pacotes so criados com um TTL de 64 hops. Cada vez que o pacote passa por um roteador, o nmero reduzido em um. Se o nmero chegar a zero, o roteador destri o pacote e avisa o emissor enviando um pacote ICMP "Time Exceeded". No Linux, o TTL padro configurvel atravs do arquivo "/proc/sys/net/ipv4/ip_default_ttl". Voc pode brincar com isso alterando o valor padro por um nmero mais baixo, como em: # echo 8 > /proc/sys/net/ipv4/ip_default_ttl Com um valor to baixo, os pacotes gerados pela sua mquina tero vida curta, e no conseguiro atingir hosts muito distantes. Voc vai continuar conseguindo acessar a pgina do seu provedor, por exemplo, mas no conseguir acessar servidores geograficamente distantes. Para retornar o valor padro, use o comando: # echo 64 > /proc/sys/net/ipv4/ip_default_ttl

Os pacotes ICMP "Time Exceeded" so usados pelo comando "traceroute" (no Linux) para criar um mapa do caminho percorrido pelos pacotes at chegarem a um determinado endereo. Ele comea 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 vrios 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-0intl02.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-pos4-0.fortworthda1.savvis.net (208.172.131.86) 189.068 ms dcr1-so-6-00.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-120.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 comea passando pelos links da Net (Virtua), passa em seguida por vrios roteadores da Embratel, passando por So Paulo e Miami (j nos EUA), para ento passar por roteadores da Alter.net e Savvis, at chegar ao destino final. O Windows inclui o comando "tracert", que atua de forma similar, porm enviando um ping para cada host. O resultado acaba sendo similar, com exceo de casos em que o servidor configurado para no responder a pings. Existem ainda vrios exemplos de programas grficos, como o Neotrace (para Windows), que voc encontra em qualquer site de downloads e o Xtraceroute (para Linux). Eles exibem as mesmas informaes, porm de uma forma bem mais agradvel. Este um exemplo do Neotrace mostrando uma conexo especialmente ruim com um servidor hospedado no exterior, a partir de um link ADSL da Brasil Telecom. Veja que o problema comea em um roteador congestionado, da prpria operadora (com tempo de resposta de mais de 1200 ms!) e continua em uma seqncia de links lentos da wcg.net:

Na Internet, os roteadores so 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 comunicao feita atravs de pacotes ICMP "Redirect", que avisam o emissor que uma rota mais rpida est disponvel e os pacotes seguintes devem ser encaminhados atravs dela. Naturalmente, este sistema no infalvel. Corrupes 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 inacessveis. Surge ento o clssico problema de um determinado endereo ou faixa de endereos ficar inacessvel para usurios de um determinado provedor, muito embora continue disponvel para o resto da rede. Em vez de procurar algum amigo no MSN e perguntar "est funcionando da?", voc pode lanar um traceroute a partir de um servidor localizado em outro ponto da rede e assim checar se o endereo realmente est indisponvel, ou se o problema relacionado sua conexo. Existem diversos servidores na web que oferecem este servio como cortesia. Estes "servidores de traceroute" so chamados de "looking glasses" e so bastante numerosos. Alguns exemplos so: 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 (Itlia) http://www.kawaijibika.gr.jp/trace.shtml (Japo) Atravs deles voc pode checar a conectividade do endereo com hosts em diversas partes do mundo e o tempo de resposta para cada um. Voc encontra uma lista com vrios outros servidores pblicos no http://traceroute.org/. Diagnosticar o problema de conectividade permite indicar o culpado, mas no resolve nosso problema imediato. O que fazer se voc precisa acessar o servidor do seu site para fazer uma atualizao importante e ele est inacessvel a partir da sua conexo atual? A soluo usar uma terceira mquina, que tenha conectividade com as duas, para intermediar a conexo. Se voc administra dois servidores diferentes, por exemplo, poderia usar o segundo servidor para conseguir se conectar ao primeiro. Voc poderia tambm usar a mquina de algum amigo (que acesse atravs de outra operadora) que confie em voc e lhe d um login de acesso. Voc pode ento se logar na mquina dele (via SSH, VNC ou outro protocolo de acesso remoto) e fazer o acesso a partir dela. possvel tambm usar o SSH para criar um tnel, fazendo com que os pacotes destinados a uma determinada porta do servidor inacessvel sejam encaminhados at ele atravs do segundo servidor. O comando um pouco complicado, mas um exerccio interessante. Imagine que quero acessar o servidor "gdhn.com.br", que est inacessvel a partir da minha conexo atual, usando o servidor guiadohardware.net como intermedirio. Estou logado na minha mquina local como "morimoto", que o mesmo login que uso no "gdhn.com.br" e uso a conta "gdh" no servidor "guiadohardware.net. Poderia ento usar o seguinte comando: # ssh -f -N -L2222:gdhn.com.br:22 -l gdh guiadohardware.net Isso criaria um tnel entre a porta 2222 da minha mquina e a porta 22 do servidor gdhn.com.br, com o servidor guiadohardware.net servindo como intermedirio. Com o tnel criado, posso acessar o gdhn.com.br via SSH usando a porta 2222 da minha prpria mquina, veja s: # ssh -p 2222 127.0.0.1 Naturalmente, para fazer isso necessrio 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 captulo 6 e voc tambm encontra um captulo dedicado a ele no livro Servidores Linux, guia prtico. Concluindo, os pacotes ICMP so usados (durante as transferncias de dados) tambm para regular a velocidade da transmisso, fazendo com que o servidor envie pacotes na maior velocidade possvel 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 transmisso. Sem isso, os pacotes excedentes seriam descartados, causando um grande desperdcio de banda. ARP Dentro da rede local, os pacotes so transformados em frames, onde so endereados ao endereo MAC da placa de rede destino e no ao endereo IP. Acontece que, inicialmente, o sistema no sabe quais so os endereos MAC das placas dos outros micros da rede local, sabe apenas os endereos 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 endereo MAC de um determinado host, a partir do seu endereo IP. A estao manda um pacote de broadcast (chamado "ARP Request"), contendo o endereo IP do host destino e ele responde com seu endereo MAC. Como os pacotes de broadcast so custosos em termos de banda da rede, cada estao mantm um cache com os endereos conhecidos. Naturalmente, isso feito de forma transparente. mais um detalhe tcnico com o qual voc no 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 endereos 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 tambm o "RARP" (reverse ARP), que tem a funo oposta: contatar um host da rede quando o endereo MAC conhecido, mas o endereo IP no. Embora menos usado, o RARP tambm importante, pois ele usado quando uma estao precisa obter sua configurao de rede via DHCP. Ao receber o pacote de broadcast enviado pela estao, o servidor DHCP sabe apenas o endereo MAC da estao e no seu endereo IP (que afinal ainda no foi definido). Ele capaz de responder solicitao graas ao RARP. Sem ele, no teramos DHCP. Muitas distribuies Linux incluem o "arping", um pequeno utilitrio que utiliza o ARP ao invs do ping para descobrir se outras mquinas da rede local esto online. A vantagem que mesmo mquinas protegidas por firewall, ou configuradas para no responder pings respondem a pacotes ARP, fazendo com que ele seja mais uma ferramenta interessante na hora de diagnosticar problemas na rede.

Nas distribuies derivadas do Debian, voc pode instal-lo via apt-get (aptget install arping). Para usar, basta informar o endereo IP ou endereo MAC da mquina 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 observao importante que o ARP usado apenas dentro da rede local, o nico local onde so usados endereos MAC. Quando o pacote passa pelo gateway e encaminhado para a Internet, os campos com os endereos MAC so removidos, o que faz com que o arping e outros utilitrios 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 no encaminhado pelo gateway da rede, ele s seria respondido se, por acaso, existisse um micro dentro da rede local utilizando o endereo "64.233.167.99". Mesmo que o pacote fosse incorretamente encaminhado para a Internet, ele no iria muito longe, pois seria descartado no primeiro roteador por onde passasse. Uma curiosidade sobre os endereos 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 faa uma busca pelos 6 primeiros dgitos do endereo MAC. Ele retornar os dados da empresa responsvel 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 endereo MAC composto por duas informaes. Os 6 primeiros dgitos so um cdigo atribudo empresa pelo IEEE e usado em todas as suas placas, enquanto os outros 6 dgitos so um cdigo sequencial, usado para identificar cada placa. Como cada fabricante pode usar apenas seus prprios cdigos ao produzir as placas, a busca permite descobrir com uma boa dose de certeza quem o fabricante real. Ao fazer a busca pelo cdigo da placa de rede onboard de uma placa me, ou de um notebook, voc quase sempre descobre o fabricante. Por exemplo, o cdigo da Asus o "00:15:F2", enquanto o cdigo da Compal (que a real fabricante de um grande nmero de notebooks revendidos por outros integradores) o "00:16:D4". Frames e Pacotes Podemos dizer que a funo de qualquer rede simplesmente transportar informaes de um ponto a outro. Pode ser entre dois micros ligados atravs 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, no faz muita diferena. No nvel mais baixo temos os cabos de rede, que so enquadrados no primeiro nvel do modelo OSI (camada fsica) e se destinam unicamente a transportar os impulsos eltricos de um micro a outro. Ao utilizar uma rede wireless ou cabos de fibra ptica, os sinais so transmitidos (respectivamente) na forma de sinais de rdio ou luz, mas a funo bsica (transportar dados de um ponto a outro) continua a mesma, independentemente da mdia utilizada. Em seguida temos os switches ou hub-switches que utilizamos para interligar os micros da rede local. Na verdade, o termo "hub-switch" foi inventado pelos fabricantes para diferenciar os switches mais baratos, que carecem de funes mais avanadas dos switches "de verdade", que possuem mais portas e incluem interfaces de administrao elaboradas. O termo "switch" est mais relacionado ao modo de funcionamento do aparelho e no ao seu custo ou funes. Um switch capaz de encaminhar os frames Ethernet para o destinatrio 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 nvel 2 do modelo OSI (link de dados), enviando frames Ethernet e endereando os outros dispositivos da rede usando endereos MAC ao invs de endereos IP. S para efeito de comparao, os hubs "burros" trabalham no nvel 1, assim como os cabos de rede. Eles so meros dispositivos de transmisso, que no realizam processamento. Os frames Ethernet so "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 no entendem o protocolo TCP/IP) tratam os pacotes como um fluxo de dados qualquer e adicionam mais uma camada de endereamento, desta vez baseada nos endereos 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 transmisso de cada frame comea com o envio de 8 bytes, contendo um prembulo e uma sequncia de inicializao. Ele serve para avisar outros micros da rede de que uma transmisso est prestes a comear. Estes 8 bytes iniciais no fazem parte do frame e so descartados pelas placas de rede depois de recebidos, por isso no aparecem no relatrio mostrado por sniffers de rede, como o wireshark.

O pacote TCP/IP includo 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 vrios frames. Junto com os dados transmitido o cabealho do frame (14 bytes no total), que inclui o endereo MAC de destino, endereo MAC de origem e um campo para o tipo de dados e mais 4 bytes finais, que contm cdigos de CRC, usados (pelas placas de rede) para verificar a integridade do frame recebido. Este cabealho tambm 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 retransmisso. Dentro do pacote TCP/IP temos novos headers, que contm o endereo IP de origem, endereo IP de destino, porta de origem, porta de destino, cdigos de verificaes, nmero do pacote, campo para incluso de opes 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 includos headers separados para o TCP e o IP, mas a verdade que os dois so complementares e por isso no 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 endereo 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 verificao de erros, numerao 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 informaes so transmitidas na forma de sequncias de vrios 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.

graas aos cdigos de verificao e numerao dos pacotes que arquivos grandes podem ser transmitidos de forma ntegra mesmo atravs de conexes via modem ou links wireless, onde diversos pacotes so corrompidos ou perdidos. Basta retransmitir os pacotes extraviados ou danificados quantas vezes for necessrio. :) O tamanho dos pacotes pode variar tambm de acordo com o meio de transmisso usado. No ADSL PPPoE, por exemplo, so utilizados pacotes de 1492 bytes, pois o protocolo usado demanda o uso de 8 bytes adicionais para o header. Nas conexes discadas, onde a conexo mais lenta e a perda de pacotes mais comum, so geralmente utilizados pacotes de apenas 576 bytes. Existem ainda casos de pacotes maiores, utilizados em situaes especficas. 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 tambm os 8 bytes iniciais, que contm o prembulo e a sequncia de inicializao, o nmero sobe para 1526 bytes. Considerando que cada pacote contm 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 no faz muita diferena, mas na Internet isso seria um grande desperdcio. Por isso, os roteadores se encarregam de eliminar estas informaes desnecessrias, retransmitindo apenas os pacotes TCP/IP propriamente ditos. por isso que no possvel criar regras de firewall baseadas em endereos MAC para pacotes vindos da Internet: os endereos MAC fazem parte das informaes includas no frame Ethernet, que so descartadas pelos roteadores. Por trabalharem diretamente com endereos IP, os roteadores so enquadrados na camada 3 do modelo OSI (camada de rede). Basicamente, so 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 conexo. Jumbo Frames O limite de 1500 bytes para o contedo dos frames foi criado originalmente como parte das especificaes do padro 10BASE-5, o padro Ethernet original, de 10 megabits. A idia era que frames muito grandes agravariam o problema das colises, permitindo que uma nica estao utilizasse o cabo durante um tempo muito longo. Alm disso, frames maiores demorariam mais tempo para serem retransmitidos em caso de corrupo do contedo, de forma que os 1500 bytes foram aceitos como o melhor custo-benefcio. 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 padro original!) e, com a

substituio dos hubs burros por switches, as colises de pacotes deixaram de ser um problema. Em uma rede de 10 megabits, possvel transmitir 819 frames com 1500 bytes de dados por segundo (lembre-se de que cada frame precisa de 26 bytes adicionais, que incluem os endereos, cdigos 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 transmisso de cada frame cai para apenas 12 nanosegundos. Como o processo de verificao do contedo dos frames consome processamento, trabalho que aumenta proporcionalmente conforme aumenta o volume de frames transmitidos, a velocidade das transferncias acaba sendo limitada no apenas pelo desempenho das placas, mas tambm pelo desempenho do processador principal. De uma forma geral, transferir 80 mil frames (que equivale a cerca de 1 segundo de transferncia em uma rede gigabit) consome cerca de 1 GHz de ciclos de processamento, aos quais se soma o trabalho necessrio para processar os pacotes TCP/IP resultantes. Isso acaba limitando severamente a taxa de transferncia de dispositivos com pouco processamento, como no caso de um NAS ou de um PC antigo, alm de aumentarem a utilizao do processador mesmo nas mquinas mais parrudas. Nas redes de 10 e 100 megabits isso no chegava a ser um grande problema, mas a popularizao das redes Gigabit Ethernet trouxe o assunto tona. Percebendo a possibilidade de melhorarem o desempenho de seus produtos, muitos fabricantes passaram a desenvolver extenses proprietrias, que permitem utilizar frames maiores e assim reduzir o overhead. Estes frames gigantes so chamados de jumbo frames. Inicialmente, estes diferentes padres eram incompatveis, 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 idia que o processamento necessrio para verificar o CRC de um frame de 1500 bytes de dados no muito diferente do para verificar um de 9000 bytes, de forma que o uso do processador decai brutalmente com a reduo no nmero 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 no fazem parte dos padres Ethernet. Como aumentar o tamanho dos frames quebra a compatibilidade com os padres de rede anteriores, o que uma das grandes prioridades do IEEE, a situao no deve mudar a curto prazo. Os jumbo frames so essencialmente um hack no suportado, implementado de forma independente pelos fabricantes. Para utiliz-los necessrio tomar um conjunto de cuidados:

a) Apenas placas e switches Gigabit Ethernet suportam o uso de jumbo frames, de forma que eles so utilizveis apenas em redes baseadas em equipamentos recentes. b) Nem todas as placas e switches oferecem suporte ao recurso, de forma que necessrio cuidado na hora da compra. Equipamentos que no suportam jumbo frames fazem com que os frames precisem ser retransmitidos ou fragmentados para atender ao limite de 1500 bytes. Com isso, forar o uso de jumbo frames em uma rede mista acaba reduzindo o desempenho da rede em vez de aumentar. c) Como no existe um padro oficial, problemas de compatibilidade entre produtos de diferentes fabricantes so comuns. d) O uso dos jumbo frames s oferece ganhos prticos durante as transferncias de grandes arquivos. Se a rede predominantemente usada para compartilhamento da conexo, jogos em rede, streaming de vdeo e audio, impresso e transferncia de pequenos arquivos, voc no vai perceber diferena alguma. Para usar o recurso, procure pela opo nas propriedades do driver da placa de rede. Quase todas as placas atuais oferecem suporte ao recurso, mas ele vem desativado por padro, de forma que voc precisa ativar a opo em todos os micros:

No Linux, a configurao feita usando o ifconfig, atravs do comando abaixo. No esquea de adicion-lo a algum dos scripts de inicializao do sistema para que ele passe a ser executado automaticamente durante o boot: # ifconfig eth0 mtu 9000 up Caso voc esteja usando um switch gerencivel, verifique tambm se a opo est ativada na configurao do switch, como no exemplo abaixo. No caso dos switches unmanaged (que no possuem interface de configurao), os jumbo frames so automaticamente usados, quando suportados.

Ao utilizar um switch com suporte a VLANS, possvel tambm criar redes virtuais separadas para os dispositivos com suporte a jumbo frames e para os demais, permitindo assim que eles convivam de forma pacfica. Entendendo o IPV6 A massiva popularizao da Internet trouxe um problema grave, que a escassez de endereos disponveis. Parte disso se deve m distribuio dos endereos IPs atuais, onde algumas empresas possuem faixas de endereos classe A inteiras, fazendo com que grande parte dos endereos disponveis simplesmente no sejam aproveitados. Para incio de conversa, 32 bits equivalem a nada menos do que 4.294.967.296 combinaes. Destes, pouco mais de 3.7 bilhes de endereos so aproveitveis, j que (entre outros) os endereos iniciados com 0, 10, 127 e de 224 em diante so reservados. Alm disso, a maior parte das faixas de endereos de classe A, que englobam as faixas iniciadas com de 1 a 126 so 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 distribuio inicial das faixas de endereos IP classe A e a segunda herdada com a compra da DEC. Muitas destas faixas esto sendo reatribudas pela IANA e o uso do CIDR tem melhorado o aproveitamento dos endereos ainda disponveis mas, apesar dos esforos, no incio de 2007 j restavam apenas 1.3 bilhes de endereos disponveis. Se a procura se mantiver nos nveis atuais, teremos o esgotamento dos endereos disponveis em 2014. Caso ela cresa, impulsionada pela popularizao das conexes 3G, aumento do nmero de

servidores web, popularizao do ADSL nos pases mais pobres e assim por diante, podemos chegar a uma situao catica ainda em 2012! Um dos fatores que vem reduzindo a presso sobre os escassos endereos disponveis o uso do NAT. Graas a ele, voc pode compartilhar uma nica conexo (e, consequentemente, um nico endereo IP), entre vrios micros. possvel at mesmo adicionar um segundo, terceiro, quarto, ou mesmo quinto nvel de compartilhamento, recompartilhando uma conexo j compartilhada. muito comum, por exemplo, que um provedor de acesso via rdio use um nico IP para um prdio inteiro, dando endereos de rede interna para os assinantes. Muitos destes criam redes domsticas e compartilham novamente a conexo, adicionando uma segunda camada de NAT, e assim por diante. Apesar disso, o NAT no a soluo para tudo. Voc no pode usar NAT em um datacenter, por exemplo, precisa de um endereo "real" para cada servidor disponvel para o mundo exterior. Chegamos ento ao IPV6, que promete colocar ordem na casa, oferecendo um volume brutalmente maior de endereos e uma migrao suave a partir do padro atual (IPV4). Embora s recentemente o tema tenha ganhado popularidade, o IPV6 no exatamente um projeto novo. O padro vem sendo desenvolvido desde 1995, quando a Internet ainda engatinhava. Entre os dois existiu o "IPV5", que era uma padro de streaming que nunca chegou realmente a ser usado. Endereamento No IPV6 so usados endereos com nada menos do que 128 bits. Prevendo o tamanho do problema que seria ter que futuramente migrar novamente para um novo padro, o IEFT (o rgo responsvel) resolveu no correr riscos. O nmero de endereos disponveis simplesmente absurdo. Seria o nmero 340.282.366.920 seguido por mais 27 casas decimais. ponto pacfico que o IPV6 vai ser adotado mais cedo ou mais tarde. J existem projetos de uso em larga escala em pases como o Japo, China e Coria do Sul e a adoo tende a se acelerar rapidamente no decorrer dos prximos anos. A princpio, o novo sistema de endereamento adotado pelo IPV6 parece algo extico, e at catico, mas as coisas se tornam mais simples se voc tiver em mente que ele apenas um novo sistema de endereamento. Nada muda com relao ao cabeamento da rede; voc continua utilizando os mesmos cabos de par tranado, fibra tica e links wireless e os mesmos hubs, switches, pontos de acesso e roteadores. A rede continua funcionando exatamente da mesma forma, os endereos TCP/IP continuam contendo informaes sobre o endereo da rede e o endereo 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 endereamento propriamente dito, uma simples questo de alterar a configurao da rede e atualizar os programas para verses compatveis com ele.

Tendo isso em mente, respire fundo e vamos l. Nos endereos IPV4, dividimos os endereos em 4 grupos de 8 bits, cada um representado por um nmero de 0 a 255, como em "206.45.32.234". Usar esta mesma nomenclatura seria invivel para o IPV6, pois teramos nada menos do que 16 octetos, criando endereos-mostro, como "232.234.12.43.45.65.132.54.45.43.232.121.45.154.34.78". Ao invs disso, os endereos IPV6 utilizam uma notao diferente, onde temos oito quartetos de caracteres em hexa, separados por ":". No conjunto hexadecimal, cada caracter representa 4 bits (16 combinaes). Devido a isso, temos, alm dos nmeros de 0 a 9, tambm os caracteres A, B, C, D, E e F, que representariam (respectivamente), os nmeros 10, 11, 12, 13, 14 e 15. Um exemplo de endereo IPV6, vlido na Internet, seria: 2001:bce4:5641:3412:341:45ae:fe32:65. Como voc pode ver, a idia de usar os caracteres em hexa reduz o nmero de caracteres necessrios, mas em compensao complica um pouco as coisas em relao notao do IPV4, com a qual estamos acostumados. Uma forma de compreender melhor, seria imaginar que cada quarteto de nmeros hexa equivale a 16 bits, que poderiam ser representados por um nmero de 0 a 65.535. Voc pode usar uma calculadora que suporte a exibio de nmeros em hexa para converter nmeros decimais. No KCalc, por exemplo, clique no "Configuraes > Botes lgicos". Digite um nmero decimal qualquer, entre 0 e 65.535 e marque a opo "Hex" para v-lo em hexa (e vice-versa):

Fazendo a converso, o endereo "2001:bce4:5641:3412:341:45ae:fe32:65" que coloquei acima, equivaleria aos nmeros decimais "8193 48356 22081 13330 833 17835 65034 101".

Um atenuante para esta complexidade dos endereos IPV6 que eles podem ser abreviados de diversas formas. Graas a isso, os endereos 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 endereos IPV6 podem ter apenas 3, 2 ou mesmo um nico dgito. Os demais so zeros esquerda que foram omitidos. muito comum que os endereos IPV6 incluam seqncias de nmeros 0, j que atualmente poucos endereos so usados, de forma que os donos preferem simplificar as coisas. Graas a isso, o endereo "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 endereo, o sistema sabe que entre o "2001:bce4:" e o ":1" existem apenas zeros e faz a converso internamente, sem problema algum. A diviso rede/host Assim como no IPV4, os endereos IPV6 so divididos em dois blocos. Os primeiros 64 bits (os 4 primeiros quartetos) identificam a rede, enquanto os ltimos 64 bits identificam o host. No endereo "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. No existem mais mscaras de tamanho varivel como no IPV4. Ao configurar endereos dentro de uma mesma rede, existem duas opes. A primeira seria simplesmente usar endereos seqenciais, como " 2001:bce4::1", " 2001:bce4::2", "2001:bce4::3" e assim por diante. Nada de errado com isso.

A segunda seria seguir a sugesto do IEFT e usar os endereos MAC das placas de rede para atribuir os endereos dos hosts. justamente isso que feito ao utilizar a atribuio automtica de endereos no IPV6. Digamos que o endereo da rede "2001:bce4:0:0:" e o endereo MAC do micro "00:16:F2:FE:34:E1". Como voc pode ver, o endereo MAC contm apenas 12 dgitos hexa, enquanto no IPV6 a parte do host contm 16 dgitos. Est em estudo uma expanso dos endereos MAC das placas de rede, que passariam a ter 16 dgitos, mas, enquanto isso no colocado em prtica, usamos uma regra simples para converter os endereos de 12 dgitos atuais em endereos de 16 dgitos, adicionando os dgitos "ffff" entre o sexto e stimo dgito do endereo. O endereo "00:16:F2:FE:34:E1", viraria ento "0016:f2ff:fffe:34e1". Como viu, os 12 dgitos originais continuam os mesmos (apenas converti para minsculas). So apenas adicionados os 4 dgitos no meio. Adicionando o endereo da rede, o endereo 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". Compatibilidade O IPV6 tambm oferece um recurso de compatibilidade com endereos IPV4, permitindo que voc continue utilizando os mesmos endereos ao migrar para ele. Neste caso, voc usaria o endereo "::FFFF:" seguido pelo endereo IPV4 usado atualmente, como em: ::FFFF:192.168.0.1 Por estranho que possa parecer, este um endereo IPV6 completamente vlido, que voc pode usar para todos os fins. Outra mudana que no IPV6 voc pode atribuir diversos endereos para o mesmo micro. Isto tambm era possvel no IPV4 utilizando alises para a placa de rede, mas no caso do IPV6, este passou a ser um recurso nativo. Graas a isso, o mesmo micro pode ser acessado tanto atravs do endereo "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. possvel tambm adicionar um endereo IPV6 a um micro j configurado com um endereo IPV4, na maioria dos casos sem nem mesmo precisar desativar temporariamente a placa de rede. Neste caso, ele continua respondendo de forma normal no endereo IPV4 antigo, mas passa a responder tambm no endereo IPV6. Um dos objetivos do novo sistema justamente manter compatibilidade com o antigo, j que muitos sistemas provavelmente nunca sero atualizados.

Imagine, por exemplo, que uma migrao 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 endereos IPV4. Prevendo situaes assim, o IPV6 oferece suporte ao tunelamento de pacotes IPV6 atravs de redes IPV4. Ao perceber que os pacotes IPV6 precisaro passar por uma rede IPV4, o roteador empacota os pacotes IPV6, colocando-os dentro de pacotes IPV4, de forma que eles sejam roteados normalmente atravs da rede IPV4. Do outro lado da conexo teramos outro roteador IPV6, que se encarregaria de remover o cabealho IPV4 dos pacotes, obtendo novamente os pacotes IPV6 originais. Esse sistema permite tambm que estaes configuradas com endereos IPV4 continuem acessando a Internet normalmente, mesmo depois que a migrao ocorrer. Imagine o caso de micros rodando o Windows 95/98, por exemplo. As faixas de endereos reservadas Assim como no IPV4, existem alguns endereos e faixas de endereos reservadas. Os endereos iniciados com "2001:" so reservados para provedores de acesso e carriers e podem ser registrados, da mesma forma que as faixas de endereo IPV4 atuais. Os endereos iniciados com "3fff:ffff:" e "2001:0DB8:" so reservados para uso em documentao, exemplos e testes e por isso eles no so roteveis. Inicialmente, os endereos 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 no seja mais um padro oficial, voc pode continuar usando estas faixas na sua rede se desejar. Talvez o melhor exemplo de endereo reservado o endereo da interface de loopback. No IPV4, o endereo de loopback o "127.0.0.1", enquanto no IPV6 foi escolhido o endereo "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 ttl=64 time=0.041 ms 64 bytes from ::1: icmp_seq=2 ttl=64 time=0.045 ms 64 bytes from ::1: icmp_seq=3 ttl=64 time=0.045 ms 64 bytes from ::1: icmp_seq=4 ttl=64 time=0.040 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 endereo IPV6 desejado. Um exemplo prtico O suporte a IPV6 est presente em todas as distribuies Linux atuais, assim como no Windows XP SP2. No Windows Vista ele inclusive j vem habilitado por padro. Uma vez que voc entende como os endereos IPV6 so estruturados e que uma mesma interface de rede pode ter ao mesmo tempo um endereo IPV4 e um IPV6 (respondendo em ambos), no existe nada de exotrico em atribuir endereos IPV6 para os micros da sua rede e comear 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 distribuies ele vem desativado por padro. Nesse caso, ativeo carregando o mdulo "ipv6" do Kernel: # modprobe ipv6 A partir da, voc pode atribuir um endereo IPV6 usando o comando "ifconfig eth0 add", onde o "eth0" a interface de rede. Graas s abreviaes, os endereos IPV6 podem ser bastante curtos. Experimente por exemplo adicionar o endereo "fee::1": # ifconfig eth0 add fee::1 Faa o mesmo em outro micro da rede, atribuindo agora o endereo "fee::2": # ifconfig eth0 add fee::2 Para testar a conectividade entre os dois, voc pode utilizar o comando "ping6", que a verso atualizada do ping, que trabalha com endereos IPV6. Caso ele no esteja disponvel, experimente instalar o pacote "iputilsping": # ping6 fee::1 PING fee::1(fee::1) 56 data bytes 64 bytes from fee::1: icmp_seq=1 ttl=64 time=5.82 ms 64 bytes from fee::1: icmp_seq=2 ttl=64 time=1.10 ms

64 bytes from fee::1: icmp_seq=3 ttl=64 time=1.09 ms 64 bytes from fee::1: icmp_seq=4 ttl=64 time=1.06 ms Junto com o ping6, foi desenvolvida toda uma nova gerao de programas compatveis com o IPV6. Muitos foram atualizados de forma transparente, como o ifconfig, enquanto outros ganharam verses 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 conexo estabelecida normalmente. Voc poderia ainda se conectar ao mesmo micro usando o endereo IPV4 antigo, como em: # ssh 192.168.0.1 ... e o resultado seria o mesmo. Como disse, o fato de adicionar um endereo IPV6, no 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 distribuies Linux pode ser instalado atravs do pacote "apache2" ou "httpd"), ou qualquer outro servidor web, poder tambm acess-lo atravs do outro micro usando o endereo IPV6. A nica observao que voc deve colocar o endereo entre colchetes, como em "http://[fee::1]/" ao acess-lo atravs do Firefox:

Naturalmente, nem todos os programas suportam IPV6 e alguns podem apresentar problemas diversos. A migrao para IPV6 ainda est em curso, por isso no espere que todos os programas funcionem de forma perfeita.

justamente por isso que foi feito tanto esforo no sentido de manter o IPV6 compatvel 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 verso 6". No caso do XP SP1, existe uma verso de desenvolvimento do protocolo, que pode ser instalada da mesma forma, mas o XP original no inclui suporte nativo ao IPV6, assim como o Windows 2000. Como comentei, o IPV6 j vem ativado por padro a partir do Vista. Voc perceber que, mesmo depois de instalado o IPV6, voc no tem a opo de atribuir um endereo manualmente. A idia no caso que o endereo seja atribudo automaticamente por um roteador IPV6 disponvel na rede. De qualquer forma, possvel atribuir um endereo 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 utilitrio de linha de comando, que roda dentro de uma janela do prompt do MS-DOS. Para atribuir o endereo, use os comandos: interface ipv6 > add address interface="Conexo de rede sem fio" address="fee::5" ... substituindo o "Conexo de rede sem fio" pelo nome da interface (escrito da mesma forma como aparece no Painel de Controle > Redes) e o endereo IPV6 desejado:

Voc pode testar a conectividade com os outros micros da rede usando o bom e velho ping atravs do prompt do DOS. Note que no caso do Windows o comando continua sendo "ping" e no "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 verses recentes j oferece suporte a IPV6. Mais detalhes Essa configurao manual permite "quebrar o gelo", criando uma conexo IPV6 de forma simples. Mas, em uma rede real, esta configurao manual no seria necessria. Os roteadores IPV6 enviam constantemente pacotes especiais, chamados "RAs" (router advertisements). Como o nome sugere, estes pacotes divulgam a existncia do roteador e o endereo de rede utilizado por ele (os 64 bits iniciais do endereo). Ao receberem estes pacotes, os clientes geram seus endereos IPV6 automaticamente, combinando os 64 bits do endereo fornecidos pelo roteador com os 64 bits "pessoais", gerados a partir do endereo MAC da placa de rede. Como o endereo MAC s muda quando voc substituiu a placa de rede, o cliente continuar utilizando o mesmo endereo, reboot aps reboot. Caso existam diversos roteadores na rede, os clientes simplesmente geraro diversos endereos, uma para cada faixa de endereos divulgada por eles e ficaro acessveis atravs de qualquer um destes endereos gerados. Como disse a pouco, uma das idias centrais do IPV6 permitir que um mesmo cliente possa ser configurado com vrios endereos diferentes, conforme a necessidade, assim como uma pessoa que utiliza diversos endereos de email . Graas a esta peculiaridade, os servidores DHCP so bem menos necessrios em uma rede IPV6, j que a funo central deles (atribuir os endereos) desempenhada pelos prprios roteadores. Atualmente, o DHCP ainda necessrio para atribuir os endereos DNS, mas j existe um projeto para incorporar mais esta funo aos roteadores, o que em breve far com que os servidores DHCP IPV6 fiquem relegados funo de fornecer informaes adicionais, como no caso de uma rede de terminais que do boot atravs da rede. O brutal aumento no nmero de endereos disponveis inclui um benefcio adicional que um pequeno aumento na segurana. Ao idia que, como atualmente quase todos os endereos IP possuem dono, muito fcil fazer uma varredura, escaneando faixas inteiras de endereos em busca de micros vulnerveis. Esta a idia central dos worms que se propagam de forma espontnea. No caso do IPV6, a "densidade" dos endereos em uso ser muito menor, fazendo com que este tipo de varredura torne-se invivel. Imagine o caso de um pequeno provedor de acesso com 200 usurios, por exemplo. Atualmente, ele teria uma faixa de endereos classe C, como "200.234.23."

e todos os usurios estariam dentro dela. Escaneando apenas 254 endereos, voc detecta vulnerabilidades nos micros destes 200 usurios. Ao migrar para o IPV6, este provedor passaria a utilizar uma faixa como "2001:bce4:cdfe:6547" e os usurios utilizariam endereos definidos com base nos endereos MAC da placa de rede. Os 200 usurios ficam agora espalhados dentro de uma faixa de endereos que permite 18.446.744.073.709.551.616 combinaes. Ou seja, um nmero simplesmente absurdo. Tentar escanear todos os endereos possveis demoraria anos e ainda assim permitiria descobrir apenas os 200 usurios! Seria mais rpido escanear a Internet inteira (dentro da organizao atual) do que escanear uma nica faixa de endereos IPV6. Naturalmente, isso no ajuda muito em casos onde o seu endereo IPV6 conhecido (como no caso dos servidores web), por isso o uso de firewall e sistemas de encriptao (como o SSH) continua sendo uma necessidade. 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 so utilizados em algumas redes, por isso interessante saber um pouco sobre eles:

NetBEUI O NetBEUI uma espcie de "vov protocolo", pois foi lanado pela IBM no incio da dcada de 1980, para ser usado junto com o IBM PC Network, um micro com configurao semelhante do PC XT, mas que podia ser ligado em rede. Naquela poca, o protocolo possua 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 verso final do protocolo. No jargo tcnico 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 contrrio 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 idia, no NetBEUI no existe configurao de endereos, pois os micros conversam diretamente usando os endereos MAC. Por um lado, isto fez que ele se tornasse bastante rpido e fosse considerado o mais rpido protocolo de rede durante muito tempo. Para voc ter uma idia, apenas as verses mais recentes do IPX/SPX e TCP/IP conseguiram superar o NetBEUI em velocidade. Mas, esta simplicidade toda tem um custo: devido ao mtodo simples de endereamento usado pelo NetBEUI, podemos us-lo em redes de no mximo 255 micros. Alm disso, o NetBEUI no suporta enumerao de redes (para ele todos os micros esto ligados na mesma rede). Isto significa que, se voc tiver uma grande Intranet, composta por vrias redes interligadas por roteadores, os micros que usarem o NetBEUI simplesmente no sero capazes de enxergar micros conectados s outras redes, enxergaro apenas os micros a que estiverem conectados diretamente. Devido a esta limitao, dizemos que o NetBEUI um protocolo "norotevel". Apesar de suas limitaes, o NetBEUI ainda usado em algumas redes Windows, por ser rpido, fcil de instalar e usar. Voc no pode us-lo para acessar a Internet, acessar outras mquinas da rede via SSH nem nenhum outro dos servios que vimos at aqui, mas ele permite que as mquinas Windows compartilhem arquivos entre si. Outra limitao que o Samba no compatvel com o NetBEUI (apenas com o TPC/IP), por isso uma estao que tivesse apenas o protocolo NetBEUI ativo, no seria capaz de acessar compartilhamentos em um servidor Samba, mesmo que as demais configuraes estivessem corretas. Verses antigas do Windows, incluindo o Windows 95 e o Windows NT 4.0 utilizavam o NetBEUI como protocolo padro. Nelas, era necessrio ativar o TCP/IP manualmente na configurao da rede para acessar a web ou utilizar outros recursos de rede no suportados pelo NetBEUI, o que fazia com que a maioria simplesmente deixasse os dois protocolos ativos, o que prejudicava a navegao 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 disponveis em uma mquina da rede, problema que era resolvido ao migrar completamente a rede para o TCP/IP e desinstalar o NetBEUI em todas as mquinas. Devido s suas muitas limitaes, no recomendvel utilizar o NetBEUI nos dias de hoje, de forma que a prpria Microsoft descontinuou o suporte ao NetBEUI a partir do Windows XP. Apesar disso, foi preservado um mtodo de instalao manual, com o propsito de manter compatibilidade com redes antigas, onde ele ainda seja usado. No Windows XP original, os arquivos necessrios podem ser encontrados no CD de instalao 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 disponvel para instalao nas propriedades da rede. Em seguida, acesse o menu de configurao da rede e use a opo "Instalar > Protocolo > Microsoft > Protocolo NetBEUI" para que ele seja finalmente instalado. Outra opo usar a opo "Com disco" e indicar a localizao dos arquivos dentro do CD-ROM:

Instalao manual do NetBEUI no Windows XP Ao instalar uma estao de trabalho com o XP em uma rede antiga, baseada em micros com o Windows 95/98, pode ser necessrio ativar o NetBEUI para que ele consiga conversar com as outras mquinas, j que

antigamente, antes da popularizao do acesso Internet, era comum configurar redes locais usando apenas o NetBEUI, sem TCP/IP. IPX/SPX O IPX/SPX o protocolo desenvolvido pela Novell para uso no Novell NetWare. Ele foi o protocolo usado por padro 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 no 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 verso), 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, autenticao, controle de acesso e outros recursos. No incio da dcada de 1990, o NetWare chegou a dominar o mercado, mas passou a perder espao para os servidores Windows e em seguida tambm para o Linux. Como o NetWare era uma soluo cara, muitas empresas optavam por utilizar os prprios recursos de compartilhamento de arquivos e impressoras includos no Windows 95/98 ou utilizavam servidores Windows NT, cuja implantao era mais barata (sobretudo pela questo da mo de obra, que era muito mais cara no caso do NetWare). Com o lanamento do Windows 2000 Server e do 2003 Server e a popularizao 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 incio de 2003, a Novell comprou a SuSE, uma das maiores distribuies Linux na Europa e, em seguida, a Ximian (que entre outras coisas desenvolve solues de interoperabilidade entre servidores Linux e Windows) e passou a investir pesado em solues baseadas em Linux, tentando reconquistar o terreno perdido. Voltando a questo do protocolo, assim como o TCP/IP, o IPX/SPX composto por dois protocolos, da o nome. O IPX o responsvel pelo endereamento e transmisso dos pacotes (como o IP), enquanto o SPX o responsvel por criar e encerrar as conexes, verificar o recebimento dos pacotes (retransmitindo pacotes extraviados) e outras funes de controle (como o TCP). Cada estao possui um endereo nico, mas a forma como eles so criados muda radicalmente em relao ao IPV4. Ao invs de especificar manualmente um endereo para cada estao, ou utilizar um servidor DHCP, os endereos so definidos automaticamente, atravs da combinao dos endereos MAC das placas de rede (48 bits) e um endereo de 32 bits para a rede, que voc define como parte da configurao do servidor, resultando em um endereo de 80 bits. No NetWare, alm do mdulo principal (instalado no servidor), fornecido um mdulo cliente, que deve ser instalado em todas as estaes de trabalho. Alm da verso principal do NetWare, existe a verso Personal,

um sistema de rede ponto a ponto, que novamente roda sobre o sistema operacional. Esta verso do NetWare bem fcil de usar, porm nunca foi muito popular, pois o Windows sozinho j permite a criao de redes ponto a ponto muito facilmente, desde o 3.11. possvel usar tanto estaes Windows quanto estaes Linux como clientes de um servidor Novell. No caso do Windows, necessrio ter instalado o protocolo IPX/SPX e tambm um cliente para redes NetWare. No Windows XP, a compatibilidade com o IPX fornecida pelo protocolo "NWLink/IPX/SPX/NetBIOS Protocolo de transporte Compatvel", combinado com o cliente "Servio de cliente para NetWare", que podem ser instalados atravs do menu de propriedades da rede:

Instalao manual do cliente NetWare no Windows XP Para instalar o protocolo IPX/SPX no Windows 95/98 (a maioria das instalaes do NetWare ainda em uso so em redes antigas, por isso clientes com verses antigas do Windows acabam sendo bem mais comuns do que com o XP ou Vista), abra o menu de configurao da rede e use a opo "Adicionar > Protocolo > Microsoft > Protocolo compatvel 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 no ficar devendo muito em termos de recursos, prefervel usar o cliente da prpria Novell, que traz alguns recursos nicos, alm de ser mais rpido. O programa cliente da Novell acompanha o mdulo servidor, mas voc tambm pode baix-lo gratuitamente (12 MB) do site da Novell: http://www.novell.com.br.

Aps 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 instalao adicionar o "Cliente NetWare da Novell" e o "Protocolo IPX de 32 Bits para o NetWare Client da Novell", que aparecero na janela de configurao da rede. O cliente ficar residente na forma de um cone ao lado do relgio, j que voc depende do programa para ter acesso ao servidor. Como no caso dos servidores NT, voc dever criar uma conta de usurio no servidor Novell e logar-se na rede informando o nome de usurio e senha estabelecidos.

Cliente Novell e o protocolo IPX/SPX na configurao de rede de um micro com o Windows 98 Ao usar clientes Linux, voc pode utilizar o NovelClient (com um L s), que pode ser baixado no: http://novelclient.sourceforge.net/: Captulo 5: Segurana e utilitrios A questo da segurana tem se tornado cada vez mais importante medida que a Internet torna-se um ambiente cada vez mais hostil e as ferramentas para capturar trfego, quebrar sistemas de encriptao, capturar senhas e explorar vulnerabilidades diversas tornam-se cada vez mais sofisticadas. Outra questo importante que usamos cada vez mais tecnologias diferentes de acesso e transmisso de dados, o que torna manter sua rede segura uma tarefa mais complicada. Por exemplo, sua rede pode ser bastante segura contra invases "diretas", via Internet, graas ao firewall ativo no gateway da rede, mas ser ao mesmo tempo muito fcil de invadir atravs da rede wireless, caso voc utilize o WEP ou simplesmente deixe a rede aberta, sem encriptao. Ao usar clientes Windows, existe ainda o problema dos vrus, trojans e worms. Os vrus se espalham atravs de arquivos infectados, pginas que exploram vulnerabilidades no navegador, e-mails e assim por diante,

geralmente utilizando alguma tcnica de engenharia social que leve o usurio a clicar em um link ou executar um arquivo. Assim como na vida real, os vrus variam muito em termos de potencial nocivo. Existem desde vrus extremamente perigosos, que destroem os dados do HD, subscrevendo os arquivos com dados aleatrios (de forma que seja impossvel recuper-los), algumas vezes at mesmo danificando o BIOS da placa me; at vrus relativamente inofensivos, que no fazem muita coisa alm de se replicarem por diversos meios, tentando infectar o maior nmero de PCs possveis. Os vrus moderadamente inofensivos so normalmente os que conseguem se espalhar mais rpido e se manter ativos durante mais tempo, j que so os menos notados e os menos combatidos. Com isso, os criadores de vrus lentamente foram mudando de foco, deixando de produzir vrus espetaculares, que apagam todos os dados do HD, para produzirem vrus mais discretos, capazes de se replicarem rapidamente, usando tcnicas criativas, como enviar mensagens para a lista de contatos do MSN ou postar mensagens usando seu login em redes sociais. Como resultado disso, os vrus passaram a atingir cada vez mais mquinas, embora com danos menores. Os trojans so, de certa forma, similares aos vrus, mas o objetivo principal abrir portas e oferecer alguma forma de acesso remoto mquina infectada. Eles so quase sempre muito discretos, desenvolvidos com o objetivo de fazer com que o usurio no perceba que sua mquina est infectada. Isso permite que o invasor roube senhas, use a conexo para enviar spam, procure por informaes valiosas nos arquivos do HD, ou mesmo use as mquinas sob seu controle para lanar ataques diversos contra outras mquinas. Os worms se diferenciam dos vrus e dos trojans pela forma como infectam as mquinas. Em vez de dependerem do usurio para executar o arquivo infectado, os worms se replicam diretamente, explorando vulnerabilidades de segurana nas mquinas da rede. Os mais complexos so capazes de explorar diversas brechas diferentes, de acordo com a situao. Um worm poderia comear invadindo um servidor web com uma verso vulnervel do IIS, infectar outras mquinas da rede local a partir dele, acessando compartilhamentos de rede com permisso de escrita e, a partir delas, se replicar via e-mail, enviando mensagens infectadas para e-mails encontrados no catlogo de endereos; tudo isso sem interveno humana. Os worms podem ser bloqueados por um firewall bem configurado, que bloqueie as portas de entrada (e, se possvel, tambm portas de sada) usadas por ele. possvel tambm bloquear parte dos vrus e trojans adicionando restries com base em extenso de arquivos no servidor proxy, ou adicionando um antivrus como o Clamav no servidor de e-mails, por exemplo, mas a principal linha de defesa acaba sempre sendo o antivrus ativo em cada mquina Windows. No Linux, as coisas so um pouco mais tranqilas neste ponto. Os vrus so quase que inexistentes e as vulnerabilidades em servidores muito utilizados, como o Apache, SSH, etc. so muito menos comuns. O problema que

todos estes prognsticos favorveis do uma falsa sensao de segurana, que acabam levando muitos usurios a assumirem um comportamento de risco, deixando vrios servios ativados, usando senhas fracas ou usando a conta de root no dia-a-dia. Tambm muito comum que os novos usurios fiquem impressionados com os recursos de conectividade disponveis no Linux e acabem abrindo brechas de segurana ao deixar servidores XDMCP, NFS, Squid, etc. abertos para a Internet. Muitos usurios do Windows sequer sabem que possvel manter um servidor FTP aberto no micro de casa, enquanto muitas distribuies Linux instalam servidores Apache ou SSH por default. Muitos usurios Linux mantm servidores diversos habilitados em suas mquinas, algo muito menos comum no mundo Windows. No final das contas, a segurana do sistema depende muito mais do comportamento do usurio do que do sistema operacional em si. Um usurio iniciante que use o Windows XP, sem nenhum firewall ou qualquer cuidado especial, mas que tenha o cuidado de manter o sistema atualizado e no executar qualquer porcaria que chegue por e-mail provavelmente estar mais seguro do que um usurio Linux sem noes de segurana, que use o sistema como root e mantenha um batalho de servidores desatualizados ativos na mquina. Voc poderia perguntar porque algum teria interesse em invadir mquinas de usurios domsticos, que no possuem arquivos valiosos, ou mesmo estaes de trabalho que so usadas apenas para editar textos e enviar emails. A questo principal no o que est armazenado do HD, mas sim a banda e o poder de processamento das mquinas. Ter vrios PCs sob seu controle, principalmente se eles possurem conexes de alta velocidade, significa poder. possvel us-los para alimentar redes P2P como o Kazaa e outros, fundar uma rede de distribuio de warez ou moviez, us-los como servidores complementares para um site porn, enviar spam, us-los para rodar portscans e lanar ataques contra outras mquinas ou at mesmo us-los em um ataque coordenado para tirar um grande portal do ar. As dicas gerais Em um servidor, uma boa poltica de segurana inclui reduzir o nmero de servios ativos, mantendo apenas os servios realmente necessrios operao do servidor, fechar todas as portas no utilizadas no firewall, restringir as permisses de acesso dos usurios que tem acesso ao servidor ao mnimo necessrio para que executem suas tarefas e manter as atualizaes de segurana em dia, sobretudo nos servios diretamente expostos a conexes 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 trs pontos de ataque: o servidor web propriamente dito, o servidor DNS e o servidor SSH. No possvel fechar todas as portas (j que, por definio, o servidor precisa receber conexes

dos clientes e desempenhar suas funes), de forma que importante manter os servios disponveis religiosamente atualizados com relao a brechas de segurana. Em um desktop domstico possvel manter todas as portas de entrada fechadas no firewall (ou no gateway da rede), permitindo apenas trfego de sada e trfego de respostas a conexes 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 necessrio manter os programas atualizados, assim como no caso dos servidores. Outro problema so as formas indiretas de ataque, como vrus e trojans enviados por e-mail, arquivos temperados com malwares, distribudos atravs de redes P2P e sites de download, pginas 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 algum ou, principalmente, ao utilizar um Cybercaf. Evite digitar qualquer tipo de senha ou dados confidenciais em qualquer micro que no seja seu. Em situaes onde isso realmente necessrio, uma opo dar boot usando uma distribuio linux live-CD. A questo das senhas outro tema importante, j que elas so o ponto fraco de qualquer sistema. Utilize sempre boas senhas, misturando letras e nmeros e com pelo menos 8 (de preferncia 12) caracteres, jamais utilize palavras como senha e troque-as freqentemente. O ideal que ningum alm de voc tenha acesso fsico ao seu PC. Mesmo que voc deixe o micro desligado, ou protegido por uma proteo de tela, possvel instalar programas dando boot atravs de um CD-ROM ou disquete. Se voc administra um servidor ou permite que outros usurios acessem sua mquina remotamente, exija que todos utilizem boas senhas. Muitas brechas de segurana permitem obter acesso de root partindo de um simples login de usurio. Por isso, alm de exigir o uso de boas senhas, voc deve dar logins de usurio apenas pessoas de confiana. Outra boa idia "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 algum o descobrisse. Seria preciso fazer uma varredura de portas completa, que demora vrias 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, no mesmo?

Caso voc esteja usando um programa de deteco de intruses, 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 esto abertas para tentar fazer qualquer coisa. Mais um erro comum deixar servidores de FTP, web, SSH, etc. disponveis 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, fcil filtrar o trfego permitindo que apenas os acessos vindos d