Vous êtes sur la page 1sur 70

VISO GERAL DE REDES TCP/IP

CAPTULO

01

Viso Geral de Redes TCP/IP


Introduo O Protocolo IP O Protocolo TCP Teoria de Protocolo de Rede RFC O Endereo IP Classes de Endereos IP Endereo de Rede e Broadcast [Difuso] Mscara de Rede Sub-Rede Endereos IP Para Redes Privadas O Nmero de Porta Roteamento DNS - Domain Name Service Arquivos Gerais Configurao Geral TCP/IP O Servio Inetd Utilitrios de Redes Sub-Rede - Exemplo Prtico Terminologia Utilizada Links Indicados 14 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

Este captulo uma introduo aos conceitos do protocolo TCP/IP, tal como nmeros IP, portas TCP, servios, roteamento etc.

1.1 - Introduo
1.1.1 - TCP/IP O protocolo TCP/IP foi originado da rede ARPANET, que foi criada como uma rede de pesquisa desenvolvida pelo Departamento de Defesa dos Estados Unidos, que pouco a pouco, centenas de universidades e reparties pblicas foram sendo a ela conectadas atravs de linhas telefnicas privadas, resultando na atual rede mundial de computadores, a Internet. O objetivo do TCP/IP era conectar vrias redes locais, por isso o nome Internet, ou seja, inter-redes ou entre-redes. Aps vrios anos de trabalho de pesquisa, surgiu o modelo de referncia TCP/IP, graas ao seus dois principais protocolos: o TCP, que significa Protocolo de Controle de Transporte; e o IP, que significa Protocolo Internet. Na verdade, o acrnimo TCP/IP refere-se a uma grande famlia de protocolos que funciona em conjunto para permitir uma comunicao completa. Veremos mais adiante, que o conjunto de protocolos TCP/IP alm de englobar os protocolos TCP e IP, tambm engloba outros protocolos, tais como o ICMP (Internet Control Message Protocol) e o DNS (Domain Name Service), que permite a troca de mensagens de controle e a traduo de nomes (www.sistemasabertos.com.br) em endereos numricos (200.193.79.1), respectivamente.
ADMINISTRAO DE REDES LINUX - 15

VISO GERAL DE REDES TCP/IP

O projeto TCP/IP teve sua origem por volta de 1969, porm, esta rede tornou-se operacional somente a partir de 1975 quando sua funcionalidade j estava comprovada. Por volta de 1983, o novo modelo de referncia TCP/IP estava completamente padronizado e disponvel publicamente, permitindo sua rpida popularizao. O sucesso foi to grande que hoje o protocolo TCP/IP est totalmente disseminado tanto na Internet quanto nas redes locais privadas. O TCP/IP tornou-se praticamente uma lngua (protocolo) universal das redes de computadores. 1.1.2 - Conceitos Bsicos Todo computador em uma rede TCP/IP denominado hospedeiro [host]. Para entender melhor uma rede, necessrio saber classificar cada host que a compe, onde cada um desenvolve tarefas variadas. Atravs das funes de cada hospedeiro, que podemos classific-los nas seguintes denominaes: servi-

dor, cliente, roteador ou gateway e firewall.


A caracterstica primordial, que determina a classificao de um hospedeiro em servidor, o fato de possuir servios que aguardam solicitaes vindas de outros hospedeiros, de forma a responder com algum dado. Por exemplo, um servidor Web retornar o contedo de uma pgina quando algum cliente requisit-lo. Um cliente solicita determinados servios ao servidor. Por

Fig. 1 - Ilustrao Cliente/Servidor.

16 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

exemplo, um cliente poderia estar executando um editor de texto e enviar uma solicitao para que um servidor de impresso imprima seu texto. Um roteador tem a funo de repassar pacotes de uma rede para outra atravs da checagem dos endereos de destino. Dentro desta rotina o roteador funciona como uma ligao entre uma rede e outra, portanto, geralmente utiliza tecnologias e protocolos diferentes.

Fig. 2 - Ilustrao de um roteador interligando duas redes.

Um firewall um computador conectado a uma rede local e ao mesmo tempo a uma rede externa. Este tipo de hospedeiro tem a funo de filtrar determinados servios que a rede interna no necessita compartilhar externamente, ou seja, o firewall pode permitir ou negar determinados servios para uma rede externa.

Fig. 3 - Ilustrao de um firewall filtrando uma rede interna.


ADMINISTRAO DE REDES LINUX - 17

VISO GERAL DE REDES TCP/IP

Por exemplo, pode existir firewall entre as redes interna e externa assegurando que nenhum cliente fora da rede interna ter acesso s informaes de um banco de dados. A verdade que, em uma rede TCP/IP, um hospedeiro pode ser qualquer combinao desses itens descritos anteriormente. Um mesmo computador pode ser um servidor para um servio, ao mesmo tempo, que atua como cliente de outro e, simultaneamente, pode estar realizando roteamento de pacotes de uma rede para outra. O exemplo mais fcil de visualizar esta miscelnea de hosts com papis variados a Internet; formada por uma grande quantidade de mquinas atuando como servidores, clientes, roteadores e firewalls.

1.2 - O Protocolo IP
O protocolo IP - Protocolo Internet - a chave da interligao de redes que utilizam tecnologias e hardwares diferentes. Uma das caractersticas mais importantes do Protocolo IP a diviso da informao a ser transportada de um ponto ao outro em fragmentos denominados datagramas. Todo datagrama dividido em cabealho e corpo. No cabealho encontram-se informaes como: origem e destino do pacote, e informaes especficas do protocolo pertinente a este pacote; j o corpo do datagrama utilizado para armazenar os dados, ou seja, ao mandar um e-mail a concatenao do corpo dos datagramas no destino formar a mensagem original do e-mail enviada pela origem. O datagrama tem uma estrutura padronizada pelo protocolo IP que independentemente do hardware utilizado. A principal vantagem do IP reside no fato de transformar redes fisicamente separadas, com diferentes hardwares, em uma rede funcionalmente homognea. O protocolo IP, conseqentemente, requer uma forma de endereamento independente do hardware, para isto existe o que chamamos de endereamento IP que ser explicado mais frente no tpico sobre endereos IP. 18 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

Fig. 4 - Ilustrao da transferncia de dados atravs de datagrama.

Para saber mais sobre a estrutura do datagrama IP, acesse o endereo http://www.cisco.com/univercd/cc/td/doc/cisintwk/

ito_doc/ip.htm, ou consulte uma bibliografia especializada.

1.3 - O Protocolo TCP


O protocolo TCP - Protocolo de Controle de Transmisso - tem como objetivo controlar os dados quando esto em trfego, de forma que todos dados enviados de uma mquina devem ser divididos em pacotes pelo emissor, podendo trafegar por caminhos distintos e, finalmente, serem remontados corretamente pelo receptor. O protocolo tambm cuida da perda de pacotes no trajeto entre um ponto e outro, solicitando a retransmisso do pacote ao remetente. Vejamos um exemplo: duas redes compartilham um roteador, ponto de passagem entre duas redes. Se vrias mquinas da mesma rede enviarem pacotes para uma outra mquina da outra rede, obviamente estes pacotes devem passar pelo roteador e se a quantidade de trfego gerada for intensa, alm da capacidade de repasse, este poder ficar sem espao livre no buffer, sendo incapaz de retransmiti-lo. O protocolo IP resolve este problema simplesmente descartando pacotes. Porm, o protocolo TCP faz com que a mquina cheque a integridade dos dados e solicita a retransmisso dos pacote faltantes em caso de erros.
ADMINISTRAO DE REDES LINUX - 19

VISO GERAL DE REDES TCP/IP

Assim, toda vez que um pacote enviado na rede, o protocolo TCP cuida das confirmaes de recebimento. Portanto, dito que o protocolo TCP constri um servio confivel sobre o protocolo IP. Outra caracterstica importante do TCP o controle de fluxo. Ao enviar dados na rede, a parte receptora indica parte transmissora a quantidade de bytes que podem ser recebidos aps os ltimos dados recebidos, assim evita-se ultrapassar o limite da capacidade de buffer da mquina receptora.

1.4 - Teoria de Protocolo de Rede


Para toda comunicao existe uma linguagem. Comunicao impossvel sem algum tipo de linguagem ou cdigo pr-estabelecido. Em redes de computadores, estes cdigos de comunicao so chamados de protocolos. Logo, em uma comunicao de computadores existem regras bem definidas e formalizadas, ou seja, atravs dos protocolos que os dados conseguem fluir de modo organizado e sem perdas. Outro aspecto importante no processo de comunicao a hierarquia de protocolo. A hierarquia de protocolo baseada em uma srie de camadas ou nveis que so dispostas uma em cima da outra, de forma semelhante a uma pilha de protocolos. O nmero, o nome, o contedo e a funo de cada camada difere de uma rede para outra. Porm, o objetivo de cada camada oferecer determinados servios para as camadas superiores, tornando-se um filtro e conversor de dados para a camada superior. No mbito lgico da rede, a camada n comunica com a camada

n da outra mquina. As regras e convenes usadas nessa comunicao so chamadas de protocolo. Resumidamente, um protocolo um conjunto de regras sobre o modo como se dar a comunicao entre as partes envolvidas. Assim, ao comunicarse com determinada mquina, existem regras que devem ser respeitadas conjuntamente. Caso isto no acontea, a comunicao ser dificultada e, em alguns casos, pode impossibilit-la, ocorrendo o que chamamos de violao do protocolo. 20 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

Veja o exemplo de uma comunicao baseada em camadas:

HOST - 1
CAMADA - 4 CAMADA - 3 CAMADA - 2 CAMADA - 1

HOST - 2
CAMADA - 4 CAMADA - 3 CAMADA - 2 CAMADA - 1
INTERFACE ENTRE AS CAMADAS 3 E 4

MEIO FSICO
Fig. 5 - Comunicao atravs de camadas.

O conjunto de camadas de um protocolo chamada de arquitetura de rede. Entre cada par de camadas adjacentes existe uma interface. A interface consiste nas operaes e servios que a interface deve prover para camada superior a ela. A especificao de uma arquitetura deve conter informaes suficientes para permitir que um desenvolvedor crie um programa ou construa um hardware de cada camada de modo que transmita-o corretamente ao protocolo adequado. As operaes e servios que ocupam as mesmas camadas em diferentes mquinas so chamadas de pares - peers. Em outras palavras, so os pares que se comunicam usando o protocolo. Na verdade, os dados no so transferidos diretamente da camada n de uma mquina para a camada n de outra mquina. Cada camada transfere os dados e as informaes de controle para a camada imediatamente abaixo dela, at a ltima camada ser alcanada. Abaixo da camada 1 est o meio fsico atravs do qual se d a comunicao propriamente dita. O objetivo deste material no aprofundar muito na extensa teoria de redes, mas sim dar embasamento terico para a prtica de administrao de redes. Veja os links indicados e a bibliografia para saber mais sobre este assunto no final do captulo.
ADMINISTRAO DE REDES LINUX - 21

VISO GERAL DE REDES TCP/IP

1.4.1 - O Modelo OSI O modelo de referncia OSI - Open System Interconnection - conhecido como o modelo de padronizao de tecnologias de redes de computadores. O modelo OSI teve como objetivo estabelecer uma regra e direcionamento no desenvolvimento de modelos de arquiteturas de redes. O modelo OSI define 7 camadas. Estas camadas esto dispostas da seguinte forma:
APLICAO APRESENTAO SEO TRANSPORTE REDE ENLACE DE DADOS FSICA

Fsica Esta camada tem como funo adaptar o sinal de comunicao com o meio de transmisso. Esta camada possui acesso fsico ao meio de transmisso e, portanto, trata de fatores como especificao eltrica, mecnica e outros fatores fsicos que fazem a interface entre o equipamento e o meio de transmisso. Enlace de dados Esta camada trata a organizao dos dados em pacote. Quando um pacote enviado, esta camada responsvel pelo ltimo empacotamento antes da transmisso. Quando um pacote recebido, este verifica, em primeira instncia, a integridade do pacote. Se o pacote apresentar erros, este ser descartado. Rede Responsvel pela tabela de roteamento, portanto, esta camada 22 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

controla o envio de pacotes para os dispositivos corretos e deve garantir que o pacote chegue ao dispositivo correto. Transporte Esta uma camada intermediria que tem a funo de corrigir as eventuais deficincias provenientes do nvel rede. Seo Fornece servios como controle de comunicao (dilogo), gerenciamento de token (sinalizao) e gerenciamento de tarefas. Apresentao Esta camada tem como objetivo manipular dados antes do envio ao prximo nvel, ou seja, neste nvel vrias transformaes so feitas, por exemplo: criptografia, compresso etc. Aplicao Este nvel oferece os meios de aplicao para que seja possvel a comunicao atravs do protocolo OSI. Nesta camada so definidas as funes de gerenciamento e mecanismos que tm como finalidade dar suporte ao desenvolvimento de aplicaes em rede para o usurio. 1.4.2 - Modelo TCP/IP O protocolo TCP/IP - Protocolo de Controle de Transporte/Proto-

colo Internet - foi desenvolvido na plataforma UNIX e, atualmente, o protocolo mais utilizado no mundo. O protocolo TCP/IP, na verdade, uma pilha de protocolo, ou seja, no est limitado ao TCP e o IP. A sigla TCP/IP refere-se aos dois principais protocolos: o TCP, que trabalha na camada de transporte, e o IP, que trabalha na camada de rede. O protocolo IP permite a comunicao de dois pontos da rede sem a necessidade destes estarem no mesmo meio fsico. J o TCP fornece uma conexo confivel sobre o IP.
ADMINISTRAO DE REDES LINUX - 23

VISO GERAL DE REDES TCP/IP

Vejamos como est estruturado o protocolo TCP/IP:


APLICAO TRANSPORTE INTERNET ACESSO DE REDE

Acesso de Rede Similar a camada fsica do protocolo OSI. Tem a funo de determinar as caractersticas eltricas e mecnicas do meio de transmisso. Enfim, especificar os aspectos fsicos da comunicao. Internet Nesta camada o IP o protocolo mais importante. Esta camada, assim como o protocolo IP, tem a funo de tornar as redes homogneas entre si, ou seja, tem a funo de reunir redes com arquiteturas diferentes, fazendo com que sejam transparentes. Transporte Nesta camada encontram-se os protocolos TCP e UDP - Protoco-

