Articles

A Tabela de Roteamento TCP/IP (protocolo de Administração de Rede, 3ª Edição)

do Livro de Home

Anterior Seguinte

2.4. A tabela de roteamento

Gateways route data between networkdevices, but all networkdevices, hosts as well as gateways, must make routing decisions. Hosts Formost, as decisões de roteamento são simples:

  • Se a máquina de destino estiver na rede local, os dados são entregues à máquina de destino.

  • Se a máquina de destino estiver numa rede remota, os dados são encaminhados para uma ‘gateway’ local.

as decisões de roteamento IP são simplesmente pesquisas de tabelas. Os pacotes são encaminhados para seus destinos como dirigido pelo routingtable (também chamado de forwardingtable). A tabela de roteamento mapeia os destinos para a interface de roteador e rede que o IP deve usar para chegar a esse destino.Examinar a tabela de roteamento em um sistema Linux mostra isso.

num sistema Linux, use o comando route com o-noption para mostrar a tabela de roteamento. The-n optionprevents route from converting IP addresses tohostnames, which gives a clearly display. Aqui está uma tabela de roteamento a partir de um sistema de chapéu vermelho exemplo:

Thenetstat comando é usado para examinar a rotingtable em sistemas Solaris 8. Um exemplo de Solaris é coberto mais tarde neste capítulo.

# route -nKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface172.16.55.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0172.16.50.0 172.16.55.36 255.255.255.0 UG 0 0 0 eth0127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo0.0.0.0 172.16.55.1 0.0.0.0 UG 0 0 0 eth0

Em um sistema Linux, a rota -ncommand exibe a tabela de roteamento com os seguintes campos:

Destino

o valor contra O qual o IP de destino addressis correspondido.

Gateway

O router a usar para alcançar a indicação específica.

Genmask

A Máscara de endereço usada para corresponder um endereço IP ao valor mostrado no campo de destino.

bandeiras

certas características desta rota.Os possíveis valores da bandeira Linux são::

as bandeiras R, M,C, I, e ! são específicos Para Linux. As outras bandeiras são usadas nos sistemas mostUnix.

U

indica que a rota está pronta e operacional.

H

indica que esta é uma rota para um host específico (a maioria das rotas são para redes).

G

indica que a via utiliza uma via externa. As interfaces de rede do sistema fornecem rotas para redes directamente ligadas. Todas as outras rotas usam gateways externos.As redes directamente ligadas não têm a bandeira G definida; todas as outras rotas têm.

R

indica uma rota que foi instalada, provavelmente pelo protocolo de roteamento adinâmico rodando neste sistema, usando a opção do estado.

D

indica que esta via foi adicionada devido a uma mensagem de redireccionamento do ICMP. Quando um sistema aprende de um rotevia um redirecionamento ICMP, ele adiciona a rota à sua tabela de roteamento para que pacotes adicionais com destino a esse destino não precisem ser direcionados. O sistema usa a bandeira D para marcar estas rotas.

M

indica uma rota que foi modificada, provavelmente pelo protocolo de roteamento adinâmico rodando neste sistema, usando a opção themod.

A

indica uma rota em cache que tem uma associação na tabela ARP.

C

indica que esta rota veio da ‘cache’ do kernelrouting. A maioria dos sistemas usa duas tabelas de roteamento: a base de ForwardingInformation (FIB), que é a tabela em que estamos interessados porque é usada para a decisão de roteamento, e o rotingcache do kernel, que lista a origem e destino de rotets recentemente usados. Esta bandeira está documentada, mas eu nunca vi a bandeira C em uma listagem de tabela de roteamento, mesmo quando listando o cache de roteamento.

L

indica que o destino deste método é um dos endereços deste computador. Estes “localroutes” são encontrados apenas no cache de roteamento.

B

indica uma rota cujo destino é um broadcastaddress. Estas “rotas de Transmissão” são encontradas apenas em cache de therouting. O Solaris atribui a bandeira tanto aos endereços de difusão como aos endereços de rede; ou seja, tanto o 172.16.255.255 como o 172.16.0.0.0 são atribuídos à bandeira B pelos sistemas Solaris que vivem na rede 172.16. 0. 0/16.

I

indica uma rota que usa a interface loopback para algum propósito diferente de abordar a rede loopback. Estas “rotas internas” são encontradas apenas no cache de roteamento.!

indica que os datagramas ligados a esta determinação serão rejeitados. O Linux permite que você instale manualmente rotas “negativas”. Estas são rotas que explicitamente bloqueiam dados destinados a um destino específico. Isto é usado especificamente para Linux, mas é uma possível configuração de bandeiras.

métrica

O “custo” da rota. A métrica é usada para detectar rotas duplicadas, se alguma aparecer na tabela. Além disso, o protocolo de roteamento adinâmico é necessário para fazer uso da métrica.

Ref

