{"id":70,"date":"2012-01-05T16:00:27","date_gmt":"2012-01-05T18:00:27","guid":{"rendered":"http:\/\/linuxrs.com.br\/?p=70"},"modified":"2012-01-05T16:06:00","modified_gmt":"2012-01-05T18:06:00","slug":"arquitetura-de-redes-tcpip","status":"publish","type":"post","link":"https:\/\/blog.clusterweb.com.br\/?p=70","title":{"rendered":"Arquitetura de Redes TCP\/IP"},"content":{"rendered":"<p>Introdu\u00e7\u00e3o<\/p>\n<p>No mundo de hoje, n\u00e3o se pode falar de redes sem falar do TCP\/IP. O conjunto de protocolos originalmente desenvolvido pela Universidade da Calif\u00f3rnia em Berkeley, sob contrato para o Departamento de Defesa dos EUA, se tornou o conjunto de protocolos padr\u00e3o das redes locais e remotas, suplantando conjuntos de protocolos bancados por pesos pesados da ind\u00fastria, como a IBM (SNA), Microsoft (NetBIOS\/NetBEUI) e Novell (IPX\/SPX).<\/p>\n<p>O grande motivo de todo este sucesso foi justamente o fato do TCP\/IP n\u00e3o ter nenhuma grande empresa associada ao seu desenvolvimento. Isto possibilitou a sua implementa\u00e7\u00e3o e utiliza\u00e7\u00e3o por diversas aplica\u00e7\u00f5es em praticamente todos os tipos de hardware e sistemas operacionais existentes.<\/p>\n<p>Mesmo antes do boom da Internet o TCP\/IP j\u00e1 era o protocolo obrigat\u00f3rio para grandes redes, formadas por produtos de muitos fornecedores diferentes, e havia sido escolhido pela Microsoft como o protocolo preferencial para o Windows NT, devido \u00e0s limita\u00e7\u00f5es t\u00e9cnicas do seu pr\u00f3prio conjunto de protocolos, o NetBEUI.<\/p>\n<p>Entretanto, ao contr\u00e1rio dos procolos propriet\u00e1rios para redes locais da Microsoft e da Novell, que foram desenhados para serem praticamente &#8220;plug and play&#8221;, as necessidades que orientaram o desenvolvimento do TCP\/IP obrigaram ao estabelecimento de uma s\u00e9rie de parametriza\u00e7\u00f5es e configura\u00e7\u00f5es que devem ser conhecidas pelo profissional envolvido com instala\u00e7\u00e3o, administra\u00e7\u00e3o e suporte de redes.<\/p>\n<p>Esta primeira aula tem por objetivo passar os conhecimentos te\u00f3ricos necess\u00e1rios para tornar os alunos aptos a seguirem as aulas seguintes, que explicar\u00e3o como implementar redes TCP\/IP no Windows 95, Windows NT, Netware e outros sistemas populares no mercado. Ao contr\u00e1rio da maioria dos livros &#8220;introdut\u00f3rios&#8221; sobre TCP\/IP que vemos nas livrarias e universidades, n\u00e3o vamos nos preocupar com os detalhes sobre formatos de pacotes e algoritmos empregados na implementa\u00e7\u00e3o do protocolo. Vamos nos preocupar sim com os conhecimentos realmente necess\u00e1rios para se trabalhar corretamente com os v\u00e1rios produtos existentes no mercado.<\/p>\n<p>As Pilhas de Protocolos<\/p>\n<p>Quem j\u00e1 estudou mais a fundo a documenta\u00e7\u00e3o de produtos de redes ou participou de cursos mais espec\u00edficos certamente se deparou com o &#8220;Modelo OSI de 7 Camadas&#8221;. Todos os softwares de redes s\u00e3o baseados em alguma arquitetura de camadas, e normalmente nos referimos a um grupo de protocolos criado para funcionar em conjunto como uma pilha de protocolos (em ingl\u00eas, protocol stack, por exemplo the TCP\/IP stack). O termo &#8220;pilha&#8221; \u00e9 utilizado porque os protocolos de uma dada camada normalmente interagem somente com os protocolos das camadas imediatamente superior e inferior.<\/p>\n<p>O modelo de pilha traz a vantagem de modularizar naturalmente o software de redes, permitindo a sua expans\u00e3o com novos recursos, novas tecnologias ou aperfei\u00e7oamentos sobre a estrutura existente, de forma gradual.<\/p>\n<p>Entretanto, o Modelo OSI \u00e9 uma modelo conceitual, e n\u00e3o a arquitetura de uma implementa\u00e7\u00e3o real de protocolos de rede. Mesmo os protocolos definidos como padr\u00e3o oficial pelo ISO &#8211; International Standards Organization &#8211; a entidade criadora do modelo OSI, n\u00e3o foram projetados e constru\u00eddos segundo este modelo.<\/p>\n<p>Por isso, vamos utilizar nesta aula uma simplifica\u00e7\u00e3o do modelo OSI. O importante \u00e9 entender o conceito de pilhas de protocolos, pelo qual cada camada realiza uma das fun\u00e7\u00f5es necess\u00e1rias para a comunica\u00e7\u00e3o em rede, tornando poss\u00edvel a comunica\u00e7\u00e3o em redes de computadores utilizando v\u00e1rias tecnologias diferentes.<\/p>\n<p>O Modelo de Pilha de 4 camadas do TCP\/IP<\/p>\n<p>O TCP\/IP foi desenhado segundo uma arquitetura de pilha, onde diversas camadas de software interagem somente com as camadas acima e abaixo. H\u00e1 diversas semelhan\u00e7as com o modelo conceitual OSI da ISO, mas o TCP\/IP \u00e9 anterior \u00e0 formaliza\u00e7\u00e3o deste modelo e portanto possui algumas diferen\u00e7as.<\/p>\n<p>O nome TCP\/IP vem dos nomes dos protocolos mais utilizados desta pilha, o IP (Internet Protocol) e o TCP (Transmission Control Protocol). Mas a pilha TCP\/IP possui ainda muitos outros protocolos, dos quais veremos apenas os mais importantes, v\u00e1rios deles necess\u00e1rios para que o TCP e o IP desempenhem corretamente as suas fun\u00e7\u00f5es.<\/p>\n<p>Visto superficialmente, o TCP\/IP possui 4 camadas, desde as aplica\u00e7\u00f5es de rede at\u00e9 o meio f\u00edsico que carrega os sinais el\u00e9tricos at\u00e9 o seu destino:<\/p>\n<p>4. Aplica\u00e7\u00e3o (Servi\u00e7o) \tFTP, TELNET, LPD, HTTP, SMTP\/POP3, NFS, etc.<br \/>\n3. Transporte \tTCP, UDP<br \/>\n2. Rede \tIP<br \/>\n1. Enlace \tEthernet, PPP, SLIP<\/p>\n<p>Al\u00e9m das camadas propriamente ditas, temos uma s\u00e9rie de componentes, que realizam a interface entre as camadas:<\/p>\n<p>Aplica\u00e7\u00e3o \/ Transporte \tDNS, Sockets<br \/>\nRede \/ Enlace \tARP, DHCP<\/p>\n<p>Vamos apresentar agora uma descri\u00e7\u00e3o da fun\u00e7\u00e3o de cada camada do TCP\/IP:<\/p>\n<p>1. Os protocolos de enlace tem a fun\u00e7\u00e3o de fazer com que informa\u00e7\u00f5es sejam transmitidas de um computador para outro em uma mesma m\u00eddia de acesso compartilhado (tamb\u00e9m chamada de rede local) ou em uma liga\u00e7\u00e3o ponto-a-ponto (ex: modem). Nada mais do que isso. A preocupa\u00e7\u00e3o destes protocolos \u00e9 permitir o uso do meio f\u00edsico que conecta os computadores na rede e fazer com que os bytes enviados por um computador cheguem a um outro computador diretamente desde que haja uma conex\u00e3o direta entre eles.<\/p>\n<p>2. J\u00e1 o protocolo de rede, o Internet Protocol (IP), \u00e9 respons\u00e1vel por fazer com que as informa\u00e7\u00f5es enviadas por um computador cheguem a outros computadores mesmo que eles estejam em redes fisicamente distintas, ou seja, n\u00e3o existe conex\u00e3o direta entre eles. Como o pr\u00f3prio nome (Inter-net) diz, o IP realiza a conex\u00e3o entre redes. E \u00e9 ele quem traz a capacidade da rede TCP\/IP se &#8220;reconfigurar&#8221; quando uma parte da rede est\u00e1 fora do ar, procurando um caminho (rota) alternativo para a comunica\u00e7\u00e3o.<\/p>\n<p>3. Os protocolos de transporte mudam o objetivo, que era conectar dois equipamentos, para&#8217; conectar dois programas. Voc\u00ea pode ter em um mesmo computador v\u00e1rios programas trabalhando com a rede simultaneamente, por exemplo um browser Web e um leitor de e-mail. Da mesma forma, um mesmo computador pode estar rodando ao mesmo tempo um servidor Web e um servidor POP3. Os protocolos de transporte (UDP e TCP) atribuem a cada programa um n\u00famero de porta, que \u00e9 anexado a cada pacote de modo que o TCP\/IP saiba para qual programa entregar cada mensagem recebida pela rede.<\/p>\n<p>4. Finalmente os protocolos de aplica\u00e7\u00e3o s\u00e3o espec\u00edficos para cada programa que faz uso da rede. Desta forma existe um protocolo para a conversa\u00e7\u00e3o entre um servidor web e um browser web (HTTP), um protocolo para a conversa\u00e7\u00e3o entre um cliente Telnet e um servidor (daemon) Telnet, e assim em diante. Cada aplica\u00e7\u00e3o de rede tem o seu pr\u00f3prio protocolo de comunica\u00e7\u00e3o, que utiliza os protocolos das camadas mais baixas para poder atingir o seu destino.<\/p>\n<p>Pela figura acima vemos que existem dois protocolos de transporte no TCP\/IP. O primeiro \u00e9 o UDP, um protocolo que trabalha com datagramas, que s\u00e3o mensagens com um comprimento m\u00e1ximo pr\u00e9-fixado e cuja entrega n\u00e3o \u00e9 garantida. Caso a rede esteja congestionada, um datagrama pode ser perdido e o UDP n\u00e3o informa as aplica\u00e7\u00f5es desta ocorr\u00eancia. Outra possibilidade \u00e9 que o congestionamento em uma rota da rede possa fazer com que os pacotes cheguem ao seu destino em uma ordem diferente daquela em que foram enviados. O UDP \u00e9 um protocolo que trabalha sem estabelecer conex\u00f5es entre os softwares que est\u00e3o se comunicando.<\/p>\n<p>J\u00e1 o TCP \u00e9 um protocolo orientado a conex\u00e3o. Ele permite que sejam enviadas mensagens de qualquer tamanho e cuida de quebrar as mensagens em pacotes que possam ser enviados pela rede. Ele tamb\u00e9m cuida de rearrumar os pacotes no destino e de retransmitir qualquer pacote que seja perdido pela rede, de modo que o destino receba a mensagem original, da maneira como foi enviada.<\/p>\n<p>Agora, vamos aos componentes que ficam na interface entre os n\u00edveis 3 e 4 e entre os n\u00edveis 1 e 2.<\/p>\n<p>O Sockets \u00e9 uma API para a escrita de programas que trocam mensagens utilizando o TCP\/IP. Ele fornece fun\u00e7\u00f5es para testar um endere\u00e7o de rede, abrir uma conex\u00e3o TCP, enviar datagramas UDP e esperar por mensagens da rede. O Winsockets, utilizado para aplica\u00e7\u00f5es Internet em Windows \u00e9 nada mais do que uma pequena varia\u00e7\u00e3o desta API para acomodar limita\u00e7\u00f5es do Windows 3.1. No Windows NT e Win95 pode ser usada a API original sem problemas.<\/p>\n<p>O Domain Name Service (DNS), que ser\u00e1 visto com maiores detalhes mais adiante, fornece os nomes l\u00f3gicos da Internet como um todo ou de qualquer rede TCP\/IP isolada.<\/p>\n<p>Temos ainda o ARP realiza o mapeamento entre os endere\u00e7os TCP\/IP e os endere\u00e7os Ethernet, de modo que os pacotes possam atingir o seu destino em uma rede local (lembrem-se, no final das contas quem entrega o pacote na rede local \u00e9 o Ethernet, n\u00e3o o TCP ou o IP).<\/p>\n<p>Por fim, o DHCP permite a configura\u00e7\u00e3o autom\u00e1tica de um computador ou outro dispositivo conectado a uma rede TCP\/IP, em vez de configurarmos cada computador manualmente. Mas, para entender o porque da necessidade do DHCP, temos que entender um pouco mais do funcionamento e da configura\u00e7\u00e3o de uma rede TCP\/IP.<\/p>\n<p>Endere\u00e7amento e Roteamento<\/p>\n<p>Em uma rede TCP\/IP, cada computador (ou melhor, cada placa de rede, caso o computador possua mais do que uma) possui um endere\u00e7o num\u00e9rico formado por 4 octetos (4 bytes), geralmente escritos na forma w.x.y.z. Al\u00e9m deste Endere\u00e7o IP, cada computador possui uma m\u00e1scara de rede (network mask ou subnet mask), que \u00e9 um n\u00famero do mesmo tipo mas com a restri\u00e7\u00e3o de que ele deve come\u00e7ar por uma seq\u00fc\u00eancia cont\u00ednua de bits em 1, seguida por uma seq\u00fc\u00eancia cont\u00ednua de bits em zero. Ou seja, a m\u00e1scara de rede pode ser um n\u00famero como 11111111.11111111.00000000.00000000 (255.255.0.0), mas nunca um n\u00famero como 11111111.11111111.00000111.00000000 (255.255.7.0).<\/p>\n<p>A m\u00e1scara de rede serve para quebrar um endere\u00e7o IP em um endere\u00e7o de rede e um endere\u00e7o de host. Todos os computadores em uma mesma rede local (fisicamente falando, por exemplo, um mesmo barramento Ethernet) devem ter o mesmo endere\u00e7o de rede, e cada um deve ter um endere\u00e7o de host diferente. Tomando-se o endere\u00e7o IP como um todo, cada computador em uma rede TCP\/IP (inclusive em toda a Internet) possui um endere\u00e7o IP \u00fanico e exclusivo.<\/p>\n<p>O InterNIC controla todos os endere\u00e7os IP em uso ou livres na Internet, para evitar duplica\u00e7\u00f5es, e reserva certas faixas de endere\u00e7os chamadas de endere\u00e7os privativos para serem usados em redes que n\u00e3o ir\u00e3o se conectar diretamente na Internet.<\/p>\n<p>Quando o IP recebe um pacote para ser enviado pela rede, ele quebra o endere\u00e7o destino utilizado a m\u00e1scara de rede do computador e compara o endere\u00e7o de rede do destino com o endere\u00e7o de rede dele mesmo. Se os endere\u00e7os de rede forem iguais, isto significa que a mensagem ser\u00e1 enviada para um outro computador na mesma rede local, ent\u00e3o o pacote \u00e9 repassado para o protocolo de enlace apropriado (em geral o Ethernet). Se os endere\u00e7os forem diferentes, o IP envia o pacote para o default gateway, que \u00e9 nada mais do que o equipamento que fornece a conex\u00e3o da rede local com outras redes. Este equipamento pode ser um roteador dedicado ou pode ser um servidor com m\u00faltiplas placas de rede, e se encarrega de encaminhar o pacote para a rede local onde est\u00e1 o endere\u00e7o IP do destino.<\/p>\n<p>\u00c9 importante que o endere\u00e7o IP do default gateway esteja na mesma subnet que o a m\u00e1quina sendo configurada, caso contr\u00e1rio ela n\u00e3o ter\u00e1 como enviar pacotes para o default gateway e assim s\u00f3 poder\u00e1 se comunicar com outros hosts na mesma subnet.<\/p>\n<p>Resumindo um computador qualquer em uma rede TCP\/IP deve ser configurado com pelo menos estes tr\u00eas par\u00e2metros: o seu endere\u00e7o IP exclusivo, a sua m\u00e1scara de rede (que deve ser a mesma utilizada pelos demais computadores na mesma LAN) e o endere\u00e7o IP do default gateway.<\/p>\n<p> Como se Processa a Comunica\u00e7\u00e3o em uma Rede<\/p>\n<p>Digamos que o host com o endere\u00e7o IP \u00e9 172.16.1.101 deseje enviar um pacote para o endere\u00e7o 172.16.2.102. Caso a m\u00e1scara de rede seja 255.255.0.0, o AND bin\u00e1rio do enrede\u00e7o fonte ser\u00e1 172.16.0.0, e o AND do endere\u00e7o destino ser\u00e1 172.16.0.0, indicando que ambos possuem o mesmo endere\u00e7o de rede e portanto est\u00e3o diretamente conectados no n\u00edvel de enlace.<\/p>\n<p>Neste caso, o n\u00edvel IP envia um pacote ARP pela rede Ethernet para identificar qual o endere\u00e7o Ethernet do host cujo IP \u00e9 172.16.2.2. Este pacote \u00e9 enviado como um broadcast, de modo que todos os hosts conectados no mesmo segmento Ethernet receber\u00e3o o pacote, e o host configurado para o endere\u00e7o desejado ir\u00e1 responder ao pacote ARP indicando qual o seu endere\u00e7o Ethernet. Assim o IP pode montar o pacote Ethernet corretamente endere\u00e7ado e enviar o pacote para o seu destino.<\/p>\n<p>Agora digamos que a m\u00e1scara de rede n\u00e3o fosse 255.255.0.0, mas sim 255.255.255.0. Neste caso, os endere\u00e7os de rede da origem e destino seriam respectivamente 172.16.1.0 e 172.16.2.0. Como os endere\u00e7os de rede s\u00e3o diferentes, isto significa que n\u00e3o temos conectividade direta (no n\u00edvel de enlace) entre os dois hosts, portanto o pacote dever\u00e1 ser entregue por interm\u00e9dio de um roteador, que \u00e9 o default gateway.<\/p>\n<p>Digamos que o default gateway seja 172.16.1.1 (observe que o endere\u00e7o de rede do default gateway \u00e9 172.16.1.0, o mesmo do nosso host de origem). Ent\u00e3o o host ir\u00e1 enviar um pacote ARP pela rede para descobrir o endere\u00e7o Ethernet do default gateway, e enviar\u00e1 o pacote para este.<\/p>\n<p>Ao receber o pacote, o default gateway ir\u00e1 verificar que o endere\u00e7o IP de destino \u00e9 o IP de outro host que n\u00e3o ele, e ir\u00e1 verificar qual o endere\u00e7o de rede do destino. Pode ser que o pacote esteja endere\u00e7ado para uma rede local na qual o default gateway tenha uma conex\u00e3o direta, ou pode ser que o default gateway tenha que direcionar o pacote para um outro roteador mais pr\u00f3ximo do destino final. De qualquer forma, o default gateway segue o mesmo processo de gerar o endere\u00e7o de rede utilizando a netmask, e em seguida enviar um pacote ARP pedindo o endere\u00e7o Ethernet do pr\u00f3ximo host a receber o pacote. A diferen\u00e7a \u00e9 que um roteador n\u00e3o tem um default gateway, mas sim uma tabela de roteamento, que diz quais endere\u00e7os de rede podem ser alcan\u00e7ados por quais roteadores.<\/p>\n<p>Notem que este exemplo considerou apenas a comunica\u00e7\u00e3o entre dois equipamentos, n\u00e3o entre dois programas. O nosso exemplo ficou apenas no n\u00edvel de rede da pilha TCP\/IP, mas acima dela o processo \u00e9 simples: o IP verifica que tipo de pacote foi recebido (TCP, UDP ou outro) e repassa o pacote para o protocolo apropriado.<\/p>\n<p>O protocolo de transporte ir\u00e1 ent\u00e3o verificar o n\u00famero de porta contido no pacote e qual programa est\u00e1 associado aquela porta. Este programa ser\u00e1 notificado da chegada de um pacote, e ser\u00e1 responsabilidade dele decodificar e utilizar de alguma forma as informa\u00e7\u00f5es contidas no pacote.<\/p>\n<p>Como Testar uma Rede TCP\/IP<\/p>\n<p>Caso voc\u00ea venha a ter problemas de comunica\u00e7\u00e3o, todas as pilhas TCP\/IP, independente de qual sistema operacional, trazem o utilit\u00e1rio ping para testar a conectividade entre dois hosts TCP\/IP. Siga o seguinte procedimento:<\/p>\n<p>1. ping 127.0.0.1. Este endere\u00e7o IP \u00e9 um loopback, ou seja, n\u00e3o vai para a rede, fica no computador que originou a mensagem. Se o ping acusar o recebimento da resposta, significa que a pilha TCP\/IP est\u00e1 instalada e ativa no computador onde foi realizado o teste. (Somente a t\u00edtulo de curiosidade, voc\u00ea pode usar o loopback do TCP\/IP para desenvolver aplica\u00e7\u00f5es de rede em uma m\u00e1quina stand-alone, sem nenhum tipo de conex\u00e3o de rede dispon\u00edvel.)<\/p>\n<p>2. ping meu_ip. Tendo comprovado que o TCP\/IP est\u00e1 ativo na m\u00e1quina origem, vamos enviar uma mensagem para ela mesmo, para verificar se a placa de rede (ou modem) est\u00e3o ativos no que diz respeito ao TCP\/IP. Aqui voc\u00ea testa apenas o driver da sua placa de rede, n\u00e3o a placa em si nem os cabos da rede.<\/p>\n<p>3. ping ip_na_minha_rede. Agora vamos testar a comunica\u00e7\u00e3o dentro da rede local onde o computador de origem est\u00e1 localizado. Garanta que o computador dono do ip_na_minha_rede est\u00e1 com o TCP\/IP e a sua placa de rede ativos, segundo os dois testes acima. Se n\u00e3o funcionar, voc\u00ea tem um problema de cabos ou em uma placa de rede, ou simplesmente as suas m\u00e1scaras de rede e endere\u00e7os IP est\u00e3o incorretos.<\/p>\n<p>4. ping ip_do_default_gateway. Se a comunica\u00e7\u00e3o dentro da minha rede local est\u00e1 OK, temos que verificar se o default gateway da minha rede est\u00e1 no ar, pois todos os pacotes que saem da minha rede local passam por ele.<\/p>\n<p>5. ping ip_do_outro_lado. Digamos que o meu default gateway esteja diretamente conectado na rede destino. Eu tenho que testar se a interface de rede que liga o default gateway a esta rede est\u00e1 no ar. Ent\u00e3o eu dou um ping no endere\u00e7o IP desta placa. Se o default gateway n\u00e3o estiver diretamente conectado na rede destino, eu repito os passos (4) e (5) para cada equipamento que esteja no caminho entre origem e destino.<\/p>\n<p>6. ping ip_do_destino. Sabendo que a outra rede pode ser alcan\u00e7ada via TCP\/IP, resta saber se eu consigo me comunicar com o computador desejado.<\/p>\n<p>Servi\u00e7os de Nomea\u00e7\u00e3o<\/p>\n<p>At\u00e9 agora n\u00f3s estamos vendo a comunica\u00e7\u00e3o em rede utilizando apenas os endere\u00e7os IP. Imagine o seu cart\u00e3o de visitas, indicando a sua home-page como: &#8220;164.85.31.230&#8221;. Imagine-se ainda com uma lista contendo dezenas de n\u00fameros como esse pendurada na parede junto ao seu computador, para quando voc\u00ea precisar se conectar a um dos servidores da sua empresa.<\/p>\n<p>No in\u00edcio do desenvolvimento do TCP\/IP, cada computador tinha um arquivo de hosts que listava os nomes dos computadores e os endere\u00e7os IP correspondentes. Na Internet, certamente seria invi\u00e1vel manter estes arquivos, n\u00e3o s\u00f3 pelo tamanho que eles teriam mas tamb\u00e9m pela dificuldade em se manter milh\u00f5es de c\u00f3pias atualizadas. Logo foi desenvolvido o DNS, pelo qual diversos servidores mant\u00e9m um banco de dados distribu\u00eddo com este mapeamento de nomes l\u00f3gicos para endere\u00e7os IP.<\/p>\n<p>O DNS funciona de forma hier\u00e1rquica. Vejam um endere\u00e7o Internet t\u00edpico, como www.petrobras.com.br. Inicialmente, separamos o primeiro nome (at\u00e9 o primeiro ponto), &#8220;www&#8221;, que \u00e9 o nome de um computador ou host, e o restante do endere\u00e7o, &#8220;petrobras.com.br&#8221;, que \u00e9 o nome da organiza\u00e7\u00e3o, ou o nome do dom\u00ednio. Por favor, n\u00e3o confundam o conceito de dom\u00ednios em endere\u00e7os Internet com o conceito de dom\u00ednios em uma Rede Microsoft. N\u00e3o existe nenhuma rela\u00e7\u00e3o entre eles.<\/p>\n<p>O dom\u00ednio petrobras.com.br possui o seu servidor DNS, que cont\u00e9m os nomes dos computadores (e endere\u00e7os IP correspondentes) sob a sua autoridade. E ele sabe o endere\u00e7o IP do servidor DNS do dom\u00ednio que est\u00e1 acima dele, .com.br. Os computadores na Petrobras fazem todas as consultas por endere\u00e7os IP ao servidor do seu dom\u00ednio, e ele repassa as consultas a outros servidores DNS quando necess\u00e1rio. Os clientes necessitam saber apenas sobre o servidor do seu dom\u00ednio, e mais nada.<\/p>\n<p>J\u00e1 o servidor DNS do dom\u00ednio .com.br sabe os endere\u00e7os IP de todos os servidores dos dom\u00ednios a ele subordinados (por exemplo, texaco.com.br, mantel.com.br, etc) e o endere\u00e7o IP do servidor acima dele (dom\u00ednio .br, o dom\u00ednio que engloba todo o Brasil). Por fim, o servidor DNS do dom\u00ednio br sabe os endere\u00e7os de todos os servidores dos dom\u00ednios a ele subordinados (.com.br, .gov.br, etc) e o endere\u00e7o do servidor DNS do InterNIC, que \u00e9 o servidor DNS raiz de toda a Internet.<\/p>\n<p>Uma consulta de uma aplica\u00e7\u00e3o por um endere\u00e7o IP sobe por toda a hierarquia de servidores DNS, at\u00e9 o dom\u00ednio comum de n\u00edvel mais baixo que seja comum a origem e destino, ou at\u00e9 chegar ao servidor do InterNIC, e depois desce na hierarquia at\u00e9 o dom\u00ednio onde est\u00e1 o computador destino. A resposta volta pelo caminho inverso, por\u00e9m cada servidor DNS mant\u00e9m um cache das respostas recebidas, de modo que uma nova requisi\u00e7\u00e3o pelo mesmo nome n\u00e3o necessitar\u00e1 percorrer novamente todos os servidores DNS.<\/p>\n<p>Pode parecer que \u00e9 realizado um trabalho muito grande somente para obter um endere\u00e7o IP, mas o processo como um todo \u00e9 r\u00e1pido (quem navega na Web sabe bem disso), e ele possibilita que milhares de organiza\u00e7\u00f5es integrem suas redes a um custo aceit\u00e1vel e com grande autonomia. Quando voc\u00ea acrescenta uma m\u00e1quina no seu dom\u00ednio, voc\u00ea n\u00e3o precisa comunicar ao InterNIC e \u00e0s redes vizinhas, basta registrar o novo computador no seu servidor DNS.<\/p>\n<p>O protocolo DHCP<\/p>\n<p>Recapitulando, cada esta\u00e7\u00e3o ou servidor em uma rede TCP\/IP t\u00edpica dever\u00e1 ser configurada com os seguintes par\u00e2metros:<\/p>\n<p> Endere\u00e7o IP<br \/>\n M\u00e1scara de Rede<br \/>\n Default Gateway<\/p>\n<p>Al\u00e9m disso, caso a sua rede utilize um servidor DNS o seu endere\u00e7o IP tamb\u00e9m deve ser configurado em cada host.<\/p>\n<p>Em uma rede com dezenas ou mesmo centenas de computadores, manter o controle dos endere\u00e7os IP j\u00e1 utilizados pelas m\u00e1quinas pode ser um pesadelo. \u00c9 muito f\u00e1cil errar o endere\u00e7o IP de uma m\u00e1quina, ou errar a m\u00e1scara de rede ou endere\u00e7o do default gateway, e geralmente \u00e9 muito dif\u00edcil identificar qual a m\u00e1quina onde existe um erro de configura\u00e7\u00e3o do TCP\/IP.<\/p>\n<p>Para resolver esses problemas voc\u00ea poder\u00e1 instalar um servidor DHCP na sua rede local (ou melhor, um servidor DHCP para cada subnet, logo veremos porque) e deixar que ele forne\u00e7a estes par\u00e2metros para as esta\u00e7\u00f5es da rede.<\/p>\n<p>Se voc\u00ea tem uma pilha TCP\/IP instalada que suporta o protocolo DHCP, voc\u00ea pode configurar cada esta\u00e7\u00e3o para usar o DHCP e ignorar todos esses par\u00e2metros. Na inicializa\u00e7\u00e3o da pilha TCP\/IP, a esta\u00e7\u00e3o ir\u00e1 enviar um pacote de broadcast para a rede (um broadcast \u00e9 um pacote que \u00e9 recebido por toda a rede) e o servidor DHCP, ao receber este pacote, enviar\u00e1 os par\u00e2metros de configura\u00e7\u00e3o para a esta\u00e7\u00e3o.<\/p>\n<p>Aqui temos comunica\u00e7\u00e3o apenas no n\u00edvel de enlace (pois o TCP\/IP ainda n\u00e3o foi completamente inicializado), e portanto n\u00e3o temos a fun\u00e7\u00e3o de roteamento habilitada. Por isso o servidor DHCP deve estar na mesma LAN f\u00edsica onde est\u00e1 a esta\u00e7\u00e3o que ser\u00e1 inicializada. Normalmente os servidores tem sua configura\u00e7\u00e3o realizada manualmente, pois o endere\u00e7o IP deve concordar com o endere\u00e7o IP cadastrado no servidor DNS.<\/p>\n<p>O servidor DHCP \u00e9 configurado com uma faixa de endere\u00e7os IP que ele pode fornecer aos clientes. Inicialmente, todos os endere\u00e7os est\u00e3o dispon\u00edveis. Quando uma esta\u00e7\u00e3o \u00e9 inicializada, ela envia o broadcast pedindo pela sua configura\u00e7\u00e3o, e o servidor DHCP reserva um endere\u00e7o para ela (que deixa de estar dispon\u00edvel) e registra o endere\u00e7o Ethernet para o qual o endere\u00e7o foi reservado. Ent\u00e3o ele envia uma resposta contendo este endere\u00e7o e os demais par\u00e2metros listados acima.<\/p>\n<p>O endere\u00e7o \u00e9 apenas &#8220;emprestado&#8221; pelo servidor DHCP, que registra tamb\u00e9m o momento do empr\u00e9stimo e a validade deste empr\u00e9stimo. No pr\u00f3ximo boot, a esta\u00e7\u00e3o verifica se o empr\u00e9stimo ainda \u00e9 v\u00e1lido e se n\u00e3o pede um novo endere\u00e7o (que pode at\u00e9 ser o mesmo, por coincid\u00eancia). Se o empr\u00e9stimo estiver em metade da sua validade, o cliente pede uma renova\u00e7\u00e3o do empr\u00e9stimo, o que aumenta a sua validade. E a cada inicializa\u00e7\u00e3o, o cliente verifica se o endere\u00e7o emprestado ainda \u00e9 dela, pois ela pode ter sido deslocada para uma outra LAN, onde a configura\u00e7\u00e3o do TCP\/IP \u00e9 diferente, ou por qualquer motivo o Administrador da Rede pode ter for\u00e7ado a libera\u00e7\u00e3o do endere\u00e7o que havia sido emprestado.<\/p>\n<p>O servidor verifica periodicamente se o empr\u00e9stimo n\u00e3o expirou, e caso afirmativo coloca o endere\u00e7o novamente em disponibilidade. Desta forma, a n\u00e3o ser que voc\u00ea tenha um n\u00famero de esta\u00e7\u00f5es muito pr\u00f3ximo ao n\u00famero de endere\u00e7os IP reservados para o servidor DHCP, voc\u00ea pode acrescentar, retirar ou mover esta\u00e7\u00f5es pela sua rede sem se preocupar em configurar manualmente as pilhas TCP\/IP a cada mudan\u00e7a.<\/p>\n<p>Geralmente o DHCP \u00e9 utilizado somente para configurar esta\u00e7\u00f5es cliente da rede, enquanto que os servidores s\u00e3o configurados manualmente. Isso porque o endere\u00e7o IP do servidor deve ser conhecido previamente (para configura\u00e7\u00e3o do default gateway, para configura\u00e7\u00e3o do arquivo de hosts, para configura\u00e7\u00e3o de DNS, configura\u00e7\u00e3o de firewall, etc). Se fosse utilizado o DHCP, o endere\u00e7o do servidor poderia ser diferente em cada boot, obrigando a uma s\u00e9rie de mudan\u00e7as de configura\u00e7\u00e3o em diversos n\u00f3s da rede.<\/p>\n<p>Voc\u00ea tamb\u00e9m pode configurar o servidor DHCP para entregar aos clientes outras informa\u00e7\u00f5es de configura\u00e7\u00e3o, como o endere\u00e7o do servidor DNS da rede. O Linux pode operar tanto como cliente quanto como servidor DHCP, entretanto n\u00e3o veremos estas configura\u00e7\u00f5es no nosso curso.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introdu\u00e7\u00e3o No mundo de hoje, n\u00e3o se pode falar de redes sem falar do TCP\/IP. O conjunto de protocolos originalmente desenvolvido pela Universidade da Calif\u00f3rnia em Berkeley, sob contrato para o Departamento de Defesa dos EUA, se tornou o conjunto de protocolos padr\u00e3o das redes locais e remotas, suplantando conjuntos de protocolos bancados por pesos [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[20,22,21,19],"class_list":["post-70","post","type-post","status-publish","format-standard","hentry","category-viazap","tag-ip","tag-redes","tag-tcp","tag-tcpip"],"_links":{"self":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/70","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=70"}],"version-history":[{"count":3,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/70\/revisions"}],"predecessor-version":[{"id":73,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/70\/revisions\/73"}],"wp:attachment":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=70"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=70"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=70"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}