lo de Datagrama de Usurio. Esta camada tem a responsabilidade de transmitir e controlar o envio de dados. Aplicao Aplicao a camada que interage com o usurio. Exemplos de interao so: o smtp (envio de e-mail), o telnet (terminal remoto), o ftp (transferncia de arquivos).

TCP/IP
APLICAO

OSI
APLICAO APRESENTAO SEO

TRANSPORTE INTERNET ACESSO DE REDE

TRANSPORTE REDE ENLACE DE DADOS FSICA

Fig. 6 - Comparao do modelo TCP/IP com o OSI.

24 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

Para saber mais sobre o funcionamento do protocolo TCP/IP, acesse o endereo: http://www.cisco.com/univercd/cc/td/doc/

product/iaabu/centri4/user/scf4ap1.htm.

1.5 - RFC
Os protocolos do conjunto TCP/IP so definidos por documentos chamados de Request for Comments (RFC). A princpio, as RFCs definem os padres dos protocolos TCP/IP, entretanto vrios outros tipos de documentaes foram acrescentadas, incluindo artigos e dicas de como gerenciar uma rede TCP/IP. As RFCs podem ser criadas e enviadas por qualquer pessoa desde que seja aprovado pela Internet Engineering Steering Group (IESG). As RFCs podem ser acessadas atravs do endereo http://www.ietf.org/rfc.html. As RFCs mais conhecidas que definem padres associados rede TCP/IP so: RFC 768 - User Datagram Protocol. RFC 791 - Internet Protocol. RFC 792 - Internet Control Message Protocol. RFC 793 - Transmission Control Protocol.

1.6 - O Endereo IP
Como comunicar e/ou localizar uma mquina na Internet? Todo
hospedeiro tem um endereo exclusivo. O endereo IP na verso 4 (ipv4), que atualmente o mais utilizado, um nmero de 32 bits. Voc est acostumado a ver endereos de Internet como

www.sistemasabertos.com.br e www.linux.org; porm, na verdade, este nome est referenciado a um endereo IP que permite acesso a determinada mquina sem a necessidade de decorar nmeros. Um endereo IP , normalmente, representado por quatro nmeros decimais, um para cada poro de 8 bits, separados por pontos. Logo, o endereo IP um nmero formado por 4 octetos, cada octeto com 8 bits.

Nota: Atualmente est em teste e futuramente em uso o IP v6, de 6 octetos com capacidade de enderear muito mais endereos
ADMINISTRAO DE REDES LINUX - 25

VISO GERAL DE REDES TCP/IP

que o atual IP v4. Para saber mais sobre o IP verso 6, acesse o endereo http://www.cisco.com/univercd/cc/td/doc/cisintwk/ ito_doc/ipv6.htm.
Por exemplo, uma nica mquina pode ter um endereo de IP geralmente expresso de 3 formas: 149.76.12.4 = notao decimal de quatro partes, a mais utilizada e mais legvel; 0x954C0C04 = notao hexadecimal; 10010101.01001100.00001100.00000100 = notao binria. Note a quantidade de 32 bits, divididos em 4 octetos (conjuntos de 8 bits) e a correspondncia entre cada octeto com o valor decimal equivalente. 1.6.1 - Nmero IP: Identificando Rede e Mquina Simplesmente para tornar o controle da atribuio de nmeros IP mais organizada, os criadores do TCP/IP resolveram dividir o nmero IP em duas partes: 1. Nmero de rede: este nmero est contido em um ou mais octetos do nmero IP, indicando em que rede o hospedeiro est conectado. Cada rede deve ter endereo nico. 2. Nmero de mquina: este o nmero de identificao da mquina na rede. atravs deste nmero que localizamos um determinado host na rede, este nmero tambm deve ser nico na rede. Assim, o nmero IP possui uma estrutura do tipo <nmero da rede, nmero do host>. Por exemplo, poderamos ter um nmero IP com 13.121.111.1, onde 13 o nmero que identifica a rede e 121.111.1 identifica um host desta rede.

1.7 - Classes de Endereos IP


Ao iniciar a distribuio dos nmeros IP para empresas, os criadores do TCP/IP perceberam que era vantajoso definir blocos de endereos contguos, no sentido de facilitar a administrao. Verificaram tambm que as empresas tinham portes diferentes, e com isto surgiram as classes, que alm de definir tipos de 26 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

redes de tamanhos diferentes. Quando alguma empresa necessitava de nmeros IP, era fornecido um bloco contguo de endereos IP de uma classe adequada sua necessidade, baseada na quantidade de hosts a serem identificados com nmeros IP. Foram definidos 5 tipos de classes: A, B, C, D e E. Para se identificar uma classe, procurou-se definir algo que seria melhor implementado em nvel de hardware. Por isto, cada classe, foi definida baseando-se no primeiro dos quatro bytes do nmero IP, como segue:

Classe Valor binrio Faixa de valores expressos Faixa de valores expressos do 1 byte em binrio do 1 byte em decimal do 1 byte A B C D E 0XXXXXXX 10XXXXXX 110XXXXX 1110XXXX 11110XXX 00000000 a 01111111 10000000 a 10111111 11000000 a 11011111 11100000 a 11101111 11110000 a 11110111 0 a 127 128 a 191 192 a 223 224 a 239 240 a 254

Assim, para identificar um nmero IP pertencente classe A basta saber o valor do bit do primeiro byte. Caso seja 0 pode-se concluir imediatamente que refere-se classe A, caso contrrio devese testar o segundo bit. Se o segundo bit for 0 pode-se concluir imediatamente que refere-se classe B, caso contrrio deve-se verificar o terceiro bit, e assim por diante. Note ento que para identificar uma classe, basta saber qual a posio do bit 0 no primeiro byte. Quando este valor binrio convertido em valor decimal, podemos compreender melhor a faixa de endereos IP definidos por cada classe. Por exemplo, todo endereo IP de classe A tem o primeiro byte localizado na faixa de 0 a 127. Vejamos mais sobre cada classe! Classe A Por padro, este tipo de classe compreende os endereos de 0.0.0.0 at 127.255.255.255, sendo que, o nmero de rede est contido no primeiro octeto, ou seja, o endereo de rede varia de
ADMINISTRAO DE REDES LINUX - 27

VISO GERAL DE REDES TCP/IP

0 a 127, um total de 128 redes. A classe A possibilita que a parte do endereo reservada s mquinas tenha um tamanho de aproximadamente 24 bits (trs ltimos octetos), possibilitando assim obter matematicamente 224 = 16.777.216 endereos de hosts, que na prtica um nmero muito grande.
Endereo de rede 0 - 127 0 - 255 Endereo de host 0 - 255 0 - 255

Nota: Como o endereo IP um nmero de 4 octetos de 1 byte, os valores decimais para cada octeto pode variar de 0 a 255.
O endereo de rede corresponde apenas ao primeiro octeto, podendo estar entre o nmero 0 e 127. J o endereo de host tem trs octetos podendo variar de 0 at 255. Qualquer endereo IP que contenha as caractersticas acima considerado um endereo IP de classe A. Note que esta classe enderea 50% dos endereos IP possveis, uma vez que relativo a todos endereos IP que tiverem o primeiro bit do primeiro byte com valor 0, exatamente a mesma quantidade de 50% dos restantes, que tm valor 1 no primeiro bit. Existem dois tipos de endereos reservados desta classe, que tem um uso especial: 0.0.0.0 - este endereo IP nunca ser atribudo a um host, uma vez que utilizado para referenciar todas redes ou qualquer rede. muito usado para definir o ponto de passagem para outras redes (gateway) padro de um host. Por exemplo, para definir o gateway padro de uma mquina, o seguinte comando pode ser executado: route add -net 0.0.0.0/0 gw 10.0.0.1 Este comando significa que estamos adicionando (add) o caminho (route) para todas redes (-net 0.0.0.0/0) que necessariamente dever passar pelo gateway (gw 10.0.0.1). Neste exempo, estamos apenas adiantando um pouco o que veremos detalhadamente adiante. 127.X.X.X - este tipo de endereo, que inicia-se com o valor 127, e com qualquer valor para os outros octetos, tambm utilizado 28 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

para referenciar o seu prprio host. Este endereo tambm denominado endereo de loopback, porque bastante til para executar testes na pilha TCP/IP, permitindo que voc verifique, por exemplo, a comunicao de um software cliente com um servidor na mesma mquina. Experimente executar: ping 127.0.1.2 ou ping 127.234.1.1; note que se voc tiver instalado corretamente a pilha TCP/IP, voc sempre ir obter resposta, pois voc est pingando na sua prpria mquina. Apesar de poder ser qualquer nmero IP com o primeiro octeto com valor 127, o valor 127.0.0.1 o mais utilizado como endereo de loopback.

Nota: No fundo, definir todo o endereo de loopback iniciando-se com 127 foi um certo contra-senso, uma vez que seria necessrio apenas um. Ou seja, foram desperdiados cerca de 16 milhes de nmeros IP que no podem ser utilizados para outro tipo de endereamento. Porm isto no pode ser mais corrigido, pois seria muito complicado atualizar todo software e hardware que suporta este tipo de endereo de loopback.
Classe B Por padro, os endereos de rede desta classe esto na faixa 128.0 191.255. Observe que o endereo de rede est contido nos dois primeiros octetos, no primeiro octeto o nmero deve estar no intervalo de 128 a 191, enquanto o segundo octeto pode variar entre 0 e 255. Os ltimos dois octetos ficam reservados ao endereo de host, estes dois ltimos octetos podem variar de 0 a 255.
Endereo de rede 128 - 191 0 - 255 0 - 255 Endereo de host 0 - 255

Como os dois bits iniciais deste endereo so utilizados para indicar esta classe, no variando seus valores, temos apenas 6 + 8 =14 bits restantes, que podem variar e, portanto, permitem 2 14 =16.384 endereos de rede. Note que o restante dos bits utilizado para endereamento de host, ou seja, suportam at 216 = 65.536 endereos de host para cada rede.
ADMINISTRAO DE REDES LINUX - 29

VISO GERAL DE REDES TCP/IP

Classe C Por padro, esta classe utiliza somente o ltimo octeto para uso de endereamento de mquinas nas redes de Classe C.
Endereo de rede 192 - 223 0 - 255 0 - 255 Endereo de host 0 - 255

Observe que o primeiro octeto deve estar entre os nmeros 192 e 223, j o segundo e o terceiro podem assumir valores entre 0 e 255. Os endereos de hosts ficam restritos ao ltimo octeto, podendo assumir valores de 0 a 255. Como os trs bits iniciais deste endereo so utilizados para indicar esta classe, no variando seus valores, temos 5 + 8 + 8 = 21 bits restantes, que podem variar e, portanto, permitem 221 = 2.097.152 endereos de rede. Note que o restante dos bits, utilizado para endereamento de host, ou seja, suportam at 28 = 256 endereos de host para cada rede. Classes D, E Estes endereos so especiais. Um endereo classe D usado para multicasting [multidifuso], que de uma forma bem simplificada, qualquer comunicao entre um simples remetente e vrios destinatrios. Diferente das mensagens de broadcast [difuso], as quais so enviadas para todos os endereos de uma rede, mensagens multicast so enviadas para um subconjunto de uma rede de endereos, portanto pode ser considerado como um broadcast dirigido. Devido sua caracterstica de ser direcionada a pblico especfico e boa performance, utilizada principalmente em aplicaes de vdeoconferncia, e-learning, notcias etc. Para saber mais sobre multicasting, acesse o endereo: http://www.cisco.com/warp/

public/cc/pd/iosw/tech/ipmu_ov.htm . Os endereos classe E


so utilizados para fins experimentais.

1.8 - Endereo de Rede e Broadcast [Difuso]


Assim como foi padronizado que os endereos 127.X.X.X e 0.0.0.0 30 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

so utilizados, respectivamente, para endereos de localhost e rede padro, tambm foram padronizados os seguintes endereos especiais: broadcast [difuso] - o endereo utilizado para enviar mensagens para todos da mesma rede, ou seja, difundir uma mensagem para todos. Assim como ocorre nos transmissores de rdio, atravs do processo denominado radiodifuso. Por padro, o endereo de broadcast obtido atribuindo-se todos os bits da poro do endereo de host para o valor 1. Por exemplo, suponha que tenhamos o endereo de classe A 10.1.2.3; qual o endereo de broadcast padro? O endereo de broadcast 10.255.255.255. de rede - o endereo empregado para definir a rede e no um host especfico. Por padro, o endereo de rede obtido atribuindo-se todos os bits da poro do endereo de host para o valor 0. Por exemplo, suponha que tenhamos o endereo de classe A 10.1.2.3; qual o endereo de rede? O endereo de rede 10.0.0.0.

1.9 - Mscara de Rede


Um conceito muito importante introduzido aps a padronizao das classes foi o conceito de mscara de rede. A mscara de rede utilizada para delimitar o endereo de rede e o endereo de host de um endereo IP. Veja o exemplo, para o endereo IP de classe A 10.1.2.3 e mscara de rede 255.0.0.0:
Descrio Nmero IP Msc. de rede (em binrio) Msc. de rede (em decimal) End. de rede 10. 11111111. 255. 1.2.3 00000000.00000000.00000000 0.0.0 Endereo de host

Msc. de rede (quant. de 1s) 8

A mscara um valor de 32 bits, exatamente como um endereo IP, podendo ser expressa tambm nas formas decimal e hexadecimal. A mscara de rede por padro define todos os bits
ADMINISTRAO DE REDES LINUX - 31

VISO GERAL DE REDES TCP/IP