O número de vezes que a rota foi referenciada para estabelecer uma conexão. Este valor não é usado por sistemas Linux.

utilizar

O número de vezes que esta via foi pesquisada pelo IP.o nome da interface de rede usada por esta rota.

a interface de rede é o hardware e software de networkaccess que IP usa para se comunicar com a rede física. Ver Capítulo 6, “Configurar a Interface” fordetails.

cada entrada na tabela de roteamento começa com o valor de adestinação. O valor de destino é a chave contra a qual o endereço IP é correspondido para determinar se esta é a rota correta a usar para chegar ao endereço IP. O valor de destino é geralmente chamado de “rede de destino”, embora não precise ser um endereço de rede. O valor de destino pode ser um endereço host, um endereço multicast, um bloco de endereço que cobre uma agregação de muitas redes, ou um valor especial para o endereço de rota padrão ou de loopback. Em todos os casos, porém, o campo de destino contém o valor com o qual o endereço de destino do pacote IP é correspondido para determinar se o ifIP deve entregar o datagrama usando esta rota.

O campo Genmask é a máscara de bits que o IP aplica ao endereço de teste do pacote para ver se o endereço corresponde ao valor de teste na tabela. Se um bit estiver na máscara de bit, o bit correspondente no endereço de destino é significativo formatando o endereço. Assim, o endereço 172.16.50.183 corresponderia à segunda entrada na tabela de amostras porque ANDing o endereço com255. 55. 255.0 produz 172, 16, 50, 0.

Quando um endereço corresponde a um item na tabela, o Gatewayfield diz ao IP como chegar à definição específica. Se o campo Gateway contém o endereço IP do arouter, o router é usado. Se o campo Gateway contém todos os 0s (0.0.0.0 quando a rota é executada com-n) ou um asterisco (* whoute é executado sem-n), A rede de destino é uma rede diretamente conectada e a”gateway” é a interface de rede do computador. O último campo apresentado para cada entrada de tabela é a rede utilizada para a rota. No exemplo, é a primeira Ethernetinterface(eth0) ou a interface loopback (lo). O destino, gateway, Máscara e interface definem a rota.

os quatro campos restantes (Ref, Use, Flags, and Metric) suportam informações sobre a rota. Estes campos informativos têm apenas um valor marginal. Somesystems manter uma contagem precisa no campo Ref; outros, como o Linux, realmente não o usam. O Linux usa o Usefield para contar o número de vezes aroute necessário para ser pesquisado porque não estava no cache de roteamento quando o IP precisou dele. Alguns outros sistemas mostram o número de pacotes autorizados através da rota no campo de Uso. O Flagsfield exibe informações oftenobvious mesmo sem bandeiras: de cada rota tem a bandeira U setbecause cada rota na tabela de roteamento é, por definição, andlooking na porta de entrada do campo indica se é ou não um externalgateway é usado sem olhar para o G bandeira. O Métricvalue só é usado se executar alguma versão do Protocolo Rotinginformation (RIP) no seu sistema. Não se distraiam com esta informação. O coração da tabela de roteamento é a rota,que é composta do destino, da máscara, do portal e da interface.

IP usa a informação da tabela de encaminhamento (a tabela de encaminhamento)para construir as rotas usadas para conexões ativas. Os rotesassociados com conexões ativas são armazenados no rotingcache. On Linuxsystems, the routing cache can beexamined by adding the-C argument to theroute command line:

$ route -CnKernel IP routing cacheSource Destination Gateway Flags Metric Ref Use Iface127.0.0.1 127.0.0.1 127.0.0.1 l 0 0 0 lo192.203.230.10 172.16.55.3 172.16.55.3 l 0 0 0 lo172.16.55.1 172.16.55.255 172.16.55.255 ibl 0 0 243 lo172.16.55.2 172.16.55.255 172.16.55.255 ibl 0 0 15 lo172.16.55.3 192.203.230.10 172.16.55.1 0 0 0 eth0127.0.0.1 127.0.0.1 127.0.0.1 l 0 0 0 lo172.16.55.3 132.163.4.9 172.16.55.1 0 0 0 eth0172.16.55.2 172.16.55.3 172.16.55.3 il 0 0 149 lo172.16.55.3 172.16.55.2 172.16.55.2 0 1 0 eth0132.163.4.9 172.16.55.3 172.16.55.3 l 0 0 0 lo

A tabela de roteamento é usada para decisões de mapeamento; o cache de roteamento é usado após a decisão ser tomada. O código cacheshows a origem e o destino de uma conexão de rede e a faixa de rodagem e interface usadas para fazer essa conexão.

Linux fornece um bom exemplo para mostrar o conteúdo do routingtable porque o comando Linux route exibe a plataforma tão claramente. Nos sistemas Solaris, o comando theroute tem uma sintaxe muito diferente. Whenrunning Solaris, display the routing table’s contents with thenetstat-nrcommand. O-r optiontells netstat para mostrar a tabela de roteamento, e a opção-n diz ao netstat para mostrar a tabela de forma numérica.

