Está en la página 1de 8
Sumario do Capitulo 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 26.10 26.11 Introdugio 359 O Requerimento para Enderecos Unicos 359 Tecnologia de Tradugdo de Enderecos de Rede 360 Topologia de NAT 360 O Modelo Cliente-Servidor do DNS 360 Tradugo de Enderegos Bésicos 361 Tabela de Tradugao 361 Splicing de NAPT e TCP 362 Outras Variantes: Twice NAT e CAT 363 Software de NAT e Sistemas para Uso em Casa 363 Resumo 364 Capitulo 26 Traduc¢ao de Enderecos de Rede 26.1 Introdugao Capitulos anteriores descrevem um esquema de enderegamento para Internet no qual um endere- go IP global tinico é atribuido a cada computador. Este capitulo considera uma alternativa na qual miltiplos computadores compartilham um {inico enderego IP Serao examinados tanto os motivos para o enderegamento compartilhiado quanto os detalhes técnicos. 26.2 O requerimento para enderecos Unicos Conforme a Internet cresceu rapidamente nos anos 80 e 90, tornou-se claro que o esquema de en- deregos de classes original nao seria suficiente. Como foi visto, os enderecamentos subnet e sem classes foram introduzidos para ajudar a conservar enderecos'. Uma terceira alternativa também foi criada: um mecanismo que permite a maltiplos computadores de um mesmo site operar ao mes- mo tempo com apenas um endereco IP giobalmente vélido. Podem miiltiplos computadores usar um endereco IP? Atribuir 0 mesmo enderego para multi- plos computadores nao funciona — se dois ou mais computadores em uma rede tentarem usar um enderego, haverd conflito. For exemplo, ao transferir um datagrama através da rede, 0 computador remetente usa um protocolo como o ARP para ligar o enderego IP de destino a um endereco de hardware. A ligacdo (binding} de endereco presume um mapeamento de 1 para 1 entre enderecos IP e enderecos de hardware — 0 protocolo especifica que apenas 1 computador deve responder a um determinado pedido de ARP Entdo, para garantir que a ligacdo (binding) de enderegos opere corretamente, a cada computador em uma tede deve ser atribuido um en- derego IP tinico. "A discussdo pode ser encontrada na pagina 293. 360 __ Redes de Computadores e Internet 26.3 26.4 26.5 Tecnologia de traducao de enderegos de rede Uma tecnologia conhecida como Tradugo de Endereco de Rede (Network Address Translation, NAT) consegue o fim de conflitos nos enderecamentos. A NAT torna possivel para um site na Inter- Tebiter um endereco de IP tinico € valido, miiltiplos computadores ¢ nenhum conflito de endereco, Para evitar conflitos de enderego, a NAT atribui a cada computador um endereco local tinico. Para evitar o consumo de enderegos IP 0s enderecos locais sao privados (private, também conhecidos co- mo nonroutable), o que significa que nao sao validos na Internet global. Por exemplo, o endereco 10.0.0.0/8 foi reservado como um enderego privado, de forma que enderecos podem ser atribufdos no site a partir de 10.0.0.0. Além disso, roteadores no site sao configurados para encaminhar da- tagramas que contenham enderecos privados. Antes que um datagrama do site possa ter acesso Internet, a NAT precisa traduzir 0 endereco IP privado da fonte usado no site para um endereco de IP global reconhecido pela Internet. De forma similar, a NAT traduz para enderegos privados usa- dos no site o endereco IP de destinatério em cada datagrama que chega dos enderegos usados pe- Jos computadores da Internet Global. Depois de examinar a arquitetura fisica, serdo examinadas as tradugées em mais detalhes. Topologia de NAT ANAT roda como uma configuragao na mesma linha (in-line). Isto é, um dispositivo rodando a NAT € colocado na conex4o entre o site ¢ a Internet de forma que pacotes entrando ou saindo do site passem através da NAT. A Figura 26.1 ilustra a arquitetura, Como a figura mostra, o administrador de sistema configura o dispositivo NAT com 0 enderego IP globalmente valido que o site obteve (ou seja, o enderego que serd compartilhado). © administra- dor entao atribui a cada computador do site um endereco IP privado. A NAT traduz o enderego em todos os pacotes, de forma que os computadores na Internet nunca vejam os enderecos privados. O modelo cliente-servidor do DNS ANAT pode ser implementada em hardware ou software. Implementagées de software sdo geral- ‘mente menos caras, mas servem apenas para redes de menor velocidade, como Ethernets de 10 Mbps. Por exemplo, pode-se criar um dispositive de NAT a partir de um computador normal ao adi- ‘ionar uma placa de interface de rede extra e um software NAT. O software no PC Ié repetidamente uum pacote de uma das interfaces de rede, realiza a tradugdo necessdria e envvia o pacote para a in- terface oposta. O software tem tempo suficiente para traduzir e enviar um pacote antes que outro pacote chegue, site com Dispositivo NAT enderegos privados } / Enderego de IP global atribuido aqui Figura 26.1 Uma ilustracao de como a NAT é usada. Um dispositivo rodando a NAT é colocado na cone- xo entre o site e a Intemet. Capitulo 26 ~ Tradugdo de Enderecos de Rede 361. Alguns roteadores também incluem uma implementagio de software de NAT. Por exemplo, consi- dere um roteador que foi designado para conectar um pequeno escritério, ou um escritério locall- zado dentro de casa, & Internet (um roteador SOHO). Em vez de exigir que se compre um dispositi- vo fisico separado para todar a NAT no site, o vendedor pode incluir 0 software de NAT com 0 ro- teador. Fisicamente, apenas um dispositivo é necessério para ligaro site & Internet. Logicamente, © roteador funciona como dois dispositivos conectados em série: um dispositivo NAT e um rotea- dor convencional. Combinar a NAT e o roteador em um s6 de forma funcional reduz 0 custo total, mas também reduz a velocidade da rede que o dispositivo pode tratar. Para uma rede de alta velocidade, como uma Ethernet de Gigabits, uma versdo software da NAT ndo pode processar os pacotes to répido quanto eles chegam. Em tais casos, hardwares feitos es- pecialmente para esse propésito sdo requeridos para realizar a traducao de enderecos na velocida- de dofio’ 26.6 Traducao de enderecos basicos 0 objetivo da NAT é fornecer uma iluséo. Quando visto a partir da Internet, o site parece consistir em um tinico computador host (ou seja, um tinico enderego IP). Todos os datagramas se originam do computador e todas as respostas séo enviadas para o computador. Quando vista a partir de um computador no site, a Internet parece aceitar e rotear enderecos privados. Para alcancar essa ilusdo, o dispositive NAT precisa processar cada pacote que entra ou sai do si- te. A forma mais bdsica da NAT reescreve enderegos IP For exemplo, presuma que um site tenha ob- tido 0 enderego IP tinico valido 128.210.24.6 e esteja usando enderegos privados tomados a partir de 10.0.0.0/8. Se um computador no site com o endereco IP privado de 10.0.0.1 envia um datagra- ma para um destinatério na Internet com 0 endereco 128.211.134.4, 0 datagrama é gerado com: Enderego da fonte: 10.0.0. Endereco do destinatério: 128.211.1344 Antes de enviar o datagrama para a Internet, a NAT reescreve o endereco da fonte para tornd-lo 128.210.24.6 (ou seja, o endereco IP atribuido ao dispositivo de NAT). De forma similar, quando um datagrama chega da Internet, o enderego do destinatdrio do datagrama sera 128.210.24.6. A NaT precisa reescrever o endereco do destinatdrio para o enderego privado correto antes de enca- minhar 0 datagrama para o site. A Figura 26.2 ilustra a tradugao. Sabemos, a partir do Capitulo 20, que apenas mudar o campo de enderego em um datagrama de IP causa um erro ~ quando o datagrama chega ao préximo hop, o checksum ird falhar. Ento, quan- do quer que ele mude um enderego de fonte ou destinatdrio, a NAT precisa também recalcular 0 checksum do IP 26.7 Tabela de tradugdo Como pode a NAT saber qual endereco IP deve ser usado para um datagrama entrante? A NAT usa, uma cabele de traducio wanslation table A tabela de tradugéo tem entradas separadas para ca- a ditecdo do fluxo de pacotes. E uma entrada especifica o campo que deve mudar, assim como o novo valor. For exemplo, a Figura 26.3 da a tabela de traducdo que corresponde ao mapeamento de enderecos na Figura 26.2. * Engenheiros usam o termo velocidade do flo (wire speed) para se refetic & velocidade méxima na qual a rede subjacente pode entregar pacotes. 362 Redes de Computadores e Internet SRC = 128.210.24.6 SRC = 10.0.0.1 —— Nat. ——— paraa po par internet } he —— DST = 128.210.24.6 DST = 10.0.0.1 128.210.24.6 Figura 26.2 _Ilustracdo de uma traduco NAT basica. A NAT reescreve 0 endereco da fonte em datagramas que saem e 0 enderego do destinatério em datagramas que chegam Diregéo Campos Valor antigo Valor novo salda Fonte IP 10..0.0.1 128.10.24.6 entrada Destino IP «128.10.24.6 0.0.0.1 Figura 26.3 Um exemplo da tabela de traducéo NAT para mapeamento ilustrada na Figura 26.2. Uma en- trada especifica a diregao do fluxo de pacotes e as mudangas que deve ocorrer, Como os valores so colocados em uma tabela de tradugéo? Embora os valores possam ser confi- gurados manualmente por um administrador de sistema, a NAT também pode operar auromatica- mente — ela coloca uma entrada na tabela de transigao quando quer que um computador no site envie um pacote para a Internet. Por exemplo, se o computador 10.0.0.5 envia para o destinatario 192.5.48.136, a NAT adiciona uma entrada em sua tabela e reescreve o enderego da fonte. Mais tarde, quando recebe uma resposta de 192.5.48.136, a NAT encontra a entrada na tabela e traduz o enderego do destinatario para 10.0.0.5. 26.8 Splicing de NAPT e TCP (© que acontece se dois computadores em um site se comunicam com o mesmo destino, D? 0 esque- ma basico de NAT descrito acima iré falhar. A tabela de traducao ird conter miiltiplas entradas que coincidem com o endereco remoto D. A NAT basica também falha em situacdes em que dois ou mais aplicativos rodando em um dado computador no site tentam comunicagao simulténea com diferen- tes destinatdrios na Internet. Uma verséo mais sofisticada da NAT trata de ambos os problemas: permite que um site tenha um mimero arbitrario de aplicativos rodando em computadores arbitrarios, todos se comunicando com destinatdrios arbitrdrios na Internet. Conhecido como Tradugiio de Endereco de Rede e de Portas (Network Address and Port Translation, NAPT), 0 mecanismo é o mais popular da NAT’. Para permitir aplicativos arbitrdrios, a NAPT traduz os ntimeros de portas de protocolo, bem co: mo os enderecos IP Como entende o mimero das portas, a NAPT pode associar corretamente ca- da datagrama com uma conexao TCP ou uma segéo UDP de I para 1. Isto, a NAPT opera em co- nexées de transporte individuais em vez de computadores. Como conseqiiéncia, a tabela de tra- ducao usada pela NAPT precisa conter tanto enderecos IP quanto ntimeros de portas de protoco- los. Por exemplo, considere a tabela de tradugo que pode resultar se um navegador em um com- putador 10.0.0.1 e um navegador em um computador 10.0.0.2 usarem a porta local 30000, € ambos formarem uma conexao TCP com um servidor de Web na porta 80 através de um disposi- * ANAPT 6 to popular que o termo NAT € freqiientemente usado informalmente no lugar de NAPT Capitulo 26 - Tradugdo de Enderegos de Rede 363 tivo de NAPT que use o enderego 128.10.19.20. Para evitar 0 conflito, a NAPT precisa escolher uma porta de fonte TCP alternativa para uma das duas conexées. A Figura 26.4 mostra uma pos- sibilidade. Como pode mapear os ntimeros de portas TCP a NAPT pode ser estendida para tratar de juncéo de TCP (TCP splicing). \sto 6, pode-se projetar um dispositivo que forme duas conexdes TCP separadas @ entdo junte as conexdes com a tradugao de protocolos. Quando um datagrama carregando um segmento TCP chega através da conexdo, o splicer reescreve os campos de cabecalho ¢ envia o da- tagrama através da outra conexdo. Os dois endpoints interagem enviando dados e recebendo ack- nowledgments sem saber que a jungdo (splicing) esta sendo feita por um sistema intermediario. Pa- ra tornar a inter-conexao transparente, o splicer TCP tem de mapear os valores da seqiiéncia e ack- nowledgment TCR bem como os ntimeros de portas. 26.9 Outras variantes: Twice NAT e CAT Foi dito que o sistema NAT pode construir a tabela de traducéio automaticamente. Para fazé-lo, 0 dispositivo NAT observa o trfego de saida e estabelece um novo mapeamento quando quer que um aplicativo no site inicie uma comunicagéo. Infelizmente, a construgdo automatica de tabela nao funciona para a comunicagdo iniciada pela Internet com o site. For exemplo, se cada computador no site rodar um servidor Web, o dispositive NAT nao pode saber qual computador deve receber uma conex4o que esté chegando. Uma variante da NAT, conhecida como Twice NAT, permite a um site rodar servidores. A variante trabalha com o Sistema de Nome de Dominio (Domain Name System), desctito no Capitulo 31, ¢ re- quer que o servidor de nome interaja com 0 dispositivo NAT. Quando um aplicativo na Internet pro- cura o nome de dominio de um computador no site, o servidor de nome do site retorna o enderego IP valido do site e coloca uma entrada na tabela de tradugdo da NAT. Por isso, a tabela de traducdo 6 inicializada antes do primeiro pacote chegar. Embora ndo seja elegante, a Twice NAT funciona para a maioria dos casos. A Twice NAT falha, contudo, se um aplicativo usa o endereco IP direta- mente sem realizar uma busca de nome de dominio primeiro. Uma variante final da NAT foi proposta por fornecedores de TV a cabo que oferecem servicos de In- ternet a cabo. Conhecido como Traducao de Endereco de Cabo (Cable Address Translation, CAT), 0 sistema proposto ird incluir a NAPT e uma funcionalidade adicional que permite ao fornecedor de cabo se comunicar com o dispositivo de CAT, inspecionar valores e controlar acesso a rede 26.10 Software de NAT e sistemas para uso em casa ANAT € especialmente titil em uma residéncia que tem uma conexao de cable-modem ou DSL. por- gue permite que um conjunto de computadores compartilhem a conexao sem a necessidade de que © cliente compre enderegos de IP adicionais. Existem softwares disponiveis que permitem a um PC usar a Internet e funcionar como um dispositive de NAT para outros computadores. De fato, 0 con- Diregao Campos Valor antigo Valor novo saida IP SRC: TCP SRC. 10..0.0.1 : 30000 128.10.19.20 : 40001 saida IP SRC: TCP SRC 10.0.0.2 : 30000 128.10.19.20 : 40002 entrada IP DEST: TCP DEST 128.10.19.20:40001 —_10.0.0.1: 30000 entrada IP DEST: TCP DEST 128,10.19.20: 40002 —_10.0.0.2: 30000 Figura 26.4 Um exemplo de tabela de tradugdo NAPT para conexdes TCP entre os computadores 10.0.0.1 e 10.0.0.2. A NAPT muda tanto 0 endereco IP da fonte quanto a nimero de porta TCR. No exem- plo, ambas as conexées usam a porta de fonte TCP 30000 (pouco provavel, mas possivel). 364 _ Redes de Computadores e Intemet ceito de NAT inicialmente apareceu em um programa de UNIX chamado slirp. Um programa cha- mado Masquerade implementa a NAT pata o Sistema Operacional Linux, ¢ o software da Microsoft, Internet Connection Sharing (ICS), implementa a NAT para sistemas de Windows Além de softwares que rodam em PCs, sistemas de hardware dedicados & NAT estado disponiveis a baixos custos. Por exemplo, Linksys Corporation vende um sistema dedicado que inclui a NAPT e outros servigos. Sistemas dedicados freqiientemente combinam a funcionalidade da NAT e um hub em um Gnico dispositivo fisico. A Figura 26.5 ilustra um dispositivo de NAT dedicado. 26.11 Resumo © mecanismo de NAT permite que um site tenha muitos computadores usando a Internet através de um tinico enderego IP Um dispositivo que implementa a NAT, que opera no caminho entre a In- temnet € o site, reescreve o cabecalho de cada datagrama que passa para a Internet ou entra no si- te. Para aplicagdes-cliente, as tradugdes da NAT podem ser estabelecidas automaticamente quando © dispositivo NAT encontra o primeiro pacote enviado para a comunicacao. ANAT pode ser implementada via software em um PC convencional ou em um dispositivo de hard- ware dedicado. Existem muitas variagdes da NAT. A forma mais popular, NAPT, traduz os ntimeros de portas de protocolo, bem como enderegos IP Traduzir o numero das portas permite que um nti- mero arbitrario de aplicativos rodando em computadores arbitrarios dentro do site se comuniquem com destinos arbitrarios na Internet. Para estudos futuros Para detalhes sobre o NAPT, veja RFC 2663 € RFC 2766. Exercicios 26.1 Para o exemplo na Figura 26.4 considere os valores endpoint de conexdes TCP como vistes por cada site. Quais enderegos de endpoint 10.0.0.1 usa para identificar sua conexdo a um servidor Web? Quais endere- 40s de endpoint o servidor Web na Internet usa para identificar a conexéo a partir de 10.0.0.1? 26.2 Crie uma tabela de traducdo NAPT para o caso em que trés computadores em um site tenham conexdes TCP a trés servidores Web na Internet. 26.3 Qual informacao crucial usada pela NAPT ndo esté dispontvel na maior parte dos fragmentos 1P? Dispositivo de hardware dedicado implementando a NAT —g_ conexéo 10/100BaseT para um ] ISP (por exemplo, via ADSL) Conexées 100/100BaseT ——"_ 4a ‘Computadores Figura 26.5 _llustragdo de um dispositive de NAT dedicado que fornece conexes para milltiplos computa- dores. A caixa de NAT se conecta a um ISP (por exemplo, através de uma conexao DSL ou de um cable-modem). Capitulo 26 — Tradugao de Enderegos de Rede__ 365 26.4 Para otimizar a remontagem, algumas verses do sistema operacional Linux enviam o tiltimo segmento do datagrama IP primeiro, ¢ entao enviam os fragmentos restantes em ordem. Explique por que enviar o tilti- mo fragmento primeiro nao funciona bem com NAT 26.5 Obtenha um software shareware de NAT e instale-o em um sistema de computador local. Veja o Experimen- to 18.2 em Hands-On Necworking para detalhes.

También podría gustarte