do primeiro byte igual a 1 (equivale ao valor 255) para o endereo de rede. Para os endereos de hosts ela deve ter todos os bits iguais a 0 (nmero 0 na forma decimal). Outra maneira de expressar a mscara de rede a quantidade de bits 1, no caso para a classe A acima, tem um valor de 8. Portanto, uma forma resumida do endereo acima, juntamente com sua mscara de rede, o valor 10.1.2.3/255.0.0.0 ou 10.1.2.3/8. Isto implica que: Mscara de rede Classe A - tem valor 255.0.0.0. Pois na classe A o endereo de rede est contido no primeiro octeto, onde a mscara de rede est definida com todos os bits iguais a 1 (na forma decimal 255). Observe que os endereos de host esto nos ltimos trs octetos em que a mscara de rede tem todos os bits iguais a 0. Pode tambm ser denominada como mscara de valor 8. Mscara de rede Classe B - tem valor 255.255.0.0. Pois o endereo de rede Classe B est contido nos dois primeiros octetos em que a mscara de rede tem todos os bits iguais a 1. Neste caso, os endereos de hosts ficam reservados aos ltimos dois octetos em que a mscara de rede tem todos os bits iguais a 0. Pode tambm ser denominada como mscara de valor 16. Mscara de rede Classe C - tem valor 255.255.255.0. Pois o endereo de rede Classe C est contido nos trs primeiros octetos em que a mscara de rede tem todos os bits iguais a 1. Como o endereo de hosts est contido no ltimo octeto, o octeto correspondente da mscara deve ter todos os bits iguais a 0. Pode tambm ser denominada como mscara de valor 24.

1.10 - Sub-Rede
Ao utilizar o esquema de classes acima, na prtica percebeu-se que a quantidade de hosts disponibilizada por uma rede de uma classe ora era muito pouca ou era excessiva para o uso de uma entidade. Lembre-se que a faixa de endereos classes A, B e C correspondem a 65 milhes, 65 mil e 255 endereos de hosts 32 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

respectivamente e que quando uma rede de alguma destas classes era fornecido para uma entidade, pecava-se pelo excesso, desperdiando uma quantidade enorme de endereos IP. Para resolver este problema, surgiu a idia de sub-rede, lanada na RFC950 e que proporcionou um melhor aproveitamento do conjunto de nmeros IP disponveis, fornecendo faixas de endereos IP sob medida de acordo com a necessidade de cada entidade. O esquema original de mscara de rede, com mscaras 255.0.0.0, 255.255.0.0 e 255.255.255.0 para as classes A, B e C respectivamente, considerada como mscara natural; enquanto que o novo esquema utilizado em sub-redes baseado no avano dos bits de valor 1 para direita do esquema antigo. Por exemplo, suponha que tenhamos o nmero IP 10.1.2.3, com mscara de sub-rede 255.255.0.0. Note que a mscara natural para a classe deste endereo 255.0.0.0 e ela foi estendida para 255.255.0.0, ou seja, estendendo a parte que determina a parte de rede do endereo IP.

Nota: Devido ao avano dos bits 1 a partir da mscara natural, estendendo a parte de endereamento de rede do nmero IP, a mscara de sub-rede tambm chamada de mscara de rede estendida.
Classe A B C Primeiro byte bit 0 + 7 bits de endereo de rede bits 10 + 14 bits de endereo de rede bits 110 + 21 bits de endereo de rede Segundo byte Terceiro byte Quarto byte

24 bits disponveis 16 bits disponveis 8 bits disponveis

Note neste quadro acima, que em endereos IP classes A, B, C, temos 24, 16 e 8 bits disponveis respectivamente para o avano da mscara de sub-rede e endereo de host. Portanto, a mscara de sub-rede pode avanar somente at o antepenltimo bit, pois se avanarmos at o penltimo bit, teremos disponvel somente 1 bit para o nmero de host, o que seria insuficiente para identificar hosts reais, uma vez que o bit 0 seria para identificar a
ADMINISTRAO DE REDES LINUX - 33

VISO GERAL DE REDES TCP/IP

rede e o bit 1 para broadcast. Da mesma forma, se avanarmos at o ltimo bit, no teramos mais bits disponveis para identificar hosts. Portanto, para a mscara de sub-rede, para as classes A, B e C, temos disponvel para avanar 22, 14 e 6 bits respectivamente. Outro conceito importante a ser notado o nmero de sub-rede. Antes da sub-rede, todo nmero IP era do tipo <nmero da rede, nmero do host>, com o uso de sub-redes, o endereo IP pode ser expresso de uma forma diferente: <nmero da rede, nmero da sub-rede, nmero do host>. Por exemplo, suponha que tenhamos um nmero IP 10.1.2.3, com mscara de sub-rede 255.255.0.0. Este nmero proporciona o valor de 10 como nmero de rede, 1 como nmero de sub-rede e 2.3 como nmero de host.

Nota: Um equvoco muito comum determinar a classe de um endereo baseado na mscara que um endereo IP utiliza. O que define a classe a qual um endereo IP pertence seu primeiro octeto. Por exemplo: O endereo IP 11.0.0.101 um endereo IP de classe A, pois seu primeiro octeto tem valor entre 0 e 127 independente da mscara que estiver usando.
Agora vem uma boa pergunta: At o momento s temos lidado com mscaras de sub-rede que ocupam totalmente um octeto, por exemplo 255.255.0.0, 255.255.255.0; e se utilizarmos uma mscara de sub-rede que ocupa parte de um octeto, como 255.255.255.248? Veja como fica esta mscara convertida em base binria:
255. 11111111. 255. 11111111. 255. 11111111. 248 11111000

Quando usamos mscaras de sub-rede como esta, temos um clculo mais complexo. Para visualizar isto, vamos mostrar um exemplo: temos a rede 200.163.79.0. Se utilizarmos a mscara de sub-rede 255.255.255.248, estaremos aumentando a parte de rede e diminuindo a parte de hosts. Vamos ver como calcular quais so as sub-redes e seus possveis nmeros IP. 34 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

Os endereos de rede so obtidos fixando-se a parte de host com bits 0s e variando-se a parte de sub-rede. Ou seja, teremos as sub-redes variando de 00000000=0 a 11111000=248. Veja o quadro:
Sub-rede (em binrio) 00000000 00001000 00010000 00011000 ... 11111000 0 8 16 24 ... 248 Sub-rede (em decimal)

Note que para obtermos as sub-redes, simplesmente somamos recursivamente o valor de 8 (equivalente a 1000 binrio) ao valor da primeira sub-rede 00000000. Se aplicarmos esta regra, obteremos as seguintes sub-redes: 0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128, 136, 144, 152, 160, 168, 176, 184, 192, 200, 208, 216, 224, 232, 240, 248, ou seja, 32=25 subredes, ou seja, 2n sub-redes, onde n a quantidade de bits disponibilizados a mais para formao de sub-rede. Agora que j obtemos as sub-redes, suponha que tenhamos o endereo IP 200.163.79.10. Qual o endereo de rede, sub-rede e host? Veja o quadro:
Endereo IP Endereo de rede Endereo de sub-rede Endereo de host Endereo IP (em binrio) Mscara de sub-rede (em binrio) 200.163.79.9 200.163.79 8 = 1000 2 = 010 11001000.10100011.01001111.00001010 11111111.11111111.11111111.11111000

Note pela mscara de sub-rede (em binrio) que ela divide as partes que nos interessa: - O endereo de rede permanece sempre o mesmo, independentemente se est usando mscara de rede ou sub-rede: 200.163.79.
ADMINISTRAO DE REDES LINUX - 35

VISO GERAL DE REDES TCP/IP

Note que exatamente a parte indicada pela parte de rede da mscara: 11111111.11111111.11111111. - O endereo de sub-rede a parte indicada pela mscara com os bits 1: observe no quarto octeto, que os bits 1 indicam a parte de sub-rede, ou seja 00001000, equivalendo sub-rede 8. - O endereo de host a parte indicada pela mscara com os bits 0: observe no quarto octeto, que os bits 0 indicam a parte de host, ou seja 00000010, equivalendo ao host 2. Seguem mais exemplos: para o endereo IP 200.163.79.19 e mscara de rede 255.255.255.248, temos os endereos: de rede 200.163.79, de sub-rede 16 e de host 3. Para o endereo IP 200.163.79.253 temos os endereos: de rede 200.163.79 ou 200.163.79.0, de sub-rede 248 ou 200.163.79.248 e de host 5. Note que para obtermos a sub-rede, basta verificarmos a maior sub-rede calculada possvel para o nmero IP em questo e o nmero de host obtido subtraindo-se este nmero. Por exemplo, veja que para o nmero IP 200.163.79.253 a maior sub-rede calculada 248 e, portanto, o nmero de host 253-248=5. Observe tambm, neste caso, que no uso de mscara de subrede, obtivemos 32 endereos de sub-redes, com 8 endereos de hosts cada, sendo que 2 so especiais (de rede e de broadcast), portanto somente 6 podem ser utilizados para enderear hosts reais. Portanto, utilizando sub-redes, voc teria 32x6=192 endereos reais de hosts. Por exemplo, vejamos somente os hosts da sub-rede 200.163.79.248:
Endereo IP 200.163.79.248 200.163.79.249 200.163.79.250 200.163.79.251 200.163.79.252 200.163.79.253 200.163.79.254 200.163.79.255 Endereo (em binrio) 11001000.10100011.01001111.11111000 11001000.10100011.01001111.11111001 11001000.10100011.01001111.11111010 11001000.10100011.01001111.11111011 11001000.10100011.01001111.11111100 11001000.10100011.01001111.11111101 11001000.10100011.01001111.11111110 11001000.10100011.01001111.11111111 Tipo de endereo Especial de Rede Normal de host Normal de host Normal de host Normal de host Normal de host Normal de host Esp. broadcast

36 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

At o momento, mostramos um endereo classe C. Tambm bom apresentar um exemplo para um endereo IP classe B e observarmos as diferenas. Suponha por exemplo, que recebemos uma rede classe B, 140.10.0.0 e de acordo com um levantamento da necessidade da empresa em que trabalha, so necessrias 50 sub-redes, com no mnimo 200 hosts cada sub-rede, podendo ter um possvel crescimento de 50% em sub-redes (esta realmente uma grande empresa). Vem a pergunta: qual a mscara de sub-rede ideal e suas conseqentes sub-redes? Veja o quadro:
Quantidade de bits de sub-rede 1 2 3 4 5 6 7 ... N Valor de octeto de mscara de sub-rede 128 (10000000) 192 (11000000) 224 (11100000) 240 (11110000) 248 (11111000) 252 (11111100) 254 (11111110) ... 1111. . .1000 onde n a quantidade de bits 1 Quantidade de sub-rede 2 4 8 16 32 64 128 ... 2n

Note que quanto mais a mscara de sub-rede avana em quantidade de bits 1, maior a quantidade de sub-redes e menor a quantidade de hosts. Lembrando tambm que para as classes A, B e C, podemos avanar a mscara de sub-rede em no mximo 22, 14 e 6 bits respectivamente. Portanto, o maior avano que podemos fazer na sub-rede do nosso exemplo de 14 bits. Se atualmente temos 50 sub-redes, com possvel crescimento de 50%, temos uma previso de crescimento em at 75 subredes. Observe que se avanarmos 6 bits, seria suficiente para a arquitetura atual da rede, no entanto no seria suficiente para o previsto futuramente. Portanto, o avano de 7 bits seria suficiente, permitindo at 128 sub-redes. Podemos escolher ento, a mscara de sub-rede de 7 bits, ou seja, 255.255.254.0=11111111. 11111111.11111110.00000000.
ADMINISTRAO DE REDES LINUX - 37

VISO GERAL DE REDES TCP/IP

Agora vamos calcular as sub-redes. As sub-redes sero de 0 (000000000) a 254 (11111110), sempre mantendo o ltimo bit com 0, uma vez que este bit est alocado para endereamento de hosts. Portanto, a segunda sub-rede ser (00000010=2), a terceira sub-rede ser (00000100=4) e assim por diante. Ou seja, sero todas redes pares (de 2 em 2) a partir de 0 at 254, ou seja, exatamente as 128 sub-redes citadas anteriormente. Para a mscara de sub-rede determinada acima, 255.255.254.0 e nmero IP 140.10.27.10, qual seria o endereo de rede, de subrede e de host? Veja o quadro abaixo:
Endereo IP Endereo de rede Endereo IP (em binrio) Mscara de sub-rede (em binrio) Endereo de sub-rede Endereo de host 140.10.27.100 140.10 (o endereo classe B e a mscara 255.255.0.0) 10001100.00001010.00011011.00001010 11111111.11111111.11111110.00000000 26 = 00011010 266 = 100001010

Veja neste exemplo, que foram aplicadas as mesmas regras para o exemplo anterior da classe C, a diferena foi que surgiu uma curiosidade: o endereo de host para este endereo IP 266, ou seja, acima do valor de um octeto de valor mximo 255. Isto totalmente normal, uma vez o endereo de host ficou com 9 bits, 1 bit a mais que um octeto, totalizando 29 = 512 endereos. 1.10.1 - Entidades de Alocao de Endereos At o momento, sabemos que os blocos de endereos podem ser atribudos para empresas, que por sua vez podem repasslas para outras empresas ou filiais, fazendo uso de sub-redes. Mas surge uma boa pergunta: quem fornece uma rede ou subrede? Mundialmente existe uma hierarquia de organizaes, que cuidam da alocao dos endereos IP, dispostos em blocos, geralmente atribudos a continentes, pases, empresas, etc. Veja o esquema: 38 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

Fig. 7 - Hierarquia das entidades de alocao de endereos IP.