Linux incorpora a informação da máscara de endereço no ecrã da tabela de roteamento. O Solaris 8supports usa máscaras de endereços; apenas não lhes mostra quando é que está a rodar a tabela de roteamento.

% netstat -nr Routing Table: IPv4 Destination Gateway Flags Ref Use Interface ----------- ----------- ----- ---- ----- --------- 127.0.0.1 127.0.0.1 UH 1 298 lo0 default 172.16.12.1 UG 2 50360 172.16.12.0 172.16.12.2 U 40 111379 dnet0 172.16.2.0 172.16.12.3 UG 4 1179 172.16.1.0 172.16.12.3 UG 10 1113 172.16.3.0 172.16.12.3 UG 2 1379 172.16.4.0 172.16.12.3 UG 4 1119

A primeira entrada da tabela é o de loopback routefor o host local. Este é o loopbackaddress mencionado anteriormente como um número de rede reservado. Como todo sistema usa a rota de loopback para enviar datagramas para si mesmo, uma entrada para a interface de loopback está na tabela de roteamento de cada host.A bandeira H é definida porque Solaris cria uma rota para um host específico (127.0.0.1), Não uma rota para uma rede inteira (127.0.0.0).Voltaremos a ver as instalações de loopback quando discutirmos a configuração do kernel e o comando ifconfig. Por agora, porém, o nosso verdadeiro interesse está nas rotas externas.

outra entrada única nesta routingtable é a que tem a palavra “default” no campo de teste. Este item é para o defaultroute, e o gateway especificado neste item é o gateway default. A rota padrão é o outro número de rede preservado mencionado anteriormente: 0.0.0.0. O defaultgateway é usado sempre que não há nenhuma rota específica na tabela para o endereço da rede de destino. Por exemplo, esta tabela de roteamento tem noentry para a rede 192.168.16.0. Se o IP receber qualquer datagramsadressado para esta rede, ele irá enviá-los através do gateway172.16.12. 1 padrão.

Todas as gateways que aparecem na tabela de roteamento estão em redes directamente ligadas ao sistema local. Na amostra mostrada acima, isso significa que o gateway endereços todos começam com 172.16.12, independentemente do endereço de destino. Esta é a única rede para a qual este servidor de amostra está directamente ligado e, por conseguinte, é a única rede à qual pode fornecer directamente dados. Os gateways que o host usa para chegar ao resto da Internet devem estar na sua sub-rede.

Na Figura 2-4, A camada IP de dois anfitriões e de um portal na nossa rede imaginária é substituída por um pequeno pedaço de tabela de escuteiros, que mostra as redes de destino e os gateways utilizados para chegar a esses destinos. Suponha que a máscara de endereço usada na rede 172.16.0.0 é 255.255.255.0. Quando a máquina de origem (172.16.12.2) envia dados para a máquina de destino (172.16.1.2), aplica a máscara de endereço para determinar que deve procurar o endereço da rede de destino 172.16.1.0 na tabela de encaminhamento. A tabela de reconhecimento na máquina de origem mostra que o limite de dados para 172.16.1.0 é enviado para a gateway 172.16.12.3. A máquina de origem encaminha o packetto para o gateway. O gateway faz os mesmos passos e procura o endereço de destino na sua tabela de roteamento. O Gateway 172.16.12.3 faz a entrega directa através da sua interface 172.16.1.5. A análise das tabelas de aferição na figura 2-4 mostra que todos os sList apenas gateways em redes às quais eles estão diretamente conectados.Isto é ilustrado pelo fato de que 172.16.12.1 é o defaultgateway para tanto 172.16.12.2 e 172.16.12.3, mas porque 172.16.1.2cannot reach network 172.16.12.0 directly, it has a different defaultroute.

Figura 2-4

Figura 2-4. A tabela de roteamento baseada em tabelas

uma tabela de roteamento não contém roteamento final-a-final. Uma rota aponta apenas para a nextgateway, chamada next hop, ao longo do caminho para a rede de destino. O hostrelies no gateway local para entregar os dados, e o gatewayrelies em outros gateways. Como um datagrama se move de um gateway para outro, ele deve finalmente chegar a um que está diretamente conectado à sua rede de destino. É este último gateway que finallydelivers os dados para o host de destino.

como veremos no Capítulo 7, “Configurar o encaminhamento “, alguns protocolos de encaminhamento, tais como OSPF e BGP,obter informações de encaminhamento extremo-a-extremo. No entanto, o pacote isstill passou para o router next-hop.

IP utiliza a parte da rede do endereço para encaminhar os dados entre redes. O endereço completo, incluindo a informação do host, é usado para fazer a entrega final quando o datagrama chega à rede de destino.

Previous Home Next
2.3. Internet Routing Architecture Book Index 2.5. Address Resolution

Library Navigation Links

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *