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



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


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

Conclus√£o: 

Na próxima parte deste tutorial, você irá aprender sobre a divisão de uma rede em sub-redes, assunto conhecido como subnetting.

DICAS DE LIVROS DE TCP/IP

Entre em contato através do email
batisti@hotmail.com ou diretamente atrav√©s do site www.juliobattisti.com.br, para enviar os seus coment√°rios, cr√≠ticas e sugest√Ķes.