tutorial sobre protocolo tcp/ip

182

Click here to load reader

Upload: chris-x-ms

Post on 15-May-2015

3.852 views

Category:

Documents


0 download

DESCRIPTION

Informação completa sobre o protocolo TCP/IP e outros protocolos auxiliares.

TRANSCRIPT

Page 1: Tutorial sobre protocolo TCP/IP

Introdução ao TCP /IP

Introdução

Esta é a primeira parte de um total de 12 partes, deste tutorial de TCP/IP. O objetivo da Parte 1 é apresentar o protocolo TCP/IP e os sues aspectos básicos de utilização em redes baseadas no Windows 2000 (Server e Professional) e no Windows XP. Nesta primeira parte faremos uma apresentação do protocolo TCP/IP, de tal maneira que o leitor possa entender exatamente o que é o 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.

O conceito de sub-redes e exemplos práticos.

Comandos disponíveis no Windows 2000 e no Windows XP, relacionados com o protocolo TCP/IP.

Um visão geral do protocolo TCP/IP 

Para que os computadores de uma rede possam trocar informações é necessário que todos 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". 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 protocolos diferentes instalados, não serão capazes de estabelecer uma comunicação e 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 computadores não serão capazes de estabelecer comunicação e trocar informações. 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.

Page 2: Tutorial sobre protocolo TCP/IP

  À 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 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 durante a instalação do Sistema Operacional, a não ser que um protocolo diferente seja selecionado. Até mesmo o Sistema Operacional Novell, que sempre foi baseado no 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 e também do Windows XP. 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 (computadores, servidores, hubs, switchs, impressoras de rede, etc) que fazem parte da rede. Na Figura 1 temos uma visão geral de uma pequena rede baseada no protocolo TCP/IP:  

Page 3: Tutorial sobre protocolo TCP/IP

 Figura 1 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 fazem 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.1Subrede: 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 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

Page 4: Tutorial sobre protocolo TCP/IP

que podem ser ligados neste rede. Observe que são 254 e não 256, pois o primeiro número – 10.200.150.0 e o último – 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, nas próximas partes deste tutorial.    No exemplo da figura 1 observe que o computador com o IP 10.200.150.7 está com uma máscara de sub-rede diferente dos demais: 255.255.0.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.   A conexão da rede local com outras redes é feita através de linhas 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 os 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 em uma das próximas lições deste tutorial). 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

Page 5: Tutorial sobre protocolo TCP/IP

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 um 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 é o 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.  

Existem aplicativos antigos que são baseados em um 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.  

As configurações do protocolo TCP/IP podem ser definidas manualmente, isto é, configurando cada um dos equipamentos necessários. 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 ou o Windows 2000 Server. Uma vez disponível e configurado, o serviço DHCP fornece 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.  

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, 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 ou Windows XP). Para isso siga os seguintes passos:   1. Faça o logon. 2. Abra o Prompt de comando: Iniciar -> Programas -> Acessórios -> Prompt de comando. 3. Na janela do Prompt de comando digite o seguinte comando:

Page 6: Tutorial sobre protocolo TCP/IP

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 de 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 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:

Page 7: Tutorial sobre protocolo TCP/IP

 

Números Binários e Máscara de Sub-Rede

Introdução

Na Primeira Parte deste tutorial 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),

Page 8: Tutorial sobre protocolo TCP/IP

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 102 e assim por diante. o valor real do número é a soma destas multiplicações. Observe o esquema a seguir que será bem mais fácil de entender:  

  4 5 3 8

Multiplica por: 103 102 101 100

ou seja: 1000 100 10 1

Resultado: 4 x 1000 5 x 100 3 x 10 8 x 1

Igual a: 4000 500 30 8

Somando tudo: 4000+500+30+8

É igual a: 4538

Observe que 4538 significa exatamente:      4 milhares (103)

+ 5 centenas (102)

+ 3 dezenas (101)

+ 8 unidades (100)

E assim para números maiores teríamos potências 104, 105 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, 82 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

Page 9: Tutorial sobre protocolo TCP/IP

ser baseado em dois dígitos? Exatamente. 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 binário, 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, 22, 23, 24 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 26 25 24 23 22 21 20

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, 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 26 25 24 23 22 21 20

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

  Converter decimal para binário:  

Page 10: Tutorial sobre protocolo TCP/IP

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 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 de cada dígito:   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, 21, 22 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:

11101010

Para exercitar vamos converter mais um número de decimal para binário. Vamos converter o número 144 para decimal.   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 (subnetmask) e uma operação "E", para verificar se duas máquinas estão na mesma rede ou não.  

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

Page 11: Tutorial sobre protocolo TCP/IP

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 uma outras redes através de um roteador.  

  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 tutorial). A rede é a 10.200.150, ou seja, todos os equipamentos da rede tem os 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 tutorial.

Page 12: Tutorial sobre protocolo TCP/IP

  A rede da figura anterior é uma rede das mais características, 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. Nas próximas partes deste tutorial 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, calcular se os dois computadores pertencem a mesma rede ou a redes diferentes. Neste caso podemos ter duas situações distintas:  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 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.  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 através do 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 00000101Computador de destino:

10 200 150 8

00001010 11001000 10010110 00001000Máscara de sub-rede:

255 255 255 0

11111111 11111111 11111111 00000000Feitas 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 00000101E

255.255.255.0 11111111 11111111 11111111 00000000

10.200.150.0 00001010 11001000 10010110 00000000 Resultado

Page 13: Tutorial sobre protocolo TCP/IP

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 00001000E

255.255.255.0 11111111 11111111 11111111 00000000

10.200.150.0 00001010 11001000 10010110 00000000 ResultadoAgora 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 00000101Computador de destino:

10 204 150 8

00001010 11001100 10010110 00001000Máscara de sub-rede:

255 255 255 0

11111111 11111111 11111111 00000000Feitas 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 00000101E

255.255.255.0 11111111 11111111 11111111 00000000

10.200.150.0 00001010 11001000 10010110 00000000 ResultadoAgora é 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 00001000E

255.255.255.0 11111111 11111111 11111111 00000000

10.204.150.0 00001010 11001100 10010110 00000000 ResultadoAgora 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 através do 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

Page 14: Tutorial sobre protocolo TCP/IP

seja entregue na 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 dos 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.   

Conclusão.  Neste segunda parte do tutorial de TCP/IP, 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. 

Classes de Endereços

Introdução

Na Parte 1 deste tutorial 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 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 do tutorial 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 IP, por causa do grande crescimento da Internet, novas alternativas tiveram que ser buscadas.

Endereçamento IP – Classes de Endereços:

Nós 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. 

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.

Classe A:  Esta classe foi definida com tendo o primeiro bit (dos 32 bits que formam um número IP) 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 127 é um número IP reservado, conforme detalharemos 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

Page 15: Tutorial sobre protocolo TCP/IP

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

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 subrede 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 -> 128-2 -> 16.777.214 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á necessários para 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, pois se o endereço de uma rede Classe A fosse disponibilizado para um 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 passou-se a utilizar a divisão em sub-redes, assunto este que será visto na Parte 5 destes tutorial.

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á 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, 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:

Page 16: Tutorial sobre protocolo TCP/IP

  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 -> 16.382 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 -> 65.534 máquinas em cada rede classe B

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 5 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 5 deste tutorial.

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, 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:  

Page 17: Tutorial sobre protocolo TCP/IP

  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

, 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 -> 2097152-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.  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 Muliticast, Unicast e Broadcast em uma das próximas partes deste tutorial. 

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. 

Page 18: Tutorial sobre protocolo TCP/IP

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 redesNú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

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, 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. Falaremos mais sobre Broadcast, Unicast e Multiast, nas próximas partes deste tutorial. 

Introdução ao Roteamento IP

Introdução

Na Parte 1 deste tutorial 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 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

Page 19: Tutorial sobre protocolo TCP/IP

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ão 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 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âmtero 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. 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: "É o responsável por encontrar um caminho entre a rede onde está o computador que enviou os dados e a rede onde está o computador que irá receber os dados."

Quando ocorre um problema com o Roteador, tornando-o indisponível, você consegue se comunicar normalmente com os demais computadores da rede local, porém não conseguirá comunicação com outras redes de computadores, como por exemplo a Internet.    

Como eu sei qual o Default Gateway que está configurado no Windows 2000? 

Você pode verificar as configurações do TCP/IP de um computador com o Windows 2000 Server de duas maneiras: com as proprieades 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

Page 20: Tutorial sobre protocolo TCP/IP

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.

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.

Page 21: Tutorial sobre protocolo TCP/IP

7. A janela de propriedades do TCP/IP será exibida, conforme indicado a seguir. 

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. 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.

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:

Page 22: Tutorial sobre protocolo TCP/IP

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: 

Page 23: Tutorial sobre protocolo TCP/IP

Nesta pequena rede temos um exemplo simples de roteamento, mas muito a explicar. Então vamos lá. 

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. 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.

Page 24: Tutorial sobre protocolo TCP/IP

Na verdade – 3 redes: Com isso temos, na prática três redes, conforme resumido a seguir:

SP: 10.10.10.0/255.255.255.0

RJ: 10.10.20.0/255.255.255.0

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 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 chegam os pacotes 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 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.

Page 25: Tutorial sobre protocolo TCP/IP

9. Para que a resposta possa ir do computador RJ-02 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 

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.

Exemplos de Roteamento

Introdução

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

Page 26: Tutorial sobre protocolo TCP/IP

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.02. Existe uma quinta rede que é a rede formada pelas interfaces de WAN dos roteadores. Este rede apresenta as seguintes características:

Rede Número da rede Máscara de sub-rede

Roteadores 10.10.5.0 255.255.255.03. 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.

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

Page 27: Tutorial sobre protocolo TCP/IP

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:

Computador na Rede 03: 10.10.30.25/255.255.255.0

Computador na Rede 02: 10.10.20.144/255.255.255.0

Page 28: Tutorial sobre protocolo TCP/IP

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 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

Page 29: Tutorial sobre protocolo TCP/IP

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.

Tabelas de Roteamento

Introdução

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, na Parte 4 fiz uma introdução ao roteamento e na Parte 5 apresentei mais alguns exemplos/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 contém 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 tenha sido atingido.   Na Figura a seguir apresento um exemplo de uma "mini-tabela" de roteamento:

Page 30: Tutorial sobre protocolo TCP/IP

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.  

Entenda os campos que compõem uma entrada 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-rede mais adiante) 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 roda 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.  

Page 31: Tutorial sobre protocolo TCP/IP

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 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.  

Analisando a tabela de roteamento de um computador com o Windows (2000, 2003 ou XP):   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 em disco e será adicionada a 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, digite o comando indicado a seguir e pressione Enter:

route print

Será exibida uma tabela de roteamento, semelhante a indicada na Figura 16, onde é exibida a tabela de roteamento para um servidor com o número IP: 10.204.200.50:  

Page 32: Tutorial sobre protocolo TCP/IP

  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 para a 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, envia as informações através da minha placa de rede 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.  

Local host (endereço local):    

Page 33: Tutorial sobre protocolo TCP/IP

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 a 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 chege 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):    

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, com um destinatário. 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 devem 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.

Page 34: Tutorial sobre protocolo TCP/IP

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 do Capítulo 2, 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 Discover), 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 (conforme descreverei na seção sobre DHCP), até que o computador esteja com as configurações do TCP/IP definidas, configurações estas obtidas a partir do servidor DHCP.   Em termos de roteamento, estes são os conceitos necessários ao que será visto neste tutorial. Agora é hora de tratar sobre a divisão de uma rede em sub-redes, assunto mais conhecido como: subnetting. Mas este é assunto para as próximas partes deste tutorial.

Sub netting – divisão em sub-redesEsta é a 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/análises de como funciona o roteamento e na Parte 6 falei sobre a Tabela de Roteamento. Nesta parte abordarei um dos tópicos que mais geram dúvidas em relação ao TCP/IP: Sub netting, ou seja, como fazer a divisão de uma rede em sub-redes.

Introdução:

Até agora, nas demais partes deste tutorial, sempre utilizei as máscaras de 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:

Page 35: Tutorial sobre protocolo TCP/IP

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 (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, terá que ser definida uma rede Classe C (até 254 computadores, conforme descrito na Parte 4 dest 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, 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, 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 10.100.100.0/255.255.255.0, com 256 números IPs disponívies (na prática são 254 úteis, 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: 10.100.100.0 -> 10.100.100.255

Divisão da rede em 8 sub-redes, onde cada sub-rede fica com 32 endereços IP: Sub-rede 01: 10.100.100.0 -> 10.100.100.31Sub-rede 02: 10.100.100.32 -> 10.100.100.63Sub-rede 03: 10.100.100.64 -> 10.100.100.95Sub-rede 04: 10.100.100.96 -> 10.100.100.127Sub-rede 05: 10.100.100.128 -> 10.100.100.159Sub-rede 06: 10.100.100.160 -> 10.100.100.191Sub-rede 07: 10.100.100.192 -> 10.100.100.223Sub-rede 08: 10.100.100.224 -> 10.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, 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 (subnetting).

Page 36: Tutorial sobre protocolo TCP/IP

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.S= O que tem que ser alterado para fazer a divisão em sub-redes (subnetting).

Alterando o número de bits da máscara de sub-rede:

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 iguas 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:

Núm.bitsOcteto 01 Octeto 02 Octeto 03 Octeto 04 Máscara de sub-rede

08 11111111 00000000 00000000 00000000 255.0.0.0

16 11111111 11111111 00000000 00000000 255.255.0.0

24 11111111 11111111 11111111 00000000 255.255.255.0

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 uma 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

Page 37: Tutorial sobre protocolo TCP/IP

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úmeo de bits a mais a serem utilizados para a máscara de sub-rede:

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, com máscara de 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úmeo de bits destinados a parte de host do endereço (32 – bits usados para a máscara):

Núm. de endereços 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 - 10.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 bits a mais

a serem utilizados

Número de sub-redesNúmero de hosts em cada sub-rede

0máscara original.

rede classe C sem divisão254

1 0 126

2 2 62

3 6 30

4 14 14

5 30 6

6 62 2

7 126 0

8 endereço de broadcast -

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, descontanto 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 - 10.100.100.0/255.255.255.0, em seis sub-redes. De acordo com a tabela da Figura 16.6, 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

Page 38: Tutorial sobre protocolo TCP/IP

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:

Núm.bitsOcteto 01 Octeto 02 Octeto 03 Octeto 04

27 11111111 11111111 11111111 11100000

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 no Capítulo 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 soman 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:

Núm.bitsOcteto 01 Octeto 02 Octeto 03 Octeto 04 Nova Máscara

27 11111111 11111111 11111111 11100000 255.255.255.224

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, ou seja, duas ou mais sub-redes e dois ou mais endereços válidos em cada sub-rede.

Número de bits a mais

a serem utilizados

Número de sub-redesNúmero de hosts em cada sub-rede

2 2 62

3 6 30

Page 39: Tutorial sobre protocolo TCP/IP

4 14 14

5 30 6

6 62 2

Número de redes e número de hosts em cada rede – divsã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:

ClasseBits

Octeto 01 Octeto 02 Octeto 03 Octeto 04 Máscara Padrão

A 8 11111111 00000000 00000000 00000000 255.0.0.0

B 16 11111111 11111111 00000000 00000000 255.255.0.0

C 24 11111111 11111111 11111111 00000000 255.255.255.0

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.

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:

Divisão de uma rede classe B em sub-redes

Número de bitsSub-redes Hosts Nova máscara de sub-rede

2 2 16382 255.255.192.0

3 6 8190 255.255.224.0

4 14 4094 255.255.240.0

Page 40: Tutorial sobre protocolo TCP/IP

5 30 2046 255.255.248.0

6 62 1022 255.255.252.0

7 126 510 255.255.254.0

8 254 254 255.255.255.0

9 510 126 255.255.255.128

10 1022 62 255.255.255.192

11 2046 30 255.255.255.224

12 4094 14 255.255.255.240

13 8190 6 255.255.255.248

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 aritemé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:

Divisão de uma rede classe A em sub-redes

Número de bitsSub-redes Hosts Nova máscara de sub-rede

2 2 4194302 255.192.0.0

3 6 2097150 255.224.0.0

4 14 1048574 255.240.0.0

5 30 524286 255.248.0.0

6 62 262142 255.252.0.0

7 126 131070 255.254.0.0

8 254 65534 255.255.0.0

9 510 32766 255.255.128.0

10 1022 16382 255.255.192.0

11 2046 8190 255.255.224.0

12 4094 4094 255.255.240.0

13 8190 2046 255.255.248.0

Page 41: Tutorial sobre protocolo TCP/IP

14 16382 1022 255.255.252.0

15 32766 510 255.255.254.0

16 65534 254 255.255.255.0

17 131070 126 255.255.255.128

18 262142 62 255.255.255.192

19 524286 30 255.255.255.224

20 1048574 14 255.255.255.240

21 2097150 6 255.255.255.248

22 4194302 2 255.255.255.252

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 mésmo 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: 129.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:

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 endereços 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

Page 42: Tutorial sobre protocolo TCP/IP

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 igual 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 no Capítulo 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 último. Ao listar as faixas, consideramos os 16 hosts, apenas é importante salienar 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 129.45.32.0 -> 129.45.32.15Sub-rede 02 129.45.32.16 -> 129.45.32.31Sub-rede 03 129.45.32.32 -> 129.45.32.47Sub-rede 04 129.45.32.48 -> 129.45.32.63Sub-rede 05 129.45.32.64 -> 129.45.32.79Sub-rede 06 129.45.32.80 -> 129.45.32.95Sub-rede 07 129.45.32.96 -> 129.45.32.111Sub-rede 08 129.45.32.112 -> 129.45.32.127Sub-rede 09 129.45.32.128 -> 129.45.32.143Sub-rede 10 129.45.32.144 -> 129.45.32.159Sub-rede 11 129.45.32.160 -> 129.45.32.175Sub-rede 12 129.45.32.176 -> 129.45.32.191Sub-rede 13 129.45.32.192 -> 129.45.32.207Sub-rede 14 129.45.32.208 -> 129.45.32.223Sub-rede 15 129.45.32.224 -> 129.45.32.239Sub-rede 16 129.45.32.240 -> 129.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.

Page 43: Tutorial sobre protocolo TCP/IP

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 quarto 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 10 sub-redes?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 restarama 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 igual 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 qualque 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

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:

Page 44: Tutorial sobre protocolo TCP/IP

150.100.0.25150.100.3.20150.100.5.0150.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 reciocí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 Endereço de broadcast Número

150.100.0.0 150.100.0.1 150.100.7.254 150.100.7.255 1

150.100.8.0 150.100.8.1 150.100.15.254 150.100.15.255 2

150.100.16.0 150.100.16.1 150.100.23.254 150.100.23.255 3

150.100.24.0 150.100.24.1 150.100.31.254 150.100.31.255 4

150.100.32.0 150.100.32.1 150.100.39.254 150.100.39.255 5

150.100.40.0 150.100.40.1 150.100.47.254 150.100.47.255 6

150.100.48.0 150.100.48.1 150.100.55.254 150.100.55.255 7

150.100.56.0 150.100.56.1 150.100.63.254 150.100.63.255 8

150.100.64.0 150.100.64.1 150.100.71.254 150.100.71.255 9

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

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

Page 45: Tutorial sobre protocolo TCP/IP

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 150.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:

B= RoteamentoB= Subnetting (divisão de uma rede em sub-redes).

Uma introdução ao DNSIntrodução:

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/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 em 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 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 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 nome digitado. Se não for possível "descobrir" o número IP associado ao nome,

Page 46: Tutorial sobre protocolo TCP/IP

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 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, o serviço padrão para resolução de nomes era o WINS – Windows Internet Name Service (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 confuso.

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 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.

O DNS é um sistema para nomeação de computadores, equipamentos de rede (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áios servidoress 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:

Page 47: Tutorial sobre protocolo TCP/IP

Estrutura hierárquica do DNS.

Nesta Figura é apresentada uma visão abrevida 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-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

Top-level-domains

Em seguida, a estrutura hierárquica continua aumentando. Por exemplo, dentro do

Page 48: Tutorial sobre protocolo TCP/IP

domínio .com, são criadas sub domí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 da empresa.

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 subdominios 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 contínio.

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 inicalmente 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:

10.200.200.3 www.abc.com.br10.200.200.4 ftp.abc.com.br10.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,

Page 49: Tutorial sobre protocolo TCP/IP

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 ou com o Windows XP professional 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 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 sevidor 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.

Page 50: Tutorial sobre protocolo TCP/IP

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 respetivo 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 2000 procura no Cache DNS no cliente, 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.

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 pelo servidor DNS, anteriormente. 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 procsso 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.

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, diagrama este que apresenta uma visão geral do processo de resolução de nomes do DNS.

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

Page 51: Tutorial sobre protocolo TCP/IP

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çõa 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, 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. 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 seguir.

O arquivo hosts: Se não for encontrada a resposta no cache, o resolver consulta as entradas do arquivos hosts, o qual é um arquivo de texto e fica na pasta onde o Windows 2000 Server foi instalado, dentro do seguinte caminho: \system32\drivers\etc. 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úmeo 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.br10.200.200.4 ftp.abc.com.br arquivos.abc.com.br10.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.

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 ele 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, com previsão de lançamento para Setembro de 2003, pela editora Axcel Books).

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 s 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íno microsoft.com. Neste caso, o servidor DNS irá pesquisar o cache do servidor DNS (não confundir com o cache local do resolver no cliente).

Page 52: Tutorial sobre protocolo TCP/IP

À 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 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.

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:

Page 53: Tutorial sobre protocolo TCP/IP

Lista de root hints do servidor DNS.

Com o uso da lista de servidores root hints, o servidor DNS consege 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).

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

Page 54: Tutorial sobre protocolo TCP/IP

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 com não é a autoridade por abc.com, mas sabe informar quem é a autoridade deste domínio. O servidor DNS resonsá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 resonsá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 inforamaçã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.

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.

Page 55: Tutorial sobre protocolo TCP/IP

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 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 e 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.

A positive answer (resposta positiva): É uma resposta com o resultado para o nome pesquisado, isto é, o nome pode 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, tentando resolver o nome. Este processo pode continuar até que o nome seja resolvido ou até que uma resposta negativa seja 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 exsite, 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

Page 56: Tutorial sobre protocolo TCP/IP

resolver armazena o resultado da consulta no cache local do DNS.

Observações: 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, duranto 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 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

Page 57: Tutorial sobre protocolo TCP/IP

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 a nomes já resolvidos, podem ser respondidas diretamente a partir do cache, 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 mostrarei na parte prática, mais adiante.

Nota: Por padrão o 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 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.

Introdução ao DHCP

Introdução:

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/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. 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 é 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 e 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.

Page 58: Tutorial sobre protocolo TCP/IP

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.

Fundamentação teórica do 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, superescopo, 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 equipamente de rede, que utiliza o protocolo TCP/IP precisa que sejam 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

Page 59: Tutorial sobre protocolo TCP/IP

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 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 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 manulamente 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. 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:

RFC 2131: Dynamic Host Configuration Protocol (substitui a RFC 1541)

RFC 2132: DHCP Options and BOOTP Vendor Extensions

Page 60: Tutorial sobre protocolo TCP/IP

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 receberão. A seguir apresento uma série de termos relacionados ao DHCP. Estes termos serão explicados em detalhes até o final deste capítulo.

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.

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, uma impressora com placa de rede habilitada ao DHCP e assim por diante.

Escopo: Um escopo é o intervalo consecutivo completo des 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 outros parâmetros de configuração para clientes na rede, tais como o Default Gateway, Servidor DNS e assim por diante..

Superescopo: Um superescopo é 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 superescopos contêm somente uma lista de escopos associados ou escopos filho que podem ser ativados em cojunto. Os

Page 61: Tutorial sobre protocolo TCP/IP

superescopos não são usados para configurar outros detalhes sobre o uso de escopo. Para configurar a maioria das propriedades usadas em um superescopo, 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 Superescopo e todos os escopos (que compõem o Superescopo), herdarem estas configurações.

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.

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.

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.

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 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, utilzando, agora, o novo Mac-Address.

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 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

Page 62: Tutorial sobre protocolo TCP/IP

através da RFC 2132, mas você pode usar o console DHCP para definir e adicionar tipos de opção personalizados se necessário.

Classe de opções: Uma classe de opções é uma forma do servidor gerenciar tipos de opção fornecidos aos clientes. Quando uma classe de opções é adicionada ao servidor, é possível fornecer tipos de opção específicos de classe aos clientes dessa classe para suas configurações. No Windows 2000, os computadores cliente também podem especificar uma ID de classe durante a comunicação com o servidor. Para clientes DHCP anteriores que não oferecem suporte ao processo de ID de classe, o servidor pode ser configurado com classes padrão ao colocar clientes em uma classe. As classes de opções podem ser de dois tipos: classes de fornecedor e classes de usuá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 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 clientes solicitantes. Em um dos próximos itens descreverei como é o processo completo de concessão, desde o momento que a estação de trabalho é inicializada, até o momento que ela recebe todas as configurações do servidor DHCP.

Clientes suportados pelo DHCP

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.

Configurando um cliente baseado no Windows para que seja um cliente do DHCP:

Para configurar um computador com o Windows 2000 Server para ser um cliente DHCP, siga os passos indicados a seguir:

Page 63: Tutorial sobre protocolo TCP/IP

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.

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.

Page 64: Tutorial sobre protocolo TCP/IP

11. Clique em OK para fechá-la e aplicar as alterações efetudas. 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 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

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 e 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 2000 Server, usando 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 na rede). 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:

Page 65: Tutorial sobre protocolo TCP/IP

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 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 atribuído 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

Page 66: Tutorial sobre protocolo TCP/IP

preparando para os exames de Certificação do Windows 2000 Server, fique atento a esta funcionalidade. Normalmente aparecem questões envolvendo conhecimentos desta funcionalidade.

Introdução ao WINS

Introdução:

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/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. Nesta décima parte falarei sobre mais um serviço de rede do Windows 2000 Server: 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.

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 seu registro 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 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 (como acontecia no DNS, onde temos um espaço denomes hierárquico).

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.

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.

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ó erá obrigatório se algum serviço dependesse do DNS. Na época

Page 67: Tutorial sobre protocolo TCP/IP

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 (e obrigatório para o caso do Active Directory), para resolução de nomes.

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. 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 nome para endereço que mantém o suporte para resolução e registro do nome NetBios de computador. 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á instalado o Windows 2000 Server. 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 reosluçã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 respodner consultas às quais o DNS não conseguiu responder.

Como saber se ainda devo utilizar o WINS?

Page 68: Tutorial sobre protocolo TCP/IP

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 anteriores do Windows ou aplicações que dependam do WINS. Neste ítem vou detalhar um pouco mais sobre em que situações você 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 ou Windows XP Professional. Com uma rede nesta situação (o que ainda deve ser muito raro), 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:

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 sevidor, 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 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.

Page 69: Tutorial sobre protocolo TCP/IP

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

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, 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 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). 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.

Page 70: Tutorial sobre protocolo TCP/IP

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

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-11Para 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. 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.

m-node: Utiliza primeiro broadcast, se não conseguir resolver o nome usando broadcast, então utiliza o servidor WINS.

Page 71: Tutorial sobre protocolo TCP/IP

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.

TCP , UDP e Portas de Comunicação

Introduçã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/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 introcuçã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 comumente utilizados:

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.

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 de 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/IP 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/IP 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üêcia correta e solicitar retransmissão – são exercidas pelo protocolo TCP – Transmission Control Protocol. Além do TCP existe também o UDP, o qual não faz todas estas verificaçõe 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

Page 72: Tutorial sobre protocolo TCP/IP

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 uma 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 certa. 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 enviados, 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 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.

Page 73: Tutorial sobre protocolo TCP/IP

Como o TCP funciona

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 origem: 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 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:

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:

Page 74: Tutorial sobre protocolo TCP/IP

Mas o que você pode estar se perguntando é: 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.

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. É 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 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

Page 75: Tutorial sobre protocolo TCP/IP

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

20Servidor FTP (File Transfer Protocol, protocolo de transferência de arquivo) (canal de dados)

21 Servidor FTP (canal de controle)

23 Servidor Telnet

53Transferências de zona DNS (Domain Name System, sistema de nomes de domínios)

80Servidor 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 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 (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

Page 76: Tutorial sobre protocolo TCP/IP

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

53Consultas 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)

520Routing 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

Os programas que usam TCP têm garantia de transporte confiável de dados.

Page 77: Tutorial sobre protocolo TCP/IP

transporte 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.

Portas de Comunicação na Prática

Introdução:

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/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 introcuçã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 confiuraçõ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

Page 78: Tutorial sobre protocolo TCP/IP

informada após o endereço, colocandos 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:http://www.abc.com.br:470

Um 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 (veja uma das próximas colunas para um discussão completa sobre diretórios, modelos baseado no Mainframe e os novos modelos Web).

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 progrmas, 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.

Page 79: Tutorial sobre protocolo TCP/IP

Na Figura a seguir, mostro o uso de um software emulador de terminal, no momento emque está sendo configurada uma nova seção, a qual será estabelecida via Telnet, utilizando a porta 21:

Estas são apenas três situações bastante comuns – acessar a Internet, fazer download 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.

O comando netstat – exibindo informações sobre portas:

Page 80: Tutorial sobre protocolo TCP/IP

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:

Page 81: Tutorial sobre protocolo TCP/IP

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

Page 82: Tutorial sobre protocolo TCP/IP

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:

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:

Page 83: Tutorial sobre protocolo TCP/IP
Page 84: Tutorial sobre protocolo TCP/IP

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

Page 85: Tutorial sobre protocolo TCP/IP

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

Instalação e Configuração

Introdução:

Esta é a décima terceira 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/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 introcuçã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 confiuraçõ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.

Nesta décima terceira parte você aprenderá sobre a instalação e configuração do protocolo TCP/IP no Windows 2000 Professional ou Server. Apresentarei, em detalhes, a configuração do protocolo TCP/IP no Windows 2000. Mostrarei 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.

Instalação e configuração do protocolo TCP/IP

É muito pouco provável que você não tenha instalado o TCP/IP em seu computador, principalmente se ele faz parte da rede da empresa ou de uma rede doméstica. Mas pode acontecer de o TCP/IP, por algun motivo, não ter sido instalado. O TCP/IP é o protocolo padrão no Windows 2000 e é instalado durante a própria instalação do Sistema Operacional. Já no Windows Server 2003 o TCP/IP é instalado, obrigatoriamente, e não pode ser desinstalado. Mas se por algum motivo, o TCP/IP tiver sido desinstalado no Windows 2000 ou não tiver sido instalado durante a instalação do Windows 2000, você poderá instalá-lo quando for necessário.

Neste tópico apresentarei diversos exemplos de configuração do protocolo TCP/IP. Em todos eles, você terá que acessar as propriedades da interface de rede, na qual o TCP/IP será configurado. É importante salientar que você pode ter mais de uma placa de rede instalada no Windows 2000. Neste caso, as configurações do protocolo TCP/IP são separadas/individualizadas para cada placa/interface de rede. Você deve utilizar um número IP diferente em cada interface. A seguir descrevo os passos para acessar as propriedades da interface de rede a ser configurada. Estes passos serão necessários nos diversos exemplos deste tópico. Nos próximos exemplos, não repetirei todos os passos para acessar as propriedades da interface de rede a ser configurada. Ao invés disso, utilizarei somente a expressão: “Acesse as propriedades de rede da interface a ser configurada”. Muito bem, vamos aos exemplos práticos.

Exemplo: Para acessar as propriedades da interface de rede a ser configurada, 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 -> Configurações -> Painel de controle.3. Dê um clique duplo na opção Conexões dial-up e de rede.4. Será exibida uma janela com todas as conexões disponíveis. Clique com o botão direito do

Page 86: Tutorial sobre protocolo TCP/IP

mouse na conexão a ser configurada e, no menu de opções que é exibido, clique em Propriedades.5. Pronto, será exibida a janela de propriedades da conexão, na qual você poderá fazer diversas configurações.

No próximo exemplo mostrarei como instalar o protocolo TCP/IP, caso este tenha sido desinstalado ou não tenha sido instalado durante a instalação do Windows 2000.

Exemplo: Para instalar o protocolo TCP/IP, siga os passos indicados a seguir:

1. Acesse as propriedades de rede da interface a ser configurada.2. Na janela de propriedades da conexão dê um clique em Instalar...3. Será aberta a janela para que você selecione o tipo de componente de rede a ser instalado. Selecione a opção Protocolo, conforme indicado na Figura a seguir:

Selecionando o tipo de componente a ser instalado.

4. Após ter selecionado a opção Protocolo clique em Adicionar...5. Em poucos instantes será exibida a lista de protocolos disponíveis.6. Marque a opção TCP/IP e clique em OK. 7. O TCP/IP será instalado e você estará de volta à guia Geral de configurações da interface de rede. Observe que o TCP/IP já é exibido na lista de componentes instalados. Clique em OK para fechar a janela de propriedades da interface de rede.

O próximo passo é configurar o protocolo TCP/IP. No exemplo a seguir, mostrarei como configurar as diversas opções do protocolo TCP/IP. É importante lembrar que, se você tiver mais de uma placa de rede instalada, as configurações do TCP/IP serão separadas para cada placa (diz-se cada interface).

Nota: Para uma descrição detalhada das opções de configuração, tais como número IP, máscara de sub-rede, servidor DNS, servidor WINS, Default Gateway e assim por diante, consulte o Capítulo 2.

Exemplo: Para configurar o protocolo TCP/IP, siga os passos indicados a seguir:

1. Acesse as propriedades de rede da interface a ser configurada.2. Na janela de propriedades da conexão dê um clique em Protocolo Internet (TCP/IP) para selecioná-lo.3. Clique em Propriedades. Nesta janela você deve informar se as configurações do TCP/IP serão obtidas a partir de um servidor DHCP (Obter um endereço IP automaticamente) ou se estas configurações serão informadas manualmente (Usar o seguinte endereço IP). Ao marcar a opção Usar o seguinte endereço IP, você deverá informar um número IP a ser utilizado, a máscara de

Page 87: Tutorial sobre protocolo TCP/IP

sub-rede, o número IP do Gateway padrão e o número IP de um ou dois servidores DNS, conforme exemplo da Figura a seguir:

Configurando o TCP/IP manualmente.

4. Além das configurações básicas, da tela da Figura anterior, você pode configurar uma série de opções avançadas do protocolo TCP/IP. Para acessar a janela de configurações avançadas, clique em Avançado... Será aberta a janela de configurações avançadas, com a guia Configurações IP selecionada por padrão, conforme indicado na Figura a seguir:

Page 88: Tutorial sobre protocolo TCP/IP

Janela para cofigurações IP.

5. É possível ter mais de um endereço IP associado com a mesma placa de rede. O que não é permitido é ter o mesmo número IP, associado a duas ou mais placas de rede. Para adicionar um novo número IP, clique em Adicionar..., abaixo da lista de endereços IP configurados. Será aberta a janela Endereço TCP/IP (muito mal traduzida por sinal). Para adicionar um novo endereço basta digitá-lo no campo IP, digite a respectiva máscara de sub-rede e clique em Adicionar. Você estará de volta à janela de configurações avançadas do TCP/IP e o novo endereço IP já será exibido na lista. A partir de agora, a nova interface está com dois endereços IP. Você pode adicionar mais endereços IP, utilizando o botão Adicionar... e preenchendo as informações necessárias.

6. Você também pode ter mais de um default gateway configurado. Neste caso, quando o primeiro default gateway da lista estiver indisponível, o TCP/IP tenta utilizar o segundo e assim por diante. Para adicionar mais um default gateway, clique em Adcionar..., abaixo da lista de default gateways configurados. Será aberta a janela para que você informo o número IP do novo default gateway e o respectivo custo, em número de hopes. Se você quer que um default gateway seja utilizado somente como contingência, no caso de nenhum outro gateway estar disponível, configure-o com um valor elevado para o custo. Digite as informações do novo gateway e clique em OK. Pronto, o novo número já será exibido na guia de Configurações IP.

7. Clique na guia DNS. Serão exibidas as opções indicadas na Figura a seguir:

Page 89: Tutorial sobre protocolo TCP/IP

A guia para configuração do DNS.

8. Nesta guia você informa o endereço IP de um ou mais servidores DNS. Para acrescentar novos servidores, basta utilizar o botão Adicionar... Você pode alterar a ordem dos servidores DNS na lista, clicando nos botões com o desenho de uma flecha para cima ou para baixo. É importante descrever como o Windows utiliza a lista de servidores DNS. As consultas são enviadas para o primeiro servidor da lista. Se este servidor não conseguir responder a consulta, esta não será enviada para os demais servidores da lista. O segundo servidor da lista somente será pesquisado se o primeiro servidor estiver off-line e não estiver respondendo; o terceiro servidor da lista somente será pesquisado se o primeiro e o segundo servidor DNS estiverem off-line e não estiverem respondendo e assim por diante. Nesta guia você também pode configurar as seguintes opções:

Acrescentar sufixo DNS primário e específicos de cada conexão: O sufixo DNS é configurado na guia Identificação de rede, das propriedades do meu Computador. Por exemplo, um computador com o nome micro01.abc.com, tem como sufixo DNS abc.com. Esta opção especifica que a resolução de nomes não qualificados (por exemplo micro01.abc.com é um FQDN, ou seja, um nome completamente qualificado, já micro01 é um nome não qualificado, ou seja, sem o domínio como sufixo) usados neste computador seja limitada aos sufixos do domínio do sufixo primário e todos os sufixos específicos da conexão. Os sufixos específicos da conexão são configurados em Sufixo DNS para esta conexão. O sufixo DNS primário é configurado clicando em Propriedades, na guia Identificação de rede (disponível em Sistema, no Painel de controle). Por exemplo, se o sufixo do seu domínio primário for abc.com e você digitar ping xyz em um prompt de comando, o Windows 2000 consultará xyz.abc.com. Se você também configurar um nome de domínio específico de

Page 90: Tutorial sobre protocolo TCP/IP

conexão em uma das suas conexões para vendas.abc.com, o Windows 2000 consultará xyz.abc.com e xyz.vendas.abc.com. A lista de domínios que será pesquisada, quando você digita um nome não qualificado, também é definida nesta guia, conforme será explicado logo a seguir.

Acrescentar sufixos pai do sufixo DNS primário: Especifica se a resolução de nomes não qualificados usados neste computador inclui os sufixos pai do sufixo DNS primário e o domínio de segundo nível. O sufixo DNS primário é configurado clicando em Propriedades na guia Identificação de rede (disponível em Sistema, no Painel de controle). Por exemplo, se o sufixo DNS primário for vendas. abc.com e você digitar ping xyz no prompt de comando, o Windows 2000 também consultará vendas.abc.com e abc.com.

Acrescentar estes sufixos DNS (em ordem): Especifica que a resolução de nomes não qualificados usados neste computador seja limitada aos sufixos do domínio listados em Acrescentar estes sufixos DNS. Os sufixos DNS específicos da conexão e primários não serão usados para resolução de nomes não qualificados. Ao marcar esta opção, você deve especificar uma lista de sufixos que deverá ser utilizada, para a tentativa de resolução de nomes não qualificados. Por exemplo, se nesta lista você acrescentar os seguintes sufixos: sul.vendas.abc.com, vendas.abc.com e abc.com, nesta ordem, ao digitar ping xyz, o Windows tentará localizar este host, utilizando os seguintes nomes: xyz.sul.vendas.abc.com, xyz.vendas.abc.com e xyz.abc.com. Para acrescentar um novo sufixo basta marcar esta opção e utilizar o botão Adicionar. Você também pode alterar a ordem dos sufixos clicando nos botões com a seta para cima e seta para baixo. Para remover um sufixo basta selecioná-lo na lista e clicar em Remover.

Registrar endereços desta conexão no DNS: Especifica que o computador tente o registro dinâmico no DNS, dos endereços IP desta conexão com o nome completo deste computador, como especificado na guia Identificação de rede (disponível em Sistema no Painel de Controle).

Usar o sufixo DNS desta conexão no registro do DNS: Especifica se a atualização dinâmica do DNS será usada para registrar os endereços IP e o nome de domínio específico desta conexão. O nome DNS específico desta conexão é a concatenação do nome do computador (que é o primeiro rótulo do nome completo do computador) e o sufixo DNS desta conexão. O nome completo do computador é especificado na guia Identificação de rede (disponível em Sistema, no Painel de controle). Se a caixa de seleção Registrar os endereços desta conexão no DNS estiver selecionada, o registro é uma adição ao registro do DNS do nome completo do computador.

8. Defina as configurações desejadas e clique na guia WINS. Serão exibidas as opções indicadas na Figura a seguir:

Page 91: Tutorial sobre protocolo TCP/IP

A guia para configuração do WINS.

9. Nesta guia você informa o endereço IP de um ou mais servidores WINS. Para acrescentar novos servidores, basta utilizar o botão Adicionar... Você pode alterar a ordem dos servidores WINS na lista, clicando nos botões com o desenho de uma flecha para cima ou para baixo. É importante descrever como o Windows utiliza a lista de servidores WINS. As consultas são enviadas para o primeiro servidor da lista. Se este servidor não conseguir responder a consulta, esta não será enviada para os demais servidores da lista. O segundo servidor da lista somente será pesquisado se o primeiro servidor estiver off-line e não estiver respondendo; o terceiro servidor da lista somente será pesquisado se o primeiro e o segundo servidor WINS estiverem off-line e não estiverem respondendo e assim por diante. Nesta guia você também pode configurar as seguintes opções:

Ativar exame de LMHOSTS: Especifica se será usado um arquivo Lmhosts para a resolução de nomes NetBIOS. O arquivo Lmhosts será usado para resolver os nomes de NetBIOS de computadores remotos para um endereço IP. Clique em Importar LMHOSTS para importar um arquivo para o arquivo Lmhosts.

Ativar NetBios sobre TCP/IP: Especifica que esta conexão de rede usa o NetBIOS sobre TCP/IP (NetBT) e o WINS. Quando um endereço IP é configurado manualmente, esta opção é selecionada por padrão para ativar o NetBIOS e o uso do WINS para este computador. Essa configuração será necessária se este computador se comunicar pelo nome com computadores que usam versões anteriores do Windows (Windows 95/98, NT 4.0, etc.). Antes de alterar esta opção, verifique se não é necessário usar nomes de NetBIOS para esta conexão de rede. Por exemplo, se você se comunicar somente com outros

Page 92: Tutorial sobre protocolo TCP/IP

computadores que estejam executando o Windows 2000 ou computadores na Internet que usam o DNS.

Desativar NetBios sobre TCP/IP: Desativa o uso de NetBios sobre TCP/IP. Pode ser utilizada em uma rede baseada apenas em versões do Windows tais como Windows 2000, Windows XP e Windows Server 2003.

Usar a configuração NetBios do servidor DHCP: Especifica que esta conexão de rede obtenha suas configurações de NetBIOS sobre TCP/IP (NetBT) e de WINS, a partir de um servidor DHCP.

Quando um endereço IP é obtido automaticamente, esta opção fica selecionada por padrão de forma que o computador usa as definições de configuração do NetBT conforme elas forem sendo fornecidas opcionalmente pelo servidor DHCP quando ele obtiver um endereço IP usando o DHCP. Você deve selecionar esta opção somente se o servidor DHCP estiver configurado para fornecer todas as opções de configuração de WINS para os clientes.

10. Defina as configurações desejadas e clique na guia Opções. Serão exibidas as opções indicadas na Figura a seguir:

A guia para configuração Opções.

11. Nesta janela você pode configurar se a interface que está sendo configurada deve ou não utilizar uma das diretivas de IPSec habilitadas (caso haja alguma diretiva habilitada) e também pode definir filtros com base no protocolo e na porta de comunicação. Para habilitar o uso de uma das diretivas do IPSec, clique em Segurança de IP para marcar esta opção e em seguida clique em Propriedades.

12. Será aberta a janela Segurança de IP. Para habilitar o IPSec clique em Usar esta diretiva de segurança IP e, na lista de diretivas, selecione a diretiva a ser aplicada, conforme exemplo da Figura a seguir e clique em OK. Você estará e volta à janela de propriedades Avançadas do TCP/IP.

Page 93: Tutorial sobre protocolo TCP/IP

Selecionando uma diretiva de IPSec.

13. Para definir um filtro clique em Filtragem de TCP/IP e em seguida no botão Propriedades. Será exibida a janela para definição de filtros. Nesta janela você tem as seguintes opções:

Ativar filtragem de TCP/IP (todos os adaptadores): Ao marcar esta opção você especifica se a filtragem de TCP/IP será ativada para todos os adaptadores. A filtragem de TCP/IP especifica os tipos de tráfego de entrada destinados para este computador que serão permitidos. Para configurar a filtragem de TCP/IP, selecione esta caixa de seleção e especifique os tipos de tráfego TCP/IP permitidos para todos os adaptadores neste computador em termos de protocolos IP, portas TCP e portas UDP. Você deve ter cuidado ao usar os filtros, para não desabilitar portas que sejam necessárias para os serviços básicos de rede, tais como DNS, DHCP, compartilhamento de pastas e impressoras e assim por diante.

14. Vamos aplicar um exemplo de filtro. O FTP usa o protocolo TCP na porta 21. Para o nosso exemplo, para as portas TCP, vamos permitir apenas o uso do FTP na porta 21. Marque a opção Ativar filtragem de TCP/IP (todos os adaptadores). Em seguida marque a opção Permitir somente nas portas TCP. Clique em Adicionar... Será exibida a janela adicionar filtro, para que você adicione o número da porta. Digite 21, conforme indicado na Figura a seguir e clique em OK.

Informando o número da porta.

15. Você estará de volta à janela Filtragem de TCP/IP, com a porta TCP/21 já adicionada, conforme indicado na Figura a seguir:

Page 94: Tutorial sobre protocolo TCP/IP

A janela Filtragem de TCP/IP.

16. Clique em OK. Você estará de volta a janela de configurações avançadas do TCP/IP. Clique em OK para fechá-la.

17. Você estará de volta à janela de configurações da interface de rede. Clique em Fechar para fechá-la.

Muito bem, você acabou de ver um exemplo de como configurar o protocolo TCP/IP.

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/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 manualmente, onde o administrador de cada roteador executa

Page 95: Tutorial sobre protocolo TCP/IP

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.

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. 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)