Note que quem administra os grandes blocos de endereos IP so: - nvel mundial: IANA (Internet Assigned Numbers Authority -

http://www.iana.org/ipaddress/ip-addresses.htm).
- Amricas (do Norte, Central e do Sul): ARIN (http://www.arin.net/registration/index.html). - Europa: RIPE (Rseaux IP Europens -

http://www.ripe.net).
- sia e Pacfico: APNIC (Asia Pacific Network Information Centre - http://www.apnic.net ). - Brasil: Registro.br ( http://www.registro.br ). administrado atualmente pela entidade pblica FAPESP (Fundao de Amparo Pesquisa do Estado de So Paulo).

1.11 - Endereos IP Para Redes Privadas


Como todo computador da Internet recebe um endereo IP nico, caso queira ter uma rede local prpria, precisar de alguns endereos nicos. Neste caso voc no precisa usar os nmeros vlidos na Internet, porque h um bloco de endereos que foi reservado apenas para as redes privadas. Os endereos de rede apresentados abaixo podem ser utilizados em sua rede local. Vejamos: 10.0.0.0 - 10.255.255.255 - permite enderear uma rede classe A. 172.16.0.0 - 172.31.255.255 - permite enderear 16 redes classe B. 192.168.0.0 - 192.168.255.255 - permite enderear 256 redes classe C.
ADMINISTRAO DE REDES LINUX - 39

VISO GERAL DE REDES TCP/IP

Para conhecer mais detalhadamente o uso de endereos privados, acesse o endereo: http://www.cisco.com/warp/public/

701/35.html.

1.12 - O Nmero de Porta


Embora o endereo IP seja suficiente para localizar um computador, necessrio localizar tambm um aplicativo especfico naquele computador. Por exemplo, se a mensagem que est sendo recebida for uma correspondncia eletrnica, precisar ser enviada para o leitor de correio. Se a mensagem recebida for uma solicitao de pgina Web, precisa ser roteada para o programa que envia pginas Web. Existe um nmero de identificao, chamado nmero da porta, que enviado em cada mensagem. necessrio que o remetente saiba o nmero da porta, bem como o endereo da porta, portanto, certos nmeros so padronizados. Por exemplo, todo navegador Web sabe que a porta nmero 80 de todos os hospedeiros por padro, de um servidor Web. H tambm nmeros dedicados a correio eletrnico, FTP e a todos os outros tipos de servio da Internet. Embora o nmero padro da porta Web seja 80, possvel especificar um nmero diferente. Por exemplo, se um computador tiver um servidor Web experimental na porta 8080, uma URL para endere-lo poderia ser escrito assim:

http://www.testandook.com.br:8080/index.html
Sempre que uma mensagem enviada de um cliente para um servidor, os nmeros do endereo de retorno e da porta de retorno so includos. O servidor usa esses nmeros para formar o endereo de retorno da mensagem. Sempre que voc inicia seu navegador Web ou leitor de correio eletrnico, eles solicitam mquina local um nmero de porta no utilizado. Eles usam esse nmero como parte do seu endereo de retorno e iro monitorar, e receber, quaisquer mensagens endereadas para aquela porta. por isso que possvel executar 40 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

diversos programas de Internet simultaneamente sem que haja interferncia entre eles.

Fig. 8 - Exemplo de comunicao virtual atravs de porta.

Fig. 9 - Exemplo de comunicao real atravs de porta.

1.13 - Roteamento
Analise o seguinte exemplo: voc mora em Goinia-GO e quer mandar uma correspondncia para Cascavel-PR. O seu primeiro
ADMINISTRAO DE REDES LINUX - 41

VISO GERAL DE REDES TCP/IP

passo seria entregar esta carta ao correio (Goinia) que, porventura, mandaria a carta para o correio de Cascavel que, por sua vez, entregaria para o destinatrio. Em redes de computadores acontece analogamente como foi descrito acima, mas neste caso o correio seria o roteador, ou seja, tudo que no pertencer a rede local ser enviado para o roteador que comunicar com o roteador da outra rede onde se encontra o destinatrio, que por sua vez, entrega para este. Observe que no caso do correio, podem existir roteadores intermedirios em um trajeto; ou seja, o mes-

Fig. 10 - Exemplo de rede interligada atravs de 5 roteadores.

42 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

mo pode primeiramente enviar a carta para So Paulo e somente depois chegaria ao destino, assim acontece com as redes e conseqentemente com a Internet: para comunicar com uma mquina possvel e bastante comum passar por vrios roteadores. A vantagem de utilizar esta forma estruturada est no fato de no haver uma preocupao com o caminho que o pacote percorrer, a nica preocupao est limitada origem e ao destino. Toda a Internet consiste em um nmero de redes prprias que so denominadas como redes autnomas. Cada rede necessita de um roteamento interno que tem a tarefa de entregar o datagrama para a rede da mquina de destino.

1.14 - DNS - Domain Name Service


Raramente os programas fazem referncia a hosts, e-mail e outros recursos utilizando seus endereos binrios de rede - endereos IP. Em vez de nmeros binrios, empregam strings ASCII, como exemplo www.sistemasabertos.com.br. Todavia, a rede em si s compreende endereos binrios; portanto, necessrio algum tipo de mecanismo para converter os strings ASCII em endereos de rede. Esta a grande funo do DNS, transforma strings (nomes) para endereo IP. Um exemplo para ilustrar seria o uso da lista telefnica, conhecendo o nome da pessoa ou estabelecimento, voc adquire o nmero de telefone - nmero necessrio para comunicao. Nas redes de computadores, conhecendo o nome e domnio da mquina, obtm-se o endereo IP - nmero necessrio para comunicao entre computadores. Primeiramente, os nomes e endereos eram armazenados automaticamente no seu computador local por meio de arquivo texto. Na verdade, foi assim que a Internet comeou, e continua sendo uma prtica comum em redes pequenas. To logo uma rede ultrapassa alguns poucos computadores, comeam a surgir os problemas referentes a manter todos os endereos em todos os computadores. Faz sentido automatizar a manuteno da lista. Para resolver este problema foi criado o DNS - Domain

Name Service - que se baseia em um computador que gerencia


ADMINISTRAO DE REDES LINUX - 43

VISO GERAL DE REDES TCP/IP

a lista e faz com que os outros computadores o consultem para procurar endereos.

1.15 - Arquivos Gerais


A partir desta seo, ser utilizado muito o conceito de converso entre bases decimal e binria; e vice-versa. Portanto, extremamente recomendvel que o leitor tenha noo deste assunto. Caso isto no seja de seu conhecimento, procure bibliografia apropriada, ou estude o anexo que trata de converso de nmeros binrios. H uma grande gama de arquivos de configuraes e informaes de rede. Estes arquivos armazenam nmeros de portas e endereos usados nas comunicaes. A grande maioria destes arquivos podem ser editados manualmente. /etc/protocols - Este arquivo define os protocolos de baixo nvel utilizados nas comunicaes de redes TCP/IP. Um pacote, quando enviado, necessita ser encapsulado em um tipo de protocolo, este arquivo serve como uma referncia para saber como desembrulh-lo. Essa referncia feita atravs de ID (Nmeros de Identificao) do protocolo. Para conseguir a conexo em rede, o computador comunica atravs dos nmeros de identificao dos protocolos, os dois hospedeiros concordam com um grupo de ID que usado como etiqueta para identificar o protocolo quando a mensagem chega. Esses nmeros de ID so mantidos no arquivo /etc/ protocols que apresentado a seguir:
ip icmp igmp ggp ipencap st tcp egp pup 0 1 2 3 4 5 6 8 12 IP ICMP IGMP GGP IP-ENCAP ST TCP EGP PUP # internet protocol, pseudo protocol number # internet control message protocol # Internet Group Management # gateway-gateway protocol # IP encapsulated in IP (officially IP) # ST datagram mode # transmission control protocol # exterior gateway protocol # PARC universal packet protocol

44 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP


udp hmp xns-idp rdp iso-tp4 xtp ddp idpr-cmtp rspf vmtp ospf ipip 17 20 22 27 29 36 37 39 73 81 89 94 UDP HMP XNS-IDP RDP ISO-TP4 XTP DDP IDPR-CMTP RSPF VMTP OSPFIGP IPIP # user datagram protocol # host monitoring protocol # Xerox NS IDP # reliable datagram protocol # ISO Transport Protocol class 4 # Xpress Tranfer Protocol # Datagram Delivery Protocol # IDPR Control Message Transport # Radio Shortest Path First. # Versatile Message Transport # Open Shortest Path First IGP # Yet Another IP encapsulation

A primeira coluna o nome do protocolo, a segunda refere-se ao seu nmero de ID. A terceira coluna um nome alternativo, geralmente estar em letra maiscula, mas poderia ser outro nome. Atravs do arquivo possvel observar que existem outros protocolos alm do TCP/IP, alguns destes protocolos so usados na Internet por hospedeiros para obter informaes sobre endereo e roteamento. A grande maioria de mensagens que circulam na Internet usam o protocolo TCP ou UDP. A diferena est exclusivamente na forma com que cada protocolo trata as informaes. O protocolo UDP envia o pacote de dados no se importando se ele ser recebido, enquanto o TCP espera por uma resposta, ou seja, envia o pacote e espera por uma resposta de recebimento por parte do outro hospedeiro. /etc/services - Este arquivo define os nmeros de porta de cada servio. Ter uma entrada neste arquivo no indica necessariamente que o programa estar sendo executado, pois este arquivo apenas controla o nmero de porta que o processo/programa executado. Veja um exemplo deste arquivo:
Tcpumx1 echo echo discard 1/tcp 7/tcp 7/udp 9/tcp sink null #rfc-1078

ADMINISTRAO DE REDES LINUX - 45

VISO GERAL DE REDES TCP/IP


discard systat daytime daytime netstat qotd chargen chargen ftp-data ftp telnet smtp time time rlp name whois domain domain mtp bootps bootpc tftp gopher rje finger http link kerberos kerberos linuxconf hostnames pop-3 pop snmp 9/udp 11/tcp 13/tcp 13/udp 15/tcp 17/tcp 19/tcp 19/udp 20/tcp 21/tcp 23/tcp 25/tcp 37/tcp 37/udp 39/udp 42/udp 43/tcp 53/tcp 53/udp 57/tcp 67/udp 68/udp 69/udp 70/tcp 77/tcp 79/tcp 80/tcp 87/tcp 88/udp 88/tcp 98/tcp 101/tcp 110/tcp 110/tcp 161/udp ttylink kdc #Kerberos authentication-udp kdc #Kerberos authentication-tcp #added by linxuconf RPM hostname #usually to sri-nic #deprecated #bootp server #bootp client mail timeserver timeserver resource nameserver nicname #usually to sri-nic #resource location quote ttytst source sink null users

ttytst source

#PostOffice V.3 #PostOffice V.3

46 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP


snmp-trap login who pcnfs dos 162/udp 513/tcp 513/udp whod 640/udp 7000/tcp msdos #BSB rlogind(8) #BSB rwhod(8) #PC-NFS DOS Authentication

Este arquivo contm os servios mais conhecidos, por exemplo, espera-se que a World Wide Web, baseada no protocolo HTTP, tenha seu servidor escutando a porta 80. Da mesma forma que o servio telnet esteja esperando por solicitaes na porta 23. J o servio ftp requer duas portas - usa a porta 20 para transmitir e receber dados e a porta 21 para enviar e receber informaes de controle (solicitao de interrupo de transferncia de arquivo, por exemplo). Apesar da maioria dos protocolos listados no arquivo especificarem tanto o protocolo de baixo nvel TCP e UDP, estes no so necessariamente implementados nos dois protocolos. A

IANA - rgo oficial regulador da Internet que tem como uma


das atribuies regulamentar as entradas neste arquivo - atribui sempre ao protocolo a reserva de uso dos dois protocolos de baixo nvel TCP e UDP, no sentido de permitir uso futuro. Outra caracterstica deste arquivo, est no fato de que um servio pode ter mais de um nome, veja o servio named que tambm chamado de nameserver. Referncia: Veja a lista PORT NUMBERS disponvel on-line atravs do endereo http://www.isi.edu/in-notes/iana/assignments/

port-numbers.
Vejamos este exemplo, ao executar:
#telnet 127.0.0.1

Voc estar automaticamente tentando uma solicitao de conexo na sua prpria mquina atravs de sua porta 23, uma vez que a porta padro configurada no arquivo /etc/services do servio telnet 23. Para fazer o teste anterior, voc deve estar executando o servio telnetd, este servio controlado pelo servio inetd (voltaremos a tratar este assunto posteriormente no tpico Servio Inet).
ADMINISTRAO DE REDES LINUX - 47

VISO GERAL DE REDES TCP/IP

Para ativar o servio telnet edite o arquivo de configurao do inet, o arquivo /etc/inetd.conf.
#vi /etc/inetd.conf telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd

Observe se a linha, similar a apresentada acima, est comentada. No Linux os arquivos de configurao usam o caractere # ou ; para comentar uma linha. Depois de configurado o arquivo voc deve reiniciar o servio

inetd, ou inicializ-lo se estiver parado.


Para verificar se est parado ou ativo, execute:
#ps aux | grep inetd root root 946 951 0.0 0.0 1.6 1.7 1164 1368 484 512 ? pts/0 S S 02:15 02:15 0:00 0:00 inetd grep inet

Caso obtenha uma sada desta forma, o servio est ativo e seu nmero de identificao de processo - PID - 946. Para reinicializ-lo, execute:
#kill -HUP 946

Caso o servio no esteja ativo, execute:


#inetd

Agora voc pode utilizar o telnet para fazer a requisio. Suponha que: 1) Voc edite o arquivo /etc/services e mude a porta do servio

telnet para o nmero 1024.


2) Reinicialize o servio inetd da seguinte forma:
# ps -aux | grep inetd

- obtenha o id do processo inetd;


# kill -HUP <id do processo>

3) Conecte com o servio telnet de outra mquina - para fazer o teste no utilize a mesma mquina (mquina onde est habilitado o telnet), pois ela sabe qual a nova porta - usando a nova definio de porta 1024:
#telnet 10.1.0.101 1024

Neste exemplo estamos considerando que a mquina que est com telnet habilitado a 10.1.0.101. Note que o ltimo parmetro especifica a porta para obter a conexo. Para alguns 48 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

servios vantagem fazer esta troca, principalmente quando se trata de segurana, entretanto, em alguns casos, como por exemplo o servidor Web, no vantagem, pois os Navegadores so configurados e instalados para fazer referncia automaticamente a porta 80. /etc/hosts - Este arquivo tem como objetivo relacionar nomes de mquinas com endereos IP. Este arquivo trabalha como se fosse uma agenda telefnica, ou seja, atravs do nome da pessoa voc descobre o nmero do telefone. Em redes de computadores o funcionamento anlogo: voc atribui um nome a um endereo IP no arquivo (lista telefnica) e depois disso no necessrio lembrar do endereo IP e sim do nome da mquina, pois este arquivo utilizado para converter o nome do hospedeiro no seu endereo IP. A seguir um exemplo do arquivo:
127.0.0.1 10.1.0.101 10.1.0.102 10.1.0.103 10.1.0.2 localhost lab1.sistemasabertos.com.br lab2.sistemasabertos.com.br lab3.sistemasabertos.com.br servidor.sistemasabertos.com.br lab1 lab2 lab3 servidor

