Post on 05-Dec-2015
description
1
TCP-IP
Índice
Introdução ao TCP-IP 2
Números Binários e Máscara de Sub-Rede 12
Classes de Endereços 21
Introdução ao Roteamento IP 28
Exemplos de Roteamento 36
Tabelas de Roteamento 41
Sub netting – divisão em sub-redes 47
Uma introdução ao DNS 61
Uma introdução ao DHCP 76
Uma introdução ao WINs 86
TCP , UDP e Portas de Comunicação 93
Portas de Comunicação na Prática 100
Protocolos de Roteamento Dinâmico - RIP 107
Protocolos de Roteamento Dinâmico - OSPF 116
ICF– Internet Connection Firewall 122
Introdução ao IPSec 142
Certificados Digitais e Segurança 148
NAT – Network Address Translation 161
Roteiro para Resolução de Problemas 169
2
Introdução ao TCP-IP
Este curso de Introdução tem o objetivo da Parte 1 é apresentar o protocolo TCP/IP e os
seus aspectos básicos de utilização em redes baseadas no Windows 2000 (Server e
Professional) ou Windows Server 2003 e no Windows XP e Windows Vista. Nesta
primeira parte faremos uma apresentação do protocolo TCP/IP, de tal maneira que o
leitor possa entender exatamente o que é o conjunto de protocolos genericamente
conhecido como TCP/IP e como é configurada uma rede baseada neste protocolo. Nas
demais partes deste tutorial abordaremos uma série de assuntos, tais como:
O Sistema Binário de Numeração
Conversão de Binário para Decimal
Endereços IP e Máscara de sub-rede
Configurações do TCP/IP no Windows 2000 e no Windows XP
Endereçamento no protocolo IP
Roteamento
DNS
DHCP
WINS
RRAS
IPSec
Firewall
NAT
O conceito de sub-redes e exemplos práticos
Comandos disponíveis no Windows 2000
Comandos disponíveis no Windows XP
Uma visão geral do protocolo TCP/IP
Para que os computadores de uma rede possam trocar informações entre si é necessário
que todos os computadores adotem as mesmas regras para o envio e o recebimento de
informações. Este conjunto de regras é conhecido como Protocolo de comunicação.
Falando de outra maneira podemos afirmar: ―Para que os computadores de uma rede
possam trocar informações entre si é necessário que todos estejam utilizando o mesmo
protocolo de comunicação‖. No protocolo de comunicação estão definidas todas as
regras necessárias para que o computador de destino, ―entenda‖ as informações no
formato que foram enviadas pelo computador de origem. Dois computadores com
diferentes protocolos instalados, não serão capazes de estabelecer uma comunicação e
nem serão capazes de trocar informações.
Antes da popularização da Internet existiam diferentes protocolos sendo utilizados nas
redes das empresas. Os mais utilizados eram os seguintes:
TCP/IP
NETBEUI
IPX/SPX
Apple Talk
Se colocarmos dois computadores ligados em rede, um com um protocolo, por exemplo,
o TCP/IP e o outro com um protocolo diferente, por exemplo, NETBEUI, estes dois
3
computadores não serão capazes de estabelecer comunicação e trocar informações entre
si. Por exemplo, o computador com o protocolo NETBEUI instalado, não será capaz de
acessar uma pasta ou uma Impressora compartilhada no computador com o protocolo
TCP/IP instalado.
À medida que a Internet começou, a cada dia, tornar-se mais popular, com o aumento
exponencial do número de usuários, o protocolo TCP/IP passou a tornar-se um padrão
de fato, utilizando não só na Internet, como também nas redes internas das empresas,
redes estas que começavam a ser conectadas à Internet. Como as redes internas
precisavam conectar-se à Internet, tinham que usar o mesmo protocolo da Internet, ou
seja: TCP/IP.
Dos principais Sistemas Operacionais do mercado, o UNIX sempre utilizou o protocolo
TCP/IP como padrão. O Windows dá suporte ao protocolo TCP/IP desde as primeiras
versões, porém, para o Windows, o TCP/IP somente tornou-se o protocolo padrão a
partir do Windows 2000. Ser o protocolo padrão significa que o TCP/IP será instalado,
automaticamente, durante a instalação do Sistema Operacional, se for detectada a
presença de uma placa de rede. Até mesmo o Sistema Operacional Novell, que sempre
foi baseado no protocolo IPX/SPX como protocolo padrão, passou a adotar o TCP/IP
como padrão a partir da versão 5.0.
O que temos hoje, na prática, é a utilização do protocolo TCP/IP na esmagadora maioria
das redes. Sendo a sua adoção cada vez maior. Como não poderia deixar de ser, o
TCP/IP é o protocolo padrão do Windows 2000, Windows Server 2003, Windows XP e
também do Windows Vista (a ser lançado em Fevereiro de 2007) e do Windows
Longhorn Server (com lançamento previsto para o final de 2007). Se durante a
instalação, o Windows detectar a presença de uma placa de rede, automaticamente será
sugerida a instalação do protocolo TCP/IP.
Nota: Para pequenas redes, não conectadas à Internet, é recomendada a adoção do
protocolo NETBEUI, devido a sua simplicidade de configuração. Porém esta é uma
situação muito rara, pois dificilmente teremos uma rede isolada, sem conexão com a
Internet ou com parceiros de negócios, como clientes e fornecedores.
Agora passaremos a estudar algumas características do protocolo TCP/IP. Veremos que
cada equipamento que faz parte de uma rede baseada no TCP/IP tem alguns parâmetros
de configuração que devem ser definidos, para que o equipamento possa comunicar-se
com sucesso na rede e trocar informações com os demais equipamentos da rede.
Configurações do protocolo TCP/IP para um computador em rede
Quando utilizamos o protocolo TCP/IP como protocolo de comunicação em uma rede
de computadores, temos alguns parâmetros que devem ser configurados em todos os
equipamentos que fazem parte da rede (computadores, servidores, hubs, switchs,
impressoras de rede, etc.). Na Figura a seguir temos uma visão geral de uma pequena
rede baseada no protocolo TCP/IP:
4
Figura - Uma rede baseada no protocolo TCP/IP.
No exemplo da Figura 1 temos uma rede local para uma pequena empresa. Esta rede
local não está conectada a outras redes ou à Internet. Neste caso cada computador da
rede precisa de, pelo menos, dois parâmetros configurados:
Número IP
Máscara de sub-rede
O Número IP é um número no seguinte formato:
x.y.z.w
ou seja, são quatro números separados por ponto. Não podem existir duas máquinas,
com o mesmo número IP, dentro da mesma rede. Caso eu configure um novo
equipamento com o mesmo número IP de uma máquina já existente, será gerado um
conflito de Número IP e um dos equipamentos, muito provavelmente o novo
equipamento que está sendo configurado, não conseguirá se comunicar com a rede. O
valor máximo para cada um dos números (x, y, z ou w) é 255.
Uma parte do Número IP (1, 2 ou 3 dos 4 números) é a identificação da rede, a outra
parte é a identificação da máquina dentro da rede. O que define quantos dos quatro
números faz parte da identificação da rede e quantos fazem parte da identificação da
máquina é a máscara de sub-rede (subnet mask). Vamos considerar o exemplo de um
dos computadores da rede da Figura 1:
Número IP: 10.200.150.1
Máscara de Sub-rede: 255.255.255.0
As três primeiras partes da máscara de sub-rede (subnet) iguais a 255 indicam que os
três primeiros números representam a identificação da rede e o último número é a
5
identificação do equipamento dentro da rede. Para o nosso exemplo teríamos a rede:
10.200.150, ou seja, todos os equipamentos do nosso exemplo fazem parte da rede
10.200.150 ou, em outras palavras, o número IP de todos os equipamentos da rede
começam com 10.200.150.
Neste exemplo, onde estamos utilizando os três primeiros números para identificar a
rede e somente o quarto número para identificar o equipamento, temos um limite de 254
equipamentos que podem ser ligados nesta rede. Observe que são 254 e não 256, pois o
primeiro número – 10.200.150.0 e o último número – 10.200.250.255 não podem ser
utilizados como números IP de equipamentos de rede. O primeiro é o próprio número da
rede: 10.200.150.0 e o último é o endereço de Broadcast: 10.200.150.255. Ao enviar
uma mensagem para o endereço de Broadcast, todas as máquinas da rede receberão a
mensagem. Nas próximas partes deste tutorial, falaremos um pouco mais sobre
Broadcast.
Com base no exposto podemos apresentar a seguinte definição:
―Para se comunicar em uma rede baseada no protocolo TCP/IP, todo equipamento
deve ter, pelo menos, um número IP e uma máscara de sub-rede, sendo que todos
os equipamentos da rede devem ter a mesma máscara de sub-rede”.
Nota: Existem configurações mais avançadas onde podemos subdividir uma rede
TCP/IP em sub-redes menores. O conceito de sub-redes será tratado, em detalhes, na
Parte 7 deste tutorial.
No exemplo da figura anterior observe que o computador com o IP 10.200.150.7 está
com uma máscara de sub-rede diferente da máscara de sub-rede dos demais
computadores da rede. Este computador está com a máscara: 255.255.0.0 e os demais
computadores da rede estão com a máscara de sub-rede 255.255.255.0. Neste caso é
como se o computador com o IP 10.200.150.7 pertencesse a outra rede. Na prática o que
irá acontecer é que este computador não conseguirá se comunicar com os demais
computadores da rede, por ter uma máscara de sub-rede diferente dos demais. Este é um
dos erros de configuração mais comuns. Se a máscara de sub-rede estiver incorreta, ou
seja, diferente da máscara dos demais computadores da rede, o computador com a
máscara de sub-rede incorreta não conseguirá comunicar-se na rede.
Na Tabela a seguir temos alguns exemplos de máscaras de sub-rede e do número
máximo de equipamentos em cada uma das respectivas redes.
Tabela: Exemplos de máscara de sub-rede.
Máscara Número de equipamentos na rede
255.255.255.0 254
255.255.0.0 65.534
255.0.0.0 16.777.214
Quando a rede está isolada, ou seja, não está conectada à Internet ou a outras redes
externas, através de links de comunicação de dados, apenas o número IP e a máscara de
sub-rede são suficientes para que os computadores possam se comunicar e trocar
informações.
6
A conexão da rede local com outras redes é feita através de links de comunicação de
dados. Para que essa comunicação seja possível é necessário um equipamento capaz de
enviar informações para outras redes e receber informações destas redes. O
equipamento utilizado para este fim é o Roteador. Todo pacote de informações que deve
ser enviado para outras redes deve, obrigatoriamente, passar pelo Roteador. Todo pacote
de informação que vem de outras redes também deve, obrigatoriamente, passar pelo
Roteador. Como o Roteador é um equipamento de rede, este também terá um número
IP. O número IP do roteador deve ser informado em todos os demais equipamentos que
fazem parte da rede, para que estes equipamentos possam se comunicar com as redes
externas. O número IP do Roteador é informado no parâmetro conhecido como Default
Gateway. Na prática quando configuramos o parâmetro Default Gateway, estamos
informando o número IP do Roteador.
Quando um computador da rede tenta se comunicar com outros
computadores/servidores, o protocolo TCP/IP faz alguns cálculos utilizando o número
IP do computador de origem, a máscara de sub-rede e o número IP do computador de
destino (veremos estes cálculos em detalhes nas próximas lições deste curso). Se, após
feitas as contas, for concluído que os dois computadores fazem parte da mesma rede, os
pacotes de informação são enviados para o barramento da rede local e o computador de
destino captura e processa as informações que lhe foram enviadas. Se, após feitas as
contas, for concluído que o computador de origem e o computador de destino fazem
parte de redes diferentes, os pacotes de informação são enviados para o Roteador
(número IP configurado como Default Gateway) e o Roteador é o responsável por achar
o caminho (a rota) para a rede de destino.
Com isso, para equipamentos que fazem parte de uma rede, baseada no protocolo
TCP/IP e conectada a outras redes ou a Internet, devemos configurar, no mínimo, os
seguintes parâmetros:
Número IP
Máscara de sub-rede
Default Gateway
Em redes empresarias existem outros parâmetros que precisam ser configurados. Um
dos parâmetros que deve ser informado é o número IP de um ou mais servidores DNS –
Domain Name System. O DNS é o serviço responsável pela resolução de nomes. Toda a
comunicação, em redes baseadas no protocolo TCP/IP é feita através do número IP. Por
exemplo, quando vamos acessar o meu site: http://www.juliobattisti.com.br/, tem que
haver uma maneira de encontrar o número IP do servidor onde fica hospedado o site. O
serviço que localiza o número IP associado a um nome é conhecido como Servidor
DNS. Por isso a necessidade de informarmos o número IP de pelo menos um servidor
DNS, pois sem este serviço de resolução de nomes, muitos recursos da rede estarão
indisponíveis, inclusive o acesso à Internet.
Existem aplicativos antigos que são baseados em outro serviço de resolução de nomes
conhecido como WINS – Windows Internet Name System. O Windows NT Server 4.0
utilizava intensamente o serviço WINS para a resolução de nomes. Com o Windows
2000 o serviço utilizado é o DNS, porém podem existir aplicações que ainda dependam
do WINS. Nestes casos você terá que instalar e configurar um servidor WINS na sua
rede e configurar o IP deste servidor em todos os equipamentos da rede.
7
Dica Importante: Em redes baseadas onde ainda existem clientes baseados em versões
antigas do Windows, tais como o Windows 95, Windows 98 ou Windows Me, o WINS
ainda é necessário. Sem o WINS, poderá haver erro no acesso a aos principais recursos
da rede, tais como pastas e impressoras compartilhadas.
As configurações do protocolo TCP/IP podem ser definidas manualmente, isto é,
configurando cada um dos equipamentos necessários com as informações do protocolo,
como por exemplo, o Número IP, Máscara de sub-rede, número IP do Default Gateway,
número IP de um ou mais servidores DNS e assim por diante. Esta é uma solução
razoável para pequenas redes, porém pode ser um problema para redes maiores, com um
grande número de equipamentos conectados. Para redes maiores é recomendado o uso
do serviço DHCP – Dynamic Host Configuration Protocol. O serviço DHCP pode ser
instalado em um servidor com o Windows NT Server 4.0, Windows 2000 Server,
Windows Server 2003 ou Windows Longhorn Server. Uma vez disponível e
configurado, o serviço DHCP fornece, automaticamente, todos os parâmetros de
configuração do protocolo TCP/IP para os equipamentos conectados à rede. Os
parâmetros são fornecidos quando o equipamento é inicializado e podem ser renovados
em períodos definidos pelo Administrador. Com o uso do DHCP uma série de
procedimentos de configuração podem ser automatizados, o que facilita a vida do
Administrador e elimina uma série de erros.
Dica Importante: Serviços tais como um Servidor DNS e um Servidor DHCP, só
podem ser instalados em computadores com uma versão de Servidor do Windows, tais
como o Windows NT Server 4.0, Windows 2000 Server, Windows Server 2003 ou
Windows Longhorn Server. Estes serviços não estão disponíveis em versões Clientes do
Windows, tais como o Windows 95/98/Me, Windows 2000 Professional, Windows XP
Professional ou Windows Vista.
O uso do DHCP também é muito vantajoso quando são necessárias alterações no
número IP dos servidores DNS ou WINS. Vamos imaginar uma rede com 1000
computadores e que não utiliza o DHCP, ou seja, os diversos parâmetros do protocolo
TCP/IP são configurados manualmente em cada computador. Agora vamos imaginar
que o número IP do servidor DNS foi alterado. Neste caso o Administrador e a sua
equipe técnica terão que fazer a alteração do número IP do servidor DNS em todas as
estações de trabalho da rede. Um serviço e tanto. Se esta mesma rede estiver utilizando
o serviço DHCP, bastará alterar o número do servidor DNS, nas configurações do
servidor DHCP. O novo número será fornecido para todas as estações da rede,
automaticamente, na próxima vez que a estação for reinicializada. Muito mais simples e
prático e, principalmente, com menor probabilidade de erros.
Você pode verificar, facilmente, as configurações do protocolo TCP/IP que estão
definidas para o seu computador (Windows 2000, Windows XP ou Windows Vista).
Para isso siga os seguintes passos:
1. Faça o logon com uma conta com permissão de Administrador.
2. Abra o Prompt de comando: Iniciar -> Programas -> Acessórios -> Prompt de
comando.
3. Na janela do Prompt de comando digite o seguinte comando:
8
ipconfig/all
e pressione Enter.
4. Serão exibidas as diversas configurações do protocolo TCP/IP, conforme
indicado a seguir, no exemplo obtido a partir de um dos meus computadores que eu uso
na rede da minha casa:
O comando ipconfig exibe informações para as diversas interfaces de rede instaladas –
placa de rede, modem, etc. No exemplo anterior temos uma única interface de rede
instalada, a qual é relacionada com uma placa de rede Realtek RTL8139 Family PCI
Fast Ethernet NIC. Observe que temos o número IP para dois servidores DNS e para um
servidor WINS. Outra informação importante é o Endereço físico, mais conhecido como
MAC-Address ou endereço da placa. O MAC-Address é um número que identifica a
placa de rede. Os seis primeiros números/letras são uma identificação do fabricante da
placa e os seis últimos uma identificação da placa. Não existem duas placas com o
mesmo MAC-Address, ou seja, este endereço é único para cada placa de rede.
No exemplo da listagem a seguir, temos um computador com duas interfaces de rede.
Uma das interfaces é ligada a placa de rede (Realtek RTL8029(AS) PCI Ethernet
Adapter), a qual conecta o computador a rede local. A outra interface é ligada ao fax-
modem (WAN (PPP/SLIP) Interface), o qual conecta o computador à Internet. Para o
protocolo TCP/IP a conexão via Fax modem aparece como se fosse mais uma interface
de rede, conforme pode ser conferido na listagem a seguir:
9
Bem, estes são os aspectos básicos do protocolo TCP/IP. Nos endereços a seguir, você
encontra tutoriais, em português, onde você poderá aprofundar os seus estudos sobre o
protocolo TCP/IP:
http://www.juliobattisti.com.br/tcpip.asp
http://www.guiadohardware.info/tutoriais/enderecamento_ip/index.asp
http://www.guiadohardware.info/curso/redes_guia_completo/22.asp
http://www.guiadohardware.info/curso/redes_guia_completo/23.asp
http://www.guiadohardware.info/curso/redes_guia_completo/28.asp
http://www.vanquish.com.br/site/020608
http://unsekurity.virtualave.net/texto1/texto_tcpip_basico.txt
http://unsekurity.virtualave.net/texto1/tcpipI.txt
10
http://www.rota67.hpg.ig.com.br/tutorial/protocolos/amfhp_tcpip_basico001.ht
m
http://www.rota67.hpg.ig.com.br/tutorial/protocolos/amfhp_tcpip_av001.htm
http://www.geocities.com/ResearchTriangle/Thinktank/4203/doc/tcpip.zip
Questão de exemplo para os exames de Certificação
A seguir coloco um exemplo de questão, relacionada ao TCP/IP, que pode aparecer nos
exames de Certificação da Microsoft, onde são cobrados conhecimentos básicos do
protocolo TCP/IP. Esta questão faz parte dos simulados gratuitos, disponíveis aqui no
site.
Questão 01
A seguir estão as configurações básicos do TCP/IP de três estações de
trabalho: micro01, micro02 e micro03.
Configurações do micro01:
Número IP: 100.100.100.3
Máscara de sub-rede: 255.255.255.0
Gateway: 100.100.100.1
Configurações do micro02:
Número IP: 100.100.100.4
Máscara de sub-rede: 255.255.240.0
Gateway: 100.100.100.1
Configurações do micro03:
Número IP: 100.100.100.5
Máscara de sub-rede: 255.255.255.0
Gateway: 100.100.100.2
O micro 02 não está conseguindo comunicar com os demais
computadores da rede. Já o micro03 consegue comunicar-se na rede
local, porém não consegue se comunicar com nenhum recurso de outras
redes, como por exemplo, a Internet. Quais alterações você deve fazer
para que todos os computadores possam se comunicar normalmente,
tanto na rede local quanto com as redes externas?
a) Altere a máscara de sub-rede do micro02 para 255.255.255.0
Altere o Gateway do micro03 para 100.100.100.1
b) Altere a máscara de sub-rede do micro01 para 255.255.240.0
Altere a máscara de sub-rede do micro03 para 255.255.240.0
c) Altere o Gateway do micro01 para 100.100.100.2
Altere o Gateway do micro02 para 100.100.100.2
d) Altere o Gateway do micro03 para 100.100.100.1
e) Altere a máscara de sub-rede do micro02 para 255.255.255.0
Resposta certa: a
11
Comentários: Pelo enunciado o computador micro02 não consegue comunicar com
nenhum outro computador da rede. Este é um sintoma típico de
problema na máscara de sub-rede. É exatamente o caso, o micro02 está
com uma máscara de sub-rede 255.255.240.0, diferente da máscara dos
demais computadores. Por isso ele está isolado e não consegue se
comunicar com os demais computadores da rede. Já o micro03 não
consegue comunicar-se com outras redes, mas consegue comunicar-se
na rede local. Este é um sintoma de que a configuração do Gateway está
incorreta. Por isso a necessidade de alterar a configuração do Gateway
do micro03, para que este utilize a mesma configuração dos demais
computadores da rede. Observe como esta questão testa apenas
conhecimentos básicos do TCP/IP, tais como Máscara de sub-rede e
Default Gateway.
Conclusão
Na próxima lição falarei sobre o sistema de numeração binário, sobre como converter de
decimal para binário e vice-versa e como o protocolo TCP/IP usa cálculos binários, com
base na máscara de sub-rede, para definir se dois computadores pertence à mesma rede
ou a redes diferentes.
Aproveite para ir aprimorando os seus conhecimentos sobre TCP/IP, com os links
indicados no endereço: http://www.juliobattisti.com.br/tcpip.asp, pois estes
conhecimentos serão muito importantes para os exames de Certificação do Windows
2000 Server, Windows Server 2003 e Windows Longhorn Server
12
Números Binários e Máscara de Sub-Rede
Na Primeira Parte deste curso eu apresentei o protocolo TCP/IP e qual o seu papel em
uma rede de computadores. Nesta segunda parte apresentarei os princípios básicos do
sistema de numeração binário. Também mostrarei como realizar cálculos simples e
conversões de Binário para Decimal e vice-versa. Feita a apresentação das operações
básicas com números binários, veremos como o TCP/IP através de cálculos binários e,
com base na máscara de sub-rede (subnet mask), determina se dois computadores estão
na mesma rede ou fazem parte de redes diferentes.
Sistema de Numeração Binário
Vou iniciar falando do sistema de numeração decimal, para depois fazer uma analogia
ao apresentar o sistema de numeração binário. Todos nos conhecemos o sistema de
numeração decimal, no qual são baseados os números que usamos no nosso dia-a-dia,
como por exemplo: 100, 259, 1450 e assim por diante. Você já parou para pensar
porque este sistema de numeração é chamado de sistema de numeração decimal? Não?
Bem, a resposta é bastante simples: este sistema é baseado em dez dígitos diferentes,
por isso é chamado de sistema de numeração decimal. Todos os números do sistema de
numeração decimal são escritos usando-se uma combinação dos seguintes dez dígitos:
0 1 2 3 4 5 6 7 8 9
Dez dígitos -> Sistema de numeração decimal.
Vamos analisar como é determinado o valor de um número do sistema de numeração
decimal. Por exemplo, considere o seguinte número:
4538
O valor deste número é formado, multiplicando-se os dígitos do número, de trás para
frente, por potências de 10, começando com 10º. O último dígito (bem à direita) é
multiplicado por 10º, o penúltimo por 101, o próximo por 10
2 e assim por diante. O
valor real do número é a soma dos resultados destas multiplicações. Observe o esquema
a seguir que será bem mais fácil de entender:
4 5 3 8
Multiplica por: 103 10
2 10
1 10º
ou seja: 1000 100 10 1
Resultado: 4x1000 5x100 3x10 8x1
Igual a: 4000 500 30 8
Somando tudo: 4000+500+30+8
É igual a: 4538
Observe que 4538 significa exatamente:
13
4 milhares (103)
+ 5 centenas (102)
+ 3 dezenas (101)
+ 8 unidades (100)
E assim para números maiores, com mais dígitos, teríamos potências de 104, 10
5 e
assim por diante. Observe que multiplicando cada dígito por potências de 10, obtemos o
número original. Este princípio aplicado ao sistema de numeração decimal é válido para
qualquer sistema de numeração. Se for o sistema de numeração Octal (baseado em 8
dígitos), multiplica-se por potências de 8: 8º, 81, 8
2 e assim por diante. Se for o sistema
Hexadecimal (baseado em 10 dígitos e 6 letras) multiplica-se por potências de 16, só
que a letra A equivale a 10, já que não tem sentido multiplicar por uma letra, a letra B
equivale a 11 e assim por diante.
Bem, por analogia, se o sistema decimal é baseado em dez dígitos, então o sistema
binário deve ser baseado em dois dígitos? Exatamente. Os números no sistema binários
são escritos usando-se apenas os dois seguintes dígitos:
0 1
Isso mesmo, números no sistema binário são escritos usando-se apenas zeros e uns,
como nos exemplos a seguir:
01011100
11011110
00011111
Também por analogia, se, no sistema decimal, para obter o valor do número,
multiplicamos os seus dígitos, de trás para frente, por potências de 10, no sistema
binário fizemos esta mesma operação, só que baseada em potências de 2, ou seja: 20,
21, 2
2, 2
3, 2
4 e assim por diante.
Vamos considerar alguns exemplos práticos. Como faço para saber o valor decimal do
seguinte número binário: 11001110
Vamos utilizar a tabelinha a seguir para facilitar os nossos cálculos:
1 1 0 0 1 1 1 0
Multiplica por: 27 2
6 2
5 2
4 2
3 2
2 2
1 2
0
equivale a: 128 64 32 16 8 4 2 1
Multiplicação: 1x128 1x64 0x32 0x16 1x8 1x4 1x2 0x1
Resulta em: 128 64 0 0 8 4 2 0
Somando tudo: 128+64+0+0+8+4+2+0
Resulta em: 206
Ou seja, o número binário 11001110 equivale ao decimal 206. Observe que onde temos
um a respectiva potência de 2 é somada e onde temos o zero a respectiva potência de 2 é
anulada por ser multiplicada por zero. Apenas para fixar um pouco mais este conceito,
14
vamos fazer mais um exemplo de conversão de binário para decimal. Converter o
número 11100010 para decimal:
1 1 1 0 0 0 1 0
Multiplica por: 27 2
6 2
5 2
4 2
3 2
2 2
1 2
0
equivale a: 128 64 32 16 8 4 2 1
Multiplicação: 1x128 1x64 1x32 0x16 0x8 0x4 1x2 0x1
Resulta em: 128 64 32 0 0 0 2 0
Somando tudo: 128+64+32+0+0+0+2+0
Resulta em: 226
Como Converter de Decimal para Binário
Bem, e se tivéssemos que fazer o contrário, converter o número 234 de decimal para
binário, qual seria o binário equivalente?
Nota: Nos exemplos deste tutorial vou trabalhar com valores decimais de, no máximo,
255, que são valores que podem ser representados por 8 dígitos binários, ou na
linguagem do computador 8 bits, o que equivale exatamente a um byte. Por isso que
cada um dos quatro números que fazem parte do número IP, somente podem ter um
valor máximo de 255, que é um valor que cabe em um byte, ou seja, 8 bits.
Existem muitas regras para fazer esta conversão, eu prefiro utilizar uma bem simples,
que descreverei a seguir e que serve perfeitamente para o propósito deste tutorial.
Vamos voltar ao nosso exemplo, como converter 234 para um binário de 8 dígitos?
Eu começo o raciocínio assim. Primeiro vamos lembrar o valor decimal correspondente
a cada um dos oito dígitos binários:
128 64 32 16 8 4 2 1
Lembrando que estes números representam potências de 2, começando, de trás para
frente, com 20, 2
1, 2
2 e assim por diante, conforme indicado logo a seguir:
128 64 32 16 8 4 2 1
27 26 25 24 23 22 21 20
Pergunto: 128 cabe em 234? Sim, então o primeiro dígito é 1. Somando 64 a 128 passa
de 234? Não, dá 192, então o segundo dígito também é 1. Somando 32 a 192 passa de
234? Não, dá 224, então o terceiro dígito também é 1. Somando 16 a 224 passa de 234?
Passa, então o quarto dígito é zero. Somando 8 a 224 passa de 234? Não, da 232, então
o quinto dígito é 1. Somando 4 a 232 passa de 234? Passa, então o sexto dígito é zero.
Somando 2 a 232 passa de 234? Não, dá exatamente 234, então o sétimo dígito é 1. Já
cheguei ao valor desejado, então todos os demais dígitos são zero. Com isso, o valor
234 em binário é igual a:
15
11101010
Para exercitar vamos converter mais um número de decimal para binário. Vamos
converter o número 144 para binário.
Pergunto: 128 cabe em 144? Sim, então o primeiro dígito é 1. Somando 64 a 128 passa
de 144? Sim, dá 192, então o segundo dígito é 0. Somando 32 a 128 passa de 144? Sim,
dá 160, então o terceiro dígito também é 0. Somando 16 a 128 passa de 144? Não, dá
exatamente 144, então o quarto dígito é 1. Já cheguei ao valor desejado, então todos os
demais dígitos são zero. Com isso, o valor 144 em binário é igual a:
10010000
Bem, agora que você já sabe como converter de decimal para binário, está em condições
de aprender sobre o operador ―E‖ e como o TCP/IP usa a máscara de sub-rede (subnet
mask) e uma operação ―E‖, para verificar se duas máquinas estão na mesma rede ou em
redes diferentes.
O Operador E
Existem diversas operações lógicas que podem ser feitas entre dois dígitos binários,
sendo as mais conhecidas as seguintes: ―E‖, ―OU‖, ―XOR‖ e ―NOT‖.
Para o nosso estudo interessa o operador E. Quando realizamos um ―E‖ entre dois bits,
o resultado somente será 1, se os dois bits forem iguais a 1. Se pelo menos um dos bits
for igual a zero, o resultado será zero. Na tabela a seguir temos todos os valores
possíveis da operação E entre dois bits:
bit-1 bit-2 (bit-1) E (bit-2)
1 1 1
1 0 0
0 1 0
0 0 0
Como o TCP/IP usa a máscara de sub-rede:
Considere a figura a seguir, onde temos a representação de uma rede local, ligada a
outras redes da empresa, através de um roteador.
16
Temos uma rede que usa como máscara de sub-rede 255.255.255.0 (uma rede classe C,
mas ainda não abordamos as classes de redes, o que será feito na Parte 3 deste curso). A
rede é a 10.200.150.0, ou seja, todos os equipamentos da rede têm as três primeiras
partes do número IP como sendo: 10.200.150. Veja que existe uma relação direta entre a
máscara de sub-rede a quantas das partes do número IP são fixas, ou seja, que definem a
rede, conforme foi descrito na Parte 1 deste curso.
A rede da figura anterior é uma rede das mais comumente encontradas hoje em dia,
onde existe um roteador ligado à rede e o roteador está conectado a um Modem, através
do qual é feita a conexão da rede local com a rede WAN da empresa, através de uma
linha de dados (também conhecido como link de comunicação). Nas próximas partes
lições vou detalhar a função do roteador e mostrarei como funciona o roteamento entre
redes.
Como o TCP/IP usa a máscara de sub-rede e o roteador
Quando dois computadores tentam trocar informações em uma rede, o TCP/IP precisa
primeiro, determinar se os dois computadores pertencem a mesma rede ou a redes
diferentes. Neste caso podemos ter duas situações distintas:
17
Situação 1: Os dois computadores pertencem a mesma rede: Neste caso o TCP/IP
envia o pacote para o barramento local da rede. Todos os computadores recebem o
pacote, mas somente o computador que é o destinatário do pacote é que o captura e
passa para processamento pelo Windows e pelo programa de destino. Como é que o
computador sabe se ele é ou não o destinatário do pacote? Muito simples, no pacote de
informações está contido o endereço IP do computador destinatário. Em cada
computador, o TCP/IP compara o IP de destinatário do pacote com o IP do computador,
para saber se o pacote é ou não para o respectivo computador.
Situação 2: Os dois computadores não pertencem a mesma rede: Neste caso o
TCP/IP envia o pacote para o Roteador (endereço do Default Gateway configurado nas
propriedades do TCP/IP) e o Roteador se encarrega de fazer o pacote chegar ao seu
destino. Em uma das partes deste tutorial veremos detalhes sobre como o Roteador é
capaz de rotear pacotes de informações até redes distantes.
Agora a pergunta que tem a ver com este tópico:
“Como é que o TCP/IP faz para saber se o computador de origem e o computador
de destino pertencem a mesma rede?”
Vamos usar alguns exemplos práticos para explicar como o TCP/IP faz isso:
Exemplo 1: Com base na figura anterior, suponha que o computador cujo IP é
10.200.150.5 (origem) queira enviar um pacote de informações para o computador cujo
IP é 10.200.150.8 (destino), ambos com máscara de sub-rede igual a 255.255.255.0.
O primeiro passo é converter o número IP das duas máquinas e da máscara de sub-rede
para binário. Com base nas regras que vimos anteriormente, teríamos a seguinte
conversão:
Computador de origem:
10 200 150 5
00001010 11001000 10010110 00000101
Computador de destino:
10 200 150 8
00001010 11001000 10010110 00001000
Máscara de sub-rede:
255 255 255 0
11111111 11111111 11111111 00000000
Feitas as conversões para binário, vamos ver que tipo de cálculos o TCP/IP faz, para
determinar se o computador de origem e o computador de destino estão na mesma rede.
Em primeiro lugar é feita uma operação ―E‖, bit a bit, entre o Número IP e a máscara de
Sub-rede do computador de origem, conforme indicado na tabela a seguir:
18
10.200.150.5 00001010 11001000 10010110 00000101 E 255.255.255.0 11111111 11111111 11111111 00000000
10.200.150.0 00001010 11001000 10010110 00000000 Resultado
Agora é feita uma operação ―E‖, bit a bit, entre o Número IP e a máscara de sub-rede do
computador de destino, conforme indicado na tabela a seguir:
10.200.150.8 00001010 11001000 10010110 00001000 E 255.255.255.0 11111111 11111111 11111111 00000000
10.200.150.0 00001010 11001000 10010110 00000000 Resultado
Agora o TCP/IP compara os resultados das duas operações. Se os dois resultados forem
iguais, aos dois computadores, origem e destino, pertencem a mesma rede local. Neste
caso o TCP/IP envia o pacote para o barramento da rede local. Todos os computadores
recebem o pacote, mas somente o destinatário do pacote é que o captura e passa para
processamento pelo Windows e pelo programa de destino. Como é que o computador
sabe se ele é ou não o destinatário do pacote? Muito simples, no pacote de informações
está contido o endereço IP do destinatário. Em cada computador, o TCP/IP compara o
IP de destinatário do pacote com o IP do computador, para saber se o pacote é ou não
para o respectivo computador.
É o que acontece neste exemplo, pois o resultado das duas operações ―E‖ é igual:
10.200.150.0, ou seja, os dois computadores pertencem a rede: 10.200.150.0
Como você já deve ter adivinhado, agora vamos a um exemplo, onde os dois
computadores não pertencem a mesma rede, pelo menos devido às configurações do
TCP/IP.
Exemplo 2: Suponha que o computador cujo IP é 10.200.150.5 (origem) queira enviar
um pacote de informações para o computador cujo IP é 10.204.150.8 (destino), ambos
com máscara de sub-rede igual a 255.255.255.0.
O primeiro passo é converter o número IP das duas máquinas e da máscara de sub-rede
para binário. Com base nas regras que vimos anteriormente, teríamos a seguinte
conversão:
Computador de origem:
10 200 150 5
00001010 11001000 10010110 00000101
Computador de destino:
10 204 150 8
00001010 11001100 10010110 00001000
19
Máscara de sub-rede:
255 255 255 0
11111111 11111111 11111111 00000000
Feitas as conversões para binário, vamos ver que tipo de cálculos o TCP/IP faz, para
determinar se o computador de origem e o computador de destino estão na mesma rede.
Em primeiro lugar é feita uma operação ―E‖, bit a bit, entre o Número IP e a máscara de
Sub-rede do computador de origem, conforme indicado na tabela a seguir:
10.200.150.5 00001010 11001000 10010110 00000101 E 255.255.255.0 11111111 11111111 11111111 00000000
10.200.150.0 00001010 11001000 10010110 00000000 Resultado
Agora é feita uma operação ―E‖, bit a bit, entre o Número IP e a máscara de sub-rede do
computador de destino, conforme indicado na tabela a seguir:
10.204.150.8 00001010 11001100 10010110 00001000 E 255.255.255.0 11111111 11111111 11111111 00000000
10.204.150.0 00001010 11001100 10010110 00000000 Resultado
Agora o TCP/IP compara os resultados das duas operações. Neste exemplo, os dois
resultados são diferentes: 10.200.150.0 e 10.204.150.0. Nesta situação o TCP/IP envia o
pacote para o Roteador (endereço do Default Gateway configurado nas propriedades do
TCP/IP) e o Roteador se encarrega de fazer o pacote chegar a rede do computador de
destino. Em outras palavras o Roteador sabe entregar o pacote para a rede 10.204.150.0
ou sabe para quem enviar (um outro roteador), para que este próximo roteador possa
encaminhar o pacote. Este processo continua até que o pacote seja entregue na rede de
destino, ou seja, descartado, por não ter sido encontrada uma rota para a rede de destino.
Observe que, na figura anterior, temos dois computadores que, apesar de estarem
fisicamente na mesma rede, não conseguirão se comunicar devido a um erro de
configuração na máscara de sub-rede de um dos computadores. É o caso do computador
10.200.150.4 (com máscara de sub-rede 255.255.250.0). Como este computador está
com uma máscara de sub-rede diferente dos demais computadores da rede
(255.255.255.0), ao fazer os cálculos, o TCP/IP chega a conclusão que este computador
pertence a uma rede diferente, o que faz com que ele não consiga se comunicar com os
demais computadores da rede local.
20
Conclusão
Nesta segunda lição do curso, apresentei aspectos relacionados com números binários e
aritmética binária básica. Também mostrei como o protocolo TCP/IP usa os
correspondentes binários do Número IP e da máscara de sub-rede, juntamente com uma
operação ―E‖, para determinar se dois computadores estão na mesma rede ou não. Com
base nestes cálculos, o TCP/IP encaminha os pacotes de informação de maneiras
diferentes.
21
Classes de Endereços
Na Parte 1 deste curso apresentei o protocolo TCP/IP e qual o seu papel em uma rede de
computadores. Na Parte 2 apresentei os princípios básicos do sistema de numeração
binário. Também mostrei como realizar cálculos simples e conversões de Binário para
Decimal e vice-versa. Feita a apresentação das operações básicas com números binários,
mostrei como o TCP/IP, através de cálculos binários e, com base na máscara de sub-
rede (subnet mask), determina se dois computadores estão na mesma rede ou fazem
parte de redes diferentes. Nesta Parte vou falar sobre o endereçamento IP. Mostrarei
que, inicialmente, foram definidas classes de endereços IP. Porém, devido a uma
possível falta de endereços, por causa do grande crescimento da Internet, novas
alternativas tiveram que ser buscadas.
Endereçamento IP – Classes de Endereços
Nos vimos, na Parte 2, que a máscara de sub-rede é utilizada para determinar qual
―parte‖ do endereço IP representa o número da Rede e qual parte representa o número
da máquina dentro da rede. A máscara de sub-rede também foi utilizada na definição
original das classes de endereço IP. Em cada classe existe um determinado número de
redes possíveis e, em cada rede, um número máximo de máquinas.
Inicialmente foram definidas cinco classes de endereços, identificadas pelas letras: A, B,
C, D e E. Vou iniciar com uma descrição detalhada de cada Classe de Endereços e, em
seguida apresento um quadro resumo.
Redes Classe A
Esta classe foi definida com tendo o primeiro bit do número IP como sendo igual a zero.
Com isso o primeiro número IP somente poderá variar de 1 até 126 (na prática até 127,
mas o número 127 é um número reservado, conforme detalharei mais adiante). Observe,
no esquema a seguir, explicado na Parte 2, que o primeiro bit sendo 0, o valor máximo
(quando todos os demais bits são iguais a 1) a que se chega é de 127:
0 1 1 1 1 1 1 1
Multiplica por: 27 26 25 24 23 22 21 20
equivale a: 128 64 32 16 8 4 2 1
Multiplicação: 0x128 1x64 1x32 1x16 1x8 1x4 1x2 1x1
Resulta em: 0 64 32 16 8 4 2 1
Somando tudo: 0+64+32+16+8+4+2+1
22
Resulta em: 127
O número 127 não é utilizado como rede Classe A, pois é um número especial,
reservado para fazer referência ao próprio computador. O número 127.0.0.1 é um
número especial, conhecido como localhost. Ou seja, sempre que um programa fizer
referência a localhost ou ao número 127.0.0.1, estará fazendo referência ao computador
onde o programa está sendo executado.
Por padrão, para a Classe A, foi definida a seguinte máscara de sub-rede: 255.0.0.0.
Com esta máscara de sub-rede observe que temos 8 bits para o endereço da rede e 24
bits para o endereço da máquina dentro da rede. Com base no número de bits para a rede
e para as máquinas, podemos determinar quantas redes Classe A podem existir e qual o
número máximo de máquinas por rede. Para isso utilizamos a fórmula a seguir:
2n- 2
, onde ―n‖ representa o número de bits utilizado para a rede ou para a identificação da
máquina dentro da rede. Vamos aos cálculos:
Número de redes Classe A
Número de bits para a rede: 7. Como o primeiro bit sempre é zero, este não varia. Por
isso sobram 7 bits (8-1) para formar diferentes redes:
27-2 -> 128-2 -> 126 redes Classe A
Número de máquinas (hosts) em uma rede Classe A
Número de bits para identificar a máquina: 24
224
-2 -> 16777216 - 2 -> 16777214 máquinas em cada rede classe A.
Na Classe A temos apenas um pequeno número de redes disponíveis, porém um grande
número de máquinas em cada rede.
Já podemos concluir que este número de máquinas, na prática, jamais será instalado em
uma única rede. Com isso observe que, com este esquema de endereçamento, teríamos
poucas redes Classe A (apenas 126) e com um número muito grande de máquinas em
cada rede. Isso causaria desperdício de endereços IP, pois se o endereço de uma rede
Classe A fosse disponibilizado para uma empresa, esta utilizaria apenas uma pequena
parcela dos endereços disponíveis e todos os demais endereços ficariam sem uso. Para
resolver esta questão é que se passou a utilizar a divisão em sub-redes, assunto este que
será visto na Parte 5 deste curso.
Redes Classe B
Esta classe foi definida com tendo os dois primeiros bits do número IP como sendo
sempre iguais a 1 e 0. Com isso o primeiro número do endereço IP somente poderá
23
variar de 128 até 191. Como o segundo bit é sempre 0, o valor do segundo bit que é 64
nunca é somado para o primeiro número IP, com isso o valor máximo fica em: 255-64,
que é o 191. Observe, no esquema a seguir, explicado na Parte 2 deste curso, que o
primeiro bit sendo 1 e o segundo sendo 0, o valor máximo (quando todos os demais bits
são iguais a 1) a que se chega é de 191:
1 0 1 1 1 1 1 1
Multiplica por: 27 26 25 24 23 22 21 20
equivale a: 128 64 32 16 8 4 2 1
Multiplicação: 1x128 0x64 1x32 1x16 1x8 1x4 1x2 1x1
Resulta em: 128 0 32 16 8 4 2 1
Somando tudo: 128+0+32+16+8+4+2+1
Resulta em: 191
Por padrão, para a Classe B, foi definida a seguinte máscara de sub-rede: 255.255.0.0.
Com esta máscara de sub-rede observe que temos 16 bits para o endereço da rede e 16
bits para o endereço da máquina dentro da rede. Com base no número de bits para a rede
e para as máquinas, podemos determinar quantas redes Classe B podem existir e qual o
número máximo de máquinas por rede. Para isso utilizamos a fórmula a seguir:
2n- 2
, onde ―n‖ representa o número de bits utilizado para a rede ou para a identificação da
máquina dentro da rede. Vamos aos cálculos:
Número de redes Classe B
Número de bits para a rede: 14. Como o primeiro e o segundo bit são sempre 10, fixos,
não variam, sobram 14 bits (16-2) para formar diferentes redes:
214
-2 -> 16384-2 -> 16382 redes Classe B
Número de máquinas (hosts) em uma rede Classe B
Número de bits para identificar a máquina: 16
216
-2 -> 65536-2 -> 65534 máquinas em cada rede classe B
24
Na Classe B temos um número razoável de redes Classe B, com um bom número de
máquinas em cada rede.
O número máximo de máquinas, por rede Classe B já está mais próximo da realidade
para as redes de algumas grandes empresas tais como Microsoft, IBM, HP, GM, etc.
Mesmo assim, para muitas empresas menores, a utilização de um endereço Classe B,
representa um grande desperdício de números IP. Conforme veremos na Parte 7 deste
tutorial é possível usar um número diferentes de bits para a máscara de sub-rede, ao
invés dos 16 bits definidos por padrão para a Classe B (o que também é possível com
Classe A e Classe C). Com isso posso dividir uma rede classe B em várias sub-redes
menores, com um número menor de máquinas em cada sub-rede. Mas isso é assunto
para a Parte 7 deste tutorial.
Redes Classe C
Esta classe foi definida com tendo os três primeiros bits do número IP como sendo
sempre iguais a 1, 1 e 0. Com isso o primeiro número do endereço IP somente poderá
variar de 192 até 223. Como o terceiro bit é sempre 0, o valor do terceiro bit que é 32
nunca é somado para o primeiro número IP, com isso o valor máximo fica em: 255-32,
que é 223. Observe, no esquema a seguir, explicado na Parte 2 deste tutorial, que o
primeiro bit sendo 1, o segundo bit sendo 1 e o terceiro bit sendo 0, o valor máximo
(quando todos os demais bits são iguais a 1) a que se chega é de 223:
1 1 0 1 1 1 1 1
Multiplica por: 27 26 25 24 23 22 21 20
equivale a: 128 64 32 16 8 4 2 1
Multiplicação: 1x128 1x64 0x32 1x16 1x8 1x4 1x2 1x1
Resulta em: 128 64 0 16 8 4 2 1
Somando tudo: 128+64+0+16+8+4+2+1
Resulta em: 223
Por padrão, para a Classe C, foi definida a seguinte máscara de sub-rede:
255.255.255.0. Com esta máscara de sub-rede observe que temos 24 bits para o
endereço da rede e apenas 8 bits para o endereço da máquina dentro da rede. Com base
no número de bits para a rede e para as máquinas, podemos determinar quantas redes
Classe C podem existir e qual o número máximo de máquinas por rede. Para isso
utilizamos a fórmula a seguir:
2n- 2
25
, onde ―n‖ representa o número de bits utilizado para a rede ou para a identificação da
máquina dentro da rede. Vamos aos cálculos:
Número de redes Classe C
Número de bits para a rede: 21. Como o primeiro, o segundo e o terceiro bit são sempre
110, ou seja: fixos, não variam, sobram 21 bits (24-3) para formar diferentes redes:
221
-2 -> 2.097.152-2 -> 2.097.150 redes Classe C
Número de máquinas (hosts) em uma rede Classe C:
Número de bits para identificar a máquina: 8
28-2 -> 256-2 -> 254 máquinas em cada rede classe C
Observe que na Classe C temos um grande número de redes disponíveis, com, no
máximo, 254 máquinas em cada rede. É o ideal para empresas de pequeno porte.
Mesmo com a Classe C, existe um grande desperdício de endereços. Imagine uma
pequena empresa com apenas 20 máquinas em rede. Usando um endereço Classe C,
estariam sendo desperdiçados 234 endereços. Conforme já descrito anteriormente, esta
questão do desperdício de endereços IP pode ser resolvida através da utilização de sub-
redes.
Redes Classe D
Esta classe foi definida com tendo os quatro primeiros bits do número IP como sendo
sempre iguais a 1, 1, 1 e 0. A classe D é uma classe especial, reservada para os
chamados endereços de Multicast. Falaremos sobre Multicast, Unicast e Broadcast em
uma das próximas partes deste tutorial.
Redes Classe E
Esta classe foi definida com tendo os quatro primeiros bits do número IP como sendo
sempre iguais a 1, 1, 1 e 1. A classe E é uma classe especial e está reservada para uso
futuro.
Quadro resumo das Classes de Endereço IP
A seguir apresento uma tabela com as principais características de cada Classe de
Endereços IP:
Classe Primeiros bits Núm. de redes Número de hosts Máscara padrão
A 0 126 16.777.214 255.0.0.0
B 10 16.382 65.534 255.255.0.0
26
C 110 2.097.150 254 255.255.255.0
D 1110 Utilizado para tráfego Multicast
E 1111 Reservado para uso futuro
Endereços Especiais
Existem alguns endereços IP especiais, reservados para funções específicas e que não
podem ser utilizados como endereços de uma máquina da rede. A seguir descrevo estes
endereços.
Endereços da rede 127.0.0.0: São utilizados como um aliás (apelido), para fazer referência a própria máquina. Normalmente é utilizado o endereço 127.0.0.1, o qual é associado ao nome localhost. Esta associação é feita através do arquivo hosts. No Windows 95/98/Me o arquivo hosts está na pasta onde o Windows foi instalado e no Windows 2000/XP/Vista/2003, o arquivo hosts está no seguinte caminho: system32/drivers/etc., sendo que este caminho fica dentro da pasta onde o Windows foi instalado.
Endereço com todos os bits destinados à identificação da máquina, iguais a 0: Um endereço com zeros em todos os bits de identificação da máquina representa o endereço da rede. Por exemplo, vamos supor que você tenha uma rede Classe C. A máquina a seguir é uma máquina desta rede: 200.220.150.3. Neste caso o endereço da rede é: 200.220.150.0, ou seja, zero na parte destinada a identificação da máquina. Sendo uma rede classe C, a máscara de sub-rede é 255.255.255.0.
Endereço com todos os bits destinados à identificação da máquina, iguais a 1: Um endereço com valor 1 em todos os bits de identificação da máquina representa o endereço de broadcast. Por exemplo, vamos supor que você tenha uma rede Classe C. A máquina a seguir é uma máquina desta rede: 200.220.150.3. Neste caso o endereço de broadcast desta rede é o seguinte: 200.220.150.255, ou seja, todos os bits da parte destinada à identificação da máquina, iguais a 1. Sendo uma rede classe C, a máscara de sub-rede é 255.255.255.0. Ao enviar uma mensagem para o endereço do broadcast, a mensagem é endereçada para todos as máquinas da rede.
Conclusão
Nesta terceira parte do tutorial de TCP/IP, apresentei uma introdução ao conceito de
Endereçamento IP e às classes de endereçamento padrão. Na Parte 4 falarei sobre a
maneira como é feito o roteamento IP entre redes diferentes, através do uso de
roteadores.
Não se esqueça de consultar os endereços a seguir para aprofundar os estudos de
TCP/IP:
http://www.juliobattisti.com.br/tcpip.asp http://www.guiadohardware.info/tutoriais/enderecamento_ip/index.asp http://www.guiadohardware.info/curso/redes_guia_completo/22.asp http://www.guiadohardware.info/curso/redes_guia_completo/23.asp
27
http://www.guiadohardware.info/curso/redes_guia_completo/28.asp http://www.aprendaemcasa.com.br/tcpip1.htm http://www.aprendaemcasa.com.br/tcpip2.htm (estes endereços vão até o
tcpip48.htm, sendo um curso gratuito OnLine sobre TCP/IP no Windows 2000). http://www.vanquish.com.br/site/020608 http://unsekurity.virtualave.net/texto1/texto_tcpip_basico.txt http://unsekurity.virtualave.net/texto1/tcpipI.txt http://www.rota67.hpg.ig.com.br/tutorial/protocolos/amfhp_tcpip_basico001.htm http://www.rota67.hpg.ig.com.br/tutorial/protocolos/amfhp_tcpip_av001.htm http://www.geocities.com/ResearchTriangle/Thinktank/4203/doc/tcpip.zip
28
Introdução ao Roteamento IP
Na Parte 1 apresentei o protocolo TCP/IP e qual o seu papel em uma rede de
computadores. Na Parte 2 apresentei os princípios básicos do sistema de numeração
binário. Também mostrei como realizar cálculos simples e conversões de Binário para
Decimal e vice-versa. Feita a apresentação das operações básicas com números binários,
vimos como o protocolo TCP/IP, através de cálculos binários e, com base na máscara de
sub-rede (subnet mask), determina se dois computadores estão na mesma rede ou fazem
parte de redes diferentes. Na Parte 3 falei sobre o endereçamento IP. Mostrei que,
inicialmente, foram definidas classes de endereços IP. Porém, devido a uma possível
falta de endereços, por causa do grande crescimento da Internet, novas alternativas
tiveram que ser buscadas. Nesta parte vou iniciar a abordagem sobre Roteamento.
Falarei sobre o papel dos roteadores na ligação entre redes locais (LANs) para formar
uma WAN. Mostrarei alguns exemplos básicos de roteamento. Na Parte 5 vou
aprofundar um pouco mais a discussão sobre Roteamento.
O papel do Roteador em uma rede de computadores
Nos vimos, na Parte 2, que a máscara de sub-rede é utilizada para determinar qual
―parte‖ do endereço IP representa o número da Rede e qual parte representa o número
da máquina dentro da rede. A máscara de sub-rede também foi utilizada na definição
original das classes de endereço IP. Em cada classe existe um determinado número de
redes possíveis e, em cada rede, um número máximo de máquinas (veja Parte 3). Com
base na máscara de sub-rede o protocolo TCP/IP determina se o computador de origem
e o de destino está na mesma rede local. Com base em cálculos binários, o TCP/IP pode
chegar a dois resultados distintos:
O computador de origem e o computador de destino estão na mesma rede
local: Neste caso os dados são enviados para o barramento da rede local. Todos
os computadores da rede recebem os dados. Ao receber os dados cada
computador analisa o campo Número IP do destinatário. Se o IP do destinatário
for igual ao IP do computador, os dados são capturados e processados pelo
sistema, caso contrário são simplesmente descartados. Observe que com este
procedimento, apenas o computador de destino é que efetivamente processa os
dados para ele enviados, os demais computadores simplesmente descartam os
dados.
O computador de origem e de destino não estão na mesma rede local: Neste
caso os dados são enviados o equipamento com o número IP configurado no
parâmetro Default Gateway (Gateway Padrão). Ou seja, se após os cálculos
baseados na máscara de sub-rede, o TCP/IP chegar a conclusão que o
computador de destino e o computador de origem não fazem parte da mesma
rede local, os dados são enviados para o Default Gateway, o qual será
encarregado de encontrar um caminho para enviar os dados até o computador de
destino. Esse ―encontrar o caminho― é tecnicamente conhecido como Rotear os
dados até o destino (ou melhor, rotear os dados até a rede do computador de
destino). O responsável por ―Rotear‖ os dados é o equipamento que atua como
Default Gateway o qual é conhecido como Roteador. Com isso fica fácil
entender o papel do Roteador:
29
“O Roteador é o responsável por encontrar um caminho entre a rede onde está o
computador que enviou os dados (computador de origem) e a rede onde está o
computador que irá receber os dados (computador de destino).”
Quando ocorre um problema com o Roteador, tornando-o indisponível, você consegue
se comunicar normalmente com os demais computadores da sua rede local, porém não
conseguirá comunicação com outras redes de computadores, como por exemplo, a
Internet.
Como Verificar o Default Gateway no Windows 2000/Windows XP ou Windows
Server 2003?
Você pode verificar as configurações do TCP/IP de um computador com o Windows
2000, Windows Server 2003 ou Windows XP de duas maneiras distintas: Acessando as
propriedades da interface de rede ou com o comando ipconfig. A seguir descrevo estas
duas maneiras:
Verificando as configurações do TCP/IP usando a interface gráfica:
1. Clique com o botão direito do mouse no ícone Meus locais de rede, na Área de
trabalho.
2. No menu que é exibido clique na opção Propriedades.
3. Será exibida a janela Conexões dial-up e de rede. Nessa janela é exibido um ícone
para cada conexão disponível. Por exemplo, se o seu computador estiver conectado a
uma rede local e também tiver uma conexão via Modem, será exibido um ícone para
cada conexão. Nesta janela também está disponível o ícone ―Fazer nova conexão‖. Com
esse ícone você pode criar novas conexões. Na figura a seguir temos um exemplo onde
está disponível apenas uma conexão de rede local:
4. Clique com o botão direito do mouse no ícone ―Conexão de rede local‖. No menu
de opções que é exibido clique em Propriedades.
30
5. Será exibida a janela de Propriedades da conexão de rede local, conforme
indicado na figura a seguir:
6. Clique na opção Protocolo Internet (TCP/IP) e depois clique no botão
Propriedades.
7. A janela de propriedades do TCP/IP será exibida, conforme indicado na próxima
figura. Nesta janela são exibidas informações sobre o número IP do computador, a
máscara de sub-rede, o Gateway padrão e o número IP dos servidores DNS primário e
secundário. Se a opção obter um endereço IP automaticamente estiver marcada, o
computador tentará obter todas estas configurações a partir de um servidor DHCP,
durante a inicialização do Windows. Neste caso as informações sobre as configurações
TCP/IP, inclusive o número IP do Roteador (Gateway Padrão), somente poderão ser
obtidas através do comando ipconfig, conforme descrevo logo a seguir.
8. Clique em OK para fechar a janela de Propriedades do protocolo TCP/IP.
9. Você estará de volta a janela de Propriedades da conexão de rede local. Clique em
OK para fechá-la.
10. Você estará de volta à janela Conexões dial-up e de rede. Feche-a.
31
Verificando as configurações do TCP/IP usando o comando ipconfig
Para verificar as configurações do TCP/IP, utilizando o comando ipconfig, siga os
seguintes passos:
1. Abra o Prompt de comando: Iniciar -> Programas -> Acessórios -> Prompt de
comando.
2. Digite o comando ipconfig/all
3. Serão listadas as configurações do TCP/IP, conforme exemplo da listagem a
seguir, onde uma das informações exibidas é o número IP do Gateway Padrão (Default
Gateway):
Configuração de IP do Windows 2000
Nome do host. . . . . . . . . . . : MICRO080
Sufixo DNS primário. . . . . . . . : abc.com.br
Tipo de nó . . . . . . . . . . . . : Híbrida
Roteamento de IP ativado. . . . . : Não
Proxy WINS ativado. . . . . . . . : Não
Lista de pesquisa de sufixo DNS. . : abc.com.br
vendas.abc.com.br
finan.abc.com.br
32
Ethernet adaptador Conexão de rede local:
Sufixo DNS específico de conexão . : abc.com.br
Descrição. . . . . . . . . . . . . : 3COM - AX 25
Endereço físico. . . . . . . . . . : 04-02-B3-92-82-CA
DHCP ativado . . . . . . . . . . . : Sim
Configuração automática ativada. . : Sim
Endereço IP. . . . . . . . . . . . : 10.10.10.222
Máscara de sub-rede. . . . . . . . : 255.255.0.0
Gateway padrão . . . . . . . . . . : 10.10.10.1
Servidor DHCP. . . . . . . . . . . : 10.10.10.2
Servidores DNS . . . . . . . . . . : 10.10.10.2
Servidor WINS primário . . . . . . : 10.10.10.2
Explicando Roteamento – um exemplo prático
Vou iniciar a explicação sobre como o roteamento funciona, através da análise de um
exemplos simples. Vamos imaginar a situação de uma empresa que tem a matriz em SP
e uma filial no RJ. O objetivo é conectar a rede local da matriz em SP com a rede local
da filial no RJ, para permitir a troca de mensagens e documentos entre os dois
escritórios. Nesta situação o primeiro passo é contratar um link de comunicação entre os
dois escritórios. Em cada escritório deve ser instalado um Roteador. E finalmente os
roteadores devem ser configurados para que seja possível a troca de informações entre
as duas redes. Na figura a seguir temos a ilustração desta pequena rede de longa
distância (WAN). Em seguida vamos explicar como funciona o roteamento entre as
duas redes:
33
Nesta pequena rede temos um exemplo simples de roteamento, mas muito a explicar.
Então vamos ao trabalho.
Como está configurado o endereçamento das redes locais e dos roteadores?
Rede de SP: Esta rede utiliza um esquema de endereçamento 10.10.10.0, com
máscara de sub-rede 255.255.255.0. Observe que embora, teoricamente, seria
uma rede Classe A, estamos utilizando uma máscara de sub-rede classe C. Na
prática, é uma rede Classe C, pois, na prática, consideramos a Máscara de Sub-
rede como critério para definir a classe de rede e não as faixas teóricas,
apresentadas na Parte 3. Veja a parte 3 para detalhes sobre Classes de Endereços
IP.
Rede de RJ: Esta rede utiliza um esquema de endereçamento 10.10.20.0, com
máscara de sub-rede 255.255.255.0. Observe que embora, teoricamente, seria
uma rede Classe A, estamos utilizando uma máscara de sub-rede classe C. Veja
a Parte 3 para detalhes sobre Classes de Endereços IP.
Roteadores: Cada roteador possui duas interfaces. Uma é a chamada interface
de LAN (rede local), a qual conecta o roteador com a rede local. A outra é a
interface de WAN (rede de longa distância), a qual conecta o roteador com o
link de dados. Na interface de rede local, o roteador deve ter um endereço IP da
rede interna. No roteador de SP, o endereço é 10.10.10.1. Não é obrigatório, mas
é um padrão normalmente adotado, utilizar o primeiro endereço da rede para o
Roteador. No roteador do RJ, o endereço é 10.10.20.1
Rede dos roteadores: Para que as interfaces externas dos roteadores possam se
comunicar, eles devem fazer parte de uma mesma rede, isto é, devem
compartilhar um esquema de endereçamento comum. As interfaces externas dos
roteadores (interfaces WAN) fazem parte da rede 10.10.30.0, com máscara de
sub-rede 255.255.255.0.
Na verdade - 3 redes: Com isso temos, na prática três redes, conforme
resumido a seguir:
o SP: 10.10.10.0/255.255.255.0
o RJ: 10.10.20.0/255.255.255.0
o Interfaces WAN dos Roteadores: 10.10.30.0/255.255.255.0
Na prática é como se a rede 10.10.30.0 fosse uma ―ponte‖ entre as duas outras
redes.
Como é feita a interligação entre as duas redes?
Vou utilizar um exemplo prático, para mostrar como é feito o roteamento entre as duas
redes.
Exemplo: Vamos analisar como é feito o roteamento, quando um computador da rede
em SP, precisa acessar informações de um computador da rede no RJ. O computador
SP-01 (10.10.10.5), precisa acessar um arquivo que está em uma pasta compartilhada do
34
computador RJ-02 (10.10.20.12). Como é feito o roteamento, de tal maneira que estes
dois computadores possam trocar informações? Acompanhe os passos descritos a
seguir:
1. O computador SP-01 é o computador de origem e o computador RJ-02 é o
computador de destino. A primeira ação do TCP/IP é fazer os cálculos para verificar se
os dois computadores estão na mesma rede (veja como são feitos estes cálculos na Parte
2). Os seguintes dados são utilizados para realização destes cálculos:
SP-01: 10.10.10.5/255.255.255.0
RJ-02: 10.10.20.12/255.255.255.0
2. Feitos os cálculos, o TCP/IP chega a conclusão de que os dois computadores
pertencem a redes diferentes: SP-01 pertence a rede 10.10.10.0 e RJ-02 pertence a rede
10.10.20.0.
3. Como os computadores pertencem a redes diferentes, os dados devem ser
enviados para o Roteador.
4. No roteador de SP chega o pacote de informações com o IP de destino:
10.10.20.12. O roteador precisa consultar a sua tabela de roteamento (assunto da Parte
5) e verificar se ele conhece um caminho para a rede 10.10.20.0.
5. O roteador de SP tem, em sua tabela de roteamento, a informação de que pacotes
para a rede 10.10.20.0 devem ser encaminhados pela interface 10.10.30.1. É isso que ele
faz, ou seja, encaminha os pacotes através da interface de WAN: 10.10.30.1.
6. Os pacotes de dados chegam na interface 10.10.30.1 e são enviados, através do
link de comunicação, para a interface 10.10.30.2, do roteador do RJ.
7. No roteador do RJ chega o pacote de informações com o IP de destino:
10.10.20.12. O roteador precisa consultar a sua tabela de roteamento (assunto da Parte
5) e verificar se ele conhece um caminho para a rede 10.10.20.0.
8. O roteador do RJ tem, em sua tabela de roteamento, a informação de que pacotes
para a rede 10.10.20.0 devem ser encaminhados pela interface de LAN 10.10.20.1, que
é a interface que conecta o roteador a rede local 10.10.20.1. O pacote é enviado, através
da interface 10.10.20.1, para o barramento da rede local. Todos os computadores
recebem os pacotes de dados e os descartam, com exceção do computador 10.10.20.12
que é o computador de destino.
9. Para que a resposta possa ir do computador RJ-02 de volta para o computador SP-
01, um caminho precisa ser encontrado, para que os pacotes de dados possam ser
roteados do RJ para SP. Para tal todo o processo é executado novamente, até que a
resposta chegue ao computador SP-01.
10. A chave toda para o processo de roteamento é o software presente nos roteadores,
o qual atua com base em tabelas de roteamento, as quais serão descritas na Parte 5.
Conclusão
35
Nesta quarta parte do tutorial de TCP/IP, apresentei uma introdução sobre como
funciona o Roteamento IP entre redes locais conectadas remotamente, através de links
de WAN. Na Parte 5 vou aprofundar um pouco mais essa discussão, onde falarei sobre
as tabelas de roteamento. Não se esqueça de consultar os endereços a seguir para
aprofundar os estudos de TCP/IP:
http://www.juliobattisti.com.br/tcpip.asp
http://www.guiadohardware.info/tutoriais/enderecamento_ip/index.asp
http://www.guiadohardware.info/curso/redes_guia_completo/22.asp
http://www.guiadohardware.info/curso/redes_guia_completo/23.asp
http://www.guiadohardware.info/curso/redes_guia_completo/28.asp
http://www.aprendaemcasa.com.br/tcpip1.htm
http://www.aprendaemcasa.com.br/tcpip2.htm (estes endereços vão até o
tcpip48.htm, sendo um curso gratuito OnLine sobre TCP/IP no Windows 2000).
http://www.vanquish.com.br/site/020608
http://unsekurity.virtualave.net/texto1/texto_tcpip_basico.txt
http://unsekurity.virtualave.net/texto1/tcpipI.txt
http://www.rota67.hpg.ig.com.br/tutorial/protocolos/amfhp_tcpip_basico001.ht
m
http://www.rota67.hpg.ig.com.br/tutorial/protocolos/amfhp_tcpip_av001.htm
http://www.geocities.com/ResearchTriangle/Thinktank/4203/doc/tcpip.zip
36
Exemplos de Roteamento
Esta é a quinta parte do Tutorial de TCP/IP. Na Parte 1 tratei dos aspectos básicos do
protocolo TCP/IP. Na Parte 2 falei sobre cálculos binários, um importante tópico para
entender sobre redes, máscara de sub-rede e roteamento. Na Parte 3 falei sobre Classes
de endereços e na Parte 4 fiz uma introdução ao roteamento. Agora falarei mais um
pouco sobre roteamento.
Mais um exemplo de roteamento
Neste item vou analisar mais alguns exemplos de roteamento e falar sobre tabela de
roteamento.
Exemplo 01: Considere a rede indicada no diagrama da Figura a seguir:
Primeiro alguns comentários sobre a WAN apresentada na Figura:
1. A WAN é formada pela conexão de quatro redes locais, com as seguintes
características:
Rede Número da rede Máscara de sub-rede
01 10.10.10.0 255.255.255.0
02 10.10.20.0 255.255.255.0
03 10.10.30.0 255.255.255.0
04 10.10.40.0 255.255.255.0
2. Existe uma quinta rede que é a rede formada pelas interfaces de WAN dos roteadores.
Este rede apresenta as seguintes características:
37
Rede Número da rede Máscara de sub-rede
Roteadores 10.10.5.0 255.255.255.0
3. Existem três roteadores fazendo a conexão das quatro redes existentes. Com as
configurações apresentadas, qualquer rede é capaz de se comunicar com qualquer outra
rede da WAN.
4. Existem pontos únicos de falha. Por exemplo, se o Roteador 03 apresentar problemas,
a Rede 03 ficará completamente isolada das demais redes. Se o Roteador 02 apresentar
problemas, as Redes 02 e 04 ficarão isoladas das demais redes e também isoladas entre
si.
5. As redes 02 e 04 estão diretamente conectadas ao Roteador 02. Cada rede em uma
interface do roteador. Este pode ser um exemplo de um prédio com duas redes locais, as
quais são conectadas através do roteador. Neste caso, o papel do Roteador 02 é conectar
as redes 02 e 04 entre si e estas redes com o restante da WAN.
6. A interface de conexão do roteador com a rede local utiliza sempre o primeiro
número IP da faixa disponível (10.10.10.1, 10.10.20.1 e assim por diante). Não é
obrigatório reservar o primeiro IP para a interface de LAN do roteador (número este que
será configurado como Default Gateway nas estações de trabalho da respectiva rede,
conforme descrito anteriormente). Embora não seja obrigatório é uma convenção
comumente utilizada.
Agora que apresentei alguns comentários sobre a rede da figura anterior, vamos analisar
como será feito o roteamento entre as diferentes redes.
Primeira análise: Analisar como é feito o roteamento, quando um computador da Rede
01, precisa acessar informações de um computador da Rede 03. Por exemplo, o
computador 10.10.10.25 da Rede 01, precisa acessar um arquivo que está em uma pasta
compartilhada do computador 10.10.30.144 da Rede 03. Neste caso a rede de origem é a
rede 10.10.10.0 e a rede de destino é 10.10.30.0. Como é feito o roteamento, de tal
maneira que estes dois computadores possam trocar informações?
Acompanhe os passos descritos a seguir:
1. O computador 10.10.10.25 é o computador de origem e o computador 10.10.30.144 é
o computador de destino. A primeira ação do TCP/IP é fazer os cálculos para verificar
se os dois computadores estão na mesma rede, conforme explicado no Capítulo 2. Os
seguintes dados são utilizados para realização destes cálculos:
Computador na Rede 01: 10.10.10.25/255.255.255.0
Computador na Rede 03: 10.10.30.144/255.255.255.0
2. Feitos os cálculos, o protocolo TCP/IP "chega a conclusão" de que os dois
computadores pertencem a redes diferentes: O computador 10.10.10.25 pertence a rede
10.10.10.0 e o computador 10.10.30.144 pertence a rede 10.10.30.0.
Nota: Para detalhes sobre estes cálculos consulte a Parte 2 deste tutorial.
38
3. Como os computadores pertencem a redes diferentes, os dados devem ser enviados
para o Roteador da rede 10.10.10.0, que é a rede do computador de origem.
4. O pacote é enviado para o roteador da rede 10.10.10.0, que está conectado através da
interface 10.10.10.1. Neste roteador, pela interface 10.10.10.1, chega o pacote de
informações com o IP de destino: 10.10.30.144. O roteador precisa consultar a sua
tabela de roteamento e verificar se ele conhece um caminho para a rede 10.10.30.0, ou
seja, se ele sabe para quem enviar um pacote de informações, destinado a rede
10.10.30.0.
5. O Roteador 01 tem, em sua tabela de roteamento, a informação de que pacotes para a
rede 10.10.30.0 devem ser encaminhados pela interface de WAN 10.10.5.1. É isso que
ele faz, ou seja, encaminha os pacotes através da interface de WAN: 10.10.5.1.
6. Os pacotes de dados chegam na interface de WAN 10.10.5.1 e são enviados, através
do link de comunicação, para a interface de WAN 10.10.5.2, do roteador da Rede 03.
7. No Roteador 03 chega o pacote de informações com o IP de destino: 10.10.30.144. O
roteador precisa consultar a sua tabela de roteamento e verificar se ele conhece um
caminho para a rede 10.10.30.0.
8. O Roteador 03 tem, em sua tabela de roteamento, a informação de que pacotes para a
rede 10.10.30.0 devem ser encaminhados pela interface de LAN 10.10.30.1, que é a
interface que conecta o Roteador 03 à rede local 10.10.30.0. O pacote é enviado, através
da interface 10.10.30.1, para o barramento da rede local. Todos os computadores
recebem os pacotes de dados e os descartam, com exceção do computador 10.10.30.144
que é o computador de destino.
9. Para que a resposta possa retornar do computador 10.10.30.144 para o computador
10.10.10.25, um caminho precisa ser encontrado, para que os pacotes de dados possam
ser roteados da Rede 03 para a Rede 01 (o caminho de volta no nosso exemplo). Para tal
todo o processo é executado novamente, até que a resposta chegue ao computador
10.10.10.25.
10. A chave toda para o processo de roteamento é o software presente nos roteadores, o
qual atua com base em tabelas de roteamento.
Segunda análise: Analisar como é feito o roteamento, quando um computador da Rede
03, precisa acessar informações de um computador da Rede 02. Por exemplo, o
computador 10.10.30.25 da Rede 03, precisa acessar uma impressora que está
compartilhada do computador 10.10.20.144 da Rede 02. Neste caso a rede de origem é a
rede 10.10.30.0 e a rede de destino é 10.10.20.0. Como é feito o roteamento, de tal
maneira que estes dois computadores possam trocar informações?
Acompanhe os passos descritos a seguir:
1. O computador 10.10.30.25 é o computador de origem e o computador 10.10.20.144 é
o computador de destino. A primeira ação do TCP/IP é fazer os cálculos para verificar
se os dois computadores estão na mesma rede, conforme explicado no Capítulo 2. Os
seguintes dados são utilizados para realização destes cálculos:
39
Computador na Rede 03: 10.10.30.25/255.255.255.0
Computador na Rede 02: 10.10.20.144/255.255.255.0
2. Feitos os cálculos, o protocolo TCP/IP "chega a conclusão" de que os dois
computadores pertencem a redes diferentes: O computador 10.10.30.25 pertence a rede
10.10.30.0 e o computador 10.10.20.144 pertence a rede 10.10.20.0.
Nota: Para detalhes sobre estes cálculos consulte a Parte 2 deste tutorial.
3. Como os computadores pertencem a redes diferentes, os dados devem ser enviados
para o Roteador da rede 10.10.30.0, que é a rede do computador de origem.
4. O pacote é enviado para o roteador da rede 10.10.30.0, que está conectado através da
interface de LAN 10.10.30.1. Neste roteador, pela interface 10.10.30.1, chega o pacote
de informações com o IP de destino: 10.10.20.144. O roteador precisa consultar a sua
tabela de roteamento e verificar se ele conhece um caminho direto para a rede
10.10.20.0, ou seja, se ele sabe para quem enviar um pacote de informações, destinado a
rede 10.10.20.0.
5. Não existe um caminho direto para a rede 10.10.20.0. Tudo o que o roteador pode
fazer é saber para quem enviar o pacote, quando o destino for a rede 10.10.20.0. Neste
caso ele enviará o pacote para outro roteador e não diretamente para a rede 10.10.20.0.
O Roteador 03 tem, em sua tabela de roteamento, a informação de que pacotes
destinados à rede 10.10.20.0 devem ser encaminhados pela interface de WAN 10.10.5.2.
É isso que ele faz, ou seja, encaminha os pacotes através da interface de WAN:
10.10.5.2.
6. Os pacotes de dados chegam na interface de WAN 10.10.5.2 e são enviados, através
do link de comunicação, para a interface de WAN 10.10.5.1, do Roteador 01.
7. No Roteador 01 chega o pacote de informações com o IP de destino: 10.10.20.144. O
roteador precisa consultar a sua tabela de roteamento e verificar se ele conhece um
caminho para a rede 10.10.20.0.
8. Na tabela de roteamento do Roteador 01, consta a informação que pacotes para a rede
10.10.20.0, devem ser enviados para a interface de WAN 10.10.5.3, do Roteador 02. É
isso que ele faz, ou seja, roteia (encaminha) o pacote para a interface de WAN
10.10.5.3.
9. O pacote chega à interface de WAN do Roteador 02. O Roteador 02 tem, em sua
tabela de roteamento, a informação de que pacotes para a rede 10.10.20.0 devem ser
encaminhados pela interface de LAN 10.10.20.1, que é a interface que conecta o
Roteador 02 à rede local 10.10.20.0. O pacote é enviado, através da interface
10.10.20.1, para o barramento da rede local. Todos os computadores recebem os pacotes
de dados e os descartam, com exceção do computador 10.10.20.144 que é o computador
de destino.
10. Para que a resposta possa retornar do computador 10.10.20.144 para o computador
10.10.30.25, um caminho precisa ser encontrado, para que os pacotes de dados possam
ser roteados da Rede 02 para a Rede 03 (o caminho de volta no nosso exemplo). Para tal
40
todo o processo é executado novamente, até que a resposta chegue ao computador
10.10.30.25.
Algumas considerações sobre roteamento
A chave toda para o processo de roteamento é o software presente nos roteadores, o qual
atua com base em tabelas de roteamento (assunto da Parte 6). Ou o roteador sabe
entregar o pacote diretamente para a rede de destino ou sabe para qual roteador enviar.
Esse processo continua, até que seja possível alcançar a rede de destino. Claro que em
redes mais complexas pode haver mais de um caminho entre origem e destino. Por
exemplo, na Internet, pode haver dois ou mais caminhos possíveis entre o computador
de origem e o computador de destino. Quando um arquivo é transmitido entre os
computadores de origem e destino, pode acontecer de alguns pacotes de informação
serem enviados por um caminho e outros pacotes por caminhos diferentes. Os pacotes
podem, inclusive, chegar fora de ordem no destino. O protocolo TCP/IP é o responsável
por identificar cada pacote e colocá-los na seqüência correta.
Existem também um número máximo de roteadores pelos quais um pacote pode passar,
antes de ser descartado. Normalmente este número é de 16 roteadores. No exemplo da
segunda análise, cada pacote passa por dois roteadores, até sair de um computador na
Rede 03 e chegar ao computador de destino, na Rede 02. Este passar por dois roteadores
é tecnicamente conhecido como "ter um caminho de 2 hopes". Um hope significa que
passou por um roteador. Diz-se, com isso, que o caminho máximo de um pacote é de 16
hopes. Isso é feito para evitar que pacotes fiquem circulando indefinidamente na rede e
congestionem os links de WAN, podendo até chegar a paralisar a rede.
Uma situação que poderia acontecer, por erro nas tabelas de roteamento, é um roteador
x mandar um pacote para o y, o roteador y mandar de volta para o x, o roteador x de
volta para y e assim indefinidamente. Esta situação ocorreria por erros nas tabelas de
roteamento. Para evitar que estes pacotes ficassem circulando indefinidamente na rede,
é que foi definido o limite de 16 hopes.
Outro conceito que pode ser encontrado, em relação a roteamento, é o de entrega direta
ou entrega indireta. Vamos ainda utilizar o exemplo da rede da Figura 16.2. Quando
dois computadores da mesma rede (por exemplo a rede 10.10.10.0) trocam informações
entre si, as informações são enviadas para o barramento da rede local e o computador de
destino captura e processa os dados. Dizemos que este é um caso de entrega direta.
Quando computadores de redes diferentes tentam se comunicar (por exemplo, um
computador da rede 10.10.10.0 e um da rede 10.10.20.0), os pacotes de informação são
enviados através dos roteadores da rede, até chegar ao destino. Depois a resposta
percorre o caminho inverso. Este processo é conhecido como entrega indireta.
Conclusão
Na próxima parte você irá aprender mais alguns detalhes sobre tabelas de roteamento e
analisar uma pequena tabela de roteamento que existe em cada computadores com o NT
4.0, Windows 2000, Windows XP ou Windows Server 2003 e com o protocolo TCP/IP
instalado.
41
Tabelas de Roteamento
Esta é a sexta parte do Tutorial de TCP/IP. Na Parte 1 tratei dos aspectos básicos do
protocolo TCP/IP. Na Parte 2 falei sobre cálculos binários, um importante tópico para
entender sobre redes, máscara de sub-rede e roteamento. Na Parte 3 falei sobre Classes
de endereços IP, na Parte 4 fiz uma introdução ao roteamento e na Parte 5 apresentei
mais alguns exemplos e análises de como funciona o roteamento. Agora falarei mais um
pouco sobre roteamento.
Tabelas de roteamento
Falei na Parte 5 que toda a funcionalidade do Roteador é baseada em tabelas de
roteamento. Quando um pacote chega em uma das interfaces do roteador, ele analisa a
sua tabela de roteamento, para verificar se na tabela de roteamento, existe uma rota para
a rede de destino. Pode ser uma rota direta ou então para qual roteador o pacote deve ser
enviado. Este processo continua até que o pacote seja entregue na rede de destino, ou
até que o limite de 16 hopes (para simplificar imagine um hope como sendo um
roteador da rede) tenha sido atingido.
Na Figura a seguir apresento um exemplo de uma "mini-tabela" de roteamento:
Cada linha é uma entrada da tabela. Por exemplo, a linha a seguir é que define o Default
Gateway da ser utilizado:
0.0.0.0 0.0.0.0 200.175.106.54 200.175.106.54 1
Neste tópico você aprenderá sobre os campos que compõem uma entrada da tabela de
roteamento e o significado de cada campo. Também aprenderá a interpretar a tabela de
roteamento que existe em um computador com o Windows 2000, Windows XP ou
Windows Server 2003.
42
Campos de uma tabela de roteamento
Uma entrada da tabela de roteamento possui os campos indicados no esquema a seguir e
explicados logo em seguida:
Network ID: Este é o endereço de destino. Pode ser o endereço de uma rede
(por exemplo: 10.10.10.0), o endereço de um equipamento da rede, o endereço
de uma sub-rede (veja detalhes sobre sub-redes na Parte 7) ou o endereço da rota
padrão (0.0.0.0). A rota padrão significa: "a rota que será utilizada, caso não
tenha sido encontrada uma rota específica para o destino". Por exemplo, se for
definida que a rota padrão deve ser envida pela interface com IP 10.10.5.2 de um
determinado roteador, sempre que chegar um pacote, para o qual não existe uma
rota específica para o destino do pacote, este será enviado pela rota padrão, que
no exemplo seria a interface 10.10.5.2. Falando de um jeito mais simples: Se não
souber para onde mandar, manda para a rota padrão.
Network Mask: A máscara de sub-rede utilizada para a rede de destino.
Next Hop: Endereço IP da interface para a qual o pacote deve ser enviado.
Considere o exemplo a seguir, como sendo uma entrada de um roteador, com
uma interface de WAN configurada com o IP número 10.200.200.4:
Esta entrada indica que pacotes enviados para a rede definida pelos parâmetros
10.100.100.0/255.255.255.0, deve ser enviada para o gateway 10.200.200.1 e para
chegar a este gateway, os pacotes de informação devem ser enviados pela interface
10.200.200.120. Neste exemplo, esta entrada está contida na tabela interna de
roteamento de um computador com o Windows Server 2003, cujo número IP é
10.200.200.120 e o default gateway configurado é 10.200.200.1. Neste caso, quando
este computador quiser se comunicar com um computador da rede 10.100.100.0, será
usada a entrada de roteamento descrita neste item. Nesta entrada está especificado que
pacotes para a rede 10.100.100.0, com máscara 255.255.255.0, devem ser enviados para
o default gateway 10.200.200.1 e que este envio deve ser feito através da interface de
rede 10.200.200.120, que no nosso exemplo é a placa de rede do computador. Uma vez
que o pacote chegou no default gateway (na interface de LAN do roteador), o processo
de roteamento, até a rede de destino (rede 10.100.100.0) é o processo descrito nas
análises anteriores.
Interface: É a interface através da qual o pacote deve ser enviado. Por exemplo,
se você estiver analisando a tabela de roteamento interna, de um computador
com o Windows Server 2003, o número IP do campo interface, será sempre o
43
número IP da placa de rede, a não ser que você tenha mais de uma placa de rede
instalada.
Metric: A métrica é um indicativo da ―distância‖ da rota, entre destino e
origem, em termos de hopes. Conforme descrito anteriormente, pode haver mais
de um roteador entre origem e destino. Também pode haver mais de um
caminho entre origem e destino. Se for encontrada duas rotas para um mesmo
destino, o roteamento será feito pela rota de menor valor no campo Metric. Um
valor menor indica, normalmente, um número menor de hopes (roteadores) entre
origem e destino.
Analise da tabela de Roteamento
Agora que você já conhece os conceitos de tabelas de roteamento e também conhece os
campos que formam uma entrada em uma tabela de roteamento, é hora de analisar as
entradas de uma tabela de roteamento em um computador com o Windows Server 2003
instalado. No Windows Server 2003, o protocolo TCP/IP é instalado automaticamente e
não pode ser desinstalado (esta é uma das novidades do Windows Server 2003). Ao
instalar e configurar o protocolo TCP/IP, o Windows Server 2003 cria, na memória do
servidor, uma tabela de roteamento. Esta tabela é criada, dinamicamente, toda vez que o
servidor é inicializado. Ao desligar o servidor o conteúdo desta tabela será descartado,
para ser novamente recriado durante a próxima inicialização. A tabela de roteamento é
criada com base nas configurações do protocolo TCP/IP. Existem também a
possibilidade de adicionar entradas estáticas. Uma entrada estática fica gravada no HD
do computador e será adicionada à tabela de roteamento durante a inicialização do
sistema. Ou seja, além das entradas criadas automaticamente, com base nas
configurações do TCP/IP, também podem ser acrescentadas rotas estáticas, criadas com
o comando route, o qual descreverei mais adiante.
Para exibir a tabela de roteamento de um computador com o Windows Server 2003 (ou
com o Windows 2000, ou Windows XP), abra um Prompt de comando (Iniciar ->
Programas -> Acessórios -> Prompt de comando), digite o comando indicado a seguir e
pressione Enter:
route print
Será exibida uma tabela de roteamento, semelhante a indicada na Figura a seguir, onde é
exibida a tabela de roteamento para u
44
m servidor com o número
IP: 10.204.200.50:
Vamos analisar cada uma destas entradas e explicar a função de cada entrada, para que
você possa entender melhor os conceitos de roteamento.
Rota padrão
Esta rota é indicada por uma identificação de rede 0.0.0.0 com uma máscara de sub-rede
0.0.0.0. Quando o TCP/IP tenta encontrar uma rota para um determinado destino, ele
percorre todas as entradas da tabela de roteamento em busca de uma rota específica para
a rede de destino. Caso não seja encontrada uma rota para a rede de destino, será
utilizada a rota padrão. Em outras palavras, se não houver uma rota específica, mande
através da rota padrão. Observe que a rota padrão é justamente o default gateway da
rede (10.204.200.1), ou seja, a interface de LAN do roteador da rede. O parâmetro
Interface (10.204.200.50) é o número IP da placa de rede do próprio servidor. Em outras
palavras: Se não houver uma rota específica manda para a rota padrão, onde o próximo
hope da rede é o 10.204.200.1 e o envio para este hope é feito através da interface
10.204.200.50 (ou seja, a próprio placa de rede do servidor).
Endereço da rede local
Esta rota é conhecida como Rota da Rede Local. Ele basicamente diz o seguinte:
"Quando o endereço IP de destino for um endereço da minha rede local, envie as
informações através da minha placa de rede (observe que tanto o parâmetro Gateway
como o parâmetro Interface estão configurados com o número IP do próprio servidor).
Ou seja, se for para uma das máquinas da minha rede local, manda através da placa de
rede, não precisa enviar para o roteador.
45
Local host (endereço local)
Este endereço faz referência ao próprio computador. Observe que 10.204.200.50 é o
número IP do servidor que está sendo analisado (no qual executei o comando route
print). Esta rota diz que os programas do próprio computador, que enviarem pacotes
para o destino 10.204.200.50 (ou seja, enviarem pacotes para si mesmo, como no
exemplo de dois serviços trocando informações entre si), devem usar como Gateway o
endereço de loopback 127.0.0.1, através da interface de loopback 127.0.0.1. Esta rota é
utilizada para agilizar as comunicações que ocorrem entre os componentes do próprio
Windows Server 2003, dentro do mesmo servidor. Ao usar a interface de loopback, toda
a comunicação ocorre no nível de software, ou seja, não é necessário enviar o pacote
através das diversas camadas do protocolo TCP/IP, até que o pacote chegue na camada
de enlace (ou seja, a placa de rede), para depois voltar. Ao invés disso é utilizada a
interface de loopback para direcionar os pacotes corretamente. Observe que esta entrada
tem como máscara de sub-rede o número 255.255.255.255. Esta máscara indica que a
entrada é uma rota para um endereço IP específico (no caso o próprio IP do servidor) e
não uma rota para um endereço de rede.
Network broadcast (Broadcast de rede)
Esta rota define o endereço de broadcast da rede. Broadcast significa enviar para todos
os computadores da rede. Quando é utilizado o endereço de broadcast, todos os
computadores da rede recebem o pacote e processam o pacote. O broadcast é utilizado
por uma série de serviços, como por exemplo o WINS, para fazer verificações
periódicas de nomes, para enviar uma mensagem para todos os computadores da rede,
para obter informações de todos os computadores e assim por diante. Observe que o
gateway é o número IP da placa de rede do servidor e a Interface é este mesmo número,
ou seja, para enviar um broadcast para a rede, envie através da placa de rede do
servidor, não há necessidade de utilizar o roteador. Um detalhe interessante é que, por
padrão, a maioria dos roteadores bloqueia o tráfego de broadcast, para evitar
congestionamentos nos links de WAN.
Rede/endereço de loopback
Comentei anteriormente que os endereços da rede 127.0.0.0 são endereços especiais,
reservados para fazer referência a si mesmo. Ou seja, quando faço uma referência a
127.0.0.1 estou me referindo ao servidor no qual estou trabalhando. Esta roda indica,
em palavras simples, que para se comunicar com a rede de loopback
(127.0.0.0/255.0.0.0), utilize "eu mesmo" (127.0.0.1).
Multicast address (endereço de Multicast):
46
O tráfego IP, de uma maneira simples, pode ser de três tipos: Unicast é o tráfego
direcionado para um número IP definido, ou seja, para um destinatário, definido por um
número IP. Broadcast é o tráfego dirigido para todos os computadores de uma ou mais
redes. E tráfego Multicast é um tráfego direcionado para um grupo de computadores, os
quais estão configurados e "inscritos" para receber o tráfego multicast. Um exemplo
prático de utilização do multicast é para uma transmissão de vídeo através da rede.
Vamos supor que de uma rede de 1000 computadores, apenas 30 devam receber um
determinado arquivo de vídeo com um treinamento específico. Se for usado tráfego
unicast, serão transmitidas 30 cópias do arquivo de vídeo (o qual já é um arquivo
grande), uma cópia para cada destinatário. Com o uso do Multicast, uma única cópia é
transmitida através do link de WAN e o tráfego multicast (com base no protocolo
IGMP), entrega uma cópia do arquivo apenas para os 30 computadores devidamente
configurados para receber o tráfego multicast. Esta rota define que o tráfego multicast
deve ser enviado através da interface de rede, que é o número IP da placa de rede do
servidor. Lembrando da Parte 3, quando falei sobre classes de endereços, a classe D é
reservada para tráfego multicast, com IPs iniciando (o primeiro número) a partir de 224.
Limited Broadcast (Broadcast Limitado)
Esta é a rota utilizada para o envio de broadcast limitado. O endereço de broadcast
limitado é formato por todos os 32 bits do endereço IP sendo iguais a 1
(255.255.255.255). Este endereço é utilizado quando o computador tem que fazer o
envio de um broadcast na rede local (envio do tipo um para todos na rede), porém o
computador não conhece a número da rede local (network ID). Você pode perguntar:
Mas em que situação o computador não conhecerá a identificação da rede local? Por
exemplo, quando você inicializa um computador, configurado para obter as
configurações do TCP/IP a partir de um servidor DHCP, a primeira coisa que este
computador precisa fazer é localizar um servidor DHCP na rede e requisitar as
configurações do TCP/IP. Ou seja, antes de receber as configurações do DHCP, o
computador ainda não tem endereço IP e nem máscara de sub-rede, mas tem que se
comunicar com um servidor DHCP. Esta comunicação é feita via broadcast limitado,
onde o computador envia um pacote de formato específico (chamado de DHCP
Discovery), para tentar descobrir um servidor DHCP na rede. Este pacote é enviado
para todos os computadores. Aquele que for um servidor DHCP irá responder a
requisição do cliente. Aí o processo de configuração do DHCP continua, até que o
computador esteja com as configurações do TCP/IP definidas, configurações estas
obtidas a partir do servidor DHCP.
Conclusão
Na próxima parte deste tutorial, você irá aprender sobre a divisão de uma rede em sub-
redes, assunto conhecido como subnetting.
47
Sub netting – divisão em sub-redes
Até agora, nas demais partes deste tutorial, sempre utilizei as máscaras de sub-rede
padrão para cada classe de endereços, onde são utilizados oito, dezesseis ou vinte e
quatro bits para a máscara de rede, conforme descrito a seguir:
Número de bits Máscara de sub-rede
8 255.0.0.0
16 255.255.0.0
24 255.255.255.0
Por isso que existe uma outra notação, onde a máscara de sub-rede é indicada
simplesmente pelo número de bits utilizados na máscara de sub-rede, conforme
exemplos a seguir:
Definição da rede Máscara de sub-rede
10.10.10.0/16 255.255.0.0
10.10.10.0/24 255.255.255.0
10.200.100.0/8 255.0.0.0
Porém com este esquema de endereçamento, baseado apenas nas máscaras de sub-rede
padrão para cada classe (oito, dezesseis ou vinte e quatro bits), haveria um grande
desperdício de números IP. Por exemplo, que empresa no mundo precisaria da faixa
completa de uma rede classe A, na qual estão disponíveis mais de 16 milhões de
endereços IP?
Vamos, agora, analisar o outro extremo desta questão. Imagine, por exemplo, uma
empresa de porte médio, que tem a matriz em São Paulo e mais cinco filiais em outras
cidades do Brasil. Agora imagine que em nenhuma das localidades, a rede tem mais do
que 30 computadores. Se for usado as máscaras de sub-rede padrão, teria que ser
definida uma rede Classe C (até 254 computadores, conforme descrito na Parte 4 deste
tutorial), para cada localidade. Observe que estamos reservando 254 números IP para
cada localidade (uma rede classe C com máscara 255.255.255.0), quando na verdade, no
máximo, 30 números serão utilizados em cada localidade. Na prática, um belo
desperdício de endereços IP, mesmo em um empresa de porte médio ou pequeno.
Observe que neste exemplo, uma única rede Classe C seria suficiente. Já que são seis
localidades (a matriz mais seis filiais), com um máximo de 30 endereços por localidade,
48
um total de 254 endereços de uma rede Classe C seria mais do que suficiente. Ainda
haveria desperdício, mas agora bem menor.
A boa notícia é que é possível ―dividir‖ uma rede (qualquer rede) em sub-redes, onde
cada sub-rede fica apenas com uma faixa de números IP de toda a faixa original. Por
exemplo, a rede Classe C 200.100.100.0/255.255.255.0, com 256 números IPs
disponíveis (na prática são 254 números que podem ser utilizados, descontando o
primeiro que é o número da própria rede e o último que o endereço de broadcast,
conforme descrito na Parte 4 deste tutorial), poderia ser dividida em 8 sub-redes, com
32 números IP em cada sub-rede. O esquema a seguir ilustra este conceito:
Rede original: 256 endereços IP disponíveis: 200.100.100.0 -> 200.100.100.255
Divisão da rede em 8 sub-redes, onde cada sub-rede fica com 32 endereços IP:
Sub-rede 01: 200.100.100.0 -> 200.100.100.31
Sub-rede 02: 200.100.100.32 -> 200.100.100.63
Sub-rede 03: 200.100.100.64 -> 200.100.100.95
Sub-rede 04: 200.100.100.96 -> 200.100.100.127
Sub-rede 05: 200.100.100.128 -> 200.100.100.159
Sub-rede 06: 200.100.100.160 -> 200.100.100.191
Sub-rede 07: 200.100.100.192 -> 200.100.100.223
Sub-rede 08: 200.100.100.224 -> 200.100.100.255
Para o exemplo da empresa com seis localidades (matriz mais cinco filiais), onde, no
máximo, são necessários trinta endereços IP por localidade, a utilização de uma única
rede classe C, dividida em 8 sub-redes seria a solução ideal. Na prática a primeira e a
última sub-rede são descartadas, pois o primeiro IP da primeira sub-rede representa o
endereço de rede e o último IP da última sub-rede representa o endereço de broadcast.
Com isso restariam, ainda, seis sub-redes. Exatamente a quantia necessária para o
exemplo proposto. Observe que ao invés de seis redes classe C, bastou uma única rede
Classe C, subdividida em seis sub-redes. Uma bela economia de endereços. Claro que
se um dos escritórios, ou a matriz, precisasse de mais de 32 endereços IP, um esquema
diferente de divisão teria que ser criado.
Entendido o conceito teórico de divisão em sub-redes, resta o trabalho prático, ou seja:
O que tem que ser alterado para fazer a divisão em sub-redes (sub netting)? Como calcular o número de sub-redes e o número de números IP dentro de cada sub-
rede? Como listar as faixas de endereços dentro de cada sub-rede? Exemplos práticos
Você aprenderá estas etapas através de exemplos práticos. Vou inicialmente mostrar o
que tem que ser alterado para fazer a divisão de uma rede padrão (com máscara de 8, 16
ou 24 bits) em uma ou mais sub-redes. Em seguida, apresento alguns exemplos de
divisão de uma rede em sub-redes. Mãos a obra.
Alterando o número de bits da máscara de sub-rede
49
Por padrão são utilizadas máscaras de sub-rede de 8, 16 ou 24 bits, conforme indicado
no esquema a seguir:
Número de bits Máscara de sub-rede
08 255.0.0.0
16 255.255.0.0
24 255.255.255.0
Uma máscara de 8 bits significa que todos os bits do primeiro octeto são iguais a 1; uma
máscara de 16 bits significa que todos os bits do primeiro e do segundo octeto são
iguais a 1 e uma máscara de 24 bits significa que todos os bits dos três primeiros octetos
são iguais a 1. Este conceito está ilustrado na tabela a seguir:
Máscaras de rede com 8, 16 e 24 bits
No exemplo da rede com matriz em São Paulo e mais cinco escritórios, vamos utilizar
uma rede classe C, que será subdividida em seis sub-redes (na prática 8, mas a primeira
e a última não são utilizadas). Para fazer esta subdivisão, você deve alterar o número de
bits iguais a 1 na máscara de sub-rede. Por exemplo, ao invés de 24 bits, você terá que
utilizar 25, 26, 27 ou um número a ser definido. Bem, já avançamos mais um pouco:
“Para fazer a divisão de uma rede em sub-redes, é preciso aumentar o número de bits iguais
a 1, alterando com isso a máscara de sub-rede.”
Quantos bits devem ser utilizados para a máscara de sub-rede?
Agora, naturalmente, surge uma nova questão: ―Quantos bits?‖. Ou de outra
maneira (já procurando induzir o seu raciocínio): ―O que define o número de bits a ser
utilizados a mais?‖
Bem, esta é uma questão bem mais simples do que pode parecer. Vamos a ela. No
exemplo proposto, precisamos dividir a rede em seis sub-redes. Ou seja, o número de
sub-redes deve ser, pelo menos, seis. Sempre lembrando que a primeira e a última sub-
rede não são utilizadas. O número de sub-redes é proporcional ao número de bits que
vamos adicionar à máscara de sub-rede já existente. O número de rede é dado pela
fórmula a seguir, onde ‗n‘ é o número de bits a mais a serem utilizados para a máscara
de sub-rede:
50
Núm. de sub-redes = 2n-2
No nosso exemplo estão disponíveis até 8 bits do último octeto para serem também
utilizados na máscara de sub-rede. Claro que na prática não podemos usar os 8 bits,
senão ficaríamos com o endereço de broadcast: 255.255.255.255, como máscara de sub-
rede. Além disso, quanto mais bits eu pegar para a máscara de sub-rede, menos sobrarão
para os números IP da rede. Por exemplo, se eu adicionar mais um bit a máscara já
existente, ficarei com 25 bits para a máscara e 7 para números IP, se eu adicionar mais
dois bits à máscara original de 24 bits, ficarei com 26 bits para a máscara e somente 6
para números IP e assim por diante. O número de bits que restam para os números IP,
definem quantos números IP podem haver em cada sub-rede. A fórmula para determinar
o número de endereços IP dentro de cada sub-rede, é indicado a seguir, onde ‗n‘ é o
número de bits destinados a parte de host do endereço (32 – bits usados para a máscara):
Núm. de end. IP dentro de cada sub-rede = 2n-2
Na tabela a seguir, apresento cálculos para a divisão de sub-redes que será feita no
nosso exemplo. Observe que quanto mais bits eu adiciono à máscara de sub-rede, mais
sub-redes é possível obter, porém com um menor número de máquinas em cada sub-
rede. Lembrando que o nosso exemplo estamos subdividindo uma rede classe C -
200.100.100.0/255.255.255.0, ou seja, uma rede com 24 bits para a máscara de sub-rede
original.
Número de redes e número de hosts em cada rede
Claro que algumas situações não se aplicam na prática. Por exemplo, usando apenas um
bit a mais para a máscara de sub-rede, isto é, 25 bits ao invés de 24. Neste caso teremos
0 sub-redes disponíveis. Pois com 1 bit é possível criar apenas duas sub-redes, como a
primeira e a última são descartadas, conforme descrito anteriormente, na prática as duas
sub-redes geradas não poderão ser utilizadas. A mesma situação ocorre com o uso de 7
bits a mais para a máscara de sub-rede, ou seja, 31 ao invés de 24. Nesta situação sobra
apenas um bit para os endereços IP. Com 1 bit posso ter apenas dois endereços IP,
descontando o primeiro e o último que não são utilizados, não sobra nenhum endereço
IP. As situações intermediárias é que são mais realistas. No nosso exemplo, precisamos
dividir a rede Classe C - 200.100.100.0/255.255.255.0, em seis sub-redes. De acordo
51
com a tabela da Figura anterior, precisamos utilizar 3 bits a mais para obter as seis sub-
redes desejadas.
Observe que utilizando três bits a mais, ao invés de 24 bits (máscara original), vamos
utilizar 27 bits para a máscara de sub-rede. Com isso sobra cinco bits para os números
IPs dentro de cada sub-rede, o que dá um total de 30 números IP por sub-rede.
Exatamente o que precisamos.
A próxima questão que pode surgir é como é que fica a máscara de sub-rede, agora que
ao invés de 24 bits, estou utilizando 27 bits, conforme ilustrado na tabela a seguir:
Figura - Máscara de sub-rede com 27 bits.
Para determinar a nova máscara temos que revisar o valor de cada bit, o que foi visto na
Parte 2. Da esquerda para a direita, cada bit representa o seguinte valor,
respectivamente:
128 64 32 16 8 4 2 1
Como os três primeiros bits do último octeto foram também utilizados para a máscara,
estes três bits somam para o valor do último octeto. No nosso exemplo, o último octeto
da máscara terá o seguinte valor: 128+64+32 = 224. Com isso a nova máscara de sub-
rede, máscara esta que será utilizada pelas seis sub-redes, é a seguinte:
255.255.255.224. Observe que ao adicionarmos bits à máscara de sub-rede, fazemos
isso a partir do bit de maior valor, ou seja, o bit mais da esquerda, com o valor de 128,
depois usamos o próximo bit com valor 64 e assim por diante. Na tabela a seguir,
apresento a ilustração de como fica a nova máscara de sub-rede:
Figura - Como fica a nova máscara de sub-rede.
Com o uso de três bits adicionais para a máscara de rede, teremos seis sub-redes
disponíveis (uma para cada escritório) com um número máximo de 30 números IP por
sub-rede. Exatamente o que precisamos para o exemplo proposto. A idéia básica de
subnetting é bastante simples. Utiliza-se bits adicionais para a máscara de sub-rede.
Com isso tenho uma divisão da rede original (classe A, classe B ou classe C) em várias
sub-redes, sendo que o número de endereços IP em cada sub-rede é reduzido (por
termos utilizados bits adicionais para a máscara de sub-rede, bits estes que
originalmente eram destinados aos endereços IP). Esta divisão pode ser feita em redes
de qualquer uma das classes padrão A, B ou C. Por exemplo, por padrão, na Classe A
são utilizados 8 bits para a máscara de sub-rede e 24 bits para hosts. Você pode utilizar,
por exemplo, 12 bits para a máscara de sub-rede, restando com isso 20 bits para
endereços de host.
Na tabela a seguir, apresento os cálculos para o número de sub-redes e o número de
hosts dentro de cada sub-rede, apenas para os casos que podem ser utilizados na prática,
52
ou seja, duas ou mais sub-redes e dois ou mais endereços válidos em cada sub-rede,
quando for feita a subdivisão de uma rede Classe C, com máscara original igual a
255.255.255.0..
Número de redes e número de hosts em cada rede – divisão de uma rede Classe C.
Lembrando que a fórmula para calcular o número de sub-redes é:
Núm. de sub-redes = 2n-2
onde n é o número de bits a mais utilizados para a máscara de sub-rede
E a fórmula para calcular o número de endereços IP dentro de cada sub-rede é:
2n-2
onde n é o número de bits restantes, isto é, não utilizados pela máscara de sub-rede.
Até aqui trabalhei com um exemplo de uma rede Classe C, que está sendo subdividida
em várias sub-redes. Porém é também possível subdividir redes Classe A e redes Classe
B. Lembrando que redes classe A utilizam, por padrão, apenas 8 bits para o endereço de
rede, já redes classe B, utilizam, por padrão, 16 bits. Na tabela a seguir, apresento um
resumo do número de bits utilizados para a máscara de sub-rede, por padrão, nas classes
A, B e C:
Figura - Máscara padrão para as classes A, B e C
Para subdividir uma rede classe A em sub-redes, basta usar bits adicionais para a
máscara de sub-rede. Por padrão são utilizados 8 bits. Se você utilizar 10, 12 ou mais
bits, estará criando sub-redes. O mesmo raciocínio é válido para as redes classe B, as
quais utilizam, por padrão, 16 bits para a máscara de sub-rede. Se você utilizar 18, 20 ou
mais bits para a máscara de sub-rede, estará subdividindo a rede classe B em várias sub-
redes.
As fórmulas para cálculo do número de sub-redes e do número de hosts em cada sub-
rede são as mesmas apresentadas anteriormente, independentemente da classe da rede
que está sendo dividida em sub-redes.
53
A seguir apresento uma tabela com o número de sub-redes e o número de hosts em cada
sub-rede, dependendo do número de bits adicionais (além do padrão definido para a
classe) utilizados para a máscara de sub-rede, para a divisão de uma rede Classe B:
Tabela - Número de redes e número de hosts em cada rede – Classe B.
Observe como o entendimento dos cálculos binários realizados pelo TCP/IP facilita o
entendimento de vários assuntos relacionados ao TCP/IP, inclusive o conceito de
subnetting (Veja Parte 2 para detalhes sobre Cálculos Binários). Por padrão a classe B
utiliza 16 bits para a máscara de sub-rede, ou seja, uma máscara padrão: 255.255..0.0.
Agora se utilizarmos oito bits adicionais (todo o terceiro octeto) para a máscara, teremos
todos os bits do terceiro octeto como sendo iguais a 1, com isso a máscara passa a ser:
255.255.255.0. Este resultado está coerente com a tabela da Figura 16.11. Agora vamos
avançar um pouco mais. Ao invés de 8 bits adicionais, vamos utilizar 9. Ou seja, todo o
terceiro octeto (8 bits) mais o primeiro bit do quarto octeto. O primeiro bit, o bit bem à
esquerda é o bit de valor mais alto, ou seja, o que vale 128. Ao usar este bit também
para a máscara de sub-rede, obtemos a seguinte máscara: 255.255.255.128. Também
fecha com a tabela anterior. Com isso você pode concluir que o entendimento da
aritmética e da representação binária, facilita muito o estudo do protocolo TCP/IP e de
assuntos relacionados, tais como subnetting e roteamento.
A seguir apresento uma tabela com o número de sub-redes e o número de hosts em cada
sub-rede, dependendo do número de bits adicionais (além do padrão definido para a
classe) utilizados para a máscara de sub-rede, para a divisão de uma rede Classe A:
54
Tabela - Número de redes e número de hosts em cada rede – Classe A.
Um fato importante, que eu gostaria de destacar novamente é que todas as sub-redes
(resultantes da divisão de uma rede), utilizam o mesmo número para a máscara de sub-
rede. Por exemplo, na quarta linha da tabela indicada na Figura 16.12, estou utilizando 5
bits adicionais para a máscara de sub-rede, o que resulta em 30 sub-redes diferentes,
porém todas utilizando como máscara de sub-rede o seguinte número: 255.248.0.0.
Muito bem, entendido o conceito de divisão em sub-redes e de determinação do número
de sub-redes, do número de hosts em cada sub-rede e de como é formada a nova
máscara de sub-rede, a próxima questão que pode surgir é a seguinte:
Como listar as faixas de endereços para cada sub-rede? Este é exatamente o assunto que
vem a seguir.
Como listar as faixas de endereços dentro de cada sub-rede
Vamos entender esta questão através de exemplos práticos.
Exemplo 01: Dividir a seguinte rede classe C: 229.45.32.0/255.255.255.0. São
necessárias, pelo menos, 10 sub-redes. Determinar o seguinte:
a) Quantos bits serão necessários para fazer a divisão e obter pelo menos 10 sub-redes?
b) Quantos números IP (hosts) estarão disponíveis em cada sub-rede?
c) Qual a nova máscara de sub-rede?
d) Listar a faixa de endereços de cada sub-rede.
Vamos ao trabalho. Para responder a questão da letra a, você deve lembrar da fórmula:
55
Núm. de sub-redes = 2n-2
Você pode ir substituindo n por valores sucessivos, até atingir ou superar o valor de 10.
Por exemplo, para n=2, a fórmula resulta em 2, para n=3, a fórmula resulta em 6, para
n=4 a fórmula resulta em 14. Bem, está respondida a questão da letra a, temos que
utilizar quatro bits do quarto octeto para fazer parte da máscara de sub-rede.
a) Quantos bits serão necessários para fazer a divisão e obter pelo menos 10 sub-
redes?
R: 4 bits.
Como utilizei quatro bits do último octeto (além dos 24 bits dos três primeiros octetos,
os quais já faziam parte da máscara original), sobraram apenas 4 bits para os endereços
IP, ou seja, para os endereços de hosts em cada sub-rede. Tenho que lembrar da seguinte
fórmula:
Núm. de end. IP dentro de cada sub-rede = 2n-2
substituindo n por 4, vou obter um valor de 14. Com isso já estou em condições de
responder a alternativa b.
b) Quantos números IP (hosts) estarão disponíveis em cada sub-rede?
R: 14.
Como utilizei quatro bits do quarto octeto para fazer a divisão em sub-redes, os quatro
primeiros bits foram definidos iguais a 1. Basta somar os respectivos valores, ou seja:
128+64+32+16 = 240. Ou seja, com os quatro primeiros bits do quarto octeto sendo
iguais a 1, o valor do quarto octeto passa para 240, com isso já temos condições de
responder a alternativa c.
c) Qual a nova máscara de sub-rede?
R: 255.255.255.240
É importante lembrar, mais uma vez, que esta será a máscara de sub-rede utilizada por
todas as 14 sub-redes.
d) Listar a faixa de endereços de cada sub-rede.
Esta é a novidade deste item. Como saber de que número até que número vai cada
endereço IP. Esta também é fácil, embora seja novidade. Observe o último bit definido
para a máscara. No nosso exemplo é o quarto bit do quarto octeto. Qual o valor decimal
do quarto bit? 16 (o primeiro é 128, o segundo 64, o terceiro 32 e assim por diante,
conforme explicado na Parte 2). O valor do último bit é um indicativo das faixas de
variação para este exemplo. Ou seja, na prática temos 16 hosts em cada sub-rede,
embora o primeiro e o último não devam ser utilizados, pois o primeiro é o endereço da
própria sub-rede e o último é o endereço de broadcast da sub-rede. Por isso que ficam
14 hosts por sub-rede, devido ao ‗-2‘ na fórmula, o ‗-2‘ significa: - o primeiro – o
56
último. Ao listar as faixas, consideramos os 16 hosts, apenas é importante salientar que
o primeiro e o último não são utilizados. Com isso a primeira sub-rede vai do host 0 até
o 15, a segunda sub-rede do 16 até o 31, a terceira do 32 até o 47 e assim por diante,
conforme indicado no esquema a seguir:
Divisão da rede em 14 sub-redes, onde cada sub-rede fica com 16 endereços IP, sendo
que a primeira e a última sub-rede não são utilizadas e o primeiro e o último número IP,
dentro de cada sub-rede, também não são utilizados:
Sub-rede 01 229.45.32.0 -> 229.45.32.15
Sub-rede 02 229.45.32.16 -> 229.45.32.31
Sub-rede 03 229.45.32.32 -> 229.45.32.47
Sub-rede 04 229.45.32.48 -> 229.45.32.63
Sub-rede 05 229.45.32.64 -> 229.45.32.79
Sub-rede 06 229.45.32.80 -> 229.45.32.95
Sub-rede 07 229.45.32.96 -> 229.45.32.111
Sub-rede 08 229.45.32.112 -> 229.45.32.127
Sub-rede 09 229.45.32.128 -> 229.45.32.143
Sub-rede 10 229.45.32.144 -> 229.45.32.159
Sub-rede 11 229.45.32.160 -> 229.45.32.175
Sub-rede 12 229.45.32.176 -> 229.45.32.191
Sub-rede 13 229.45.32.192 -> 229.45.32.207
Sub-rede 14 229.45.32.208 -> 229.45.32.223
Sub-rede 15 229.45.32.224 -> 229.45.32.239
Sub-rede 16 229.45.32.240 -> 229.45.32.255
Vamos a mais um exemplo prático, agora usando uma rede classe B, que tem
inicialmente, uma máscara de sub-rede: 255.255.0.0
Exemplo 02: Dividir a seguinte rede classe B: 150.100.0.0/255.255.0.0. São
necessárias, pelo menos, 20 sub-redes. Determinar o seguinte:
a) Quantos bits serão necessários para fazer a divisão e obter pelo menos 10 sub-redes?
b) Quantos números IP (hosts) estarão disponíveis em cada sub-rede?
c) Qual a nova máscara de sub-rede?
d) Listar a faixa de endereços de cada sub-rede.
Vamos ao trabalho. Para responder a questão da letra a, você deve lembrar da fórmula:
Núm. de sub-redes = 2n-2
Você pode ir substituindo n por valores sucessivos, até atingir ou superar o valor de 10.
Por exemplo, para n=2, a fórmula resulta em 2, para n=3, a fórmula resulta em 6, para
n=4 a fórmula resulta em 14 e para n=5 a fórmula resulta em 30. Bem, está respondida a
questão da letra a, temos que utilizar cinco bits do terceiro octeto para fazer parte da
máscara de sub-rede. Pois se utilizarmos apenas 4 bits, obteremos somente 14 sub-redes
e usando mais de 5 bits, obteremos um número de sub-redes bem maior do que o
necessário.
a) Quantos bits serão necessários para fazer a divisão e obter pelo menos 20 sub-redes?
57
R: 5 bits.
Como utilizei cinco bits do terceiro octeto (além dos 16 bits dos dois primeiros octetos,
os quais já faziam parte da máscara original)., sobraram apenas 11 bits (os três restantes
do terceiro octeto mais os 8 bits do quarto octeto) para os endereços IP, ou seja, para os
endereços de hosts em cada sub-rede. Tenho que lembrar da seguinte fórmula:
Núm. de endereços IP dentro de cada sub-rede = 2n-2
substituindo n por 11 (número de bits que restaram para a parte de host), vou obter um
valor de 2046, já descontando o primeiro e o último número, os quais não podem ser
utilizados, conforme já descrito anteriormente. Com isso já estou em condições de
responder a alternativa b.
b) Quantos números IP (hosts) estarão disponíveis em cada sub-rede?
R: 2046.
Como utilizei cinco bits do terceiro octeto para fazer a divisão em sub-redes, os cinco
primeiros bits foram definidos iguais a 1. Basta somar os respectivos valores, ou seja:
128+64+32+16+8 = 248. Ou seja, com os quatro primeiros bits do quarto octeto sendo
iguais a 1, o valor do quarto octeto passa para 248, com isso já temos condições de
responder a alternativa c.
c) Qual a nova máscara de sub-rede?
R: 255.255.248.0
É importante lembrar, mais uma vez, que esta será a máscara de sub-rede utilizada por
todas as 30 sub-redes.
d) Listar a faixa de endereços de cada sub-rede.
Como saber de que número até que número vai cada endereço IP. Esta também é fácil e
o raciocínio é o mesmo utilizado para o exemplo anterior, onde foi feita uma divisão de
uma rede classe C. Observe o último bit definido para a máscara. No nosso exemplo é o
quinto bit do terceiro octeto. Qual o valor decimal do quinto bit (de qualquer octeto)? 8
(o primeiro é 128, o segundo 64, o terceiro 32, o quarto é 16 e o quinto é 8, conforme
explicado na Parte 2). O valor do último bit é um indicativo das faixas de variação para
este exemplo. Ou seja, na prática temos 2048 hosts em cada sub-rede, embora o
primeiro e o último não devam ser utilizados, pois o primeiro é o endereço da própria
sub-rede e o último é o endereço de broadcast da sub-rede. Por isso que ficam 2046
hosts por sub-rede, devido ao ‗-2‘ na fórmula, o ‗-2‘ significa: - o primeiro – o último.
Ao listar as faixas, consideramos o valor do último bit da máscara. No nosso exemplo é
o 8. A primeira faixa vai do zero até um número anterior ao valor do último bit, no caso
do 0 ao 7. A seguir indico a faixa de endereços da primeira sub-rede (sub-rede que não
será utilizada na prática, pois descarta-se a primeira e a última):
Sub-rede 01 150.100.0.1 -> 150.100.7.254
58
Com isso todo endereço IP que tiver o terceiro número na faixa entre 0 e 7, será um
número IP da primeira sub-rede, conforme os exemplos a seguir:
150.100.0.25
150.100.3.20
150.100.5.0
150.100.6.244
Importante: Observe que os valores de 0 a 7 são definidos no terceiro octeto, que é
onde estamos utilizando cinco bits a mais para fazer a divisão em sub-redes.
Qual seria a faixa de endereços IP da próxima sub-rede. Aqui vale o mesmo raciocínio.
O último bit da máscara equivale ao valor 8. Esta é a variação da terceira parte do
número IP, que é onde esta sendo feita a divisão em sub-redes. Então, se a primeira foi
de 0 até 7, a segunda sub-rede terá valores de 8 a 15 no terceiro octeto, a terceira sub-
rede terá valores de 16 a 23 e assim por diante.
Divisão da rede em 32 sub-redes, onde cada sub-rede fica com 2048 endereços IP,
sendo que a primeira e a última sub-rede não são utilizadas e o primeiro e o último
número IP, dentro de cada sub-rede, também não são utilizados:
Sub-rede Primeiro IP Último IP End. de
broadcast Número
150.100.0.0 150.100.0.1 150.100.7.254 150.100.7.255
01
150.100.8.0 150.100.8.1 150.100.15.254 150.100.15.255
02
150.100.16.0 150.100.16.1 150.100.23.254 150.100.23.255
03
150.100.24.0 150.100.24.1 150.100.31.254 150.100.31.255
04
150.100.32.0 150.100.32.1 150.100.39.254 150.100.39.255
05
150.100.40.0 150.100.40.1 150.100.47.254 150.100.47.255
06
150.100.48.0 150.100.48.1 150.100.55.254 150.100.55.255
07
150.100.56.0 150.100.56.1 150.100.63.254 150.100.63.255
08
150.100.64.0 150.100.64.1 150.100.71.254 150.100.71.255
09
150.100.72.0 150.100.72.1 150.100.79.254 150.100.79.255
10
150.100.80.0 150.100.80.1 150.100.87.254 150.100.87.255
11
150.100.88.0 150.100.88.1 150.100.95.254 150.100.95.255
12
150.100.96.0 150.100.96.1 150.100.103.254 150.100.103.255
13
59
150.100.104.0 150.100.104.1 150.100.111.254 150.100.111.255
14
150.100.112.0 150.100.112.1 150.100.119.254 150.100.119.255
15
150.100.120.0 150.100.120.1 150.100.127.254 150.100.127.255
16
150.100.128.0 150.100.128.1 150.100.135.254 150.100.135.255
17
150.100.136.0 150.100.136.1 150.100.143.254 150.100.143.255
18
150.100.144.0 150.100.144.1 150.100.151.254 150.100.151.255
19
150.100.152.0 150.100.152.1 150.100.159.254 150.100.159.255
20
150.100.160.0 150.100.160.1 150.100.167.254 150.100.167.255
21
150.100.168.0 150.100.168.1 150.100.175.254 150.100.175.255
22
150.100.176.0 150.100.176.1 150.100.183.254 150.100.183.255
23
150.100.184.0 150.100.184.1 150.100.191.254 150.100.191.255
24
150.100.192.0 150.100.192.1 150.100.199.254 150.100.199.255
25
150.100.200.0 150.100.200.1 150.100.207.254 150.100.207.255
26
150.100.208.0 150.100.208.1 150.100.215.254 150.100.215.255
27
150.100.216.0 150.100.216.1 150.100.223.254 150.100.223.255
28
150.100.224.0 150.100.224.1 150.100.231.254 150.100.231.255
29
150.100.232.0 150.100.232.1 150.100.239.254 150.100.239.255
30
150.100.240.0 150.100.240.1 150.100.247.254 150.100.247.255
31
150.100.248.0 150.100.248.1 150.100.255.254
150.100.255.255 32
Com base na tabela apresentada, fica fácil responder em que sub-rede está contido um
determinado número IP. Por exemplo, considere o número IP 1500.100.130.222.
Primeiro você observa o terceiro octeto do número IP (o terceiro, porque é neste octeto
que estão os últimos bits que foram utilizados para a máscara de sub-rede). Consultando
a tabela anterior, você observa o valor de 130 para o terceiro octeto corresponde a sub-
rede 17, na qual o terceiro octeto varia entre 128 e 135, conforme indicado a seguir:
150.100.128.0 150.100.128.1 150.100.135.254 150.100.135.255 17
Bem, com isso concluo o nosso estudo sobre dois princípios fundamentais do protocolo
TCP/IP:
60
Roteamento Subnetting (divisão de uma rede em sub-redes).
Conclusão
Nesta parte do tutorial, abordei um dos assuntos que mais geram dúvidas: a divisão de
uma rede em sub-redes. Nas próximas partes deste tutorial, falarei sobre serviços do
Windows 2000 Server e do Windows Server 2003, diretamente ligados ao TCP/IP, tais
como o DNS, DHCP, WINS e RRAS.
61
Uma introdução ao DNS
Esta é a oitava parte do Tutorial de TCP/IP. Na Parte 1 tratei dos aspectos básicos do
protocolo TCP/IP. Na Parte 2 falei sobre cálculos binários, um importante tópico para
entender sobre redes, máscara de sub-rede e roteamento. Na Parte 3 falei sobre Classes
de endereços, na Parte 4 fiz uma introdução ao roteamento e na Parte 5 apresentei mais
alguns exemplos e análises de como funciona o roteamento e na Parte 6 falei sobre a
Tabela de Roteamento. Na Parte 7 tratei sobre a divisão de uma rede em sub-redes,
conceito conhecido como subnetting. Nesta parte farei uma apresentação de um dos
serviços mais utilizados pelo TCP/IP, que é o Domain Name System (DNS). O DNS é o
serviço de resolução de nomes usado em todas as redes TCP/IP, inclusive pela Internet
que, sem dúvidas, é a maior rede TCP/IP existente.
Definindo DNS
DNS é a abreviatura de Domain Name System. O DNS é um serviço de resolução de
nomes. Toda comunicação entre os computadores e demais equipamentos de uma rede
baseada no protocolo TCP/IP (e qual rede não é baseada no protocolo TCP/IP?) é feita
através do número IP. Número IP do computador de origem e número IP do computador
de destino. Porém não seria nada produtivo se os usuários tivessem que decorar, ou
mais realisticamente, consultar uma tabela de números IP toda vez que tivessem que
acessar um recurso da rede. Por exemplo, você digita http://www.microsoft.com/brasil,
para acessar o site da Microsoft no Brasil, sem ter que se preocupar e nem saber qual o
número IP do servidor onde está hospedado o site da Microsoft Brasil. Mas alguém tem
que fazer este serviço, pois quando você digita http://www.microsoft.com/brasil, o
protocolo TCP/IP precisa ―descobrir‖ (o termo técnico é resolver o nome) qual o
número IP está associado com o endereço digitado. Se não for possível ―descobrir‖ o
número IP associado ao nome, não será possível acessar o recurso desejado.
O papel do DNS é exatamente este, ―descobrir‖, ou usando o termo técnico, ―resolver‖
um determinado nome, como por exemplo http://www.microsoft.com Resolver um
nome significa, descobrir e retornar o número IP associado com o nome. Em palavras
mais simples, o DNS é um serviço de resolução de nomes, ou seja, quando o usuário
tenta acessar um determinado recurso da rede usando o nome de um determinado
servidor, é o DNS o responsável por localizar e retornar o número IP associado com o
nome utilizado. O DNS é, na verdade, um grande banco de dados distribuído em
milhares de servidores DNS no mundo inteiro. Ele possui várias características, as quais
descreverei nesta parte do tutorial de TCP/IP.
O DNS passou a ser o serviço de resolução de nomes padrão a partir do Windows 2000
Server. Anteriormente, com o NT Server 4.0 e versões anteriores do Windows, o
serviço padrão para resolução de nomes era o WINS – Windows Internet Name Service
(WINS é o assunto da Parte 9 deste tutorial). Versões mais antigas dos clientes
Windows, tais como Windows 95, Windows 98 e Windows Me ainda são dependentes
do WINS, para a realização de determinadas tarefas. O fato de existir dois serviços de
resolução de nomes, pode deixar o administrador da rede e os usuários confusos.
Cada computador com o Windows instalado (qualquer versão), tem dois nomes: um
host name (que é ligado ao DNS) e um NetBios name (que é ligado ao WINS). Por
62
padrão estes nomes devem ser iguais, ou seja, é aconselhável que você utilize o mesmo
nome para o host name e para o NetBios name do computador.
O DNS é um sistema para nomeação de computadores e equipamentos de rede em geral
(tais como roteadores,hubs, switchs). Os nomes DNS são organizados de uma maneira
hierárquica através da divisão da rede em domínios DNS.
O DNS é, na verdade, um grande banco de dados distribuído em vários servidores DNS
e um conjunto de serviços e funcionalidades, que permitem a pesquisa neste banco de
dados. Por exemplo, quando o usuário digita www.abc.com.br na barra de endereços do
seu navegador, o DNS tem que fazer o trabalho de localizar e retornar para o navegador
do usuário, o número IP associado com o endereço www.abc.com.br Quando você tenta
acessar uma pasta compartilhada chamada docs., em um servidor chamado srv-
files01.abc.com.br, usando o caminho \\srv-files01.abc.com.br\docs, o DNS precisa
encontrar o número IP associado com o nome srv-files01.abc.com.br. Se esta etapa
falhar, a comunicação não será estabelecida e você não poderá acessar a pasta
compartilhada docs.
Ao tentar acessar um determinado recurso, usando o nome de um servidor, é como se o
programa que você está utilizando perguntasse ao DNS:
“DNS, você sabe qual o endereço IP associado com o nome tal?”
O DNS pesquisa na sua base de dados ou envia a pesquisa para outros servidores DNS
(dependendo de como foram feitas as configurações do servidor DNS, conforme
descreverei mais adiante). Uma vez encontrado o número IP, o DNS retorna o número
IP para o cliente:
“Este é o número IP associado com o nome tal.”
Nota: O DNS implementado no Windows 2000 Server e também no Windows Server
2003 é baseado em padrões definidos por entidades de padronização da Internet, tais
como o IETF. Estes documentos são conhecidos como RFCs – Request for Comments.
Você encontra, na Internet, facilmente a lista de RFCs disponíveis e o assunto
relacionada com cada uma. São milhares de RFCs (literalmente milhares).
Entendendo os elementos que compõem o DNS
O DNS é baseado em conceitos tais como espaço de nomes e árvore de domínios. Por
exemplo, o espaço de nomes da Internet é um espaço de nomes hierárquico, baseado no
DNS. Para entender melhor estes conceitos, observe o diagrama da Figura a seguir:
63
Figura - Estrutura hierárquica do DNS
Nesta Figura é apresentada uma visão abreviada da estrutura do DNS definida para a
Internet. O principal domínio, o domínio root, o domínio de mais alto nível foi nomeado
como sendo um ponto (.). No segundo nível foram definidos os chamados ―Top-level-
domains‖. Estes domínios são bastante conhecidos, sendo os principais descritos na
Tabela a seguir:
Top-level-domains:
Top-level-domain Descrição
com Organizações comerciais
gov Organizações governamentais
edu Instituições educacionais
org Organizações não comerciais
net Diversos
mil Instituições militares
64
Em seguida, a estrutura hierárquica continua aumentando. Por exemplo, dentro do
domínio .com, são criadas subdomínios para cada país. Por exemplo: br para o Brasil
(.com.br), .fr para a frança (.com.fr), uk para a Inglaterra (.com.uk) e assim por diante.
Observe que o nome completo de um domínio é o nome do próprio domínio e mais os
nomes dos domínios acima dele, no caminho até chegar ao domínio root que é o ponto.
Nos normalmente não escrevemos o ponto, mas não está errado utilizá-lo. Por exemplo,
você pode utilizar www.microsoft.com ou www.microsoft.com. (com ponto no final
mesmo).
No diagrama da Figura anterior, representei até o domínio de uma empresa chamada abc
(abc...), que foi registrada no subdomínio (.com.br), ou seja: abc.com.br. Este é o
domínio DNS desta nossa empresa de exemplo.
Nota: Para registrar um domínio .br, utilize o seguinte endereço: www.registro.br
Todos os equipamentos da rede da empresa abc.com.br, farão parte deste domínio. Por
exemplo, considere o servidor configurado com o nome de host www. O nome
completo deste servidor será www.abc.com.br, ou seja, é com este nome que ele poderá
ser localizado na Internet. O nome completo do servidor com nome de host ftp será:
ftp.abc.com.br, ou seja, é com este nome que ele poderá ser acessado através da
Internet. No banco de dados do DNS é que ficará gravada a informação de qual o
endereço IP está associado com www.abc.com.br, qual o endereço IP está associado
com ftp.abc.com.br e assim por diante. Mais adiante você verá, passo-a-passo, como é
feita a resolução de nomes através do DNS.
O nome completo de um computador da rede é conhecido como FQDN – Full
Qualifided Domain Name. Por exemplo ftp.abc.com.br é um FQDN. ftp (a primeira
parte do nome) é o nome de host e o restante representa o domínio DNS no qual está o
computador. A união do nome de host com o nome de domínio é que forma o FQDN.
Internamente, a empresa abc.com.br poderia criar subdomínios, como por exemplo:
vendas.abc.com.br, suporte.abc.com.br, pesquisa.abc.com.br e assim por diante. Dentro
de cada um destes subdomínios poderia haver servidores e computadores, como por
exemplo: srv01.vendas.abc.com.br, srv-pr01.suporte.abc.com.br. Observe que sempre,
um nome de domínio mais baixo, contém o nome completo dos objetos de nível mais
alto. Por exemplo, todos os subdomínios de abc.com.br, obrigatoriamente, contém
abc.com.br: vendas.abc.com.br, suporte.abc.com.br, pesquisa.abc.com.br. Isso é o que
define um espaço de nomes continuo.
Dentro de um mesmo nível, os nomes DNS devem ser únicos. Por exemplo, não é
possível registrar dois domínios abc.com.br. Porém é possível registrar um domínio
abc.com.br e outro abc.net.br. Dentro do domínio abc.com.br pode haver um servidor
chamado srv01. Também pode haver um servidor srv01 dentro do domínio abc.net.br. O
que distingue um do outro é o nome completo (FQDN), neste caso: srv01.abc.com.br e
o outro é srv01.abc.net.br.
Nota: Um método antigo, utilizado inicialmente para resolução de nomes era o arquivo
hosts. Este arquivo é um arquivo de texto e contém entradas como as dos exemplos a
seguir, uma em cada linha:
65
10.200.200.3 www.abc.com.br
10.200.200.4 ftp.abc.com.br
10.200.200.18 srv01.abc.com.br srv-files
O arquivo hosts é individual para cada computador da rede e fica gravado (no Windows
NT, Windows 2000, Windows Server 2003 ou Windows XP), na pasta
system32\drivers\etc., dentro da pasta onde o Windows está instalado. Este arquivo é
um arquivo de texto e pode ser alterado com o bloco de Notas.
O DNS é formado por uma série de componentes e serviços, os quais atuando em
conjunto, tornam possível a tarefa de fazer a resolução de nomes em toda a Internet ou
na rede interna da empresa. Os componentes do DNS são os seguintes:
O espaço de nomes DNS: Um espaço de nomes hierárquico e contínuo. Pode
ser o espaço de nomes da Internet ou o espaço de nomes DNS interno, da sua
empresa. Pode ser utilizado um espaço de nomes DNS interno, diferente do
nome DNS de Internet da empresa ou pode ser utilizado o mesmo espaço de
nomes. Cada uma das abordagens tem vantagens e desvantagens.
Servidores DNS: Os servidores DNS contém o banco de dados do DNS com o
mapeamento entre os nomes DNS e o respectivo número IP. Os servidores DNS
também são responsáveis por responder às consultas de nomes envidas por um
ou mais clientes da rede. Você aprenderá mais adiante que existem diferentes
tipos de servidores DNS e diferentes métodos de resolução de nomes.
Registros do DNS (Resource Records): Os registros são as entradas do banco
de dados do DNS. Em cada entrada existe um mapeamento entre um
determinado nome e uma informação associada ao nome. Pode ser desde um
simples mapeamento entre um nome e o respectivo endereço IP, até registros
mais sofisticados para a localização de DCs (controladores de domínio do
Windows 2000 ou Windows Server 2003) e servidores de email do domínio.
Clientes DNS: São também conhecidos como resolvers. Por exemplo, uma
estação de trabalho da rede, com o Windows 2000 Professional, com o Windows
XP professional ou com o Windows Vista tem um ―resolver‖ instalado. Este
componente de software é responsável por detectar sempre que um programa
precisa de resolução de um nome e repassar esta consulta para um servidor DNS.
O servidor DNS retorna o resultado da consulta, o resultado é retornado para o
resolver, o qual repassa o resultado da consulta para o programa que originou a
consulta.
Entendendo como funcionam as pesquisas do DNS
Imagine um usuário, na sua estação de trabalho, navegando na Internet. Ele tenta
acessar o site www.juliobattisti.com.br O usuário digita este endereço e tecla Enter. O
resolver (cliente do DNS instalado na estação de trabalho do usuário) detecta que existe
a necessidade da resolução do nome www.juliobattisti.com.br, para descobrir o número
IP associado com este nome. O resolver envia a pesquisa para o servidor DNS
configurado como DNS primário, nas propriedades do TCP/IP da estação de trabalho
(ou para o DNS informado pelo DHCP, caso a estação de trabalho esteja obtendo as
configurações do TCP/IP, automaticamente, a partir de um servidor DHCP – assunto da
66
Parte 10 deste tutorial). A mensagem envida pelo resolver, para o servidor DNS, contém
três partes de informação, conforme descrito a seguir:
O nome a ser resolvido. No nosso exemplo: www.juliobattisti.com.br
O tipo de pesquisa a ser realizado. Normalmente é uma pesquisa do tipo
―resource record‖, ou seja, um registro associado a um nome, para retornar o
respectivo endereço IP. No nosso exemplo, a pesquisa seria por um registro do
tipo A, na qual o resultado da consulta é o número IP associado com o nome que
está sendo pesquisado. É como se o cliente perguntasse para o servidor DNS:
―Você conhece o número IP associado com o nome www.juliobattisti.com.br?‖
E o servidor responde: ―Sim, conheço. O número IP associado com o nome
www.juliobattisti.com.br é o seguinte... Também podem ser consultas
especializadas, como por exemplo, para localizar um DC (controlador de
domínio) no domínio ou um servidor de autenticação baseado no protocolo
Kerberos.
Uma classe associada com o nome DNS. Para os servidores DNS baseados no
Windows 2000 Server e Windows Server 2003, a classe será sempre uma classe
de Internet (IN), mesmo que o nome seja referente a um servidor da Intranet da
empresa.
Existem diferentes maneiras como uma consulta pode ser resolvida. Por exemplo, a
primeira vez que um nome é resolvido, o nome e o respectivos número IP são
armazenados em memória, no que é conhecido como Cache do cliente DNS, na estação
de trabalho que fez a consulta. Na próxima vez que o nome for utilizado, primeiro o
Windows procura no Cache DNS do próprio computador, para ver se não existe uma
resolução anterior para o nome em questão. Somente se não houver uma resolução no
Cache local do DNS, é que será envida uma consulta para o servidor DNS.
Chegando a consulta ao servidor, primeiro o servidor DNS consulta o cache do servidor
DNS. No cache do servidor DNS ficam, por um determinado período de tempo, as
consultas que foram resolvidas anteriormente pelo servidor DNS. Esse processo agiliza
a resolução de nomes, evitando repetidas resoluções do mesmo nome. Se não for
encontrada uma resposta no cache do servidor DNS, o servidor pode tentar resolver a
consulta usando as informações da sua base de dados ou pode enviar a consulta para
outros servidores DNS, até que uma resposta seja obtida. A seguir descreverei detalhes
deste processo de enviar uma consulta para outros servidores, processo este chamado de
recursão.
Em resumo, o processo de resolução de um nome DNS é composto de duas etapas:
1. A consulta inicia no cliente e é passada para o resolver na estação de trabalho do
cliente. Primeiro o resolver tenta responder a consulta localmente, usando recursos tais
como o cache local do DNS e o arquivo hosts.
2. Se a consulta não puder ser resolvida localmente, o resolver envia a consulta para
o servidor DNS, o qual pode utilizar diferentes métodos (descritos mais adiante), para a
resolução da consulta.
67
A seguir vou descrever as etapas envolvidas nas diferentes maneiras que o DNS utiliza
para ―responder‖ a uma consulta enviada por um cliente.
Nota: Vou utilizar algumas figuras da ajuda do Windows 2000 Server para explicar a
maneira como o DNS resolve consultas localmente (resolver) e os diferentes métodos de
resolução utilizados pelo servidor DNS.
Inicialmente considere o diagrama da figura a seguir, contido na Ajuda do DNS, no
Windows 2000 Server, diagrama este que apresenta uma visão geral do processo de
resolução de nomes do DNS.
Figura - O processo de resolução de nomes do DNS.
No exemplo desta figura, o cliente está em sua estação de trabalho e tenta acessar o site
da Microsoft: www.microsoft.com. Ao digitar este endereço no seu navegador e
pressionar Enter, o processo de resolução do nome www.microsoft.com é iniciado. Uma
série de etapas são executadas, até que a resolução aconteça com sucesso ou falhe em
definitivo, ou seja, o DNS não consegue resolver o nome, isto é, não consegue encontrar
o número IP associado ao endereço www.microsoft.com
Primeira etapa: O DNS tenta resolver o nome, usando o resolver local:
Ao digitar o endereço www.microsoft.com e pressionar Enter, o processo de resolução é
iniciado. Inicialmente o endereço é passado para o cliente DNS, na estação de trabalho
do usuário. O cliente DNS é conhecido como resolver, conforme já descrito
anteriormente, nome este que utilizarei a partir de agora. O cliente tenta resolver o nome
utilizando um dos seguintes recursos:
O cache DNS local: Sempre que um nome é resolvido com sucesso, o nome e a
informação associada ao nome (normalmente o endereço IP), são mantidos na
memória, o que é conhecido como cache local do DNS da estação de trabalho do
cliente. Quando um nome precisa ser resolvido, a primeira coisa que o resolver
faz é procurar no cache local. Encontrando no cache local, as informações do
cache são utilizadas e a resolução está completa. O cache local torna a resolução
mais rápida, uma vez que nomes já resolvidos podem ser consultados
diretamente no cache, ao invés de terem que passar por todo o processo de
resolução via servidor DNS novamente, processo este que você aprenderá logo a
68
seguir. Pode acontecer situações onde informações incorretas foram gravadas no
Cache Local e o Resolver está utilizando estas informações. Você pode limpar o
Cache local, usando o comando ipconfig /flushdns Abra um prompt de
Comando, digite o comando ipconfig /flushdns e pressione Enter. Isso irá limpar
o Cache local.
O arquivo hosts: Se não for encontrada a resposta no cache local do DNS, o
resolver consulta as entradas do arquivos hosts, o qual é um arquivo de texto e
fica na pasta onde o Windows Server foi instalado, dentro do seguinte caminho:
\system32\drivers\etc. (para o Windows NT 4, Windows 2000, Windows Server
2003 e Windows XP). O hosts é um arquivo de texto e pode ser editado com o
bloco de notas. Este arquivo possui entradas no formato indicado a seguir, com
um número IP por linha, podendo haver um ou mais nomes associados com o
mesmo número IP:
10.200.200.3 www.abc.com.br intranet.abc.com.br
10.200.200.4 ftp.abc.com.br arquivos.abc.com.br
10.200.200.18 srv01.abc.com.br pastas.abc.com.br pastas
Se mesmo assim a consulta não for respondida, o resolver envia a consulta para o
servidor DNS configurado nas propriedades do TCP/IP como servidor DNS primário ou
configurado via DHCP, como servidor DNS primário.
Segunda etapa: Pesquisa no servidor DNS.
Uma vez que a consulta não pode ser resolvida localmente pelo resolver, esta é enviada
para o servidor DNS. Quando a consulta chega no servidor DNS, a primeira coisa que o
servidor DNS faz é consultar as zonas para as quais ele é uma autoridade (para uma
descrição completa sobre zonas e domínios e a criação de zonas e domínios no DNS
consulte o Capítulo 3 do meu livro Manual de Estudos para o Exame 70-216, 712
páginas, o qual está esgotado em formato impresso, mas está a venda em formato de E-
book, em PDF. Todos os detalhes em:
http://www.juliobattisti.com.br/cursos/70216/default.asp).
Por exemplo, vamos supor que o servidor DNS seja o servidor DNS primário para a
zona vendas.abc.com.br (diz-se que ele é a autoridade para esta zona) e o nome a ser
pesquisado é srv01.vendas.abc.com.br. Neste caso o servidor DNS irá pesquisar nas
informações da zona vendas.abc.com.br (para a qual ele é a autoridade) e responder a
consulta para o cliente. Diz-se que o servidor DNS respondeu com autoridade
(authoritatively).
No nosso exemplo (Figura anterior) não é este o caso, uma vez que o nome pesquisado
é www.microsoft.com e o servidor DNS não é a autoridade, ou seja, não é o servidor
DNS primário para o domínio microsoft.com. Neste caso, o servidor DNS irá pesquisar
o cache do servidor DNS (não confundir com o cache local do DNS no cliente).
À medida que o servidor DNS vai resolvendo nomes, ele vai mantendo estas
informações em um cache no servidor DNS. As entradas são mantidas em cache por um
tempo que pode ser configurado pelo administrador do DNS. O cache do servidor DNS
tem a mesma função do cache local do resolver, ou seja, agilizar a consulta a nomes que
69
já foram resolvidos previamente. Se for encontrada uma entrada no cache do servidor
DNS, esta entrada será utilizada pelo servidor DNS para responder a consulta enviada
pelo cliente. e o processo de consulta está completo.
Caso o servidor DNS não possa responder usando informações de uma zona local do
DNS e nem informações contidas no cache do servidor DNS, o processo de pesquisa
continua, usando um processo conhecido como recursão (recursion), para resolver o
nome. Agora o servidor DNS fará consultas a outros servidores para tentar responder a
consulta enviada pelo cliente. O processo de recursão é ilustrado na Figura a seguir, da
ajuda do DNS. Em seguida comentarei os passos envolvidos no processo de recursão.
Figura - Resolução de nomes usando recursão
O servidor DNS irá iniciar o processo de recursão com o auxílio de servidores DNS da
Internet. Para localizar estes servidores, o servidor DNS utiliza as configurações
conhecidas como ―root hints‖. Root hints nada mais é do que uma lista de servidores
DNS e os respectivos endereços IP, dos servidores para o domínio root (representado
pelo ponto .) e para os domínios top-level (.com, .net, gov e assim por diante). Esta lista
é criada automaticamente quando o DNS é instalado e pode ser acessada através das
propriedades do servidor DNS. Na Figura a seguir é exibida uma lista de root hints
configuradas por padrão, em um servidor DNS, baseado no Windows 2000 Server:
70
Figura - Lista de root hints do servidor DNS.
Com o uso da lista de servidores root hints, o servidor DNS consegue localizar
(teoricamente), os servidores DNS responsáveis por quaisquer domínio registrado.
Vamos novamente considerar um exemplo, para entender como o processo de recursão
funciona. Imagine que a consulta enviada pelo cliente é para descobrir o endereço IP
associado ao nome srv01.vendas.abc.com. O cliente que fez esta consulta está usando
um computador da rede xyz.com, o qual está configurado para usar, como DNS
primário, o DNS da empresa xyz.com.
Primeiro vamos assumir que o nome não pode ser resolvido localmente no cliente
(usando o cache DNS local e o arquivo hosts) e foi enviado para o servidor DNS
primário da empresa xyz.com. Este DNS é dono, é autoridade apenas para o domínio
xyz.com e não para vendas.abc.com (lembrando sempre que a primeira parte do nome é
o nome da máquina, conhecido como nome de host). Com isso o servidor DNS primário
da empresa xyz.com.br irá pesquisar no cache do servidor DNS. Não encontrando a
resposta no cache, é iniciado o processo de recursão, com os passos descritos a seguir:
1. O servidor DNS retira apenas a parte correspondente ao domínio (o nome todo,
menos a primeira parte. No nosso exemplo seria vendas.abc.com, srv01 é o nome de
host). Usando a lista de servidores DNS configurados como root hints, o servidor DNS
localiza um servidor que seja o dono, a autoridade para o domínio root da Internet,
representado pelo ponto (o processo é assim mesmo, de trás para frente).
71
2. Localizado o servidor responsável pelo domínio root, o servidor DNS da empresa
xyz.com envia uma consulta interativa para o servidor DNS responsável pelo domínio
root, perguntando: “Você sabe quem é o servidor DNS responsável pelo domínio
.com?”. O servidor DNS root responde com o endereço IP de um dos servidores DNS
responsáveis pelo domínio .com. Ou seja, o servidor DNS root não sabe responder
diretamente o nome que está sendo resolvido, mas sabe para quem enviar, sabe a quem
recorrer. Talvez daí venha o nome do processo recursão.
3. O servidor DNS do domínio xyz.com recebe a resposta informando qual o
servidor DNS responsável pelo domínio .com.
4. O servidor DNS do domínio xyz.com envia uma consulta para o servidor DNS
responsável pelo .com (informado no passo 3), perguntando: “Você é a autoridade
para abc.com ou saberia informar quem é a autoridade para abc.com?”
5. O servidor DNS responsável pelo domínio .com não é a autoridade para abc.com,
mas sabe informar quem é a autoridade deste domínio. O servidor DNS responsável
pelo .com retorna para o servidor DNS do domínio xyz.com, o número IP do servidor
DNS responsável pelo domínio abc.com.
6. O servidor DNS do domínio xyz.com recebe a resposta informando o número IP
do servidor responsável pelo domínio abc.com.
7. O servidor DNS do domínio xyz.com envia uma consulta para o servidor DNS
responsável pelo abc.com (informado no passo 6), perguntando: “Você é a autoridade
para vendas.abc.com ou saberia informar quem é a autoridade para
vendas.abc.com?”
8. O servidor DNS responsável pelo abc.com não é a autoridade para
vendas.abc.com, mas sabe informar quem é a autoridade deste domínio. O servidor
DNS responsável pelo abc.com retorna para o servidor DNS do domínio xyz.com, o
número IP do servidor DNS responsável pelo domínio vendas.abc.com.
9. O servidor DNS do domínio xyz.com recebe a resposta informando o número IP
do servidor responsável pelo domínio vendas.abc.com.
10. O servidor DNS do domínio xyz.com envia uma consulta para o servidor DNS
responsável pelo vendas.abc.com (informado no passo 9), perguntando: “Você é a
autoridade para vendas.abc.com ou saberia informar quem é a autoridade para
vendas.abc.com?”
11. O servidor DNS para vendas.abc.com recebe a consulta para resolver o nome
srv01.vendas.abc.com. Como este servidor é a autoridade para o domínio, ele pesquisa a
zona vendas.abc.com, encontra o registro para o endereço serv01.vendas.abc.com e
retornar esta informação para o servidor DNS do domínio xyz.com.
12. O servidor DNS do domínio xyz.com recebe a resposta da consulta, faz uma
cópia desta resposta no cache do servidor DNS e retornar o resultado para o cliente que
originou a consulta.
72
13, No cliente o resolver recebe o resultado da consulta, repassa este resultado para o
programa que gerou a consulta e grava uma cópia dos dados no cache local do DNS.
Evidentemente que a descrição do processo demora muito mais tempo do que o DNS
realmente leva para resolver um nome usando este método. Claro que a resolução é
rápida, senão ficaria praticamente impossível usar a Internet. Além disso, este método
traz algumas vantagens. Durante esta espécie de ―pingue-pongue‖ entre o servidor DNS
e os servidores DNS da Internet, o servidor DNS da empresa vai obtendo informações
sobre os servidores DNS da Internet e grava estas informações no cache local do
servidor DNS. Isso agiliza futuras consultas e reduz, significativamente, o tempo para a
resolução de nomes usando o processo de recursão. Estas informações são mantidas na
memória do servidor e com o passar do tempo podem ocupar um espaço considerável da
memória. Toda vez que o serviço DNS for parado e iniciado novamente, estas
informações serão excluídas da memória e o processo de cache inicia novamente.
Considerações e tipos especiais de resoluções
O processo descrito anteriormente, termina com o servidor DNS (após ter consultado
vários outros servidores) retornando uma resposta positiva para o cliente, isto é,
conseguindo resolver o nome e retornando a informação associada (normalmente o
número IP associado ao nome) para o cliente. Mas nem sempre a resposta é positiva,
muitos outros tipos de resultados podem ocorrer em resposta a uma consulta, tais como:
An authoritative answer (resposta com autoridade): Este tipo de resposta é
obtido quando o nome é resolvido diretamente pelo servidor DNS que é a
autoridade para o domínio pesquisado. Por exemplo, um usuário da Intranet da
sua empresa (abc.com.br), tenta acessar uma página da intranet da empresa, por
exemplo: rh.abc.com.br. Neste caso a consulta será enviada para o servidor DNS
da empresa, o qual é a autoridade para a zona abc.com.br, com isso o servidor
DNS da empresa, responde diretamente à consulta, informando o número IP do
servidor rh.abc.com.br. É também uma resposta positiva só que com autoridade,
ou seja, respondida diretamente pelo servidor DNS que é a autoridade para o
domínio pesquisado, sem a necessidade de usar recursão.
A positive answer (resposta positiva): É uma resposta com o resultado para o
nome pesquisado, isto é, o nome pôde ser resolvido e uma ou mais informações
associadas ao nome são retornadas para o cliente.
A referral answer (uma referência): Este tipo de resposta não contém a
resolução do nome pesquisado, mas sim informações e referência a recursos ou
outros servidores DNS que podem ser utilizados para a resolução do nome. Este
tipo de resposta será retornado para o cliente, se o servidor DNS não suportar o
método de recursão, descrito anteriormente. As informações retornadas por uma
resposta deste tipo são utilizadas pelo cliente para continuar a pesquisa, usando
um processo conhecido como interação (o qual será descrito mais adiante). O
cliente faz a pesquisa em um servidor DNS e recebe, como resposta, uma
referência a outro recurso ou servidor DNS. Agora o cliente irá interagir com o
novo recurso ou servidor DNS, tentando resolver o nome. Este processo pode
continuar até que o nome seja resolvido ou até que uma resposta negativa seja
73
retornada, indicando que o nome não pode ser resolvido. O processo de
interação será descrito mais adiante.
A negative answer (uma resposta negativa): Esta resposta pode indicar que
um dos seguintes resultados foi obtido em resposta à consulta: Um servidor
DNS que é autoridade para o domínio pesquisado, informou que o nome
pesquisado não existe neste domínio ou um servidor DNS que é autoridade para
o domínio pesquisado, informou que o nome pesquisado existe, mas o tipo de
registro não confere.
Uma vez retornada a resposta, o resolver interpreta o resultado da resposta (seja ela
positiva ou negativa) e repassa a resposta para o programa que fez a solicitação para
resolução de nome. O resolver armazena o resultado da consulta no cache local do DNS.
Dica Importante: O administrador do DNS pode desabilitar o recurso de recursão em
um servidor DNS em situações onde os usuários devem estar limitados a utilizar apenas
o servidor DNS da Intranet da empresa.
O servidor DNS também define tempos máximos para determinadas operações. Uma
vez atingido o tempo máximo, sem obter uma resposta à consulta, o servidor DNS irá
retornar uma resposta negativa:
Intervalo de reenvio de uma consulta recursiva – 3 segundos: Este é o tempo
que o DNS espera antes de enviar novamente uma consulta (caso não tenha
recebido uma resposta) feita a um servidor DNS externo, durante um processo
recursivo.
Intervalo de time-out para um consulta recursiva – 15 segundos: Este é o
tempo que o DNS espera antes de determinar que uma consulta recursiva, que
foi reenviada falhou.
Estes parâmetros podem ser alterados pelo Administrador do DNS.
Como funciona o processo de interação
O processo de interação é utilizado entre o cliente DNS (resolver) e um ou mais
servidores DNS, quando ocorrerem as condições indicadas a seguir:
O cliente tenta utilizar o processo de recursão, discutido anteriormente, mas a
recursão está desabilitada no servidor DNS.
O cliente não solicita o uso de recursão, ao pesquisar o servidor DNS.
O cliente faz uma consulta ao servidor DNS, informando que é esperada a
melhor resposta que o servidor DNS puder fornecer imediatamente, sem
consultar outros servidores DNS.
Quando o processo de interação é utilizado, o servidor DNS responde à consulta do
cliente com base nas informações que o servidor DNS tem sobre o domínio pesquisado.
Por exemplo, o servidor DNS da sua rede interna pode receber uma consulta de um
74
cliente tentando resolver o nome www.abc.com. Se este nome estiver no cache do
servidor DNS ele responde positivamente para o cliente. Se o nome não estiver no cache
do servidor DNS, o servidor DNS responde com uma lista de servidores de referência,
que é uma lista de registros do tipo NS e A (você aprenderá sobre os tipos de registro na
parte prática), registros estes que apontam para outros servidores DNS, capazes de
resolver o nome pesquisado. Ou seja, o cliente recebe uma lista de servidores DNS para
os quais ele deve enviar a consulta. Observem a diferença básica entre o processo de
recursão e o processo de interação. Na recursão, o servidor DNS é que entra em contato
com outros servidores (root hints), até conseguir resolver o nome pesquisado. Uma vez
resolvido o nome, ele retorna a resposta para o cliente. Já no processo de interação, se o
servidor DNS não consegue resolver o nome, ele retorna uma lista de outros servidores
DNS que talvez possam resolver o nome pesquisado. O cliente recebe esta lista e envia
a consulta para os servidores DNS informados. Este processo (esta interação) continua
até que o nome seja resolvido ou que uma resposta negativa seja recebida pelo cliente,
informando que o nome não pode ser resolvido. Ou seja, no processo de interação, a
cada etapa do processo, o servidor DNS retorna para o cliente, uma lista de servidores
DNS a serem pesquisados, até que um dos servidores responde positivamente (ou
negativamente) à consulta feita pelo cliente.
Como funciona o cache nos servidores DNS
O trabalho básico do servidor DNS é responder às consultas enviadas pelos clientes,
quer seja utilizando recursão ou interação. A medida que os nomes vão sendo
resolvidos, esta informação fica armazenada no cache do servidor DNS. Com o uso do
cache, futuras consultas à nomes já resolvidos, podem ser respondidas diretamente a
partir do cache do servidor DNS, sem ter que utilizar recursão ou interação. O uso do
cache agiliza o processo de resolução de nomes e também reduz o tráfego de rede
gerado pelo DNS.
Quando as informações são gravadas no cache do servidor DNS, um parâmetro
chamado Time-To-Live (TTL) é associado com cada informação. Este parâmetro
determina quanto tempo a informação será mantida no cache até ser descartada. O
parâmetro TTL é utilizado para que as informações do cache não se tornem
desatualizadas e para minimizar a possibilidade de envio de informações desatualizadas
em resposta às consultas dos clientes. O valor padrão do parâmetro TTL é 3600
segundos (uma hora). Este parâmetro pode ser configurado pelo administrador do DNS,
conforme será mostrado na parte prática, nas partes de 21 a 50, as quais constituem o
Módulo 2 deste curso.
Aviso Importante: Por padrão o Servidor DNS utiliza um arquivo chamado Cache.dns,
o qual fica gravado na pasta systemroot\System32\Dns, onde systemroot representa a
pasta onde o Windows 2000 Server ou Windows Server 2003 está instalado. Este
arquivo não tem a ver com o Cache de nomes do servidor DNS. Neste arquivo está
contida a lista de servidores root hints (descritos anteriormente). O conteúdo deste
arquivo é carregado na memória do servidor, durante a inicialização do serviço do DNS
e é utilizado para localizar os servidores root hints da Internet, servidores estes
utilizados durante o processo de recursão, descrito anteriormente.
Conclusão
75
Nesta parte do tutorial fiz a apresentação do serviço mais utilizado pelo TCP/IP: DNS.
Nas próximas partes deste tutorial, falareis sobre os demais serviços do Windows 2000
Server e do Windows Server 2003, diretamente ligados ao TCP/IP, tais como o DHCP,
WINS e RRAS, IPSEC, RIP, etc.
76
Uma introdução ao DHCP
Esta é a nona parte do Tutorial de TCP/IP. Na Parte 1 tratei dos aspectos básicos do
protocolo TCP/IP. Na Parte 2 falei sobre cálculos binários, um importante tópico para
entender sobre redes, máscara de sub-rede e roteamento. Na Parte 3 falei sobre Classes
de endereços, na Parte 4 fiz uma introdução ao roteamento e na Parte 5 apresentei mais
alguns exemplos e análises de como funciona o roteamento. Na Parte 6 falei sobre a
Tabela de Roteamento. Na Parte 7 tratei sobre a divisão de uma rede em sub-redes,
conceito conhecido como subnetting. Na Parte 8 fiz uma apresentação de um dos
serviços mais utilizados pelo TCP/IP, que é o Domain Name System: DNS. O DNS é o
serviço de resolução de nomes usado em todas as redes TCP/IP, inclusive pela Internet
que, sem dúvidas, é a maior rede TCP/IP existente. Nesta nona parte farei uma
introdução ao serviço Dynamic Host Configuration Protocol – DHCP.
Definindo DHCP
O DHCP é a abreviatura de Dynamic Host Configuration Protocol. O DHCP é um
serviço utilizado para automatizar as configurações do protocolo TCP/IP nos
dispositivos de rede (computadores, impressoras, hubs, switchs, ou seja, qualquer
dispositivo conectado à rede e que esteja utilizando o protocolo TCP/IP).
Sem o uso do DHCP, o administrador da rede e a sua equipe teriam que configurar,
manualmente, as propriedades do protocolo TCP/IP em cada dispositivo de rede
(genericamente denominados hosts). Com o uso do DHCP esta tarefa pode ser
completamente automatizada. O uso do DHCP traz diversos benefícios, dentro os quais
podemos destacar os seguintes:
Automação do processo de configuração do protocolo TCP/IP nos dispositivos
da rede.
Facilidade de alteração de parâmetros tais como Default Gateway, Servidor
DNS e assim por diante, em todos os dispositivos da rede, através de uma
simples alteração no servidor DHCP.
Eliminação de erros de configuração, tais como digitação incorreta de uma
máscara de sub-rede ou utilização do mesmo número IP em dois dispositivos
diferentes, gerando um conflito de endereço IP.
Introdução ao DHCP
Neste tópico apresentarei uma série de conceitos teóricos sobre o funcionamento do
DHCP. Você aprenderá como funciona o processo de concessão de endereços IP
(também conhecido como lease), aprenderá sobre os conceitos de escopo, super escopo,
reserva de endereço, ativação do servidor DHCP no Active Directory e demais
conceitos relacionados ao DHCP.
O que é o DHCP - Dynamic Host Configuration Protocol?
Você aprendeu, nas primeiras partes deste tutorial, sobre os fundamentos do protocolo
TCP/IP, que um equipamento de rede, que utiliza o protocolo TCP/IP precisa que sejam
77
configurados uma série de parâmetros. Os principais parâmetros que devem ser
configurados para que o protocolo TCP/IP funcione corretamente são os seguintes:
Número IP
Máscara de sub-rede
Default Gateway (Gateway Padrão)
Número IP de um ou mais servidores DNS
Número IP de um ou mais servidores WINS
Sufixos de pesquisa do DNS
Em uma rede com centenas ou até mesmo milhares de estações de trabalho, configurar o
TCP/IP manualmente, em cada estação de trabalho é uma tarefa bastante trabalhosa, que
envolve tempo e exige uma equipe técnica para executar este trabalho. Além disso,
sempre que houver mudanças em algum dos parâmetros de configuração (como por
exemplo uma mudança no número IP do servidor DNS), a reconfiguração terá que ser
feita manualmente em todas as estações de trabalho da rede. Por exemplo, imagine que
o número IP do Default Gateway teve que ser alterado devido a uma reestruturação da
rede. Neste caso a equipe de suporte teria que ir de computador em computador,
alterando as propriedades do protocolo TCP/IP, para informar o novo número IP do
Default Gateway, isto é, alterando o número IP antigo do Default Gateway para o novo
número. Um trabalho e tanto.
Além disso, com a configuração manual, sempre podem haver erros de configuração.
Por exemplo, basta que o técnico que está configurando uma estação de trabalho, digite
um valor incorreto para a máscara de sub-rede, para que a estação de trabalho não
consiga mais se comunicar com a rede. E problemas como este podem ser difíceis de
detectar. Muitas vezes o técnico pode achar que o problema é com a placa de rede, com
o driver da placa ou com outras configurações. Até descobrir que o problema é um
simples erro na máscara de sub-rede pode ter sido consumido um bom tempo: do
técnico e do funcionário que utiliza o computador, o qual ficou sem poder acessar a
rede. E hoje em dia sem acesso á rede significa, na prática, sem poder trabalhar.
Bem, descrevo estas situações apenas para ilustrar o quanto é difícil e oneroso manter a
configuração do protocolo TCP/IP manualmente, quando temos um grande número de
estações de trabalho em rede. Pode até nem ser ―tão grande‖ este número, com redes a
partir da 30 ou 50 estações de trabalho já começa a ficar difícil a configuração manual
do protocolo TCP/IP.
Para resolver esta questão e facilitar a configuração e administração do protocolo
TCP/IP é que foi criado o DHCP. DHPC é a abreviatura de: Dynamic Host
Configuration Protocol (Protocolo de configuração dinâmica de hosts). Você pode
instalar um ou mais servidores DHCP em sua rede e fazer com que os computadores e
demais dispositivos que precisem de configurações do TCP/IP, obtenham estas
configurações, automaticamente, a partir do servidor DHCP.
Por exemplo, considere uma estação de trabalho configurada para utilizar o DHCP.
Durante a inicialização, esta estação de trabalho entra em um processo de ―descobrir‖
um servidor DHCP na rede (mais adiante detalharei como é este processo de
―descoberta‖ do servidor DHCP). Uma vez que a estação de trabalho consegue se
comunicar com o servidor DHCP, ela recebe todas as configurações do protocolo
78
TCP/IP, diretamente do servidor DHCP. Ou seja, com o uso do DHCP, o administrador
pode automatizar as configurações do protocolo TCP/IP em todas os computadores da
rede.
Com o uso do DHCP, a distribuição de endereços IP e demais configurações do
protocolo TCP/IP (máscara de sub-rede, default gateway, número IP do servidor DNS e
assim por diante) é automatizada e centralizadamente gerenciada. O administrador cria
faixas de endereços IP que serão distribuídas pelo servidor DHCP (faixas estas
chamadas de escopos) e associa outras configurações com cada faixa de endereços, tais
como um número IP do Default Gateway, a máscara de sub-rede, o número IP de um ou
mais servidores DNS, o número IP de um ou mais servidores WINS e assim por diante.
Todo o trabalho de configuração do protocolo TCP/IP que teria que ser feito
manualmente, agora pode ser automatizado com o uso do DHCP. Imagine somente uma
simples situação, mas que serve para ilustrar o quanto o DHCP é útil. Vamos supor que
você é o administrador de uma rede com 3000 estações de trabalho. Todas as estações
de trabalho estão configuradas com o protocolo TCP/IP. As configurações são feitas
manualmente, não é utilizado um servidor DHCP na rede. Você utiliza um único
servidor externo, do seu provedor de Internet, com servidor DNS. O número IP deste
servidor DNS está configurado em todas as estações de trabalho da rede. O seu
Provedor de Internet sofreu uma reestruturação e teve que alterar o número IP do
servidor DNS (veja que é uma situação que está fora do controle do administrador da
rede, já que a alteração foi no servidor DNS do provedor). Como você configura o
TCP/IP manualmente nos computadores da rede, só resta uma solução: pôr a sua equipe
em ação para visitar as 3000 estações de trabalho da rede, alterando o número IP do
servidor DNS em cada uma delas. Em cada estação de trabalho o técnico terá que
acessar as propriedades do protocolo TCP/IP e alterar o endereço IP do servidor DNS
para o novo endereço. Um trabalho e tanto, sem contar que podem haver erros durante
este processo.
Agora imagine esta mesma situação, só que ao invés de configurar o TCP/IP
manualmente você está utilizando o DHCP para fazer as configurações do TCP/IP
automaticamente. Nesta situação, quando houve a alteração do número IP do servidor
DNS, bastaria alterar esta opção nas propriedades do escopo de endereços IP no
servidor DHCP e pronto. Na próxima reinicialização, os computadores da rede já
receberiam o novo número IP do servidor DNS, sem que você ou um único membro da
sua equipe tivesse que reconfigurar uma única estação de trabalho. Bem mais simples,
mais produtivo e menos propenso a erros.
Isso é o DHCP, um serviço para configuração automática do protocolo TCP/IP nos
computadores e demais dispositivos da rede que utilizam o protocolo TCP/IP. Configuração feita de maneira automática e centralizada. Em redes baseadas em
TCP/IP, o DHCP reduz a complexidade e a quantidade de trabalho administrativo
envolvido na configuração e reconfiguração do protocolo TCP/IP.
Nota: A implementação do DHCP no Windows 2000 Server e no Windows Server
2003 é baseada em padrões definidos pelo IETF. Estes padrões são definidos em
documentos conhecidos como RFCs (Request for Comments). As RFCs que definem os
padrões do DHCP são as seguintes:
79
RFC 2131: Dynamic Host Configuration Protocol (substitui a RFC 1541)
RFC 2132: DHCP Options and BOOTP Vendor Extensions
As RFCs a seguir também podem ser úteis para compreender como o DHCP é usado
com outros serviços na rede:
RFC 0951: The Bootstrap Protocol (BOOTP)
RFC 1534: Interoperation Between DHCP and BOOTP
RFC 1542: Clarifications and Extensions for the Bootstrap Protocol
RFC 2136: Dynamic Updates in the Domain Name System (DNS UPDATE)
RFC 2241: DHCP Options for Novell Directory Services
RFC 2242: Netware/IP Domain Name and Information
O site oficial, a partir da qual você pode copiar o conteúdo integral das RFCs
disponíveis é o seguinte:
http://www.rfc-editor.org/
Termos utilizados no DHCP
O DHCP é composto de diversos elementos. O servidor DHCP e os clientes DHCP. No
servidor DHCP são criados escopos e definidas as configurações que os clientes DHCP
irão receber. A seguir apresento uma série de termos relacionados ao DHCP. Estes
termos serão explicados em detalhes até o final desta lição.
Termos utilizados no DHCP:
Servidor DHCP: É um servidor com o Windows 2000 Server ou com o
Windows Server 2003, onde foi instalado e configurado o serviço DHCP. Após
a instalação de um servidor DHCP ele tem que ser autorizado no Active
Directory, antes que ele possa, efetivamente, atender a requisições de clientes. O
procedimento de autorização no Active Directory é uma medida de segurança,
para evitar que servidores DHCP sejam introduzidos na rede sem o
conhecimento do administrador. O servidor DHCP não pode ser instalado em
um computador com o Windows 2000 Professional, Windows XP Professional
ou Windows Vista.
Cliente DHCP: É qualquer dispositivo de rede capaz de obter as configurações
do TCP/IP a partir de um servidor DHCP. Por exemplo, uma estação de trabalho
com o Windows 95/98/Me, Windows NT Workstation 4.0, Windows 2000
Professional, Windows XP, Windows Vista, uma impressora com placa de rede
habilitada ao DHCP e assim por diante.
o Escopo: Um escopo é o intervalo consecutivo completo de endereços IP
possíveis para uma rede (por exemplo, a faixa de 10.10.10.100 a
10.10.10.150, na rede 10.10.10.0/255.255.255.0). Em geral, os escopos
definem uma única sub-rede física, na rede na qual serão oferecidos
serviços DHCP. Os escopos também fornecem o método principal para
que o servidor gerencie a distribuição e atribuição de endereços IP e
80
outros parâmetros de configuração para clientes na rede, tais como o
Default Gateway, Servidor DNS e assim por diante.
o Super escopo: Um super escopo é um agrupamento administrativo de
escopos que pode ser usado para oferecer suporte a várias sub-redes IP
lógicas na mesma sub-rede física. Os super escopos contêm somente uma
lista de escopos associados ou escopos filho que podem ser ativados em
conjunto. Os super escopos não são usados para configurar outros
detalhes sobre o uso de escopo. Para configurar a maioria das
propriedades usadas em um super escopo, você precisa configurar
propriedades de cada escopo associado, individualmente. Por exemplo,
se todos os computadores devem receber o mesmo número IP de Default
Gateway, este número tem que ser configurado em cada escopo,
individualmente. Não tem como fazer esta configuração no Super escopo
e todos os escopos (que compõem o Super escopo), herdarem estas
configurações.
o
o Intervalo de exclusão: Um intervalo de exclusão é uma seqüência
limitada de endereços IP dentro de um escopo, excluído dos endereços
que são fornecidos pelo DHCP. Os intervalos de exclusão asseguram que
quaisquer endereços nesses intervalos não são oferecidos pelo servidor
para clientes DHCP na sua rede. Por exemplo, dentro da faixa
10.10.10.100 a 10.10.10.150, na rede 10.10.10.0/255.255.255.0 de um
determinado escopo, você pode criar uma faixa de exclusão de
10.10.10.120 a 10.10.10.130. Os endereços da faixa de exclusão não
serão utilizados pelo servidor DHCP para configurar os clientes DHCP.
o Pool de endereços: Após definir um escopo DHCP e aplicar intervalos
de exclusão, os endereços remanescentes formam o pool de endereços
disponíveis dentro do escopo. Endereços em pool são qualificados para
atribuição dinâmica pelo servidor para clientes DHCP na sua rede. No
nosso exemplo, onde temos o escopo com a faixa 10.10.10.100 a
10.10.10.150, com uma faixa de exclusão de 10.10.10.120 a
10.10.10.130, o nosso pool de endereços é formado pelos endereços de
10.10.10.100 a 10.10.10.119, mais os endereços de 10.10.10.131 a
10.10.10.150.
o Concessão: Uma concessão é um período de tempo especificado por um
servidor DHCP durante o qual um computador cliente pode usar um
endereço IP que ele recebeu do servidor DHCP (diz-se atribuído pelo
servidor DHCP). Uma concessão está ativa quando ela está sendo
utilizada pelo cliente. Geralmente, o cliente precisa renovar sua
atribuição de concessão de endereço com o servidor antes que ela expire.
Uma concessão torna-se inativa quando ela expira ou é excluída no
servidor. A duração de uma concessão determina quando ela irá expirar e
com que freqüência o cliente precisa renová-la no servidor.
o Reserva: Você usa uma reserva para criar uma concessão de endereço
permanente pelo servidor DHCP. As reservas asseguram que um
dispositivo de hardware especificado na sub-rede sempre pode usar o
81
mesmo endereço IP. A reserva é criada associada ao endereço de
Hardware da placa de rede, conhecido como MAC-Address. No servidor
DHCP você cria uma reserva, associando um endereço IP com um
endereço MAC. Quando o computador (com o endereço MAC para o
qual existe uma reserva) é inicializado, ele entre em contato com o
servidor DHCP. O servidor DHCP verifica que existe uma reserva para
aquele MAC-Address e configura o computador com o endereço IP
associado ao Mac-address. Caso haja algum problema na placa de rede
do computador e a placa tenha que ser substituída, mudará o MAC-
Address e a reserva anterior terá que ser excluída e uma nova reserva terá
que ser criada, utilizando, agora, o novo Mac-Address.
o Tipos de opção: Tipos de opção são outros parâmetros de configuração
do cliente que um servidor DHCP pode atribuir aos clientes. Por
exemplo, algumas opções usadas com freqüência incluem endereços IP
para gateways padrão (roteadores), servidores WINS (Windows Internet
Name System) e servidores DNS (Domain Name System). Geralmente,
esses tipos de opção são ativados e configurados para cada escopo. O
console de Administração do serviço DHCP também permite a você
configurar tipos de opção padrão que são usados por todos os escopos
adicionados e configurados no servidor. A maioria das opção é
predefinida através da RFC 2132, mas você pode usar o console DHCP
para definir e adicionar tipos de opção personalizados, se necessário.
Como o DHCP funciona
O DHCP utiliza um modelo cliente/servidor. O administrador da rede instala e
configura um ou mais servidores DHCP. As informações de configuração – escopos de
endereços IP, reservas e outras opções de configuração – são mantidas no banco de
dados dos servidores DHCP. O banco de dados do servidor inclui os seguintes itens:
Parâmetros de configuração válidos para todos os cliente na rede (número IP do
Default Gateway, número IP de um ou mais servidores DNS e assim por diante).
Estas configurações podem ser diferentes para cada escopo.
Endereços IP válidos mantidos em um pool para serem atribuídos aos clientes
além de reservas de endereços IP.
Duração das concessões oferecidas pelo servidor. A concessão define o período
de tempo durante o qual o endereço IP atribuído pode ser utilizado pelo cliente.
Conforme mostrarei mais adiante, o cliente tenta renovar esta concessão em
períodos definidos, antes que a concessão expire.
Com um servidor DHCP instalado e configurado na rede, os clientes com DHCP podem
obter os endereços IP e os parâmetros de configuração relacionados, dinamicamente,
sempre que forem inicializados. Os servidores DHCP fornecem essa configuração na
forma de uma oferta de concessão de endereço para os clientes solicitantes.
Clientes suportados pelo DHCP
82
O termo Cliente é utilizado para descrever um computador ligado à rede e que obtém as
configurações do protocolo TCP/IP a partir de um servidor DHCP. Qualquer
computador com o Windows (qualquer versão) instalado ou outros dispositivos, capazes
de se comunicar com o servidor DHCP e obter as configurações do TCP/IP a partir do
servidor DHCP, é considerado um cliente DHCP.
Os clientes DHCP podem ser quaisquer clientes baseados no Microsoft Windows ou
outros clientes que oferecem suporte e são compatíveis com o comportamento do cliente
descrito no documento padrão de DHCP, que é a RFC 2132, publicado pela Internet
Engineering Task Force - IETF.
Exemplo prático: Configurando um cliente baseado no Windows para que seja um
cliente do DHCP: Para configurar um computador com o Windows 2000 para ser um
cliente DHCP, siga os passos indicados a seguir:
1. Faça o logon com a conta de Administrador ou com uma conta com permissão de
administrador.
2. Abra o Painel de controle: Iniciar -> Configurações -> Painel de controle.
3. Abra a opção Conexões dial-up e de rede.
4. Clique com o botão direito do mouse na conexão de rede local a ser configurada.
No menu de opções que é exibido clique em Propriedades.
5. Será exibida a janela de propriedades da conexão de rede local.
6. Clique na opção Protocolo Internet (TCP/IP) para selecioná-la. Clique no botão
Propriedades, para abrir a janela de propriedades do protocolo TCP/IP.
7. Nesta janela você pode configurar o endereço IP, a máscara de sub-rede e o
Gateway padrão, manualmente. Para isso basta marcar a opção Utilizar o seguinte
endereço IP e informar os endereços desejados.
8. Para configurar o computador para utilizar um servidor DHCP, para obter as
configurações do TCP/IP automaticamente, marque a opção Obter um endereço IP
automaticamente, conforme indicado na Figura a seguir. Marque também a opção
Obter o endereço dos servidores DNS automaticamente, para obter o endereço IP do
servidor DNS a partir das configurações fornecidas pelo DHCP.
83
Figura - Configurando o cliente para usar o DHCP.
9. Clique em OK para fechar a janela de propriedades do TCP/IP.
10. Você estará de volta à janela de propriedades da conexão de rede local.
11. Clique em OK para fechá-la e aplicar as alterações efetuadas. Ao clicar em OK, o
cliente DHCP já tentará se conectar com um servidor DHCP e obter as configurações do
protocolo TCP/IP, a partir do servidor DHCP.
O servidor DHCP dá suporte as seguintes versões do Windows (e do MS- DOS) com
clientes DHCP:
Windows Longhorn Server
Windows Vista
Windows Server 2003 (todas as edições)
Windows 2000 Server (todas as edições)
Windows XP Home e Professional
Windows NT (todas as versões lançadas)
Windows Me
Windows 98
Windows 95
Windows for Workgroups versão 3.11 (com o Microsoft 32 bit TCP/IP VxD
instalado)
Microsoft-Network Client versão 3.0 para MS-DOS (com o driver TCP/IP de
modo real instalado)
LAN Manager versão 2.2c
84
Um recurso de nome esquisito APIPA
APIPA é a abreviatura de Automatic Private IP Addressing. Esta é uma nova
funcionalidade que foi introduzida no Windows 98, está presente no Windows 2000,
Windows XP, Windows Vista, Longhorn Server e no Windows Server 2003. Imagine
um cliente com o protocolo TCP/IP instalado e configurado para obter as configurações
do protocolo TCP/IP a partir de um servidor DHCP. O cliente é inicializado, porém não
consegue se comunicar com um servidor DHCP. Neste situação, o Windows, usa o
recurso APIPA, e automaticamente atribui um endereço IP da rede
169.254.0.0/255.255.0.0. Este é um dos endereços especiais, reservados para uso em
redes internas, ou seja, este não seria um endereço de rede, válido na Internet. A seguir
descrevo mais detalhes sobre a funcionalidade APIPA.
Não esqueça: O número de rede usado pelo recurso APIPA é o seguinte:
169.254.0.0/255.255.0.0
Nota: O recurso APIPA é especialmente útil para o caso de uma pequena rede, com 4
ou 5 computadores, onde não existe um servidor disponível. Neste caso você pode
configurar todos os computadores para usarem o DHCP. Ao inicializar, os clientes não
conseguirão localizar um servidor DHCP (já que não existe nenhum servidor DHCP
nesta rede do nosso exemplo). Neste caso o recurso APIPA atribuirá endereços da rede
169.254.0.0/255.255.0.0 para todos os computadores da rede. O resultado final é que
todos ficam configurados com endereços IP da mesma rede e poderão se comunicar,
compartilhando recursos entre si. É uma boa solução para um rede doméstica ou de um
pequeno escritório.
Configuração automática do cliente
Se os clientes estiverem configurados para usar um servidor DHCP (em vez de serem
configurados manualmente com um endereço IP e outros parâmetros), o serviço do
cliente DHCP entrará em funcionamento a cada vez que o computador for inicializado.
O serviço do cliente DHCP usa um processo de três etapas para configurar o cliente
com um endereço IP e outras informações de configuração.
O cliente DHCP tenta localizar um servidor DHCP e obter as configurações do
protocolo TCP/IP, a partir desse servidor.
Se um servidor DHCP não puder ser encontrado, o cliente DHCP configura
automaticamente seu endereço IP e máscara de sub-rede usando um endereço
selecionado da rede classe B reservada, 169.254.0.0, com a máscara de sub-rede,
255.255.0.0 (recurso APIPA). O cliente DHCP irá fazer uma verificação na rede,
para ver se o endereço que ele está se auto-atribuindo (usando o recurso APIPA)
já não está em uso na rede. Se o endereço já estiver em uso será caracterizado
um conflito de endereços. Se um conflito for encontrado, o cliente selecionará
outro endereço IP. A cada conflito de endereço, o cliente irá tentar novamente a
configuração automática após 10 tentativas ou até que seja utilizado um
endereço que não gere conflito.
Depois de selecionar um endereço no intervalo de rede 169.254.0.0 que não está
em uso, o cliente DHCP irá configurar a interface com esse endereço. O cliente
85
continua a verificar se um servidor DHCP não está disponível. Esta verificação é
feita a cada cinco minutos. Se um servidor DHCP for encontrado, o cliente
abandonará as informações configuradas automaticamente (endereço da rede
169.254.0.0/255.255.0.0). Em seguida, o cliente DHCP usará um endereço
oferecido pelo servidor DHCP (e quaisquer outras informações de opções de
DHCP fornecidas) para atualizar as definições de configuração IP.
Caso o cliente DHCP já tenha obtido previamente uma concessão de um servidor DHCP
(durante uma inicialização anterior) e esta concessão ainda não tenha expirado, ocorrerá
a seguinte seqüência modificada de eventos, em relação a situação anterior:
Se a concessão de cliente ainda estiver válida (não expirada) no momento da
inicialização, o cliente irá tentar renovar a concessão com o servidor DHCP.
Se durante a tentativa de renovação o cliente não conseguir localizar qualquer
servidor DHCP, ele irá tentar efetuar o ping no gateway padrão que ele recebeu
do servidor DHCP anteriormente. Dependendo do sucesso ou falha do ping, o
cliente DHCP procederá conforme o seguinte:
1. Se um ping para o gateway padrão for bem-sucedido, o cliente DHCP presumirá
que ainda está localizado na mesma rede em que obteve a concessão atual e continuará a
usar a concessão. Por padrão, o cliente irá tentar renovar a concessão quando 50 por
cento do tempo de concessão tiver expirado.
2. Se uma solicitação de ping do gateway padrão falhar, o cliente presumirá que foi
movido para uma rede em que não estão disponíveis servidores DHCP, como uma rede
doméstica ou uma rede de uma pequena empresa, onde não está disponível servidor
DHCP (pode ser o exemplo de um vendedor conectando um notebook em um ponto da
rede de um pequeno cliente).
O cliente irá configurar automaticamente o endereço IP conforme descrito
anteriormente. Uma vez que configurado automaticamente, o cliente continua a tentar
localizar um servidor DHCP a cada cinco minutos e obter uma nova concessão de
endereço IP e de demais configurações.
Não esqueça: APIPA é isso. A sigla é mais complicada do que a funcionalidade. Se
você está se preparando para os exames de Certificação do Windows 2000 Server, fique
atento a esta funcionalidade. Normalmente aparecem questões envolvendo
conhecimentos desta funcionalidade.
Conclusão
Nesta parte do tutorial fiz a apresentação do serviço de configuração automática de
hosts TCP/IP: DHCP. Nas próximas partes deste tutorial, falarei sobre os demais
serviços do Windows 2000 Server e do Windows Server 2003, diretamente ligados ao
TCP/IP, tais como o WINS e RRAS.
86
Uma introdução ao WINs
Esta é a décima parte do Tutorial de TCP/IP. Na Parte 1 tratei dos aspectos básicos do
protocolo TCP/IP. Na Parte 2 falei sobre cálculos binários, um importante tópico para
entender sobre redes, máscara de sub-rede e roteamento. Na Parte 3 falei sobre Classes
de endereços, na Parte 4 fiz uma introdução ao roteamento e na Parte 5 apresentei mais
alguns exemplos e análises de como funciona o roteamento e na Parte 6 falei sobre a
Tabela de Roteamento. Na Parte 7 tratei sobre a divisão de uma rede em sub-redes,
conceito conhecido como subnetting. Na Parte 8 fiz uma apresentação de um dos
serviços mais utilizados pelo TCP/IP, que é o Domain Name System: DNS. O DNS é o
serviço de resolução de nomes usado em todas as redes TCP/IP, inclusive pela Internet
que, sem dúvidas, é a maior rede TCP/IP existente. Na Parte 9 fiz uma apresentação do
serviço Dynamic Host Configuration Protocol – DHCP. Nesta décima parte falarei
sobre mais um serviço de rede do Windows 2000 Server e Windows Server 2003:
WINS
O WINS é a abreviatura de Windows Internet Name Services. É um serviço de
resolução de nomes. Mais um? O DNS já não é um serviço de resolução de nomes? Sim
para as duas questões. O WINS é mais um serviço de resolução de nomes, que é
mantido por questões de compatibilidade com versões anteriores do Windows (95, 98,
Me, 3.11) e de compatibilidade com aplicações mais antigas, que ainda dependam da
resolução de nomes NetBios, a qual é feita pelo WINS.
Todo computador tem dois nomes: um chamado nome de hosts e um nome NetBios.
Claro que estes nomes devem ser iguais. Por exemplo, o computador
micro01.abc.com.br tem um nome de host micro01 e, por coerência, o nome NetBios
também deve ser micro01. Eu digo deve ser, porque em clientes mais antigos, tais como
o Windows 95, Windows 98 ou Windows Me, o nome de host e o nome NetBios são
configurados em diferentes opções do Windows e podem ser diferentes, embora não
seja nada coerente configurar nomes diferentes.
O WINS é um serviço que permite que os clientes façam o registro do nome NetBios,
dinamicamente durante a inicialização. O cliente registra o seu nome NetBios e o
respectivo endereço IP. Com isso o WINS vai criando uma base de nomes NetBios e os
respectivos endereços IP, podendo fornecer o serviço de resolução de nomes NetBios na
rede.
Conforme você verá nesta introdução, o WINS apresenta um espaço de nomes chamado
plano (flat), sem domínio e sem nenhuma hierarquia (muito diferente do que acontece
no DNS, onde temos um espaço de nomes hierárquico, conforme descrito na Parte 9
deste tutorial).
Entendendo o que é e como funciona o WINS
O Windows Internet Name Service – WINS é um serviço para resolução de nomes.
Mais um, pode perguntar o amigo leitor. Sim, além do DNS o Windows 2000 Server (a
exemplo do Windows Server 2003 e do NT Server 4.0) também fornece mais um
serviço para resolução de nomes – WINS.
87
O WINS tem muitas diferenças em relação ao DNS. A primeira e fundamental delas é
que o WINS não forma um espaço de nomes hierárquico como o DNS. O espaço de
nomes do WINS é plano (flat).
Em uma base de dados WINS fica registrado apenas o nome NetBios do computador e o
respectivo número IP. Poderíamos até dizer que o WINS está para a resolução de nomes
NetBios, assim como o DNS está para a resolução de nomes FQDN (descritos na Parte
9).
A grande questão que continua é: ―Porque dois serviços diferentes para a resolução de
nomes‖? O que acontece é que até o NT Server 4.0, o WINS era o serviço de resolução
de nomes mais utilizado e o suporte ao DNS só será obrigatório se algum serviço
dependesse do DNS. Na época do NT Server 4.0, com a maioria dos clientes baseados
em Windows 95/98 (ou até mesmo Windows 3.11), o WINS era o serviço de nomes
mais utilizado. Porém a partir do Windows 2000 Server, com o Active Directory, o
DNS passou a ser o serviço preferencial para a resolução de nomes (e obrigatório para o
caso do Active Directory).
Porém da mudança do WINS para o DNS, obviamente que existe um período de
transição. É exatamente este período que estamos vivendo, ou seja, com clientes
(Windows 95/98/Me) e aplicativos que ainda dependem do WINS. Por isso que, muito
provavelmente, você ainda precisará do WINS para dar suporte a estes clientes e
aplicativos mais antigos, ainda dependentes do WINS.
Com o WINS, sempre que um cliente configurado para utilizar um servidor WINS, é
inicializado, o cliente, automaticamente, registra o seu nome NetBios e o respectivo
endereço IP, na base de dados do servidor configurado como Wins Primário, nas
propriedades do TCP/IP do cliente. Os nomes NetBios podem ter até 15 caracteres. Na
verdade são 16 caracteres, mas o décimo sexto é reservado para uso do sistema
operacional. O Windows 2000 Server registra, para um mesmo computador, o nome
NetBios mais de uma vez, apenas mudando o décimo sexto caractere. Este caractere
indica um serviço específico no computador. Falarei mais sobre estes nomes logo
adiante.
Algumas características do WINS
O WINS apresenta as seguintes características:
Um banco de dados dinâmico de nomes NetBios para endereço IP, o qual
fornece o suporte para resolução e registro do nome NetBios dos computadores
da rede. O serviço WINS é instalado em um ou mais servidores da rede. O
número IP do servidor WINS deve ser informado nos clientes, quer seja
configurando manualmente as propriedades do protocolo TCP/IP do cliente,
quer seja através do uso do DHCP para efetuar estas configurações.
Gerenciamento centralizado do banco de dados de nome para endereço,
minorando a necessidade de gerenciamento de arquivos Lmhosts. O arquivo
Lmhosts é um arquivo de texto, na qual podem ser criadas entradas para
resolução de nomes NetBios. O arquivo Lmhosts fica na pasta
systemroot\system32\drivers\etc., onde systemroot representa a pasta onde está
88
instalado o Windows 2000 Server, Windows XP ou Windows Server 2003.
Podemos dizer que o Lmhosts representa para o WINS, o mesmo que o arquivo
hosts representa para o DNS. Na verdade, na pasta indicada anteriormente, é
gravado, por padrão, um arquivo chamado Lmhosts.sam. O administrador, caso
necessite utilizar um arquivo Lmhosts, pode renomear este arquivo (de
Lmhosts.sam para Lmhosts) e criar as entradas necessárias.
O uso do WINS fornece Redução de tráfego de broadcast, gerado para a
resolução de nome NetBios. Se os clientes dependentes do WINS, não estiverem
configurados com o número IP de pelo menos um servidor WINS, eles irão
gerar tráfego de Broadcast na rede local, para tentar resolver nomes. Por padrão
os roteadores bloqueiam tráfego de broadcast. Com isso, sem o uso do WINS,
para clientes que dependem do WINS, não haveria como fazer a resolução de
nomes de servidores que estão em outras redes (redes remotas, ligadas através de
links de WAN e roteadores). Através do mecanismo de replicação, é possível
manter vários servidores WINS, em diferentes redes, com o mesmo banco de
dados, com informações de todos os computadores da rede, mediante o uso de
replicação.
É possível integrar o WINS com o DNS, para que o WINS possa responder
consultas às quais o DNS não conseguiu responder.
Como saber se ainda devo utilizar o WINS?
Pode parecer que o WINS tem muitas vantagens, então deve realmente ser utilizado.
Não é bem assim. Só é justificado o uso do WINS se houver versões antigas do
Windows (Windows 3.11, Windows 95, Windows 98 ou Windows Me) ou aplicações
que dependam do WINS. Neste item vou detalhar um pouco mais sobre em que
situações você ainda terá que utilizar o WINS.
Antes de mostrar quando você deve utilizar, vou descrever algumas situações em que,
com certeza, você não precisará utilizar o WINS:
A sua rede é baseada apenas em servidores como Windows 2000 Server ou
Windows Server 2003 e os clientes são baseados no Windows 2000
Professional, Windows XP Professional ou Windows Vista. Com uma rede nesta
situação, com certeza o DNS está instalado e funcionando. Nesta situação não
existe nenhuma dependência do WINS para a resolução de nomes, uma vez que
o DNS atende perfeitamente a necessidade de resolução de nomes no cenário
proposto.
Se você tem uma pequena rede, com até 20 computadores, localizados em um
único escritório, e a rede é utilizada para compartilhamento de arquivos,
impressoras e para aplicações, não é necessário o uso do WINS. Mesmo que
alguns clientes ou aplicações necessitem de resolução de nome NetBios, poderão
fazê-lo, sem problemas, usando broadcast. Devido ao pequeno número de
computadores, o tráfego de broadcast, devido à resolução de nomes NetBios não
representará um problema.
Ao decidir se precisa usar o WINS, você deve primeiro considerar as seguintes
questões:
89
Tenho computadores na rede que exigem o uso de nomes de NetBIOS? Lembre
que todos os computadores em rede que estiverem sendo executados com um
sistema operacional da Microsoft antigo, como as versões do MS-DOS,
Windows 95/98 ou Windows NT 3.51/4.0, exigem suporte a nomes de NetBIOS.
O Windows 2000 é o primeiro sistema operacional da Microsoft que não requer
mais a nomeação de NetBIOS. Portanto, os nomes de NetBIOS ainda podem ser
exigidos na rede para fornecer serviços de compartilhamento de arquivo e
impressão básicos e para oferecer suporte a diversas aplicações existentes, as
quais ainda dependam da resolução de nomes NetBios. Por exemplo, um cliente
baseado no Windows 95, depende do nome NetBios do servidor, para poder
acessar uma pasta compartilhada no servidor. Você não conseguirá usar o nome
DNS do servidor, como por exemplo: \\srv01.abc.com\documentos, em clientes
com versões antigas do Windows, conforme as descritas no início deste
parágrafo. Nestes clientes você tem que usar o nome NetBios do servidor, como
por exemplo: \\srv01\documentos.
Todos os computadores na rede estão configurados e são capazes de oferecer
suporte ao uso de outro tipo de nomeação de rede, como por exemplo o DNS
(Domain Name System, sistema de nomes de domínios)? A nomeação de rede é
um serviço vital para a localização de computadores e recursos por toda a rede,
mesmo quando os nomes NetBIOS não sejam exigidos. Antes de decidir
eliminar o suporte a nomes de NetBIOS ou WINS, certifique-se de que todos os
computadores e programas na rede são capazes de funcionar usando outro
serviço de nomes, como o DNS. Nesta etapa é muito importante que você tenha
um inventário de software atualizado. Com o inventário de software você tem
condição de saber quais programas ainda dependem da resolução de nomes
NetBios.
Os clientes WINS que estejam executando sob o Windows 2000, Windows Server 2003
ou Windows XP Professional, são configurados por padrão para usar primeiro o DNS
para resolver nomes com mais de 15 caracteres ou que utilizem pontos (".") dentro do
nome. Para nomes com menos de 15 caracteres e que não utilizem pontos, o Windows
primeira tenta resolver o nome usando WINS (se este estiver configurado), caso o
WINS venha a falhar, o DNS será utilizado na tentativa de resolver o nome.
Clientes suportados pelo WINS
O WINS é suportado por uma grande variedade de clientes, conforme descrito na lista a
seguir:
Windows Server 2003
Windows 2000
Windows NT 3.5 ou superior
Windows 95/98/Me
Windows for Workgroups 3.11
MS-DOS com Cliente de Rede Microsoft versão 3
MS-DOS com LAN Manager versão 2.2c
Clientes Linux e UNIX, rodando o serviço Samba
90
Nota: É possível criar entradas estáticas no WINS (criadas manualmente), para clientes
não suportados pelo WINS. Porém esta não é uma prática recomendada e somente deve
ser utilizada quando for absolutamente necessária.
Não esqueça: Fique atento a este ponto, ou seja, criação de entradas estáticas. Por
exemplo, se você tem clientes antigos, como o Windows 95 ou Windows 98, que
precisam acessar recursos em um servidor UNIX ou Linux, o qual não pode ser cliente
do WINS, ou seja, não é capaz de registrar seu nome no WINS, o que fazer? Neste caso
você deve criar uma entrada estática no WINS, para o nome do servidor UNIX ou Linux
e o respectivo endereço IP. Com isso, os clientes mais antigos poderão acessar os
recursos do servidor UNIX.
Como funciona o WINS
Os servidores WINS mantém uma base de dados com nomes dos clientes configurados
para utilizar o WINS e os respectivos endereços IP. Quando uma estação de trabalho
configurada para utilizar o WINS é inicializada, ela registra o seu nome NetBios e o seu
endereço IP no banco de dados do servidor WINS. A estação de trabalho utiliza o
servidor WINS, cujo endereço IP está configurado como WINS Primário, nas
propriedades do protocolo TCP/IP (quer estas configurações tenham sido feitas
manualmente ou via DHCP. Para informações detalhadas sobre o DHCP, consulte a
Parte 9 deste tutorial). Quando o cliente é desligado, o registro do nome e do endereço
IP é liberado no servidor WINS. Com isso a base de dados do WINS é criada e mantida,
dinamicamente.
Os nomes NetBios podem ter, no máximo 15 caracteres. Um 16º caractere é registrado
pelo serviço WINS. Este caractere adicional é utilizado para indicar um determinado
tipo de serviço. Por exemplo, um servidor pode ter o seu nome registrado no WINS
várias vezes. O que diferencia um registro do outro é o 16º caractere, o qual indica
diferentes serviços. O 16º caractere está no formato de número Hexadecimal. A seguir,
a título de exemplo, alguns dos valores possíveis para o 16º caractere e o respectivo
significado:
nome_de_domínio[1Bh]: Registrado por cada controlador de domínio do
Windows NT Server 4.0 que esteja executando como PDC (Primary Domain
Controller) do respectivo domínio. Esse registro de nome é usado para permitir a
procura remota de domínios. Quando um servidor WINS é consultado para
obtenção desse nome, ele retorna o endereço IP do computador que registrou o
nome.
nome_de_computador[1Fh]: Registrado pelo serviço Network Dynamic Data
Exchange (NetDDE, intercâmbio dinâmico de dados de rede). Ele aparecerá
somente se os serviços NetDDE forem iniciados no computador.
Você pode exibir a lista de nomes (na verdade o mesmo nome, apenas diferenciando o
16º caractere) registrados para um determinado computador, utilizando o seguinte
comando:
nbtstat –a nome_do_computador
91
Por exemplo, o comando a seguir retorna a lista de nomes registrados no WINS, pelo
computador chamado servidor:
nbtstat –a servidor
Este comando retorna o resultado indicado a seguir:
C:\>nbtstat -a servidor
Local Area Connection:
Node IpAddress: [10.10.20.50] Scope Id: []
NetBIOS Remote Machine Name Table
Name Type Status
-------------------------------------------
SERVIDOR <00> UNIQUE Registered
SERVIDOR <20> UNIQUE Registered
GROZA <00> GROUP Registered
GROZA <1C> GROUP Registered
GROZA <1B> UNIQUE Registered
GROZA <1E> GROUP Registered
SERVIDOR <03> UNIQUE Registered
GROZA <1D> UNIQUE Registered
..__MSBROWSE__. <01> GROUP Registered
INet~Services <1C> GROUP Registered
IS~SERVIDOR.... <00> UNIQUE Registered
ADMINISTRADOR <03> UNIQUE Registered
MAC Address = 00-00-21-CE-01-11
Para que as estações de trabalho da rede possam utilizar o servidor WINS, basta
informar o número IP do servidor WINS nas propriedades avançadas do protocolo
TCP/IP da estação de trabalho. Uma vez configurado com o número IP do servidor
WINS, o cliente, durante a inicialização, registra o seu nome NetBios, automaticamente
com o servidor WINS.
O cliente WINS utiliza diferentes métodos para a resolução de nomes NetBios. Estes
diferentes métodos são identificados como: b-node, p-node, m-node e h-node. A seguir
descrevo a diferença entre estes métodos:
b-node: Um cliente configurado com este método de resolução utiliza somente
broadcast para a resolução de nomes NetBios. Se não houver um servidor WINS
na rede ou o servidor WINS não estiver configurado nas propriedades avançadas
do TCP/IP, este é o método padrão utilizado.
p-node: Utiliza somente o servidor WINS. Se o WINS falhar em resolver o
nome, o cliente não tentará outro método.
92
m-node: Utiliza primeiro broadcast, se não conseguir resolver o nome usando
broadcast, então utiliza o servidor WINS.
h-node: Primeiro utiliza o servidor WINS, somente se o WINS falhar é que será
tentado o broadcast. Este método reduz o tráfego de broadcast na rede. É o
método padrão para clientes configurados para utilizar um servidor WINS.
Conclusão
Nesta parte do tutorial fiz a apresentação do serviço WINS. Nas próximas partes deste
tutorial, falarei sobre os demais serviços do Windows 2000 Server e do Windows
Server 2003, diretamente ligados ao TCP/IP, tais como o RRAS e IPSec.
93
TCP , UDP e Portas de Comunicação
Esta é a décima primeira parte do Tutorial de TCP/IP. Na Parte 1 tratei dos aspectos
básicos do protocolo TCP/IP. Na Parte 2 falei sobre cálculos binários, um importante
tópico para entender sobre redes, máscara de sub-rede e roteamento. Na Parte 3 falei
sobre Classes de endereços, na Parte 4 fiz uma introdução ao roteamento e na Parte 5
apresentei mais alguns exemplos e análises de como funciona o roteamento e na Parte 6
falei sobre a Tabela de Roteamento. Na Parte 7 tratei sobre a divisão de uma rede em
sub-redes, conceito conhecido como subnetting. Na Parte 8 fiz uma apresentação de um
dos serviços mais utilizados pelo TCP/IP, que é o Domain Name System: DNS. O DNS
é o serviço de resolução de nomes usado em todas as redes TCP/IP, inclusive pela
Internet que, sem dúvidas, é a maior rede TCP/IP existente. Na Parte 9 fiz uma
introdução ao serviço Dynamic Host Configuration Protocol – DHCP. Na Parte 10 fiz
uma introdução ao serviço Windows Internet Name Services – WINS. Nesta décima
primeira parte falarei sobre o conceito de portas de comunicação.
Um pouco sobre Pacotes e sobre os protocolos de Transporte
O TCP/IP, na verdade, é formado por um grande conjunto de diferentes protocolos e
serviços de rede. O nome TCP/IP deriva dos dois protocolos mais importantes e mais
utilizados, que são os seguintes:
IP: É um protocolo de endereçamento, um protocolo de rede. Eu me arriscaria a
afirmar que as principais funções do protocolo IP são endereçamento e
roteamento, ou de uma maneira mais simples, fornecer uma maneira para
identificar unicamente cada máquina da rede (endereço IP) e uma maneira de
encontrar um caminho entre a origem e o destino (Roteamento).
TCP: O TCP é um protocolo de transporte e executa importantes funções para
garantir que os dados sejam entregues de uma maneira confiável, ou seja, sem
que os dados sejam corrompidos ou alterados.
Vamos imaginar uma situação prática, onde você deseja enviar um arquivo com cerca
de 10 MB de um computador de origem para um computador de destino. Uma das
primeiras coisas que tem que ser feitas é encontrar uma rota, um caminho entre a origem
e o destino. Este é o papel do protocolo IP, mais especificamente da função de
roteamento. Uma vez encontrado o caminho, o próximo passo é dividir o arquivo de 10
MB em pacotes de tamanhos menores, os quais possam ser enviados pelos
equipamentos da rede. Além da divisão em pacotes menores, o TCP/IP tem que garantir
que os pacotes sejam entregues sem erros e sem alterações. Pode também acontecer de
os pacotes chegarem fora de ordem. O TCP/IP tem que ser capaz de identificar a ordem
correta e entregar os pacotes para o programa de destino, na ordem correta. Por
exemplo, pode acontecer de o pacote número 10 chegar antes do pacote número 9.
Neste caso o TCP tem que aguardar a chegada do pacote número 9 e entregá-los na
ordem correta. Pode também acontecer de serem perdidos pacotes durante o transporte.
Neste caso, o TCP tem que informar à origem de que determinado pacote não foi
recebido no tempo esperado e solicitar que este seja retransmitido. Todas estas funções
– garantir a integridade, a seqüência correta e solicitar retransmissão – são exercidas
pelo protocolo TCP – Transmission Control Protocol. Além do TCP existe também o
94
UDP, o qual não faz todas estas verificações e é utilizado por determinados serviços. A
seguir apresento uma descrição dos protocolos TCP e UDP e um estudo comparativo.
TCP – Uma Visão Geral
O Transmission Control Protocol (TCP) é, sem dúvidas, um dos mais importantes
protocolos da família TCP/IP. É um padrão definido na RFC 793, "Transmission
Control Protocol (TCP)", que fornece um serviço de entrega de pacotes confiável e
orientado por conexão. Ser orientado por conexão, significa que todos os aplicativos
baseados em TCP como protocolo de transporte, antes de iniciar a troca de dados,
precisam estabelecer uma conexão. Na conexão são fornecidas, normalmente,
informações de logon, as quais identificam o usuário que está tentando estabelecer a
conexão. Um exemplo típico são os aplicativos de FTP (Cute – FTP, ES-FTP e assim
por diante). Para que você acesse um servidor de FTP, você deve fornecer um nome de
usuário e senha. Estes dados são utilizados para identificar e autenticar o usuário. Após
a identificação e autenticação, será estabelecida uma sessão entre o cliente de FTP e o
servidor de FTP.
Algumas características do TCP:
Garante a entrega de datagramas IP: Esta talvez seja a principal função do
TCP, ou seja, garantir que os pacotes sejam entregues sem alterações, sem terem
sido corrompidos e na ordem correta. O TCP tem uma série de mecanismos para
garantir esta entrega.
Executa a segmentação e reagrupamento de grandes blocos de dados
enviados pelos programas e Garante o seqüenciamento adequado e entrega
ordenada de dados segmentados: Esta característica refere-se a função de
dividir grandes arquivos em pacotes menores e transmitir cada pacote
separadamente. Os pacotes podem ser enviados por caminhos diferentes e
chegar fora de ordem. O TCP tem mecanismos para garantir que, no destino, os
pacotes sejam ordenados corretamente, antes de serem entregues ao programa de
destino.
Verifica a integridade dos dados transmitidos usando cálculos de soma de
verificação: O TCP faz verificações para garantir que os dados não foram
alterados ou corrompidos durante o transporte entre a origem e o destino.
Envia mensagens positivas dependendo do recebimento bem-sucedido dos
dados. Ao usar confirmações seletivas, também são enviadas confirmações
negativas para os dados que não foram recebidos: No destino, o TCP recebe
os pacotes, verifica se estão OK e, em caso afirmativo, envia uma mensagem
para a origem, confirmando cada pacote que foi recebido corretamente. Caso um
pacote não tenha sido recebido ou tenha sido recebido com problemas, o TCP
envia uma mensagem ao computador de origem, solicitando uma retransmissão
do pacote. Com esse mecanismo, apenas pacotes com problemas terão que ser
reenviados, o que reduz o tráfego na rede e agiliza o envio dos pacotes.
Oferece um método preferencial de transporte de programas que devem
usar transmissão confiável de dados baseada em sessões, como bancos de
95
dados cliente/servidor e programas de correio eletrônico: Ou seja, o TCP é
muito mais confiável do que o UDP (conforme mostrarei mais adiante) e é
indicado para programas e serviços que dependam de uma entrega confiável de
dados.
Funcionamento do TCP
O TCP baseia-se na comunicação ponto a ponto entre dois hosts de rede. O TCP recebe
os dados de programas e processa esses dados como um fluxo de bytes. Os bytes são
agrupados em segmentos que o TCP numera e seqüência para entrega. Estes segmentos
são mais conhecidos como ―Pacotes‖.
Antes que dois hosts TCP possam trocar dados, devem primeiro estabelecer uma sessão
entre si. Uma sessão TCP é inicializada através de um processo conhecido como um
tree-way handshake (algo como Um Aperto de Mão Triplo). Esse processo sincroniza
os números de seqüência e oferece informações de controle necessárias para estabelecer
uma conexão virtual entre os dois hosts.
De uma maneira simplificada, o processo de tree-way handshake, pode ser descrito
através dos seguintes passos:
O computador de origem solicita o estabelecimento de uma sessão com o
computador de destino: Por exemplo, você utiliza um programa de FTP
(origem) para estabelecer uma sessão com um servidor de FTP (destino).
O computador de destino recebe a requisição, verifica as credenciais enviadas
(tais como as informações de logon e senha) e envia de volta para o cliente,
informações que serão utilizadas pelo cliente, para estabelecer efetivamente a
sessão. As informações enviadas nesta etapa são importantes, pois é através
destas informações que o servidor irá identificar o cliente e liberar ou não o
acesso.
O computador de origem recebe as informações de confirmação enviadas pelo
servidor e envia estas confirmações de volta ao servidor. O servidor recebe as
informações, verifica que elas estão corretas e estabelece a sessão. A partir deste
momento, origem e destino estão autenticados e aptos a trocar informações
usando o protocolo TCP. Se por algum motivo, as informações enviadas pela
origem não estiverem corretas, a sessão não será estabelecida e uma mensagem
de erro será enviada de volta ao computador de origem.
Depois de concluído o tree-way handshake inicial, os segmentos são enviados e
confirmados de forma seqüencial entre os hosts remetente e destinatário. Um processo
de handshake semelhante é usado pelo TCP antes de fechar a conexão para verificar se
os dois hosts acabaram de enviar e receber todos os dados.
Os segmentos TCP são encapsulados e enviados em datagramas IP, conforme
apresentado na figura a seguir, obtida na ajuda do Windows 2000 Server:
96
O conceito de Portas TCP
Os programas TCP usam números de porta reservados ou conhecidos, conforme
apresentado na seguinte ilustração, da ajuda do Windows 2000 Server:
O que é uma Porta TCP?
Bem, sem entrar em detalhes técnicos do TCP/IP, vou explicar, através de um exemplo
prático, o conceito de porta. Vamos imaginar um usuário, utilizando um computador
com conexão à Internet. Este usuário, pode, ao mesmo tempo, acessar um ou mais sites
da Internet, usar o Outlook Express para ler suas mensagens de email, estar conectado a
um servidor de FTP, usando um programa como o WS-FTP, para fazer download de um
ou mais arquivos, estar jogando DOOM através da Internet e assim por diante.
Todas as informações que este usuário recebe estão chegando através de pacotes que
chegam até a placa de Modem ou até o Modem ADSL, no caso de uma conexão rápida.
A pergunta que naturalmente surge é:
Como o sistema sabe para qual dos programas se destina cada um dos pacotes que estão
chegando no computador?
Por exemplo, chega um determinado pacote. Este pacote é para uma das janelas do
Navegador, é para o cliente de FTP, é um comando do DOOM, é referente a uma
mensagem de email ou quem é o destinatário deste pacote? A resposta para esta questão
é o mecanismo de portas utilizado pelo TCP/IP. Cada programa trabalha com um
protocolo/serviço específico, ao qual está associado um número de porta. Por exemplo,
o serviço de FTP, normalmente opera na porta 21 (na verdade usa duas portas, uma para
controle e outra para o envio de dados). Todo pacote que for enviado do servidor FTP
para o cliente, terá, além dos dados que estão sendo enviados, uma série de dados de
controle, tais como o número do pacote, código de validação dos dados e também o
97
número da porta. Quando o pacote chega no seu computador, o sistema lê no pacote o
número da porta e sabe para quem encaminhar o pacote. Por exemplo, se você está
utilizando um cliente de FTP para fazer um download, os pacotes que chegarem, com
informação de Porta = 21, serão encaminhados para o cliente de FTP, o qual irá ler o
pacote e dar o destino apropriado. Outro exemplo, o protocolo HTTP, utilizado para o
transporte de informações de um servidor Web até o seu navegador, opera, por padrão,
na porta 80. Os pacotes que chegarem, destinados à porta 80, serão encaminhados para
o navegador. Se houver mais de uma janela do navegador aberta, cada uma acessando
diferentes páginas, o sistema inclui informações, além da porta, capazes de identificar
cada janela individualmente. Com isso, quando chega um pacote para a porta 80, o
sistema identifica para qual das janelas do navegador se destina o referido pacote.
Em resumo: O uso do conceito de portas, permite que vários programas estejam em
funcionamento, ao mesmo tempo, no mesmo computador, trocando informações com
um ou mais serviços/servidores.
O lado do servidor de cada programa que usa portas TCP escuta as mensagens que
chegam no seu número de porta conhecido. Todos os números de porta de servidor TCP
menores que 1.024 (e alguns números mais altos) são reservados e registrados pela
Internet Assigned Numbers Authority (IANA, autoridade de números atribuídos da
Internet). Por exemplo, o serviço HTTP (servidor Web), instalado em um servidor, fica
sempre ―escutando‖ os pacotes que chegam ao servidor. Os pacotes destinados a porta
80, serão encaminhados pelo sistema operacional para processamento do servidor Web.
A tabela a seguir é uma lista parcial de algumas portas de servidor TCP conhecidas
usadas por programas baseados em TCP padrão.
Número de porta TCP Descrição
20 Servidor FTP (File Transfer Protocol, protocolo de
transferência de arquivo) (canal de dados)
21 Servidor FTP (canal de controle)
23 Servidor Telnet
53 Transferências de zona DNS (Domain Name System,
sistema de nomes de domínios)
80 Servidor da Web (HTTP, Hypertext Transfer Protocol,
protocolo de transferência de hipertexto)
139 Serviço de sessão de NetBIOS
Para obter uma lista atualizada e completa de todas as portas TCP conhecidas e
registradas atualmente, consulte o seguinte endereço:
http://www.iana.org/assignments/port-numbers
UDP – Uma Visão Geral
O User Datagram Protocol (UDP) é um padrão TCP/IP e está definido pela RFC 768,
"User Datagram Protocol (UDP)." O UDP é usado por alguns programas em vez de
TCP para o transporte rápido de dados entre hosts TCP/IP. Porém o UDP não fornece
garantia de entrega e nem verificação de dados. De uma maneira simples, dizemos que o
98
protocolo UDP manda os dados para o destino; se vai chegar ou se vai chegar
corretamente, sem erros, só Deus sabe. Pode parecer estranho esta característica do
UPD, porém você verá que em determinadas situações, o fato de o UDP ser muito mais
rápido do que o TCP (por não fazer verificações e por não estabelecer sessões), o uso do
UDP é recomendado.
O protocolo UDP fornece um serviço de pacotes sem conexão que oferece entrega com
base no melhor esforço, ou seja, UDP não garante a entrega ou verifica o
seqüenciamento para qualquer pacote. Um host de origem que precise de comunicação
confiável deve usar TCP ou um programa que ofereça seus próprios serviços de
seqüenciamento e confirmação.
As mensagens UDP são encapsuladas e enviadas em datagramas IP, conforme
apresentado na seguinte ilustração, da ajuda do Windows 2000 Server:
Portas UDP
O conceito de porta UDP é idêntico ao conceito de portas TCP, embora tecnicamente,
existam diferenças na maneira como as portas são utilizadas em cada protocolo. A idéia
é a mesma, por exemplo, se um usuário estiver utilizando vários programas baseados
em UDP, ao mesmo tempo, no seu computador, é através do uso de portas, que o
sistema operacional sabe a qual programa se destina cada pacote UDP que chega.
O lado do servidor de cada programa que usa UDP escuta as mensagens que chegam no
seu número de porta conhecido. Todos os números de porta de servidor UDP menores
que 1.024 (e alguns números mais altos) são reservados e registrados pela Internet
Assigned Numbers Authority (IANA, autoridade de números atribuídos da Internet).
Cada porta de servidor UDP é identificada por um número de porta reservado ou
conhecido. A tabela a seguir mostra uma lista parcial de algumas portas de servidor
UDP conhecidas usadas por programas baseados em UDP padrão.
Número de porta UDP Descrição
53 Consultas de nomes DNS (Domain Name System, sistema de
nomes de domínios)
69 Trivial File Transfer Protocol (TFTP)
137 Serviço de nomes de NetBIOS
138 Serviço de datagrama de NetBIOS
161 Simple Network Management Protocol (SNMP)
99
520 Routing Information Protocol (RIP, protocolo de informações
de roteamento)
Para obter uma lista atualizada e completa de todas as portas TCP conhecidas e
registradas atualmente, consulte o seguinte endereço:
http://www.iana.org/assignments/port-numbers
Comparando UDP e TCP:
Geralmente, as diferenças na maneira como UDP e TCP entregam os dados
assemelham-se às diferenças entre um telefonema e um cartão postal. O TCP funciona
como um telefonema, verificando se o destino está disponível e pronto para a
comunicação. O UDP funciona como um cartão postal — as mensagens são pequenas e
a entrega é provável, mas nem sempre garantida.
UDP é geralmente usado por programas que transmitem pequenas quantidades de dados
ao mesmo tempo ou têm necessidades em tempo real. Nessas situações, a baixa
sobrecarga do UDP (pois este não faz as verificações que são feitas pela TCP) e as
capacidades de broadcast do UDP (por exemplo, um datagrama, vários destinatários)
são mais adequadas do que o TCP.
O UDP contrasta diretamente com os serviços e recursos oferecidos por TCP. A tabela a
seguir compara as diferenças em como a comunicação TCP/IP é tratada dependendo do
uso de UDP ou TCP para o transporte de dados.
UDP TCP
Serviço sem conexão; nenhuma sessão é
estabelecida entre os hosts.
Serviço orientado por conexão; uma sessão é
estabelecida entre os hosts.
UDP não garante ou confirma a entrega ou
seqüência os dados.
TCP garante a entrega através do uso de
confirmações e entrega seqüenciada dos
dados.
Os programas que usam UDP são
responsáveis por oferecer a confiabilidade
necessária ao transporte de dados.
Os programas que usam TCP têm garantia de
transporte confiável de dados.
UDP é rápido, necessita de baixa sobrecarga
e pode oferecer suporte à comunicação ponto
a ponto e ponto a vários pontos.
TCP é mais lento, necessita de maior
sobrecarga e pode oferecer suporte apenas à
comunicação ponto a ponto.
Tanto UDP quanto TCP usam portas para identificar as comunicações para cada
programa TCP/IP, conforme descrito anteriormente.
Conclusão Nesta parte do tutorial fiz uma apresentação dos protocolos TCP e UDP, os
quais são responsáveis pelo transporte de pacotes em redes baseadas no TCP/IP. Você
também aprendeu sobre as diferenças entre os protocolos TCP e UDP e sobre o conceito
de porta de comunicação.
100
Portas de Comunicação na Prática
Esta é a décima segunda parte do Tutorial de TCP/IP. Na Parte 1 tratei dos aspectos
básicos do protocolo TCP/IP. Na Parte 2 falei sobre cálculos binários, um importante
tópico para entender sobre redes, máscara de sub-rede e roteamento. Na Parte 3 falei
sobre Classes de endereços, na Parte 4 fiz uma introdução ao roteamento e na Parte 5
apresentei mais alguns exemplos e análises de como funciona o roteamento. Na Parte 6
falei sobre a Tabela de Roteamento. Na Parte 7 tratei sobre a divisão de uma rede em
sub-redes, conceito conhecido como subnetting. Na Parte 8 fiz uma apresentação de um
dos serviços mais utilizados pelo TCP/IP, que é o Domain Name System: DNS. O DNS
é o serviço de resolução de nomes usado em todas as redes TCP/IP, inclusive pela
Internet que, sem dúvidas, é a maior rede TCP/IP existente. Na Parte 9 fiz uma
introdução ao serviço Dynamic Host Configuration Protocol – DHCP. Na Parte 10 fiz
uma introdução ao serviço Windows Internet Name Services – WINS. Na Parte 11 falei
sobre os protocolos TCP, UDP e sobre portas de comunicação. Nesta décima segunda
parte, mostrarei como são efetuadas as configurações de portas em diversos aplicativos
que você utiliza e os comandos do Windows 2000/XP/2003 utilizados para exibir
informações sobre portas de comunicação.
Exemplos de utilização de portas
Embora provavelmente você nunca tenha notado, você utiliza portas de comunicação
diversas vezes, como por exemplo ao acessar o seu email, ao fazer um download de um
arquivo ou ao acessar uma página na Internet.
Quando você acessa um site na Internet, como por exemplo www.juliobattisti.com.br ou
www.certificacoes.com.br ou www.uol.com.br, o navegador que você está utilizando se
comunica com a porta 80 no servidor HTTP, do site que está sendo acessado. Você nem
fica sabendo que está sendo utilizada a porta 80, pois esta é a porta padrão de
comunicação, para o protocolo HTTP (Hypertext Transfer Protocol). Um detalhe
interessante é que não é obrigatório que seja utilizada a porta padrão número 80, para a
comunicação do HTTP. Por exemplo, o Administrador do IIS – Internet Information
Services, que é o servidor Web da Microsoft, pode configurar um site para ―responder‖
em uma porta diferente da Porta 80, conforme exemplo da Figura a seguir, onde o site
foi configurado para responder na porta 470:
Quando for utilizada uma porta diferente da porta padrão 80, o número da porta deve ser
informada após o endereço, colocando o sinal de dois pontos (:) após o endereço e o
número da porta após o sinal de dois pontos, como no exemplo a seguir:
101
http://www.abc.com.br:470
Outro exemplo do dia-a-dia, onde utilizamos o conceito de portas de comunicação, é
quando você utiliza um cliente de FTP para se conectar a um servidor de FTP e fazer o
download de um ou mais arquivos. Ao criar uma nova conexão de FTP, você deve
informar o nome do servidor (ftp.abc.com.br, ftp.123.com.br, ftp.juliobattisti.com.br e
assim por diante) e definir a porta de comunicação. Os principais clientes de FTP, já
sugerem como padrão a porta 21, a qual é utilizada pelo protocolo FTP. No exemplo da
figura a seguir, mostro uma tela do cliente de FTP Cute FTP, o qual é um dos mais
utilizados. Nesta figura, mostro as configurações para conexão com o meu servidor de
ftp, onde é utilizada a porta 21:
Outro uso muito comum nas redes da sua empresa é a criação de sessões de programas
emuladores de terminal com sistemas que rodam no Mainframe da empresa. Apesar de
terem anunciado a morte do Mainframe há algum tempo atrás, o fato é que o Mainframe
continua mais vivo do que nunca e com grande parte dos sistemas empresariais ainda
rodando no Mainframe.
A próxima figura descreve, resumidamente, como funciona a criação de seções, usando
um software emulador de terminal, para acessar sistemas no Mainframe. Nas estações
de trabalho da rede da empresa, é instalado um programa emulador de terminal. Estes
programas, na maioria das vezes, emulam terminais no padrão TN23270. Este é um
padrão da IBM muito utilizado para acesso à aplicações que estão no Mainframe. O
programa emulador de terminal faz a conexão com o Mainframe, o usuário informa o
seu logon e senha e, de acordo com as permissões atribuídas ao logon do usuário, são
disponibilizados um ou mais sistemas. Quando o usuário vai criar uma sessão com o
Mainframe, ele precisa informar o nome ou o número IP do Mainframe. Normalmente
estas seções são feitas com base no serviço de Telnet (Terminal Emulator Link Over
Network), o qual é baseado na porta de comunicação 23.
102
Na Figura a seguir, mostro o uso de um software emulador de terminal, no momento em
que está sendo configurada uma nova seção, a qual será estabelecida via Telnet,
utilizando a porta 23:
Estas são apenas três situações bastante comuns – acessar a Internet, fazer download de
arquivos a partir de um servidor FTP e criar uma sessão com o Mainframe, - utilizados
diariamente por usuários das redes de empresas de todo o mundo, onde são utilizados,
na prática, o conceito de Portas de Comunicação, do TCP/IP, conceito este que foi
discutido na Parte 11 deste tutorial. A seguir apresentarei alguns comandos do Windows
2000/XP/2003, os quais exibem informações sobre as portas de comunicação que estão
sendo utilizadas no seu computador. Se você não está conectado à rede de uma empresa,
poderá utilizar estes comandos quando você estiver conectado á Internet, situação onde,
certamente, estarão sendo utilizadas portas de comunicação.
103
O comando netstat – exibindo informações sobre portas
O comando netstat está disponível no Windows 2000, Windows XP e Windows Server
2003. Este comando exibe estatísticas do protocolo TCP/IP e as conexões atuais da rede
TCP/IP. O comando netstat somente está disponível se o protocolo TCP/IP estiver
instalado. A seguir apresento alguns exemplos de utilização do comando netstat e das
opções de linha de comando disponíveis.
netstat –a: O comando netstat com a opção –a Exibe todas as portas de
conexões e de escuta. Conexões de servidor normalmente não são mostradas. Ou
seja, o comando mostra as portas de comunicação que estão na escuta, isto é,
que estão aptas a se comunicar. Na listagem a seguir mostro um exemplo do
resultado da execução do comando netstat –a, em um computador com o nome
micro01. O estado LISTENING significa, esperando, na escuta, ou seja,
aceitando conexões na referida porta. O estado ESTABLISHED significa que
existe uma conexão ativa na respectiva porta:
Conexões ativas
Proto Endere‡o local Endere‡o externo Estado
TCP MICRO01:epmap MICRO01.abc.com:0 LISTENING
TCP MICRO01:microsoft-ds MICRO01.abc.com:0 LISTENING
TCP MICRO01:1046 MICRO01.abc.com:0 LISTENING
TCP MICRO01:1051 MICRO01.abc.com:0 LISTENING
TCP MICRO01:1058 MICRO01.abc.com:0 LISTENING
TCP MICRO01:1097 MICRO01.abc.com:0 LISTENING
TCP MICRO01:1595 MICRO01.abc.com:0 LISTENING
TCP MICRO01:2176 MICRO01.abc.com:0 LISTENING
TCP MICRO01:2178 MICRO01.abc.com:0 LISTENING
TCP MICRO01:2216 MICRO01.abc.com:0 LISTENING
TCP MICRO01:2694 MICRO01.abc.com:0 LISTENING
TCP MICRO01:2706 MICRO01.abc.com:0 LISTENING
TCP MICRO01:3236 MICRO01.abc.com:0 LISTENING
TCP MICRO01:3279 MICRO01.abc.com:0 LISTENING
TCP MICRO01:3282 MICRO01.abc.com:0 LISTENING
TCP MICRO01:3285 MICRO01.abc.com:0 LISTENING
TCP MICRO01:3302 MICRO01.abc.com:0 LISTENING
TCP MICRO01:3322 MICRO01.abc.com:0 LISTENING
TCP MICRO01:3335 MICRO01.abc.com:0 LISTENING
TCP MICRO01:3336 MICRO01.abc.com:0 LISTENING
TCP MICRO01:3691 MICRO01.abc.com:0 LISTENING
TCP MICRO01:4818 MICRO01.abc.com:0 LISTENING
TCP MICRO01:4820 MICRO01.abc.com:0 LISTENING
TCP MICRO01:4824 MICRO01.abc.com:0 LISTENING
TCP MICRO01:4829 MICRO01.abc.com:0 LISTENING
TCP MICRO01:6780 MICRO01.abc.com:0 LISTENING
TCP MICRO01:6787 MICRO01.abc.com:0 LISTENING
TCP MICRO01:9495 MICRO01.abc.com:0 LISTENING
TCP MICRO01:42510 MICRO01.abc.com:0 LISTENING
TCP MICRO01:netbios-ssn MICRO01.abc.com:0 LISTENING
TCP MICRO01:microsoft-ds MICRO02:1352 ESTABLISHED
TCP MICRO01:1595 SERVIDOR02:microsoft-ds ESTABLISHED
TCP MICRO01:2694 SERVIDOR02:microsoft-ds ESTABLISHED
TCP MICRO01:2706 SERVIDOR03:1352 ESTABLISHED
TCP MICRO01:3236 SERVFILES01:microsoft-ds ESTABLISHED
TCP MICRO01:3279 EMAILSERVER:microsoft-ds ESTABLISHED
TCP MICRO01:3282 EMAILSERVER:microsoft-ds ESTABLISHED
104
TCP MICRO01:3285 EMAILSERVER:microsoft-ds ESTABLISHED
TCP MICRO01:3323 DRFSTMSRV22:1352 TIME_WAIT
TCP MICRO01:3335 66.139.77.16:http CLOSE_WAIT
TCP MICRO01:3336 66.139.77.16:http CLOSE_WAIT
TCP MICRO01:3691 SRV01:microsoft-ds ESTABLISHED
TCP MICRO01:4200 MICRO01.abc.com:0 LISTENING
TCP MICRO01:4829 a209-249-123-
216.deploy.akamaitechnologies.com:https CLOSE_WAIT
UDP MICRO01:microsoft-ds *:*
UDP MICRO01:1027 *:*
UDP MICRO01:1042 *:*
UDP MICRO01:1403 *:*
UDP MICRO01:3632 *:*
UDP MICRO01:3636 *:*
UDP MICRO01:38037 *:*
UDP MICRO01:38293 *:*
UDP MICRO01:netbios-ns *:*
UDP MICRO01:netbios-dgm *:*
UDP MICRO01:isakmp *:*
UDP MICRO01:42508 *:*
UDP MICRO01:1186 *:*
UDP MICRO01:3212 *:*
UDP MICRO01:3221 *:*
UDP MICRO01:3555 *:*
netstat –e: Esta opção exibe estatísticas sobre a interface Ethernet do
computador. A interface Ethernet é, normalmente, a placa de rede local, que
conecta o computador a rede da empresa. Esta opção pode ser combinada com a
opção –s, que será descrita mais adiante. A seguir um exemplo da execução do
comando netstat –e:
netstat –n: Exibe endereços e números de porta em forma numérica (em vez de
tentar pesquisar o nome). A seguir um exemplo da execução do comando netstat
–n:
105
netstat –s: Exibe estatística por protocolo. Por padrão, são mostradas estatísticas
para TCP, UDP, ICMP (Internet Control Message Protocol, protocolo de acesso
às mensagens de Internet) e IP. A opção -p pode ser utilizada para especificar
um ou mais protocolos para os quais devem ser exibidas estatísticas. A seguir
um exemplo da execução do comando netstat –n:
Estatísticas de IP
Pacotes recebidos = 1847793
Erros de cabeçalho recebidos = 0
Erros de endereço recebidos = 772
Datagramas encaminhados = 0
Protocolos desconhecidos recebidos = 0
Pacotes recebidos descartados = 0
Pacotes recebidos entregues = 1847244
Solicitações de saída = 2702298
Descartes de roteamento = 0
Pacotes de saída descartados = 0
Pacote de saída sem rota = 0
Reagrupamento necess rio = 82
Reagrupamento bem-sucedido = 41
Falhas de reagrupamento = 0
Datagramas fragmentados c/êxito = 15
Falhas/ fragmentação de datagramas = 0
Fragmentos criados = 30
Estatísticas de ICMP
Recebidos Enviados
Mensagens 2767 4037
Erros 0 0
Destino inatingível 18 1280
Tempo excedido 0 0
Problemas de parâmetro 0 0
Retardamentos de origem 4 0
Redirecionamentos 0 0
Echos 1134 1623
Respostas de eco 1611 1134
Carimbos de data/hora 0 0
Respostas de carimbos de data/hora 0 0
Mascaras de endereço 0 0
Respostas mascaras end. 0 0
Estatísticas de TCP
Abertos ativos = 14052
Abertos passivos = 175
Falha em tentativas de conexão = 493
Conexões redefinidas = 3563
Conexões atuais = 5
Segmentos recebidos = 1679289
Segmentos enviados = 2576364
Segmentos retransmitidos = 2841
Estatísticas de UDP
Datagramas recebidos = 159044
Nenhuma porta = 7777
106
Erros de recebimento = 0
Datagramas enviados = 119031
netstat –p: Mostra conexões para o protocolo especificado por protocolo, que
pode ser tcp ou udp. Se utilizado com a opção -s para exibir estatísticas por
protocolo, protocolo pode ser tcp, udp, icmp ou ip. . A seguir um exemplo da
execução do comando netstat –p, onde são exibidas informações somente sobre
o protocolo ip: netstat –s –p ip:
netstat –r: Exibe o conteúdo da tabela de roteamento do computador. Exibe os
mesmos resultados do comando route print, discutido em uma das primeiras
partes deste tutorial.
A opção intervalo: Você pode definir um intervalo, dentro do qual as
estatísticas geradas pelo comando netstat serão atualizadas. Por exemplo, você
pode definir que sejam exibidas as estatísticas do protocolo ICMP e que estas
sejam atualizadas de cinco em cinco segundos. Ao especificar um intervalo, o
comando ficará executando, indefinidamente e atualizando as estatísticas, dentro
do intervalo definido. Para suspender a execução do comando, basta pressionar
Ctrl+C. O comando a seguir irá exibir as estatísticas do protocolo IP e irá
atualizá-las a cada 10 segundos:
netstat –s –p ip 10
Conclusão
Na Parte 11 do tutorial fiz uma apresentação dos protocolos TCP e UDP, os quais são
responsáveis pelo transporte de pacotes em redes baseadas no TCP/IP. Você também
aprendeu sobre as diferenças entre os protocolos TCP e UDP e sobre o conceito de porta
de comunicação.
107
Protocolos de Roteamento Dinâmico - RIP
Introdução:
Esta é a décima quarta parte do Tutorial de TCP/IP. Na Parte 1 tratei dos aspectos
básicos do protocolo TCP/IP. Na Parte 2 falei sobre cálculos binários, um importante
tópico para entender sobre redes, máscara de sub-rede e roteamento. Na Parte 3 falei
sobre Classes de endereços, na Parte 4 fiz uma introdução ao roteamento e na Parte 5
apresentei mais alguns exemplos e análises de como funciona o roteamento e na Parte 6
falei sobre a Tabela de Roteamento. Na Parte 7 tratei sobre a divisão de uma rede em
sub-redes, conceito conhecido como subnetting. Na Parte 8 fiz uma apresentação de um
dos serviços mais utilizados pelo TCP/IP, que é o Domain Name System: DNS. O DNS
é o serviço de resolução de nomes usado em todas as redes TCP/IP, inclusive pela
Internet que, sem dúvidas, é a maior rede TCP/IP existente. Na Parte 9 fiz uma
introdução ao serviço Dynamic Host Configuration Protocol – DHCP. Na Parte 10 fiz
uma introdução ao serviço Windows Internet Name Services – WINS. Na Parte 11 falei
sobre os protocolos TCP, UDP e sobre portas de comunicação. Parte 12, mostrei como
são efetuadas as configurações de portas em diversos aplicativos que você utiliza e os
comandos do Windows 2000/XP/2003 utilizados para exibir informações sobre portas
de comunicação. Na Parte 13 você aprendeu sobre a instalação e configuração do
protocolo TCP/IP no Windows 2000 Professional ou Server. Apresentei, em detalhes, a
configuração do protocolo TCP/IP no Windows 2000. Mostrei como fazer as
configurações do protocolo TCP/IP, desde as configurações básicas de número IP e
máscara de sub-rede (em computadores que usarão IP fixo, ao invés de obter as
configurações a partir de um servidor DHCP), até configurações mais avançadas, tais
como definir filtros para o protocolo TCP/IP.
Nas Partes 4, 5 e 6 falei sobre Roteamento e sobre como todo o processo de roteamento
é baseado em Tabelas de Roteamento, existentes em cada roteador da rede. As tabelas
de roteamento podem ser criadas e atualizadas manualmente, onde o administrador de
cada roteador executa comandos para criar cada uma das rotas necessárias. Essa
abordagem só é possível para redes extremamente pequenas, com um número de rotas
pequeno e quando as rotas não mudam muito freqüentemente. Para redes maiores, a
única abordagem possível é o uso dos chamados protocolos de Roteamento dinâmico.
Estes protocolos, uma vez instalados e configurados nos roteadores, permitem que os
roteadores troquem informações entre si, periodicamente e que montem as tabelas de
roteamento, dinamicamente, com base nestas informações. Esta abordagem é bem mais
indicada para grandes redes, pois os próprios protocolos de roteamento dinâmicos, se
encarregam de manter as tabelas de roteamento sempre atualizadas, alterando rotas
quando necessário e excluindo rotas que apresentam problemas, tais como rotas onde o
link de comunicação está fora do ar. Nesta parte do tutorial de TCP/IP, iniciarei a
apresentação dos protocolos de roteamento dinâmico, sendo que iremos concentrar
nossos estudos, nos dois principais protocolos:
RIP – Routing Internet Protocol
OSPF – Open Shorted Path First
Vou apresentar os conceitos básicos de cada protocolo, para que o amigo leitor possa ter
uma boa idéia de como é o funcionamento de cada um destes protocolos.
108
RIP – Routing Internet Protocol
Existem diferentes maneiras para criar as tabelas de roteamento. A primeira maneira é
criar as tabelas manualmente. O administrador utiliza comandos (como o comando route
add no Windows 2000 Server) para adicionar cada rota manualmente, em cada roteador
da rede. Este método somente é indicado para pequenas redes, onde existe um pequeno
número de roteadores, com poucas rotas e rotas que não são alteradas freqüentemente.
Para redes maiores, com muitas rotas e muitos roteadores, este método é simplesmente
impraticável. A simples adição de uma nova rota, exigiria a alteração das tabelas de
roteamento em todos os roteadores da rede.
Outro problema com a criação manual das tabelas de roteamento, é que não existe a
detecção automática de perda de rotas quando um roteador fica indisponível ou quando
um link para uma determinada rota, está com problemas. Nestas situações, os demais
roteadores da rede continuarão a encaminhar pacotes para o roteador com problemas ou
através do link que está fora do ar, porque a tabela de roteamento está configurada para
enviar pacotes para a referida rota, quer ela esteja disponível ou não. Nesta caso uma
simples indisponibilidade de um roteador exigiria uma reconfiguração manual em todas
as tabelas de roteamento, de todos os roteadores da rede. Quando o roteador voltar a
estar disponível, uma nova reconfiguração das tabelas de roteamento teria que ser feita.
Com estes exemplos é possível ver que a configuração manual das tabelas de
roteamento é um método que somente se aplica a pequenas redes, com um número
reduzido de roteadores e de rotas.
Outra maneira de criar as tabelas de roteamento é dinamicamente. Com este método, os
roteadores trocam informações entre si, periodicamente e atualizam suas tabelas de
roteamento, com base nestas informações trocadas entre os roteadores. O método
dinâmico exige bem menos manutenção (intervenção manual dos administradores da
rede) e pode ser utilizado em grandes redes, como por exemplo a Internet. A atualização
dinâmica das tabelas de roteamento é possível graças a utilização de protocolos de
roteamento dinâmicos. Os protocolos mais conhecidos, para a criação automática de
tabelas de roteamento são os seguintes:
Routing Information Protocol (RIP)
Open Shortest Path First (OSPF)
Nota: Se você encontrar estes protocolos traduzidos, em algum livro ou revista, no
mínimo, faça um ―biquinho‖ para quem traduziu. Eu já vi uma maravilha de tradução
para OSPF: Abrindo primeiro o caminho mais curto. Deus nos ajude. Tudo a ver com
roteamento.
Com o uso dos protocolos de roteamento dinâmico, os roteadores trocam
informações entre si, periodicamente e “aprendem” sobre a rede e sobre as rotas
disponíveis.
Ou seja, os roteadores vão ―descobrindo‖ as rotas existentes e gravando estas rotas em
suas tabelas de roteamento. Se um roteador ficar off-line, em pouco tempo os demais
roteadores ―saberão‖ que este roteador está off-line e atualizarão, automaticamente, suas
tabelas de roteamento. Com isso cada roteador aprende novos caminhos, já
109
considerando a indisponibilidade do roteador com problemas, e repassam estas
informações para os demais roteadores. Esta possibilidade não existe quando as tabelas
são criadas manualmente, conforme descrito anteriormente.
Evidentemente que para redes maiores, a única alternativa viável é o uso de um dos
protocolos de roteamento dinâmico, ou até mesmo uma combinação de ambos,
conforme descreverei mais adiante.
Como funcionam os protocolos de roteamento dinâmico
O protocolo RIP é baseado em uma algoritmo conhecido como distance-vector
(distância vetorial). Este algoritmo é baseado na distância entre dois roteadores, sendo
que esta ―distância‖ é medida em termos do número de roteadores existentes no
caminho entre os dois roteadores – também conhecido como hopes. Já o protocolo
OSPF utiliza um algoritmo baseado em propagação de rotas entre roteadores
denominados como adjacentes (veja o conceito de formação de adjacências na Parte
15), conforme descreverei mais adiante. As principais diferenças entre os protocolos
RIP e OSPF são referentes as seguintes características:
Quais informações sobre rotas são compartilhadas entre os roteadores. Quando
um roteador apresenta problemas, a rede deve ser capaz de reconfigura-se, para
definir novas rotas, já baseadas na nova topologia da rede, sem o roteador com
problemas. O tempo que a rede leva para reconfigura-se é conhecido como
convergência. Um dos principais problemas do protocolo RIP é o alto tempo de
convergência em relação ao OSPF, que tem um tempo de convergência bem
menor.
Como as informações sobre rotas e sobre a topologia da rede são compartilhadas
entre os roteadores: Este aspecto também influencia o tempo de convergência da
rede e apresenta diferenças significativas no RIP e no OSPF.
A seguir apresento mais detalhes sobre o protocolo RIP. O protocolo OSPF será
abordado na Parte 15
RIP - Routing Information Protocol
Neste tópico você entenderá como funciona o RIP, como as informações são trocadas
entre os roteadores que usam RIP, quais as diferenças entre RIP versão 1 (RIP v1) e RIP
versão 2 (RIP v2) e como configurar o RIP no RRAS.
Uma introdução ao RIP
O protocolo RIP é baseado em uma troca de mensagens entre os roteadores que utilizam
o protocolo RIP. Cada mensagem do RIP contém uma série de informações sobre as
rotas que o roteador conhece (com base na sua tabela de roteamento atual) e a distância
do roteador para cada uma das rotas. O roteador que recebe as mensagens, com base na
sua distância para o roteador que enviou a mensagem, calcula a distância para as demais
redes e grava estas informações em sua tabela de roteamento. É importante salientar que
distância significa hope, ou melhor, o número de roteadores existentes em um
determinado caminho, em uma determinada rota.
110
As informações entre roteadores são trocadas quando o roteador é inicializado, quando
o roteador recebe atualizações em sua tabela de roteamento e também em intervalos
regulares. Aqui a primeira desvantagem do RIP. Mesmo que não exista nenhuma
alteração nas rotas da rede, os roteadores baseados em RIP, continuarão a trocar
mensagens de atualização em intervalos regulares, por padrão a cada 30 segundos.
Dentre outros, este é um dos motivos pelos quais o RIP não é indicado para redes
maiores, pois nestas situações o volume de tráfego gerado pelo RIP, poderia consumir
boa parte da banda disponível. O RIP é projetado para intercambiar informações de
roteamento em uma rede de tamanho pequeno para médio. Além disso, cada mensagem
do protocolo RIP comporta, no máximo, informações sobre 25 rotas diferentes, o que
para grandes redes, faria com que fosse necessária a troca de várias mensagens, entre
dois roteadores, para atualizar suas respectivas tabelas, com um grande número de rotas.
Ao receber atualizações, o roteador atualiza a sua tabela de roteamento e envia estas
atualizações para todos os roteadores diretamente conectados, ou seja, a um hope de
distância.
A maior vantagem do RIP é que ele é extremamente simples para configurar e
implementar em uma rede. Sua maior desvantagem é a incapacidade de ser ampliado
para interconexões de redes de tamanho grande a muito grande.
A contagem máxima de hopes usada pelos roteadores RIP é 15. As redes que estejam a
16 hopes ou mais de distância, serão consideradas inacessíveis. À medida que as redes
crescem em tamanho, os anúncios periódicos de cada roteador RIP podem causar
tráfego excessivo nos links de WAN.
Outra desvantagem do RIP é o seu longo tempo de convergência. Quando a topologia
de interconexão da rede é alterada (por queda em um link ou por falha em um roteador,
dentre outros motivos), podem ser necessários vários minutos para que os roteadores
RIP se reconfigurem, para refletir a nova topologia de interconexão da rede. Embora a
rede seja capaz de fazer a sua própria reconfiguração, podem ser formados loops de
roteamento que resultem em dados perdidos ou sem condições de entrega.
Inicialmente, a tabela de roteamento de cada roteador inclui apenas as redes que estão
fisicamente conectadas. Um roteador RIP envia periodicamente anúncios contendo suas
entradas de tabela de roteamento para informar aos outros roteadores RIP locais, quais
as redes que ele pode acessar.
Os roteadores RIP também podem comunicar informações de roteamento através de
disparo de atualizações. Os disparos de atualizações ocorrem quando a topologia da
rede é alterada e informações de roteamento atualizadas são enviadas de forma a refletir
essas alterações. Com os disparos de atualizações, a atualização é enviada
imediatamente em vez de aguardar o próximo anúncio periódico. Por exemplo, quando
um roteador detecta uma falha em um link ou roteador, ele atualiza sua própria tabela de
roteamento e envia rotas atualizadas imediatamente. Cada roteador que recebe as
atualizações por disparo, modifica sua própria tabela de roteamento e propaga a
alteração imediatamente.
Conforme já salientado anteriormente, uma das principais desvantagens do algoritmo
distance-vector do RIP é o alto tempo de convergência. Ou seja, quando um link ou um
111
roteador fica indisponível, demora alguns minutos até que as atualizações de rotas sejam
passadas para todos os roteadores. Durante este período pode acontecer de roteadores
enviarem pacotes para rotas que não estejam disponíveis. Este é um dos principais
motivos pelos quais o RIP não pode ser utilizado em redes de grande porte.
O problema do Count-to-infinity:
Outro problema do protocolo RIP é a situação descrita como count-to-infinity (contar
até o infinito). Para entender este problema vamos imaginar dois roteadores conectados
através de um link de WAN. Vamos chamá-los de roteador A e B, conectando as redes
1, 2 e 3, conforme diagrama da Figura a seguir:
Figura 8.1 O problema count-to-infinity.
Agora imagine que o link entre o roteador A e a Rede 1 apresente problemas. Com isso
o roteador A sabe que não é possível alcançar a Rede 1 (devido a falha no link). Porém
o Roteador B continua anunciando para o restante da rede, que ele encontra-se a dois
hopes da rede A (isso porque o Roteador B ainda não teve sua tabela de roteamento
atualizada com a informação de que o link para a Rede 1 está indisponível). O Roteador
B manda este anúncio, inclusive para o roteador A.
O roteador A recebe esta atualização e considera que ele (o Roteador A) está agora a 3
hopes da Rede 1 (um hope de distância até o Roteador B + dois hopes de distância do
roteador B até a rede 1. Ele não sabe que o caminho do Roteador B para a rede 1, passa
por ele mesmo, ou seja, pelo Roteador A). Com isso volta a informação para o Roteador
B dizendo que o Roteador A está a 3 hopes de distância. O Roteador B atualiza a sua
tabela, considerando agora que ele está a 4 hopes da Rede 1 (um hope até o roteador A
+ 3 hopes que o roteador A está da rede 1, segundo o último anúncio). E este processo
continua até que o limite de 16 hopes seja atingido. Observe que mesmo com um link
com problema, o protocolo RIP não convergiu e continuou anunciando rotas
incorretamente, até atingir uma contagem de 16 hopes (que em termos do RIP significa
o infinito, inalcançável).
O problema do count-to-infinity é um dos mais graves com o uso do RIP Versão 1,
conhecido apenas como RIP v1. O Windows 200 Server e o Windows Server 2003 dão
suporte também ao RIP v2, o qual apresenta algumas modificações no protocolo, as
quais evitam, ou pelo menos minimizam problemas como o loops de roteamento e
count-to-infinity:
112
Split horizon (horizonte dividido): Com esta técnica o roteador registra a
interface através da qual recebeu informações sobre uma rota e não difunde
informações sobre esta rota, através desta mesma interface. No nosso exemplo, o
Roteador B receberia informações sobre a rota para a rede 1, a partir do
Roteador B, logo o Roteador A não iria enviar informações sobre Rotas para a
rede 1, de volta para o Roteador B. Com isso já seria evitado o problema do
count-to-infinity. Em outras palavras, esta característica pode ser resumida
assim: Eu aprendi sobre uma rota para a rede X através de você, logo você não
pode aprender sobre uma rota para a rede X, através de minhas informações.
Split horizon with poison reverse (Inversão danificada): Nesta técnica,
quando um roteador aprende o caminho para uma determinada rede, ele anuncia
o seu caminho, de volta para esta rede, com um hope de 16. No exemplo da
Figura anterior, o Roteador B, recebe a informação do Roteador A, que a rede 1
está a 1 hope de distância. O Roteador B anuncia para o roteador A, que a rede 1
está a 16 hope de distância. Com isso, jamais o Roteador A vai tentar achar um
caminha para a rede 1, através do Roteador B, o que faz sentido, já que o
Roteador A está diretamente conectado à rede 1.
Triggered updates (Atualizações instantâneas): Com esta técnica os
roteadores podem anunciar mudanças na métrica de uma rota imediatamente,
sem esperar o próximo período de anuncio. Neste caso, redes que se tornem
indisponíveis, podem ser anunciadas imediatamente com um hope de 16, ou
seja, indisponível. Esta técnica é utilizada em combinação com a técnica de
inversão danificada, para tentar diminuir o tempo de convergência da rede, em
situações onde houve indisponibilidade de um roteador ou de um link. Esta
técnica diminui o tempo necessário para convergência da rede, porém gera mais
tráfego na rede.
Um estudo comparativo entre RIP v1 e RIP v2
O protocolo RIP v1 apresenta diversos problemas, sendo que os principais são os
destacados a seguir:
O protocolo RIP v1 usa broadcast para fazer anúncios na rede: Com isto,
todos os hosts da rede receberão os pacotes RIP e não somente os hosts
habilitados ao RIP. Uma contrapartida do uso do Broadcast pelo protocolo RIP
v1, é que isso torna possível o uso dos chamados hosts de RIP Silencioso (Silent
RIP). Um computador configurado para ser um Silent RIP, processa os anúncios
do protocolo RIP (ou seja, reconhece os pacotes enviados pelo RIP e é capaz de
processá-los), mas não anuncia suas próprias rotas. Esta funcionalidade pode ser
habilitada em um computador que não esteja configurado como roteador, para
produzir uma tabela de roteamento detalhada da rede, a partir das informações
obtidas pelo processamento dos pacotes do RIP. Com estas informações
detalhadas, o computador configurado como Salient RIP pode tomar melhores
decisões de roteamento, para os programas e serviços nele instalados. No
exemplo a seguir, mostro como habilitar uma estação de trabalho com o
Windows 2000 Professional instalado, a tornar-se um Salient RIP.
Exemplo: Para configurar uma estação de trabalho com o Windows 2000 Professional
instalado, como Salient RIP, siga os passos indicados a seguir:
113
1. Faça o logon como Administrador.
2. Abra o Painel de controle: Iniciar -> Configurações -> Painel de controle.
3. Abra a opção Adicionar ou remover programas.
4. No painel da esquerda, clique em Adicionar ou remover componentes do Windows.
5. Clique na opção Serviços de rede para marcá-la (sem selecionar a caixa de seleção ao
lado desta opção, senão todos os serviços de rede serão instalados).
6. Clique no botão Detalhes...
7. Nas opções que são exibidas marque a opção RIP Listener.
8. Clique em OK. Você estará de volta a janela de componentes do Windows.
9. Clique em Avançar para concluir a instalação.
A máscara de sub-rede não é anunciada juntamente com as rotas: Isso
porque o protocolo RIP v1 foi projetado em 1988, para trabalhar com redes
baseadas nas classes padrão A, B e C, ou seja, pelo número IP da rota, deduzia-
as a respectiva classe. Com o uso da Internet e o uso de um número variável de
bits para a máscara de sub-rede (número diferente do número de bits padrão para
cada classe, conforme descrito na Parte 7), esta fato tornou-se um problema sério
do protocolo RIP v1. Com isso, o protocolo RIP v1, utiliza a seguinte lógica,
para inferir qual a máscara de sub-rede associada com determinada rota:
1. Se a identificação de rede coincide com uma das classes padrão A, B ou C, é
assumida a máscara de sub-rede padrão da respectiva classe.
2. Se a identificação de rede não coincide com uma das classes padrão, duas situações
podem acontecer:
2.1 Se a identificação de rede coincide com a identificação de rede da interface na qual
o anúncio foi recebido, a máscara de sub-rede da interface na qual o anúncio foi
recebido, será assumida.
2.2 Se a identificação de rede não coincide com a identificação de rede da interface na
qual o anúncio foi recebido, o destino será considerado um host (e não uma rede) e a
máscara de sub-rede 255.255.255.255, será assumida.
Esta abordagem gera problemas graves. Por exemplo, quando for utilizado o recurso de
supernetting, para juntar várias redes classe C em uma única rede lógica, o RIP v1 irá
interpretar como se fossem realmente várias redes lógicas e tentará montar uma tabela
de roteamento, como se as redes estivessem separadas fisicamente e ligadas por links de
WAN.
Sem proteção contra roteadores não autorizados: O protocolo RIP v1 não
apresenta nenhum mecanismo de autenticação e proteção, para evitar que
114
roteadores não autorizados possam ser inseridos na rede e passar a anunciar
várias rotas falsas. Ou seja, qualquer usuário poderá instalar um roteador com
RIP v1 e adicionar várias rotas falsas, que o RIP v1 se encarregará de repassar
estas rotas para os demais roteadores da rede.
O protocolo RIP v2, oferece diversas melhorias em relação ao RIP v1, dentre as
quais vamos destacar as seguintes:
Os anúncios do protocolo RIP v2 são baseados em tráfego multicast e não
mais broadcast como no caso do protocolo RIP v1: O protocolo RIP v2 utiliza
o endereço de multicast 224.0.0.9. Com isso os roteadores habilitados ao RIP
atuam como se fossem (na verdade é) um grupo multicast, registrado para
―escutar‖ os anúncios do protocolo RIP v2. Outros hosts da rede, não habilitados
ao RIP v2, não serão ―importunados‖ pelos pacotes do RIP v2. Por questões de
compatibilidade (em casos onde parte da rede ainda usa o RIP v1), é possível
utilizar broadcast com roteadores baseados em RIP v2. Mas esta solução
somente deve ser adotada durante um período de migração, assim que possível,
todos os roteadores devem ser migrados para o RIP v2 e o anúncio via broadcast
deve ser desabilitado.
Informações sobre a máscara de sub-rede são enviadas nos anúncios do
protocolo RIP v2: Com isso o RIP v2 pode ser utilizado, sem problemas, em
redes que utilizam subnetting, supernetting e assim por diante, uma vez que cada
rede fica perfeitamente definida pelo número da rede e pela respectiva máscara
de sub-rede.
Segurança, autenticação e proteção contra a utilização de roteadores não
autorizados: Com o RIP v2 é possível implementar um mecanismo de
autenticação, de tal maneira que os roteadores somente aceitem os anúncios de
roteadores autenticados, isto é, identificados. A autenticação pode ser
configurada através da definição de uma senha ou de mecanismos mais
sofisticados como o MD5 (Message Digest 5). Por exemplo, com a autenticação
por senha, quando um roteador envia um anúncio, ele envia juntamente a senha
de autenticação. Outros roteadores da rede, que recebem o anúncio, verificam se
a senha está OK e somente depois da verificação, alimentam suas tabelas de
roteamento com as informações recebidas.
É importante salientar que tanto redes baseadas no RIP v1 quanto no RIP v2 são redes
chamadas planas (flat). Ou seja, não é possível formar uma hierarquia de roteamento,
baseada no protocolo RIP. Por isso que o RIP não é utilizado em grandes redes. A
tendência natural do RIP, é que todos os roteadores sejam alimentados com todas as
rotas possíveis (isto é um espaço plano, sem hierarquia de roteadores). Imagine como
seria utilizar o RIP em uma rede como a Internet, com milhões e milhões de rotas
possíveis, com links caindo e voltando a todo o momento? Impossível. Por isso que o
uso do RIP (v1 ou v2) somente é indicado para pequenas redes.
Conclusão
Nas Partes 4, 5 e 6 falei sobre Roteamento e sobre como todo o processo de roteamento
é baseado em Tabelas de Roteamento, existentes em cada roteador da rede. As tabelas
115
de roteamento podem ser criadas manualmente, onde o administrador de cada roteador
executa comandos para criar cada uma das rotas necessárias. Essa abordagem só é
possível para redes extremamente pequenas, com um número de rotas pequeno e
quando as rotas não mudam muito freqüentemente. Para redes maiores, a única
abordagem possível é o uso dos chamados protocolos de Roteamento dinâmico.
Estes protocolos, uma vez instalados e configurados nos roteadores, permitem que os
roteadores troquem informações entre si, periodicamente e que montem as tabelas de
roteamento, dinamicamente, com base nestas informações. Esta abordagem é bem mais
indicada para grandes redes, pois os próprios protocolos de roteamento dinâmicos, se
encarregam de manter as tabelas de roteamento sempre atualizadas, alterando rotas
quando necessário e excluindo rotas que apresentam problemas, tais como rotas onde o
link de comunicação está fora do ar. Nesta parte do tutorial de TCP/IP, iniciei a
apresentação dos protocolos de roteamento dinâmico, sendo que nesta e nas próximas
partes do tutorial, iremos concentrar nossos estudos, nos dois principais protocolos:
RIP – Routing Internet Protocol
OSPF – Open Shorted Path First
116
Protocolos de Roteamento Dinâmico - OSPF
Introdução:
Esta é a décima quinta parte do tutorial de TCP/IP. Na Parte 1 tratei dos aspectos
básicos do protocolo TCP/IP. Na Parte 2 falei sobre cálculos binários, um importante
tópico para entender sobre redes, máscara de sub-rede e roteamento. Na Parte 3 falei
sobre Classes de endereços, na Parte 4 fiz uma introdução ao roteamento e na Parte 5
apresentei mais alguns exemplos e análises de como funciona o roteamento e na Parte 6
falei sobre a Tabela de Roteamento. Na Parte 7 tratei sobre a divisão de uma rede em
sub-redes, conceito conhecido como subnetting. Na Parte 8 fiz uma apresentação de um
dos serviços mais utilizados pelo TCP/IP, que é o Domain Name System: DNS. O DNS
é o serviço de resolução de nomes usado em todas as redes TCP/IP, inclusive pela
Internet que, sem dúvidas, é a maior rede TCP/IP existente. Na Parte 9 fiz uma
introdução ao serviço Dynamic Host Configuration Protocol – DHCP. Na Parte 10 fiz
uma introdução ao serviço Windows Internet Name Services – WINS. Na Parte 11 falei
sobre os protocolos TCP, UDP e sobre portas de comunicação. Na Parte 12, mostrei
como são efetuadas as configurações de portas em diversos aplicativos que você utiliza
e os comandos do Windows 2000/XP/2003 utilizados para exibir informações sobre
portas de comunicação. Na Parte 13 você aprendeu sobre a instalação e configuração do
protocolo TCP/IP no Windows 2000 Professional ou Server. Apresentei, em detalhes, a
configuração do protocolo TCP/IP no Windows 2000. Mostrei como fazer as
configurações do protocolo TCP/IP, desde as configurações básicas de número IP e
máscara de sub-rede (em computadores que usarão IP fixo, ao invés de obter as
configurações a partir de um servidor DHCP), até configurações mais avançadas, tais
como definir filtros para o protocolo TCP/IP.
Nas Partes 4, 5 e 6 falei sobre Roteamento e sobre como todo o processo de roteamento
é baseado em Tabelas de Roteamento, existentes em cada roteador da rede. As tabelas
de roteamento podem ser criadas manualmente, onde o administrador de cada roteador
executa comandos para criar cada uma das rotas necessárias. Essa abordagem só é
possível para redes extremamente pequenas, com um número de rotas pequeno e
quando as rotas não mudam muito freqüentemente. Para redes maiores, a única
abordagem possível é o uso dos chamados protocolos de Roteamento dinâmico. Estes
protocolos, uma vez instalados e configurados nos roteadores, permitem que os
roteadores troquem informações entre si, periodicamente e que montem as tabelas de
roteamento, dinamicamente, com base nestas informações. Esta abordagem é bem mais
indicada para grandes redes, pois os próprios protocolos de roteamento dinâmicos, se
encarregam de manter as tabelas de roteamento sempre atualizadas, alterando rotas
quando necessário e excluindo rotas que apresentam problemas, tais como rotas onde o
link de comunicação está fora do ar. Na Parte 14, fiz uma apresentação do protocolo
RIP, das suas características, usos e principais problemas. Nesta décima quinta parte
será a vez de apresentar o protocolo OSPF e o conceito de roteamento baseada em áreas,
roteadores de borda e outros ligados ao OSPF.
OSPF – Open Shorted Path First:
Nesta parte do tutorial você aprenderá sobre o OSPF, suas vantagens em relação ao RIP,
o seu uso para roteamento em grandes redes, sobre os conceitos de sistemas autônomos,
adjacências e assim por diante.
117
Uma introdução ao OSPF
O protocolo OSPF - Open Shortest Path First (OSPF, uma tradução, digamos, muito
forçada, seria: abrir primeiro o caminho mais curto) é a alternativa para redes de grande
porte, onde o protocolo RIP não pode ser utilizado, devido a suas características e
limitações, conforme descrito na Parte 14 deste tutorial.
O OSPF permite a divisão de uma rede em áreas e torna possível o roteamento dentro
de cada área e entre as diferentes áreas, usando os chamados roteadores de borda. Com
isso, usando o OSPF, é possível criar redes hierárquicas de grande porte, sem que seja
necessário que cada roteador tenha uma tabela de roteamento gigantesca, com rotas para
todas as redes, como seria necessário no caso do RIP. O OSPF é projetado para
intercambiar informações de roteamento em uma interconexão de rede de tamanho
grande ou muito grande, como por exemplo a Internet.
A maior vantagem do OSPF é que ele é eficiente em vários pontos: requer pouquíssima
sobrecarga de rede mesmo em interconexões de redes muito grandes, pois os roteadores
que usam OSPF trocam informações somente sobre as rotas que sofreram alterações e
não toda a tabela de roteamento, como é feito com o uso do RIP. Sua maior
desvantagem é a complexidade: requer planejamento adequado e é mais difícil de
configurar e administrar do que o protocolo RIP.
O OSPF usa um algoritmo conhecido como Shortest Path First (SPF, primeiro
caminho mais curto) para calcular as rotas na tabela de roteamento. O algoritmo SPF
calcula o caminho mais curto (menor custo) entre o roteador e todas as redes da
interconexão de redes. As rotas calculadas pelo SPF são sempre livres de loops (laços).
O OSPF usa um algoritmo de roteamento conhecido como link-state (estado de ligação).
Lembre que o RIP usava um algoritmo baseado em distância vetorial. O OSPF aprende
as rotas dinamicamente, através de interação com os roteadores denominados como seus
vizinhos.
Em vez de intercambiar as entradas de tabela de roteamento como os roteadores RIP
(Router Information Protocol, protocolo de informações do roteador), os roteadores
OSPF mantêm um mapa da interconexão de redes que é atualizado após qualquer
alteração feita na topologia da rede (é importante salientar novamente que somente
informações sobre as mudanças são trocadas entre os roteadores usando OSPF e não
toda a tabela de roteamento, como acontece com o uso do RIP). Esse mapa,
denominado banco de dados do estado de vínculo ou estado de ligação, é sincronizado
entre todos os roteadores OSPF e é usado para calcular as rotas na tabela de roteamento.
Os roteadores OSPF vizinhos (neghboring) formam uma adjacência, que é um
relacionamento lógico entre roteadores para sincronizar o banco de dados com os
estados de vínculo.
As alterações feitas na topologia de interconexão de redes são eficientemente
distribuídas por toda a rede para garantir que o banco de dados do estado de vínculo em
cada roteador esteja sincronizado e preciso o tempo todo. Ao receber as alterações feitas
no banco de dados do estado de vínculo, a tabela de roteamento é recalculada.
À medida que o tamanho do banco de dados do estado de vínculo aumenta, os requisitos
de memória e o tempo de cálculo do roteamento também aumentam. Para resolver esse
problema, principalmente para grandes redes, o OSPF divide a rede em áreas (conjuntos
118
de redes contíguas) que são conectadas umas às outras através de uma área de
backbone. Cada roteador mantém um banco de dados do estado de vínculo apenas
para aquelas áreas que a ele estão conectadas. Os ABRs (Area Border Routers,
roteadores de borda de área) conectam a área de backbone a outras áreas.
Esta divisão em áreas e a conexão das áreas através de uma rede de backbone é ilustrada
na Figura a seguir, obtida na Ajuda do Windows 2000 Server:
Divisão em áreas e conexão através de um backbone.
Cada anúncio de um roteador OSPF contém informações apenas sobre os estados de
ligação dos roteadores vizinhos, isto é, dentro da área do roteador. Com isso a
quantidade de informação transmitida na rede, pelo protocolo OSPF, é bem menor do
que a quantidade de informação transmitida quando é usado o protocolo RIP. Outra
vantagem é que os roteadores OSPF param de enviar anúncios, quando a rede atinge um
estado de convergência, ou seja, quando não existem mais alterações a serem
anunciadas. O RIP, ao contrário, continua enviando anúncios periodicamente, mesmo
que nenhuma alteração tenha sido feita na topologia da rede (tal como um link ou
roteador que tenha falhado).
Nota: Na Internet existe a divisão nos chamados Sistemas Autônomos. Um sistema
autônomo, por exemplo, pode representar a rede de um grande provedor. Neste caso, o
próprio sistema autônomo pode ser dividido em uma ou mais áreas usando OSPF e estas
áreas são conectadas por um backbone central. O roteamento dentro de cada sistema
autônomo é feito usando os chamados protocolos de roteamento interno (IGP –
Interior Gateway Protocol). O OSPF é um protocolo IGP, ou seja, para roteamento
dentro dos sistemas autônomos. O roteamento entre os diversos sistemas autônomos é
feito por protocolos de roteamento externos (EGP – Exterior Gateway Protocol) e
pelos chamados protocolos de roteamento de borda (BGP – Border Gateway
Protocol).
Importante: Podem ocorrer situações em que uma nova área que é conectada a rede,
não pode ter acesso físico direto ao backbone OSPF. Nestas situações, a conexão da
nova área com o backbone OSPF é feita através da criação de um link virtual (virtual
link). O link virtual fornece uma caminho ―lógico‖ entre a área fisicamente separada do
backbone e o backbone OSPF. Criar o link virtual significa criar uma rota entre a área
que não está fisicamente conectada ao backbone e o backbone, mesmo que este link
passe por dois ou mais roteadores OSPF, até chegar ao backbone. Para um exemplo
119
passo-a-passo de criação de links virtuais, consulte o Capítulo 8 do livro de minha
autoria:Manual de Estudos Para o Exame 70-216, 712 páginas, publicado pela editora
Axcel Books (www.axcel.com.br).
Vantagens do OSPF em relação ao RIP:
As rotas calculadas pelo algoritmo SPF são sempre livres de loops.
O OSPF pode ser dimensionado para interconexões de redes grandes ou muito
grandes.
A reconfiguração para as alterações da topologia de rede é muito rápida, ou seja,
o tempo de convergência da rede, após alterações na topologia é muito menor do
que o tempo de convergência do protocolo RIP.
O tráfego de informações do protocolo OSPF é muito menor do que o do
protocolo RIP.
O OSPF permite a utilização de diferentes mecanismos de autenticação entre os
roteadores que utilizam OSPF.
O OSPF envia informações somente quando houver alterações na rede e não
periodicamente.
A implementação OSPF como parte dos serviços de roteamento do RRAS – Routing em
Remote Access Services, do Windows 2000 Server e no Windows Server 2003, tem os
seguintes recursos:
Filtros de roteamento para controlar a interação com outros protocolos de
roteamento.
Reconfiguração dinâmica de todas as configurações OSPF.
Coexistência com o RIP.
Adição e exclusão dinâmica de interfaces.
Importante: O Windows 2000 Server não oferece suporte ao uso do OSPF em uma
interface de discagem por demanda (demand-dial) que usa vínculos dial-up temporários.
Dica: Se você está usando vários protocolos de roteamento IP, configure apenas um
único protocolo de roteamento por interface.
Operação do protocolo OSPF
O protocolo OSPF é baseado em um algoritmo conhecido com SPF – Short Path First.
Depois que um roteador (ou um servidor com o Windows 2000 Server ou Windows
Server 2003, configurado como roteador e usando o OSPF) é inicializado e é feita a
verificação para detectar se as interfaces de rede estão OK, é utilizado o protocolo
OSPF Hello para identificar quem são os ―vizinhos‖ do roteador.
O roteador envia pacotes no formato do protocolo Hello, para os seus vizinhos e recebe
os pacotes Hello enviados pelos seus vizinhos.
120
Conforme descrito anteriormente, uma rede baseada em OSPF é dividia em áreas e as
diversas áreas são conectadas através de um backbone comum a todas as áreas. O
algoritmo SPF é baseado na sincronização do banco de dados de estados de ligação
entre os roteadores OSPF dentro de uma mesma área. Porém, ao invés de cada roteador
fazer a sincronização com todos os demais roteadores OSPF da sua área, cada roteador
faz a sincronização apenas com seus vizinhos (neghboring routers). A relação entre
roteadores OSPF vizinhos, com o objetivo de sincronizar suas bases de dados é
conhecida como ―Adjacência‖. O termo mais comum é ―formar uma adjacência‖.
Porém, mesmo com o uso de adjacências, em uma rede com vários roteadores dentro da
mesma área, um grande número de adjacências poderá ser formado, o que implicaria em
um grande volume de troca de informações de roteamento. Por exemplo, imagine uma
rede com seis roteadores OSPF dentro da mesma área. Neste caso, cada roteador
poderia formar uma adjacência com os outros cinco roteadores da área, o que resultaria
em um total de 15 adjacências. O número de adjacências é calculado usando a seguinte
fórmula, onde n representa o número de roteadores:
Número de adjacências = n*(n-1)/2
Com um grande número de adjacências, o tráfego gerado pela sincronização do OSPF
seria muito elevado. Para resolver esta questão é utilizado o conceito de Designated
Router (Roteador designado). Um roteador designado é um roteador que será
considerado vizinho de todos os demais roteadores da rede. Com isso é formada uma
adjacência entre cada roteador da rede e o roteador designado. No nosso exemplo, da
rede com 6 roteadores OSPF, dentro da mesma área, seriam formadas apenas cinco
adjacências. Uma entre cada um dos cinco roteadores, diretamente com o sexto
roteador, o qual foi configurado como roteador designado. Neste caso, cada roteador da
rede troca informações com o roteador designado. Como o roteador designado recebe
informações de todos os roteadores da área, ele fica com uma base completa e repassa
esta base para cada um dos roteadores da mesma área. Observe que com o uso de um
roteador designado, obtém-se uma sincronização da base completa dos roteadores e com
o uso de um número bem menor de adjacências, o que reduz consideravelmente o
tráfego de pacotes do OSPF.
Por questões de contingência, também é criado um Designated Backup Router
(Roteador designado de backup), o qual assumirá o papel de roteador designado, no
caso de falha do roteador designado principal. A eleição de qual será o roteador
designado é feita automaticamente pelo OSPF, mediante uma troca de pacotes Hello, de
acordo com as regras contidas no protocolo, um dos roteadores será eleito como
roteador designado e um segundo como roteador designado backup.
Conclusão
Nas Partes 4, 5 e 6 falei sobre Roteamento e sobre como todo o processo de roteamento
é baseado em Tabelas de Roteamento, existentes em cada roteador da rede. As tabelas
de roteamento podem ser criadas manualmente, onde o administrador de cada roteador
executa comandos para criar cada uma das rotas necessárias. Essa abordagem só é
possível para redes extremamente pequenas, com um número de rotas pequeno e
quando as rotas não mudam muito freqüentemente. Para redes maiores, a única
abordagem possível é o uso dos chamados protocolos de Roteamento dinâmico. Estes
protocolos, uma vez instalados e configurados nos roteadores, permitem que os
121
roteadores troquem informações entre si, periodicamente e que montem as tabelas de
roteamento, dinamicamente, com base nestas informações. Esta abordagem é bem mais
indicada para grandes redes, pois os próprios protocolos de roteamento dinâmico, se
encarregam de manter as tabelas de roteamento sempre atualizadas, alterando rotas
quando necessário e excluindo rotas que apresentam problemas, tais como rotas onde o
link de comunicação está fora do ar. Na Parte 14 fiz uma apresentação do protocolo
RIP. Nesta parte foi a vez do protocolo OSPF, o qual é baseado na divisão de uma rede
em áreas conectadas através de backbones de roteamento. Você pode conferir que o
protocolo OSPF tem inúmeras vantagens em relação ao protocolo RIP.
122
ICF– Internet Connection Firewall
Introdução:
Esta é a décima sétima parte do Tutorial de TCP/IP. Na Parte 1 tratei dos aspectos
básicos do protocolo TCP/IP. Na Parte 2 falei sobre cálculos binários, um importante
tópico para entender sobre redes, máscara de sub-rede e roteamento. Na Parte 3 falei
sobre Classes de endereços, na Parte 4 fiz uma introdução ao roteamento e na Parte 5
apresentei mais alguns exemplos e análises de como funciona o roteamento e na Parte 6
falei sobre a Tabela de Roteamento. Na Parte 7 tratei sobre a divisão de uma rede em
sub-redes, conceito conhecido como subnetting. Na Parte 8 fiz uma apresentação de um
dos serviços mais utilizados pelo TCP/IP, que é o Domain Name System: DNS. O DNS
é o serviço de resolução de nomes usado em todas as redes TCP/IP, inclusive pela
Internet que, sem dúvidas, é a maior rede TCP/IP existente. Na Parte 9 fiz uma
introdução ao serviço Dynamic Host Configuration Protocol – DHCP. Na Parte 10 fiz
uma introdução ao serviço Windows Internet Name Services – WINS. Na Parte 11 falei
sobre os protocolos TCP, UDP e sobre portas de comunicação. Na Parte 12, mostrei
como são efetuadas as configurações de portas em diversos aplicativos que você utiliza
e os comandos do Windows 2000/XP/2003 utilizados para exibir informações sobre
portas de comunicação. Na Parte 13 falei sobre a instalação e a configuração do
protocolo TCP/IP. Na Parte 14 fiz uma introdução sobre o protocolo de roteamento
dinâmico RIP e na Parte 15 foi a vez de fazer a introdução a outro protocolo de
roteamento dinâmico, o OSPF. Na Parte 16 você aprendeu sobre um recurso bem útil: O
compartilhamento da conexão Internet, oficialmente conhecida como ICS – Internet
Connection Sharing. Este recurso é útil quando você tem uma pequena rede, não mais
do que cinco máquinas, conectadas em rede, todas com o protocolo TCP/IP instalado e
uma das máquinas tem conexão com a Internet. Você pode habilitar o ICS no
computador que tem a conexão com a Internet. Com isso os demais computadores da
rede também passarão a ter acesso à Internet.
Nesta décima sétima parte, aprenderemos a utilizar o IFC – Internet Firewall
Connection (Firewall de Conexão com a Internet). O IFC faz parte do Windows XP e
do Windows Server 2003, não estando disponível no Windows 2000. O IFC tem como
objetivo proteger o acesso do usuário contra “ataques” e “perigos” vindos da
Internet. Vou abordar a versão do Firewall baseada no Windows XP com o Service
Pack 2 instalado. Caso você ainda não tenha instalado o SP2, recomendo fazê-lo
com a maior brevidade possível, pois, em termos de segurança, o SP2 é
indispensável. Se você está usando o Windows XP sem o SP2, poderá haver
diferenças nos passos práticos, descritos neste tutorial, o qual é baseado no
Windows XP cm o SP2 instalado.
Introdução
Ao nos conectarmos com a Internet estamos em contato com o mundo; e o mundo em
contato conosco. A Internet é uma ―via de mão dupla‖, ou seja, podemos acessar
recursos em servidores do mundo inteiro, porém o nosso computador também pode ser
acessado por pessoas do mundo inteiro, se não tomarmos alguns cuidados básicos com
segurança.
123
Regra número 1: Sempre utilize um bom programa de antivírus. Escolha o programa
de sua preferência, existem muitos, instale e utilize. É inadmissível não utilizar um
programa antivírus. Os custos são muito baixos, existindo inclusive programas
gratuitos, em comparação com os riscos que se corre em não usar um antivírus.
Mensagens contendo anexos com vírus, sites com conteúdo dinâmico que podem causar
danos, etc., são muitas as ameaças e o antivírus é capaz de nos proteger de grande parte
delas. No site www.invasao.com.br, você encontra uma análise comparativa, sobre os
principais antivírus do mercado.
Regra número 2: Informação. Procure estar sempre atualizado sobre novos tipos de
vírus, novos tipos de ataques e perigos que possam comprometer a segurança do seu
computador. Para informações sobre segurança da informação consulte regularmente o
seguinte site: www.invasao.com.br e www.terra.com.br/tecnologia, bem como a minha
coluna semanal em http://www.juliobattisti.com.br/coluna
Regra número 3: Se você usa o Windows XP ou o Windows Server 2003, aprenda a
utilizar e configurar o IFC (justamente o assunto desta parte do tutorial). É o que você
aprenderá nesta parte do tutorial. Mostrarei o que é o IFC, quais as suas funções e como
configurá-lo para proteger o computador que você utiliza, para acessar a Internet.
Firewall de Conexão com a Internet – ICF
Se fôssemos traduzir firewall literalmente, seria uma parede corta-fogo. Esta
denominação pode parecer sem sentido prático, mas veremos que a função é exatamente
esta. O firewall é como se fosse uma parede, um proteção, colocada entre o seu
computador e a Internet. O fogo neste caso seriam os ataques e demais perigos vindos
da Internet. A função do Firewall é bloquear (cortar) estes perigos (fogo). Um Firewall
pode fazer mais do que isso, ele também pode ser utilizado para bloquear determinados
tipos de tráfegos a partir do seu computador para a Internet. Esta utilização é mais
comum em redes de grandes empresas, onde existe um Firewall entre a rede da empresa
e a Internet. Todo acesso à Internet passa, obrigatoriamente, pelo Firewall. Através de
configurações adequadas é possível bloquear determinados tipos de informações que
não tem a ver com o trabalho dos funcionários. Por exemplo, podemos, através do
Firewall, impedir o acesso a arquivos de vídeo e áudio. Mas este não é o caso do uso do
ICF, o qual é mais indicado para um computador conectado diretamente à Internet ou
para uma pequena rede na qual um dos computadores tem acesso à Internet e
compartilha esta conexão com os demais computadores (para detalhes sobre o
compartilhamento de conexão, consulte a Parte 16). Na Figura a seguir temos um
diagrama que ilustra a função de um Firewall:
124
Função do Firewall
A utilização do ICF depende da configuração que estamos utilizando, ou seja, se temos
um único computador, uma pequena rede ou uma rede empresarial. Vamos considerar
estas três situações distintas:
Um único computador conectado à Internet, quer seja via uma conexão
dial-up ou via uma conexão de acesso rápido: Para esta situação configuramos
o ICF no computador que está conectado à Internet. O ICF protegerá o
computador de uma série de ataques originados na Internet.
Uma pequena rede onde somente um computador tem conexão com à
Internet: Nestas situações é comum o computador que tem acesso à Internet,
compartilhar esta conexão com os demais computadores da rede (veja a Parte 16
deste tutorial). Neste caso, quando o computador que tem acesso à Internet
estiver conectado, todos os demais passarão a ter acesso à Internet. Ou seja,
existe um único ponto de acesso à Internet que é o computador no qual existe
uma conexão, quer seja dial-up ou de acesso rápido. Nesta situação temos que
proteger o computador que está conectado à Internet, com isso protegeremos
também os demais computadores da rede. Nesta configuração, configuramos o
computador com acesso à Internet para usar o ICF.
Uma rede empresarial com um grande número de computadores ligados em
rede: Nestes casos também é comum existir um único ponto de acesso à
Internet, o qual é compartilhado para todos os computadores da rede. Porém para
grandes redes empresariais é exigido um alto nível de sofisticação, capacidade
de bloqueio e filtragem e proteção que somente produtos específicos são capazes
de fornecer. Nestas situações é comum existir um conjunto de equipamentos e
programas que atua como um Firewall para toda a rede da empresa. Obviamente
que nestas situações não é indicado o uso do ICF do Windows XP.
O ICF é considerada uma firewall "de estado". Ela monitora todos os aspectos das
comunicações que cruzam seu caminho e inspeciona o endereço de origem e de destino
de cada mensagem com a qual ele lida. Para evitar que o tráfego não solicitado da parte
pública da conexão (a Internet) entre na parte privada da rede (o seu computador
conectado à Internet), o ICF mantém uma tabela de todas as comunicações que se
originaram do computador no qual está configurado o ICF.
125
No caso de um único computador, o ICF acompanha o tráfego originado do
computador. Quando usado com o compartilhamento de conexão, no caso de uma
pequena rede com o Windows XP, o ICF acompanha todo o tráfego originado no
computador com o ICF habilitado e nos demais computadores da rede. Todo o tráfego
de entrada da Internet é comparado às entradas na tabela e só tem permissão para
alcançar os computadores na sua rede quando houver uma entrada correspondente na
tabela mostrando que a troca de comunicação foi iniciada na rede doméstica.
Na prática o que acontece o seguinte: quando você acessa um recurso da Internet, por
exemplo acessa o endereço de um site, o computador que você está usando, envia para a
Internet uma requisição, solicitando que a página seja carregada no seu Navegador, por
exemplo. Assim pode acontecer com todos os computadores da rede, cada um enviando
as suas requisições. O ICF faz uma tabela com todas as requisições enviadas para a
Internet. Cada informação que chega no ICF, vinda da Internet é verificada. Se esta
informação é uma resposta a uma das requisições que encontra-se na tabela de
requisições, significa que esta informação pode ser enviada para o computador que fez a
requisição. Se a informação que está chegando, não corresponde a uma resposta de uma
das requisições pendentes, significa que pode ser um ataque vindo da Internet, ou seja,
alguém tentando acessar o seu computador ou a sua rede local. Este tipo de informação
é bloqueada pelo ICF. Vejam que desta forma o ICF está protegendo o seu computador,
evitando que informações não solicitadas (não correspondentes a respostas para
requisições enviadas) possam chegar até o seu computador ou a sua rede, neste caso o
ICF está ―cortando o fogo‖ vindo da Internet.
Podemos configurar o ICF para simplesmente bloquear este tipo de informação não
solicitada ou, para além de bloquear, gerar um log de registro, com informações sobre
estas tentativas. Aprenderemos a fazer estas configurações nos próximos tópicos.
Também podemos configurar o ICF para permitir a entrada de informações que
correspondem a determinados serviços. Por exemplo, se você tem uma conexão 24
horas e utiliza o seu computador como um servidor Web, no qual está disponível um
site pessoal, você deve configurar o ICF para aceitar requisições HTTP, caso contrário,
o seu computador não poderá atuar como um servidor Web e todas as requisições dos
usuários serão bloqueadas pelo ICF. Também aprenderemos a fazer estas configurações
nos próximos tópicos.
Ao ativar o ICF, toda a comunicação de entrada, vinda da Internet, será examinada.
Alguns programas, principalmente os de email, podem apresentar um comportamento
diferente quando o ICF estiver ativado. Alguns programas de email pesquisam
periodicamente o servidor de email para verificar se há novas mensagens, enquanto
alguns deles aguardam notificação do servidor de email. As notificações vindas do
servidor não terão requisições correspondentes na tabela de requisições e com isso serão
bloqueadas. Neste caso o cliente de email deixaria de receber as notificações do
servidor.
O Outlook Express, por exemplo, procura automaticamente novas mensagens em
intervalos regulares, conforme configuração do Outlook. Quando há novas mensagens,
o Outlook Express envia ao usuário uma notificação. A ICF não afetará o
comportamento desse programa, porque a solicitação de notificação de novas
mensagens é originada dentro do firewall, pelo próprio Outlook. O firewall cria uma
126
entrada em uma tabela indicando a comunicação de saída. Quando a resposta à nova
mensagem for confirmada pelo servidor de email, o firewall procurará e encontrará uma
entrada associada na tabela e permitirá que a comunicação se estabeleça. O usuário, em
seguida, será notificado sobre a chegada de uma nova mensagem.
Nota: No entanto, o Outlook do Office 2000, é conectado a um servidor Microsoft
Exchange que utiliza uma chamada de procedimento remoto (RPC) para enviar
notificações de novos emails aos clientes. Ele não procura novas mensagens
automaticamente quando está conectado a um servidor Exchange. Esse servidor o
notifica quando chegam novos emails. Como a notificação RPC é iniciada no servidor
Exchange fora da firewall, não no Outlook do Office 2000, que está dentro da firewall,
o ICF não encontra a entrada correspondente na tabela e não permite que as mensagens
RPC passem da Internet para a rede doméstica. A mensagem de notificação de RPC é
ignorada. Os usuários podem enviar e receber mensagens, mas precisam verificar a
presença de novas mensagens manualmente, ou seja, a verificação de novas mensagens
tem que partir do cliente.
Como ativar/desativar o Firewall de Conexão com a Internet
Para ativar/desativar o Firewall de Conexão com a Internet, siga os passos indicados a
seguir (Windows XP Professional):
1. Abra o Painel de controle: Iniciar -> Painel de controle.
2. Se você estiver no modo de exibição por Categoria dê um clique no link Alternar
para o modo de exibição clássico. Se você já estiver no modo de exibição clássico vá
para o próximo passo.
3. Todas as configurações do Firewall de Conexão são feitas através da opção Firewall
do Windows, do Painel de Controle. Dê um clique duplo na opção Firewall do
Windows.
4. Será aberta a janela Firewall do Windows. Se você tiver mais de uma conexão de
rede (por exemplo, uma conexão de rede local e uma conexão via Modem), você poderá
habilitar ou desabilitar o IFC, individualmente, em cada conexão. Na janela Firewall do
Windows, dê um clique na guia Avançado. Será exibida a janela indicada na Figura a
seguir. No nosso exemplo, temos duas conexões de Rede local (Conexão local e
Conexão local 2) e o Firewall está habilitado nas duas conexões. Para habilitar o
Firewall, basta marcar a caixa de seleção ao lado da respectiva conexão. Para desabilitar
o Firewall em um ou mais conexões, basta desmarcar a caixa de seleção, ao lado da
respectiva conexão.
127
A guia Avançado das propriedades da conexão Internet
5. A recomendação é de sempre manter o IFC ativado, em todas as conexões de rede
que você tiver. Com isso você irá garantir um nível maior de proteção, contra uma série
de ameaças, vindas da Internet.
6. Após ter feito as configurações desejadas, clique em OK, para aplicá-las e fechar
a janela Firewall do Windows.
Nota: Para ativar/desativar o ICF você deve ter feito o logon como Administrador ou
como um usuário com permissões de Administrador. Para todos os detalhes sobre a
criação e administração de usuários no Windows XP, consulte o Capítulo 6 do meu
livro: ―Windows XP Home & Professional Para Usuários e Administradores – Segunda
Edição‖.
Como ativar/desativar o log de Segurança do ICF
O log de segurança da Firewall de conexão com a Internet (ICF) permite que você
escolha quais as informações serão registradas no log. Com o uso do Log de Segurança
é possível:
128
Registrar em log os pacotes eliminados, isto é, pacotes que foram bloqueados
pelo Firewall. Essa opção registrará no log todos os pacotes ignorados que se
originarem da rede doméstica ou de pequena empresa ou da Internet.
Registrar em log as conexões bem-sucedidas, isto é, pacotes que não foram
bloqueados. Essa opção registrará no log todas as conexões bem-sucedidas que
se originarem da rede doméstica ou de pequena empresa ou da Internet.
Quando você marca a caixa de seleção Registrar em log os pacotes eliminados (veremos
como fazer isso no próximo tópico), as informações são coletadas a cada tentativa de
tráfego pela firewall a qual tenha sido detectada e negada/bloqueada pelo ICF. Por
exemplo, se as configurações do protocolo ICMP não estiverem definidas para permitir
solicitações de entrada, como as enviadas pelos comandos Ping e Tracert, e uma
solicitação deste tipo, for recebida de fora da rede, ela será ignorada/bloqueada e será
feito um registro no log. Os comandos ping e tracert são utilizados para verificar se
computadores de uma rede estão conectados a rede. Estes comandos são baseados em
um protocolo chamado ICMP – Internet Control Message Protocol. O ICF pode ser
configurado para não aceitar este protocolo (aprenderemos a fazer estas configurações
mais adiante). Neste caso, toda vez que utilizarmos os comandos ping ou tracert, será
feita uma tentativa de trafegar informações usando o protocolo ICMP, o que será
bloqueado pelo Firewall e ficará registrado no log de segurança.
Quando você marca a caixa de seleção Listar conexões de saída bem-sucedidas, são
coletadas informações sobre cada conexão bem-sucedida que passe pela firewall. Por
exemplo, quando alguém da rede se conecta com êxito a um site da Web usando o
Internet Explorer, é gerada uma entrada no log. Devemos ter cuidado com esta opção,
pois dependendo do quanto usamos a Internet, ao marcar esta opção será gerado um
grande número de entradas no log de segurança do ICF, embora seja possível limitar o
tamanho máximo do arquivo no qual são gravadas as entradas do log, conforme
aprenderemos mais adiante.
O log de segurança é produzido com o formato de arquivo de log estendido no padrão
W3C, que é um formato padrão definido pela entidade que define padrões para a
internet, o W3. Maiores informações no site: www.w3.org. O arquivo no qual está o log
de segurança é um arquivo de texto comum, o qual pode ser lido utilizando um editor de
textos como o Bloco de notas.
Como configurar o log de segurança do IFC:
Por padrão, ao ativarmos o ICF, o log de segurança não é ativado. Para ativá-lo, de tal
maneira que passem a ser registrados eventos no log de segurança, siga os passos
indicados a seguir (Windows XP):
1. Abra o Painel de controle: Iniciar -> Painel de controle.
2. Se você estiver no modo de exibição por Categoria dê um clique no link Alternar
para o modo de exibição clássico. Se você já estiver no modo de exibição clássico vá
para o próximo passo.
129
3. Todas as configurações do Firewall de Conexão são feitas através da opção
Firewall do Windows, do Painel de Controle. Dê um clique duplo na opção Firewall do
Windows.
4. Será aberta a janela Firewall do Windows. Na janela Firewall do Windows, dê um
clique na guia Avançado. Será exibida a guia de Configurações Avançadas.
5. Na guia Avançado, dê um clique no botão Configurações..., ao lado da opção Log
de segurança.
6. Será exibida a janela Configurações de log, com as opções indicadas na Figura a
seguir:
Configurando opções do log de segurança do ICF
Nesta guia temos as seguintes opções:
Registrar em logo os pacotes eliminados: Marque esta opção para que todos os
pacotes ignorados/bloqueados que se originaram da rede privada ou da Internet,
sejam registrados no log de segurança do ICF.
Registrar em log as conexões bem-sucedidas: Marque esta opção para que
todas as conexões bem-sucedidas que se originaram da sua rede local ou da
Internet serão registradas no log de segurança.
Campo Nome: Neste campo definimos o nome do arquivo onde serão gravadas
as entradas do log de segurança. Por padrão é sugerido o seguinte caminho:
C:\Windows\pfirewall.log. Substitua C:\Windows pela pasta onde está instalado
o Windows XP, caso este tenha sido instalado em outra pasta.
Limite de tamanho: Define o tamanho máximo para o arquivo do log de
segurança. O tamanho máximo admitido para o arquivo de log é 32.767 quilo
bytes (KB). Quando o tamanho máximo for atingido, as entradas de log mais
antigas serão descartadas.
130
7. Marque a opção Registrar em log os pacotes eliminados.
8. Marque a opção Registrar em log as conexões bem sucedidas.
9. Dê um clique no botão OK para aplicar as novas configurações.
10. Você estará de volta à guia Avançado da janela de Configurações do Firewall. Dê
um clique no botão OK para fechar esta janela.
11. Faça uma conexão com a Internet e acesse alguns sites, abra o Outlook e envie
algumas mensagens. Isto é para gerar tráfego através do Firewall, para que sejam
geradas entradas no log de segurança.
Agora vamos abrir o arquivo e ver os eventos que foram gravados no log de segurança.
12. Abra o bloco de Notas.
13. Abra o arquivo definido como arquivo de log, que por padrão é o arquivo
C:\Windows\pfirewall.log. Caso você tenha alterado esta opção, abra o respectivo
arquivo.
Na Figura a seguir temos uma visão de algumas entradas que foram gravadas no
arquivo de log:
O arquivo do log de segurança.
Observe que cada entrada segue um padrão definido, como por exemplo:
2002-03-18 23:07:57 DROP UDP 200.176.2.10 200.176.165.149 53 3013
379 - - - - - - -
Data Hora Ação Prot. End. IP origem End. IP Destino po pd
tamanho.
131
Onde:
Prot. = Protocolo utilizado para comunicação.
po = Porta de origem.
pd = Porta de destino.
Nota: Estas informações são especialmente úteis para técnicos em segurança de redes,
os quais conhecem bem o protocolo TCP/IP, para que eles possam analisar a origem de
possíveis ataques. Para mais detalhes sobre Portas no Protocolo TCP/IP, consulte a
Parte 12 deste tutorial.
14. Feche o arquivo de log.
Nota: Para desabilitar o log de segurança, repita os passos de 1 a 6 e desmarque as
opções desejadas. Por exemplo, se você não deseja registrar um log das conexões bem
sucedidas, as quais não representam perigo de ataque, desmarque a opção Registrar em
log as conexões bem sucedidas.
Habilitando serviços que serão aceitos pelo ICF
Se você tem uma conexão permanente com a Internet e quer utilizar o seu computador
com Windows XP como um servidor Web (disponibilizando páginas), um servidor ftp
(disponibilizando arquivos para Download) ou outro tipo de serviço da Internet, você
terá que configurar o ICF para aceitar requisições para tais serviços. Lembre que, por
padrão, o ICF bloqueia todo tráfego vindo da Internet, que não seja resposta a uma
requisição da rede interna, enviada pelo usuário. Se você vai utilizar o seu computador
como um Servidor, o tráfego vindo de fora corresponderá as requisição dos usuários,
requisições estas que terão que passar pelo ICF para chegarem até o servidor e ser
respondidas.
Por padrão nenhum dos serviços está habilitado, o que garante uma maior segurança.
Para habilitar os serviços necessários, siga os seguintes passos:
1. Faça o logon com uma conta com Permissão de Administrador e abra o Painel de
controle: Iniciar -> Painel de controle.
2. Se você estiver no modo de exibição por Categoria dê um clique no link Alternar
para o modo de exibição clássico. Se você já estiver no modo de exibição clássico vá
para o próximo passo.
3. Todas as configurações do Firewall de Conexão são feitas através da opção
Firewall do Windows, do Painel de Controle. Dê um clique duplo na opção Firewall do
Windows.
4. Será aberta a janela Firewall do Windows. Se você tiver mais de uma conexão de
rede (por exemplo, uma conexão de rede local e uma conexão via Modem), você poderá
fazer as configurações de serviços, individualmente, em cada conexão. Na janela
Firewall do Windows, dê um clique na guia Avançado. No nosso exemplo, temos duas
conexões de Rede local (Conexão local e Conexão local 2) e o Firewall está habilitado
nas duas conexões. Para configurar os serviços de uma das conexões, clique na
132
respectiva conexão para marcá-la e dê um clique no botão Configurações...,ao lado da
lista de conexões
5. Será exibida a janela Configurações avançadas. Dê um clique na guia Serviços,
será exibida a janela indicada na Figura a seguir:
Habilitando/desabilitando serviços para o ICF.
Para habilitar um determinado serviço, basta marcar a caixa de seleção ao lado do
respectivo serviço. Ao clicar em um determinado serviço, será aberta, automaticamente,
uma janela Configurações de serviço. Esta janela vem com o valor padrão para os
parâmetros de configuração do respectivo serviço. Somente altere estes valores se você
souber exatamente o que cada parâmetro significa, pois ao informar parâmetros
incorretamente, o serviço deixará de funcionar.
Você também pode utilizar o botão Adicionar..., para adicionar novos serviços, não
constantes na lista.
6. Após ter habilitados os serviços necessários, dê um clique no botão OK para
aplicar as alterações.
7. Você estará de volta à janela Propriedades da conexão. Dê um clique no botão
OK para fechá-la.
Configurações do protocolo ICMP para o Firewall
133
Conforme descrito anteriormente, o protocolo ICMP é utilizado por uma série de
utilitários de rede, utilitários estes que são usados pelo Administrador da rede para fazer
testes de conexões e monitorar equipamentos e linhas de comunicação. Por padrão o
ICF bloqueia o tráfego ICMP. Nós podemos personalizar a maneira como o tráfego
ICMP será tratado pelo ICF. Podemos liberar todo o tráfego ICMP ou apenas
determinados tipos de uso, para funções específicas.
Para configurar o padrão de tráfego ICMP através do Firewall, siga os passos indicados
a seguir:
1. Faça o logon com uma conta com Permissão de Administrador e abra o Painel de
controle: Iniciar -> Painel de controle.
2. Se você estiver no modo de exibição por Categoria dê um clique no link Alternar
para o modo de exibição clássico. Se você já estiver no modo de exibição clássico vá
para o próximo passo.
3. Todas as configurações do Firewall de Conexão são feitas através da opção
Firewall do Windows, do Painel de Controle. Dê um clique duplo na opção Firewall do
Windows.
4. Será aberta a janela Firewall do Windows. Se você tiver mais de uma conexão de
rede (por exemplo, uma conexão de rede local e uma conexão via Modem), você poderá
fazer as configurações do protocolo ICMP, individualmente, em cada conexão. Na
janela Firewall do Windows, dê um clique na guia Avançado. No nosso exemplo, temos
duas conexões de Rede local (Conexão local e Conexão local 2) e o Firewall está
habilitado nas duas conexões. Para configurar as opções do protocolo ICMP de uma das
conexões, clique na respectiva conexão para marcá-la e dê um clique no botão
Configurações...,ao lado da lista de conexões
5. Será exibida a janela Configurações avançadas. Dê um clique na guia ICMP, será
exibida a janela indicada na Figura a seguir:
134
Configurando o tráfego ICMP através do Firewall.
Na guia ICMP podemos marcar/desmarcar as seguintes opções:
Permitir solicitação de eco na entrada: Se esta opção estiver marcada, as
mensagens enviadas para este computador serão repetidas para o remetente. Por
exemplo, se alguém de fora der um ping para este computador, uma resposta
será enviada. Se esta opção estiver desmarcada o computador não responderá a
comandos como ping e tracert.
Permitir solicitação de carimbo de data/hora de entrada: Os dados enviados
para o computador podem ser confirmados por uma mensagem indicando
quando foram recebidos.
Permitir solicitação de máscara de entrada: A máscara de entrada é um
parâmetro de configuração do protocolo TCP/IP, parâmetro este que é utilizado
pelo protocolo para definir se duas máquinas que estão tentando se comunicar,
pertencem a mesma rede ou a redes diferentes (veja todos os detalhes na Parte
2). Se este parâmetro estiver marcado, o computador será capaz de fornecer
diversas informações sobre a rede a qual ele está conectado. Esta opção é
importante quando estamos utilizando programas de gerenciamento de rede que,
utilizam o protocolo ICMP para obter informações sobre os equipamentos da
rede.
135
Permitir solicitação de roteador de entrada: Se esta opção estiver marcada o
computador será capaz de responder às solicitações sobre quais rotas ele
conhece.
Permitir destino de saída inacessível: Os dados enviados pela Internet, tendo
como destino este computador e, que não conseguiram ―chegar‖ até ele devido a
algum erro serão descartados e será exibida uma mensagem explicando o erro e
informando que o destino está inacessível. A mensagem será exibida no
computador de origem, o qual tentou enviar dados para este computador, dados
estes que não conseguiram chegar.
Permitir retardamento de origem de saída: Quando a capacidade de
processamento de dados de entrada do computador não for compatível com a
taxa de transmissão dos dados que estão chegando, os dados serão descartados e
será solicitado ao remetente que diminua a velocidade de transmissão.
Permitir problema no parâmetro de saída: Se este computador descartar
dados devido a um problema no cabeçalho dos pacotes de dados, ele enviará ao
remetente uma mensagem de erro informando que há um cabeçalho inválido.
Permitir hora de saída ultrapassada: Se o computador descartar uma
transmissão de dados por precisar de mais tempo para concluí-la, ele enviará ao
remetente uma mensagem informando que o tempo expirou.
Permitir redirecionamento: Os dados enviados pelo computador seguirão uma
rota alternativa, se uma estiver disponível, caso o caminho (rota) padrão tenha
sido alterado.
6. Marque as opções que forem necessárias, de acordo com as funções que estiver
desempenhando o computador.
7. Após ter marcado as opções necessárias, dê um clique no botão OK para aplicar
as alterações.
8. Você estará de volta à janela Propriedades do Firewall. Dê um clique no botão
OK para fechá-la.
Novidades do Firewall do Windows XP SP2
A primeira novidade é que o próprio nome mudou. Antes do SP2, o Firewall era
referenciado como ICF. A partir do SP2, passamos a utilizar a denominação Firewall do
Windows. Com o SP2 foram introduzidas uma série de modificações, bastante
significativas, as quais trouxeram muitas melhorias e uma maior segurança.
Novidade 01 - O Firewall do Windows é Ativado por padrão: Nas versões
anteriores, antes do SP2, o Firewall vinha desativado por padrão. O usuário é
que tinha que ativar o Firewall, manualmente, usando os passos descritos
anteriormente. Com o SP2, o Firewall do Windows é ativado por padrão, o que
oferece uma maior proteção, por padrão, contra ataques e invasões vindas da
Internet. Isso também ajuda a proteger qualquer conexão de rede que seja
136
adicionada ao sistema, pois o Firewall será ativado, por padrão, para qualquer
nova conexão de rede que for adicionada.
Novidade 02 - Maior segurança no momento da inicialização: Antes do SP2,
quando o Windows XP era inicializado, havia um pequeno espaço de tempo
entre os serviços de rede serem inicializados e o firewall ser ativado, pequeno
período este, durante o qual o computador ficava vulnerável (sem a proteção do
Firewall). Com o SP2, durante a inicialização e o desligamento, o driver do
firewall usa uma regra chamada ―filtro de inicialização‖ para evitar ataques
durante esses breves períodos de tempo. Uma vez ligado e em execução, o
Firewall do Windows carrega as configurações personalizadas pelo usuário e
remove os filtros de inicialização. Isso torna o computador menos vulnerável a
ataques durante as operações de inicialização e desligamento.
Novidade 03 - Lista de exceções do Firewall do Windows: Talvez você veja
um alerta de segurança ao executar um programa que exija conexão e
comunicação bidirecional (enviar e receber dados), através de uma rede ou da
Internet. Por exemplo, muitos jogos multiusuários da Internet, usam portas de
comunicação que são bloqueadas pelo Firewall do Windows, por padrão.
Geralmente, são as mesmas portas usadas por vírus, trojans e pelos crackers para
tentar invadir e acessar indevidamente o computador do usuário. Para abrir uma
porta para um jogo, você pode adicioná-lo à lista de exceções do Firewall do
Windows. A porta será aberta somente quando o jogo estiver em andamento e
será fechada assim que ele terminar. Com isso, as portas utilizadas por estes
jogos e programas, somente ficarão abertas enquanto o jogo estiver em
execução. Este bloqueio garante um elevado grau de segurança contra ataques de
crackers, contra o seu computador.
Para adicionar um programa à lista de Exceções do Firewall do Windows, siga os
passos indicados a seguir:
1. Faça o logon como Administrador ou com uma conta com permissão de
Administrador.
2. Abra o Painel de Controle: Iniciar -> Painel de Controle.
3. Abra a opção Firewall do Windows.
4. Na guia Geral, você tem a opção ―Não permitir exceções‖. Se você marcar esta
opção, nenhuma exceção será permitida. Para o nosso exemplo, mantenha esta opção
desmarcada.
5. Clique na guia Exceções. Observe que, por padrão, já vem algumas exceções
ativadas, conforme indicado na Figura a seguir:
137
Figura – Configurando Exceções no Firewall do Windows.
6. Para adicionar um novo programa, à lista de exceções, clique no botão Adicionar
programa. Será exibida a janela Adicionar um programa, com a lista de programas
instalados no seu computador. Clique no programa a ser adicionado e clique em OK.
Você estará de volta à guia Exceções, com o novo programa já adicionado.
7. Você pode habilitar ou desabilitar as exceções, para os programas adicionados à
lista de exceções. Para isso, basta marcar ou desmarcar a caixa de seleção, ao lado do
nome do programa.
8. Para remover um programa da lista de Exceções, clique no programa para
selecioná-lo e depois clique no botão Excluir. Será exibida uma mensagem de
confirmação. Clique em Sim, para confirmar a exclusão do programa, da lista de
exceções.
9. Você pode clicar em um programa da lista para marcá-lo e depois clicar no botão
Editar. Por exemplo, clique no item Compartilhamento de Arquivo e Impressora, para
marcá-lo e depois clique no botão Editar. Será aberta a janela Editar um serviço,
indicada na Figura a seguir, onde são exibidas as portas utilizadas pelo programa (no
caso o Serviço de Compartilhamento de Arquivo e Impressora). Se necessário, você
pode desabilitar uma ou mais das portas utilizadas por um programa/serviço. Só
138
desabilite uma porta, se você tiver certeza do que está fazendo, com base na
documentação do programa, pois ao desabilitar uma ou mais portas, determinadas
funcionalidades do programa em questão, poderão deixar de funcionar corretamente.
Figura – Editando as portas de um programa/serviço.
10. Após ter feito as alterações desejadas, clique em OK para fechar a janela Editar
um Serviço. Você estará de volta à guia Exceções.
11. Você pode usar o botão Adicionar porta..., para adicionar uma porta específica
(tanto UDP quanto TCP), à lista de exceções do Firewall. Por exemplo, se você tem um
programa que precisa utilizar a porte TCP 2500, você pode usar o botão Adicionar
porta..., para adicionar esta porta à lista de exceções do Firewall do Windows. Com
isso, o programa que utiliza a porta TCP 2500, poderá funcionar, normalmente, mesmo
com o Firewall ativado. Observe que com isso, o Firewall do Windows nos oferece, ao
mesmo tempo, segurança e flexibilidade.
12. Após ter configurado as exceções desejadas, clique em OK para fechar a janela de
configurações do Firewall do Windows.
Novidade 04 - Modo operacional “Ativado sem exceções”: Este recurso
permite desativar facilmente todas as exceções na lista de exceções do Firewall
do Windows. Embora você precise delas para usar determinados programas, às
vezes é recomendável desativar todas as exceções para obter segurança máxima.
Por exemplo, se você usar seu computador no ponto de acesso de um aeroporto
ou em um cyber café, ele estará vulnerável a vírus e outras ameaças à segurança.
Configurando o Firewall do Windows para ―Ativado sem exceções‖ sempre que
usar o computador em um local público, você reduzirá os riscos Quando voltar a
usar o computador em uma configuração mais segura, você poderá habilitar a
lista de exceções novamente sem problemas.
Para habilitar o modo operacional ―Ativado sem exceções‖, siga os passos indicados a
seguir:
139
1. Faça o logon como Administrador ou com uma conta com permissão de
Administrador.
2. Abra o Painel de Controle: Iniciar -> Painel de Controle.
3. Abra a opção Firewall do Windows.
4. Na guia Geral, marque a opção ―Não permitir exceções‖ e clique em OK.
5. Para desativar o modo operacional ―Ativado sem exceções‖, siga os passos de 1 a
3 novamente e, na guia Geral, desmarque a opção ―Não permitir exceções‖ e clique em
OK
Novidade 05 - Restaurar padrões: Com o tempo, ao adicionar programas ou
portas à lista de exceções do Firewall do Windows, é possível que ele seja
configurado indevidamente para aceitar tráfego de entrada não solicitado,
comprometendo a segurança do computador. Nas versões anteriores do Firewall
do Windows (chamado anteriormente de firewall de conexão com a Internet ou
ICF), não havia uma maneira prática e rápida de reverter para as configurações e
padrões originais. Esta opção permite restaurar o Firewall do Windows a suas
configurações padrão. Além disso, esses padrões podem ser modificados para
oferecer opções de configuração personalizadas.
Para restaurar as configurações Padrão do Firewall do Windows, siga os passos
indicados a seguir:
1. Faça o logon como Administrador ou com uma conta com permissão de
Administrador.
2. Abra o Painel de Controle: Iniciar -> Painel de Controle.
3. Abra a opção Firewall do Windows.
4. Clique na guia Avançado. Na guia Avançado, clique no botão Restaurar padrões,
indicado na Figura a seguir:
140
Figura– A opção Restaurar padrões.
5. Será exibida uma mensagem de confirmação. Clique em Sim para restaurar as
configurações padrão do Firewall do Windows.
6. Você estará de volta à janela de configurações do Firewall. Clique em OK para
fechá-la.
Conclusão
Nesta parte do tutorial mostrei como funciona o serviço firewall do Windows XP,
conhecido como ICF – Internet Connection Firewall. O ICF apresenta funcionalidades
básicas e um nível de proteção satisfatório para usuários domésticos e de pequenas
redes. Para redes empresarias, sem nenhuma dúvida, faz-se necessária a utilização de
produtos projetados especificamente para proteção e desempenho. Um destes produtos é
o Internet Security and Acceleration Server – ISA Server. Maiores detalhes no seguinte
endereço: http://www.microsoft.com/isaserver
Ao fazer uma conexão com a Internet estamos em contato com o mundo; e o mundo em
contato conosco. A Internet é uma ―via de mão dupla‖, ou seja, podemos acessar
recursos em servidores do mundo inteiro, porém o nosso computador também pode ser
141
acessado por pessoas do mundo inteiro, se não tomarmos alguns cuidados básicos com
segurança.
Para nos proteger contra estes ―perigos digitais‖, aprendemos a habilitar e configurar o
ICF – Internet Connector Firewall. Aprendemos sobre o conceito de Firewall e como
configurar o ICF.
142
Introdução ao IPSec
Introdução:
Esta é a décima oitava parte do Tutorial de TCP/IP. Na Parte 1 tratei dos aspectos
básicos do protocolo TCP/IP. Na Parte 2 falei sobre cálculos binários, um importante
tópico para entender sobre redes, máscara de sub-rede e roteamento. Na Parte 3 falei
sobre Classes de endereços, na Parte 4 fiz uma introdução ao roteamento e na Parte 5
apresentei mais alguns exemplos e análises de como funciona o roteamento e na Parte 6
falei sobre a Tabela de Roteamento. Na Parte 7 tratei sobre a divisão de uma rede em
sub-redes, conceito conhecido como subnetting. Na Parte 8 fiz uma apresentação de um
dos serviços mais utilizados pelo TCP/IP, que é o Domain Name System: DNS. O DNS
é o serviço de resolução de nomes usado em todas as redes TCP/IP, inclusive pela
Internet que, sem dúvidas, é a maior rede TCP/IP existente. Na Parte 9 fiz uma
introdução ao serviço Dynamic Host Configuration Protocol – DHCP. Na Parte 10 fiz
uma introdução ao serviço Windows Internet Name Services – WINS. Na Parte 11 falei
sobre os protocolos TCP, UDP e sobre portas de comunicação. Na Parte 12, mostrei
como são efetuadas as configurações de portas em diversos aplicativos que você utiliza
e os comandos do Windows 2000/XP/2003 utilizados para exibir informações sobre
portas de comunicação. Na Parte 13 falei sobre a instalação e a configuração do
protocolo TCP/IP. Na Parte 14 fiz uma introdução sobre o protocolo de roteamento
dinâmico RIP e na Parte 15 foi a vez de fazer a introdução a um outro protocolo de
roteamento dinâmico, o OSPF. Na Parte 16 você aprendeu sobre um recurso bem útil: O
compartilhamento da conexão Internet, oficialmente conhecida como ICS – Internet
Connection Sharing. Este recurso é útil quando você tem uma pequena rede, não mais
do que cinco máquinas, conectadas em rede, todas com o protocolo TCP/IP instalado e
uma das máquinas tem conexão com a Internet. Você pode habilitar o ICS no
computador que tem a conexão com a Internet. Com isso os demais computadores da
rede também passarão a ter acesso à Internet. Na Parte 17, você aprendeu a utilizar o
IFC – Internet Firewall Connection (Firewall de Conexão com a Internet). O IFC faz
parte do Windows XP e do Windows Server 2003, não estando disponível no Windows
2000. O IFC tem como objetivo proteger o acesso do usuário contra “ataques” e
“perigos” vindos da Internet
Nesta décima oitava parte, farei uma apresentação sobre o protocolo IPSec. O IPSec faz
parte do Windows 2000, Windows XP, Windows Server 2003, Windows Vista e
Longhorn Server. O IPSec pode ser utilizado para criar um canal de comunicação
seguro, onde todos os dados que são trocados entre os computadores habilitados ao
IPSec, são criptografados.
O protocolo IPSec
O IPSec é um conjunto de padrões utilizados para garantir uma comunicação segura
entre dois computadores, mesmo que as informações estejam sendo enviadas através de
um meio não seguro, como por exemplo a Internet. Observe que esta definição é
parecida com a definição de VPN – Virtual Private Network. Por isso que a combinação
L2TP/IPSec é uma das opções mais indicadas para a criação de conexões do tipo VPN.
Por exemplo, vamos imaginar uma rede local de uma empresa, onde você quer garantir
a segurança das informações que são trocadas entre a estação de trabalho do Presidente
143
da empresa e as estações de trabalho da diretoria. Ou seja, se um dos diretores acessar
um arquivo em uma pasta compartilhada, no computador do Presidente da empresa,
você quer garantir que todos os dados enviados através da rede sejam criptografados,
para garantir um nível adicional de segurança. Este é um exemplo típico onde a
utilização do protocolo IPSec é recomendada. Ou seja, você pode configurar o
computador do Presidente e os computadores dos diretores, para que somente aceitem
comunicação via IPSec. Com isso estes computadores poderão trocar informações entre
si, mas outros usuários, que não estejam habilitados ao IPSec, não poderão se
comunicar com os computadores com IPSec habilitado.
Uma introdução ao protocolo IPSec
O IPSec é baseado em um modelo ponto-a-ponto, no qual dois computadores, para
trocar informações de maneira segura, usando IPSec, devem ―concordar‖ com um
conjunto comum de regras e definições do IPSec. Com o uso do IPSEc e das
tecnologias associadas, os dois computadores são capazes de se autenticar mutuamente
e manter uma comunicação segura, com dados criptografados, mesmo usando um meio
não seguro, como a Internet.
O uso do protocolo IPSec apresenta funcionalidades importantes, quando existe uma
necessidade de grande segurança na comunicação entre dois computadores. A seguir
apresento as principais destas características:
Uma proteção agressiva contra ataques à rede privada e à Internet
mantendo a facilidade de uso. Ao mesmo tempo em que fornece uma proteção
efetiva contra ataques e tentativas de captura dos dados, o IPSec é fácil de
configurar, com o uso de políticas de segurança.
Um conjunto de serviços de proteção baseados em criptografia e protocolos
de segurança. A criptografia é um dos elementos principais do IPSec, para
garantir que os dados não possam ser acessados por pessoas não autorizadas.
Neste ponto é importante salientar que existem diferentes formas de uso do
IPSec com o Windows 2000. Uma delas é usando o IPSec padrão, conforme
definido pelos padrões do IETF. Este uso é conhecido como uso do IPSec no
modo de túnel. Já uma implementação específica da Microsoft, usa o IPSec em
conjunto com o protocolo L2TP, sendo, nesta implementação, o protocolo L2TP
o responsável pela criptografia dos dados. Este modo é conhecido como modo
de transporte. No modo de túnel somente é possível usar o IPSec em redes
baseadas em IP. Já no modo de transporte, o L2TP é um protocolo de nível de
transporte, por isso é possível usar IPSec/L2TP para transportar não apenas
pacotes IP, mas também IPX, NetBEUI e assim por diante.
Segurança do começo ao fim. Os únicos computadores na comunicação que
devem saber sobre a proteção de IPSec são o remetente e o receptor, ou seja, o
meio através do qual os pacotes são enviados não precisa estar habilitado ao
IPSec. Observem que este é o conceito de enviar informações de uma maneira
segura, usando um meio não seguro. O exemplo típico é a criação de VPNs,
usando a Internet. A Internet em si, baseada apenas no protocolo TCP/IP não é
um meio seguro, uma vez que, por padrão, os dados não são criptografados.
Porém adicionando técnicas de criptografia e tunelamento, disponíveis com o
144
uso do IPSec com o L2TP, podemos criar túneis seguros, através de um meio
não seguro. É o conceito de VPN em sua essência.
A capacidade de proteger a comunicação entre grupos de trabalho,
computadores de rede local, clientes e servidores de domínio, escritórios de
filiais que podem ser fisicamente remotos, extranets, clientes móveis e
administração remota de computadores.
Configuração baseada em diretivas de segurança
Os métodos de segurança mais fortes que são baseados em criptografia têm a
capacidade de aumentar muito a sobrecarga administrativa. A implementação do IPSec
no Windows 2000 Server e no Windows Server 2003 evita esse problema
implementando a administração do IPSec com base em diretivas de segurança,
configuradas via GPOs.
Nota: Para detalhes completos sobre Group Policy Objects (GPOs), consulte o livro:
Windows Server 2003 – Curso Completo, 1568 páginas, de minha autoria, publicado
pela Axcel Books. Para comprar este livro com um excelente desconto e ainda ganhar
cursos de brinde, acesse o seguinte endereço: http://www.juliobattisti.com.br/clube.htm
Em vez de aplicativos ou sistemas operacionais, você usa as diretivas para configurar o
IPSec. Como as configurações são aplicadas via GPOs, o Administrador pode aplicar as
configurações de IPSec a todos os computadores de um domínio, site ou unidade
organizacional. O Windows 2000 e o Windows Server 2003 fornecem um console de
gerenciamento central, o Gerenciamento de diretivas de segurança IP, para definir e
gerenciar as diretivas de IPSec. As diretivas podem ser configuradas para fornecer
níveis variáveis de proteção para a maioria dos tipos de tráfego na maioria das redes
existentes, com a aplicação de filtros e regras personalizadas.
Existe um conjunto de diretivas básicas, para habilitar o IPSec, que determinam como
será efetuada a comunicação entre os computadores com o IPSec habilitado. A seguir
descrevo, resumidamente, estas diretivas padrão, disponíveis no Windows 2000 Server
e no Windows Server 2003:
Server (Request Security): Ao habilitar esta diretiva, também serão aceitas
comunicações não seguras, porém para estabelecer uma conexão segura, os
clientes devem utilizar um método de autenticação aceito pelo servidor. Com
esta política serão aceitas comunicações não seguras (não utilizando IPSec), se o
outro lado não suportar o uso do IPSec. Ou seja, quando o cliente tenta se
comunicar com o servidor, o Servidor tenta estabelecer uma comunicação
usando IPSec. Se o cliente não estiver configurado para utilizar o IPSec, a
comunicação será estabelecida mesmo assim, sem a utilização de IPSec.
Client (Respond only): Esta política é indicada para computadores da rede
interna, da Intranet da empresa. Ao iniciar a comunicação com outros
computadores, não será utilizado o IPSec. Contudo se o outro computador exigir
o uso do IPSec, a comunicação via IPSec será estabelecida.
Security Server (Request Security): Aceita um início de comunicação não
seguro, mas requer que os clientes estabeleçam uma comunicação segura,
145
usando IPSec e um dos métodos aceitos pelo servidor. Se o cliente não puder
atender estas condições, a comunicação não será estabelecida.
Uma maneira mais simples de fornecer proteção dos dados
A implementação da IPSec no nível de transporte IP (Camada de rede, nível 3) permite
um alto nível de proteção com pouca sobrecarga. A implementação do IPSec não
requer nenhuma alteração nos aplicativos ou sistemas operacionais existentes,
basta a configuração das diretivas de segurança, para que o computador passe a
usar o IPSec. Automaticamente, todos os programas instalados no computador,
passarão a utilizar o IPSec para troca de informações com outros computadores
também habilitados ao IPSec. Isso é bem mais fácil de implementar e de
administrar do que ter que configurar a criptografia e segurança em cada
aplicativo ou serviço.
Outros mecanismos de segurança que operam sobre a camada de rede 3, como Secure
Sockets Layer (SSL), só fornecem segurança a aplicativos habilitados ao SSL, como os
navegadores da Web. Você deve modificar todos os outros aplicativos para proteger as
comunicações com SSL, ou seja, os programas tem que ser alterados para poderem
utilizar o SSL. Os mecanismos de segurança que operam abaixo da camada de rede 3,
como criptografia de camada de vínculo, só protegem o link, mas não necessariamente
todos os links ao longo do caminho de dados. Isso torna a criptografia da camada de
links inadequada para proteção de dados do princípio ao fim na Internet ou na Intranet
da empresa.
A implementação do IPSec na Camada de rede 3 fornece proteção para todos os
protocolos IP e de camada superior no conjunto de protocolos TCP/IP, como TCP,
UDP, ICMP, etc. A principal vantagem de informações seguras nessa camada é que
todos os aplicativos e serviços que usam IP para transporte de dados podem ser
protegidos com IPSec, sem nenhuma modificação nos aplicativos ou serviços (para
proteger protocolos diferentes de IP, os pacotes devem ser encapsulados por IP).
Características e componentes do protocolo IPSec
Quando o IPSec é habilitado e dois computadores passam a se comunicar usando IPSec,
algumas modificações são efetuadas na maneira como é feita a troca de informações
entre estes computadores.
A primeira mudança é que o protocolo IPSec adiciona um cabeçalho (Header) em todos
os pacotes. Este cabeçalho é tecnicamente conhecido como AH (Authentication header).
Este cabeçalho desempenha três importantes funções:
É utilizado para a autenticação entre os computadores que se comunicarão
usando IPSec.
É utilizado para verificar a integridade dos dados, ou seja, para verificar se os
dados não foram alterados ou corrompidos durante o transporte.
Impede ataques do tipo repetição, onde pacotes IPSec são capturados e em
seguida reenviados ao destino, em uma tentativa de ter acesso ao computador de
146
destino. O cabeçalho de autenticação impede este tipo de ataque, pois contém
informações que permitem ao destinatário identificar se um pacote já foi
entregue ou não. No cabeçalho AH estão, dentre outras, as seguintes
informações: A identificação do próximo cabeçalho, o tamanho do cabeçalho,
parâmetros de segurança, número de seqüência e autenticação de dados (contém
informações para a verificação da integridade de dados).
Um detalhe importante a salientar é que o cabeçalho de identificação não é
criptografado e não é utilizado para criptografar dados. Conforme o nome sugere ele
contém informações para a autenticação e para verificação da integridade dos dados.
Mas além da autenticação mútua e da verificação da integridade dos dados é preciso
garantir a confidencialidade dos dados, ou seja, se os pacotes forem capturados é
importante que não possam ser lidos a não ser pelo destinatário. A confidencialidade
garante que os dados somente sejam revelados para os verdadeiros destinatários.
Para garantir a confidencialidade, o IPSec usa pacotes no formato Encapsulating
Security Payload (ESP). Os dados do pacote são criptografados antes da transmissão,
garantindo que os dados não possam ser lidos durante a transmissão mesmo que o
pacote seja monitorado ou interceptado por um invasor. Apenas o computador com a
chave de criptografia compartilhada será capaz de interpretar ou modificar os dados. Os
algoritmos United States Data Encryption Standard (DES padrão dos Estados Unidos),
DES (Data Encryption Standard) e 3DES (Triple Data Encryption Standard) são usados
para oferecer a confidencialidade da negociação de segurança e do intercâmbio de dados
de aplicativo. O Cipher Block Chaining (CBC) é usado para ocultar padrões de blocos
de dados idênticos dentro de um pacote sem aumentar o tamanho dos dados após a
criptografia. Os padrões repetidos podem comprometer a segurança fornecendo uma
pista que um invasor pode usar para tentar descobrir a chave de criptografia. Um vetor
de inicialização (um número inicial aleatório) é usado como o primeiro bloco aleatório
para criptografar e descriptografar um bloco de dados. Diferentes blocos aleatórios são
usados junto com a chave secreta para criptografar cada bloco. Isso garante que
conjuntos idênticos de dados não protegidos sejam transformados em conjuntos
exclusivos de dados criptografados.
Usando as tecnologias descritas, o protocolo IPSec apresenta as seguintes características
e funcionalidades:
A configuração e habilitação do IPSec é baseada no uso de Polices: Não
existe outra maneira de criar, configurar e habilitar o IPSec a não ser com o uso
de uma GPO. Isso facilita a configuração e aplicação do IPSec a grupos de
computadores, como por exemplo, todos os computadores do domínio ou de um
site ou de uma unidade organizacional.
Quando dois computadores vão trocar dados usando IPSec, a primeira etapa é
fazer a autenticação mútua entre os dois computadores. Nenhuma troca de dados
é efetuada, até que a autenticação mútua tenha sido efetuada com sucesso.
O IPSec utiliza o protocolo Kerberos para autenticação dos usuários.
147
Quando dois computadores vão se comunicar via IPSec, é criada uma SA
(Securtiy Association – associação de segurança) entre os computadores. Na SA
estão definidas as regras de comunicação, os filtros a serem aplicados e o
conjunto de chaves que será utilizado para criptografia e autenticação.
O protocolo IPSec pode utilizar certificados de chave pública para confiar em
computadores que utilizam outros sistemas operacionais, como por exemplo o
Linux.
O IPSec fornece suporte ao pré-compartilhamento de uma chave de segurança
(preshared key support). Em situações onde não está disponível o uso do
protocolo Kerberos, uma chave, como por exemplo a definição de uma senha,
pode ser configurada ao criar a sessão IPSec. Esta chave tem que ser informada
em todos os computadores que irão trocar dados de forma segura, usando IPSec.
Conforme descrito anteriormente, o uso do IPSec é absolutamente transparente
para os usuários e aplicações. O computador é que é configurado para usar o
IPSec. Os programas instalados neste computador passam a usar o IPSec, sem
que nenhuma modificação tenha que ser efetuada. Os dados são interceptados
pelo sistema operacional e a comunicação é feita usando IPSec, sem que os
usuários tenha que fazer quaisquer configurações adicionais.
Conclusão
Nesta parte do tutorial fiz uma breve apresentação do protocolo IPSec, o qual já é parte
integrante do Windows 2000, Windows XP e Windows Server 2003. Inicialmente
apresentei a fundamentação teórica sobre IPSec, para que o leitor possa entender
exatamente o que é o IPSec e quando utilizá-lo. Mostrei que este protocolo é
configurado e habilitado através do uso de políticas de segurança e que existem
diferentes modelos de políticas de segurança disponíveis no Windows 2000 Server e/ou
Windows Server 2003.
O IPSec é um conjunto de padrões utilizados para garantir uma comunicação segura
entre dois computadores, mesmo que as informações estejam sendo enviadas através de
um meio não seguro, como por exemplo a Internet. Observe que esta definição é
parecida com a definição de VPN. Por isso que a combinação L2TP/IPSec é uma das
opções para a criação de conexões do tipo VPN.
O IPSec é baseado em um modelo ponto-a-ponto, no qual dois computadores, para
trocar informações de maneira segura, usando IPSec, devem ―concordar‖ com um
conjunto comum de regras e definições do IPSec. Com o uso do IPSEc e das
tecnologias associadas, os dois computadores são capazes de se autenticar mutuamente
e manter uma comunicação segura, com dados criptografados, mesmo usando um meio
não seguro, como a Internet.
148
Certificados Digitais e Segurança
Esta é a décima nona parte do Tutorial de TCP/IP. Na Parte 1 tratei dos aspectos básicos
do protocolo TCP/IP. Na Parte 2 falei sobre cálculos binários, um importante tópico
para entender sobre redes, máscara de sub-rede e roteamento. Na Parte 3 falei sobre
Classes de endereços, na Parte 4 fiz uma introdução ao roteamento e na Parte 5
apresentei mais alguns exemplos e análises de como funciona o roteamento e na Parte 6
falei sobre a Tabela de Roteamento. Na Parte 7 tratei sobre a divisão de uma rede em
sub-redes, conceito conhecido como subnetting. Na Parte 8 fiz uma apresentação de um
dos serviços mais utilizados pelo TCP/IP, que é o Domain Name System: DNS. O DNS
é o serviço de resolução de nomes usado em todas as redes TCP/IP, inclusive pela
Internet que, sem dúvidas, é a maior rede TCP/IP existente. Na Parte 9 fiz uma
introdução ao serviço Dynamic Host Configuration Protocol – DHCP. Na Parte 10 fiz
uma introdução ao serviço Windows Internet Name Services – WINS. Na Parte 11 falei
sobre os protocolos TCP, UDP e sobre portas de comunicação. Na Parte 12, mostrei
como são efetuadas as configurações de portas em diversos aplicativos que você utiliza
e os comandos do Windows 2000/XP/2003 utilizados para exibir informações sobre
portas de comunicação. Na Parte 13 falei sobre a instalação e a configuração do
protocolo TCP/IP. Na Parte 14 fiz uma introdução sobre o protocolo de roteamento
dinâmico RIP e na Parte 15 foi a vez de fazer a introdução a outro protocolo de
roteamento dinâmico, o OSPF. Na Parte 16 você aprendeu sobre um recurso bem útil: O
compartilhamento da conexão Internet, oficialmente conhecida como ICS – Internet
Connection Sharing. Este recurso é útil quando você tem uma pequena rede, não mais
do que cinco máquinas, conectadas em rede, todas com o protocolo TCP/IP instalado e
uma das máquinas tem conexão com a Internet. Você pode habilitar o ICS no
computador que tem a conexão com a Internet. Com isso os demais computadores da
rede também passarão a ter acesso à Internet. Na Parte 17, você aprendeu a utilizar o
IFC – Internet Firewall Connection (Firewall de Conexão com a Internet). O IFC faz
parte do Windows XP e do Windows Server 2003, não estando disponível no Windows
2000. O IFC tem como objetivo proteger o acesso do usuário contra “ataques” e
“perigos” vindos da Internet. Na Parte 18 fiz uma apresentação sobre o protocolo
IPSec. O IPSec faz parte do Windows 2000, Windows XP e Windows Server 2003. O
IPSec pode ser utilizado para criar um canal de comunicação seguro, onde todos os
dados que são trocados entre os computadores habilitados ao IPSec, são criptografados.
Nesta décima nona parte, farei uma apresentação sobre o conceito de PKI – Public Key
Infrastructure e Certificados Digitais. O Windows 2000 Server e também o Windows
Server 2003 disponibilizam serviços para a emissão, gerenciamento e revogação de
Certificados Digitais. Você também entenderá o papel dos Certificados Digitais em
relação à segurança das informações.
Apresentarei o conceito de PKI - Public Key Infrastructure (Infraestrutura de chave
pública). Você verá que uma Public Key Infrastructure (Infraestrutura de chave
pública), abreviada simplesmente como PKI, nada mais é do que uma infraestrutura de
segurança baseada em certificados digitais, em autoridades certificadores (CA –
Certificate Authorities - que emitem e revogam os certificados) e autoridades de
registro, as quais fazem a verificação da autenticidade de todas as estruturas envolvidas
em uma PKI.
149
Nesta parte do tutorial você entenderá o que vem a ser uma PKI, aprenderá sobre os
conceitos básicos de uso de um par de chaves para fazer a criptografia e proteção dos
dados. Também mostrarei qual o papel do Microsoft Certification Service, que é o
servidor da Microsoft para a emissão e controle de certificados digitais, serviço este
disponível no Windows 2000 Server e também no Windows Server 2003. Com o uso do
Microsoft Certificate Services, a empresa pode montar a sua própria infraestrutura de
certificados digitais, sem depender de uma autoridade certificadora externa.
Nota: Para aprender a instalar, configurar e a administrar o Microsoft Certificate
Services, consulte o Capítulo 7 do meu livro: Manual de Estudos Para o Exame 70-216,
712 páginas.
O uso de Certificados e uma infra-estrutura de chave pública é uma alternativa de baixo
custo, para ambientes que precisam de níveis de segurança elevados, como por exemplo
departamentos de pesquisa de novos produtos e tecnologias, ou órgãos governamentais
estratégicos, como os órgãos de defesa e de segurança. Com o uso do Microsoft
Certificate Services é possível criar a administrar uma estrutura de segurança baseada
em Certificados Digitais.
Microsoft Certificate Services e PKI
Neste tópico apresentarei o conceito de PKI e de criptografia baseada em um par de
chaves de criptografia: uma chave pública e uma chave privada. Você verá que os
Certificados digitais tem papel fundamental em uma estrutura de PKI. Neste tópico você
também aprenderá a instalar e a configurar o Microsoft Certificate Services.
Uma introdução sobre Certificados e PKI – Public Key Infrastructure
Segurança mais do que nunca é um assunto sempre em pauta. De tempos em tempos um
novo vírus causa pânico na Internet, novos tipos de ataques são notificados, sites ficam
indisponíveis devido a ataques de hackers, problemas com a segurança no acesso a
dados que facilitam a vida de fraudadores e por aí vai.
No Windows 2000, Windows XP e no Windows Server 2003 existem diversas maneiras
de proteger seus dados: permissões NTFS, criptografia, uso do NAT para acesso à
Internet, uso de Group Policy Objects, uso de diretivas de segurança, direitos de
usuários e por aí vai. Neste tópico, abordarei mais um assunto relacionado com
segurança: Certificados Digitais.
Uma pergunta que o amigo leitor poderia fazer é a seguinte: ―Por que existem tantos
ataques de segurança e por que os hackers parecem conhecer tão bem os sistemas das
empresas?‖.
Um dos motivos é porque hoje o mundo inteiro (literalmente) utiliza o mesmo protocolo
para comunicação e troca de dados: TCP/IP. Como o TCP/IP é amplamente conhecido e
documentado, esta informação também é utilizada por hackers, para tentar descobrir
falhas no próprio protocolo, falhas estas que permitam quebra de segurança dos
sistemas informatizados das empresas. Evidentemente que, na maioria das vezes, os
ataques são bem sucedidos, porque os programas foram instalados com as opções
150
padrão (out of the Box – como saíram da caixa (a tradução é por minha conta e risco)),
sem se preocupar em ajustar devidamente as configurações de segurança.
Nota: Um dos pontos onde o Windows Server 2003 melhorou, e muito, em relação ao
Windows 2000 Server foi nas configurações de segurança out of the Box. Ou seja, as
configurações padrão de segurança do Windows Server 2003, são bem mais severas,
restringem bem mais o acesso do que as configurações padrão de segurança do
Windows 2000 Server. A idéia é simples mas muito eficiente. Por padrão, o nível
mínimo de acesso, necessário ao funcionamento do recurso. Se houver necessidade de
modificações nas configurações de segurança, estas poderão ser feitas pelo
administrador.
Com o uso do TCP/IP como protocolo de comunicação, os dados não são protegidos por
padrão, isto é, não são criptografados. Ou seja, se um hacker interceptar uma
transmissão, terá acesso aos dados sem maiores problemas, uma vez que não é usada
criptografia, por padrão. Claro que para muitas situações, a criptografia e outros
recursos de segurança são perfeitamente dispensáveis. Por exemplo, quando você acessa
o site de uma empresa para obter informações gerais sobre a empresa. Estas
informações são de domínio público (afinal estão no site da empresa) e não há
necessidade de criptografá-las. Agora quando você faz uma compra pela Internet,
usando o seu cartão de crédito, ou quando você faz transações bancárias usando o site
do seu Banco, a coisa muda completamente de figura. Ou seja, você quer o máximo de
segurança possível. De maneira alguma você gostaria que alguém pudesse interceptar o
seu número de conta, agência e senha.
Inicialmente criou-se um método de criptografia, onde os dados eram criptografados
usando uma determinada chave de criptografia. A chave é um código com um
determinado número de bits. Usa-se este código, juntamente com operações lógicas,
para ―embaralhar‖, ou seja, criptografar os dados. A seqüência de operações lógicas que
é realizada com os dados, usando a chave de criptografia, é definida pelo algoritmo de
criptografia. Em seguida os dados e a chave de criptografia são enviados para o
destinatário. O destinatário recebe os dados e a chave de criptografia e utiliza esta chave
para ―descriptografar‖ os dados. Um método bem seguro, não?
Não. Este método tem dois problemas principais, os quais são descritos a seguir:
1. A chave de criptografia é enviada junto com os dados: Com isso, se um hacker
interceptar os dados, terá também acesso a chave de criptografia. Usando a chave (os
algoritmos de criptografia são de domínio público, a segurança é baseada normalmente
no tamanho da chave. Usam-se chaves com um grande número de bits, para que seja
difícil descobrir a chave que está sendo utilizada) o hacker poderá descriptografar os
dados e ter acesso ao conteúdo da mensagem. Pior, o hacker poderia alterar a mensagem
e enviá-la, alterada, para o destinatário, o qual não teria como saber que a mensagem foi
alterada.
2. No final do parágrafo anterior eu descrevo o segundo problema com este método:
ele não permite a verificação da identidade de quem envio a mensagem. Ou seja,
um hacker interceptou a mensagem, usou a chave para descriptografá-la, alterou a
mensagem e a enviou para o destinatário. O destinatário recebe a mensagem e não tem
como verificar se a mensagem veio do emissor verdadeiro ou veio de um hacker. Com
151
este método não é possível verificar e garantir que o emissor seja quem ele diz ser. Não
há como verificar a identidade do emissor.
Vejam que somente o uso da criptografia, baseada em uma chave privada (chave
enviada junto com a mensagem), não é tão seguro como pode parecer. Para solucionar
esta questão é que surgiram os Certificados Digitais, com os quais é possível
implementar uma infra-estrutura conhecida como PKI - Public Key Infrastructure
(Infraestrutura de chave pública). Esta infra-estrutura é baseada no uso de certificados
digitais e de um par de chaves: uma chave pública e uma chave privada. A seguir
descrevo os princípios básicos de um infra-estrutura baseada em chaves pública e
privada, para que você possa entender como esta infra-estrutura resolve os dois
problemas apontados no método anterior.
Em uma rede que usa PKI, um Certificado Digital é criado para cada usuário. O
Certificado Digital fica associado com a conta do usuário no Active Directory. Para
cada usuário é criado um par de chaves: uma chave pública e uma chave privada. A
chave pública fica disponível no Active Directory e a chave privada fica com o usuário.
O mais comum é a chave privada ficar gravada no Certificado Digital do usuário, em
um disquete que fica com o usuário ou, mais comum ainda, em um Smart Card. Agora
vamos entender como funciona a criptografia baseada em um par de chaves: uma
pública e outra privada.
Dados que são criptografados com uma das chaves, somente poderão ser
descriptografados com a outra chave. Por exemplo, se você criptografar dados com a
chave pública do usuário jsilva, estes dados somente poderão ser descriptografados com
a chave privada do usuário jsilva.
Vamos imaginar que o usuário jsilva precisa enviar dados para o usuário maria. Os
dados são criptografados com a chave pública do usuário Maria – chave pública do
destinatário. Com a infraestrutura de PKI, as chaves públicas ficam disponíveis para
serem acessadas por quaisquer usuário. A chave pública fica gravada no Certificado
Digital do usuário e a lista de Certificados Digitais fica publicada para acesso em um
servidor de certificados digitais (este é o papel do Microsoft Certificate Services, ou
seja, emitir, publicar, dar acesso a e revogar certificados digitais para os usuários).
A chave pública do usuário maria é utilizada pelo usuário jsilva para criptografar os
dados, antes de enviá-los para o usuário maria. Como os dados foram criptografados
com a chave pública do usuário maria, a pergunta é: qual a única chave que poderá
descriptografar estes dados? A chave privada do usuário maria, a qual somente o
usuário maria tem acesso. Com este método, quando o usuário maria recebe os dados,
ele utilizará a sua chave privada para descriptografá-los. Se um hacker interceptar os
dados, ele não conseguirá descriptografá-los, pois não tem acesso a chave privada do
usuário maria. Observe que com este método, a chave que será utilizada para
descriptografar os dados, não é enviada junto com a mensagem. Além disso, a
mensagem é criptografada de tal maneira que somente o destinatário é capaz de
descriptografá-la, ou melhor, a chave privada do destinatário. Como a mensagem é
criptografada com a chave pública do destinatário, somente o próprio destinatário (que é
quem tem acesso a sua chave privada), será capaz de descriptografar a mensagem.
152
Observe que com este método é solucionado o problema de ter que enviar a chave de
criptografia junto com a mensagem. O problema de verificação da identidade, de ter
certeza que o remetente é quem diz realmente ser, é solucionado com o uso de
Certificados digitais. De uma maneira simples, podemos resumir uma PKI como sendo
uma infra-estrutura de segurança, baseada no uso de um par de chaves (uma pública e
uma privada) e de Certificados Digitais.
Um pouco sobre Certificados Digitais
De uma maneira simples, o Certificado Digital é a versão eletrônica da sua identificação
de usuário na rede (usuário e senha). O Certificado Digital é como se fosse a “carteira
de identidade” do usuário na rede. No Windows 2000 Server e no Windows Server
2003, o certificado digital do usuário também é conhecido (na documentação oficial),
como um Certificado de chave pública, uma vez que uma das informações gravadas no
certificado digital do usuário é justamente a sua chave pública.
Um certificado de chave pública, geralmente chamado somente de certificado, é uma
declaração assinada digitalmente que vincula o valor de uma chave pública à identidade
da pessoa (conta do usuário no Active Directory), dispositivo ou serviço que contém a
chave privada correspondente.
Os Certificados Digitais podem ser emitidos para uma série de funções, tais como
autenticação de usuário na Internet, autenticação de um servidor Web, correio eletrônico
seguro (S/MIME), IPSec, para utilização com o protocolo Transaction Layer Security
(TLS, segurança de camada de transação) e assinatura de códigos (por exemplo, todos
os programas desenvolvidos pela Microsoft são assinados, digitalmente, com o
Certificado digital da Microsoft. O Windows 2000 Server pode ser configurado para
não instalar drives ou programas que não estejam assinados digitalmente ou cujos
certificados com os quis foram assinados, não possam ser verificados quanto a sua
autenticidade).
Os certificados digitais tem que ser emitidos por uma Autoridade Certificadora (CA –
Certificate Authority). Uma opção é usar uma autoridade certificadora externa, como
por exemplo a Veri Sign, que é uma empresa especializada em segurança e em
certificação digital (www.verisign.com). Com o Windows 2000 Server (e também com
o Windows Server 2003), está disponível o Microsoft Certificate Services, que é um
servidor que permite criar uma autoridade certificadora na própria rede da empresa, sem
ter que fazer uso de uma entidade certificadora externa. Ao utilizar o Certificate
Services para a emissão e gerenciamento de certificados, os certificados digitais poderão
ser utilizados pelos usuários, para fazer o logon na rede. Os certificados também são
emitidos de uma autoridade de certificação para outra a fim de estabelecer uma
hierarquia de certificação. Usando o Certificate Services você poderá criar uma
hierarquia de certificação na rede da empresa.
A maioria dos certificados em uso hoje em dia são baseados no padrão X.509. Esta é a
tecnologia fundamental usada na public key infrastructure (PKI) do Windows 2000 e do
Windows Server 2003.
Normalmente, os certificados contêm as seguintes informações:
153
Chave pública do usuário
Informações da identificação do usuário (como o nome e o endereço de correio
eletrônico)
Período de validade (o período de tempo em que o certificado é considerado
válido)
Informações sobre a identificação do emissor do certificado.
A assinatura digital do emissor, que atesta a validade da ligação entre a chave
pública do usuário e as informações de identificação do usuário.
Um certificado só é válido pelo período de tempo nele especificado, ou seja, o
certificado tem prazo de validade e tem que ser renovado periodicamente. Esta é uma
medida importante para aumentar o nível de segurança, pois a cada renovação, um novo
par de chaves é gerado. Cada certificado contém datas ―Válido de‖ e ―Válido até‖, que
limitam o período de validade. Depois que o período de validade de um certificado
terminar, um novo certificado deve ser solicitado pelo usuário do agora expirado
certificado.
Em situações em que seja necessário desabilitar um certificado, este pode ser revogado
pelo emissor. Cada emissor mantém uma lista de certificados revogados (CRL –
Certification Revocation List), a qual é usada pelos programas quando a validade de um
determinado certificado está sendo verificada. Por exemplo, programas que usam
certificados para autenticação, ao receberem uma tentativa de acesso, primeiro entram
em contato com a autoridade certificadora (no caso do Windows 2000 Server um
servidor com o Microsoft Certificate Services) para verificar se o certificado que está
sendo apresentado para logon, não está na lista dos certificados revogados – CRL. Se o
certificado estiver na CRL, o logon será negado.
Certificados e Autoridades de Certificação
Todo certificado é emitido por uma Autoridade de Certificação (CA – Certificate
Authority). A autoridade de certificação, a partir de agora denominada apenas CA, é
responsável pela verificação sobre a veracidade dos dados do usuário que está
requisitando o certificado. Por exemplo, qualquer usuário pode solicitar um certificado
para utilizar na Internet. Para obter o certificado ele precisa utilizar os serviços de uma
CA, como por exemplo a VeriSign (www.verisign.com).
Uma autoridade de certificação é uma entidade encarregada de emitir certificados para
indivíduos, computadores ou organizações, sendo que os certificados é que confirmam a
identidade e outros atributos do usuário do certificado, para outras entidades. Uma
autoridade de certificação aceita uma solicitação de certificado, verifica as informações
do solicitador (incluindo aí uma série de documentos e comprovantes, os quais devem
ser apresentados pelo solicitante do certificado) e, em seguida, usa sua chave privada
para aplicar a assinatura digital no certificado. A autoridade de certificação emite então
o certificado para que o usuário do certificado o use como uma credencial de segurança
dentro de uma infra-estrutura de chave pública (PKI). Uma autoridade de certificação
também é responsável por revogar certificados e publicar uma lista de certificados
revogados (CRL).
Uma autoridade de certificação pode ser uma empresa que presta o serviço de
autoridade certificadora, como o VeriSign, ou pode ser uma autoridade de certificação
154
que você cria para ser usada por sua própria organização, instalando os Serviços de
certificados do Windows 2000 Server ou do Windows Server 2003. Cada autoridade de
certificação pode ter requisitos diferentes de prova de identidade, como uma conta de
domínio do Active Directory, crachá de empregado, carteira de motorista, solicitação
autenticada ou endereço físico. Verificações de identificação como essa geralmente
asseguram uma autoridade de certificação no local, de tal modo que as organizações
possam validar seus próprios empregados ou membros.
As autoridades de certificação corporativas do Windows 2000 Server usam as
credenciais da conta de usuário do Active Directory de uma pessoa, como prova de
identidade. Em outras palavras, se você tiver efetuado logon em um domínio do
Windows 2000 Server e solicitar um certificado de uma autoridade de certificação
corporativa, a autoridade de certificação saberá que você é quem o Active Directory
―diz que você é‖.
Todas as autoridades de certificação têm um certificado para confirmar sua própria
identidade, emitido por outra autoridade de certificação confiável ou, no caso de
autoridades de certificação raiz, emitido por elas mesmas. É importante lembrar que
qualquer pessoa pode criar uma autoridade de certificação. A questão real é se você,
como um usuário ou um administrador, confia naquela autoridade de certificação e, por
extensão, nas diretivas e procedimentos que ela emprega para confirmar a identidade
dos certificados emitidos para entidades por essa autoridade de certificação.
Em uma rede baseada no Windows 2000 Server (ou no Windows Server 2003), o
administrador também pode utilizar uma CA externa. Porém, com o uso do Microsoft
Certificate Services, o administrador pode criar sua própria autoridade certificadora. O
Certificate Services da Microsoft permite a criação de sofisticados ambientes de
certificação, com a criação de uma hierarquia de CAs. Com o uso do Certificate
Services podem ser criadas os seguintes tipos de autoridades certificadoras, os quais
serão descritos mais adiante:
Enterprise Root CA.
Enterprise Subordinate CA.
Standalone Root CA.
Standalone Subordinate CA
Ao criar uma estrutura interna para criação e gerenciamento de certificados digitais,
você deve definir os procedimentos que serão utilizados para verificar a veracidade dos
dados dos usuários que estão solicitando certificados. Por exemplo, você pode utilizar
as informações do Active Directory, como sendo as informações oficiais de cada
funcionário, porém o funcionário tem acesso a alterar as informações da sua conta no
Active Directory. Com isso você terá que montar uma metodologia formal de
verificação (um pouco de burocracia as vezes se faz necessária). Por exemplo, você
pode solicitar que o chefe imediato do funcionário confirme os dados em um formulário
na Intranet da empresa (formulário de papel também já seria demais).
A existência de uma autoridade certificadora significa que você tem confiança de que a
autoridade de certificação possui as diretivas corretas no local correto e ao avaliar as
solicitações de certificado, irá negar certificados para qualquer entidade que não atender
a essas diretivas. Esta é uma questão fundamental para garantir a identidade dos
155
usuários. Ao fazer uma verificação rigorosa dos dados informados, antes de emitir um
certificado para um usuário, servidor ou computador, a CA garante que quem obtém o
certificado realmente é quem diz ser – prova de identidade. Por isso a importância
fundamental de definir uma metodologia clara, simples e de fácil execução, para a
verificação dos dados, antes de emitir os certificados.
Além disso, você confia que a autoridade de certificação irá revogar certificados que
não devem mais ser considerados válidos, através da publicação de uma lista de
certificados revogados, sempre atualizada (CRL – Certificate Revocation List). As listas
de certificados revogados são consideradas válidas até expirarem. Logo, mesmo que a
CA publique uma nova lista de certificados revogados com os certificados recém
revogados listados, todos os clientes que possuírem uma lista de revogação de
certificados antiga não irão procurar nem recuperar a lista nova até que a antiga expire
ou seja excluída. Os clientes podem usar uma página Web da CA para recuperar
manualmente a lista de certificados revogados mais atual, caso seja necessário.
Para serviços, computadores e usuários do Windows 2000 Server, a confiança em uma
autoridade de certificação é estabelecida quando você possui uma cópia do certificado
raiz no armazenamento das autoridades de certificação raiz confiáveis e tem um
caminho de certificação válido, significando que nenhum dos certificados no caminho
de certificação foi revogado ou que seus períodos de validade expiraram. O caminho de
certificação inclui todos os certificados emitidos para cada CA na hierarquia da
certificação de uma CA subordinada para a CA raiz. Por exemplo, para uma CA raiz, o
caminho de certificação é um certificado, seu próprio certificado auto-assinado. Para
uma CA subordinada, abaixo da CA raiz na hierarquia, seu caminho de certificação
inclui 2 certificados, seu próprio certificado e o certificado da CA raiz.
Caso sua empresa esteja usando o Active Directory, a confiança nas autoridades de
certificação da organização será estabelecida automaticamente, baseada nas decisões e
configurações realizadas pelo administrador do sistema e nas relações de confiança
criadas automaticamente pelo Active Directory.
Os diferentes tipos de Autoridades Certificadores
Conforme descrito anteriormente, podem ser criados diferentes tipos de autoridades
certificadoras. Pode ser uma autoridade certificadora corporativa (Enterprise) ou
Autônoma (Standalone). Cada um destes tipos pode ser uma autoridade certificadora
root ou subordinada. Com isso ficamos com os quatro tipos possíveis de autoridades
certificadores:
Corporativa root CA
Corporativa subordinada CA
Autônoma root CA
Autônoma subordinada CA
Uma autoridade de certificação raiz, mais conhecida como autoridade root, é encarada
como o tipo mais confiável de autoridade de certificação na PKI de uma organização.
Geralmente, tanto a segurança física como a diretiva de emissão de certificados de uma
autoridade de certificação raiz são mais rigorosas do que as de autoridades de
certificação subordinadas.
156
Se a autoridade de certificação raiz estiver comprometida ou emitir um certificado
para uma entidade não autorizada, toda a segurança baseada em certificados, da
sua organização, estará vulnerável e não será mais confiável. Enquanto as
autoridades de certificação raiz podem ser usadas para emitir certificados para usuários
finais em tarefas como enviar correio eletrônico seguro, na maioria das organizações
elas são usadas apenas para emitir certificados para outras autoridades de certificação,
chamadas de subordinadas.
Uma autoridade de certificação subordinada é uma autoridade de certificação que
foi certificada por outra autoridade de certificação de sua organização, ou seja,
está subordinada a outra entidade certificadora. Se a entidade principal deixar de ser
confiável, todas as entidades subordinadas também o deixarão de ser. Geralmente, uma
autoridade de certificação subordinada emitirá certificados para usos específicos, como
correio eletrônico seguro, autenticação baseada na Web ou autenticação de cartões
inteligentes. Autoridades de certificação subordinadas também podem emitir
certificados para outras autoridades de certificação subordinadas em um nível abaixo
delas. Com isso é possível criar uma hierarquia de entidades certificadores. Juntas, a
autoridade de certificação raiz, as autoridades de certificação subordinadas certificadas
pela raiz e as autoridades de certificação subordinadas que foram certificadas por outras
autoridades de certificação subordinadas formam uma hierarquia de certificação.
Autoridades de certificação corporativas
Você pode instalar o Microsoft Certificate Services para criar uma autoridade de
certificação corporativa, na Intranet da empresa. Autoridades de certificação
corporativas podem emitir certificados para várias finalidades, tais como assinaturas
digitais, correio eletrônico seguro usando S/MIME (extensões multipropósito do
Internet Mail protegidas), autenticação para um servidor Web seguro usando Secure
Sockets Layer (SSL, camada de soquetes de segurança) ou segurança da camada de
transporte (TLS) e logon em um domínio do Windows 2000 Server ou Windows Server
2003, usando um cartão inteligente (smart card).
Uma autoridade de certificação corporativa apresenta as seguintes características e
exigências:
Uma autoridade de certificação corporativa exige o Active Directory.
Quando você instala uma autoridade de certificação corporativa raiz, ela é
automaticamente adicionada ao armazenamento de certificados das Autoridades
de certificação raiz confiáveis, para todos os usuários e computadores do
domínio. Você precisa ser administrador de domínio ou administrador com
direito de gravação no Active Directory para instalar uma autoridade de
certificação corporativa raiz.
Todas as solicitações de certificados enviadas para a autoridade de certificação
corporativa serão atendidas ou negadas com base no conjunto de diretivas e
permissões de segurança do tipo de certificado solicitado. Autoridades de
certificação corporativas nunca definem uma solicitação de certificado como
pendente. Elas imediatamente emitem o certificado ou negam a solicitação.
157
Os certificados podem ser emitidos para efetuar logon em um domínio do
Windows 2000 Server ou Windows Server 2003, usando cartões inteligentes
(smart cards).
O módulo de saída corporativo publica certificados de usuários e a lista de
certificados revogados (CRL), no Active Directory. Para publicar certificados no
Active Directory, o servidor em que a autoridade de certificação está instalada
deve ser membro do grupo de Certificates Publishers (Publicadores de
certificados). Isso é automático para o domínio em que o servidor está, mas a
autoridade de certificação precisará receber as permissões de segurança corretas
para publicar certificados em outros domínios.
Uma autoridade de certificação corporativa usa tipos de certificados, que são baseados
em um modelo de certificado. A seguinte funcionalidade é possível devido ao uso de
modelos de certificado:
As autoridades de certificação corporativas aplicam verificações de credenciais
aos usuários durante o registro de certificados. Cada modelo de certificado tem
uma permissão de segurança definida no Active Directory que determina se
quem está solicitando o certificado está autorizado a receber o tipo de certificado
solicitado.
O nome do usuário do certificado é automaticamente gerado.
O módulo de diretiva adiciona uma lista predefinida de extensões de certificados
ao certificado emitido a partir do modelo do certificado. Isso reduz a quantidade
de informações que a pessoa que solicita o certificado precisa fornecer sobre o
certificado e sobre o uso pretendido.
Os servidores que desempenham o papel de autoridades certificadoras corporativas,
desempenham um papel fundamental na estrutura de segurança da empresa. Por isso é
importante que você implemente políticas de backup e de segurança bem rigorosas em
relação a estes servidores.
Além da segurança lógica, no acesso aos dados, é muito importante cuidar também da
segurança física, controlando quem tem acesso ao servidor configurado como servidor
corporativo root.
Autoridades de certificação autônomas
Você pode instalar os serviços de certificados para criar uma autoridade de certificação
autônoma. Autoridades de certificação autônomas podem emitir certificados para
finalidades diversas, tais como assinaturas digitais, correio eletrônico seguro usando
S/MIME (extensões multipropósito do Internet Mail protegidas) e autenticação para um
servidor Web seguro usando camada de soquetes de segurança (SSL) ou segurança da
camada de transporte (TLS).
Uma autoridade de certificação autônoma tem as seguintes características:
158
Diferentemente de uma autoridade de certificação corporativa, uma autoridade
de certificação autônoma não exige o uso do Active Directory. Autoridades de
certificação autônomas se destinam principalmente a serem usadas quando
extranets e a Internet estão envolvidas. Por exemplo, se parceiros de negócios
precisam se conectar a rede da empresa para acessar determinados sistemas,
você pode criar uma autoridade certificadora autônoma, para emitir certificados
para os parceiros de negócio. Estes, por sua vez, usarão estes certificados para se
identificar e ter acesso a rede da empresa. Além disso, se desejar usar um
módulo de diretiva personalizado para uma autoridade de certificação, você
deve, primeiramente, instalar os serviços de certificados usando diretiva
autônoma e, em seguida, substituir a diretiva autônoma pela sua diretiva
personalizada.
Ao submeter uma solicitação de certificado a uma autoridade de certificação
autônoma, o solicitador do certificado deve fornecer, explicitamente, todas as
informações de identificação sobre si mesmo e sobre o tipo de certificado
desejado na solicitação do certificado. (Não é necessário fazer isso ao submeter
uma solicitação a uma autoridade de certificação corporativa, uma vez que as
informações do usuário corporativo já estão no Active Directory e o tipo do
certificado é descrito por um modelo de certificado).
Por padrão, todas as solicitações de certificados enviadas para a autoridade de
certificação autônoma são definidas como pendentes até que o administrador da
autoridade de certificação autônoma verifique a identidade do solicitador e dê OK para
a solicitação. Isso é feito por razões de segurança, porque as credenciais do solicitador
do certificado não são verificadas pela autoridade de certificação autônoma.
Não são usados modelos de certificados, a exemplo do que acontece com as
autoridades certificadores corporativas.
Nenhum certificado pode ser emitido para efetuar logon em um domínio do
Windows 2000 Server ou do Windows Server 2003 usando cartões inteligentes,
mas outros tipos de certificados podem ser emitidos e armazenados em um
cartão inteligente.
O administrador tem que distribuir, explicitamente, o certificado da autoridade
de certificação autônoma para o armazenamento de raiz confiável dos usuários
do domínio, ou os usuários devem executar essa tarefa sozinhos.
Quando uma autoridade de certificação autônoma usa o Active Directory, ela tem esses
recursos adicionais:
Se um membro do grupo de administradores de domínio ou um administrador
com direito de gravação no Active Directory instalar uma autoridade de
certificação raiz autônoma, ela será automaticamente adicionada ao
armazenamento de certificados das autoridades de certificação raiz confiáveis,
para todos os usuários e computadores do domínio. Por essa razão, ao instalar
uma autoridade de certificação raiz autônoma em um domínio do Active
Directory, você não deverá alterar a ação padrão da autoridade de certificação
até receber solicitações de certificados (o que marca as solicitações como
159
pendentes). Caso contrário, você terá uma autoridade de certificação raiz
confiável que automaticamente emite certificados sem verificar a identidade do
solicitador.
Se uma autoridade de certificação autônoma for instalada por um membro do
grupo de administradores de domínio do domínio pai de uma árvore na empresa,
ou por um administrador com direito de gravação no Active Directory, a
autoridade de certificação autônoma publicará os certificados e a lista de
certificados revogados (CRL) no Active Directory.
Não esqueça: Conheça bem as diferenças entre os diferentes tipos de autoridades
certificadores. Lembre-se que autoridades certificadoras corporativas são integradas
com o Active Directory, utilizam modelos de certificados para a criação de novos
certificados. Já as autoridades certificadoras autônomas não dependem do Active
Directory e não utilizam modelos de certificados. A seguir um pequeno resumo sobre
cada um dos quatro tipos, para você fixar bem sobre a função e as características de
cada um dos tipos de autoridades certificadores:
1. Enterprise root CA – Autoridade certificadora corporativa root: Um único
servidor pode ser configurado como Enterprise root CA em uma floresta de domínios de
uma empresa. Este servidor ocupa o topo da hierarquia de autoridades certificadoras.
Normalmente não é utilizado para emitir certificados para usuários ou computadores,
mas sim para autoridades certificadores corporativas subordinadas. Os certificados para
usuários e computadores são emitidos pelas autoridades subordinadas. Com isso você
pode criar uma hierarquia de autoridades certificadoras, de tal maneira que a emissão de
certificados seja efetuada por um servidor do próprio domínio do usuário. Outro detalhe
importante é que a autoridade certificadora root é responsável por assinar o seu próprio
certificado (afinal não há nenhuma autoridade acima dela). Isso é que caracteriza esta
autoridade como uma autoridade certificadora root.
2. Enterprise subordinate CA – Autoridade certificadora Corporativa
subordinada: Para instalar uma autoridade certificadora corporativa subordinada, você
deve ter acesso ao certificado da autoridade certificadora corporativa root. O uso deste
certificado é que liga a autoridade certificadora que está sendo instalada, como um
autoridade subordinada a autoridade certificadora root, formando uma hierarquia de
entidades certificadoras. Este tipo de autoridade pode emitir certificados para usuários e
computadores do Active Directory ou para outras autoridades certificadores
subordinadas de níveis mais baixo, aumentando desta maneira, o número de níveis da
hierarquia de autoridades certificadoras.
3. Stand-alone root CA – Autoridade certificadora autônoma root: Este tipo de
autoridade certificadora não depende do Active Directory. Pode ser utilizado, por
exemplo, para emitir certificados para parceiros de negócio e prestadores de serviço,
que precisam de certificados digitais para acessar determinadas áreas da Intranet ou da
Extranet da empresa. Uma vantagem adicional é que um servidor configurado como
autoridade certificadora autônoma root, pode ser desconectado da rede, como uma
garantia adicional de segurança. Este tipo de autoridade certificadora também é
responsável por emitir os certificados de registro das autoridades certificadoras
autônomas subordinadas.
160
4. Stand-alone subordinate CA - Autoridade Certificadora Autônoma
Subordinada: Este tipo de autoridade certificadora está subordinada a uma autoridade
certificadora autônoma root. O processo normalmente é o mesmo utilizado para o caso
das autoridades certificadoras corporativas, ou seja, a autoridade certificadora autônoma
root não é utilizada para emissão de certificados para usuários e computadores, mas sim
para a emissão de certificados para as autoridades certificadoras autônomas
subordinadas. As autoridades certificadoras autônomas subordinadas é que são
responsáveis pela emissão dos certificados para usuários e computadores.
Conclusão
Nesta parte do tutorial fiz uma breve apresentação sobre PKI, Certificados Digitais e
Autoridades Certificadores. Você também aprendeu sobre a criptografia baseada no uso
de um par de chaves: pública e privada e como utilizar o Microsoft Certificate Services
para criar uma autoridade certificadora na própria rede da empresa.
161
NAT – Network Address Translation
Introdução:
Prezados leitores, esta é a vigésima e última parte, desta primeira etapa dos tutoriais de
TCP/IP. As partes de 01 a 20, constituem o módulo que eu classifiquei como Introdução
ao TCP/IP. O objetivo deste módulo foi apresentar o TCP/IP, mostrar como é o
funcionamento dos serviços básicos, tais como endereçamento IP e Roteamento e fazer
uma apresentação dos serviços relacionados ao TCP/IP, tais como DNS, DHCP, WINS,
RRAS, IPSec, Certificados Digitais, ICS, compartilhamento da conexão Internet e NAT
(assunto desta parte, ou seja Parte 20 do tutorial).
Esta é a vigésima parte do Tutorial de TCP/IP. Na Parte 1 tratei dos aspectos básicos do
protocolo TCP/IP. Na Parte 2 falei sobre cálculos binários, um importante tópico para
entender sobre redes, máscara de sub-rede e roteamento. Na Parte 3 falei sobre Classes
de endereços, na Parte 4 fiz uma introdução ao roteamento e na Parte 5 apresentei mais
alguns exemplos e análises de como funciona o roteamento e na Parte 6 falei sobre a
Tabela de Roteamento. Na Parte 7 tratei sobre a divisão de uma rede em sub-redes,
conceito conhecido como subnetting. Na Parte 8 fiz uma apresentação de um dos
serviços mais utilizados pelo TCP/IP, que é o Domain Name System: DNS. O DNS é o
serviço de resolução de nomes usado em todas as redes TCP/IP, inclusive pela Internet
que, sem dúvidas, é a maior rede TCP/IP existente. Na Parte 9 fiz uma introdução ao
serviço Dynamic Host Configuration Protocol – DHCP. Na Parte 10 fiz uma introdução
ao serviço Windows Internet Name Services – WINS. Na Parte 11 falei sobre os
protocolos TCP, UDP e sobre portas de comunicação. Na Parte 12, mostrei como são
efetuadas as configurações de portas em diversos aplicativos que você utiliza e os
comandos do Windows 2000/XP/2003 utilizados para exibir informações sobre portas
de comunicação. Na Parte 13 falei sobre a instalação e a configuração do protocolo
TCP/IP. Na Parte 14 fiz uma introdução sobre o protocolo de roteamento dinâmico RIP
e na Parte 15 foi a vez de fazer a introdução a outro protocolo de roteamento dinâmico,
o OSPF. Na Parte 16 você aprendeu sobre um recurso bem útil: O compartilhamento da
conexão Internet, oficialmente conhecida como ICS – Internet Connection Sharing. Este
recurso é útil quando você tem uma pequena rede, não mais do que cinco máquinas,
conectadas em rede, todas com o protocolo TCP/IP instalado e uma das máquinas tem
conexão com a Internet. Você pode habilitar o ICS no computador que tem a conexão
com a Internet. Com isso os demais computadores da rede também passarão a ter acesso
à Internet. Na Parte 17, você aprendeu a utilizar o IFC – Internet Firewall Connection
(Firewall de Conexão com a Internet). O IFC faz parte do Windows XP e do Windows
Server 2003, não estando disponível no Windows 2000. O IFC tem como objetivo
proteger o acesso do usuário contra “ataques” e “perigos” vindos da Internet. Na
Parte 18 fiz uma apresentação sobre o protocolo IPSec. O IPSec faz parte do Windows
2000, Windows XP e Windows Server 2003. O IPSec pode ser utilizado para criar um
canal de comunicação seguro, onde todos os dados que são trocados entre os
computadores habilitados ao IPSec, são criptografados. Na Parte 19, fiz uma
apresentação sobre o conceito de PKI – Public Key Infrastructure e Certificados
Digitais. O Windows 2000 Server e também o Windows Server 2003 disponibilizam
serviços para a emissão, gerenciamento e revogação de Certificados Digitais. Falei
sobre o papel dos Certificados Digitais em relação à segurança das informações.
162
Nesta vigésima parte será a vez de falar um pouco mais sobre o serviço (ou protocolo
como preferem alguns) NAT – Network Address Transaltion. Você entenderá o que é o
NAT e qual a sua função na conexão de uma rede com a Internet.
Nota: Para aprender a instalar, configurar e a administrar os serviços relacionados ao
TCP/IP, no Windows 2000 Server, tais como o DNS, DHCP, WINS, RRAS, Ipsec,
NAT e assim por diante, o livro de minha autoria: Manual de Estudos Para o Exame 70-
216, 712 páginas.
Entendendo como funciona o NAT
Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele
é indicado. O NAT surgiu como uma alternativa real para o problema de falta de
endereços IP v4 na Internet. Conforme descrito na Parte 1, cada computador que acessa
a Internet deve ter o protocolo TCP/IP corretamente instalado e configurado. Para isso,
cada computador da rede interna, precisaria de um endereço IP válido na Internet. Não
haveria endereços IP v4 suficientes. A criação do NAT veio para solucionar esta
questão.(ou pelo menos fornecer uma alternativa até que o IP v6 esteja em uso na
maioria dos sistemas da Internet). Com o uso do NAT, os computadores da rede Interna,
utilizam os chamados endereços Privados. Os endereços privados não são válidos na
Internet, isto é, pacotes que tenham como origem ou como destino, um endereço na
faixa dos endereços privados, não serão encaminhados, serão descartados pelos
roteadores. O software dos roteadores está configurado para descartar pacotes com
origem ou destino dentro das faixas de endereços IP privados. As faixas de endereços
privados são definidas na RFC 1597 e estão indicados a seguir:
10.0.0.0 -> 10.255.255.255
172.16.0.0 -> 172.31.255.255
192.168.0.0 -> 192.168.255.255
Existem algumas questões que devem estar surgindo na cabeça do amigo leitor. Como
por exemplo: Qual a vantagem do uso dos endereços privados? O que isso tem a ver
com o NAT? Muito bem, vamos esclarecer estas questões.
Pelo fato de os endereços privados não poderem ser utilizados diretamente na Internet,
isso permite que várias empresas utilizem a mesma faixa de endereços privados, como
esquema de endereçamento da sua rede interna. Ou seja, qualquer empresa pode utilizar
endereços na faixa 10.0.0.0 -> 10.255.255.255 ou na faixa 172.16.0.0 -> 72.31.255.255
ou na faixa 192.168.0.0 -> 192.168.255.255.
“Com o uso do NAT, a empresa fornece acesso à Internet para um grande número
de computadores da rede interna, usando um número bem menor de endereços IP,
válidos na Internet.”
Por exemplo, uma rede com 100 computadores, usando um esquema de endereçamento
10.10.0.0/255.255.0.0, poderá ter acesso à Internet, usando o NAT, usando um único
endereço IP válido: o endereço IP da interface externa do NAT. Observe que com isso
temos uma grande economia de endereços IP: No nosso exemplo temos 100
computadores acessando a Internet (configurados com endereços IP privados), os quais
163
utilizam um único endereço IP válido, que é o endereço IP da interface externa do
servidor configurado como NAT.
Muito bem, respondi as questões anteriores mas agora devem ter surgido novas questões
na cabeça do amigo leitor, como por exemplo:
1. Se houver mais de um cliente acessando a Internet ao mesmo tempo e o NAT
possui apenas um endereço IP válido (ou em outras situações, se houver um número
maior de clientes internos acessando a Internet, do que o número de endereços IP
disponíveis no NAT. E o número de endereços IP, disponíveis no NAT sempre será
menor do que o número de computadores da rede interna, uma vez que um dos
principais objetivos do uso do NAT é reduzir a quantidade de números IP válidos),
como é possível a comunicação de mais de um cliente, ao mesmo tempo, com a
Internet?
2. Quando a resposta retorna, como o NAT sabe para qual cliente da rede interna
ela se destina, se houver mais de um cliente acessando a Internet?
Inicialmente vamos observar que o esquema de endereçamento utilizado pela empresa
do nosso exemplo (10.10.0.0/255.255.0.0) está dentro de uma faixa de endereços
Privados. Aqui está a principal função do NAT, que é o papel de “traduzir” os
endereços privados, os quais não são válidos na Internet, para o endereço válido,
da interface pública do servidor com o NAT.
Para entender exatamente o funcionamento do NAT, vamos considerar um exemplo
prático. Imagine que você tem cinco computadores na rede, todos usando o NAT. Os
computadores estão utilizando os seguintes endereços:
10.10.0.10
10.10.0.11
10.10.0.12
10.10.0.13
10.10.0.14
O computador com o NAT habilitado tem as seguintes configurações:
IP da interface interna: 10.10.0.1
IP da interface externa: Um ou mais endereços válidos na Internet, obtidos a
partir da conexão com o provedor de Internet, mas sempre em número bem
menor do que a quantidade de computadores da rede interna.
Quando um cliente acessa a Internet, no pacote de informações enviado por este cliente,
está registrado o endereço IP da rede interna, por exemplo: 10.10.0.10. Porém este
pacote não pode ser enviado pelo NAT para a Internet, com este endereço IP como
endereço de origem, se não no primeiro roteador este pacote será descartado, já que o
endereço 10.10.0.10 não é um endereço válido na Internet (pois é um endereço que
pertence a uma das faixas de endereços privados, conforme descrito anteriormente).
Para que este pacote possa ser enviado para a Internet, o NAT substitui o endereço IP de
origem por um dos endereços IP da interface externa do NAT (endereço fornecido pelo
provedor de Internet e, portanto, válido na Internet). Este processo que é chamado de
164
tradução de endereços, ou seja, traduzir de um endereço IP interno, não válido na
Internet, para um endereço IP externo, válido na Internet. Quando a resposta retorna, o
NAT repassa a resposta para o cliente que originou o pedido.
Mas ainda fica a questão de como o NAT sabe para qual cliente interno é a resposta, se
os pacotes de dois ou mais clientes podem ter sido traduzidos para o mesmo endereço IP
externo. A resposta para estas questão é a mesma. O NAT ao executar a função de
tradução de endereços, associa um número de porta, que é único, com cada um dos
computadores da rede interna. A tradução de endereços funciona assim:
1. Quando um cliente interno tenta se comunicar com a Internet, o NAT substitui o
endereço interno do cliente como endereço de origem, por um endereço válido na
Internet. Mas além do endereço é também associada uma porta de comunicação. Por
exemplo, vamos supor que o computador 10.10.0.12 tenta acessar a Internet. O NAT
substitui o endereço 10.10.0.12 por um endereço válido na Internet, vou chutar um:
144.72.3.21. Mas além do número IP é também associada uma porta, como por
exemplo: 144.72.3.21:6555. O NAT mantém uma tabela interna onde fica registrado
que, comunicação através da porta ―tal‖ está relacionada com o cliente ―tal‖. Por
exemplo, a tabela do NAT, em um determinado momento, poderia ter o seguinte
conteúdo:
144.72.3.21:6555 10.10.0.10
144.72.3.21:6556 10.10.0.11
144.72.3.21:6557 10.10.0.12
144.72.3.21:6558 10.10.0.13
144.72.3.21:6559 10.10.0.14
Observe que todos os endereços da rede interna são ―traduzidos‖ para o mesmo
endereço externo, porém com um número diferente de porta para cada cliente da rede
interna.
2. Quando a resposta retorna, o NAT consulta a sua tabela interna e, pela
identificação da porta, ele sabe para qual computador da rede interna deve ser enviado o
pacote de informações, uma vez que a porta de identificação está associada com um
endereço IP da rede interna. Por exemplo, se chegar um pacote endereçado a
144.72.3.21:6557, ele sabe que este pacote deve ser enviado para o seguinte computador
da rede interna: 10.10.0.12, conforme exemplo da tabela anterior. O NAT obtém esta
informação a partir da tabela interna, descrita anteriormente.
Com isso, vários computadores da rede interna, podem acessar a Internet, ao mesmo
tempo, usando um único endereço IP ou um número de endereços IP bem menor do que
o número de computadores da rede interna. A diferenciação é feita através de uma
atribuição de porta de comunicação diferente, associada com cada IP da rede interna.
Este é o princípio básico do NAT – Network Address Translation (Tradução de
Endereços IP).
Agora que você já sabe o princípio básico do funcionamento do NAT, vamos entender
quais os componentes deste serviço no Windows 2000 Server e no Windows Server
2003.
165
Os componentes do NAT
O serviço NAT é composto, basicamente, pelos seguintes elementos:
Componente de tradução de endereços: O NAT faz parte do servidor RRAS.
Ou seja, para que você possa utilizar o servidor NAT, para fornecer conexão à
Internet para a rede da sua empresa, você deve ter um servidor com o RRAS
instalado e habilitado (veja o Capítulo 6 do livro Manual de Estudos Para o
Exame 70-216, de minha autoria, para detalhes sobre a habilitação do RRAS). O
servidor onde está o RRAS deve ser o servidor conectado à Internet. O
componente de tradução de endereços faz parte da funcionalidade do NAT e será
habilitado, assim que o NAT for configurado no RRAS.
Componente de endereçamento: Este componente atua como um servidor
DHCP simplificado, o qual é utilizado para concessão de endereços IP para os
computadores da rede interna. Além do endereço IP, o servidor DHCP
simplificado é capaz de configurar os clientes com informações tais como a
máscara de sub-rede, o número IP do gateway padrão (default gateway) e o
número IP do servidor DNS. Os clientes da rede interna devem ser configurados
como clientes DHCP, ou seja, nas propriedades do TCP/IP, você deve habilitar a
opção para que o cliente obtenha um endereço IP automaticamente.
Computadores executando o Windows Server 2003 (qualquer edição), Windows
XP, Windows 2000, Windows NT, Windows Me, Windows 98 ou Windows 95,
são automaticamente configurados como clientes DHCP. Caso um destes
clientes tenha sido configurado para usar um IP fixo, deverá ser reconfigurado
para cliente DHCP, para que ele possa utilizar o NAT.
Componente de resolução de nomes: O computador no qual o NAT é
habilitado, também desempenha o papel de um servidor DNS, o qual é utilizado
pelos computadores da rede interna. Quando uma consulta para resolução de
nomes é enviada por um cliente interno, para o computador com o NAT
habilitado, o computador com o NAT repassa esta consulta para um servidor
DNS da Internet (normalmente o servidor DNS do provedor de Internet) e
retorna a resposta obtida para o cliente. Esta funcionalidade é idêntica ao papel
de DNS Proxy, fornecida pelo ICS, conforme descrita na Parte 16.
Importante: Como o NAT inclui as funcionalidades de endereçamento e resolução de
nomes, você terá as seguintes limitações para o uso de outros serviços, no mesmo
servidor onde o NAT foi habilitado:
Você não poderá executar o servidor DHCP ou o DHCP Relay Agent no
servidor NAT.
Você não poderá executar o servidor DNS no servidor NAT.
Um pouco de planejamento antes de habilitar o NAT
Antes de habilitar o NAT no servidor RRAS, para fornecer conexão à Internet para os
demais computadores da rede, existem alguns fatores que você deve levar em
consideração. Neste item descrevo as considerações que devem ser feitas, antes da
166
habilitação do NAT. Estes fatos ajudam a evitar futuros problemas e necessidade de
reconfigurações no NAT.
1. Utilize endereços privados para os computadores da rede interna.
Esta é a primeira e óbvia recomendação. Para o esquema de endereçamento da rede
interna, você deve utilizar uma faixa de endereços, dentro de uma das faixas de
endereços privados: 10.0.0.0/255.0.0.0, 172.16.0.0/255.240.0.0 ou
192.168.0.0/255.255.0.0. Você pode utilizar diferentes máscaras de sub-rede, de acordo
com as necessidades da sua rede. Por exemplo, se você tiver uma rede com 100
máquinas, pode utilizar um esquema de endereçamento: 10.10.10.0/255.255.255.0, o
qual disponibiliza até 254 endereços. Por padrão, o NAT utiliza o esquema de
endereçamento 192.168.0.0/255.255.255.0. Porém é possível alterar este esquema de
endereçamento, nas configurações do NAT. Lembre-se que, uma vez habilitado o NAT,
este passa a atuar como um servidor DHCP para a rede interna, fornecendo as
configurações do TCP/IP para os clientes da rede interna. Com isso, nas configurações
do NAT (para todos os detalhes sobre as configurações do NAT, consulte o Capítulo 7
do livro Manual de Estudos Para o Exame 70-216, de minha autoria), você define o
escopo de endereços que será fornecido para os clientes da rede.
Nota: Você também poderia configurar a sua rede interna com uma faixa de endereços
IP válidos, porém não alocados diretamente para a sua empresa. Ou seja, você estaria
utilizando na rede interna, um esquema de endereçamento que foi reservado para uso de
outra empresa. Esta não é uma configuração recomendada e é conhecida como: ―illegal
or overlapping IP addressing‖. O resultado prático é que, mesmo assim, você conseguirá
usar o NAT para acessar a Internet, porém não conseguirá acessar os recursos da rede
para o qual o esquema de endereçamento foi oficialmente alocado. Por exemplo, se
você resolveu usar o esquema de endereçamento 1.0.0.0/255.0.0.0, sem se preocupar em
saber para quem esta faixa de endereços foi reservado. Mesmo assim você conseguirá
acessar a Internet usando o NAT, você apenas não conseguirá acessar os recursos e
servidores da empresa que usa, oficialmente, o esquema de endereçamento
1.0.0.0/255.0.0.0, que você resolveu utilizar para a rede interna da sua empresa.
Ao configurar o NAT, o administrador poderá excluir faixas de endereços que não
devem ser fornecidas para os clientes. Por exemplo, se você tiver alguns equipamentos
da rede interna (impressoras, hubs, switchs, etc.) que devam ter um número IP fixo,
você pode excluir uma faixa de endereços IP no servidor NAT e utilizar estes endereços
para configurar os equipamentos que, por algum motivo, precisam de um IP fixo.
2. Usar um ou mais endereços IP públicos.
Se você estiver utilizando um único endereço IP, fornecido pelo provedor de Internet,
não serão necessárias configurações adicionais no NAT. Porém se você obtém dois ou
mais endereços IP públicos, você terá que configurar a interface externa do NAT
(interface ligada a Internet), com a faixa de endereços públicos, fornecidos pelo
provedor de Internet. A faixa é informada no formato padrão: Número IP/Máscara de
sub-rede. Pode existir situações em que nem todos os números fornecidos pelo provedor
possam ser informados usando esta representação. Nestas situações pode acontecer de
você não poder utilizar todos os endereços disponibilizados pelo provedor de Internet, a
não ser que você utilize a representação por faixas, conforme descrito mais adiante.
167
Se o número de endereços fornecido for uma potência de 2 (2, 4, 8, 16, 32, 64 e assim
por diante), é mais provável que você consiga representar a faixa de endereços no
formato Número IP/Máscara de sub-rede. Por exemplo, se você recebeu quatro
endereços IP públicos: 206.73.118.212, 206.73.118.213, 206.73.118.214 e
206.73.118.215. Esta faixa pode ser representada da seguinte maneira:
206.73.118.212/255.255.255.252.
Nota: Para maiores detalhes sobre a representação de faixas de endereços IP e máscaras
de sub-rede, consulte as seguintes partes deste tutorial: Parte 1, Parte 2, Parte 3 e Parte
4.
Caso não seja possível fazer a representação no formato Número IP/Máscara de sub-
rede, você pode informar os endereços públicos como uma série de faixas de endereços,
conforme exemplo a seguir:
206.73.118.213 -> 206.73.118.218
206.73.118.222 -> 206.73.118.240
3. Permitir conexões da Internet para a rede interna da empresa
O funcionamento normal do NAT, permite que sejam feitas conexões da rede privada
para recursos na Internet. Por exemplo, um cliente da rede acessando um servidor de ftp
na Internet. Neste caso, o cliente executando um programa cliente de ftp, faz a conexão
com um servidor ftp da Internet. Quando os pacotes de resposta chegam no NAT, eles
podem ser repassados ao cliente, pois representam a resposta a uma conexão iniciada
internamente e não uma tentativa de acesso vinda da Internet.
Você pode querer fornecer acesso a um servidor da rede interna, para usuários da
Internet. Por exemplo, você pode configurar um servidor da rede interna com o IIS e
instalar neste servidor o site da empresa. Em seguida você terá que configurar o NAT,
para que os usuários da Internet possam acessar este servidor da rede interna. Observe
que nesta situação, chegarão pacotes da Internet, os quais não representarão respostas a
requisições dos clientes da rede interna, mas sim requisições de acesso dos usuários da
Internet, a um servidor da rede interna. Por padrão este tráfego será bloqueado no NAT.
Porém o administrador pode configurar o NAT para aceitar requisições vindas de
clientes da Internet, para um servidor da rede interna. Para fazer estas configurações
você deve seguir os seguintes passos:
Para permitir que usuários da Internet, acessem recursos na sua rede interna, siga os
passos indicados a seguir:
O servidor da rede interna, que deverá ser acessado através da Internet, deve ser
configurado com um número IP fixo (número que faça parte da faixa de
endereços fornecidos pelo NAT, para uso da rede interna) e com o número IP do
default gateway e do servidor DNS (o número IP da interface interna do
computador com o NAT habilitado).
Excluir o endereço IP utilizado pelo servidor da rede Interna (servidor que estará
acessível para clientes da Internet) da faixa de endereços fornecidos pelo NAT,
168
para que este endereço não seja alocado dinamicamente para outro computador
da rede, o que iria gerar um conflito de endereços IP na rede interna.
Configurar uma porta especial no NAT. Uma porta especial é um mapeamento
estático de um endereço público e um número de porta, para um endereço
privado e um número de porta. Esta porta especial faz o mapeamento das
conexões chegadas da Internet para um endereço específico da rede interna.
Com o uso de portas especiais, por exemplo, você pode criar um servidor HTTP
ou FTP na rede interna e torná-lo acessível a partir da Internet.
Nota: Para aprender os passos práticos para a criação de portas especiais no NAT,
consulte o Capítulo 7 do livro: Manual de Estudos Para o Exame 70-216, de minha
autoria.
4. Configurando aplicações e serviços.
Algumas aplicações podem exigir configurações especiais no NAT, normalmente com a
habilitação de determinadas portas. Por exemplo, vamos supor que você está usando o
NAT para conectar 10 computadores de uma loja de jogos, com a Internet. Pode ser
necessária a habilitação das portas utilizadas por determinados jogos, para que estes
possam ser executados através do NAT. Se estas configurações não forem feitas, o NAT
irá bloquear pacotes que utilizem estas portas e os respectivos jogos não poderão ser
acessados.
5. Conexões VPN iniciadas a partir da rede interna.
No Windows 2000 Server não é possível criar conexões VPN L2TP/IPSec, a partir de
uma rede que utilize o NAT. Esta limitação foi superada no Windows Server 2003.
Muito bem, de teoria sobre NAT é isso.
Conclusão
Nesta parte do tutorial fiz uma breve apresentação sobre o serviço de tradução de
endereços – NAT – Network Address Translation. Esta foi a vigésima e última parte,
desta primeira etapa dos tutoriais de TCP/IP. As partes de 01 a 20, constituem o módulo
que eu classifiquei como Introdução ao TCP/IP. O objetivo deste módulo foi apresentar
o TCP/IP, mostrar como é o funcionamento dos serviços básicos, tais como
endereçamento IP e Roteamento e fazer uma apresentação dos serviços relacionados ao
TCP/IP, tais como DNS, DHCP, WINS, RRAS, IPSec, Certificados Digitais, ICS,
compartilhamento da conexão Internet e NAT (assunto desta parte, ou seja Parte 20 do
tutorial).
169
Roteiro para Resolução de Problemas
Introdução:
Prezados leitores, esta é a primeira parte, desta segunda etapa dos tutoriais de TCP/IP.
As partes de 01 a 20, constituem o módulo que eu classifiquei como Introdução ao
TCP/IP. O objetivo deste módulo foi apresentar o TCP/IP, mostrar como é o
funcionamento dos serviços básicos, tais como endereçamento IP e Roteamento e fazer
uma apresentação dos serviços relacionados ao TCP/IP, tais como DNS, DHCP, WINS,
RRAS, IPSec, Certificados Digitais, ICS, compartilhamento da conexão Internet e NAT
(assunto desta parte, ou seja Parte 20 do tutorial). No decorrer de 2004 serão
disponibilizados mais 20 tutoriais de TCP/IP (de 21 a 40), nas quais falarei mais sobre
os aspectos do protocolo em si, tais como a estrutura em camadas do TCP/IP e detalhes
um maior detalhamento sobre cada um dos protocolos que formam o TCP/IP: TCP, IP,
UDP, ARP, ICMP e por aí vai.
Roteiro para detecção e resolução de problemas de rede
Nesta parte do tutorial apresentarei uma seqüência lógica a ser seguida, para a detecção
e resolução de problemas relacionados a conectividade de rede, para estações de
trabalho e servidores, de uma rede baseada no protocolo TCP/IP. A cada passo, eu
acrescentarei comentários, para detalhar os pontos mais importantes.
Situação prática: Um usuário liga para o suporte técnico e informa que não está
conseguindo acessar outros computadores e os servidores da rede. Você vai até a seção
do usuário e faz o logon com a conta Administrador local. Siga os passos indicados a
seguir, para tentar identificar o problema e solucioná-lo:
1. Verificar se o TCP/IP está corretamente instalado no micro:
Abra um Prompt de comando e execute o seguinte comando:
ping 127.0.0.1
Este comando serve para verificar se o protocolo TCP/IP está corretamente instalado e
funcionando no computador. Se o TCP/IP estiver OK, você deverá obter um resultado
semelhante ao indicado a seguir:
F:\>ping 127.0.0.1
Disparando contra 127.0.0.1 com 32 bytes de dados:
Resposta de 127.0.0.1: bytes=32 tempo<1ms TTL=128
Resposta de 127.0.0.1: bytes=32 tempo<1ms TTL=128
Resposta de 127.0.0.1: bytes=32 tempo<1ms TTL=128
Resposta de 127.0.0.1: bytes=32 tempo<1ms TTL=128
Estatísticas do Ping para 127.0.0.1:
Pacotes: Enviados = 4, Recebidos = 4, Perdidos = 0 (0% de perda),
170
Aproximar um número redondo de vezes em milissegundos:
Mínimo = 0ms, Máximo = 0ms, Média = 0ms
F:\>
Se este comando retornar uma mensagem de erro, o problema é com a instalação do
protocolo TCP/IP. Uma opção é acessar as propriedades da conexão de rede local e
remover o protocolo TCP/IP, reiniciar o computador e depois reinstalar o TCP/IP
novamente. Outra opção que pode ser tentada, antes de desinstalar a reinstalar
novamente o TCP/IP é clicar com o botão direito do mouse na conexão de rede local e,
no menu de opções que é exibido, clicar em Reparar.
Outro teste para verificar se o TCP/IP está OK é utilizar o comando ping para ―pingar‖
para o próprio IP do computador. Por exemplo, se você está no micro com IP
10.60.80.150, use o seguinte comando:
Ping 10.60.80.150
Se o TCP/IP estiver corretamente configurado, você deverá obter uma mensagem de
sucesso para este comando ping.
2. Verificar a conectividade com a rede local:
No passo 1 você verificou se o protocolo TCP/IP está corretamente instalado no micro.
O próximo passo é usar o comando ping para verificar se o micro consegue se
comunicar com os outros micros da rede local. Vamos supor que o micro tem o número
IP 10.60.80.25 e que ele faz parte da rede 10.60.80.0. Experimente usar o comando
ping, para testar a conectividade com outro computador da rede, conforme exemplo a
seguir:
ping 10.60.80.134
se o micro estiver conseguindo se comunicar na rede local, você deverá receber um
resultado semelhante ao indicado a seguir:
F:\>ping 10.60.80.134
Disparando contra 10.60.80.134 com 32 bytes de dados:
Resposta de 10.60.80.134: bytes=32 tempo<1ms TTL=128
Resposta de 10.60.80.134: bytes=32 tempo<1ms TTL=128
Resposta de 10.60.80.134: bytes=32 tempo<1ms TTL=128
Resposta de 10.60.80.134: bytes=32 tempo<1ms TTL=128
Estatísticas do Ping para 10.60.80.134:
Pacotes: Enviados = 4, Recebidos = 4, Perdidos = 0 (0% de perda),
Aproximar um número redondo de vezes em milissegundos:
Mínimo = 0ms, Máximo = 0ms, Média = 0ms
F:\>
171
Se o micro não estiver conseguindo se comunicar com a rede local, você receberá uma
mensagem de erro, semelhante a indicada a seguir:
F:\>ping 10.60.80.31
Disparando contra 10.60.80.31 com 32 bytes de dados:
Esgotado o tempo limite do pedido.
Esgotado o tempo limite do pedido.
Esgotado o tempo limite do pedido.
Esgotado o tempo limite do pedido.
Estatísticas do Ping para 10.60.80.31:
Pacotes: Enviados = 4, Recebidos = 0, Perdidos = 4 (100% de perda),
F:\>
Neste caso, podem existir diferentes causas para o problema. Obviamente que, a
primeira coisa a verificar é se o cabo de rede está conectado (pode parecer uma
verificação muito óbvia, mas vocês não imaginam o número de chamados, onde o
problema é simplesmente um cabo de rede desconectado). Estando o cabo de rede
corretamente conectado, a segunda causa mais provável é um número de máscara de
sub-rede incorretamente configurado. No nosso exemplo, o computador faz parte da
rede 10.60.80.0 e usa como máscara de sub-rede: 255.255.255.0. Caso o computador
esteja com uma máscara de sub-rede incorreta, como por exemplo: 255.255.0.0 é como
se ele estivesse em outra rede e ele não conseguirá se comunicar com a rede local.
Nestes casos, você deve acessar as propriedades do TCP/IP e configurar a máscara
corretamente. Se o micro recebe as configurações do TCP/IP via servidor DHCP, você
deve entrar em contato com o administrador da rede e solicitar que ele verifique e
corrija as configurações no servidor DHCP, o qual poderá estar com uma configuração
incorreta, para a máscara de sub-rede a ser fornecida para os micros da rede.
Muito bem, se o comando ping funcionar nesta etapa, significa que o micro está
conseguindo se comunicar com a rede local. O próximo passo é verificar se o roteador
(default gateway) da rede está OK.
3. Verificar se o roteador está disponível e funcionando:
No passo 2 você verificou se o micro está conseguindo se comunicar com a rede local.
O próximo passo é verificar se o Roteador (default gateway) da rede está funcionando.
Normalmente, o IP 1 é usado para o roteador. Por exemplo, na rede 10.60.80.0, o IP do
roteador será: 10.60.80.1. Este não é um padrão obrigatório. Para informações sobre o
número IP do roteador da sua rede, entre em contato com o administrador da rede.
Experimente usar o comando ping, para testar se o roteador está disponível, conforme
exemplo a seguir:
ping 10.60.80.1
se o roteador estiver OK, você deverá receber um resultado semelhante ao indicado a
seguir:
172
F:\>ping 10.60.80.1
Disparando contra 10.60.80.1 com 32 bytes de dados:
Resposta de 10.60.80.1: bytes=32 tempo<1ms TTL=255
Resposta de 10.60.80.1: bytes=32 tempo<1ms TTL=255
Resposta de 10.60.80.1: bytes=32 tempo<1ms TTL=255
Resposta de 10.60.80.1: bytes=32 tempo<1ms TTL=255
Estatísticas do Ping para 10.60.80.1:
Pacotes: Enviados = 4, Recebidos = 4, Perdidos = 0 (0% de perda),
Aproximar um número redondo de vezes em milissegundos:
Mínimo = 0ms, Máximo = 0ms, Média = 0ms
F:\>
Caso o roteador esteja com problemas, você receberá uma mensagem de erro. Neste
caso você deve entrar em contato com o Administrador da rede, para que ele tome as
medidas necessárias, para normalizar o funcionamento do roteador. Lembre-se que o
número IP do roteador é configurado no parâmetro Gateway padrão (Default Gateway),
das propriedades do TCP/IP. Este parâmetro é configurado manualmente, quando você
configura o IP manualmente em cada micro, ou é configurado no servidor DHCP, se a
rede usa um servidor DHCP para fazer as configurações do TCP/IP, das estações de
trabalho.
Quando o roteador está com problemas, você conseguirá se comunicar normalmente
com os demais computadores e servidores da sua rede local, mas não conseguirá acessar
nenhum recurso em redes externas, tais como a Internet ou recursos que estão em
servidores de outras redes da empresa, redes estas em filiais e localidades remotas,
ligadas através de links de WAN. O problema neste caso pode ser com o próprio
roteador ou pode ser que o número IP do Default Gateway esteja incorreto. Neste caso,
você pode usar o comando ping para ver se o roteador está OK e acessar as propriedades
do TCP/IP, para ver se o número IP do Default Gateway está corretamente configurado.
Se o micro estiver sendo configurado via DHCP, você pode usar o comando
ipconfig/all , para exibir qual o número IP do Default Gateway, que está sendo
fornecido pelo DHCP.
4. “Pingar” para um computador de outra rede:
No passo 3 você verificou se está tudo OK com o roteador. O próximo passo é verificar
se você consegue dar um ping para um computador de uma rede remota. Por exemplo,
suponhamos que você esteja na rede 10.60.80.0 e vai usar o seguinte comando ping,
para testar se você consegue se comunicar com um computador da rede 10.60.89.0:
ping 10.60.89.2
se a comunicação estiver OK, você deverá receber uma mensagem, semelhante a
indicada a seguir:
F:\>ping 10.60.89.2
173
Disparando contra 10.60.89.2 com 32 bytes de dados:
Resposta de 10.60.89.2: bytes=32 tempo=37ms TTL=126
Resposta de 10.60.89.2: bytes=32 tempo=36ms TTL=126
Resposta de 10.60.89.2: bytes=32 tempo=35ms TTL=126
Resposta de 10.60.89.2: bytes=32 tempo=35ms TTL=126
Estatísticas do Ping para 10.60.89.2:
Pacotes: Enviados = 4, Recebidos = 4, Perdidos = 0 (0% de perda),
Aproximar um número redondo de vezes em milissegundos:
Mínimo = 35ms, Máximo = 37ms, Média = 35ms
F:\>
Caso você não obtenha uma resposta da máquina remota, pode ser que a máquina
remota esteja desligada ou indisponível na rede.
5. Testar a resolução de nomes:
Os computadores com o Windows XP tem dois nomes: Nome de host e o nome
NetBIos. Por incrível que pareça, em versões anteriores do Windows, estes dois nomes
eram configurados em locais diferentes e, o mais incrível ainda: podiam ser diferentes.
No Windows XP, você configura este nome na guia Identificação de rede, acessada
através do ícone Sistema do Painel de Controle. Obviamente que o nome NetBios e o
nome de host deve ser o mesmo.
Esta confusão de dois nomes tinha a ver mais com as antigas versões do Windows,
principalmente Windows 95/98/Me, as quais são dependentes do WINS para a
resolução de nomes. Já o Windows 2000 e Windows XP se baseiam no DNS, para a
resolução de nomes.
Você pode usar o comando ping para fazer alguns testes e verificar se existe um
problema com a resolução de nomes.
Por exemplo, se você dá um ―ping‖ para o número IP de um computador e obtém uma
resposta positiva, porém ao dar o ping usando o nome do computador, você não obtém
resposta, certamente é um erro de resolução de nomes. Você pode dar um ping usando
apenas o nome de host do computador ou usando o nome completo.
Por exemplo, vamos imaginar um computador com o nome micro01, o qual pertence ao
domínio DNS abc.com.br. O nome de host deste computador é micro01. O nome DNS
completo (FQDN – Full Qualiffied Domain Name) é micro01.abc.com.br. Você pode
usar os comandos a seguir, para dar um ping neste computador:
ping micro01
ou
ping micro01.abc.com.br
174
Quando um usuário consegue acessar um recurso compartilhado, em um micro ou
servidor, usando o número IP, mas não consegue acessar usando o nome, muito
provavelmente é um problema de resolução de nome. Você deve verificar se o número
IP de um ou mais servidores DNS estão corretamente configurados nas propriedades do
TCP/IP. Caso a rede use um servidor DHCP para fazer a configuração do TCP/IP, você
deve entrar em contato com o Administrador da rede, para que ele verifique e corrija, se
for o caso, as configurações do servidor DHCP.
Dica: Pode acontecer de você ter servidores baseados em Linux, UNIX ou Macintosh
em sua rede, servidores estes configurados para compartilhar recursos com clientes
baseados no Windows. Nestas situações, pode ocorrer de os usuários não conseguirem
acessar estes servidores, pelo nome. O problema é que os computadores com o Linux,
UNIX ou Macintosh não irão se registrar, dinamicamente, com o DNS do Windows
2000 Server ou Windows Server 2003. Para solucionar este problema, você deve entrar
em contato com o Administrador da rede e solicitar que ele crie entradas estáticas no
DNS, para os servidores Linux, UNIX ou Macintosh.
A seguir coloco um resumo retirado da ajuda do Windows XP, no qual está o resumo
dos passos a serem utilizados, usando o comando ping, para detectar problemas
relacionados a conectividade de rede, passos estes que foram comentados e
exemplificados neste tutorial:
Para testar uma configuração TCP/IP usando o comando ping, siga as seguintes
etapas:
1. Para obter rapidamente a configuração TCP/IP de um computador, abra o Prompt de
comando e digite ipconfig . Na tela do comando ipconfig, assegure-se de que o
adaptador de rede para a configuração TCP/IP que você está testando não está no estado
Mídia desconectada.
2. No prompt de comando, de um ping no endereço de loopback (o qual a ajuda traduz,
maravilhosamente, como auto-retorno) digitando ping 127.0.0.1.
3. Dê um ping no endereço IP do computador.
4. Dê um ping no endereço IP do gateway padrão.
5. Se o comando ping falhar, verifique se o endereço IP do gateway padrão está correto
e se o gateway (roteador) está operacional.
6. Faça o ping no endereço IP de um host remoto (um host que esteja em uma sub-rede
diferente).
7. Se esse comando falhar, verifique se o endereço IP do host remoto está correto, se o
host remoto está operacional e se todos os gateways (roteadores) entre este computador
e o host remoto estão operacionais.
8. Faça o ping no endereço IP do servidor DNS.
175
9. Se ele falhar, verifique se o endereço IP do servidor DNS está correto, se o servidor
DNS está operacional e se todos os gateways (roteadores) entre este computador e o
servidor DNS estão operacionais.
Observações:
Se o comando ping não for localizado ou falhar, você pode usar o recurso Visualizar
eventos para verificar o log do sistema e procurar problemas relatados pelo serviço
Protocolo Internet (TCP/IP) ou pela instalação do protocolo TCP/IP.
O comando ping usa mensagens de solicitação e resposta de eco do protocolo ICMP. As
diretivas dos filtros de pacotes em roteadores, firewalls ou outros tipos de gateways de
segurança podem impedir o fluxo desse tráfego. Nestas situações o comando ping não
irá retornar uma resposta, não porque o computador de destino esteja com problemas,
mas sim porque o protocolo ICMP, no qual o ping é baseado, está sendo bloqueado nos
roteadores do caminho.
Nota: O comando ipconfig é uma linha de comando equivalente ao comando winipcfg,
que está disponível no Windows Millennium Edition, no Windows 98 e no Windows
95. O Windows XP não inclui um equivalente gráfico ao comando winipcfg; no entanto,
você pode obter a funcionalidade equivalente para exibição e renovação de um endereço
IP abrindo Conexões de rede, clicando com o botão direito do mouse em uma conexão
da rede, clicando em Status e, em seguida, clicando na guia Suporte.
Se usado sem parâmetros, o comando ipconfig exibe o endereço IP, a máscara da sub-
rede e o gateway padrão para todos os adaptadores. Para executar esse comando, abra o
prompt de comando e digite ipconfig. Para abrir Conexões de rede, clique em Iniciar,
clique em Painel de controle e, em seguida, clique duas vezes em Conexões de rede.
Conclusão
Nesta parte do tutorial, a qual inaugura a segunda fase dos Tutoriais de TCP/IP, fase
esta que vai da Parte 21 a Parte 40, falei sobre a detecção e resolução de problemas,
relacionados a conectividade de rede. Apresentei uma seqüência de passos, os quais
podem ser utilizados para, rapidamente, identificar a causa do problema, que está
impedindo a correta comunicação de uma estação de trabalha com a rede local ou com
redes remotas.
Na próxima parte deste tutorial, segundo dentro da filosofia de apresentar ações
práticas, você aprenderá sobre a instalação do Servidor DNS no Windows 2000 Server.
176