Livro_beta Redes de Hoje

download Livro_beta Redes de Hoje

of 160

Transcript of Livro_beta Redes de Hoje

Introduo s Redes de Computadores de Hoje

Verso BETA

Gustavo Lopes

26 de Maio de 2009

ResumoEsta obra foi feita por Gustavo Lopes de Oliveira Santos. Este livro/apostila/manual encontra-se em verso digital, formato PDF. No encontra-se em formato impresso. Esta obra pode ser baixada, como est apresentada aqui, atravs do site: planoemfoco.wordpress.com Esta obra distribuda conforme a Licena Creative Commons - Atribuio: Compartilhamento pela mesma licena 2.5 Brasil

http://creativecommons.org/licenses/by-sa/2.5/br VOC PODE Copiar, distribuir, exibir e executar a obra Criar obras derivadas Atribuio. Voc deve dar crdito ao autor original, da forma especicada pelo autor ou licencialmente. Compartilhamento pela mesma Licena. Se voc alterar, transformar, ou criar outra obra com base nesta, voc somente poder distribuir a obra resultante sob uma licena idntica a esta.

SOB AS SEGUINTES CONDIES

Obtenha mais informaes sobre esta licena: http://creativecommons.org/licenses/by-sa/2.5/br

ATENO! Esta uma verso preliminar do resultado nal previsto para essa obra. Esta verso preliminar, como se encontra, possui as seguintes caractersticas: Possui erros de ortograa e gramtica que no foram corrigidos. Pode conter guras que no se referem ao constante na legenda. uma obra incompleta, com captulos e apndices em branco. Pode conter falhas tcnicas. 60% do contedo da obra nal no est contida nesta verso preliminar.

Portanto, use com cuidado. A verso nal DEPENDE DA SUA CONTRIBUIO! Indique erros, corrija falhas, faa sugestes quanto ao que deve ser abordado. Comente no site deste livro, e vote nas enquetes. 3

Tabela de contedosResumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Lista de tabelas Lista de figuras . .. . . . . . . .. . . . . . . .. . . . . . . . .. . . . . . . .. . . . . . 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

I. Fundamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131. Conceitos de Redes de Computadores . . . . . . . . . . . . . . . . . . . . 15 1.1. O mundo depende das redes . . . . 1.2. O que uma rede de computador? 1.3. Endereamento . . . . . . . . . . . . 1.4. Protocolo . . . . . . . . . . . . . . . . 1.5. Pra que tantos cabos? . . . . . . . 1.6. Conectando-se Internet . . . . . . 1.7. Arquitetura de rede . . . . . . . . . 1.8. Comunicao entre camadas . . . . 1.9. Organizao deste livro . . . . . . . 1.10. Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 15 16 18 19 20 22 23 25 26

2. Funcionamento Bsico de Redes TCP/IP . . . . . . . . . . . . . . . . . 27 2.1. Reviso . . . . . . . . . . . . . . . . 2.2. Duplo endereamento . . . . . . . 2.3. Pacotes e quadros . . . . . . . . . 2.4. A necessidade do endereo lgico 2.5. Arquitetura cliente-servidor . . . 2.6. Camada aplicao . . . . . . . . . 2.7. Camada transporte . . . . . . . . 2.8. Transporte convel e conexo . 2.9. Concluso . . . . . . . . . . . . . . 2.10. Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 28 29 30 32 33 34 36 38 38

3. Fundamentos de comutao e roteamento . . . . . . . . . . . . . . . . 39 3.1. 3.2. 3.3. 3.4. 3.5. 3.6. 3.7. Reviso . . . . . . . . . . . . . O que comutao? . . . . . O que roteamento? . . . . Formatos de endereamento Backbone . . . . . . . . . . . . Concluso . . . . . . . . . . . Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 40 42 43 45 46 46

II. Redes Locais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494. Camada fsica das redes locais cabeadas . . . . . . . . . . . . . . . . . 51 5

6

Tabela de contedos

4.1. Introduo . . . . . . . . . . . . . 4.2. Transmisso na camada fsica . 4.3. O cabo de par tranado . . . . 4.4. Transmisso nos os do cabo de 4.5. Transmisso com os trocados 4.6. Transmisso com os diretos . 4.7. As cores dos os . . . . . . . . . 4.8. O conector RJ-45 . . . . . . . . 4.9. Concluso . . . . . . . . . . . . . 4.10. Exerccios . . . . . . . . . . . . .

.. . . . . . . . .. . . . . . . . .. . . . . . . . par tranado .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

51 51 53 54 54 55 56 57 58 58

5. DHCP e DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.1. 5.2. 5.3. 5.4. 5.5. 5.6. 5.7. 5.8. 5.9. Introduo . . . . . . . . . . . . . . . . . . . . . Objetivo do DHCP . . . . . . . . . . . . . . . Funcionamento do servidor DHCP . . . . . . Funcionamento do cliente DHCP . . . . . . . Objetivo do DNS . . . . . . . . . . . . . . . . . Tabela DNS local . . . . . . . . . . . . . . . . Obtendo IP de mquina a partir do servidor Concluso . . . . . . . . . . . . . . . . . . . . . Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 62 62 63 66 66 67 68 69

6. Gateway padro e portas do roteador . . . . . . . . . . . . . . . . . . . 71 6.1. 6.2. 6.3. 6.4. 6.5. 6.6. 6.7. Introduo . . . . . . . . . . . . . . . . . . . Congurao das mquinas na LAN . . . Gateway padro . . . . . . . . . . . . . . . Portas do roteador . . . . . . . . . . . . . . Observaes sobre roteadores domsticos Concluso . . . . . . . . . . . . . . . . . . . Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 71 72 76 78 79 80

7. Padres de Redes Locais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 8. Protocolo de Camada Enlace Ethernet . . . . . . . . . . . . . . . . . . 87

III. WANs IPv4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899. Conceitos de IPv4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 9.1. 9.2. 9.3. 9.4. 9.5. 9.6. 9.7. 9.8. 9.9. Introduo . . . . . . . . . . . . . . . . . . . Formato de endereamento . . . . . . . . Diviso de rede e mquina . . . . . . . . . Mscara de rede . . . . . . . . . . . . . . . Endereo de rede e de broadcast . . . . . Comunicao dentro e fora da rede local O pacote IPv4 - Explicao introdutria Concluso . . . . . . . . . . . . . . . . . . . Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 91 92 93 95 98 99 100 101

10. O Sistema de Numerao Binrio

. . . . . . . . . . . . . . . . . . . . . 103

10.1. tenho mesmo que estudar isso? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

Tabela de contedos

7

10.2. 10.3. 10.4. 10.5. 10.6. 10.7. 10.8. 10.9.

Introduo . . . . . . . . . . . . . . . . . . . . O bit . . . . . . . . . . . . . . . . . . . . . . . . Mscara de rede em binrio . . . . . . . . . Endereo de rede em binrio . . . . . . . . . Endereo de broadcast em binrio . . . . . Descobrindo intervalos de endereos . . . . Lembrete sobre o nmero real de mquinas Exerccios . . . . . . . . . . . . . . . . . . . . .

. . . . . .

. . . . . . . ..

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

103 104 105 106 107 109 110 110

11. Atribuio de Endereos IPv4 . . . . . . . . . . . . . . . . . . . . . . . . 115 11.1. 11.2. 11.3. 11.4. 11.5. 11.6. 11.7. 11.8. 11.9. Introduo . . . . . . . . . . . . Atribuio de IPs na Internet Endereamento com classes . Endereos Privados . . . . . . . Exausto dos Endereos IPv4 NAT . . . . . . . . . . . . . . . . PAT . . . . . . . . . . . . . . . . Concluso . . . . . . . . . . . . Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 115 117 119 121 121 123 126 127

12. Roteamento IPv4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

IV. Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13113. Conexo ADSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 13.1. 13.2. 13.3. 13.4. 13.5. 13.6. 13.7. 13.8. 13.9. Introduo . . . . . . . . . . . . . . . . . . O Modem . . . . . . . . . . . . . . . . . . . Multiplexao por diviso de frequncia Computador conectado ADSL . . . . LAN conectada ADSL . . . . . . . . . Acoplamento de equipamentos . . . . . . Camada enlace ADSL: PPPoE . . . . . Concluso . . . . . . . . . . . . . . . . . . Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 133 135 138 139 139 141 142 143

V. Apndices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145Apndice A. Repostas dos exerccios . . . . . . . . . . . . . . . . . . . . . . 147 A.1. Captulo 1 . . A.2. Captulo 2 . . A.3. Captulo 3 . . A.4. Captulo 4 . . A.5. Captulo 5 . . A.6. Captulo 6 . . A.7. Captulo 7 . . A.8. Captulo 8 . . A.9. Captulo 9 . . A.10. Captulo 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 148 150 151 152 152 153 153 153 153

Apndice B. Redes Legadas

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

8

Tabela de contedos

B.1. B.2. B.3. B.4. B.5. B.6.

As designaes da topologia: fsica e lgica Anel . . . . . . . . . . . . . . . . . . . . . . . . Barra . . . . . . . . . . . . . . . . . . . . . . . . Topologia fsica em estrela . . . . . . . . . . Topologia fsica em estrela, lgica em anel Topologia hbrida . . . . . . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

155 156 158 158 159 160

Lista de tabelasComparao entre endereo fsico e endereo lgico. Protocolos de camada transporte. . . . . . . . . . . Resumo da ligao entre mquinas . . . . . . . . . Exemplo de ligaes entre mquinas . . . . . . . . Padro 568A . . . . . . . . . . . . . . . . . . . . . Padro 568B . . . . . . . . . . . . . . . . . . . . . Os os menos relevantes . . . . . . . . . . . . . . . Diferena entre os padres . . . . . . . . . . . . . . Exemplo de congurao no servidor DHCP. . . . . Estado inicial da camada rede da mquina. . . . . Estado nal da camada rede da mquina. . . . . . Exemplo de tabela DNS local. . . . . . . . . . . . . Lgica da mquina a ao enviar pacotes. . . . . . . Capacidade das redes. . . . . . . . . . . . . . . . . Tabela de converso. . . . . . . . . . . . . . . . . . Exemplo de mscara de rede convertida em binrio Mscaras possveis em um octeto . . . . . . . . . . Comparativo entre as classes . . . . . . . . . . . . Classes D e E . . . . . . . . . . . . . . . . . . . . . Endereos privados . . . . . . . . . . . . . . . . . . Lgica do NAT no Gateway padro. . . . . . . . . Tabela PAT no Gateway padro . . . . . . . . . . Duas conexes partindo de uma mesma mqina . . Lgica PAT/NAT do Gateway . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . .

31 37 55 55 56 56 56 56 63 64 66 67 72 98 104 105 106 119 119 119 122 123 125 126

9

Lista de figurasUma cena muito triste. No temos uma rede de computadores. . . . . E viveram felizes para sempre. . . . . . . . . . . . . . . . . . . . . . Uma rede com cinco computadores. . . . . . . . . . . . . . . . . . . . Todos os computadores, exceto quem envia, recebem os sinais eltricos. Uma coliso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Uma rede com repetidor. . . . . . . . . . . . . . . . . . . . . . . . . Uma rede com repetidor, com o velho problema do enlace ocupado. . Um computador conectado Internet. . . . . . . . . . . . . . . . . . Dois computadores conectador Internet, mas pagando por um! . . . Estou rico! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mquina a transmite para b. . . . . . . . . . . . . . . . . . . . . . . Redes modernas baseadas na arquitetura TCP/IP. . . . . . . . . . . Transmisso de um computador para outro. . . . . . . . . . . . . . . Encapsulamento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comunicao de camadas em mquina diferentes. . . . . . . . . . . . Estrutura do curso. . . . . . . . . . . . . . . . . . . . . . . . . . . . Enlaces LAN e WAN . . . . . . . . . . . . . . . . . . . . . . . . . . . Transmisso dos dados. . . . . . . . . . . . . . . . . . . . . . . . . . Pacote e quadro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . As mquinas s enxergam endereos fsicos na mesma rede local. . . . As mquinas enxergam endereos lgicos em redes diferentes. . . . . . Uma mquina a cliente, e a outra, o servidor. . . . . . . . . . . . . Uma mquina que cliente de vrios servios. . . . . . . . . . . . . . Uma mquina que servidor de vrios servios. . . . . . . . . . . . . Um servidor na rede local. . . . . . . . . . . . . . . . . . . . . . . . . Comunicao entre aplicaes atravs da arquitetura TCP/IP. . . . . Camada transporte em ao. . . . . . . . . . . . . . . . . . . . . . . Transporte convel. . . . . . . . . . . . . . . . . . . . . . . . . . . . Conexo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Uma mquina fala, todas escutam. . . . . . . . . . . . . . . . . . . . Comutao na poca da vov. . . . . . . . . . . . . . . . . . . . . . . Um comutador na rede local. . . . . . . . . . . . . . . . . . . . . . . Vrias mquinas falando ao mesmo tempo. . . . . . . . . . . . . . . . Duas LANs ligadas por um roteador. . . . . . . . . . . . . . . . . . . Demonstrao de endereamentos fsicos e lgicos. . . . . . . . . . . . Desenho do backbone de um campus. . . . . . . . . . . . . . . . . . . Rede local conectada internet. Ser? . . . . . . . . . . . . . . . . . Placa de rede da mquina emissora convertendo um quadro em bits. . Transmisso em bits usando sinais eltricos. . . . . . . . . . . . . . . Representao de cabo de par tranado retirado da Wikipedia. . . . . Fios teis usados no cabo de par tranado. . . . . . . . . . . . . . . . Transmisso entre dois computadores. . . . . . . . . . . . . . . . . . Transmisso entre uma mquina, um comutador e outra mquina. . . Conector RJ-45. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Alicate de crimpagem. . . . . . . . . . . . . . . . . . . . . . . . . . . Qual o tipo de cabeamento usado? . . . . . . . . . . . . . . . . . . . Qual o tipo de cabeamento usado? . . . . . . . . . . . . . . . . . . . Qual o tipo de cabeamento usado? . . . . . . . . . . . . . . . . . . . Como uma aplicao modica dados da camada rede. . . . . . . . . . LAN com servidor DHCP. . . . . . . . . . . . . . . . . . . . . . . . . Mquina cliente a requisitando dados. . . . . . . . . . . . . . . . . . Resquisio e resposta DHCP. . . . . . . . . . . . . . . . . . . . . . . Funcionamento do DNS. . . . . . . . . . . . . . . . . . . . . . . . . .

. . .. . . .. . . .. . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . ..

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16 16 17 17 18 19 20 20 21 21 22 23 23 24 25 25 28 29 30 31 31 32 32 33 33 34 35 36 37 39 40 41 41 42 44 45 47 52 53 53 54 54 55 57 57 60 60 60 62 63 64 65 68

11

12 Mquinas da LAN e portas do roteador. . . . . . . . . . . . . . . . . . . . . Mquina da LAN usando Gateway padro. . . . . . . . . . . . . . . . . . . . Demonstrao de como o Gateway padro relativo rede local. . . . . . . . Mquina a1 falando com c2. . . . . . . . . . . . . . . . . . . . . . . . . . . . a3 falando com b2: possvel? . . . . . . . . . . . . . . . . . . . . . . . . . . Representao abreviada das portas do roteador. . . . . . . . . . . . . . . . Roteador com 4 portas, com uma porta congurada para WAN. . . . . . . . Represetao de um roteador domstico. . . . . . . . . . . . . . . . . . . . . O que um roteador domstico , e o que no . . . . . . . . . . . . . . . . . . Representao de LAN e WAN. . . . . . . . . . . . . . . . . . . . . . . . . . LAN conectada internet atravs de um computador. . . . . . . . . . . . . . Vrias LANS interconectadas entre si e internet. . . . . . . . . . . . . . . . Roteador domstico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemplo de endereo IPv4. . . . . . . . . . . . . . . . . . . . . . . . . . . . Parte de rede e parte da mquina. . . . . . . . . . . . . . . . . . . . . . . . Mscara de rede 255.255.255.0. . . . . . . . . . . . . . . . . . . . . . . . . . Mscara de rede 255.0.0.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sada do comando ifcong no Linux. . . . . . . . . . . . . . . . . . . . . . . Enviando para uma mquina da mesma rede. . . . . . . . . . . . . . . . . . Enviando para uma mquina em uma rede diferente. . . . . . . . . . . . . . Pacote IP resumido (campos foram propositalmente ocultados). . . . . . . . Duas redes conectadas por um roteador. . . . . . . . . . . . . . . . . . . . . Registros Regionais de Internet (RIR - Regional Internet Registry) no mundo Atribuio hierrquica de IPs . . . . . . . . . . . . . . . . . . . . . . . . . . Classe A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Classe B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Classe C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Falha ao enviar para mquina em rede privada . . . . . . . . . . . . . . . . . Gateway padro usando endereo pblico na porta WAN. . . . . . . . . . . . Traduo de IP privado para IP pblico. . . . . . . . . . . . . . . . . . . . . Resumo da arquitetura TCP/IP. . . . . . . . . . . . . . . . . . . . . . . . . Requisio e resposta: as aplicaes usam portas para identicar-se. . . . . . Esquema NAT/PAT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sinal digital. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sinal analgico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modem: um conversor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Representao do chassi de um modem. . . . . . . . . . . . . . . . . . . . . Diviso de frequncia na linha ADSL. . . . . . . . . . . . . . . . . . . . . . Frequncias usadas para dados e voz em uma linha telefnica. . . . . . . . . Acesso internet atravs de modem. . . . . . . . . . . . . . . . . . . . . . . LAN conectada internet atravs de um roteador. . . . . . . . . . . . . . . . Roteador com modem ADSL acoplado. . . . . . . . . . . . . . . . . . . . . . Roteador domstico com modem. . . . . . . . . . . . . . . . . . . . . . . . . Protocolos de camada enlace usados na LAN e na conexo ADSL. . . . . . . Ambiente domstico ADSL. . . . . . . . . . . . . . . . . . . . . . . . . . . . Resposta do exerccio 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Resposta do exerccio 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Resposta do exerccio 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Topologia do quadrado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Topologia em anel: essa existe. . . . . . . . . . . . . . . . . . . . . . . . . . Topologia lgica em anel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Esquema da comunicao em Anel. . . . . . . . . . . . . . . . . . . . . . . . Topologia em barra. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Topologia fsica em estrela. . . . . . . . . . . . . . . . . . . . . . . . . . . . Topologias lgicas em barra e estrela, respectivamente. . . . . . . . . . . . . MAU: Media Access Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . Topologia hbrida anel-estrela. . . . . . . . . . . . . . . . . . . . . . . . . . .

Lista de figuras

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

71 72 73 74 75 76 77 78 79 80 81 82 83 91 92 93 94 95 98 99 100 101 115 116 117 118 118 120 122 122 123 124 125 134 134 135 135 137 138 138 139 140 141 141 142 151 151 152 156 156 157 157 158 158 159 160 160

Parte I Fundamentos

Captulo 1Conceitos de Redes de ComputadoresVamos direto ao ponto: redes so necessrias. Seno, este livro no teria sido feito e muita gente no estaria ganhando dinheiro com a prosso de redista. Alm disso, milhares de pessoas agora estariam morrendo porque no poderiam acessar o Orkut ou outras coisas que consideram importantes. A verdade que as pessoas usam, durante todo momento, redes de computadores - estando navegando na internet ou assistindo televiso - e nem se do conta do que acontece em oculto. A importncia da transmisso da informao subestimada: redes de computadores no cabeamento, como muitos pensam. No voc pegar um crimpador e comprar mil conectores RJ-45. Os problemas da humanidade no so resolvidos simplesmente ligando dois computadores com um cabo Ethernet. Redes de computadores um assunto importante, que envolve um profundo conhecimento de equipamentos, congurao dos mesmos, monitoramento da rede, manuteno, planejamento, escalabilidade... no nessa ordem, lgico. Redes de computadores inclui, sim, cabeamento, mas inclui tambm congurao, conhecimento de sistemas operacionais e capacidade de desenhar, projetar redes que no caiam a cada espirro de usurio. Este captulo tem por objetivo explicar o que so redes de computadores. No uma explicao enciclopdica que far voc sair por a todo poderoso virando caminhes com o poder de um olhar, mas uma explicao bsica, fundamental, leve e verde (gosto de verde), que far voc compreender a coisa. Depois voc poder virar caminhes com o poder de um olhar.

1.1. O mundo depende das redesIsso mesmo. O mundo depende das redes de computadores. No se deixe intimidar por desenvolvedores de software (isto , programadores... eles no gostam muito de serem chamados programadores, mas vamos cham-los assim, pois divertido v-los com raiva). Deixando as brincadeiras de lado, todo prossional da informao importante, at os programadores (ham, ham). A informao precisa ser gerada, armazenada, manipulada e transportada. Se a mesma for gerada mas no for armazenada, de nada vai adiantar. O mesmo acontecer se for armazenada, mas no puder ser lida, e assim por diante. O transporte da informao cabe ao prossional de redes de computadores, ao redista, como iremos carinhosamente cham-lo neste estudo. Os clientes do redista englobam todo tipo de pessoa. O usurio domstico que quer ver ver notcias no computador, o adolescente que, curioso com a anatomia do corpo humano, estuda com muito esforo e anco imagens e at mesmo vdeos - para os mais dedicados - esclarecedores... as redes de televiso disponibilizam seus programas na internet, e as empresas esto adotando soluo de telefonia sobre IP, um tipo de telefonia que usa a arquitetura das redes de computadores.

1.2. O que uma rede de computador?Se voc tem dois computadores isolados num mesmo ambiente, estes funcionam, mas no conversam. No batem papo. Talvez tivessem muitas coisas para combinar, mas como nunca se conheceram, no podero ser amigos. No temos uma rede ainda, pois os computadores no trocam informaes. 15

16

Conceitos de Redes de Computadores

a

b

Figura 1.1. Uma cena muito triste. No temos uma rede de computadores.

Algum poderia dizer: eles podem sim trocar informaes. Basta uma pessoa plugar um pendrive no computador a, copiar dados, plugar o pendrive no... ah, voc entendeu. Isso no muito inteligente. o mesmo que um casal de namorados estar brigado e pedir para que uma terceira pessoa d recados um ao outro por eles. Vemos deixar a cena melhor:

a

b

Figura 1.2. E viveram felizes para sempre.

Fim. Isso uma rede de computadores, certo? Terminamos o curso. V para casa e ganhe muito dinheiro construindo redes. Uma vez que terminamos o curso mas no este livro, vou contar a histria dos trs porquinhos e o lobo mal. Era uma vez... No, no terminou. O computador a est ligado a b, mas isso no signica que eles podem trocar informaes. Talvez eles falem linguagens diferentes (ou protocolos diferentes; a mesma coisa). Ningum tem certeza de que a informao passar pelo cabo. Temos a, uma rede em sentido fsico, visto que as duas mquinas esto conectadas; o comeo de uma rede de computadores. Entretanto, no tudo. Para que esses computadores possam marcar alguma coisa no prximo m de semana, preciso, no mnimo: 1. Que a e b possam ser acessados. Ou seja, eles precisam ter equipamentos que possibilitem a comunicao em rede; esses equipamentos chamam-se placas de redes. Um computador pode ter uma ou vrias delas. Alm disso, as placas de rede precisam ter algum nome ou endereo, para que possam ser chamadas. 2. As placas de rede precisam falar a mesma linguagem, ou protocolo. 3. As placas de rede devem conseguir acessar o cabo (termo tcnico: enlace) de forma que as duas consigam conversar sem embolaes. As trs regras so importantes, mas no so as nicas. Vamos estud-las um pouco mais a fundo, para que voc tenha uma idia mais especca do que seja essa coisa toda de transporte de informaes.

1.3. EndereamentoPara que os computadores numa mesma rede possam ser acessados, necessria uma identicao. No caso dos seres humanos, atendemos quando algum chama nosso nome, ou apelido. No atendemos quando chamam pelo nosso RG. Ou sim. Bom, no caso dos computadores, essa identicao algo que est contido na placa de rede (existe muita verdade por traz disso). Um computador pode ser identicado pelo endereo na placa de rede. Cada placa de rede tem um.

1.3 Endereamento

17

Considere a gura abaixo:

a

b

c

d

e

Figura 1.3. Uma rede com cinco computadores.

No desenho, cada computador est nomeado como a, b, c etc. Assuma que esses sejam os endereos das placas de rede dos respectivos computadores. Assim, possvel haver comunicao se, e somente se, os computadores souberem com quem falar. O computador cuja placa de rede tem endereo a pode enviar dados para o computador cujo endereo da placa de rede e. a tambm pode desejar falar com todos. Todavia, a no pode falar com f, pois este no existe, ou est inacessvel. Observe que a rede mostrada no desenho composta de cinco computadores conectados a um nico meio fsico (enlace). Agora, pense comigo: os computadores, quando querem falar algo, enviam sinais eltricos. O enlace no qual esto conectados prprio para transportar tais sinais eltricos. Os sinais eltricos so codicados de forma que, quando recebidos pelo computador destinatrio, este decodica o sinal para interpret-lo. Se acontecer alguma coisa no enlace que altere o sinal eltrico, signica que quando a mquiana destinatria receber o sinal, vai interpret-lo de forma errada. Por isso, no devem acontecer interferncias. Agora, pense um momento sobre um fato interessante: se as mquinas que falam colocam sinais eltricos no enlace, bom... todo o enlace ser eletricado. Se a deseja falar com e, no vai acontecer a mgica de s o caminho de a para e ser eletricado: todo o enlace ser. E a lgica diz que todos os outros computadores recebero os sinais eltricos. Observe a gura abaixo para perceber do que estou falando.

a

b

c

d

e

Figura 1.4. Todos os computadores, exceto quem envia, recebem os sinais eltricos.

Desagradvel, no? Eis a outro motivo para a existncia do endereamento: somente a mquina destinatria correta saber que os sinais eltricos so para ela. Como assim?, voc pergunta.

18

Conceitos de Redes de Computadores

O computador a fala. Ele quer enviar uma informao para e. Assim, na sua fala, est contido o endereo do destinatrio. a, ento, eletrica a rede, e todas as outras mquinas exceto ela prpria recebem o sinal. Quando cada computador (ou melhor, cada placa de rede) recebe o sinal, interpreta-o, e v se ele o destinatrio dos sinais eltricos. Se for, aceita; caso contrrio, nega. Simples. As placas de rede so programadas para obedecerem a essa regra1.1: recebam apenas os sinais eltricos que so destinados a vocs. Em suma: um envia, todos recebem e interpretam os sinais eltricos, mas s o destinatrio trabalha os sinais. lgico que podem haver mais de um destinatrio, uma vez que a pode desejar falar com todos.

1.4. ProtocoloNo vamos gastar 4.000 pginas explicando o que so protocolos, uma vez que voc j sabe que o mesmo que linguagem. Entretanto, poderamos gastar 4.000 pginas apresentando centenas, talvez milhares de protocolos existentes para comunicao em redes de computadores, sendo que voc nunca na vida usaria todos eles, e essa discusso seria intil. Definio 1.1. Protocolo. Protocolo uma linguagem e tambm um conjunto de boas maneiras que dene como os computadores devem falar, e tambm, ouvir. Educao primordial em redes de computadores, como car claro neste exemplo: suponha que, em nossa rede de cinco computadores, dois deles queiram falar ao mesmo tempo. Claro, os computadores no so to grosseiros assim, e querem falar com colegas diferentes: a quer falar com e e c quer falar com d. Observe o que acontece:a b c

d

e

Figura 1.5. Uma coliso.

Cabum! Uma coliso. Uma exploso de se ouvir no outro quarteiro... prdio em chamas, computadores em curto circuito e bombeiros desesperadamente tentando salvar o pobre cachorrinho na janela. Est bem, no chega a tanto, mas no uma coisa muito agradvel ver toda a rede sem conexo toda hora que isso acontece. Mesmo que o estrago seja mnimo (o estrago real apenas as mquinas no conseguirem se comunicar por alguns milisegundos), no queremos que isso que acontecendo o tempo todo! Esse problema causado simplesmente porque todo o enlace eletricado quando alguma mquina fala. Assim, se duas mquinas falam ao mesmo tempo o enlace duplamente eletricado, e os sinais eltricos, claro, so totalmente alterados e se tornam ilegveis para a mquina destinatria. Agora, imagine uma rede com 200 computadores! Quantas colises, ein?1.1. Sim, toda regra tem exceo.

1.5 Pra que tantos cabos?

19

Entra no enredo o protocolo, destemido e desbravador heri de culos escuros que vem dar m aos problemas da comunicao. Vimos que alm de ser uma linguagem (duas mquinas podem conversar se usam o mesmo protocolo), tambm um conjunto de regras que denam a boa educao na rede. Um protocolo poderia denir, por exemplo, as seguintes regras para comunicao: 1. A mquina que quer falar deve primeiro escutar o enlace, para ver se algum j est falando por meio dele. 2. Se o enlace estiver ocupado, ento espera mais um pouco e escuta novamente mais tarde. 3. Se o enlace estiver desocupado, ento comea a falar nele. 4. Se for percebido que houve uma coliso, ento a mquina pra de falar, espera um pouco e escuta a rede. Ou seja, volta ao ponto 1. um exemplo de protocolo. Comearei a falar de protocolos especcos mais tarde neste curso. Por enquanto, este exemplo deixa claro o que um protocolo: uma linguagem e um conjunto de regras para comunicao em redes de computadores. No existe s um, mas muitos protocolos, cada um com suas prprias regras, gostos gastronmicos e modos de se vestir.