A primeira coluna refere-se ao endereo IP, a segunda coluna o nome da mquina com seu domnio, a terceira coluna um alias. Com essa configurao voc pode ter acesso ao host 10.1.0.2 atravs do seguinte exemplo:
#ftp servidor.sistemasabertos.com.br

ou ainda,
#ftp servidor

No arquivo /etc/hosts um host pode ter mais de um nome, ou seja, pode ter mais de uma entrada no arquivo, esses nomes so chamados de nomes alternativos. O primeiro endereo 127.0.0.1 no arquivo um endereo IP especial chamado de loopback. uma boa prtica ter esta entrada em todos os arquivos /etc/ hosts de hospedeiros. Ter o endereo definido desta forma permite que vrios softwares usem o nome padro localhost para referenciar a mquina na qual est sendo executado.
ADMINISTRAO DE REDES LINUX - 49

VISO GERAL DE REDES TCP/IP

Outro fato a ser salientado, o fato de que se houver 500

hosts em uma rede, todas as mquinas da rede devero ter o


arquivo /etc/hosts com os nomes das 500 mquinas. Pois, caso contrrio, os que no estiverem configurados, no podero utilizar nomes ao invs de nmeros IP, o que se torna invivel. Neste caso utiliza-se um servio de banco de dados com informaes de nomes e seus nmeros IP associados da rede, chamado de DNS - Domain Name Server, o qual ser estudado nos prximos captulos.

1.16 - Configurao Geral TCP/IP


Na configurao geral do protocolo TCP/IP, temos: 1. Configurao do Nome da Mquina. 2. Configurao da placa de rede. 3. Configurao das rotas. 4. Configurao da Resoluo de Nomes DNS. 1.16.1 - Configurao do Nome da Mquina Para cada mquina na rede atribudo um nome. No protocolo TCP/IP existe uma padronizao de nomes para hosts. Os nomes das mquinas devem seguir o padro FQDN - Nome Totalmente Qualificado - que nada mais que o nome da mquina mais o seu respectivo domnio DNS. O nome servidor.sistemasabertos.com.br um exemplo de nome totalmente qualificado, servidor o nome da mquina,

sistemasabertos.com.br o domnio que a mquina servidor


pertence. O comando que configura o nome da mquina chama-se hostname, vejamos sua aplicao:
#hostname servidor.sistemasabertos.com.br

Para verificar se a configurao foi executada com xito, execute somente hostname, este deve retornar o nome da mquina configurado como mostrado abaixo:
#hostname servidor.sistemasabertos.com.br

50 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

Entretanto, este comando configura o nome da mquina temporariamente, ou seja, se esta mquina for reiniciada, perder a configurao. Logo, voc deve colocar este comando em um dos scripts de inicializao do sistema, na Conectiva e Red Hat

existe o arquivo /etc/rc.d/rc.local, no Slackware existe o arquivo /etc/rc.d/rc.inet1. Nas distribuies Conectiva e Red Hat , existe outra forma mais apropriada para definir o nome da mquina. Esta forma feita atravs do arquivo /etc/sysconfig/network. Vejamos um exemplo deste arquivo:
NETWORKING=yes HOSTNAME=servidor.sistemasabertos.com.br FORWARD_IPV4=yes GATEWAY=10.2.0.5 GATEWAYDEV=eth0 DOMAINNAME=sistemasabertos.com.br

Observe a entrada HOSTNAME. Com esta configurao, o nome da mquina fica definido estaticamente, ou seja, no perder a configurao quando reiniciada. Segue abaixo as explicaes referente ao arquivo: NETWORKING Caso sua mquina esteja em uma rede, voc deve usar o valor yes, caso contrrio use no. FORWARD_IPV4 Est opo quando assinalada com yes ativa o roteamento. Se sua mquina for um roteador, deve estar assinalada com yes. HOSTNAME Define o nome totalmente qualificado da mquina (FQDN). DOMAINNAME Define o domnio cuja mquina pertence.
ADMINISTRAO DE REDES LINUX - 51

VISO GERAL DE REDES TCP/IP

GATEWAY Define o roteador padro desta mquina. GATEWAYDEV Define a interface de rede que d acesso ao roteador. 1.16.2 - Configurao da Placa de Rede Esta configurao est baseada na deteco da placa de rede, configurao do endereo IP e mscara de rede. Interface Ethernet O kernel responsvel pela interao com todo hardware, inclusive placas de rede. Para que o kernel reconhea a interface de rede, necessrio os seguintes componentes: placa de rede: pode ser do tipo ISA ou PCI. Para placas ISA, os parmetros endereo de I/O e IRQ no so detectados automaticamente, portanto devem ser passados para o kernel atravs de configurao do lilo. Se for uma placa PCI, ser bastante simples, pois os endereos de I/O e IRQ so atribudos e reconhecidos dinamicamente e no precisam ser repassados para o kernel. mdulo da placa de rede: tambm chamado de driver de placa de rede. Configurando as interfaces de rede Existem vrias ferramentas que podem ser utilizadas para configurar a interface de rede, a principal ferramenta de configurao o ifconfig. Inicialmente iremos tratar de configuraes para redes privadas, depois estenderemos os conceitos para uma rede com acesso pblico para Internet. Antes de comear a configurar a interface de

rede, voc deve definir uma faixa de endereo a ser utilizado pelas mquinas. Deve escolher umas das faixas definidas no tpico Endereos IP especiais, pois como se trata de uma rede interna, estes endereos no precisam ser vlidos na Internet. Em nossa configurao estaremos utilizando da faixa 10.0.0.0 - 10.255.255.255. 52 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

Carregando o mdulo da placa de rede A arquitetura do Linux baseada em um kernel que interage com o hardware. Portanto, assim como existem vrios tipos de hardware (vdeo, placa de rede, cd-rom etc) e vrios tipos de fabricantes e modelos, h inmeros mdulos (partes do kernel) que o kernel utiliza para interao com estes hardwares. Uma vez que todo mdulo ocupa espao em memria, o kernel permite que os mdulos sejam carregados e descarregados de acordo com a necessidade.

Fig. 11 - Ilustrao entre a interao do Kernel - Mdulo - Placa de Rede.

Para carregar o mdulo da placa de rede deve ser utilizado o comando modprobe (veja este e outros comandos relacionados: lsmod, rmmod e insmod nas pginas de manual - man). Vejamos um exemplo da aplicao deste comando. Neste exemplo o mdulo a ser carregado o referente placa de rede de marca Realtek, modelo 8139 (por isso, carregamos o mdulo rtl8139).
#modprobe rtl8139

Para saber qual mdulo carregar, voc deve:

1) Identificar a sua placa de rede: deve conhecer a marca e o


modelo.

2) Obter o driver (mdulo): muitos fabricantes fornecem o driver


para Linux juntamente com o seu hardware ou no seu site. Opcionalmente, voc pode encontrar o nome do arquivo do mdulo a
ADMINISTRAO DE REDES LINUX - 53

VISO GERAL DE REDES TCP/IP

ser carregado na documentao das fontes do kernel (obtido em

http://www.kernel.org, ou pelo pacote RPM kernel-sources*.rpm


na Conectiva ). O arquivo de documentao do kernel a ser procurado geralmente o arquivo /usr/src/linux-<verso>-/Documentation/Configure.help; este arquivo muito extenso e voc deve fazer uma busca no arquivo pela marca de sua placa de rede.

3) Conferir a existncia do mdulo de kernel: os mdulos de kernel existentes em seu sistema so localizados em /lib/modules/<verso-do-kernel>/net. Todos arquivos de mdulos tm extenso .o, mas podem ser carregados atravs do comando modprobe sem a extenso. Para automatizar o carregamento do mdulo na inicializao, existe o arquivo /etc/modules.conf. /etc/modules.conf ou /etc/conf.modules De acordo com algumas distribuies ou verses do Linux, o nome do arquivo diferente. Este arquivo o arquivo de configurao dos mdulos do kernel. Eis aqui um exemplo deste arquivo:
alias eth0 rtl8139 alias parport_lowlevel parport_pc pre-install pcmcia_core /etc/rc.d/init.d/pcmcia start alias parport_lowlevel parport_pc pre-install pcmcia_core /etc/rc.d/init.d/pcmcia start alias eth1 dmfe alias scsi_hostadapter aic7xxx alias parport_lowlevel parport_pc pre-install pcmcia_core /etc/rc.d/init.d/pcmcia start alias scsi_hostadapter aic7xxx alias parport_lowlevel parport_pc

Este arquivo define quais mdulos esto referenciados a quais dispositivos. Neste exemplo a primeira linha corresponde a interface de rede, a palavra rtl8139 refere-se ao mdulo da placa de rede realtek. Com esta entrada no arquivo no necessrio carregar o mdulo manualmente, se houver outra placa de rede 54 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

voc deve colocar uma entrada neste arquivo referente a outra interface, por exemplo, eth1. Interfaces de rede ethernet so denominadas como eth<X>, onde X um nmero que especifica a interface de rede. Veja a linha:
alias eth1 dmfe

Neste exemplo o mdulo da placa de rede dmfe. Com este arquivo configurado no necessrio ficar carregando o mdulo manualmente, o prprio sistema ir carregar o mdulo quando houver necessidade. Utilitrio ifconfig Este utilitrio tem como finalidade obter informaes de configuraes de interface de rede, assim como fazer novas configuraes, porm todas as alteraes feitas pelo ifconfig so temporrias. O formato usual do ifconfig o seguinte:
ifconfig <interface> [ [-net | -host] <endereo> [parmetros] ]

A interface refere-se ao prprio nome da interface, as opes -net e -host faz com que o ifconfig trate o endereo como uma rede ou um endereo de mquina. O endereo refere-se ao endereo IP. Digitando o ifconfig sem nenhum parmetro, obtemos a seguinte sada:
#ifconfig lo Link encap: Local loopback inet addr:127.0.0.1 Bcast:127.255.255.255 UP BROADCAST LOOPBACK RUNNING MTU: 3584 Metric:1 RX packets: 460 errors:0 dropped:0 overruns:0 frame:0 TX packets:460 errors:0 dropped:0 overruns:0 carrier:0 Collisions:0 Mask:255.0.0.0

eth0

Link encap: Ethernet Hwaddr 00:90:06:54:05:11

inet addr:192.81.82.10 Bcast:192.81.82.255 Mask:255.255.255.0 UP BROADCAST LOOPBACK RUNNING MTU: 1500 Metric:1 RX packets: 421 errors:0 dropped:0 overruns:0 frame:0 TX packets:75 errors:0 dropped:0 overruns:0 carrier:0

ADMINISTRAO DE REDES LINUX - 55

VISO GERAL DE REDES TCP/IP

Neste caso existem duas interfaces ativas -lo e eth0. A primeira chamada de interface de loopback. A segunda, chamada eth0, a interface de conexo Ethernet. Na primeira linha da interface eth0 encontra o endereo de hardware da placa ethernet, neste caso o endereo 00:40:C7:29:9D:98. Um dos trabalhos do protocolos TCP/IP converter endereo IP em endereos de hardware. O endereo de hardware, tambm chamado de endereo MAC - Medium Access Control [Controle de Acesso ao Meio] ou endereo Ethernet, prprio da tecnologia Ethernet. um nmero de 6 campos e nico para cada placa de rede. No sentido de preservar esta identidade nica de endereos Ethernet que foi padronizado cada fabricante possuir um prefixo prprio (parte dos 6 campos). Assim cada fabricante cuida de sua prpria identificao interna.

Nota: Existe um protocolo chamado ARP - Address Resolution Protocol [Protocolo de Resoluo de Endereos] - cujo objetivo mapear endereos IP em endereos de hardware, veja as RFCs 826 e 903 no endereo http://www.ietf.org/rfc.html, veja tambm as pginas de manual: execute o comando man arp.
O nmero IP encontra-se na segunda linha, no caso da interface eth0, o endereo 192.81.82.10, em seguida, vem o endereo de broadcast que um endereo reservado referente a todas as mquinas da rede. Por exemplo, digitando o seguinte comando:
#ping 192.81.82.255

Voc estar referenciando a todas as mquinas na rede, ou seja, as mquinas que esto com as interfaces ativas e ao mesmo tempo conectadas na rede. O ltimo item da segunda linha - Mask - utilizado para definir a mscara da rede. Os campos MTU e Metric mostram a unidade mxima de transferncia e o valor mtrico respectivamente para a interface de rede. As linhas TX e RX mostram quantos pacotes foram recebidos ou transmitidos livres de erros, quantos erros 56 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

ocorreram, quantos pacotes foram perdidos provavelmente devido falta de memria e quantos foram perdidos por falta de sincronismo no seu envio. Abaixo, encontra-se uma relao dos principais parmetros do ifconfig: up Define uma interface como ativa, ou seja, acessvel para camada IP. Esta opo utilizada automaticamente quando passado o endereo IP para o ifconfig. usada para ativar uma interface que porventura tenha sido desabilitada (down). down Define uma interface como inativa, inacessvel ao nvel IP. Qualquer trfego que utiliza a interface ser desabilitado. netmask [mask] Define uma mscara de sub-rede a ser usada pela interface. pointopoint [address] Esta opo utilizada para estabelecimento de conexes ponto a ponto que envolvem somente duas mquinas. o caso do protocolo PPP, SLIP e PLIP. broadcast [address] Utilizado para atribuir o endereo de broadcast. Este endereo deve estar de acordo com a mscara. Veja o seguinte comando:
#ifconfig eth0 10.1.0.201 netmask 255.0.0.0 broadcast 10.255.255.255 up

Este comando atribui a interface eth0 o endereo IP 10.1.0.201, a mscara de rede 255.0.0.0 e o endereo de broadcast 10.255.255.255. Para desativar esta interface basta digitar,
#ifconfig eth0 down

Nos pargrafos anteriores foi apresentado o utilitrio ifconfig,


ADMINISTRAO DE REDES LINUX - 57

VISO GERAL DE REDES TCP/IP

este utilitrio muda as configuraes das interfaces de rede temporariamente. Para configurar a interface de rede estaticamente, no caso das distribuies Conectiva e Red Hat , os arquivos de configurao das interfaces de rede ficam no diretrio /etc/ sysconfig/network-scripts. Cada interface de rede tem necessariamente um arquivo dentro deste diretrio, denominado

