Você está na página 1de 12

Ethernet e TCP/IP

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 dispositivos 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 switchs mais baratos, que carecem de funes mais avanadas dos switchs "de verdade", que possuem mais portas e incluem interfaces de administrao elaboradas. Um switch capaz de encaminhar os quadros Ethernet para o destinatrio correto, realizando uma comutao entre as duas portas envolvidas, enquanto um hub antigo simplesmente repete os sinais em todas as portas. Assim como as placas de rede, os switchs trabalham no nvel 2 do modelo OSI (enlace de dados), enviando quadros Ethernet e endereando os outros dispositivos da rede usando endereos MAC ao invs de endereos IP. S para efeito de comparao, os hubs trabalham no nvel 1, assim como os cabos de rede. Eles so meros dispositivos de transmisso, que no realizam processamento. Os quadros Ethernet so encapsulamentos 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 conjunto de dados 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 quadro Ethernet que finalmente transmitido. Ao chegar do outro lado, o encapsulamento removido e o pacote TCP/IP entregue.

O uso do encapsulamento adiciona alguns bytes a cada pacote transmitido, reduzindo sutilmente o desempenho da rede. A figura 1 apresenta o diagrama de um quadro Ethernet:

Figura 1 Quadro Ethernet

A transmisso de cada quadro comea com o envio de 8 bytes contendo um prembulo e uma seqncia 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 quadro e so descartados pelas placas de rede depois de recebidos, por isso no aparecem no relatrio mostrado por analisadores de rede e protocolo. O pacote TCP/IP est contido dentro do campo de dados, que pode incluir at 1500 bytes por quadro. Em conjunto com os dados transmitido o cabealho (Header) do quadro (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 (CRC32), usados (pelas placas de rede) para verificar a integridade do quadro recebido. Caso o quadro chegue incompleto ou corrompido, a placa de rede solicita a retransmisso. Dentro do pacote TCP/IP temos novos cabealhos, 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 cabealhos do protocolo TCP e mais 20 bytes para os cabealhos do protocolo IP, totalizando 40 bytes de cabealhos 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. A Figura 2 apresenta um pacote TCP/IP simplificado.

Figura 2 Pacote TCP/IP

primeira vista, pode parecer estranho que sejam includos cabealhos separados para o TCP e o IP, mas a verdade que os dois so complementares (TCP inserido na camada de transporte e IP na camada de rede) 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 cabealhos do protocolo IP incluem o endereo IP de origem e de destino, enquanto os cabealhos 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, entre outros. Os pacotes podem ter at 1500 bytes no total, onde temos at 1460 bytes de dados e 40 bytes dos cabealhos. Arquivos e outros tipos de informaes so transmitidas na forma de seqncias 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 enlaces wireless, onde diversos pacotes so corrompidos ou perdidos. Basta retransmitir os pacotes extraviados ou danificados quantas vezes for necessrio. Embora os pacotes TCP/IP de 1500 bytes sejam os mais comuns, o tamanho pode variar de acordo com o meio de transmisso usado. No ADSL PPPoE, por exemplo, so utilizados pacotes de 1492 bytes, enquanto que nas conexes discadas so geralmente utilizados pacotes de apenas 576 bytes. Existem ainda casos de pacotes maiores, utilizados em situaes especficas. Dentro da rede local, temos (incluindo o prembulo do quadro Ethernet) um total de 1526 bytes transmitidos para cada pacote TCP/IP de 1500 bytes. Em uma rede local, que trabalha a 100 Mbps, o excesso de cabealhos 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 disso 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 quadro Ethernet, que so descartadas pelos roteadores. Por trabalharem diretamente com endereos IP, os roteadores podem ser 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. Na internet, o mais comum o uso de enlaces de fibra ptica, mas os

roteadores podem se interligados utilizando qualquer tipo de mdia. A Figura 3 apresenta os Backbones (coluna vertebral) de fibra ptica interligando pases da sia.

Figura 3 - Backbones de fibra ptica interligando pases da sia.

O endereamento IP um tema importante, j que ele que permite que o grande nmero de redes e hosts que formam a internet sejam capazes de se comunicar entre si. Existem duas verses do protocolo IP: o IPV4 a verso atual, que utilizamos na grande maioria das situaes, enquanto o IPV6 a verso atualizada, que prev um nmero maior de endereos e deve comear a se popularizar a partir de 2010 ou 2012, quando os endereos IPV4 comearem a se esgotar. No IPV4, os endereo IP so compostos por 4 blocos de 8 bits (32 bits no total), que so representados atravs de nmeros de 0 a 255, como "200.156.23.43" ou "64.245.32.11". O IP usa endereamento hierrquico e suporta roteamento dinmico distribudo nos roteadores. Um roteador pode tambm descartar pacotes se no houver espao em buffer para armazena-los. As faixas de endereos comeadas com "10", com "192.168" ou com de "172.16" at "172.31" so reservadas para uso em redes locais e por isso no so usados na internet. Os roteadores que compe a grande rede so configurados para ignorar estes pacotes, de forma que as inmeras redes locais que utilizam endereos na faixa "192.168.0.x" (por exemplo) podem conviver pacificamente.

No caso dos endereos vlidos na internet as regras so mais estritas. A entidade responsvel pelo registro e atribuio dos endereos a ARIN (http://www.arin.net/). As operadoras e provedores de acesso pagam uma taxa anual, que varia de US$ 1.250 a US$ 18.000 (de acordo com o volume de endereos requisitados) e embutem o custo nos enlaces revendidos aos clientes. Embora aparentem ser algo nico, os endereos IP incluem duas informaes. O endereo da rede e o endereo do host dentro dela. Em uma rede domstica, por exemplo, voc poderia utilizar os endereos "192.168.1.1", "192.168.1.2" e "192.168.1.3", onde o "192.168.1." o endereo da rede (e por isso no se altera) e o ltimo nmero (1, 2 e 3) identifica os trs micros que fazem parte dela. O IPV4 subdividido em 5 classes, onde as mais utilizadas so:

classe A: byte 1 => O bit mais significativo zero, os demais 7 bits identificam a sub-rede (de 1 a 126); os 24 bits restantes so utilizados para definir o endereo local do host (at 16 milhes de hosts por sub-rede); classe B: Os primeiros 2 bits so 10, os 14 bits restantes identificam a subrede e, 2 bytes para host (at 65.536 hosts por sub rede); classe C: Os primeiros 3 bits so 110, 21 bits para sub-rede e 1 byte para host (at 254 hosts, valores 0 e 255 reservados);

A figura 4 apresenta as classes do protocolo IPV4.

Figura 4 Classes de IPV4

Ao conectar via ADSL ou outra modalidade de acesso domstico, voc recebe um nico IP vlido. Ao alugar um servidor dedicado voc recebe uma faixa com 5 ou mais endereos e, ao alugar um enlace empresarial pode-se obter uma faixa de classe C inteira. Mas, de qualquer forma, os endereos so definidos pelo provedor do servio de acordo com o plano ou servio contratado e voc no pode escolher quais endereos utilizar. Os micros da rede local podem acessar a internet atravs de um roteador, que pode ser tanto um servidor com duas placas de rede, quando um modem ADSL ou outro dispositivo que oferea a opo de compartilhar a conexo. Neste caso, o roteador passa a ser o gateway da rede e utiliza seu endereo IP vlido para encaminhar as requisies feitas pelos micros da rede interna. Este recurso chamado de NAT (Network Address Translation). Um dos micros da rede local, neste caso, poderia usar esta configurao de rede:

Endereo IP: 192.168.1.2 Mscara: 255.255.255.0 Gateway: 192.168.1.1 (o servidor compartilhando a conexo) DNS: 200.169.126.15 (o DNS do provedor)

O servidor, por sua vez, utilizaria uma configurao similar a esta:


Placa de rede 1 (rede local): Endereo IP: 192.168.1.1 Mscara: 255.255.255.0 Placa de rede 2 (internet): Endereo IP: 200.213.34.21 Mscara: 255.255.255.0 Gateway: 200.213.34.1 (o gateway do provedor) DNS: 200.169.126.15 (o DNS do provedor)

A configurao da segunda placa de rede seria obtida automaticamente, via DHCP, de forma que voc s precisaria realmente se preocupar com a configurao da sua rede local. Normalmente, voc primeiro configuraria a rede local, depois conectaria o servidor internet e, depois de verificar ambas, ativaria o compartilhamento da conexo via NAT. possvel instalar mais placas de rede no roteador e dividir a rede em vrios segmentos distintos, interligados atravs dele. Em uma empresa, poderamos ter trs 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 neste caso teria 4 placas de rede (um para cada um dos trs 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 no ter acesso aos servidores, por exemplo. O roteador poderia incorporar tambm a funo de firewall, protegendo os micros das redes internas de ataques providos da internet. Tal configurao apresentada na Figura 5.

Figura 5 Configurao de uma rede Ethernet/TCP/IP dividida por segmentos.

Continuando, temos a configurao das mscaras de sub-rede, que servem para indicar em que ponto termina a identificao da rede e comea a identificao do host. No nosso exemplo, utilizaramos a mscara "255.255.255.0", que indica que os trs primeiros nmeros (ou octetos) do endereo servem para identificar a rede e apenas o ltimo indica o endereo do host dentro dela. Na internet, os endereos IP so divididos em trs classes, que se diferenciam pela mscara utilizada. Os endereos de classe A comeam com nmeros de 1 a 126 (como, por exemplo, "62.34.32.1") e utilizam mscara 255.0.0.0. Cada faixa de endereos classe A composta de mais de 16 milhes de endereos, mas como existem apenas 126 delas, elas so reservadas para o uso de grandes empresas e rgos governamentais. Em seguida temos os endereos de classe B, que abrangem os endereos iniciados com de 128 a 191. Eles utilizam mscara 255.255.0.0, o que permite a existncia de um nmero muito maior de faixas, cada uma composta por 65 mil

endereos. Finalmente temos a faixa mais acessvel, que so as faixas de endereos classe C, que abrangem os endereos que comeam com de 192 a 223. Elas so mais numerosas, pois utilizam mscara 255.255.255.0, mas em compensao cada faixa de classe C composta por apenas 254 endereos. Com a escassez de endereos vlidos, as faixas de classe C so praticamente as nicas que ainda podem ser obtidas hoje em dia. Existe ainda a possibilidade de utilizar mscaras complexas para dividir uma faixa de endereos de classe A, B ou C em faixas menores e independentes. Esta possibilidade usada ao extremo pelas empresas de hospedagem, que dividem faixas de endereos de classe A ou B em diversas faixas menores, com apenas 4 ou 8 endereos, que so atribudas aos servidores dedicados hospedados em seus data-centers. Ao usar a mscara 255.255.255.248, por exemplo, apenas 3 bits do endereo so reservados ao endereamento dos hosts (convertendo 255.255.255.248 para binrio, voc teria 11111111.11111111.11111111.11111000), permitindo que a empresa de hospedagem divida uma faixa de endereos classe A (16 milhes de hosts) em 2.080.768 pequenas redes, uma para cada servidor dedicado que for locado. Trs bits permitem 8 combinaes, mas o primeiro e o ltimo endereo so reservados ao endereo da rede e ao endereo de broadcast, fazendo com que apenas 6 endereos possam realmente ser utilizados. Destes, mais um sacrificado, pois atribudo ao gateway (sem o gateway o servidor no acessa a internet), de forma que no final apenas 5 endereos ficam realmente disponveis. Ao locar um servidor dedicado, voc precisa de uma faixa de endereos inteira para poder configurar o DNS reverso, um pr-requisito para que seus e-mails no sejam rotulados como spam por outros servidores. Ao registrar um domnio, voc precisa fornecer os endereos de dois servidores DNS, que respondero por ele. Ao invs de ter dois servidores, voc pode utilizar outro dos seus 5 endereos disponveis 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 primrio e secundrio, eliminando a necessidade de utilizar dois servidores. Novamente, esta configurao possvel apenas caso o servidor possua uma faixa de endereos prpria.

No final, a configurao de rede de um servidor dedicado acaba sendo algo similar ao seguinte exemplo (faixa de hosts 104-111): Endereo IP: 72.232.35.106

Mscara: 255.255.255.248 Gateway: 72.232.35.105 Endereo da rede: 72.232.35.104 Endereo de broadcast: 72.232.35.111 Alias da placa de rede (para o DNS secundrio): 72.232.35.107 Endereos vagos: 72.232.35.108, 72.232.35.109 e 72.232.35.110 Em seguida temos a questo do IPV6, que uma fonte freqente de dvidas. Ele

uma evoluo do padro de endereamento atual onde, ao invs de endereos de 32 bits, so usados endereos de 128 bits. O nmero de endereos disponveis no IPV6 simplesmente absurdo; seria o nmero 340.282.366.920 seguido por mais 27 casas decimais. Tudo isso para prevenir a possibilidade de, em um futuro distante, ser necessria uma nova migrao. Por serem muito mais longos, os endereos IPV6 so representados atravs de caracteres em hexa. No total temos 32 caracteres, organizados em oito quartetos e separados separados por dois pontos. No conjunto hexadecimal, cada caractere 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". 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". A Figura 6 apresenta uma comparao entre uma rede utilizando IPV4 e uma rede com IPV6.

Figura 6 Redes endereadas por IPV4 e por IPV6.

Em primeiro lugar, todos os zeros esquerda dentro dos quartetos podem ser omitidos. Por exemplo, ao invs de escrever "0341", voc pode escrever apenas "341"; ao invs de "0001" apenas "1" e, ao invs 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. Graas a isso, o endereo "2001:bce4:0:0:0:0:0:1" poderia ser abreviado para apenas "2001:bce4::1", 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. O suporte a IPV6 est presente em todas as distribuies Linux atuais, assim como no Windows XP XP2 e Vista. 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, comece verificando se o mdulo "ipv6" est carregado (o que feito por padro na maioria das distribuies atuais). Caso necessrio, carregue-o usando o comando "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". 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 "iputils-ping". Ele usado da mesma forma que o comando ping normal. Basta especificar o endereo do outro micro, como em: # ping6 fee::1 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

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. 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. 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", "2001:bce4::0016:f2ff:fffe:34e1". 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-se 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 o que poderia ser abreviado para apenas

"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 desabilitar o enlace da 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. Este sistema permite tambm que sistemas configurados com endereos IPV4, continuem acessando a internet normalmente, mesmo depois que a migrao ocorrer. Imagine o caso de microcomputadores rodando o Windows 95/98, por exemplo, sistemas que provavelmente nunca sero atualizados.

Você também pode gostar