Page 96: Tutorial sobre protocolo TCP/IP

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, 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á 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 em uma das próximas partes deste tutorial), 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 reconfigurar-se, para definir novas rotas, já baseadas na nova topologia da rede, sem o roteador com problemas. O tempo que a rede leva para reconfigurar-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 em uma das próximas partes deste tutorial.

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

Page 97: Tutorial sobre protocolo TCP/IP

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.

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.

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.

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 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:

Page 98: Tutorial sobre protocolo TCP/IP

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). 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:

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

Page 99: Tutorial sobre protocolo TCP/IP

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:

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 no Capítulo 2), 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:

Page 100: Tutorial sobre protocolo TCP/IP

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/proteção, para evitar que 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 sub netting, 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

Page 101: Tutorial sobre protocolo TCP/IP

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 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 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

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/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

Page 102: Tutorial sobre protocolo TCP/IP

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. 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

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.

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 através das á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

Page 103: Tutorial sobre protocolo TCP/IP

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 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:

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

Page 104: Tutorial sobre protocolo TCP/IP

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: Pode 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 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).

O OSPF tem as seguintes vantagens sobre o 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.

Page 105: Tutorial sobre protocolo TCP/IP

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.

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 (neighboring 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 feito o 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

Page 106: Tutorial sobre protocolo TCP/IP

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. 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.

Compartilhando a Conexão Internet

Introdução:

Esta é a décima 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, na Parte 4 fiz uma introdução ao roteamento e na Parte 5 apresentei mais alguns exemplos/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 introcuçã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 confiuraçõ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.

Nesta décima sexta parte você aprenderá sobre um recurso bem útil do Windows 2000: O compartilhamento da conexão Internet, oficialmente conhecida como ICS – Internet Conection Sharing. Este recurso é util 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, conforme ilustrado na Figura a seguir:

Page 107: Tutorial sobre protocolo TCP/IP

Internet Connection Sharing (ICS)

Vamos inicialmente entender exatamente qual a função do ICS e em que situações ele é indicado. O recurso de compartilhamento da conexão com a Internet é indicado para conectar uma rede doméstica ou uma pequena rede (eu diria não mais do que 10 computadores) à Internet. Imagine a rede de uma pequena empresa, onde estão instalados 10 computadores e um servidor com o Windows 2000 Server. Está disponível uma única conexão com a Internet. A conexão é um link de 256 Kbps, do tipo ADSL. A questão é: “Com o uso do recurso de compartilhamento da conexão com a Internet, é possível que todos os computadores desta pequena rede, tenham acesso à Internet?”

A resposta é sim. Com o uso do ICS é possível fazer com que todos os computadores da rede tenham acesso à Internet, através de uma conexão compartilhada no servidor Windows 2000 Server. Após ter sido habilitado o compartilhamento da conexão Internet, os demais computadores da rede utilizam a internet como se estivessem diretamente conectados. Ou seja, para os usuários o uso da conexão compartilhada é transparente.

Para que o ICS possa funcionar são necessárias duas conexões de rede, no computador onde o ICS será habilitado. Uma conexão normalmente é a placa de rede que liga o computador à rede local e é conhecida como conexão interna. A outra conexão, conhecida como conexão Externa, faz a conexão do computador com a Internet. Normalmente é uma conexão do tipo ADSL, ISDN, A Cabo ou até mesmo uma conexão discada, via telefone comum. O diagrama da Figura a seguir, ilustra a funcionalidade do ICS. No computador onde o ICS foi habilitado, a conexão via placa de rede, é a conexão interna. A conexão via Modem, que faz a conexão com a Internet, é dita conexão externa ou pública.

Page 108: Tutorial sobre protocolo TCP/IP

Mudanças que são efetuadas quando o ICS é habilitado

Quando você habilita o ICS no computador conectado à Internet, algumas alterações são efetuadas neste computador. É muito importante entender estas alterações, porque pode acontecer de alguns serviços deixarem de funcionar após a habilitação do ICS. Sabendo quais as mudanças efetuadas pelo ICS, você poderá reconfigurar a sua rede, para que todos os serviços voltem a funcionar normalmente.

Importante: Devido as diversas mudanças que são introduzidas ao habilitar o ICS, é que não é recomendado o uso do ICS em um ambiente onde está configurado um domínio do Windows 2000 Server, baseado no Active Directory. O uso do ICS é realmente recomendado para pequenas redes baseadas em um modelo de Workgroup. Além disso, se você tiver uma rede maior, baseada em um domínio e no Active Directory, é muito provável que você já tenha uma conexão da rede local com a Internet, através do uso de roteadores e outros equipamentos de rede.

A primeira mudança a ser ressaltada é que o computador no qual o ICS foi habilitado, automaticamente, é configurado um servidor DHCP (digamos um mini DHCP), o qual passa a fornecer endereços IP para os demais computadores da rede.

Outra mudança que é efetuada é no número IP da interface interna. Este número é alterado

para: 192.168.0.1 com uma máscara de sub-rede: 255.255.255.0. Esta é uma das mudanças para as quais você deve estar atento. Pois se antes de habilitar o ICS você utiliza um esquema de endereçamento, por exemplo: 10.10.10.0/255.255.255.0, este esquema será alterado, para um esquema 192.168.0.0/255.255.255.0. Com isso pode ser necessário

Page 109: Tutorial sobre protocolo TCP/IP

reconfigurar alguns mapeamentos de drives de rede e de impressoras.

Muito importante: Quando o ICS é habilitado, é atribuído o endereço IP 192.168.0.1 para a interface interna do computador onde o ICS foi habilitado. Com isso, se houver compartilhamentos no servidor onde foi habilitado o ICS, estes deixarão de estar acessíveis para os demais computadores da rede, pois os demais computadores continuarão utilizando o esquema de endereçamento IP padrão da rede, o qual provavelmente seja diferente do esquema utilizado pelo ICS. Isso até que os demais clientes da rede sejam configurados como clientes DHCP e obter um endereço da rede 192.168.0.0/255.255.255.0, a partir do computador onde o ICS foi habilitado.

A funcionalidade de discagem sob demanda é habilitada na conexão Internet, do computador onde o ICS foi habilitado. Com isso quando qualquer um dos computadores da rede tentar acessar a Internet, se a conexão não estiver disponível, será inicializada automaticamente uma discagem (se for uma conexão discada) para estabelecer a conexão.

Nota: Após a habilitação do ICS, o serviço do ICS será configurado para inicializar automaticamente, de tal maneira que as funcionalidades do ICS possam ser utilizadas.

Além de transformar o computador com o ICS habilitado, em um servidor DHCP, será criado o seguinte escopo: 192.168.0.2 -> 192.168.0.254, com máscara de sub-rede 255.255.255.0.

Importante: A funcionalidade de DNS Proxy é habilitada no computador com o ICS habilitado. Isso significa que este computador recebe as requisições de resolução DNS dos clientes da rede, repassa estes pedidos para o servidor DNS do provedor de Internet, recebe a resposta e passa a resposta de volta para o cliente que fez a requisição para a resolução do nome. O resultado prático é que os clientes tem acesso ao serviço DNS, sendo que todas as requisições passam pelo ICS, que está atuando como um DNS Proxy.

Importante: Você não tem como alterar as configurações padrão do ICS. Por exemplo, você não pode desabilitar a funcionalidade de servidor DHCP do computador onde foi habilitado o ICS e nem pode definir um esquema de endereçamento diferente do que é definido por padrão ou desabilitar a função de DNS Proxy. Para que você possa personalizar estas funcionalidades você precisa utilizar o recurso de NAT, ao invés do ICS. O recurso de NAT será descrito descrito em uma das próximas partes do tutorial.

Configurando os clientes da rede interna, para usar o ICS

Muito bem, você habilitou o ICS no computador com a conexão com a Internet (você aprenderá a parte prática mais adiante) e agora você quer que os computadores da rede local possam acessar a Internet, usando a configuração compartilhada, no computador onde o ICS foi habilitado.

Conforme descrito no Parte 1 deste tutorial, para que os computadores de uma rede baseada no TCP/IP possam se comunicar, é preciso que todos façam parte da mesma rede (ou estejam ligados através de roteadores, para redes ligadas através de links de WAN). Quando você habilita o ICS, todos os computadores da rede devem utilizar o esquema de endereçamento padrão

definido pelo ICS, ou seja: 192.168.0.0/255.255.255.0. Com o ICS não é possível utilizar outro esquema de endereçamento que não o definido pelo ICS. O endereço 192.168.0.1 é atribuído a interface interna do computador com o ICS habilitado. Os demais computadores da rede devem ser configurados para usar o DHCP e como Default Gateway deve ser configurado o IP 192.168.0.1, que é número IP da interface interna do computador com o ICS habilitado (estou repetindo de propósito, para que fique gravado o esquema de endereçamento que é habilitado pelo ICS e devido a importância deste detalhe).

Dependendo da versão do Windows, diferentes configurações terão que ser efetuadas. Quando o ICS é habilitado em um computador rodando o Windows XP, Windows Server 2003 Standard Edition ou Windows Server 2003 Enterprise Edition, você poderá adicionar como clientes, computadores rodando uma das seguintes versões do Windows:

Page 110: Tutorial sobre protocolo TCP/IP

Windows 98

Windows 98 Segunda Edição

Windows Me

Windows XP

Windows 2000

Windows Server 2003 Standard Edition

Windows Server 2003 Enterprise Edition

Na parte prática, mais adiante, mostrarei os passos para habilitar os clientes da rede a utilizar o ICS.

Mais algumas observações importantes sobre o ICS:

Neste item apresentarei mais algumas observações importantes sobre o ICS. A primeira delas é que o esquema de endereçamento utilizado pelo ICS é um dos chamados endereços Internos ou endereços Privados. As faixas de endereços definidas como endereços privados são endereços que não são válidos na Internet, ou seja, pacotes endereçados para um endereço de uma destas faixas, serão descartados pelos roteadores. Os endereços Privados foram reservados para uso interno na Intranet das empresas. Ou seja, na rede interna, qualquer empresa, pode utilizar qualquer uma das faixas de endereços Privados. Existem três faixas de endereços definidos como Privados. Estas faixas estão definidas na RFC 1597. Os endereços definidos como privados são os seguintes:

10.0.0.0 -> 10.255.255.255

172.16.0.0 -> 172.31.255.255

192.168.0.0 -> 192.168.255.255

Observe que a faixa de endereços usada pelo ICS (192.168.0.1 -> 192.168.0.254) é uma faixa de endereços Privados. Por isso, o ICS também tem que executar 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 ICS (normalmente um modem para conexão discada ou um modem ADSL) Vamos a uma explicaçãomais detalhada deste ponto.

Imagine que você tem cinco computadores na rede, todos usando o ICS. Os computadores estão utilizando os seguintes endereços:

192.168.0.10

192.168.0.11

192.168.0.12

192.168.0.13

192.168.0.14

Page 111: Tutorial sobre protocolo TCP/IP

O computador com o ICS habilitado tem as seguintes configurações:

IP da interface interna: 192.168.0.1

IP da interface externa: Um endereço válido na Internet, obtido a partir da conexão com o provedor de Internet.

Quando um cliente acessa a Internet, no pacote de informação está registrado o endereço IP da rede interna, por exemplo: 192.168.0.10. Porém este pacote não pode ser enviado pelo ICS para a Internet, com este endereço IP como endereço de origem, senão no primeiro roteador este pacote será descartado, já que o endereço 192.168.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 ICS substitui o endereço IP de origem pelo endereço IP da interface externa do ICS (endereço fornecido pelo provedor de Internet e, portanto, válido na Internet). Quando a resposta retorna, o ICS repassa a resposta para o cliente que originou o pedido. Mas você pode estar fazendo as seguintes perguntas:

1. Se houver mais de um cliente acessando a Internet e o ICS possui apenas um endereço IP válido, como é possível a comunicação de mais de um cliente, ao mesmo tempo, com a Internet?

2. Quando a resposta retorna, como o ICS sabe para qual cliente ela se destina, se houver mais de um cliente acessando a Internet?

A resposta para estas duas questões é a mesma. O ICS executa uma função de NAT – Network Address Translation (que será o assunto de uma das próximas partes do tutorial). A tradução de endereços funciona assim:

1. Quando um cliente interno tenta se comunicar com a Internet, o ICS 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 (é o conceito de portas do protocolo TCP/IP, visto na Parte 12 deste tutorial). O ICS mantém uma tabelinha interna onde fica registrado que, a comunicação através da porta “tal” está relacionada com o cliente “tal” (ou seja, com o IP interno “tal”).

2. Quando a resposta retorna, pela identificação da porta, o ICS consulta a sua tabela interna e sabe para qual computador da rede deve ser enviada a referida resposta (para qual IP da rede interna), uma vez que a porta de identificação está associada com um endereço IP da rede interna.

Com isso, vários computadores da rede interna, podem acessar a Internet ao mesmo tempo, usando um único endereço IP. 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). Mas é importante não confundir este “mini-NAT” embutido no ICS, com a funcionalidade de NAT que será descrita em uma das próximas partes deste tutorial. Existem grandes diferenças entre o ICS e o NAT e o uso de cada um é indicado em situações específicas. O ICS tem suas limitações, as quais são diferentes das limitações do NAT.

Uma das principais limitações do ICS é não ser possível alterar as configurações definidas ao habilitar o ICS, tais como a faixa de endereços a ser utilizada e o número IP da interface interna (interface que liga o computador com o ICS à rede local).

Comparando ICS e NAT

Neste tópico apresento mais alguns detalhes sobre as diferenças entre o ICS e o NAT. Existem algumas funcionalidades que são fornecidas por ambos, tais como a tradução de endereços Privados para endereços válidos na Internet, enquanto outras são exclusivas de cada um dos serviços.

Page 112: Tutorial sobre protocolo TCP/IP

Para conectar uma rede residencial ou de um pequeno escritório, à Internet, você pode usar duas abordagens diferentes:

Conexão roteada: Neste caso, você instala o RRAS no computador conectado à Internet e configura o RRAS para fazer o papel de um roteador. Esta abordagem exige conhecimentos avançados do protocolo TCP/IP, para configurar o RRAS como um roteador. Esta abordagem tem a vantagem de permitir qualquer tipo de tráfego entre a rede local e a Internet (com a desvantagem de que esse pode ser um problema sério de segurança se o roteamento não for configurado adequadamente) e tem a desvantagem da complexidade na configuração.

Conexões com tradução de endereços: Neste caso, você instala o RRAS no computador conectado à Internet e configura a funcionalidade de NAT neste computador. A vantagem deste método é que você pode utilizar, na rede Interna, endereços privados. Várias máquinas da rede interna podem se conectar à Internet usando um único endereço IP válido, o endereço IP da interface externa do servidor com o RRAS. Outra vantagem do NAT, em relação ao roteamento, é que o NAT é bem mais simples para configurar. A desvantagem é que determinados tipos de tráfegos serão bloqueados pelo NAT, impedindo que determinadas aplicações possam ser executadas.