1.5. Pra que tantos cabos?Conforme as redes foram crescendo, achou-se difcil fazer manuteno na mesma, devido a quantidade de cabos espalhados por a. Pessoas tropeando, muito dinheiro gasto na substituio dos mesmos... uma caca. Ento inventaram o repetidor, ou hub1.2 : um equipamento que funciona como um cabo na qual outros cabos so conectados.b a c

repetidor

d

e

Figura 1.6. Uma rede com repetidor.

A invenso do repetidor foi uma introduo s redes locais modernas. Hoje temos equipamentos de rede muito mais sosticados, como veremos ao longo deste estudo. O repetidor resolveu o problema dos milhares de metros de cabos, mas apenas isso foi resolvido; o velho problema da coliso continua: quando uma mquina fala, todo o meio (o repetidor e os outros cabos) cam ocupados; ainda necessrio um protocolo para regular a comunicao em redes que usam repetidor.1.2. Ou, ainda, concentrador. Mas concentrador uma palavra muito genrica... um comutador no seria, tambm, um concentrador?

20

Conceitos de Redes de Computadores

b a c

repetidor

d

e

Figura 1.7. Uma rede com repetidor, com o velho problema do enlace ocupado.

Voc deve estar se perguntando: ser que h uma maneira de uma mquina que fala ocupar apenas os enlaces especcos com quem quer falar?. Ou seja, ser que existe a possibilidade de que, se a quer falar com e, somente o enlace que liga a ao equipamento central, e o enlace que liga o equipamento central a e, quem ocupados? A resposta : sim. Hoje, redes so assim; j no usam um nico cabo ou um repetidor para fazer a comunicao. Isso coisa do passado, brega, coroa. Ainda existem masoquistas que gostam da velha maneira, mas hoje em dia, as redes locais usam comutadores. Estudaremos sobre comutadores em breve; segure sua curiosidade por um momento. Ainda nos resta falar um pouco sobre a internet, a grande rede.

1.6. Conectando-se InternetA internet uma rede, mas diferente das redes que vimos neste captulo. At agora, vimos redes mais simples, em que todos os computadores tm em comum o mesmo enlace, seja este enlace um cabo nico, ou um repetidor. Este tipo de rede chama-se rede local, ou LAN (de Local Area Network), e uma parte de nosso estudo concentra-se nelas. A internet, contudo, um tipo de rede mais complexa, tanto pela abrangncia geogrca (ela no ocupa apenas uma sala, um escritrio ou uma empresa; ocupa o mundo todo), quando pela diversidade de tecnologias e protocolos. Enquanto uma rede local possui um nico protocolo que dita o funcionamento das mquinas, a internet conecta diversas redes de protocolos diferentes, e a prpria internet possui estruturas diversas. A internet uma rede de longa distncia, uma WAN (Wide Area Network), a maior das WANs. At agora, tudo que sabemos sobre internet neste curso que seu computador se liga a ela por meio de um cabo, que sai da sua casa em direo prxima central telefnica ou outro tipo de provedor de acesso. A arquitetura da internet uma nuvem nebulosa, um desconhecido.

a elace de acesso

Internet

Figura 1.8. Um computador conectado Internet.

Dissemos que a internet interliga vrias redes. Sim, isso mesmo, redes, e no, mquinas. Com o conhecimento que voc tem at agora, pode comear a ter idias mirabolantes... hum... que tal uma coisa assim:

1.6 Conectando-se Internet

21

computador de acesso b a elace de acesso Internet

Figura 1.9. Dois computadores conectador Internet, mas pagando por um!

Na gura, temos um computador (o computador a) conectado diretamente internet, e um segundo computador conectado ao computador a. Isso possvel, e voc no precisa pagar duas conexes para as operadoras de telefonia. Basta o computador a ter duas placas de rede. A internet como temperatura, e os computadores ligados a ela so como timos condutores: a nuvem da gura est quente, e o computador a est frio enquanto estiver desconectado da nuvem. Assim que estiver conectado, passa a car quente, ou seja, com internet. E o computador b tambm car quente ao ser conectado ao computador a. contagioso! A voc pode comear a pensar alto: hum... e se eu tiver, em vez de um computador, uma rede completa ligada ao computador de acesso? Posso at ser um provedor de acesso! Muito bem, desbravador, este o caminho!

c

b

repetidor

computador de acesso a enlace de acesso Internet

d

e

Figura 1.10. Estou rico!

Na gura, temos uma rede completa conectada internet. Neste exemplo, o computador a prov acesso internet para toda a rede. Os outros computadores so interligados ao repetidor. No porque a internet uma nuvem nebulosa que no podemos explor-la, no acha? Mas faremos muito mais neste curso do que explor-la. Ns compreenderemos seu funcionamento, desenvolveremos projetos, acharemos solues... e o mesmo dizemos sobre as redes locais, sobre as quais voc tem muito mais controle, pois os equipamentos e a infraestrutura pertencem a voc.

22

Conceitos de Redes de Computadores

1.7. Arquitetura de redeArquitetura coletivo de protocolo. Um conjunto de protocolos forma uma arquitetura. A arquitetura mais usada atualmente a TCP/IP: na internet, em muitssimas redes locais... o nome deve-se a dois importantes protocolos desta arquitetura: o TCP e o IP. Claro, existem outras arquiteturas, mas vamos estudar TCP/IP neste curso, visto que a usamos no dia-a-dia. Podemos dividir as redes de computadores em camadas. Neste captulo voc teve uma viso geral da camada mais baixa da rede, que so os enlaces fsicos (cabos e o repetidor), e dissemos um pouco tambm sobre as regras da camada que est imediatamente sobre esta, que a camada enlace. Voc sabe: pelos enlaces transitam sinais eltricos. Todavia, voc deve concordar tambm que os computadores possuem muito mais do que sinais eltricos: eles possuem informaes. Os sinais eltricos so apenas informaes convertidas para um formato que pode ser transmitido. As informaes propriamente ditas so manipuladas por outros protocolos, diferentes daqueles protocolos que manipulam sinais eltricos. No entendeu? Observe bem: o enlace fsico, propriamente dito, no possui nenhum protocolo... ele apenas existe para transportar sinais eltricos. Existem, contudo, protocolos nas mquinas que dizem a elas como transmitir, como falar e como ouvir sinais eltricos. A inteligncia no est no enlace, mas nas mquinas; estes protocolos so necessrios para que seja possvel a comunicao atravs do enlace fsico. Assim, temos protocolos que operam sobre o enlace, mas no nele; operam em uma camada acima. Em redes, a camada mais baixa a camada fsica: nela se encontram os enlaces fsicos e equipamentos que fazem parte dela, como repetidores. A camada imediatamente acima da camada fsica, a camada enlace. Sim, isso mesmo, voc pode achar um pouco estranho esse nome, uma vez que os enlaces esto na camada fsica; mas isso mesmo: a camada fsica contm os enlaces, e a camada enlace contm os protocolos de acesso aos enlaces. Mas a camada enlace apenas dita as regras para que a comunicao seja possvel. A camada enlace tem o objetivo de pegar os dados da mquina que quer transmitir, e falar esses dados no enlace fsico, obedecendo as regras do protocolo de camada enlace, que dita como a mquina deve falar no enlace fsico. Na outra ponta da rede, a mquina destinatria tambm usar o protocolo de camada enlace para saber como deve ouvir a informao que vem pelo enlace fsico. Assim que tiver recebido a informao, a camada enlace da mquina destinatria traduz os sinais eltricos e passa a informao para que a mquina trabalhe com ela. A camada enlace, portanto, existe em todas as mquinas de uma rede; bem como todos os protocolos desta camada. Observe o que foi dito, na gura abaixo:Dados a serem transmitidos a camada enlace traduz para sinais eltricos, v se pode falar, fala... b camada enlace escuta o enlace, l os sinais eltricos, traduz! Os dados chegaram

transmisso pelo enlace fsico

Figura 1.11. Mquina a transmite para b.

Em suma: 1. A mquina a tem dados a transmitir. Esses dados podem ser, por exemplo, um email digitado pelo usurio em um programa prprio.

1.8 Comunicao entre camadas

23

2. O programa de email no possui acesso placa de rede, e muito menos sabe traduzir o email para sinais eltricos. Sendo assim, o programa de email manda os dados para a camada enlace do computador, e ca despreocupado. 3. A camada enlace de a trata de trabalhar com os dados recebidos pelo programa de email. Ela vai, basicamente, traduzir os dados para sinais eltricos e enviar pelo enlace fsico. 4. Os dados vo transitar pelo enlace fsico at a mquina b. 5. A camada enlace da mquina b, ao receber os sinais eltricos, vericar se a destinatria a mquina b. Se for, ento processar os sinais eltricos, transformandoos novamente em informao lgica. 6. Finalmente, a camada enlace da mquina b passar os dados para o programa de emails prprio. Claro, o passo-a-passo acima est muito simplista. Muito mais coisa acontece alm disso. Mas percebemos, ao menos, a existncia de trs camadas nesta rede: a camada fsica, a camada enlace, e a camada... bom, no demos um nome ainda, mas voc sabe que a camada que ca imediatamente acima da camada enlace, em cada mquina. Agora, o tiro de misericrdia: voc compreendeu basicamente como funciona a comunicao entre dois computadores, mas nossas redes modernas baseadas em TCP/IP no possuem apenas trs camadas. Elas possuem cinco! Veja gura abaixo:Aplicao Transporte Rede Enlace Fsica

Figura 1.12. Redes modernas baseadas na arquitetura TCP/IP.

J falamos sobre a camada fsica, e a camada enlace. A parte dos dados compreendem as outras trs camadas, cada uma delas com seus prprios protocolos e funes.

1.8. Comunicao entre camadasDois computadores comunicam-se atravs do enlace fsico; porm (e voc compreendeu isso), a mquina que fala envia os dados das camadas superiores para a camada enlace, que por sua vez traduz em sinais eltricos para a camada fsica; e a mquina que escuta l os dados eltricos da camada fsica, usa a camada enlace para traduzir os sinais eltricos em dados, e repassa para as camadas superiores. A gura abaixo deixa isso mais evidente:Aplicao Transporte a Rede Enlace Fsica fala, traduz b dados Aplicao Transporte Rede Enlace Fsica escuta, traduz dados recebidos

transmisso dos dados pelo enlace fsico

Figura 1.13. Transmisso de um computador para outro.

24

Conceitos de Redes de Computadores

A camada aplicao contm os dados a serem enviados; voc, na mquina a, digita um email em um programa de email, por exemplo, direcionado para a mquina b. Quando voc clica em enviar, o programa de email passa os dados para a camada transporte, que por sua vez, passa os dados para a camada rede, que passa para a camada enlace. A camada enlace usa de suas regras para ver se d para transmirir no meio fsico; ela, ento, fala os dados no enlace fsico, traduzindo-os em sinais eltricos. Quando a informao chega pelo enlace fsico mquina b, a camada enlace desta, aps escutar os sinais eltricos, traduz estes sinais e passa a informao para a camada rede, que passa para a camada transporte, que nalmente passa para a aplicao de email desta mquina. Voc deve estar se perguntando para que tantas camadas; analisaremos em breve, neste curso. Para o momento, basta saber a ordem das coisas: a mquina remetente desce com os dados atravs das camadas; a destinatria, sobe com os dados. Alm do que foi dito at agora, cada camada manipula os dados sua maneira, adicionando ou retirando informaes. Na mquina que fala, cada vez que os dados vo descendo, as camadas adicionam informaes a eles; na mquina destinatria, cada vez que os dados vo subindo, as camadas vo tirando informaes deles. Mas no se preocupe: a informao da aplicao no alterada. A camada transporte da mquina destinatria vai retirar somente a informao que a mesma camada na mquina que fala colocou. Este processo chamamos de encapsulamento.aplicao dados aplicao dados

a

transporte

b

transporte

rede

dados

rede

dados

enlace

dados

enlace sinais eltricos

dados

fsica

Figura 1.14. Encapsulamento.

Acontece que o que cada camada faz com os dados que recebe parecido com o ato de empacotar ou desempacotar alguma coisa. Imagine uma brincadeira infantil em que as crianas pem uma carta dentro de um envelope, e este envelope dentro de outro envelope... o que acontece nas redes de computadores. E isso, com um objetivo, que voc entender ao longo deste curso. A camada aplicao da mquina a envia os dados para a camada imediatamente inferior, que a camada transporte. Esta camada recebe os dados, e adiciona mais dados aos dados existentes, sem alter-los. como se uma carta fosse envelopada. A camada transporte, ento, envia tudo isso (os dados originais mais os dados que ela mesma colocou) camada rede. Do ponto de vista da camada rede, os dados so tudo aquilo que ela recebeu da camada transporte. A camada rede no sabe diferenciar entre dados da camada aplicao e dados da camada transporte: o todo so os dados. Assim, esta camada tambm adiciona informaes suas aos dados recebidos, envelopando o envelope mais uma vez, e passando para a camada enlace. Como voc pode ver, na mquina que envia dados, conforme a informao vai descendo pelas camadas, seu tamanho vai aumentando. Quando os sinais eltricos chegam camada enlace da mquina b, esta camada traduz os dados, e retira os dados que a camada enlace da mquina a colocou. Aps, sobe com os dados. A camada rede de b tambm retira os dados que a camada rede de a colocou, e sobe o pacote; isto continua at que os dados originais chegem camada aplicao da mquina

1.9 Organizao deste livro

25

b. Temos, assim, que as camadas das duas mquinas conversam entre si: a camada enlace das duas mquinas se entendem, conversam, pois uma coloca informao que a camada da outra mquina l; a camada transporte da mquina a pode anexar uma piada, por exemplo, nos dados, para que quando a camada transporte da mquina b receber, leia e ria muito. A camada transporte da mquina a sabe que os dados adicionados por ela no sero lidos pelas camadas enlace ou rede da mquina b; por isso, pode adicionar coisas como rede levou um tapa da namorada ou a camada enlace usa prtese. As camadas se entendem, se relacionam, se amam e marcam encontros sem que os outros se intrometam nas suas vidas. Bom para elas."sabe, camada dados de b, soube que as camadas rede e enlace no gostam de trabalhar..."

aplicao dados "camada redes de b, voc sabe porque a galinha atravessou a rua?" dados

transporte

rede

dados

dados

enlace

dados

dados

"ei, camada enlace da mquina b, ser que podemos sair hoje?"

Figura 1.15. Comunicao de camadas em mquina diferentes.

1.9. Organizao deste livroEste livro organizado de forma que voc estude primeiro as camadas inferiores, e depois as camadas superiores das redes baseadas em TCP/IP. Este captulos deu a voc um entendimento bsico do que uam rede de computador. Agora podemos comear a nos aprofundar em nossos estudos. No prximo captulo, estudaremos sobre as duas camadas superiores, aplicao e transporte, visto que no mbito deste curso, no so to relevantes quanto as camadas rede e enlace. Depois, iniciaremos a parte que fala sobre comutao, que uma funo da camada enlace, e em seguida, perto do m do curso, estudaremos sobre roteamento, uma funo da camada rede. A gura abaixo mostra a ordem que se der esse curso:Comeo Aplicao

Transporte

Rede

Enlace

Fsica

Figura 1.16. Estrutura do curso.

26

Conceitos de Redes de Computadores

A camada fsica est fora do contexto deste curso, entretanto no a esqueceremos totalmente. Uma vez ou outra, faremos meno a ela para que no sinta-se triste. O mdico disse que no podemos contrari-la.

1.10. ExercciosExerccio 1.1. Dena, com suas palavras, o que uma rede de computadores. Exerccio 1.2. E o que um protocolo? Qual a utilidade do mesmo? Exerccio 1.3. Verdadeiro ou falso: a) Em uma rede local, o endereamento fsico um dos requisitos necessrios para que haja comunicao entre as mquinas. b) Quando uma mquina fala, somente a mquina destinatria recebe os sinais eltricos. c) Em uma rede com meio fsico compartilhado, necessrio um protocolo para regular a educao das mquinas. d) A camada enlace da mquina destinatria recebe os sinais eltricos do enlace fsico, e verica se o destino fsico o correto. Exerccio 1.4. O que uma coliso? Quando ela ocorre? Exerccio 1.5. Diferencie LAN de WAN. Exerccio 1.6. Verdadeiro ou falso: a) No possvel conectar uma rede inteira internet usando-se um nico computador; necessrio um enlace com acesso internet para cada mquina. b) Hoje em dia, muitas redes modernas usam a arquitetura TCP/IP. c) Podemos dividir redes baseadas em TCP/IP em trs camadas: cama fsica, camada de rede e camada do usurio. d) Na camada enlace encontra-se o protocolo que dita as regras de comunicao das mquinas na rede local. Exerccio 1.7. Como ocorre a transmisso dos dados pelas cinco camadas, entre duas mquinas? Exerccio 1.8. De que forma duas camadas de mquinas diferentes trocam informaes?

Captulo 2Funcionamento Bsico de Redes TCP/IP

Este captulo tem o objetivo de deixar mais claro na sua mente o conceito da arquitetura de redes em camadas. Alm disso, na segunda parte deste captulo, discutiremos sobre as duas camadas superiores das redes baseadas em TCP/IP: a camada aplicao e a camada transporte. Voc ver que computadores possuem tanto um enedero fsico, quanto um endereo lgico: duas camadas (a camada enlace e a camada rede) so responsveis pelo endereamento. Voc tambm entender o porqu da necessidade de dois endereos.

2.1. RevisoPodemos divir as redes em dois tipos: redes locais, ou LANs, e redes de longa distncia, ou WANs. A internet a maior das WANs, e interconecta milhares de redes. Em redes locais, necessrio que as mquinas possuam endereos exclusivos, para que possam conversar na rede. Tambm em redes locais, necessrio o uso de um protocolo para possibilitar a comunicao das mquinas, e ditar as regras de boa educao. At agora, voc viu redes locais construdas usando-se um nico enlace, que compartilhado por todas as mquinas. Este enlace pode ser um cabo, ou um repetidor. Quando qualquer das mquinas da rede fala, o enlace inteiro eletricado, e todas as mquinas escutam. Porm, somente a mquina destinatria captura os sinais eltricos, transformando-o em dados e enviando para cima. A mquina que envia os dados, desce com os mesmos pelas cinco camadas. A mquina que recebe os dados, sobe com os mesmos pelas cinco camadas. Quando cada camada recebe um dado na mquina que envia a informao, ela adiciona informaes aos dados que recebe. Essa informao adicionada ser lida, e retirada, pela camada equivalente na mquina que receber os dados. Assim, camadas de mquinas diferentes podem conversar durante a transmisso. Uma mquina pode ser conectada internet por meio de um enlace; mas no somente uma mquina. Pode-se ter uma rede inteira ligada internet. Voc viu que uma mquina com conexo pode compartilhare sta conexo; tempos, assim, vrias mquinas compartilhando um nico enlace de conexo internet. Como a internet uma rede de longa distncia (WAN), podemos chamar este enlace que liga a rede local internet, de enlace WAN. Da mesma forma, os enlaces que ligam as mquinas nas redes locais podem receber a denominao de enlaces LAN. s uma questo de nomenclatura, voc no vai morrer se no gravar isso. Mas convenhamos que melhor falar enlace WAN do que enlace que liga sua interessante e explndida mquina com processador legal e muita memria rede de longa distncia onde trafegam informaes relevantes para a manuteno don planeta 27

28