ifcfg-<interface-de-rede>. Veja os passos que devem


ser seguidos para uma configurao da interface ethernet eth0.
#cd /etc/sysconfig/network-scripts #vi ifcfg-eth0 DEVICE=eth0 IPADDR=10.1.0.101 NETMASK=255.255.0.0 ONBOOT=yes BOOTPROTO=none

Os parmetros pertinentes ao protocolo TCP/IP so referentes s cinco primeiras linhas deste arquivo. Neste caso o nome do arquivo ifcfg-eth0 porque faz referncia a primeira interface ethernet. Caso existam duas interfaces ethernet deve ter tambm o arquivo ifcfg-eth1. DEVICE Este parmetro define a interface de rede, que no nosso exemplo a primeira interface ethernet, a interface eth0. IPADDR Usado para definir o endereo IP desta interface de rede. NETMASK Usado para definir a mscara de rede para este endereo IP. ONBOOT Os valores vlidos so yes ou no. Com o primeiro valor a interface ser ativada na inicializao da mquina. Para o segundo valor a interface no ser ativada na inicializao. 58 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

BOOTPROTO Este parmetro define o tipo de ao desta interface de rede. Existem principalmente dois valores: none ou static para endereo IP esttico e dhcp para endereo IP dinmico. No ltimo caso deve haver na rede um servidor DHCP (vide captulo sobre DHCP) para atribuir um endereo IP a esta interface. No Slackware a configurao da interface de rede feita atravs do arquivo /etc/rc.d/rc.inet1. Vejamos um trecho deste arquivo:
IPADDR=10.2.0.7 NETMASK=255.255.0.0 NETWORK=10.2.0.0 # REPLACE with YOUR IP address! # REPLACE with YOUR netmask! # REPLACE with YOUR network address!

A entrada NETWORK utilizada para definir o endereo de rede, obviamente o endereo de rede deve estar de acordo com o endereo IP e a mscara atribuda. 1.16.3 - Configurao das Rotas Caso voc tenha sub-redes ou queira dar acesso a Internet para as mquinas da rede, deve configurar as rotas. Ao adicionar uma rota, deve ter as seguintes preocupaes: rede de alcance - especifica a rede de destino que quer ter acesso, pode ser a Internet ou outra sub-rede interna. roteador - define a mquina que dar acesso rede de alcance, esta mquina ter no mnimo duas interfaces de rede e deve estar acessvel s duas. Para configurar rotas existe o utilitrio route. Visualizando rotas O utilitrio route permite adicionar e remover rotas e visualizar as rotas que j esto definidas. Para visualizar as rotas, basta digitar route sem nenhum argumento. Vejamos a sada do comando:
#route Tabela de Roteamento IP do Kernel Destino 10.1.0.0 127.0.0.0 default Roteador * * roteador.siste MscaraGen. 255.255.0.0 255.0.0.0 0.0.0.0 Opes U U UG Mtrica 0 0 0 Ref 0 0 0 Uso 0 0 0 Iface eth0 lo eth0

ADMINISTRAO DE REDES LINUX - 59

VISO GERAL DE REDES TCP/IP

Observe o que cada coluna define: Primeira coluna - a rede de destino (alcance); Segunda coluna - o roteador para acesso rede de destino; Terceira coluna - a mscara da rede de destino. Quarta coluna - as opes possveis para est coluna so: U rota est ativa; H - O alvo uma mquina; G -Use roteador; existem outras opes mais avanadas que fogem do escopo deste material, veja man route para maiores informaes. Quinta coluna - Metric a distncia at o alvo (geralmente contada em hops). No utilizada pelos kernels recentes, somente daemons de roteamento podem us-la. Sexta coluna - nmero de referncia a esta rota. No usado no kernel do Linux, portanto sempre 0. Stima coluna - contagem de procuras por esta rota. Nos kernels recentes estes nmeros so bem baixos, pois os sockets tm seu prprio cache e no precisam procurar por rotas. Oitava coluna - interface atravs da qual os pacotes IP sero enviados. Observamos que existem trs entradas na tabela de roteamento do kernel . Entretanto, as duas primeiras so adicionadas pelo sistema, pois por padro cada interface de rede exige uma rota. Para saber quais rotas foram adicionadas pelo sistema, observe quais entradas tm um * na coluna referente ao Roteador. Veja tambm que nesta configurao, a mquina possui duas interfaces (veja a ltima coluna do exemplo): lo - a interface de loopback. Todas mquina corretamente configurada possui esta interface. Esta interface que permite que da prpria mquina acessemos servios dela mesma, ou seja, atuando como servidora para ela mesma. bastante til para testes. eth0 - esta a primeira interface ethernet. Caso existisse outra interface, seria nomeada como eth1. A ltima entrada cuja primeira coluna est definida como de-

fault uma rota padro que foi adicionada pelo administrador.


60 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

No campo Roteador est definida a mquina roteador.

sistemasabertos.com.br. comum, ao executar este comando, demorar para retornar as configuraes das rotas. Isto pode acontecer quando no h um mecanismo para converso de endereos IP para nomes de mquinas, ou seja, nenhum servidor DNS acessvel e devidamente configurado. Quando executado o route sem nenhuma opo o mesmo tentar apresentar o nome da mquina ao invs de seu endereo IP e quando no possvel apresentar o nome, ele tenta at expirar o tempo limite (timeout). Assim, voc pode utilizar o route com a opo \n. Com esta opo o route no tentar resolver o nome, tornando a sada do comando mais rpida. Vejamos como fica a nova sada do comando:
# route -n Tabela de Roteamento IP do Kernel Destino 10.1.0.0 127.0.0.0 0.0.0.0 Roteador 0.0.0.0 0.0.0.0 10.1.0.5 MscaraGen. 255.255.0.0 255.0.0.0 0.0.0.0 Opes U U UG Mtrica 0 0 0 Ref 0 0 0 Uso 0 0 0 Iface eth0 lo eth0

Adicionando rotas Nos prximos exemplos iremos mostrar como adicionar e remover rotas. Vejamos um exemplo de adio de rota:
#route add -net 10.2.0.0/16 gw 10.1.0.101

Este comando adicionar uma rota para a rede 10.2.0.0/16 atravs do roteador 10.1.0.101. A opo gw utilizada para atribuir o IP do roteador. O nmero 16 do endereo 10.2.0.0/16 empregado para especificar a mscara de rede. Os nmeros utilizados so: 8 para mscara 255.0.0.0, 16 para 255.255.0.0, 24 para 255.255.255.0 e 32 para 255.255.255.255. O comando para adicionar rota deve ser executado toda vez que for inicializada a mquina, portanto necessrio adicionar este comando nos scripts de inicializao do sistema, na Conectiva

e Red Hat , existe o arquivo /etc/sysconfig/static-routes


ADMINISTRAO DE REDES LINUX - 61

VISO GERAL DE REDES TCP/IP

que pode ser usado para adicionar uma rota esttica, deve-se, portanto, inserir a seguinte linha:
eth0 net 10.2.0.0 netmask 255.255.0.0 gw 10.1.0.101

No Slackware existe o script de inicializao /etc/rc.d/ rc.inet1, e deve ser inserida uma linha:
route add -net 10.2.0.0/16 gw 10.1.0.101

Removendo rotas Para excluir uma rota, basta executar:


#route del -net 10.2.0.0/16

Observe que importante especificar novamente a mscara, porm no necessrio indicar o nmero IP do roteador. 1.16.4 - Configurao da Resoluo de Nomes DNS Aqui aprenderemos a definir um servidor de DNS para que faa a resoluo de nomes. O servidor de DNS definido no arquivo / etc/resolv.conf. Vejamos um exemplo:
nameserver 10.1.0.2 nameserver 200.242.140.5

A entrada nameserver utilizada para definir o servidor DNS. Observe que pode ser definido mais de um servidor DNS, caso um falhe o outro estar apto a atender. Com o servidor DNS definido no necessrio decorar nmeros IP. Depois de definido o servidor de DNS, voc poder acessar a Internet e utilizar nomes como www.sistemasabertos.com.br e

www.conectiva.com.br para referenciar os hospedeiros [hosts],


obviamente considerando que as configuraes da placa de rede e rotas estejam corretas.

1.17 - O Servio Inetd


O servio inetd considerado um super servio, pois controla vrios outros servios. O inetd l entradas em um arquivo de configurao chamado /etc/inetd.conf. Atravs deste arquivo o servio inetd tem controle sobre demais servios. Vejamos um exemplo de arquivo inetd.conf: 62 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP


ftp #telnet # # Shell, login, exec, comsat and talk are BSD protocols. # #shell #login #exec #comsat #talk #ntalk #dtalk # # Pop and imap mail services et al # #pop-2 #pop-3 #imap # stream stream stream tcp tcp tcp nowait nowait nowait root root root /usr/sbin/tcpd /usr/sbin/tcpd /usr/sbin/tcpd ipop2d ipop3d imapd stream stream stream dgram dgram dgram stream tcp tcp tcp udp udp udp tcp nowait nowait nowait wait wait wait waut root root root root root root nobody /usr/sbin/tcpd /usr/sbin/tcpd /usr/sbin/tcpd /usr/sbin/tcpd /usr/sbin/tcpd /usr/sbin/tcpd /usr/sbin/tcpd in.rshd in.rlogind in.rexecd in.comsat in.talkd in.ntalkd in.dtalkd stream stream tcp tcp nowait nowait root root /usr/sbin/tcpd /usr/sbin/tcpd in.ftpd -l -a in.telnetd

Neste exemplo, so mostradas apenas algumas linhas; na verdade este arquivo bem maior. Cada linha define um servio. A vantagem da utilizao do super daemon a economia de recursos,

Fig. 12 - Demonstrao da funcionalidade inetd.


ADMINISTRAO DE REDES LINUX - 63

VISO GERAL DE REDES TCP/IP

principalmente espao de memria. Ou seja, se para cada servio existisse um script de inicializao do servio, o mesmo ficaria rodando at algum par-lo ou, ento, at a mquina ser desligada. Com o inetd, cada servio inicializado apenas quando h alguma solicitao pertinente a este servio. Quando o servio pra de ser requisitado, o inetd pra imediatamente. Assim, o servio no fica gastando memria sem necessidade. 1.17.1 - Habilitando Servios Sob o Inetd Para que o inetd inicie qualquer um dos servios definidos neste arquivo, deve estar descomentado. Linhas comentadas so linhas que comeam com o caractere #. Seguindo esta linha de raciocnio, para permitir que mquinas acessem a sua mquina atravs de FTP - File Transfer Protocol - basta descomentar a linha referente ao ftp e, em seguida, inicializar o servio inet, ou reinicializ-lo. Na conectiva, para inicializar o inet, voc deve executar:
# /etc/rc.d/init.d/inet start

Na slackware, para inicializar o inet, voc deve simplesmente executar:


# /usr/sbin/inetd

Para que um servio inet j executado releia o arquivo de configurao, tanto na Slackware quanto na Conectiva, voc deve executar:
# kill -HUP <no_processo_inetd>

O inet o script de inicializao do inetd. Depois disto basta requisitar uma conexo ftp na prpria mquina. Para isto, execute:
# ftp 127.0.0.1

Neste caso estamos considerando o cliente e o servidor ftp na mesma mquina. 1.17.2 - Verificando o Funcionamento do Inetd Suponha que voc tenha acabado de habilitar o servio ftp, que se encontra sob o controle do inetd. Tambm imagine que no 64 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

h nenhuma seo ftp aberta. Depois de inicializado o servio

inet, verifique se existe o servio inetd ou ftpd rodando. Para


verificar execute:
# ps aux | grep root root 986 1036 0.0 0.0 inetd 1.8 1.7 1164 1368 540 512 ? tty2 S S 11:50 12:14 0:00 0:00 inetd grep inetd

Atravs da sada observamos que o servio inetd est rodando e, ainda, verificamos que o seu PID - nmero de identificao do processo - 983. Agora vamos verificar o processo ftpd - processo que gerencia o servio ftp.
# ps aux | grep ftpd

Como, no momento, no h nenhuma solicitao de ftp, o servio

inetd no inicializou o ftpd. Porm, se voc solicitar uma nova


conexo ftp e verificar novamente, observar a ocorrncia do processo ftpd. Para fazer esta verificao siga os passos abaixo: Primeiramente, execute:
# ftp 127.0.0.1

Em outro terminal execute:


#ps aux | grep root root 1040 1042 4.0 0.0 ftpd 2.8 1.7 1712 1368 808 512 ? tty2 S S 12:18 12:18 0:00 0:00 ftpd: localhost: grep ftpd

Para maiores confirmaes, pode terminar o ftp e executar novamente o comando ps aux, voc verificar que o processo j estar terminado. Portanto, para iniciar qualquer servio que seja controlado pelo

inetd, basta descoment-lo e reiniciar o servio inet. Exemplos


de servios controlados pelo inetd so: o ftp, o POP, telnet, etc.

1.18 - Utilitrios de Redes


Neste tpico ser estudado alguns dos principais utilitrios de rede. Lembrando que o route e o ifconfig j foram estudados no tpico anterior sobre configurao geral TCP/IP. 1.18.1 - Host Este utilitrio permite obter informaes de mquinas pertencenADMINISTRAO DE REDES LINUX - 65

VISO GERAL DE REDES TCP/IP

tes a um domnio ou sub-domnio. Para isto utiliza o servio de nomes de domnio de hospedeiros e retorna informaes sobre eles, alm de demonstrar como a rede est organizada. Vejamos um exemplo de sua aplicao:
# host www.linux.org linux.org has address 200.243.256.5

Neste caso foi fornecido o nmero IP do servidor web do domnio

linux.org. Para obter informaes como nomes e endereos de


todas as mquinas de um domnio digite:
# host -l linux.org

Para descobrir o endereo IP do servidor de DNS de um domnio especfico, execute:


# host -a www.dominio.com.br

A opo -a equivalente a todas opes juntamente, neste caso a sada deste comando fornecer tambm o endereo IP do Servidor DNS deste domnio. Para maiores informaes consulte as pginas do manual atravs do comando man. 1.18.2 - Netstat Esta ferramenta utilizada tambm para obter informaes de rede, mais precisamente para checar a configurao e a atividade de uma rede. Consultando a tabela de roteamento:
# netstat -nr Tabela de Roteamento IP do Kernel Destino 127.0.0.0 10.1.0.110 Roteador 0.0.0.0 0.0.0.0 MscaraGen. 255.0.0.0 255.255.0.0 Opes U UH MSS 0 0 Janela 0 0 irtt 0 0 Iface lo eth0

Onde: r - Opo para mostrar a tabela de roteamento. n - Esta opo faz com que o programa netstat imprima os endereos como nmeros IP ao invs dos nomes da rede e simblicos da mquina. Com relao a quarta opo (coluna) do resultado da consulta, poderemos ter: 66 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

G - A rota usa um roteador. U - A rota est ativa. H - O alvo da rota uma mquina. D - A rota foi estabelecida dinamicamente por um servio (geralmente o servio routed, o qual um servio de rotas dinmicas). M - A rota foi modificada dinamicamente por um servio. As outras colunas significam: MSS - Tamanho de segmento TCP padro para conexes TCP em bytes atravs desta rota. Isto, normalmente, usado para otimizao fina de configuraes de roteamento. Janela - Tamanho da janela TCP padro para conexes TCP atravs desta rota. Irtt - Tempo de ida e volta (RTT) inicial. Utilizado para o kernel inferir os melhores parmetros do protocolo TCP. Iface - Interface atravs da qual os pacotes IP sero enviados. Estas rotas so pr-definidas pelo kernel quando est com suporte a roteamento. Caso no tenha estas caracterstica, preciso recompil-lo.

Nota: Observe que a sada deste comando similar a do comando route -n.
Para mostrar estatsticas de fluxo de dados em interface, use a opo -i. Por exemplo:
# netstat -ni

Para maiores informaes consulte as pginas do manual sobre o comando netstat atravs do comando man. 1.18.3 - Tcpdump Este utilitrio monitora a conexo TCP/IP. O monitoramento feito especificando a interface desejada: eth0, eth1, ppp0 e etc. A sada do comando o trfego de pacotes enviados e recebidos juntamente com endereos de origem e destino. Para monitorar todo trfego que entra e sai da placa ethernet digite:
#tcpdump -i eth0

Nota: O tcpdump tambm conhecido como um tipo de sniffer um farejador de pacotes de rede, ou seja, captura todos os
ADMINISTRAO DE REDES LINUX - 67

VISO GERAL DE REDES TCP/IP

pacotes solicitados que trafegam em um meio fsico. O tcpdump, devido a sua capacidade de capturar os pacotes de um meio fsico compartilhado, pode ser utilizado para fins ilcitos, como capturar senhas no-criptografadas que trafegam na rede. Tambm pode ser utilizado para fins lcitos, como ferramenta para anlise de um protocolo de rede. O tcpdump permite especificar o host que deve ser monitorado.
#tcpdump -i eth0 host lab1.sistemasabertos.com.br

Neste exemplo, apenas os pacotes enviados pelo lab1 ou a ele destinados sero monitorados. O nome do hospedeiro pode ser o do hospedeiro local, ou pode ser o de qualquer hospedeiro da rede local. Voc pode monitorar apenas os dados que esto sendo enviados por lab1 atravs do parmetro src. Exemplo:
#tcpdump -i eth0 src host lab1.sistemasabertos.com.br

Veja agora como monitorar apenas os pacotes que esto sendo enviados para lab1.
#tcpdump -i eth0 dst host lab1.sistemasabertos.com.br

Voc pode monitorar pacotes que tenham passado por um ga-

teway especfico, definindo seu nome, como mostrado a seguir:


#tcpdump -i eth0 gateway [roteador]

Caso queira monitorar tantos pacotes UDP como os TCP que sejam endereados a uma porta especfica, voc pode definir o nmero da porta, como exemplo:
#tcpdump -i ppp0 host lab1.sistemasabertos.com.br and port 80

O parmetro ppp0 refere-se a primeira interface da conexo PPP (Protocolo Ponto a Ponto), neste caso o tcpdump estar monitorando apenas a porta 80, porta dos servidores Web, do host

lab1.sistemasabertos.com.br. Voc ainda pode monitorar apenas


os dados de entrada ou sada na porta, para isso basta usar os parmetros src e dst. 1.18.4 - traceroute Este aplicativo indica por quais roteadores um pacote passou antes de atingir seu destino. 68 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

Vejamos um exemplo simples de aplicao deste comando:


#traceroute www.linuxdoc.org
traceroute to linuxdoc.org (152.19.254.81), 30 hops max, 40 byte packets 1 roteador (10.2.0.5) 0.872 ms 0.334 ms 0.320 ms 2 10.1.0.7 (10.1.0.7) 1.049 ms 0.815 ms 0.843 ms 3 ppp254-gnace7004.telebrasilia.net.br (200.163.76.254) 16.285 ms 18.032 ms 16.100 ms 4 200.193.193.193 (200.193.193.193) 16.884 ms 18.170 ms 16.307 ms 5 200.199.245.5 (200.199.245.5) 24.378 ms 26.340 ms 24.531 ms 6 200.193.234.1 (200.193.234.1) 26.033 ms 24.762 ms 24.778 ms 7 200.193.234.66 (200.193.234.66) 47.527 ms 49.635 ms 49.128 ms 8 BrT-G3-0.cta-border.telepar.net.br (200.163.207.129) 47.849 ms 50.174 ms 49.365 ms 9 brasiltelecom-A0-0-0-32-dist01.cta.embratel.net.br (200.250.208.57) 53.094

Observe a grande quantidade de roteadores que o pacote passa antes de atingir o destino, neste caso o destino www.linuxdoc.org. Neste exemplo no est sendo mostrado a sada completa do comando. 1.18.5 - nmap O comando nmap um scanner de portas de comunicaes, ou seja, mostra quais portas esto abertas, sua sintaxe :
#nmap <nome da mquina>

Vejamos um exemplo de sua aplicao:


#nmap 127.0.0.1 #Starting nmap V. 2.54BETA21 ( www.insecure.org/nmap/ ) Interesting ports on localhost.localdomain (127.0.0.1): (The 1535 ports scanned but not shown below are in state: closed) Port 80/tcp 111/tcp 119/tcp 443/tcp 515/tcp 878/tcp 6000/tcp State open open open open open open open Service http sunrpc nntp https printer unknown X11

Nmap run completed - - 1 IP address (1 host up) scanned in 1 second

ADMINISTRAO DE REDES LINUX - 69

VISO GERAL DE REDES TCP/IP

Neste exemplo estamos verificando quais portas esto abertas na prpria mquina local.

1.19 - Sub-Rede - Exemplo Prtico


A estrutura lgica de um endereo IP pode ser modificado usando bits de endereo de host para bits de endereo de rede adicional. Essencialmente, a linha de diviso entre o endereo de rede e o endereo de hosts pode ser alterado atravs da mscara de sub-redes, criando redes adicionais (sub-redes). Conseqentemente a quantidade de hosts suportada por cada subrede ser menor do que a rede originria. Entre as grandes vantagens e utilidades de dividir as redes, temos: 1. Trfego de rede - Esta uma das necessidades de dividir redes, com a utilizao de sub-redes cada rede ter o seu trfego limitado em seu barramento fsico (canal de comunicao), isto atenua as colises de pacotes em grandes redes, melhorando a performance. 2. Distncias - Limitaes de distncias podem ser solucionadas atravs das divises de rede. Para que as sub-redes comuniquem entre si, deve haver roteadores. Assim todos os pacotes destinados a outra sub-rede ser passado por um roteador. Assim todo roteador ter pelo menos 1 conexo fsica com cada uma das duas sub-redes. Esta conexo pode ser feita diretamente ao barramento da sub-rede atravs de uma interface de rede. Toda sub-rede criada pela alterao da mscara de rede ou de sub-rede, neste caso a funo da mscara de sub-rede ser alterar a linha de diviso do endereo IP relacionada ao endereo de rede e endereo de host. Na sua rede local, por exemplo, se o seu computador estiver em uma rede classe B que tenha o endereo 163.9.82.221, a mscara de rede 255.255.0.0 extrairia o endereo da rede: 163.9.0.0. Imagine que queira dividir esta rede e para isto criar mais duas subredes departamentais. Cada sub-rede ir necessitar de um roteador departamental. Estas duas sub-redes podem ser definidas 70 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

com endereos de sub-redes como por exemplo: 163.9.1.0 e 163.9.2.0. Logo, sua mscara de sub-rede seria 255.255.255.0 e seu endereo de rede continuaria contido nos primeiros 2 octetos, enquanto que o endereo de sub-rede fica contido no terceiro octeto. Concluindo, a rede 163.9.0.0 pode ser dividida a princpio em 256 sub-redes com cada sub-rede podendo conter 254 endereos de mquinas (256 menos 2), pois o endereo de host neste caso no poder ser 0 e nem 255 (endereos reservados para endereo de rede e broadcast respectivamente). Atravs de exemplos de redes procuraremos estabelecer conectividade entre mquinas atravs do protocolo TCP/IP, por meio de roteadores, que so hardwares com no mnimo 2 interfaces de rede e responsveis por repassar pacotes de uma rede para outra. Primeiramente iremos interligar duas redes atravs de um roteador. O segundo exemplo trata a diviso de uma rede em vrias sub-redes. 1.19.1 - Interligando Duas Redes

Fig. 13 - Exemplo de ligao de duas redes atravs de um roteador.

Neste exemplo queremos interligar as duas sub-redes: 10.1.0.0/ 16 e 10.2.0.0/16. As mquinas que compem a sub-rede 10.1.0.0/ 16 so: LAB1 e LAB2. A sub-rede 10.2.0.0/16 composta pelas mquinas: LAB2 e LAB3. Observamos no esquema acima que a mquina LAB2 o roteador destas redes. Nota: Estamos considerando que cada rede possui um cliente que est ligado direto no roteador por meio de um cabo crossover, portanto cada rede possui duas mquinas: o cliente e o prprio roteador. Uma situao muito comum, ter em cada rede um HUB que permite vrias mquinas conectadas, todavia a configurao dos clientes de cada rede seria a mesma.
ADMINISTRAO DE REDES LINUX - 71

VISO GERAL DE REDES TCP/IP

Configurao do roteador A configurao do roteador, neste exemplo, baseada em apenas ativar a opo ipv4_forward do kernel. Est opo habilita o reencaminhamento [forward] de pacotes - caracterstica de um roteador. Todo roteador Linux deve estar com esta opo ativada. O kernel do Linux faz uso do arquivo /proc/sys/net/ipv4/ ip_forward para decidir se deve ou no repassar [forward] pacotes. Para o valor 1, o kernel libera a repassagem. Para o valor 0, o kernel no permite a repassagem. Portanto, para este exemplo, devemos sempre executar este comando:
#echo 1 > /proc/sys/net/ipv4/ip_forward

O valor gravado neste arquivo mantido somente em memria, uma vez que o sistema de arquivo /proc na verdade um sistema de arquivo baseado em memria, apagvel quando se reinicializa o sistema. Portanto, faz-se necessrio adicionar a linha de comando ao arquivo /etc/rc.d/rc.local, pois assim o comando ser executado toda vez que a mquina for iniciada. Configurao dos clientes da rede 10.1.0.0/16 A configurao das mquinas pertencente a esta sub-rede baseada em adicionar uma rota cujo destino seja a rede 10.2.0.0/ 16, neste caso o roteador para esta rede ser a mquina LAB2. Vejamos qual comando far este procedimento:
#route add -net 10.2.0.0/16 gw 10.1.0.102

Observe que o IP do roteador a interface eth0 da mquina LAB2, pois esta a interface que pertence a rede 10.1.0.0/16. Configurao dos clientes da rede 10.2.0.0/16 Assim como na configurao dos clientes da rede 10.1.0.0/16, a configurao destas mquinas se resume em um comando. Vejamos:
#route add -net 10.1.0.0/16 gw 10.2.0.102

Para as mquinas da rede 10.2.0.0/16, a rede de destino a 10.1.0.0/16 que pode ser observada no comando acima. Observe que o endereo IP do roteador definido o endereo da interface eth1 da mquina LAB2. 72 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

Nota: Nas duas execues do comando route acima poderia ser utilizada uma rota padro, ou seja, no lugar de 10.1.0.0/16 e 10.2.0.0/16 poderia ser usado o endereo especial de rota padro 0.0.0.0/0, uma vez que s existe um roteador nestas redes.
1.19.2 - Segmentando uma Rede em Sub-Redes Este segundo exemplo trata uma sub-rede 10.1.0.0/16 segmentada em 3 sub-redes: 10.1.3.0/24, 10.1.1.0/24 e 10.1.4.0/ 24. Neste exemplo temos trs roteadores: LAB1, LAB2 e LAB8 que do acesso s respectivas sub-redes 10.1.1.0/24, 10.1.3.0 e 10.1.4.0/24.

Fig. 14 - Diviso da rede 10.1.0.0/16 em trs sub-redes: 10.1.1.0/24, 10.1.3.0/24 e 10.1.4.0/24.

Compreendendo a rede e sub-redes Neste exemplo, podemos visualizar centralmente uma rede principal, tambm chamada de backbone [espinha dorsal], que possibilita a comunicao entre as suas sub-redes. Podemos cham-la tambm de sub-rede 10.1.0.0, enquanto que suas 3 subredes, podemos denominar: 10.1.1.0 - formada pelas mquinas LAB3 e LAB1; 10.1.3.0 - formada pelas mquinas LAB2 e LAB4; e 10.1.4.0 - formada pelas mquinas LAB8 e LAB10. Considerando a primeira interface de rede ethernet-eth0, nesta rede teremos como roteadores as mquinas: 10.1.0.101 - roteador padro da sub-rede 10.1.1.0.
ADMINISTRAO DE REDES LINUX - 73

VISO GERAL DE REDES TCP/IP

10.1.0.102 - roteador padro da sub-rede 10.1.3.0. 10.1.0.108 - roteador padro da sub-rede 10.1.4.0. Define-se roteador padro [default gateway] a mquina que far a repassagem de pacotes de uma rede para outra, quando o pacote tiver um endereo IP de destino no condizente com a rede de origem. Ou seja, caso uma mquina necessitar de comunicar com outra rede diferente da qual se encontra, o gateway padro ser utilizado para passar para outra rede. Por isso, os