Uma conexão com tradução de endereços pode ser configurada usando dois métodos diferentes:

Você pode utilizar o ICS (objeto de estudo deste tópico) no Windows 2000, Windows XP, Windows Server 2003 Standard Edition ou Windows Server 2003 Enterprise Edition.

Você pode utilizar a funcionalidade de NAT do servidor RRAS, em servidores executando o Windows 2000 Server com o RRAS habilitado (lembre que o RRAS é instalado automaticamente, porém, por padrão, está desabilitado. Para detalhes sobre a habilitação e configuração do RRAS, consulte o Capítulo 6 do meu livro: Manual de Estudos Para o Exame 70-216, 712 páginas, publicado pela Editora Axcel Books).

Importante: As duas soluções – ICS ou NAT – fornecem as funcionalidades de tradução de endereços e resolução de nomes, porém existem mais diferenças do que semelhanças, conforme descreverei logo a seguir.

O Internet Connection Sharing (ICS) foi projetado para fornecer as configurações mais simplificadas possíveis. Conforme você verá na parte prática, habilitar o ICS é uma simples questão de marcar uma caixa de opção, todo o restante é feito automaticamente pelo Windows 2000 Server. Porém uma vez habilitado, o ICS não permite que sejam feitas alterações nas configurações que são definidas por padrão. O ICS foi projetado para obter um único endereço IP a partir do provedor de Internet. Isso não pode ser alterado. Ele é configurado como um servidor DHCP e fornece endereços na faixa 192.168.0.0/255.255.255.0. Isso também não pode ser mudado. Em poucas palavras: O ICS é fácil de habilitar mas não permite alterações nas suas configurações padrão. É o ideal para pequenos escritórios que precisam de acesso à Internet, a todos os computadores da rede, porém não dispõem de um técnico qualificado para fazer as configurações mais sofisticadas exigidas pelo NAT e pelo RRAS.

Por sua vez, o NAT foi projetado para oferecer o máximo de flexibilidade em relação as suas configurações no servidor RRAS. As funções principais do NAT são a tradução de endereço (conforme descrito anteriormente) e a proteção da rede interna contra tráfego não autorizado, vindo da Internet. O uso do NAT requer mais etapas de configuração do que o ICS, contudo em cada etapa da configuração você pode personalizar diversas opções do NAT. Por exemplo, o NAT permita que seja obtida uma faixa de endereços IP a partir do provedor de Internet (ao contrário

Page 113: Tutorial sobre protocolo TCP/IP

do ICS, que recebe um único endereço IP do provedor de Internet) e também permite que seja definida a faixa de endereços IP a ser utilizada para os clientes da rede interna.

Na tabela da Figura a seguir, você encontra uma comparação entre NAT e ICS.

Importante: Nunca é demais salientar que O ICS é projetado para conectar uma rede doméstica ou uma rede pequena (com não mais do que 10 computadores) com a Internet. O protocolo NAT foi projetado para conectar redes de porte pequeno para médio, com a Internet (eu diria entre 11 e 100 computadores). Porém, nenhum deles foi projetado para ser utilizado nas seguintes situações:

Fazer a conexão entre redes locais.

Conectar redes para formar uma Intranet.

Conectar as redes dos escritórios regionais com a rede da sede da empresa.

Conectar as redes dos escritórios regionais com a rede da sede da empresa, usando como meio a Internet, ou seja, criação de uma VPN.

Muito bem, a seguir apresentarei os passos práticos para habilitar o ICS no computador conectado à Internet e para configurar os clientes da rede, para que passem a utilizar o ICS.

Habilitando o ICS no computador conectado à Internet:

O ICS, conforme descrito anteriormente, deve ser habilitado no computador com conexão com a Internet. O ICS é habilitado na interface externa, ou seja, na interface que faz a conexão com a Internet.

Para habilitar o ICS, siga os passos indicados a seguir:

1. Faça o logon no computador conectado à Internet, 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 com a Internet e, no menu de opções que é exibido, clique em Propriedades.

5. Será exibida a janela de propriedades da conexão com a Internet. Clique na guia Compartilhamento. Serão exibidas as opções indicadas na Figura a seguir:

Page 114: Tutorial sobre protocolo TCP/IP

6. Marque a opção Ativar o compartilhamento da conexão c/ Internet p/ conexão. Ao marcar esta opção também será habilitada a opção para fazer a discagem sob demanda – Ativar discagem por demanda. Se você marcar esta opção, quando um usuário da rede tentar acessar a Internet, será iniciada uma discagem, caso a conexão não esteja ativa.

Nota: Se você estiver configurando o ICS em um computador que possui mais de uma placa de rede instalada, estará disponível uma lista para que você selecione qual a placa de rede que faz a conexão com a rede local, ou seja, com a rede para a qual estará habilitada a conexão compartilhada com a Internet.

7. Você pode fazer algumas configurações adicionais no ICS, usando o botão Configurações... Clique neste botão.

8. Será exibida a janela de configurações do compartilhamento com a guia Aplicativos selecionada por padrão. Na guia Aplicativos você pode definir configurações específicas para habilitar um ou mais aplicativos de rede. Clique na guia Serviços. Nesta janela você pode habilitar os serviços da sua rede, que estarão disponíveis para usuários da Internet, , conforme indicado na Figura a seguir. Em outras palavras, serviços nos computadores da sua rede, os quais estarão disponíveis para acesso através da Internet. Por exemplo, se você quiser montar um servidor de FTP (File Transfer Protocol – Protocolo de Transferência de Arquivos), para fornecer o serviço de cópias de arquivo, você terá que habilitar o serviço FTP Server. Ao habilitar este serviço, você terá que informar o nome ou o número IP do computador da rede interna, no qual está disponível o serviço de FTP. Vamos fazer um exemplo prático de habilitação de serviço.

Page 115: Tutorial sobre protocolo TCP/IP

9. Clique na opção Servidor FTP para marca-la. Será aberta a janela para configuração deste serviço. Nesta janela, o nome do serviço e a porta na qual ele trabalha, já vem preenchidos e não podem ser alterados. O protocolo de transporte utilizado pelo serviço (TCP ou UDP) também já vem assinalado e não pode ser alterado. A única informação que você preenche é o nome ou o número IP do computador da rede interna, onde o serviço está disponível, conforme exemplo da Figura a seguir, onde é informado o número IP do computador da rede interna, onde o serviço de FTP está disponível:

10. Informe o nome ou o número IP e clique em OK. Você estará de volta à janela de

Page 116: Tutorial sobre protocolo TCP/IP

configurações do compartilhamento. Clique em OK para fecha-la.

11. Você estará de volta à guia Compartilhamento, da janela de propriedades da conexão que está sendo compartilhada. Clique em OK para fechar esta janela e para habilitar o compartilhamento da conexão Internet. Observe que ao ser habilitado o compartilhamento, o ícone indicado na Figura a seguir, passa a ser exibido junto à conexão que foi compartilhada:

A seguir listo as portas utilizadas pelos principais serviços da Internet:

Serviço Porta utilizada

Servidor Web – http (WWW) 80

Servidor de FTP 21

POP3 110

Telnet 23

SSL (https) 443

Importante: Conheça bem as portas indicadas na listagem anterior. Para uma lista completa de todas as portas utilizadas pelos protocolos TCP e UDP, consulte o seguinte endereço: http://www.iana.org/numbers.htm

Pronto, habilitar e configurar o ICS é apenas isso. A seguir mostrarei como configurar os clientes.

Configurando os clientes da rede para utilizar o ICS:

Para que os clientes possam utilizar o ICS, os seguintes tópicos devem ser verificados:

1. Os clientes devem estar conectados em rede, no mesmo barramento de rede local onde está conectada a interface interna do servidor com o ICS habilitado. Esta etapa provavelmente já esteja OK, uma vez que você certamente habilitou o ICS para fornecer acesso à Internet, para os computadores da sua rede interna, a qual suponho já estivesse configurada e funcionando.

2. Os computadores da rede interna devem estar com o protocolo TCP/IP instalado e configurados para usar um servidor DHCP. No caso do ICS, o computador onde o ICS foi habilitado passa a atuar como um servidor DHCP, oferecendo endereços na faixa: 192.168.0.2 -> 192.168.0.254. Ou seja, basta acessar as propriedades do protocolo TCP/IP, conforme descrito na

Parte 13 do tutorial e habilitar a opção “Obter um endereço IP automaticamente”.

Nota: Para usuários que não tenham muita experiência com as configurações de rede e do protocolo TCP/IP, pode ser utilizado o utilitário netsetup.exe, o qual está disponível no CD de instalação do Windows 2000 Server, na pasta: D:\SUPPORT\TOOLS.

Conclusão

Nesta parte do tutorial mostrei como funciona o serviço de compartilhamento da conexão Internet, conhecido como ICS – Internet Conecton Sharing. Você aprendeu sobre o funcionamento e as limitações do ICS. Também aprendeu a habilitar o ICS e a configurar os demais computadores da rede, para que possam utilizar o ICS.

Page 117: Tutorial sobre protocolo TCP/IP

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/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 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 do Windows 2000: O compartilhamento da conexão Internet, oficialmente conhecida como ICS – Internet Conection 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 ICF– Internet Connection Firewall (Firewall de Conexão com a Internet). O ICF faz parte do Windows XP e do Windows Server 2003, não

estando disponível no Windows 2000. O ICF tem como objetivo proteger o acesso do usuário contra “ataques” e “perigos” vindos da Internet.

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.