Funcionamento Bsico de Redes TCP/IP

terra.2.1

a enlace LAN

c enlace WAN

internet

b

Figura 2.1. Enlaces LAN e WAN

2.2. Duplo endereamentoVamos comear essa seo psiquitrica frustrando voc. Voc foi enganado, mentimos para voc. Uma mquina no possui apenas um endereo de rede: ela possui dois. Voc pode pensar: sim, bvio, pois uma nica mquina pode ter duas placas de rede.... Mas no isso que estou falando. O que estou dizendo que, uma mquina na rede precisa ter obrigatoriamente dois endereos: um endereo fsico, e um endereo lgico. Com respeito ao endereo fsico, voc j tem uma noo. um endereo que atua na camada enlace (lembra-se? quando uma mquina recebe sinais eltricos, ela verica se o endereo destinatrio ela prpria; isso feito pela camada enlace, e, portanto, a camada enlace cuida do endereamento fsico). Porm, temos tambm um endereo que atua na camada imediatamente superior camada enlace: o endereo lgico, na camada rede. Isso signica que a mquina ir vericar no uma vez, mas sim, duas vezes, para ter certeza de que aquela informao para ela. Isso redundante, voc pensa. Realmente , mas tem um objetivo que vamos deixar claro daqui a pouco. Entretanto, vamos resumir o que acontece quando uma mquina recebe dados: 1. Os sinais eltricos chegam na placa de rede. A camada enlace entra em ao! 2. A camada enlace verica se a mquina destinatria dos dados. Se for, envia os dados para a camada rede. 3. A camada rede, que no est na placa de rede, e sim no sistema operacional do computador, verica se a mquina destinatria dos dados. Desta vez, em vez de vericar o endero fsico, verica o endereo lgico de destino da informao. Se a mquina for realmente a destinatria, ento, passa os dados para a camada transporte.2.1. Na verdade, um enlace WAN representado por uma linha em forma de raio; mas, para facilitar nossa discusso, vamos usar a linha simples por enquanto. E, em nosso exemplo, enlace WAN representa meramente o cabo que liga o computador internet.

2.3 Pacotes e quadros

29

Duas vericaes: uma feita no mbito da camada enlace, e outra, no da camada fsica. Voc est entendendo que quando a mquina que envia a informao fala, a camada de rede desta mquina escreve o endereo da camada de rede da mquina destinatria, e a camada enlace escreve o endereo que a camada enlace da mquina destinatria ler. Observe a gura abaixo para mais esclarecimentos:

a

1 2

rede enlace

b

4 3

rede enlace

camada fisica

Figura 2.2. Transmisso dos dados.

Na gura acima, os nmeros indicam a seqencia das coisas: 1. O endereo lgico (endereo de camada rede) de destino adicionado pela camada rede da mquina a. 2. O endereo fsico (endereo de camada enlace) de destino adicionado pela camada enlace da mquina a. 3. A camada enlace da mquina b l o endereo fsico (endereo de camada enlace) da informao que chega. Se o endereo for o desta mquina, ento, retira os dados de camada enlace (portanto, sobram os dados da camada rede) e passa os dados para cima. 4. A camada rede, por sua vez, l o endereo lgico. Se o endereo for o desta mquina, ento, tudo bem, passa a informao para cima.Exerccio 2.1. Por essa lgica, existe a possibilidade de a camada enlace da mquina b aceitar a informao, e a camada rede negar? Por qu voc acha isso?

2.3. Pacotes e quadrosAt agora, estamos usando o termo informao para descrever os dados que chegam camada enlace, e sinais eltricos para descrever os dados que trafegam pelo meio fsico. Os termos tcnicos, porm, passaro a ser usados: pacotes e dados. Definio 2.1. Pacote. Chamamos de pacote os dados manipulados pela camada de rede. Lembre-se que tais pacotes contm, alm de dados da aplicao, dados adicionados pela camada rede.

30

Funcionamento Bsico de Redes TCP/IP

Definio 2.2. Quadro. Um quadro um pacote mais as informaes adicionadas pela camada enlace. Um quadro maior que um pacote, portanto. o quadro que trafega pelos enlaces fsicos da rede.Camada rede: pacote

Pacote enviado para camada enlace

Camada enlace: quadro.

Quadro enviado pelo enlace fisico

Figura 2.3. Pacote e quadro.

2.4. A necessidade do endereo lgicoO endereamento de camada rede (endereamento lgico) necessrio. No momento, parece que algo totalmente contra o crebro humano, e coisa de masoquista, mas voc compreender sua necessidade (embora seja algo totalmente contra o crebro humano, e coisa de masoquista). Em primeiro lugar, voc j pensou se toda a internet recebesse todos os quadros que uma mquina enviasse para outra? Voc sabe que em uma rede local (LAN) com enlace compartilhado (cabo nico ou repetidor, por exemplo), quando uma mquina a envia dados para uma mquina b, todo o enlace e eletricado, e todas as mquinas recebem o quadro. Agora, imagine se isso fosse verdade para a internet: quando cada mquina do mundo falasse alguma coisa, todas as outras mquinas escutariam isso. Ouvido de tuberculoso. Muito desagradvel voc se deparar com uma almofada em forma de brao feminino (que provavelmente algum cara muito carente comprou) enquanto estiver lendo sobre cirurgias que deram errado na internet. Ainda bem que a internet no assim. A internet uma rede que interconecta muitas outras redes; no uma coisa nica, uma rede local gigantesca. Por isso, e preste bastante ateno pois seu pncreas precisa disso para viver, mquinas na rede local s enxergam endereos fsicos da rede local. Pegou? Definio 2.3. Escopo do endereamento de camada enlace. Mquinas numa rede local s conseguem enxergar endereos de camada enlace de mquinas que estejam na mesma rede local. Isso mesmo. como numa sala de aula, em que o professor irritado chama o responsvel pelo alnete na sua cadeira: Rachmaninov!. No caso, o professor se refere ao Rachmaninov que est na sala naquele momento, e no a algum outro no mundo. Abaixo, uma gura pra voc car feliz (a mquina a quer falar com a mquina f).

2.4 A necessidade do endereo lgico

31

a

No existe f nesta rede!

e

internet c d

b

f

Figura 2.4. As mquinas s enxergam endereos fsicos na mesma rede local.

Nesta gura, voc com sua viso semidivina de amplo espectro consegue ver seis mquinas. Entretanto, do ponto de vista da mquina a, s existem mais dois endereos fsicos alm do prprio: b e c. O que acontecer se a mquina a tentar enviar um quadro para o endereo f? Voc acha que o quadro atravessar a internet, alegre e pimpolho, direto para o endereo fsico f? No, no assim! Primeiro, porque somente o enlace da rede local ser eletricado, e no o enlace WAN. Segundo, porque f no pode ser localizado na rede local: est fora dela. E agora, Jos? Observe a gura abaixo:

Alex

a

Quero falar com Oscar!

e Avalci

internet c Paola d Andromeda

b

Rafael

f

Oscar

Figura 2.5. As mquinas enxergam endereos lgicos em redes diferentes.

Na gura acima, cada mquina tem dois endereos: um fsico (da camada enlace), e um lgico (da camada rede). A mquina cujo endereo de camada enlace a, tem tambm um endereo de cadama rede Alex; j a mquina com quem se quer falar, tem endereo de camada enlace f, e de camada rede Oscar. Embora a camada enlace de mquina que est falando no possa localizar o endereo fsico f, a camada rede da mquina que fala (Alex) consegue lozalizar o endereo lgico da mquina destinatria. E o endereo lgico, neste exemplo, Oscar; mas a verdade que, em redes modernas baseadas em TCP/IP, endereos lgicos so nmeros. No entraremos nesse mrito agora. O importante compreender a diferena de um endereo para o outro. Endereo fsico Endereo lgico Em que camada se localiza? Camada enlace Camada rede Qual a visibilidade? visvel apenas na LAN Pode ser visvel em WANsTabela 2.1. Comparao entre endereo fsico e endereo lgico.

32

Funcionamento Bsico de Redes TCP/IP

Observe que dissemos que pode ser visvel em WANs. Isso porque, embora o endereo lgico possa ser pblico, o gerente de rede pode no permitir que isso seja assim. Endereo fsico aquele que uma mquina na rede local usa para falar com outra mquina na rede local. Endereo lgico aquele que seu navegador web favorito usa para acessar um site interessante, pois seu navegador web precisa enxergar mais do que apenas mquinas locais: servidores web esto espalhados pelo mundo todo.

2.5. Arquitetura cliente-servidorTodo mundo cliente de algum. Pode parecer uma frase polmica, mas verdade. E isso se aplica s redes de computadores tambm: a mquina que solicita algo a cliente, e a que prov, o servidor. A sua mquina (cliente) atravessa a internet, at encontrar a mquina que prov o servio desejado. Considere a gura abaixo:

internet

cliente

servidor de arquivos

Figura 2.6. Uma mquina a cliente, e a outra, o servidor.

Na gura, a mquina com a palavra cliente a cliente (d!). Sim, isso mesmo. Valente, intrpida e afoita, avana pelos sete mares em busca do tesouro escondido. Todavia, que atento para o fato de que as mquinas no so apenas clientes, elas so clientes de alguma coisa. Com os servidores, a mesma coisa: so servidores de alguma coisa. Na gura acima, por exemplo, temos uma mquina que cliente de arquivos (ou seja, usa um programa que solicita uma conexo com um servidor de arquivos), e a outra mquina o servidor de arquivos. Para ser mais especco, a verdade que a mquina em si no cliente ou servidora de nada; os programas que elas usam que assumem o papel de cliente ou servidor. Podemos ter um caso em que uma nica mquina cliente de duas coisas; por exemplo, cliente de arquivos e cliente web - o que signica que a mquina roda um aplicativo que se conecta a um servidor de arquivos, e outro aplicativo que conecta-se a um, servidor web, conforme gura abaixo:

servidor www

internet

cliente de aquivos; cliente www

servidor de arquivos

Figura 2.7. Uma mquina que cliente de vrios servios.

2.6 Camada aplicao

33

Simplicando: uma nica mquina, pode ter vrios programas clientes; pode ter vrios clientes. Da mesma forma (embora isso no seja muito comum, nem muito recomendvel), podemos ter uma mquina que servidora de vrios servios, isto , roda vrios programas servidores. Como um garom que alm de servir pizza, limpa a mesa e varre o cho aps a festa.cliente de www

internet

cliente de aquivos

servidor de arquivos servidor www

Figura 2.8. Uma mquina que servidor de vrios servios.

Obviamente, uma mquina que tenha programas servidores tem a possibilidade de prover o servio (ou os servios) para vrias mquinas. Ao mesmo tempo! Depende da capacidade do servidor; ou voc pensa que o nico usurio conectado ao bate-papo nas madrugadas de sbado? Preciso dizer tambm que possvel uma mquina cliente ser servidor. Por exemplo, em uma mesma mauina podem estar rodando um programa servidor web, e um cliente de email. Alm disso, um servidor no precisa necessariamente estar na internet; como depende da aplicao instalada, e no da localizao geogrca, podemos ter servidores na rede local tambm.a b c

d

servidor de arquivos

Figura 2.9. Um servidor na rede local.

Onde esses programas clientes e servidores operam? Operam na camada de aplicao, a camada que ca no topo da arquitetura TCP/IP.

2.6. Camada aplicaoAplicaes de rede so importantes para o funcionamento da mesma; as aplicaes so a parte que interessa ao usurio. Entre as aplicaes clientes (ou seja, que solicitam algo), temos os conhecidos navegadores web (Firefox, Opera, Safari, Konqueror, Internet

34

Funcionamento Bsico de Redes TCP/IP

Explorer), programas de mensagem instantnea (GoogleTalk, MSN), clientes de email (Thunderbird, KMail, Outlook), e uma quase-innita quantidade de programas empresariais que conectam-se a uma mquina central para ler ou guardar informaes. Cada tipo de aplicao cliente exige um servidor. Por exemplo, para que voc possa acessar uma pgina da internet com seu cliente web favorito (como o Firefox, por exemplo), necessrio que a mquina com a qual voc se conecta esteja rodando um servidor www (como o Apache). No adianta a mquina estar ligada, ou estar com outro servidor; preciso o tipo especco de servidor para o tipo especco de cliente. No se compra po em aougue. No se acessa pginas da web com um cliente de mensagens instantneas. Como se d a comunicao entre aplicaes de rede? Como a aplicao cliente fala com a aplicao servidora? Olhando a gura abaixo, voc j pode ter uma idia de como isso acontece: as camadas de aplicao das duas mquinas conversam entre si; para que isso acontea, a mquina que envia informao desce com os dados da camada aplicativo para a camada fsica, e a mquina que recebe sobe com a informao. Essa histria voc j conhece.Mquina que envia Aplicao Transporte Rede Enlace As camadas conversam Mquina que recebe Aplicao Transporte Rede Enlace

Fsica

Figura 2.10. Comunicao entre aplicaes atravs da arquitetura TCP/IP.

Voc entende que as camadas equivalentes em mquinas diferentes conversam? Lembrese: a informao que uma camada adiciona pode ser lida somente pela mesma camada da outra mquina. Assim, somente a camada aplicao da mquina que recebe conseguir interpretar a informao que a camada aplicao da mquina que envia escreveu.

2.7. Camada transporteAbaixo da camada aplicao, temos a camada transporte. Ela a responsvel no pelo transporte fsico da informao (esta uma funo da camada fsica), e sim, pelo transporte lgico; na verdade, hum... digamos que esta camada faz o encaminhamento da informao, da forma certa, e para a aplicao correta. Considere uma mquina que possua, neste exato momento, trs programas clientes abertos: um programa que baixa arquivos de msica, um programa de email e um navegador web. Todos eles esto em perfeita atividade, saudveis etc. A mquina cliente, dinmica como , acessa trs servidores distintos. Agora pense comigo: as informaes vm por um nico meio, certo? Ou seja, os quadros das trs aplicaes vm por um mesmo enlace, entrando na placa de rede da mquina. Aps isso, a camada enlace interpreta o quadro, e passa para a camada rede. A camada rede tambm trabalha com o pacote e sobe com ele. E agora? Se no existisse a camada transporte, e os dados fossem jogados direto na camada aplicao, teramos um erro muito estranho: as aplicaes receberiam os dados trocados.

2.7 Camada transporte

35

Porm, e Beethowen vai ter que concordar comigo (aquele surdo! nunca me ouve), a camada transporte est l, bem vestida, olhando para voc com um olhar atraente. Ela sabe dividir as coisas... alm de tima cozinheira, quando recebe os dados da camada rede, analisa as dados da camada transporte (que, adivinha, foi a camada transporte da mquina originria quem escreveu), e envia os dados da aplicao para o programa correto! Observe a gura:Dados da aplicao de email b 2 3 Rede Enlace A camada transporte escreve: "aplicao de email" 5 4 Rede Enlace A camada transporte l: "aplicao de email"

1 a

6

Aplicao de email

Camada fsica

Figura 2.11. Camada transporte em ao.

Vejamos: 1. A mquina a envia informaes de email para a mquina b. Por exemplo, o email Ol, Boso!, que dever surgir no programa de email na mquina b, deixando o usurio que o ler, digamos assim, bolado. 2. A camada aplicao envia os dados para a camada transporte. A camada transporte pega essa informao, e adiciona a ela sua prpria informao de camada transporte; essa informao um cabealho que diz aplicao de email, indicando o que os dados contidos no interior deste envelope so. 3. A camada transporte desce, ento, com os dados (o envelope) para a camada rede. A camada rede, por sua vez, faz o que tem de fazer, adicionando suas prprias informaes, e enviando o pacote resultante camada enlace. A camada tambm adiciona suas informaes, e envia o quadro resultante para a camada fsica. 4. A camada enlace da mquina b recebe o quadro, interpreta-o, v se ela a destinatria do mesmo, e se for, retira as informaes de enlace e passa o pacote resultante para a camada imediatamente superior, rede. A camada rede faz o que tem de fazer, retira os dados de camada rede do pacote e sobe com o envelope resultante para a camada transporte. 5. Agora a hora da camada transporte trabalhar na mquina destinatria. Ela l o contedo da informao de camada transporte (adicionada pela mesma camada na mquina remetente), e v escrito: aplicao de email. Assim, esta camada transporte sabe a que programa entregar os dados.

36

Funcionamento Bsico de Redes TCP/IP

6. Finalmente, a camada transporte da mquina b retira as informaes de camada transporte dos dados, e passa-os para a aplicao correta (ou seja, o cliente de email) na camada aplicao. O usurio l, e ca bolado.

2.8. Transporte confivel e conexoAlm da funo de encaminhar os dados corretamente, a camada transporte pode prover transporte convel ou no. Isso vai depender do protocolo usado. Na arquitetura TCP/IP, existem dois protocolos: o Protocolo de Datagrama do Usurio (UDP), e o Protocolo de Controle de Transmisso (TCP); o primeiro no prov um transporte convel; ou seja, se alguma informao for perdida durante o trajeto, o protocolo no far nada para corrigir essa perda. J o TCP retransmite a informao se esta for perdida no caminho. A voc pensa: ento o TCP melhor que o TCP, pois garante que a informao chegar. Nem sempre. Se voc estiver conectando-se a um banco, a informao precisa chegar integralmente ao destino; no entanto, se voc est ouvindo uma msica ou assistindo um lme pela internet, vai ser muito desagradvel se a msica ou o lme car dando pausas o tempo todo, devido retransmisso de informao perdida: no caso da msica e do vdeo, prefervel perder parte da informao. Veja a gura abaixo para compreender como acontece a transporte convel de dados, usando o protocolo TCP:

a 3 1

b 5

2

4

Figura 2.12. Transporte convel.

1. A aplicao da mquina a escolheu o protocolo de camada transporte TCP para fazer a transmisso. Por isso, os dados da aplicao so passados para a camada transporte, e o protocolo TCP trabalhar com eles. Voc j sabe o que acontece: a camada transporte desce com o envelope para a camada rede, que desce com o pacote resultante para a camada enlace, que por sua vez, desce com o quadro resultante para a camada fsica. 2. Aconteceu um imprevisto na camada fsica que impossibilitou o pacote de chegar ao destino. No foi uma coliso, pois se fosse, a camada enlace retransmitiria o quadro; foi outra coisa, uma coisa qualquer que impossibilitou a chegada do quadro. Talvez um rato roeu o cabo em algum lugar, quem sabe roma.

2.8 Transporte confivel e conexo

37

3. A mquina a sabe que a informao foi perdida. Para ser mais especco, o protocolo TCP na camada transporte (o protocolo que enviou os dados), sabe que perdeu informao, pois no recebeu uma mensagem de conrmao da mquina b. 4. O que o TCP faz, ento, na maquina a? Ele retransmite a informao. 5. O quadro chega camada enlace da mquina b, que passa para a camada rede, depois para a camada transporte. A camada transporte passa os dados para a aplicao correta e informa camada transporte da mquina a que recebeu a informao. Outra caracterstica dos protocolos de camada transporte a orientao conexo. UDP um protocolo no orientado conexo, o que signica que a mquina remetente no precisa de autorizao da mquina destiantria, para comear a enviar informaes. J o TCP precisa de autorizao: necessrio que as mquinas se cumprimentem, sejam educadas, iniciem um dilogo e, a sim, as informaes podero ser trocadas:oi, tudo bem? a tudo... e voc? como anda a famlia? b

com as pernas. escuta, me empresta seu chapu?

ok. mas v se devolve, hehe

Figura 2.13. Conexo.

Faltou desenhar o chapu voando de um computador para o outro na gura acima. Lembrese que, quando duas camadas conversam, somente as mesmas camadas nas duas mquinas se entedem; na gura, a camada transporte das duas mquinas que esto conversando e estabelecendo uma conexo de camada transporte; as camadas inferiores no entendem o que se passa, apenas cumprem suas funes. Abaixo, uma pequena tabela resumindo as caractersticas do TCP e UDP. UDP Transporte No convel Retransmite em caso de perda? No Conexo No incia conexo Velocidade comparada Rpido Indicado para udio, vdeo TCP Convel Sim Inicia conexo Lento Email, web...

Tabela 2.2. Protocolos de camada transporte.

38

Funcionamento Bsico de Redes TCP/IP

2.9. ConclusoNeste captulo, voc viu a necessidade de dois endereos: um endereo fsico e um lgico. Viu tambm que no possvel a mauina de uma rede local enxergar o endereo fsico de uma mquina que esteja em outra rede. Com isso, voc teve uma viso geral das funes das camadas enlace e rede. Alm disso, voc aprendeu que uma mquina pode ser tanto cliente quanto servidora, desde que os programas para isso estejam executando na mquina. Assim como uma mquina pode ter vrios clientes, tambm pode ter vrios servidores; cada programa cliente exige um tipo diferente de programa servidor. O transporte das informaes das aplicaes feita pela camada transporte; esta camada responsvel, entre outras coisas, pela entrega dos dados aplicao correta na mquina destino, bem como a retransmisso dos dados para a mquina destinatria, se o protocolo assim congurado estiver sendo usado. Fechamos, portanto, este captulo, tendo visto de tudo um pouco, exceto a camada fsica: esta camada estar sempre presente ao longo do nosso curso.

2.10. ExercciosExerccio 2.2. Diferencie LAN de WAN. Exerccio 2.3. Qual a diferena entre enlace LAN e WAN? Exerccio 2.4. Dena pacote e quadro. Exerccio 2.5. Por que so necessrios dois endereamentos? Exerccio 2.6. Verdadeiro ou falso: a) Uma mquina pode ser cliente de um ou mais servios. b) Uma mquina pode acessar vrios servidores. c) Um servidor prov servio a somente a uma nica mquina. d) Uma aplicao servidora prov somente servio para um tipo de aplicao cliente. e) Uma mquina no pode ter aplicativos clientes e servidores executando. f) Um servidor no pode estar localizado na rede local. Exerccio 2.7. Cite exemplos de aplicaes clientes. Exerccio 2.8. O que transporte convel de dados? Qual protocolo da camada transporte prov esse servio? Exerccio 2.9. E o que conexo, em se tratando de camada transporte? Exerccio 2.10. Verdadeiro ou falso: a) A camada transporte da mquina destinatria recebe os dados da camada rede e passa para a camada aplicao. b) A camada transporte tem a funo de vericar se o endereo lgico do pacote o da mquina destinatria. c) Vdeo um exemplo de informao que poderia ser trasmitida pelo protocolo UDP.

Captulo 3Fundamentos de comutao e roteamentoNeste captulo voc entender o que comutao na camada enlace, e roteamento. A comutao na camada enlace funciona na camada enlace (d!), enquanto o roteamento uma funo da camada rede. Existe comutao na camada rede tambm; todavia, como este captulo s trata de comutao na camada enlace, usaremos simplesmente o termo comutao para designar isso.

3.1. RevisoVoc se lembra dos desenhos de redes locais vistos at o momento neste curso? Os computadores da rede local compartilham de um mesmo enlace, seja este um cabo nico, ou um repetidor. Estudaremos mais sobre os tipos de cabo usados em redes locais na parte Comutao na camada enlace. Voc tambm se lembra do problema constante em redes locais, quando vrias mquinas tentam falar ao mesmo tempo? Sim isso mesmo. H o que chamamos de coliso de quadros no meio fsico - lembrando que quadro o nome que se d aos dados transmitidos pela camada enlace.a b c

repetidor

d

e

Figura 3.1. Uma mquina fala, todas escutam.

Em redes locais com enlace fsico compartilhado, quando uma mquina fala, todas escutam. Por isso, necessrio que o protocolo de camada enlace (ou seja, protocolos que funcionam nas mquinas transmissoras e receptoras, na placa de rede dessas mquinas) dite as regras para a boa educao na rede. Na rede local, o que vale o endereo fsico das mquinas: a camada enlace das mquinas se comunicam entre si, por meio do endereo fsico. Voc tambm estudou sobre redes WAN. A internet a maior rede WAN, porm existem outras, como redes de grandes companhias multinacionais. A internet interliga muitas redes; assim sendo, as mquinas de cada rede local no enxergam mquinas de outras redes opr meio do endereo fsico. necessrio um endereo lgico, um endereo de camada rede. A grande maioria das redes hoj baseada na arquitetura TCP/IP. Essa arquitetura um conjunto de protocolos que esto localizados nas trs camadas superiores: aplicao, transporte e fsica. Todas as mquinas do mundo que usam TCP/IP tm em comum esses protocolos das camadas superiores. Isso signica que uma aplicao de uma mquina no Japo capaz de se comunicar com o servidor desta aplicao em uma mquina que esteja 39

40

Fundamentos de comutao e roteamento

no Brasil, por exemplo. J com as camadas inferiores, outra histria. Os protocolos da camada enlace e tambm a camada fsica (cabos, repetidores e outros equipamentos) variam de rede para rede. Assim, temos neste mundo por a afora, protocolos do TCP/IP sendo transportado sobre diversos protocolos de camada enlace diferentes, e meios fsicos diversos. A arquitetura de redes locais mais usada no mundo chama-se Ethernet. Entretanto, nem todas as redes usam Ethernet; a prpria WAV no utiliza esta arquitetura, visto que no rede local. Veja um exemplo simples: sua rede local usa Ethernent nas camadas enlace e fsica, mas se voc se conecta internet por conexo assncrona (modem, linha telefnica), o protocolo de camada enlace que voc usa o PPP - bem diferente do que voc usa na sua rede local. A voc pergunta: ento como possvel que eu me conecte uma aplicao na internet? A resposta simples: embora as camadas enlace e fsica mudem, as camadas superiores permanecem a mesma. A mquina com a qual voc se conecta na internet possui protocolos de camada enlace diferentes da sua; mas o protocolo da camada rede (a camada do endereo lgico) o mesmo protocolo que sua mquina usa: a camada rede daquela mquina a mesma da sua. E voc que camadas iguais em mquinas diferentes conversam entre si. O mesmo ocorre com a camada transporte, e a camada aplicao.

3.2. O que comutao?Vamos voltar ao maravilhoso e utpico passado da telefonia. Como aconteciam as coisas? Voc tinha uma senhora que fazia a comutao manual dos circuitos. Ou seja, voc ligava para a central telefnica, a senhora com voz bonita atendia voc, e voc dizia: quero falar com o Papa. Ento, a senhora ligava o seu circuito ao circuito do Papa e voc podia falar com ele: marcar uma festa de arromba na sua casa, coisas assim. Todos os seus colegas ligavam para o Papa, pois o Papa pop. Isso comutao: o ato de a senhora fechar o circuito entre voc e o Papa. A senhora, no caso, era a comutadora.

seu circuito

circuito do Papa

operadora da companhia telefnica (comutadora)

Figura 3.2. Comutao na poca da vov.

Hoje as coisas mudaram: voc j no pode ligar para o Papa como ligava antigamente; ele um cara meio ocupado... cortou o cabelo e vendeu o Opala. E tambm, aposentaram todas as senhoras que faziam as ligaes. Entretanto, os comutadores continuam por a, s que no fazem compras em supermercasos: so aparelhos eletrnicos. A idia da comutao muito simples: interligar duas mquinas (no caso de comutadores de redes) e no permitir

3.2 O que comutao?

41

que a informao trocada por elas vaze por toda a rede local. Se voc quer falar com o Papa, somente o Papa vai ouvir voc falar; se a mquina a quer falar com e, somente e ouvir a mquina falar; e o restante da rede car livre para quem quiser conversar com outra mquina. Veja a imagem abaixo, e observe que o desenho que representa o comutador diferente daquele que representa um repetidor.a b c

comutador

d

e

Figura 3.3. Um comutador na rede local.

O comutador capaz de comutar vrios circuitos ao mesmo tempo. Isso signica que vrias mquinas podem falar, sem que haja coliso de quadros. Definio 3.1. Comutao de quadros. Comutar quadros o mesmo que criar um caminho, dentro do comutador, entre a mquinma de origem e a mquina de destino; os quadros passam por este caminho especco, no ecoando por toda a rede. Observe a gura abaixo:caminho a-e

a

b

c

comutador

d

e

caminho c-d

Figura 3.4. Vrias mquinas falando ao mesmo tempo.

42

Fundamentos de comutao e roteamento

Na gura, as linhas tracejadas representam os caminhos, ou enlaces virtuais, de uma mquina para outra. Observe que a mquina a conversa com a mquina e por meio do caminho a-e; e, ao mesmo tempo, a mquina c conversa com a mquina e por meio do caminho c-d. Todavia, os quadros passam todos pelo comutador, que no se confunde: trabalha como um polvo em um restaurante, servindo vrios pratos ao mesmo tempo com seus tentculos (pssima metfora!). Em uma rede que usa comutador, e tambm tem apenas uma mquina ligada por porta no roteador, no necessrio um protocolo na cadama enlace das mquinas para controlar a educao das mquinas: o prprio comutador trata de fazer isso. Estudaremos muito mais sobre comutadores neste curso; para o momento, basta voc compreender que o comutador tem a funo de comutar quadros da camada enlace, na rede local. E comutar a mesma coisa que criar um caminho entre a origem e o destino, de modo que os quadros no ecoem por toda a rede.

3.3. O que roteamento?No, roteamento no a arte ou cincia de arrotar. Isso se chama arrotamento. Roteamento a arte ou cincia de criar rotas. Roteamento ocorre na cam