gateways tambm so chamados de pontos de passagem.


Configurando os roteadores a. Configurando as interfaces de rede Usando a mquina LAB1 como exemplo teremos,
#ifconfig eth0 10.1.0.101 netmask 255.255.0.0 #ifconfig eth1 10.1.1.201 netmask 255.255.255.0

Para as outras mquinas mudariam apenas os endereos IP. Para as mquinas que no so roteadores seria necessrio apenas o primeiro comando com o endereo IP e a Mscara de rede correspondente. Lembre-se que o ifconfig muda as configuraes somente em memria, sendo apagada quando o sistema for reinicializado. Habilite o reencaminhamento de pacotes, atravs do comando:
#echo 1 > /proc/sys/net/ipv4/ip_forward

b. Configurando as rotas para os roteadores Cada roteador, neste caso, dever ter duas rotas definidas. Mquina LAB1
#route add -net 10.1.3.0/24 gw 10.1.0.102 #route add -net 10.1.4.0/24 gw 10.1.0.108

A verdade que roteadores precisam de outros roteadores para comunicar-se com outras redes. Voc pode generalizar isso para Internet e imaginar o grande emaranhado de roteadores e redes que ela comporta. O primeiro comando est adicionando uma rota no roteador LAB1 que d acesso rede 10.1.3.0 atravs do roteador 10.1.0.102, 74 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

que o roteador da ltima rede citada. O segundo comando anlogo mas refere-se rede 10.1.4.0 que tem como roteador a mquina 10.1.0.108. Observe que estamos usando os endereos IP das interfaces eth0, pois os roteadores comunicam-se atravs desta interface. Mquina LAB2
#route add -net 10.1.1.0/24 gw 10.1.0.101 #route add -net 10.1.4.0/24 gw 10.1.0.108

Mquina LAB8
#route add -net 10.1.1.0/24 gw 10.1.0.101 #route add -net 10.1.3.0/24 gw 10.1.0.102

Configurando os clientes dos roteadores Para configurar as rotas destas mquinas basta adicionar uma rota para o roteador de sua sub-rede. Mquina LAB3
#route add -net 0.0.0.0/0 gw 10.1.1.201

Este comando adiciona uma rota padro atravs do roteador 10.1.1.201 cuja mquina a LAB1, este endereo IP refere-se segunda interface ethernet -eth1. O parmetro 0.0.0.0/0 indica que uma rota padro e, mais precisamente, que todo e qualquer pacote com destino no pertinente a rede desta mquina ser direcionada para o referente roteador. Obs: Caso existissem mais mquinas nesta sub-rede o comando a ser digitado seria o mesmo. Mquina LAB4
#route add -net 0.0.0.0/0 gw 10.1.3.202

Mquina LAB10
#route add -net 0.0.0.0/0 gw 10.1.4.208

Depois destes comandos todas as mquinas da rede e sub-redes esto prontas para se comunicar. Verificando o funcionamento da rede Alm do utilitrio ping, para verificar a conectividade entre os

hospedeiros [hosts], voc pode ainda atravs do utilitrio traADMINISTRAO DE REDES LINUX - 75

VISO GERAL DE REDES TCP/IP

ceroute verificar o caminho dos pacotes, veja a aplicao do utilitrio abaixo. Execute o comando na mquina 10.1.3.204 e ter o seguinte resultado:
#traceroute 10.1.4.210 traceroute to 10.1.4.210 (10.1.4.210), 30 hops max, 40 byte packets 1 lab2.sistemasabertos.com.br (10.1.3.202) 0.610 ms 0.483 ms 0.417 ms 2 lab8.sistemasabertos.com.br (10.1.0.108) 165.049 ms 128.369 ms 129.672 ms 3 * lab10.sistemasabertos.com.br (10.1.4.210) 137.100 ms 128.543 ms

Esta lista refere-se s mquinas que o pacote passou at atingir seu destino. No momento, as linhas acima que nos interessam comeam com um nmero. O nmero 1 refere-se primeira mquina a qual o pacote chegou depois de sair da sua mquina de origem (mquina 10.1.4.210). Logo a mquina da linha nmero 1 o roteador padro da mquina de origem 10.1.4.210. Caso exista um servidor de DNS ou um outro meio para converter endereo IP para o Nome da Mquina, o segundo campo ser o nome da mquina com seu respectivo domnio. Caso no exista, a sada do comando ir apresentar somente o endereo IP da respectiva mquina. Logo em seguida, entre parntese, vem o endereo IP correspondente. Observe que as mquinas esto utilizando o domnio sistemasabertos.com.br. Na segunda linha (nmero 2) encontra-se a mquina

lab8.sistemasabertos.com.br com endereo IP 10.1.0.108


(eth0), pois o roteador da rede onde se encontra a mquina alvo (lab10). Na terceira linha (nmero 3) est a mquina lab10.sistemas

abertos.com.br com endereo IP 10.1.4.210 que a mquina


alvo. importante salientar que no primeiro caso a interface detectada pelo traceroute foi a eth1 da mquina lab2 e, no segundo caso, foi a eth0 da mquina lab8. Isso acontece pelo fato de ser a primeira interface da mquina que recebeu o pacote. No primeiro roteador a interface que faz parte da rede de onde originou o pacote a eth1, j no segundo roteador a eth0. 76 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

1.20 - Terminologia Utilizada


ARPANET - Rede de Defesa dos Estados Unidos. A ARPANET
conhecida como uma das primeiras redes de computadores que posteriormente transformou-se na Internet.

Protocolo - Regras e cdigos envolvidos na comunicao de


redes de computadores.

TCP - Protocolo de Controle de Transporte - Protocolo cuja finalidade construir um servio confivel sobre o protocolo IP.

IP - Protocolo Internet - Protocolo responsvel pela interligao


de diferentes redes.

Datagrama - Conjunto de dados dividido entre cabealho e corpo utilizado para transmitir informaes em redes TCP/IP. Tambm conhecido como pacote de dados.

Buffer - Forma de armazenamento de dados em trnsito. Quando algum dado recebido e deve ser transmitido ou transformado, este processo de transmisso ou transformao pode ser mais lento que a velocidade de recebimento e, portanto, deve ser a princpio armazenado. Para armazenar estes dados utilizase o buffer - parte da memria usada para armazenar dados com esta caracterstica.

Host - Mesmo que hospedeiro - mquina em uma rede TCP/IP. Modelo OSI - Open System Interconnection - conhecido
como o modelo de padronizao de tecnologias de redes de computadores.

UDP - Protocolo de Datagrama do Usurio - Este o outro protocolo de transporte utilizado pelo TCP.

Cliente - Definido como uma mquina que faz requisies e espera respostas de outra mquinas - servidores.

Servidor - Definido como a mquina que recebe solicitaes e


podendo ou no responder com algum tipo de dado.

Roteador ou gateway - Definido como uma mquina capaz de


repassar pacotes de uma rede para outra, a mquina capaz de interligar redes.

Firewall - Computador utilizado para prevenir ataques externos,


tem a finalidade de garantir a segurana de uma rede.
ADMINISTRAO DE REDES LINUX - 77

VISO GERAL DE REDES TCP/IP

RFC - Request for Comment - documentos que define os padres do protocolo TCP/IP token.

Endereo IP - Nmero de 32 bits utilizado para identificar uma


mquina na rede TCP/IP.

Mscara de sub-rede - Nmero de 32 bits utilizado para definir a


poro do endereo IP que corresponde ao endereo de rede e ao endereo de mquina na rede.

Broadcast - Mtodo utilizado para difundir pacotes a todas as


mquinas da rede.

Porta de comunicao - definido atravs de um nmero que


tem a funo de identificar um servio especfico em uma mquina. considerado o endereo de um servio.

Redes de Difuso - Redes onde todas as mquinas compartilham de um mesmo canal de comunicao (barramento).

Redes ponto a ponto - Redes em que apenas duas mquinas


compartilham do mesmo canal de comunicao.

DNS - Domain Name Service - Servio de Nomes e Domnio, sua


finalidade converter nomes de mquinas para endereos IP e vice-versa.

Hacker - Indivduo hbil em enganar os mecanismos de segurana de sistemas de computao e conseguir acesso no autorizado aos recursos destes, geralmente a partir de uma conexo remota em uma rede de computadores.

Servio - definido como um programa que tem uma funo


especfica, este servio geralmente espera por solicitaes podendo ou no responder com algum dado. Servio caracterstico de servidor.

Daemon - Definido como servio, exemplo: daemon sendmail


equivalente a servio sendmail.

URL - Uniform Resource Locator - Define as informaes necessrias para estabelecer uma conexo, uma URL padro informa: protocolo envolvido na comunicao, IP ou nome da mquina que se deseja comunicar e porta onde se deseja conectar. Exemplo: http://www.sistemasabertos.com.br.

78 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

1.21 - Links Indicados


http://www.tldp.org/HOWTO/Networking-Over viewHOWTO.html - Este endereo possui informaes gerais de redes TCP/IP, assim como configurar vrios tipos de servidores que sero vistos nos prximos captulos. Site em ingls.

http://www.tldp.org/HOWTO/mini/IP-Subnetworking.html - Este
endereo contm informaes sobre endereos IP, Classes de endereos IP, mscaras de sub-rede, sub-rede, roteamento etc. Site em ingls.

http://www.ietf.org/rfc.html - Neste endereo voc tem acesso


s RFC, sendo que as mais relacionadas ao conjunto de protocolo TCP/IP so: 768, 791, 792 e 793, estas RFCs apresentam respectivamente informaes sobre os protocolos UDP, IP, ICMP e TCP.

http://ldp-br.conectiva.com.br - Projeto de documentao do


Linux em portugus. Neste endereo possveis encontrar informaes gerais sobre o Linux, inclusive sobre redes TCP/IP. h t t p : / / w w w. i c t p . t r i e s t e . i t / ~ r a d i o n e t / 1 9 9 8 _ s c h o o l / networking_presentation/index.html - COMPUTER NET WORKING BASICS - por Fonda e Postogna, um resumo em pginas html de um mini-curso bsico de redes de computadores, bem ilustrado. Contm uma descrio bem simples e prtica das camadas do modelo OSI. Em ingls.

ADMINISTRAO DE REDES LINUX - 79

VISO GERAL DE REDES TCP/IP

Exerccios
1 - Conceitue hospedeiro, roteador, firewall, cliente e servidor.

2 - Qual a diferena entre os protocolos TCP e IP? Como trabalham em conjunto?

3 - O que so protocolos? O que uma pilha de protocolos? O que o modelo OSI e para que serve?

4 - O que uma RFC e para que serve?

5 - Converta os nmeros IP: a) 10.20.30.40 em hexadecimal e binrio. b) 11100111.11100111.10000001.00001010 em decimal e hexadecimal. c) 0x11C4C040 em binrio e decimal. 6 - Por que os endereos IP foram divididos em classes? Quais so as classes e como identificamos um nmero IP como pertencente a uma classe?

80 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

7 - Qual a quantidade de endereos de classe A matematicamente possveis? E de classe B e C?

8 - Determine qual a classe dos seguintes endereos IP: a) 12.1.2.3 b) 200.137.204.1 c) 10.1.0.1/255.255.255.0 d) 192.168.1.3/8 e) 150.150.150.150 9 - Conceitue e d exemplos sobre os endereos especiais: a) de broadcast b) de rede c) privado d) localhost e) rede padro (todas redes) 10 - Subtraindo-se os endereos especiais de broadcast, de rede, privado, localhost e rede padro (todas redes), qual a quantidade de endereos que podem ser atribudos para hosts na Internet para as classes A, B e C?

11 - Suponha que sua rede tenha endereo de broadcast 10.1.255.255. Se na sua rede, contendo vrios hosts com este mesmo endereo de broadcast, o que acontece se voc executar o comando: $ ping 10.1.255.255

ADMINISTRAO DE REDES LINUX - 81

VISO GERAL DE REDES TCP/IP

12 - O que sub-rede? Qual a sua utilidade? Como criar uma sub-rede?

13 - Suponha que recebemos um endereo classe A 11.0.0.0 e precisamos dividir esta rede em sub-redes de forma que atenda as necessidades da empresa. Suponha que seja necessrio no mnimo 200 sub-redes, com no mnimo 300 hosts em cada sub-rede, com previso de possvel crescimento de 100% tanto em sub-redes quanto em hosts em cada sub-rede. Qual mscara de sub-rede voc adotaria? Quais seriam as possveis sub-redes? Cite um possvel nmero IP desta sua sub-rede e identifique o nmero de rede, de sub-rede e host.

14 - O que so portas TCP? Para que servem? Cite pelo menos 5 nmeros de portas com seus respectivos servios padres.

15 - O que uma rota? Qual o comando para definir uma rota?

16 - O que um DNS? Para que serve um DNS? Qual o endereo IP dos hosts: www.sistemasabertos.com.br, www.globo.com, www.uol.com.br?

17 - Para que servem os arquivos: /etc/protocols, /etc/services, /etc/hosts?

18 - O que FQDN? Qual a utilidade do comando hostname?

82 - ADMINISTRAO DE REDES LINUX

VISO GERAL DE REDES TCP/IP

19 - Para que serve um mdulo de placa de rede? Como voc carrega um mdulo de placa de rede?

20 - Quais so os passos para configurar manualmente uma interface de rede, com os comandos modprobe e ifconfig?

21 - Qual a utilidade do comando ifconfig?

22 - Para que serve o comando route? Cite um exemplo, configurando uma estao, com roteador padro 10.1.2.3.

23 - Para que serve o arquivo /etc/resolv.conf?

24 - Qual a utilidade do servio inetd? Quando devemos utiliz-lo? Qual o seu arquivo de configurao? Como eu poderia habilitar a execuo de um servio pelo inetd?

25 - Qual a funo do tcpd?

26 - Qual a utilidade dos comandos: host, netstat, tcpdump, traceroute e nmap? Cite um exemplo de utilizao de cada um destes comandos.

ADMINISTRAO DE REDES LINUX - 83

Vous aimerez peut-être aussi