Regra número 1: Sempre utilize um bom programa de anti-vírus. Escolha o programa de sua preferência, existem muitos, instale e utilize. É inadmissível não utilizar um programa anti-ví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 anti-vírus. Mensagens contendo anexos com vírus, sites com conteúdo dinâmico que pode causar danos, etc, são muitas as ameaças e o anti-vírus é capaz de nos proteger de grande parte delas. No site www.invasao.com.br, você encontra uma análise comparativa, sobre os principais anti-vírus do mercado.

Regra número 2: Informação. Procure estar sempre atualizados 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

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

Page 118: Tutorial sobre protocolo TCP/IP

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 adeqüadas é 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 Firewal, 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:

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 protejerá 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, desta maneira estaremos protegendo todos os demais. Nesta configuração, configuramos o computador com acesso à Internet para usar o ICF.

Page 119: Tutorial sobre protocolo TCP/IP

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 ela 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.

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. Este tipo de informação é bloqueada pelo ICF. Vejam que desta forma o ICF está protejando 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 utilzia 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á examindada. 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

Page 120: Tutorial sobre protocolo TCP/IP

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 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 Office 2000 Outlook é 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 Office 2000 Outlook, 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. Dê um clique duplo na opção Conexões de rede.4. Serão exibidas as conexões de rede e a conexão com a Internet (ou conexões, caso você tenha mais do que uma conexão configurada). Clique com o botão direito do mouse na sua conexão Internet. No menu que surge dê um clique na opção Propriedades. Será exibida a janela de Propriedades da conexão com a Internet.5. Dê um clique na guia Avançado. Serão exibidas as opções indicadas na Figura a seguir:

Page 121: Tutorial sobre protocolo TCP/IP

A guia Avançado das propriedades da conexão Internet

6. Na guia Avançado, em Firewall de conexão com a Internet, selecione uma das opções a seguir:

Para ativar o firewall de conexão com a Internet (ICF), marque a caixa de seleção Proteger o computador e a rede limitando ou impedindo o acesso a este computador pela Internet.

Para desativar o firewall de conexão com a Internet (ICF), desmarque a caixa de seleção Proteger o computador e a rede limitando ou impedindo o acesso a este computador pela Internet.

7. Dê um clique no botão OK para aplicar as configurações selecionadas.

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”

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 usuários avançados escolham as informações a serem registradas. Com ele, é possível:

Registrar em log os pacotes eliminados, isto é, pacotes que foram bloqueados no 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.

Page 122: Tutorial sobre protocolo TCP/IP

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 detectada e negada/bloqueada pelo ICF. Por exemplo, se as configurações do protocolo de controle de mensagens da Internet (ICMP) não estiverem definidas para permitir solicitações de eco de entrada, como as enviadas pelos comandos Ping e Tracert, e uma solicitação de eco de fora da rede for recebida, ela será ignorada 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 W3C, que é um formato padrão definido pela entidade que define padrões para a internet, o w3c. 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 ativar opções do log de segurança:

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. 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. 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.4. Dê um clique duplo na opção Conexões de rede.5. Serão exibidas as conexões de rede e a conexão com a Internet (ou conexões, caso você tenha mais do que uma conexão configurada). 6. Dê um clique na conexão para a qual você ativou o ICF.7. No painel da esquerda, no grupo de opções Tarefas da rede, dê um clique na opção Alterar as configurações desta conexão.8. Dê um clique na guia Avançado.9. Na guia Avançado, dê um clique no botão Configurações...10. Será exibida a janela Configurações avançadas. Dê um clique na guia Log de segurança. Serão exibidas as opções indicadas na Figura a seguir:

Page 123: Tutorial sobre protocolo TCP/IP

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 quilobytes (KB). Quando o tamanho máximo for atingido, as entradas de log mais antigas serão descartadas.

11. Marque a opção Registrar em log os pacotes eliminados.12. Marque a opção Registrar em log as conexões bem sucedidas.13. Dê um clique no botão OK para aplicar as novas configurações.14. Você estará de volta à guia Avançado da janela de Propriedades da conexão. Dê um clique

Page 124: Tutorial sobre protocolo TCP/IP

no botão OK para fechar esta janela.15. 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çao.

16. Abra o bloco de Notas.17. Abra o arquivo definido como aqruivo 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.  

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 e redes, que conhecem bem o protocolo TCP/IP, possam analisar a origem de possíveis ataques. Para mais detalhes sobre Portas no Protocolo TCP/IP, consulte a Parte 12 deste tutorial.

18. Feche o arquivo de log.

Nota: Para desabilitar o log de segurança, repita os passos de 1 a 10 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.

Page 125: Tutorial sobre protocolo TCP/IP

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 como Administrador ou com uma conta com permissão de Administrador.2. Abra o Painel de controle: Iniciar -> Painel de controle.3. 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.4. Dê um clique duplo na opção Conexões de rede.5. Serão exibidas as conexões de rede e a conexão com a Internet (ou conexões, caso você tenha mais do que uma conexão configurada). 6. Dê um clique na conexão para a qual você ativou o ICF.7. No painel da esquerda, no grupo de opções Tarefas da rede, dê um clique na opção “Alterar as configurações desta conexão”.8. Dê um clique na guia Avançado.9. Na guia Avançado, dê um clique no botão Configurações...10. Será exibida a janela Configurações avançadas. Dê um clique na guia Serviços, será exibida a janela indicada na Figura a seguir:

Page 126: Tutorial sobre protocolo TCP/IP

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 Coniguraçõ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 deixa de funcionar.

Você também pode utilizar o botão Adicionar..., para adicionar novos serviços, não constantes na lista.

11. Após ter habilitados os serviços necessários, dê um clique no botão OK para aplicar as alterações.12. 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

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, faça o seguinte:

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.

Page 127: Tutorial sobre protocolo TCP/IP

3. 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.4. Dê um clique duplo na opção Conexões de rede.5. Serão exibidas as conexões de rede e a conexão com a Internet (ou conexões, caso você tenha mais do que uma conexão configurada). 6. Dê um clique na conexão para a qual você ativou o ICF.7. No painel da esquerda, no grupo de opções Tarefas da rede, dê um clique na opção “Alterar as configurações desta conexão”.8. Dê um clique na guia Avançado.9. Na guia Avançado, dê um clique no botão Configurações...10. Será exibida a janela Configurações avançadas. Dê um clique na guia ICMP, será exibida a janela indicada na Figura a seguir:

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: 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.

Page 128: Tutorial sobre protocolo TCP/IP

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. 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.

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.

11. Marque as opções que forem necessárias, de acordo com as funções que estiver desempenhando o comuptador.12. Após ter marcado as opções necessárias, dê um clique no botão OK para aplicar as alterações.12. Você estará de volta à janela Propriedades da conexão. Dê um clique no botão 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

Page 129: Tutorial sobre protocolo TCP/IP

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.

Para nos proteger contra estes “perigos digitais”, aprendemos a habilitar e configurar o ICF – Internet Connector Firewall. Aprendemos sobre o conceitod e Firewall e como configurar o ICF.

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/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 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 do Windows 2000: O compartilhamento da conexão Internet, oficialmente conhecida como ICS – Internet Conection 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. 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 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 computaodres 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 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

Page 130: Tutorial sobre protocolo TCP/IP

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 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, conforme você aprenderá na parte prática, logo a seguir.

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 o 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 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.

Page 131: Tutorial sobre protocolo TCP/IP

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.

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, conforme você verá na parte prática, mais adiante.

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, 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

Page 132: Tutorial sobre protocolo TCP/IP

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 destino. O cabeçalho de autenticação impede este tipo de ataque, pois contém informações que permite 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

Page 133: Tutorial sobre protocolo TCP/IP

(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/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.

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

Page 134: Tutorial sobre protocolo TCP/IP

IPSec e quando utiliza-lo. Mostrei que este protocolo é configurado/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.

Certificados Digitais e Segurança

Introdução:

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/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 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 do Windows 2000: O compartilhamento da conexão Internet, oficialmente conhecida como ICS – Internet Conection 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. 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 computaodres 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

Page 135: Tutorial sobre protocolo TCP/IP

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.

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 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

Page 136: Tutorial sobre protocolo TCP/IP

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 envia-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 enviou 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 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. 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,

Page 137: Tutorial sobre protocolo TCP/IP

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 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 envia-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 de criptografia 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.

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.

Certificados podem ser emitidos para uma série de funções, 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).

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

Page 138: Tutorial sobre protocolo TCP/IP

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:

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 garantir 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 Service) 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 – Certifcate 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 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).

Page 139: Tutorial sobre protocolo TCP/IP

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 que você cria para ser usada por sua própria organização, instalando os Serviços de certificados do Windows 2000. 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 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 publicando 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

Page 140: Tutorial sobre protocolo TCP/IP

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. Clientes podem usar as páginas da 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 organização 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.

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 uma 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

Page 141: Tutorial sobre protocolo TCP/IP

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. 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/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.

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.

Page 142: Tutorial sobre protocolo TCP/IP

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:

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.

Page 143: Tutorial sobre protocolo TCP/IP

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 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

Page 144: Tutorial sobre protocolo TCP/IP

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.

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.

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çamente 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 aspéctos 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.

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/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 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 do Windows 2000: O compartilhamento da conexão Internet, oficialmente conhecida como ICS – Internet Conection 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. 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

Page 145: Tutorial sobre protocolo TCP/IP

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 computaodres 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.

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.T= Network Address Translation. (NAT)

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 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

Page 146: Tutorial sobre protocolo TCP/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 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ção 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, senã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 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

Page 147: Tutorial sobre protocolo TCP/IP

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 enviada a referida resposta, 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.

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, para detalhes sobre a habilitação do RRAS). O servidor onde está o RRAS deve ser o servidor conectado à Internet. O

Page 148: Tutorial sobre protocolo TCP/IP

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 descrito anteriormente.

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 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), 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

Page 149: Tutorial sobre protocolo TCP/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.

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

Page 150: Tutorial sobre protocolo TCP/IP

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, para que este endereço não seja alocado dinamicamente para um 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.

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çamente 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 aspéctos do protocolo em si, tais como a estrutura

Page 151: Tutorial sobre protocolo TCP/IP

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.