You are on page 1of 167
SS , canteen ny: Coy ay Usd Loe ra Traducgao da.54 Edicao’ ~ 5 NCAR t WN aerel Pa-le/e| —— & — Si Capitulo 1 Capitulo 2 Capitulo 3 Sumario Prélogo xix Prélogo da primeira edic&o, por Jon Postel (in memoriam) xxi Prefacio xxii (0 que outros disseram a respeito da quinta edi¢do deste livro xxv Oautor xxvii Introdugao efundamentos 1 1.1 Amotivago para Interligagdo de Redes 1 1.2 Alntemet TCPAP 2 1.3 Servigos da internet 2 14 Histéria.@ escopo da Intemet 4 1.5 Ocomité de arquitetura da Internet 5 1.6 Areorganizagao dolAB 5 1.7 Request For Comments 6 4.8 Crescimento futuro e tecnologia 6 1.9 Organizagaodotexto 7 4.10 Resumo 7 Revisdo das tecnologias de rede bésicas 9 21 Introdugao 9 2.2 — Duas técnicas para a comunicagaoem rede 9 2.3 Redes locais e Redes de longa distancia 10 2.4 Tecnologia Ethemet 11 25 Switch Ethemet 17 2.6 Asynchronous Transfer Mode 17 2.7 Resumo 19 Interligacdo de redes: conceito e modelo arqui 2 3.1 Introdugéo 21 < 3.2 _Interconexio em nivel de aplicago 21 3.3. Interconexao em nivel derede 22 3.4 Propriedades da Intemet 22 35 — Arquitetura da Intemet 23 3.6 _Interconexéo por roteadores IP 23 3.7 Avisdodousuério 24 38 Todas asredes sdoiguals 25 3.9 — Asperguntas ndo respondidas 25 3.10 Resumo 26 WNTERLIGACAO DE REDES COM TCP/IP Douglas E. Comer ELSEVIER Capitulo4 Enderecos de Internet Classful 27 41 Introdugéo 27 42 — Identificadores universais 27 43 Oesquema original de enderegamento classful 28 4.4 Enderegos especificam conexdes de rede 29 4.8 Rede © enderegos de broadcast direcionados 29 4.6 Broadcast limitado 29 4.7 Qeenderego com todos os bits em“0" 30 4.8 — Extensdesde sub-tede e classless 30 4.9 Enderegos multicast IP 30 4.10 Pontos fracos no enderegos internet 30 4.11 Notagao decimal com ponto 31 412 Enderego de loopback 32 4.13 Resumo de convengées de endereco especial 4.14 —Autoridade de enderecamento internet 33 4.15 Prefixos de enderego reservados 33 4.16 Umexemplo 33 4.17 Ordem de byte de rede 34 448 Resumo 35 Capitulo 5 Mapeando enderecos internet em enderegos fisicos(ARP) 37 5.1 Introdugéo 97 5.2 Oproblema da traducdo de enderego 37 5.3 Doi tipos de enderegos fisicos 38 5.4 Tradugao pormapeamento direto 38 5.5 Tradugdo por vinculo dinamico 38 5.6 O cache de tradugao de enderego 39 5.7 Timeoutde cache ARP 39 5.8 Refinamentosdo ARP 40 5.9 _ Relacionamento do ARP com outros protocolos 41 5.10 Implementacdodo ARP 41 5.11 Encapsulamento e identificagao do ARP = 42 5.12 Formato do protocolo ARP 42 5.13 Revalidaco automdticade cache ARP 43, 5.14 Reverse Address Resolution (RARP) 43 5.15 Resumo 44 Capitulo —_Internet Protocol: Entrega de datagrama sem conexao (IPv4) 46 6.1 Introdugéo 46 62 Umaredevirwal 46 63 Arquitetura e filosofia da internet. 46 64 — Acrganizagao conceitual do servic 47 65 Sistema de entrega semconexio 47 66 — Finalidade do Internet Protocol 47 67 OdatagramaIPv4 48 68 — Opedes de datagrama da Intemet 54 69 Resumo 58 ‘Sumario Capitulo 7 _ Internet Protocol: Encaminhando datagramas IP 60 7A Introdugéio 60 7.2 Encaminhamento‘em uma internet 60 7.3 Entrega diretae indireta 61 7.4 Encaminhamento IP controlado portabela 63 7.5 Encaminhamento do préximo salto 63 7.6 Rotasdefault 64 7.7 Rotas especificas dohost 65 7.8 Oalgoritmo de encaminhamento |P_ 65 7.9 Encaminhamento com enderegos IP 65 7.10 Tratando de datagramas que chegam 66 7.11 Estabelecendo tabelas de roteamento 67 7.12 Resumo 67 CAPITULO 8 _ Internet Protocol: Mensagens de erro e controle (ICMP) 69 8.1 Introdugéo 69 8.2 —_O Internet Control Message Protocol 69 8.3 Relato de erro versus corregao de erro 70 84 — Entrega de mensagem ICMP 71 85 Formato de mensagem ICMP 71 86 Teste de alcance e status do destino (ping) 72 8.7 Requisig&o de eco e formato de mensagemn de resposta 73 88 —_Relatos de destinos inalcancaveis 73 8&9 Controle de congestionamento @ fluxo de datagramas 74 8.10 Formato de extingao de origem 75 8.11 Requisigdes de mudanga de rota dos roteadores 75 8.12 _Detectando rotas circulares ou excessivamente longas 8.13 Relatando outros problemas 77 8.14 Sincronismo de clock e estimativa de tempo de transito 8.15 Mensagens ICMP mais antigas e no mais necessarias 816 Resumo 79 Capitulo 9 Extensdes de enderecamento classless e de sub-rede (CIDR) $¥ 9.1 Introdugo 81 9.2 Revisdo de fatos relevantes 81 9:3 Minimizando numeros de rede 82 94 ProxyARP 82 9.5 Enderecamento de sub-rede 83 96 Flexibilidade na atribuiggo de endereco de sub-rede 6S 9.7 Sub-redes de tamanho variavel 86 9.8 Implementacdo de sub-redes com mascaras 86 9.9 Representagéo de mascara de sub-rede 87 9.10 _ Encaminhamento na presenga de sub-redes 87 9.11 Oalgoritmo de encaminhamento de sub~rede SS 9.12 Umalgoritmo de encaminhamento unificado 83 9.13 Manutengdo de mascaras de sub-rede $0 9.14 Broadcasting para sub-redes 90 9.15 Redes andnimas ponto-a-ponto St 9.16 Enderegamento classless e superredes 92 9.17 Blocos de enderego de CIDRe méscares debt $2 @KTERLIGAGAO DE REDES COM TCP/IP Douglas E. Comer ELSEVIER 9:18 Blocos de endereo enotagdo CIDR 93 2.19 Um exemplo de enderegamento classless 93 9.20. Estruturas de dados e algoritros para a pesquisa classless 94 9.21 _Combinagao mais longa @ misturas de tipos de rota 95 9.22 Blocos de CIDR reservados para redes privadas 97 9.23 Resumo 97 Capitulo 10 | Camadas de protocolos 100 10.1 Introdugéo 100 40.2 Anecessidade de muittiplos protocolos 100 103 As camadas conceituais do protocolo 101 10.4 Funcionalidade das camadas 103 105 X.25e sua relacdo como modelo dalSO 103. 10.6 Local de inteligéncia 106 10.7 Oprincfpio de camadas de protocolos 106 10.8 Camadas na presenga de subestrutura de rede 108 10.9 Dois limites importantes no modelo TCPAP — 109 10.10 Adesvantagem das camadas 110 40.11. Aidéia bésica por tras da multiplexagao e demultiplexagao 110 10.12 Resumo 111 Capitulo 11 User Datagram Protocol (UDP) 113 11.4 Intodugéo 113 41.2. Identificando 0 destino final 113 41.3 OUser Datagram Protocol 114 41.4 Formato de mensagens UDP 114 11.5 Pseudocabegalho UDP 115 11.6 Encapsulamento e camadas de protocolos UDP 116 11.7 Camadas e o caloulo de checksum doUDP 117 11.8 Multtiplexago, demultiplexagao © portas UDP 117 11.9 Numeros de porta UDP reservados @ disponiveis 118 4410 Resumo 119 Capitulo 12 _Servico de transporte de fluxo confidvel (TCP) 121 12.1 Introdugéo 121 122 Anecessidade de entrega de luxe 122 42.3 Propriedades do servico de entrega confidvel 122 124 Fomecendo confiabilidade 123 425 Aidéia por tras das janelas deslizantes © 124 42,6 OTransmission Control Protocol 126 127 Portas, conexbes e extremidades 127 12.8 Aberturas passivaseativas 128 129 Segmentos, fluxos e nimerosde seqiéncia 128 4210 Tamanho de janela varidvel e controle de fluxo 129 12.11 Formato do segmento TCP 130 12.12 Dados fora de faixa 131 12.13 OpgSesdoTCP 131 12.14 Céloulo do checksum TCP 132 42.15 Confirmagoes, retransmissao e timeouts 133 4246 Medigao precisa de amostras de ida e volta 135 12.17 12.18 12.19 12.20 12.21 12.22 12.23 12.24 12.25 12.26 12.27 12.28 12.29 12.30 12.31 12.82 12.33 12.34 Algoritmo de Kame otimer backoff 136 Resposta a alta variancia no atraso 137 Resposta ao congestionamento 138 Recuperacao répida e outras modificagées 140 Mecanismos de feedback explicitos (SACK e ECN) 141 Congestionamento, descarte dotrailere TCP 142 Random Early Detection (RED) 142 Estabelecendo uma conexio TCP 144 Nimeros de seqiiéncia iniciais 145 Fechando uma conexéo TCP 145 Reinicio da conexio TCP 146 Maquina de estado TCP 146 Forgando a remessa de dados 147 Numeros de porta TCP reservados 148 Desempenho doTCP 148, Sindrome da janela tola e pacotes pequenos 149 Evitando @ sindrome da janela tola 150 Resumo 152 Arquitetura de roteamento: cores, peers ealgoritmos 155 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 13.10 144 14.2 143 14.4 145 146 147 148 14.9 14.10 14.44 14.12 14.13 14.14 14.15 14.16 14.17 14.18 14.19 Introdugso 155 A origem das tabelas de roteamento 155 Encaminhamento com informagées parciais 156 Arquitetura original da Intemet e nucleos 157 ‘Além da arquitetura bésica para backbones peer 158 Propagago automatica de rota 159 Roteamento por vetor de distancia (Beliman-Ford) 159, Confiabilidade @ protocolos de roteamento 161 Roteamento por estado do enlace 161 Resumo 162 Roteamento entre peers (BGP) 163 Introdugao 163 Escopo do protocolo de atualizagaio de roteamento 163 Determinando um limite prético para 0 tamanho do grupo 164 Uma idéia fundamental: saltos extras 165, Conceito de sistema autonomo 165 Protocolos de gateway exterior e alcangabilidade 166 Caracteristicas do BGP 167 Funcionalidade e tipes de mensagem BGP 168. Cabegalho de mensagem do BGP 168 Mensagem BGP OPEN 169 Mensagem BGP UPDATE 170 Pares mascara-enderego compactados 170 Atributos de caminho BGP 171 Mensagem BGP KEEPALIVE 172 Informagées da perspectiva do receptor 172 A restrigo basica dos protocolos de gateway externo 173 A arquitetura de roteamento da internet 174 Mensagem BGP NOTIFICATION 175 Resumo 176 xii INTERLIGAGAO DE REDES COM TCP/IP Douglas E. Comer ELSEVIER Capitulo 15 Roteamento em um sistema auténomo (RIP, OSPF) 178 15.1 Introdugéo 178 15.2 Rotas de interior estaticas versus dinamicas 178 15.3 Routing Information Protocol (RIP) 180 15.4 —Oproblema da convergéncia lenta 181 15.5 Resolvendo o problema da convergéncialenta 182 15.8 Formato de mensagem RIP1 183 15.7 Convengdes de endereco RIP2 184 15.8 Interpretapdo e agregaréo de rotaRIP 184 15.9 Extensdes e formato de mensagem RIP2 185 15.10 Adesvantagem das contagens de saltos do RIP 185, 16.11 Métrica de retardo (HELLO) 186 15.12 Métrica de retardo e oscilagao 187 15.13 Combinando RIP, Hello e BGP 188. 15.14 Gated: Comunicagdo de sistema interauténomo 188 15.15 Osprotocolo Open SPF (OSPF) 188 15.16 Roteamento com informages parciais 193 18.17 Resumo 193 Capitulo 16 Multicastingde internet 195, 16.1 Introdugo 195 162 Broadcast de hardware 195 16.3 Origens de hardware do multicast 196 164 Multicast Ethemet 196 165 Multicast IP 197 166 Aspecasconceituais 197 16.7 Enderecos multicast IP 198 168 Semantica de enderego multicast 198 16.9 Mapeando multicast IP em multicast Ethemet 199 16.10 Distribuigao de hosts e multicast 200 16.11 Escopo do multicast 200 16.12 Estendendo o software do host para tratar multicast. 200 16.13. Internet Group Management Protocol 201 16.14 Implementando o IGMP 202 16.15 Transigoes de estado de associacdo de grupo 203 16.16 Formato de mensagem membership query IGMP 203 16.17 Formato de mensagem membership report IGMP 204 16.18 Informagdes de encaminhamento © roteamento multicast 205 16.19 Modelos basicos de encaminhamento multicast 207 16.20 Conseqiiéncias do TRPF 207 16.21 Arvores de multicast 209 16.22 Aesséncia da propagagao de rota multicast 209 16.23 Reverse Path Multicasting 210 1624 Protocolos de roteamento multicast 210 16.25 Multicast seguro e implosdes de ACK 212 16.26 Resumo 213 ComutacdoIPe MPLS 216 17.1 Introdugao 216 17.2 Tecnologia de comutagdo 216 17.3. Redes grandes, troca de rétuloe caminhos 217 17.4 Usando comutagéo com IP 218 17.5 Tecnologias de comutagéo Pe MPLS 218 17.6 _Classiticagdo, fluxos e comutagao de camada mais alta 219 17.7 Uso hierarquico do MPLS. 219 17.8 EncapsulamentoMPLS 219 17.9 Roteador por comutagao de rotulo 220 17.10 Processamento de controle e distribuigao de rétulo 221 17.11 MPLSefragmentagéo 221 17.12 Topologia de maiha e engenharia de tréfego 221 17.13 Resumo 222 Capitulo18 IP mével 224 18.1 Introdugéo 224 18.2 Mobilidade, roteamento e enderegamento 224 18.3 Caracteristicas do IP mével_ 225 18.4 Visio geral da operagao do IP mével 225 18.5 Detalhes do enderegamento mével 225 18.6 Descoberta do agente estrangeiro 226 18.7 Registrode agente 227 18.8 Formato damensagem de registro 227 18.9 Comunicagéo com um agente estrangeiro 227 18.10 Transmissdo e recepedo de datagrama 228 18.11 O problema do cruzamento dupio 228 18.12 Comunicagdo com computadores na rede doméstica 229 18.13 Resumo 228 Interconexdo de rede privada (NAT, VPN) 231 19.1 Introdugéo 231 19.2 Redes privadase hibridas 231 19.3 Enderegamento e roteamento VPN 232 49.4 Estendendo a tecnologia VPN para hosts individuals 233 19.5 Uma VPN com enderegos privados 233, 19.6 Network Address Translation (NAT) 234 19.7 Criagdo da tabela de tradugdo NAT 234 19.8 NAT multienderego 235 19.9 NAT mapeadoem porta 236 19.10. Interagao entre NATe ICMP 237 19.11 Interagao entre NAT e aplicagdes 237 19.12 NAT na presenca de fragmentagao 237 19.13 Dominios de enderego conceituais 238 19.14 Slipe iptables 238 19.15 Resumo 238 Modelo de interacao cliente-servidor 240 20.1 Introdugéo 240 20.2 Omodelocliente-servidor 240 20.3 Um exemplo simples: servidor de eco UDP. 20.4 Servigo de horae data 242 20.5 Acomplexidade dos servidores 242 206 207 208 Capitulo 21 211 212 213 214 21.5 216 217 218 219 21.10 ati 21.12 21.13 21.14 21.15 21.16 21.17 21.18 21.19 21.20 2121 21.22 21.23 21.24 21.25 21.26 21.27 21.28 Capitulo 22 224 22.2 223 224 225 22.6 227 22.8 229 2240 Zn 2212 22.13 22.14 22.15 WNTERLIGAGAO DE REDES COM TCP/IP Douglas E. Comer Ainterface Socket Bootstrap e autoconfiguragao (DHCP) ELSEVIER Difundindo uma requisigao 243 Alternativas ao modelo cliente-servidor Resumo 244 244 246 Introdugio 246 O paradigma de E/S do UNIX ¢ a E/S da rede Acrescentando E/S de rede ao UNIX 247 A abstracéo do socket 247 Criando um socket 248 Herangae término de socket 248 Especificando um enderego local 248 Conectando sockets @ enderegos de destino Enviando dados por um socket 250 Recebendo dados por um socket 251 Obtendo enderegos de socket locais & remotos Obtendo e definindo opgses de socket 252 Especificando um tamanho de fila para um servidor Como um servidor aceita conexSes 253 Servidores que tratam miitiplos servigos Obtendo ¢ definindo nomes de host 255 Obtendo ¢ definindo o dominio de host interno Chamadas de biblioteca socket 255 Rotinas de converséo da ordem de bytes de rede 256. Rotinas de manipulagdo do enderego IP 257 Acessando 0 Domain Name System 258 Obtendo informagies sobre hosts 259 Obtendo informagies sobre redes 259 Obtendo informagies sobre protocolos 260 Obtendo informagies sobre servicos de rede 260 Um exemplo de cliente 261 Um exemplo de servidor 263 Resumo 265 247 249 252 253 254 255 267 Introdugso 267 Histéria do bootstrapping 267 Usando IP para determinar um enderego IP 268 A politica de retransmissao'do DHCP 268 © formato de mensagem DHCP 269 ‘A necessidade da configuragao dinamica Conceito de aluguel do DHOP 271 Mailtipios enderegos e relays: 271 Estados de aquisi¢ao de endereco Término precoce do aluguel 272 Estados de renovagao de aluguel 273 ‘OpgGes e tipo de mensagem do DHCP Sobrecarga de opeéo 273 DHCP e nomes de dominio Resumo 275 270 a7 273 274 O Domain Name System (DNS) 277 23.1. Introdugéo 277 23.2 Nomes paramaquinas 278 28.3 Espacodenomes plano 278 23.4 Nomeshierérquicos 278 23.5 Delegagdo de autoridade paranomes 279 23.6 Autoridade de subconjunto 279 23.7 Internet Domain Names 280 23.8 Dominios de nivel superior 280 23.9 Sintaxe e tipo denome 282 23.10 Mapeando nomes de dominio para enderegos 283 23.11 Tradugao de nome de dominio 284. 23.12 Tradugdo eficiente 265 23.13 Caching: a chave para aeficiéncia 285 23.14 Formato de mensagem do Domain Name System 286 23.15 Formato de nome compactado 288 23.18 Abreviagéo denomes de dominio 268 23.17 Mapeamentos reversos 289 23.18 Consultas de ponteiro 289 23.19 Tipos de objeto e contetido de registro de recurso 290 23.20 Obtendo autoridade para um subdominio 291 2321 Atualizagdo e notificagao dinamicas do DNS 291 2322 DNS Security Extensions (DNSSEC) 292 23.23 Resumo 292 Capitulo 24 Login e desktop remoto (TELNET, SSH) 294 24.1 Introdugéo 294 24.2 — Computagao interativa remota 294 24.3 Protocolo TELNET 295 24.4 — Acomodando a heterogeneidade 296 24.5 Passando comands que controlam 0 lado remoto 297 24.6 — Forgando o servidor a ler uma fungao de controle 298 24.7 Opies doTELNET 299 24.8 — Negociacao de opedo do TELNET 299 24.9 Secure Shell (SSH) 300 24.10 Outras tecnologias de acesso remoto 301 24.11 Resumo 301 Capitulo 25 Transferéncia e acesso de arquivo (FTP, TFTP, NFS) 303 25.1 Introdugao 303 25.2 Acesso de arquivo remoto, transferéncia @ redes de armazenamento 303, 25.3 Acesso compartilhado on-line 304 25.4 Compartilhando por transferéncia de arquivo 306 25.5 FTP: 0 principal protocolo de transferéncie de arquivo TOPAP © 30S 28.6 Recursos do FTP 305 25.7 Modelo de processo do FTP 305 26.8 Niimeros de porta TCP e conexdes de dads 305 26.9 Aviso do usuério do FTP 306 25.10 FTPanénimo 307 Capitulo 26 Capitulo 27 Capitulo 28 INTERLIGAGAO DE REDES COM TCP/IP Douglas E. Comer 25.11 Transferéncia de arquivo segura (SSL-FTP, Sep, Sftp) 25.12 FIP 307 25.13 NFS 309 25.14 Implementagéo do NFS (RPG eXDR) 309 25.15 Resumo 310 Correio eletrénico (SMTP, POP, IMAP, MIME) 312 26.1 Introdugdo 312 262 Correlo eletrénico | 312 26.3 Nomes @ aliases da caixa de correio 313 26.4 — Expanséo de alias e encaminhamento de correio 313 26.5 Padrdes do TCP/IP para servigo de correio eletronico 26.6 Simple Mail Transfer Protocol (SMTP) 315, 26.7 Recupetaco de correla e protocolos de manipulagao de caixa de corsio 316 26.8 As extensdes MIME para dados ndo-ASCIl_ 317 26.9 Mensagens MIME multiparte 318 26.10 Resumo 319 World Wide Web (HTTP) 321 27.1 Introdugao 321 27.2 Importanciada Web 321 27.3 Componentes arquitetonicos 321 27.4 Uniform Resource Locators 322 27.5 Umdocumento de exemplo 322 27.6 Hypertext Transfer Protocol 323 27.7 ARequisicao GET do HTTP 323 27.8 Mensagensdeerro 324 27.9 Conexdes.e tamanhos persistentes 324 27.10 Tamanho de dados e saida do programa 325 27.11 Codificagao por tamanho e cabegalhos 325, 27.42 Negociaggo 326 27.13 Requisigbes condicionais 327 27.14 Servidores proxyecache 327 27.15 Cache 327 27.16 Outras funcionalidades do HTTP 328 27.17 HTTP, seguranga ee-commerce 328 27.18 Resumo 328 Voz e video sobre IP (RTP, RSVP, QoS) 330 28.1 introdugio 330 28.2 Digitalizagao e codificagao 330 28.3 Transmissdo e reprodugao de audio e video 931 28.4 Jitter @ retardo de teprodugéo 331 28.5 Real-time Transport Protocol (RTP) 332 28.6 Fluxos, mistura e multicasting 333 28.7 Encapsulamento RTP 333 28.8 ATP Control Protocol (RTCP) 334 28:9 Operagiodo RTCP 334 Telefonia e'sinalizagao IP 335 307 314 28.11 Controvérsia da qualidade de servigo 337 28.12 QoS, utilizagaoe capacidade 937 28.13 Reserva de recursos do IntServ (RSVP) 337 28.14 Imposigao do IntServ (COPS) 338 28.15 DiffServ e comportamento por salto $38 28.16 Escalonamento de tréfego 338 28.17 Policiamento de tréfego 340 28.18 Resumo 340 Capitulo 29 Gerenciamento de rede (SNMP) 342 29.1 Introdugéo 342 29.2 nivel dos protocolos de gerenciamento 342 29.3 Modelo arquitet6nico 343 29.4 Estruturado protocolo 343 29.5 Exemplos de varidveis MIB 345 29.6 Aestrutura das informagoes de gerenciamento 346 29.7 DefinigSes formais usando ASN.1 346 29.8 Estrutura e representacao dos nomes de objeto MIB 347 29.9 Simple Network Management Protocol 350 29.10 Formato de mensagem SNMP 352 29.11 Umexemplo de mensagem SNMP codificada 354 29.12 Novos recursos no SNMPv3_ 356 29.13 Resumo 356 Capitulo 30 —_Seguranga na Internet e projeto de firewall (IPsec, SSL) 356 30.1 Introdugo 358 30.2 Protegendo recursos 359 30.3 Politica de informagao 359 30.4 Seguranga da Intemet 359 30.5 IP Security (IPsec) 960 30.6 Cabecalho de autenticagao IPsec 360 30.7 Associagaio de seguranga 361 30.8 Payload de seguranga no encapsulamento IPsec 361 30.9 Campos de autenticagao e cabecalno mutével 362 30.10 Tunelamento IPsec 363 30.11 Algoritmo de seguranga necessérios 963 30.12 Secure Sockets (SSLe TLS) 363 30.13 Firewalls e acesso a intemet 364 30.14 Conexdes miltiplas e enlaces mais fracos 364 30.15 Implementando firewall e fitros de pacotes 364 30.16 Seguranga e especificagao de filtro de pacotes 365 30.17 Aconseqdéncia do acesso restrito para clientes 966 30.18 Firewalls stateful 366 30.19 Protegdo de contetido e proxies 366 30.20 Monitoragaoe logging 367 30.21 Resumo 367 Capitulo 31 UmIP da préxima geragao (IPv6) 369 31.1. Introdugéo 369 31.2 Porquemudar? 370 INTERLIGAGAO DE REDES COM TCP/IP Douglas E. Comer ELSEVIER 31.3 Alémdo\Pv4 370 31.4 Aestrada para uma nova verséodo IP 370 31.5 Onomedo proximo IP 370 31.6 Caracteristicas do IPv6 370 31.7 Forma geral de um datagrama IPv8 371 31.8 Formato de cabegalho basico do IPv6 371 31.9 Cabegalhos de extensao do IPvé 373 31.10 Analisando um datagrama IPv6 373 31.11 Fragmentagao e remontagem doIPV6 373, 31.12 Aconsegtiéncia da fragmentacao de fim-atim 374 31.13 Roteamento de origem IPve 374 81.14 Opgdes do IPv6 375 31.15 Tamanho do espago de enderegos do IPV6 376 31.16 Notagéo hexadecimal de dois pontos do IPvé 376 31.17 Trés tipos de enderego basicos do IPV6 377 31.18 Adualidade do broadcast e multicast 378 31.19 Uma opeao de engenharia e broadcast simulado 378 31.20 Atribuigdo do espaco de enderegos IPvé proposto 378 31.21 Enderecos IPv4 embutidos e transicgo 379 31.22 Enderecos nao-especificados e de loopback 380 31.23 Estrutura de enderego unicast 380 31.24 Identificadores de interface 380 31.25 Enderegos locais 381 31.26 Autoconfiguragdo e renumeragéo 381 31.27 Resumo 382 Apéndice1 —Visdo geraldasRFCs 384 Apéndice 2 Glossario de termos e abreviagoes de interligagao de redes 387 Bibliografia 418 indice 423 { CAPITULO 1 Introdugao e fundamentos Cre Nena re) 1.1 Amotivacao para interigagao de redes 4.2 Allntemet TOPAP 4.3 Servigos da Intemet 4.4 — Hist6tia © escopo da Internet 4.5 OQ Intemet Architecture Board 4,6 Areorganizacao do IAB 4.7 A Request For Comments da internet 8 _Crescimento futuro € tecnologia 4.8 — Organizagao do texto 4.40 Resumo 1.1 A motivacao para Interligagao de Redes A comunicagio pela Internet tornou-se parte fundamental da vida. A World Wide Web contém informagSes sobre assun- tos tio diversificados quanto condicbes atmosféricas, producdo de graos, precos de agdes e tréfego aérco. Grupos estabele- em listas de correspondéncia eletronicas de modo que possam compartilhar informaces de interesse comum. Colegas de profissao trocam correspondéncia de negocios eletronicamente, e parentes trocam saudacoes pessoais. Emibora pareca operar como uma rede unificada, a Intemet nao € composta de uma tinica tecnologia de rede, pois ne- xnhuma tecnologia isolada ¢ suficiente para todos 0s usos. Em vez disso, o hardware de rede é projetado para situacdes ¢ orgamentos especificos. Alguns grupos precisam de redes de alta velocidade para conectar computadores em um tinico prédio. Como o hardware de baixo custo que funciona bem dentro de um prédio nao pode se espalhar a grandes distancias ‘geogrificas, ¢ preciso usar uma alternativa para conectar méquinas a milhares de quilometros uma da outra, Nos tiltimos vinte € cinco anos, uma tecnologia foi criada para tornar possivel interconectar muitas redes fisicas diver- gentes e operd-las como uma unidade coordenada. Conhecido como interligacao de redes (Internetworking), a tecnologia forma a base para a Internet, acomodando varias tecnologias de hardware basicas, oferecendo um modo de interconectar as redes ¢ definindo um conjunto de convengbes de comunicacao que as redes utilizam para interoperar. A tecnologia de interconexao de redes oculta os detalhes do hardware de rede e permite que os computadores se comuniquem indepen- dente de suas conexdes de rede fisica A tecnologia de intereconexio de redes descrita neste livro € um exemplo de interconexdo de sistema aberta. Ela é cha- mada aberta porque, diferente dos sistemas dispontveis de um fornecedor em particular, as especificacdes esto dispont- veis publicamente. Assim, qualquer um pode montar o software necessério para se comunicar por uma interconexo de redes, Mais importante, a tecnologia inteira foi projetada para promover a comunicacio entre méquinas com arquiteturas de hardware diversificadas, usar quase todo tipo de hardware de rede comutada por pacotes, acomodar uma grande varie- dade de aplicagdes e acomodar diversos sistemas operacionais de computador. 2 INTERLIGAGAO DE REDES COM TCP/IP Douglas E. Comer ELSEVIER 1.2 A internet TCP/IP ‘As agencias do governo dos Estados Unidos observaram a importancia eo potencial da tecnologia de redes ha muitos anos e finaciaram a pesquisa que possibilitou uma Internet global.' Este livro discute principios e idéias que resultaram da pes- quisa financiada pela Defense Advanced Research Projects Agency (DARPA)?. A tecnologia DARPA inclui um conjunto de padrées de rede que especifica os detalhes de como os computadores se comunicam, além de um conjunto de convengdes para interconexao de redes e encaminhamento de trafego. Oficialmente chamada TCPAP Internet Protocol Suite e normal- mente referenciada como TCP/IP (os nomes de seus dois padres principais), ela pode ser usada para comunicagao entre qualquer conjunto de redes interconectadas. Por exemplo, TCP/IP pode ser usado para interconectar um conjunto de re- des dentro de um tinico prédio, dentro de um campus fisico ou entre um conjunto de campi. Embora a tecnologia TCP/P seja isoladamente digna de nota, ela ¢ especialmente interessante porque sua viabilidade foi demonstrada em uma grande escala. Ela forma a tecnologia basica da Internet global, que conecta mais de 650 milhdes de individuos em lares, escolas, corporagdes € laboratorios do governo em praticamente todas as areas povoadas. Um su- ‘cesso fantastico, a Internet demonstra a viabilidade da tecnologia TCP/IP e mostra como ela pode acomodar uma grande variedade de tecnologias de hardware basicas. 1.3 Servicgos da Internet ‘Nao se pode apreciar os detalhes técnicos por trés do TCP/IP sem entender os servicos que ele oferece. Esta seco anali- sa rapidamente os servicos de inter-rede, destacando aqueles que a maioria dos usuarios acessa, e deixa para os capitu- los posteriores a discusso de como os computadores se conectam a uma Rede TCP/IP e como a funcionalidade ¢ imple- ‘mentada. Grande parte de nossa discussao sobre os servicos focalizard os padrdes chamados protocolos. Protocolos como 0 TCP e © IP provéem as regras sintaticas semanticas para comunicagao, Eles contém os detalhes dos formatos de mensagem, descrevem como um computador responde quando chega uma mensagem ¢ especificam como um computador trata de errs ou outras condigdes anormais. Mais importante, os protocolos nos permitem discutir comunicacao do computador independente do hardware de rede de qualquer fornecedor em particular. De certa forma, os protocolos sao para a comu- nicagao 0 que os algoritmos sao para a computagao. Um algoritmo permite que alguém especifique ou entenda uma com- pputagio sem conhecer os detalhes do conjunto de instrugdes de uma CPU em particular. De modo semelhante, um proto- colo de comunicacio permite que alguem especifique ou entenda a comunicacio de dados sem depender do conhecimen- to detalhado do hardware de rede de determinado fornecedor. Ocultar os detalhes de baixo nivel da comunicagao ajuda a melhorar a produtividade de varias maneiras. Primeiro, como os programadores tratam de abstracbes de protocolo de alto nivel, eles nao precisam aprender ow lembrar-se de tan- tos detalhes sobre determinada configuracio de rede. Assim, eles podem criar novos programas rapidamente. Segundo, ‘como os programas confeccionados utilizando abstragdes alto nivel nao sio restritos a determinada arquitetura de com- putador ou determinado hardware de rede, os programas nao precisam ser modificados quando os computadores ou as redes sao substitufdas ou reconfiguradas. Terceiro, como os programas de aplicativos confeccionados utilizando protoco- los de alto nivel sao independentes do hardware basico, eles podem oferecer comunicacao direta entre um par de compu- tadores qualquer. Os programadores nao precisam criar uma versio especial do aplicativo para cada tipo de computador ou cada tipo de rede. Em vez disso, o software criado para usar protocolos ¢ de uso geral; o mesmo cédigo pode ser compi- lado e executado em qualquer computador. Veremos que os detalhes de cada servico disponivel na Internet sio dados por um protocolo separado. As préximas se- ‘bes referem-se a protocolos que especificam alguns dos servicos em nivel de aplicacao, além daqueles usados para definir servicos em nivel de rede. Outros capitulos explicam cada um desses protocolos com detalhes. 1.3.1. Servicos de Internet em nivel de aplicagéo Do ponto de vista de um usuario, a Internet parece consistir em um conjunto de programas que utilizam a rede para trans- portar tarefas de comunicacdo titeis. Usamos o termo interoperabilidade para nos referir a capacidade de os sistemas de 1, Seguiremos a convencio normal de usar Interne para nos refers especficamente Internet global e usar Redes (com letra matascula) ou internet (com letra minsculs) para nos referrmos as "internets" privadas que wilizam a tecnologia TCPAP. 2. Em diversos momentos, a DARPA fol chamada de Advanced Research Projects Agency (ARPA), CAPITULO 1: Introdugéoefundamentos 3 computacao diversificados cooperarem na solugao de problemas computacionais. Programas aplicativos de Redes exibem uum alto grau de interoperabilidade. A maioria dos usuarios que acessa a Internet faz isso simplesmente executando os programas aplicativos sem entender os tipos de computadores que estio sendo acessadlos, a tecnologia TCP/P, a estrutu- radas Redes envolvidas, ou ainda o caminho que os dados trafegam até seu destino; eles contam com os programas aplica- tivos ¢ o software de rede para lidar com tais detalhes. Somente os programadores que escrevem programas aplicativos de rede precisam ver uma interconexo de redes TCP/IP como uma rede e precisam entender parte da tecnologia. 3s servicos da Internet mais populares e difundidos sao: ‘© World Wide Web. A Web permite que 0s usuarios vejam documentos que contém texto e grificos, seguindo links de hipermidia de um documento para outro. A Web cresceu para se tornar a maior fonte de tréfego na Internet global entre 1994 e 1995, e continua a ser uma grande fonte de trafego, © Correio eletronico (e-mail). O correto eletronico permite que um usuario redija um memorando e envie uma copia para individuos ou grupos. Outra parte da aplicacto de correio permite que os usuarios leiam memorandos recebi- dos. O correio eletronico permite que os usurios inchuam “anexos” que consistem em qualquer tipo de arquivo. O e-mail tem sido tio bem-sucedido que muitos usuarios da Internet dependem dele para a maioria da correspondén- cia, Um motivo para sua popularidade surge de um projeto cuidadoso: 0 protocolo torna a entrega confiavel. Alem. do sistema de correio no computador do emissor contatar o sistema de correio no computador do receptor direta- ‘mente, o protocolo também especifica que uma mensagem nao pode ser excluida pelo emissor até que o receptor te- nha colocado uma c6pia com sucesso no armazenamento permanente. © Transferencia de arquivo. A aplicacao de transferencia de arquivo permite que os usuarios enviem ou recebam uma copia de um arquivo de dados, A transferéncia de arquivos é um dos mais antigos servigos na Internet e ainda esta centre os servigos de aplicacao mais utilizados. © Login remoto e desktop remota. Os servicos de login remoto e desktop remoto permitem que um usudrio sentado em um computador se conecte a uma maquina remota e use a méquina remota como se fosse local. Ou seja, os toques de tecla sto enviados a maquina remota, ea tela da maquina remota aparece na tela do usustio (seja em uma jancla ‘ow na tela inteira), Retornaremos a essas e outras aplicagdes em outros capstulos, quando as examinaremos com mais detalhes. Veremos ‘exatamente como as aplicagbes utilizam os protocolos TCP/IP basicos e por que ter padr6es para protocolos de aplicagio tem ajudado a garantir que eles sejam difundidos. 1.3.2 Servigos de Internet em nivel de rede ‘Um programador que cria programas aplicativos que utilizam protocolos TCP/IP possui uma visio de Rede inteiramente diferente daquela que um usuario que simplesmente executa aplicagdes como correio eletrnico. No nivel de rede, uma Rede oferece dots grandes tipos de servigo que todos os programas aplicativos utilizam. Embora nao seja importante no ‘momento entender os detalhes desses servicos, eles nao podem ser omitidos de uma visto geral do TCP/P. * Connectionless Packet Delivery Service. Esse servico, explicado com detalhes no decorrer do texto, forma a hase para todos os servicos de interconexio de redes. A entrega sem conexao é uma abstracao do servico que a maioria das re- des de comutacio de pacotes prove. Significa simplesmente que uma Rede TCP/IP encaminba pequenas mensagens de um computador para outro com base na informacao de endereco transportada na mensagem. Como 0 servico sem conexo encaminha cada pacote separadamente, ele nao garante a entrega confidvel, em ordem. Por normal- mente ser mapeado diretamente no hardware, o servigo sem conexao ¢ extremamente eficiente, Mais importante, ter entrega de pacote sem conexio como base para todos os servicos de Rede torna os protocolos TCP/IP adaptaveis ‘a uma grande gama de hardware de rede. = © Reliable Stream Transport Service. A maioria das aplicagdes precisa muito mais do que a entrega de pacote, pois exige que o software de comunicacio se recupere automaticamente de erros de transmissao, pacotes perdidos ou falhas dos comutadores (switches) intermediarios ao longo do caminho entre emissor e receptor. O servico de transporte confidvel trata desses problemas. Ele permite que uma aplicagao em um computador estabeleca uma “conexdo” com uma aplicacio em outro computador ¢ depois envie um grande volume de dados pela conexao, ‘como se fosse uma conexao de hardware permanente, direta. Por baixo disso, ¢ claro, os protocolos de comuinica- 4 INTERLIGAGAO DE REDES COM TCP/IP Douglas E. Comer ELSEVIER fo dividem o fluxo de dados em pequenas mensagens e as enviam, uma de cada vez, esperando que o receptor confirme a recepcio. Muitas redes fornecem servicos basicos semelhantes aqueles esbogados aqui, de modo que alguem poderia questionar © que distingue os servicos TCP/P dos outros. As principais caracteristicas que os distinguem sao: © Independencia da tecnologia de rede. Embora o TCP/IP seja baseado na tecnologia de comutagao de pacotes, ele ¢ in- dependente de qualquer marca ou tipo de hardware em particular; a Internet global inclui uma série de tecnologias de rede. Os protocolos TCPAP definem a unidade de transmissao de dados, denominada datagrama, e especificam como transmitir datagramas em uma rede em particular. © Interconexao universal. Uma inteconexao de redes TCP/IP permite a comunicagao de qualquer par de computadores ‘aos quais se conecta. Cada computador recebe um endereco que € reconhecido universalmente por meio da Rede. Cada datagrama transporta os enderegos de sua origem e destino. Os dispositivos de comutacao intermedirios uti- lizam o endereco de destino para tomar decisées de encaminhamento. © Confirmacdes Fim-a-Fim. Os protocolos de Rede do TCP/IP fornecem confirmagées entre a origem eo destino final, endo entre maquinas sucessivas ao longo do caminho, mesmo que a origem ¢ 0 destino nao se conectem a uma rede fisica comum. © Padrdes de protocolo de aplicacao, Além dos servicos basicos em nivel de transporte (como as conexdes de fluxo con- Havel), os protocolos TCP/P incluem padrdes para muitas aplicagdes comuns, incluindo e-mail, transferéncia de arquivos ¢ login remoto. Assim, ao projetar programas aplicativos que utilizam o TCP/IP, os programadores nor- malmente acham que o software existente fornece os servigos de comunicacio de que precisam. Os capitulos posteriores discutirdo os detalhes dos servicos fornecidos ao programador, além de muitos dos padroes do protocolo de aplicacao. 1.4 Histéria e escopo da Internet Parte do que toma a tecnologia TCP/IP tao interessante é sua adocdo universal ¢ 0 tamanho e taxa de crescimento da Internet global. A DARPA comecow a trabalhar em direcéo a uma tecnologia de interconexao de redes em meados dos anos 70, coma arquitetura € os protocolos tomando sua forma atual por volta de 1977-79. Nessa época, a DARPA era co- nhecida como a principal agéncia financiadora de pesquisa de redes de comutagao de pacotes, pioneira de muitas idéias nna comutagéo de pacotes, com sua conhecida ARPANET. A ARPANET usava interconexées de linha alugada pon- to-a-ponto convencional, mas a DARPA também financiou a exploracao da comutaglo de pacotes por redes de radio e ca- nais de comunicagdo por satélite. Na realidade, a diversidade crescente das tecnologias de hardware de rede ajudow a for- car a DARPA a estudar a interconexao de rede e levou adiante a interligacao de redes. A disponibilidade do financiamento de pesquisa da DARPA chamou a atencio ¢ a imaginacao de varios grupos de pes- quisa, especialmente aqueles pesquisadores que ja tinham experiéncia anterior no uso da comutacio de pacotes na ARPANET. DARPA marcou reunides informais de pesquisadores para compartilhar idéias e discutir resultados de expe- riencias. Informalmente, 0 grupo era conhecido como Internet Research Group. Em 1979, tantos pesquisadores estavam. ‘envolvidos no esforgo do TCP/IP que a DARPA criou um comite informal para coordenar e guiar o projeto dos protocolos ‘eaarquitetura da Internet emergente. Denominado Internet Control and Configuration Board (ICCB), 0 grupo se reunia re- gularmente até 1983, quando fot reorganizado. AlInternet global comecou por volta de 1980, quando a DARPA comecou a converter méquinas conectadas as suas re- des de pesquisa aos novos protocolos TCP/P. Jé em funcionamento, a ARPANET rapidamente se tornou o backbone da znova Internet e foi usada para muitas das primeiras experiéncias com TCP/IP. A transico para a tecnologia de Internet foi completada em janeiro de 1983, quando a Secretaria de Defesa determinou que todos os computadores a redes de longa distancia usassem TCP/IP. Ao mesmo tempo, a Defense Communication Agency (DCA) dividiu a ARPANET em duas redes separadas, uma para continuar a pesquisa e uma para comunicacao militar. A parte de pesquisa reteve o nome ARPANET; parte militar, que era um pouco maior, tornou-se conhecidla como a rede militar (MILNET). Para encorajar pesquisadores universitarios a adotarem e usarem 0s novos protocolos, a DARPA tornou a implementa- ‘40 dispontvel a baixo custo, Nesse tempo, a maior parte dos departamentos de cigncia de computacio estavam executan- do uma versio do sistema operacional UNIX dispontvel no Berkeley Software Distribution da Universidade da California, normalmente chamado Berkeley UNIX ou BSD UNIX. Ao financiar a Bolt Beranek e Newman, Incorporated (BBN) para CAPITULO 1: Introdugao efundamentos 5 implementar seus protocolos TCP/IP para uso com UNIX e ao financiar a Berkeley para integrar os protocolos com sua distribuigao de software, a DARPA foi capaz de alcancar mais de 90% dos departamentos de ciéncia de computagao das universidades. © novo protocolo chegou em uma época particularmente significativa, pois muitos departamentos esta- vam acabando de adquirir segundo ou terceiro computadores ¢ conectando-os a redes locals. Os departamentos precisa- vvam de protocolos de comunicacdo que fornecessem servicos como transferéncia de arquivos. Alem de um conjunto de programas utilitarios, o Berkeley UNIX fornecia uma nova abstragdo no sistema operacional conhecida como socket, permitindo que programas aplicativos acessem protocolos de comunicac4o. Uma generalizacio do mecanismo UNIX para E/S, a interface socket tem opgdes para varios tipos de protocolos de rede, além do TCP/P. A introdugao da abstracdo de socket fot importante porque permitiu que os programadores usassem protocolos TCP/IP com ouco esforgo. A interface socket tornou-se o padrdo de fato, sendo usado na maioria dos sistemas operacionais. Percebendo que a comunicacio de redes logo seria uma parte crucial da pesquisa cientifica, a National Science Foun- dation (NSF) assumiu um papel ativo na expansio da Internet TCP/IP no sentido de alcancar 0 maximo de cientistas pos- sivel. No final da década de 1970, a NSF patrocinou um projeto conhecido como Computer Science NETwork (CSNET), que teve como seu objetivo conectar todos os cientistas de computacdo. A partir de 1985, a NSF iniciou um programa para estabelecer redes de acesso em torno de seus seis centros de supercomputacao, e em 1986 expandiu os esforcos de rede fi- nanciando uma nova rede de backbone, conhecida como backbone NSFNET. A NSF também fornecen muito dinheiro para redes regionais, cada uma conectando as principais instituigdes de pesquisa cientifica em determinada area. Apés sete anos de seu inicio, a Internet cresceu para se espalhar por centenas de redes individuais, localizadas por to- dos os Estados Unidos e Europa, Conectava quase 20.000 computadores em niversidades, governos ¢ laboratérios de pesquisa. Tanto 0 tamanho quanto o uso da Internet continuow a crescer muito mais rapidamente do que foi previsto. Ao final de 1987, estimou-se que o crescimento tinha atingido 15% por més. Em 2005, a Internet global atingiu quase 300 mi- Thdes de computadores em 209 paises. ‘A adogio antecipada dos protocolos TCP/IP e o crescimento da Internet nao foram limitados a projetos financiados pelo governo. As principais corporagdes fabricantes de computador se conectaram a Internet, assim como muitas outras grandes corporagdes, incluindo: companhias de petréleo, industria automobilistica, empresas eletronicas, companhias farmaceuticas e operadoras de telecomuntcacoes. Empresas médias e pequenas iniciaram sua conexao no final dos anos 90. Alem disso, muitas empresas usaram protocolos TCP/IP em suas intranets corporativas mesmo que escolhessem nao fazer parte da Internet global. 1.5 © comité de arquitetura da Internet Como o conjunto de protocolos TCP/IP nao surgiu de um fornecedor especifico ou de uma sociedade profissional reco- nhecida, € natural perguntar “quem definiu a direcdo técnica e decidiu quando os protocolos se tornariam padroniza- dos?” A resposta é um grupo conhecido como Internet Architecture Board (IAB)°, formado em 1983, quando a DARPA re- organizou o Internet Control and Configuration Board. O IAB proveu o foco ea coordenacio para grande parte da pesqui- sa e desenvolvimento por tras dos protocolos TCP/IP, e conduzin a evolugo da Internet. Ele decidiu quais protocolos se- riam parte obrigat6ria do conjunto TCP/P e defini polticas oficiats 1.6 A reorganizagdo do IAB No vero de 1989, tanto a tecnologia TCP/IP quanto a Internet cresceram muito além do projeto de pesquisa inicial, en- trando em instalagdes de producio das quais milhares de pessoas dependiam para os negocios do dia-a-dia. Nao era mais possivel introduzir novas idéias alterando algumas instalacoes da noite para o dia. Em grande parte, as centenas de empre- sas comerciais que oferecem produtos TCP/IP determinaram se os produtos interoperariam decidindo quando incorporar ‘mudancas em seu software. Os pesquisadores que elaboraram especificacdes e testaram novas idéias em laborat6rios nao poderiam mais esperar aceitacdo e uso instantdneo das idéias. Foi irOnico que os pesquisadores que projetaram e observa ram o TCPAP se desenvolver se encontraram sufocados pelo sucesso comercial de sua criaglo. Resumindo, o TCP/IP tor- nou-se uma tecnologia de producio bem-sucedida, e o mercado comecou a dominar sua evolucto. Para refletir as realidades politicas e comerciais do TCP/IP e da Internet, 0 TAB fot reorganizado no verto de 1989. Os pesquisadores foram movidos do proprio IAB para um grupo subsidiario conhecido como Internet Research Task Force 3.1AB originalmente significava Internet Activities Board, 6 _INTERLIGAGAO DE REDES COM TCP/IP Douglas E. Comer ELSEVIER ARTE), € um novo comité do LAB foi constituido para incluir representantes da comunidade mais ampla. A responsabili- dade pelos padrdes de protocolos e outros aspectos técnicos passaram para um grupo conhecido como Internet Enginee- ring Task Force (IETF). OIETF existia na estrutura original do IAB, e seu sucesso forneceu parte da motivacdo para a reorganizaclo. Diferente dda maioria das forcas-tarefa do IAB, que eram limitada’ a alguns individuos que focavam uma questao espectfica, o IETF ‘era grande — antes da reorganizacao, ele tinha crescido para incluir dezenas de membros ativos que trabalhavam em mui- tos problemas simultaneamente. Apos a reorganiza¢ao, o IETF fol dividido em mais de 20 grupos de trabalho, cada qual fo- cando um problema especifico. Como o IETF era muito grande para um unico presidente dirigir, ele foi dividido em aproximadamente dez areas, cada uma com seu proprio gerente. O presidente do IETF e os gerentes de area constituem o Internet Engineering Steering Group (IESG), 0 individuos responsiveis por coordenar os esforcos dos grupos de trabalho do IETF, O nome *IETE” agora se refere A agencia inteira, incluindo o presidente, os gerentes de area e todos os membros dos grupos de trabalho. 1.7 Request For Comments Dissemos que a tecnologia TCP/IP nao pertence a nenhum fornecedor nem a qualquer sociedade profissional ou agéncia de padroes. Portanto, a documentacdo dos protocolos, padrées e politicas nao pode ser obtida de um fornecedor. Em vez disso, a documentacio ¢ colocada em reposit6rios on-line e encontra-se dispontvel sem qualquer cobranca. A documentacio do trabalho na Internet, as propostas para protocolos novos ou revisados e os padres do protocol TCP/P aparecem em uma série de relatorios técnicos chamados Internet Requests For Comments, ou RECs. As RFCs po- dem ser curtas ou longas, podem abranger conceitos amplos ou detalhes e podem ser padrdes ou simplesmente propostas ara novos protocolos. Existem referencias a RFCs no decorrer do texto. Embora as RFCs nao sejam referidas da mesma ‘maneira que 0s artigos de pesquisa académicos, elas so editadas, Durante muitos anos, um tinico individuo, Jon Postel, ‘trabalhou como editor de RFC. A tarefa de editar RFCs agora esta com gerentes de area do IETF; o IESG como um todo aprova novas RFCs. A série RFC € numerada seqiiencialmente na ordem cronologica em que as RECs so escritas. Cada RFC nova ou revi- sada recebe um novo ntimero, de modo que os leitores devem ter cuidado para obter a versdo de niimero mais alto de um. documento; um indice de RFCs esta dispontvel para ajudar a identificara versao correta. Além disso, versdes preliminares dos documentos de RFC, conhecidas como Internet drafts, também estio dispontveis, As RFCs e os Internet Drafts podem ser obtidos em http://www. ietf.org. 1.8 Crescimento futuro e tecnologia Tanto a tecnologia TCP/IP quanto a Internet continuam a evoluir. Novos protocolos estao sendo propostos; antigos esto sendo revisados. A demanda mais significativa na tecnologia de conectividade nao surge de conexses de rede adicionais, tas de tréfego adicional. A medlida que novos usuarios se conectam a Internet e novas aplicacdes aparecem, os padroes de trifego mudam. Por exemplo, quando os usuarios comecaram a navegar por informagoes usando servicos como a World Wide Web, o trifego aumentou drasticamente. Mais adiante, quando o compartilhamento de arquivos torou-se popular, os padroes de trafego mudaram novamente. Mais mudancas estao ocorrendo enquanto a Internet é usada para servigos de telefonia e video. ‘A Figura 1.1 resume a expansio da Internet eilustra um componente importante do crescimento: grande parte da mu- soft, e outa que usa a Transport Layer Interface (TL. 8 _INTERLIGAGAO DE REDES COM TCP/IP Douglas E. Comer ELSEVIER PARA ESTUDO COMPLEMENTAR AtHistory Of The ARPANET, de Cerf [1989] ¢ History of the Internet Activities Board [RFC 1160] oferecem uma leitura fas- cinante e levam 0 leitor aos primeiros trabalhos de pesquisa sobre TCP/IP e interligagao de redes. Denning {nov-dez 1989] tem um ponto de vista diferente da historia da ARPANET. Jennings et.al. [1986] discute a importancia das redes de computadores para os cientistas, Denning [set-out 1989] também indica a importancia da interligacao de redes e oferece ‘um cenério possivel para uma Internet de alcance mundial. O U.S. Federal Coordinating Committee for Science, Enginee- ring and Technology (FCCSET) sugeriu que as redes deveriam ser uma prioridade nacional. OIETF (ietf.org) publica minutas a partir de suas reunides regulares. © World Wide Web Consortium (w3c.org) pro- uz protocolos e padrdes para tecnologias Web. Finalmente, o leitor é encorajado a se lembrar de que o conjunto de pro- tocolos TCP/P ea Internet continuam a evoluir; novas informacdes poderao ser encontradas nas RFCs e em conferéncias como 0 ACM SIGCOMM Symposium anual. EXERCIcIOS 1.1 Explore os programas aplicativos no seu site que utilizam TCP/P. 12 Desenhe o crescimento da tecnologia TCP/P e acesso a Internet em sua organizacao. Quantos computadores, studios e redes foram conectados a cada ano? 13 Os produtos TCPAP sto responsaveis por bilhoes de dolares por ano em receita bruta. Leia publicacdes do setor para encontrar uma lista de fornecedores que oferecem esses produtos. | CAPITULO 2 Revisao das tecnologias de rede basicas ee 24 Introducao 2.2 —Duas abordagens para a comunicagao em rede 2.3 Rates locals e redes de longa distancia 24 Tecnologia Ethemet 2.5 Ethemet Comutada 2.8 Asynchronous Transfer Mode 2.7 Resumo 1 Introdugao E importante entender que a Internet nao é um novo tipo de rede fisica. Na verdade, ela é um metodo de interconexao de redes fisicas e um conjunto de convencées para uso de redes que permite a interacao dos computadores que elas alcan- cam. Embora o hardware de rede desempenhe apenas um papel secundério no projeto geral, para entender a tecnologia de Rede, € preciso distinguir entre os mecanismos de baixo nivel fornecidos pelo proprio hardware ¢ as facilidades de alto nf- vel que o protocolo TCPAP oferece. Também ¢ importante entender como as interfaces fornecidas pela tecnologia basica de comutagao de pacotes afetam nossa escolha de abstracdes de alto nivel. Este capitulo apresenta os conceitos basicos ¢ a terminologia de comutagao de pacotes, ¢ depois reve algumas das tecnologias de hardware de rede basicas que foram usadas nas Redes TCP/IP. Os capttulos posteriores descrevem como essas redes sao interconectadas e como os protocolos TCP/IP acomodaram as grandes diferencas no hardware. Embora a lista apresentada aqui certamente nao seja abrangente, ela demonstra claramente a variedade entre redes fisicas pelas quais 0 TCP/IP opera. O leitor pode seguramente pular muitos dos detalhes técnicos, mas deve tentar entender a idéia de comutacao de pacotes e tentar imaginar a criagao de um sistema de comunicagdo homogeneo usando esse hardware tao heterogeneo. Mais importante, 0 leitor deve examinar de perto os detalhes dos esquemas de endereco fisicos que as diversas tecnologias utilizam; os capstulos posteriores discutirao com detalhes como os protocolos de alto nivel wtili- zam os endere¢os fisicos. 2.2 Duas técnicas para a comunicagao em rede Quer fornecam conexdes entre dois computadores ou entre um terminal e um computador, as redes de comunicagdo po- dem ser divididas em dois tipos basicos: orientadas a conexdo (as vezes chamadas comutacdo de circuitos) ¢ sem conexao (as 1. Teenologis hibridas também sto posstvets. 10 INTERLIGAGAO DE REDES COM TCP/IP Douglas E. Comer ELSEVIER vezes chamadas comutacdo de pacotes)!. As redes orientadas a conexao operam formando uma conexao dedicada ow cir- ‘euito entre dois pontos. Os sistemas de telefone tradicionais usam uma tecnologia orientada a conexio ~ uma chamada te- lefonica estabelece uma conexao do telefone de origem através da central de comutacio local, através de linhas tronco, até uma central de comutagao remota, e finalmente ao telefone de destino.? Enquanto uma conexao €estabelecida, o equi- pamento faz amostragens do microfone repetidamente, Codifica as amostras digitalmente e as transmnite pela conexao até ‘receptor. O emissor tem garantias de que as amostras podem ser entregues e reproduzidas porque a conexao oferece um caminho de dados garantido de 64 Kbps (milhares de bits por segundo), a taxa necesséria para enviar vor digitalizada. A vantagem da rede orientada a cbnexao esta em sua capacidade garantida: quando um circuito ¢ estabelecido, nenhuma outta atividade da rede diminui a capacidade dese circuito. Uma desvantagem da tecnologia orientada a conexao surge do custo: os custos do circuito so fixos, independente do uso. Por exemplo, alguém paga uma taxa fixa por uma ligagao telefOnica, mesmo quando as duas partes no conversam. As redes sem conexio, 0 tipo normalmente usado para conectar computadores, utilizam uma técnica inteiramente di- ferente. Em uma rede sem conexao, os dados a serem transferidos através da rede sao divididos em pequenas partes, cha- ‘madas pacotes, que si multiplexadas em conexdes entre maquinas de alta capacidade, Um pacote, que normalmente con- tém apenas algumas centenas de bytes de dads, transporta identificagao que permite ao hardware de rede saber como en- vvidela para o destino especificado. Por exemplo, um arquivo grande a ser transmitido entre duas méquinas precisa ser des- membrado em muitos pacotes que sio enviados pela rede um de cada vez. O hardware de rede entrega os pacotes ao desti- no especificado, onde o software os temonta em um tinico arquivo novamente. A principal vantagem da comutagao de pa- cotes € que varias comunicacdes entre os computadores podem ocorrer concorrentemente, com conexdes compartilhadas entre maquinas por todos os pares de computadotes que estio se comunicando. A desvantagem, naturalmente, € que quando a atividade aumenta, determinado par de computadores em comunicacao recebe menos que a capacidade de rede. Ou seja, se uma rede de comutacio de pacotes se tornar sobrecarregada, os computadores que utilizam a rede precisam es- perar antes que possam enviar pacotes adicionais. Apesar da desvantagem em potencial de nao ser capaz de garantir a capacidade da rede, as redes sem conexio tém se tornado extremamente populares. As motivacoes para adotar a comutagao de pacotes so custo ¢ desempenho. Como vi- ros computadores podem compartilhar a largura de banda da rede, menos conextes sto necessérias, eo custo ¢ mantido baixo. Como os engenheiros tem sido capazes de construir um hardware de rede de alta velocidade, a capacidade normal- mente nio é um problema, Tantas interconexdes de computador utilizam redes sem conexao que, no restante deste texto, ‘vamos considerar que o termo rede se refere a uma rede sem conexdo, a menos que seja dito de outra forma. 2.3 Redes locais e redes de longa distancia As redes de dados que cobrem grandes distancias geograficas (por exemplo, os Estados Unidos continental) sao funda- ‘mentalmente diferentes daquelas que cobrem curtas distancias (por exemplo, uma sala). Para ajudar a caracterizaras dife- rrengas em capacidade e uso pretendido, as tecnologias de comutacdo de pacotes normalmente sto divididas em duas cate- gorias gerais: redes de longa distancia (WANs) e redes locais (LANs). As duas categorias nao possuem definicdes formais. Em vez disso, os fornecedores aplicam os termos de forma livre para ajudar os clientes a diferenciar as tecnologias. ‘Tecnologias WAN, as vezes chamadas long haul networks (redes de transporte a longa distancia), fornecem comunicacdo alongas distancias, A maioria das tecnologias de WAN nao limita o leque de distancia; uma WAN pode permitir que as ex- twemidades de uma comunicacao sejam distanciadas arbitrariamente. Por exemplo, uma WAN pode cobrir um continente ou pode unir computadores através do um oceano. Normalmente, as WANs operam em velocidades mais baixas que as LANs, e possuem muito mais atraso entre as conexdes. As velocidades tipicas para uma WAN variam de 1,5 Mbps (ani- Indes de bits por segundo) até 2,4 Gbps (bilhdes de bits por segundo). Os atrasos através de uma WAN podem vatiar de alguns milissegundos até varias dezenas de segundo? Tecnologias de LAN fornecem as conexdes de mais alta velocidade entre os computadores, mas sacrificam a capacida- de de cobrirlongas distancias. Por exemplo, uma LAN tfpica cobre uma pequena area como um tinico prédio ow um pe- ‘queno campus ¢ opera entre 100 Mbps e 10 Gbps. Como as tecnologias de LAN cobrem curtas distancias, elas oferecem Imenores atrasos que as WANS. O atraso através de uma LAN pode ser tio curto quanto algumas dezenas de um milisse- gundo até 10 milissegundos. 2. A telefonia baseada em IP esta substiindo a tecnologia de telefonia tradicional 3. Esses atrasos ocorrem em WANs que se comunicam enviando sinais para um satelite na orbits da terra, 7X ox CAPITULO 2: Reviséo das tecnologias de rede bésicas 11 Jé falamos sobre a relacao custo beneficio entre velocidade ¢ distancia: as tecnologias que oferecem comunicagao de ‘mais alta velocidade operam por distancias mais curtas. Também existem outras diferencas entre as tecnologias. Em tec- nologias de LAN, cada computador normalmente contém um dispositive conhecido como placa de interface de rede (Net- work Interface Card —NIC) que conecta a maquina diretamente & rede. A propria rede nao precisa conter muita inteligen- cia; ela pode depender de dispositivos de interface eletronica nos computadores conectados para gerar e receber sinais elé- tricos complexos. Em tecnologias de WAN, uma rede normalmente consiste em uma série de computadores complexos, chamados de comutadores de pacotes, interconectados por linhas de comunicacao de longa distancia. O tamanho da rede pode ser estendido acrescentando um novo comutador (switch) e outra linha de comunicacao. A conexao do computador de um usuério a uma WAN significa conecté-lo a um dos switches de pacotes. Cada switch ao longo de um caminho na WAN introduz atraso quando recebe um pacote ¢ o encaminha para o proximo switch. Assim, quanto maior a WAN se tomar, mais tempo levara para o trafego ser encaminhado através dela. Este livro discute o protocolo que oculta as diferenas tecnologicas entre as redes e torna a interconexiio independente do hardware basico, Para apreciar escolhas de projeto no software, € necessirio entender como ele se relaciona com 0 hardware da rede. As proximas segdes apresentam exemplos de tecnologias de rede que foram usadas na Internet, mos- trando algumas das diferencas entre elas. Outros capitulos mostram como o TCP/IP isola essas diferencas e torna o siste- ma de comunicacdo independente da tecnologia de hardware basica. 2.3.1 Enderegos de hardware de rede Cada tecnologia de hardware define um mecanismo de enderecamento que os computadores utilizam para especificar 0 destino para um pacote. Cada computador conectado a uma rede recebe um enderego exclusivo, normalmente um inte ro. Um pacote enviado através uma rede inclui um campo de endereco de destino que contém o endereco do destinatario desejado, O endereco de destino aparece no mesmo local em todos os pacotes, possibilitando ao hardware de rede exami- nar 0 endereco de destino com facilidade. Um emissor precisa saber 0 endereco do destinatario desejado, e precisa colocar o enderego do destinatario no campo de enderego de destino de um pacote antes de transmitir 0 pacote. Cada tecnologia de hardware especifica como sao atribuidos os enderecos aos computadores. O hardware especifica, porexemplo, o ntimero de bits no endereco e também o local do campo de endereco de destino em um pacote. Embora al- gumas tecnologias utilizem esquemas de enderecamento compativeis, muitas nao utilizam. Este capftulo contém alguns cexemplos de esquemas de enderecamento de hardware; os préximos capitulos explicam como o TCP/IP acomoda diver- sos esquemas de enderecamento de hardware. 2.4 Tecnologia Ethernet Ethernet € um nome dado a uma tecnologia LAN de comutagao de pacotes desenvolvida pelo Xerox PARC* no infcio da década de 1970. Em 1978, a Xerox Corporation, a Intel Corporation e a Digital Equipment Corporation padronizaram a Ethernet: o IEEE lancou uma versio compativel do padrao usando o niimero de padrao 802.3. Ethernet tornou-se a tecno- logia de LAN mais popular: agora, ela aparece em praticamente todas as redes corporativas e pessoais. Como a Ethernet € ‘muito popular, existem muitas variantes. O esquema de fiacio original, que consistia em um cabo coaxial ao qual todos os computadores se conectavam, foi substitufdo. A tecnologia atual é conhecida como Ethemet de par trancado, pois permite ‘que um computador acesse uma Ethernet usando fios de cobre convencionais nao blindados, semelhantes aos fios usados para conectar telefones. As principais vantagens do uso da fiacao de par trancado (conhecida como cabo de categoria 5) ‘fo que ele reduz os custos e é mais facil de instalar do que o cabo coaxial. Formalmente conhecida como 10Base-T, a primeira Ethernet de par trancado operava a 10 Mbps, exatamente como a Ethernet original. Um conjunto de oito fios (quatro pares) ¢ usado para conectar cada computador a um hub ou switch Ethernet, como mostra a Figura 2.1, Somente quatro dos oito fios sio usados: um par transporta dados do computador para o hub e outro par transporta dados do hub para o computador. * Nota do Revisor Técnico: © Xerox Palo Alto Research Center (Xérox PARC) € uma subssitia da Xerox Corporation voltada pesquisa em diversas freas como Ciencias Soca, Fisica, Quimica e, obviamente, Computagt. Sua histéria de pioneirismo e inovacto, durantes mats de 3 década, € :mareada por diversustecnologiasdesenvolvidas tis como aimpresso a laser, a Imerface Grifica para Usuérios (GUD e a Ethernet. 4.0 termo par trancado surge poraue a fas telefPnica convencional usa técnica de trangaros fos para evitarinterferéncia. [Nota do Revisor Téc- nico: Defatoo ermo par trancado éequivocado, polos fos que compoem o par sto na verdade enrolados um sobre o outro enenkum par éentrela- «add com 08 outros | 12 INTERLIGAGAO DE REDES COM TCP/IP Douglas E. Comer ELSEVIER ‘Switch cabo de par trangado (varios fios) la rsserevtmihsleraalonl ‘computador A ‘computador B Figura 2.1 Uma ilustragao da Ethernet usando fiago de par trangado. Cada computador ‘se conecta a um switch usando um cabo com varios pares trangados. Q hub ¢ um dispositivo eletronico que simula os sinais em um cabo Ethernet, Fisicamente, um hub consiste em uma equena caixa que normalmente reside em um arméio de cabos: uma conexio entre um hub e um computador precisa ter menos de 100 metros de extensio, Um hub exige energia, e pode permitir que o pessoal autorizado monitore e contro- le sua operacao pela rede. Para um computador, uma placa de interface de rede que se conecta a um hub parece operar como um dispositive de E/S que pode ser usado para enviar ou receber dados. 2.4.1 Capacidade da Ethernet Embora o esquema de fiagao evolutsse do cabo coaxial original para o par trancado, grande parte do projeto original da Ethernet permaneceu igual. Em particular, o projeto de Ethernet de par trancado inicial operava na mesma taxa da Ether- net original: os dados poderiam ser transmitidos em 10 milhdes de bits por segundo. Embora um computador possa gerar dados na velocidade da Ethernet, a velocidade nominal da rede nao deve ser imaginada como a taxa na qual dois computa- dores podem trocar dados. Em vez disso, a velocidade da rede deve ser considerada como uma medida da capacidade total de trafego. Pense em uma rede como uma auto-estrada conectando diversas cidades, e pense nos pacotes como carros na estrada. Uma grande largura de banda torna possivel transportar intensas cargas de trifego, enquanto uma baixa largura de banda significa que a estrada nao pode transportar tanto trafego. Uma Ethernet de 10 Mbps, por exemplo, pode lidar com alguns computadores que geram cargas intensas, ou muitos computadores que geram cargas leves. No final da década de 1970, quando a Ethernet foi padronizada, uma LAN operando em 10 Mbps tinha capacidade mais do que suficiente para muitos computadores, pois as velocidades de CPU dispontveis e 0 hardware de interface de rede proibiam um determinado computador de transmitir dados rapidamente. Em meados da década de 1990, as veloc dades de CPU tinham aumentado drasticamente, assim como o uso das redes. Conseqientemente, uma Ethernet operan- do a 10 Mbps nao tinha capacidade suficiente para atuar como um backbone corporativo, nem sequer para uma corpora- sfo de tamanho moderado — a Ethernet tornou-se um gargalo. 2.4.2 Fast e Gigabit Ethernet Para contornar a limita¢ao do throughput (vazAo) da Ethernet, os engenheiros projetaram versdes mais rpidas da Ether- net, Uma versio comercializada como Fast Ethernet opera a 100 milhdes de bits por segundo, e Gigabit Ethernet (GigE) ‘pera a 1000 milhoes de bits por segundo. Conhecidas formalmente como 100Base-T e 1000Base-T, as verses mais répi 4 =f eas 6 eo i wu yx MK x ww x CX x CAPITULO 2: Revisio das tecnologias de rede basicas 13 das usam a mesma fiagao de par trancado de categoria 5 que é usada para 10Base-T: 0 aumento na velocidade ¢ obtido usando-se mais dos fios para transportar dados e alterando 0 mecanismo de sinalizacio. Além do Gigabit Ethernet por fio de cobre, a IEEE definiu um padrao para Ethernet por fibra éptica. Conhecido como 1000Base-X, a tecnologia converte um pacote Ethernet em pulsos de luz, que sio entio transferidos por uma fibra. As principais vantagens da fibra éptica so: maior capacidade e imunidade a interferéncia elétrica. A capacidade da fibra é su- ficiente para suportar taxas de bit muito mais altas do que 1 Gbps. Assim, os engenheiros ja estto desenvolvendo tecnolo- sas Ethernet de 10 a 40 Gbps. Para entender o significado do aumento na capacidade, € importante entender dots fatos. Primeiro, embora os com- putadores tenham se tornado mais répidos, poucos computadores podem transmitir dados em uma taxa sustentada de 1 Gbps. Segundo, as novas versoes da Ethernet nao mudaram outras partes do padrio. Em particular, o tamanho maximo do pacote permanece igual a 10Base-T. Esses dois fatos implicam que tecnologias Ethernet de alta velocidade nao foram otimizadas para prover o maior throughput possivel entre um par de computadores. Em vez disso, 0 projeto € otimizado para permitir mais estagdes e mais tréfego total 2.4.3 10/100/1000 Ethernet Apés o desenvolvimento da Fast Ethernet, os fabricantes comecaram a criar dispositivos que poderiam aceitar uma cone- xo a 10 ou 100 Mbps; a Ethernet moderna pode operar a 10, 100 ou 1000 Mbps. A tecnologia, conhecida como 10/100/1000 Ethernet, esta disponivel para NICs e também para switches, Mais importante, um dispositivo 10/100/1000 negocia auitomaticamente quando for conectado inicialmente, para determinar os tipos de cabo (paralelo ou cross-over) € a velocidade maxima que o outro lado da conexao pode suportar. Em esséncia, o hardware injeta sinais extras que o outro lado da conexio pode usar para determinar a configuracao correta. ‘A negociacao automatica e conservacio do formato original do pacote significa que um computador pode ser movido centre um switch Ethernet de 10 Mbps para um switch Gigabit sem reconfigurar 0 software ou alterar 0 driver de dispositi- vo. Do ponto de vista do protocolo, o hardware ¢ o cabeamento subjacentes s6 mudam a velocidade com que os pacotes podem ser enviados; os pacotes em si sio intercambiaveis entre tecnologias Ethernet. 2.4.4 Energia pela Ethernet Alem de outras inovagdes, os engenheiros desenvolveram uma tecnologia conhecida como Power over Ethernet (POE), que pode enviar uma pequena quantidade de energia clétrica pelo mesmo cabo de cobre usado para Ethernet. O ponto impor- tante € que a tecnologia € organizada de modo que a presenca de energia nao degrade a transmissio de dados. Embora a ‘quantidade de energia que PoE fornece seja insuficiente para um computador, a inovacio ¢ particularmente importante para pequenos dispositivos, como um telefone IP, pois significa que o dispositivo precisa apenas de um cabo. 2.4.5 Propriedades de uma Ethernet A Ethernet foi projetada para ser uma tecnologia de barramento compartilhado que suporta broadcast, usa semantica de entrega pelo melhor esforco (best-effort) ¢ possui controle de acesso distribuido. A tecnologia é chamada barramento com- partithado porque todas as estagdes se conectam a um canal de comunicac4o tinico, compartilhado: ele € chamado de tec- nologia de broadcast, pois todas as estacdes recebem cada transmissio, tornando possivel transmitir um pacote para todas as estagdes ao mesmo tempo. Os métodos usados para direcionar pacotes de uma estacio para exatamente outra estacdo ou para um subconjunto de todas as estacdes serio discutidos mais adiante, A Ethernet é chamada de mecanismo de entre- gapelomelhor esforco porque o hardware nao fornece informacdes ao emissor sobre se o pacote foi entregue. Por exemplo, ‘se a maquina de destino for desligada, os pacotes enviados a ela serio perdidos € o emissor nao sera notificado. Veremos mais adiante como os protocolos TCP/IP acomodam o hardware de entrega pelo melhor esforco. ‘O controle de acesso da Ethernet é distribuido porque, diferente de algumas tecnologias de rede, a Ethernet nao possui autoridade central para conceder acesso. O esquema de acesso Ethernet ¢ chamado Carrier Sense Multiple Access with Col- lision Detect (CSMAJCD). Ele 6 CSMA porque varias méquinas podem acessar uma Ethernet simultaneamente, e cada ma- quina determina se a rede esta ociosa verificando se uma onda portadora est presente. Quando uma interface do host tem ‘um pacote para transmitir, ela escuta para saber se uma mensagem esta sendo transmitida (ou seja, realiza a verificacdo da 14 INTERLIGAGAO DE REDES COM TCP/IP Douglas E. Comer ELSEVIER resenca da portadora). Quando nenhuma transmissao ¢ percebida, a interface do host comeca a transmitir. Cada trans- tissio € limitada em duragao, pols existe um tamanho maximo de pacote. Além do mais, o hardware precisa aguardar jum tempo minimo entre as transmissdes, o que significa que nenhum par isolado de maquinas em comunicacao pode usar a rede sem dar a outras méquinas uma oportunidade para acesso, 2.4.6 Deteceao de coliséo e recuperacio Quando uma estacao inicia a transmissio, o sinal nao alcanca todas as partes da rede simultaneamente. Em vez disso, ele trafega por fios de cobre em aproximadamente 70% da velocidade da luz. Assim, ¢ possivel que duas estacées sintam quea rede esté ociosa e comecem a transmitir simultaneamente. Quando os dois sinais elétricos se cruzam, eles se misturam, significando que nenhum permanece significativo. Esses incidentes sao chamados de colisdes. ‘Ethernet trata das colisdes de uma forma engenhosa. Cada estacao monitora o cabo enguuanto esta transmitindo, para ‘ver se um sinal externo interfere com sua transmissio. Tecnicamente, o monitoramento é chamado de deteccao de colisao (Collision Detection ~ CD ), tornando a Ethernet uma rede CSMA/CD. Quando uma colisio é detectada, a interface do host aborta a ransmissio, espera que a atividade termine ¢ tenta novamente. Deve-se ter cuidado ou entito a rede pode acabar com todas as estagdes tentando transmitir 0 tempo inteiro, e cada transmissto produzindo uma colisto, Para aju- dar aevitaressas situagdes, a Ethemet usa uma politica de recuo exponencial bindrio, na qual um emissor espera por um tempo aleatorio depois da primeira coliso, dobra o intervalo se uma segunda tentativa de transmitir também produzir ‘uma colisio, e assim por diante. A motivacdo para o recuo exponencial (exponential backoff) é que, se, em um dado mo- mento, muitas estagdes tentarem transmitir simultaneamente, pode haver um engarrafamento de trafego severo. Nesse engarrafamento, existe uma grande probabilidade de duas estacoes escolherem recuos arbitrarios muito proximos. Assim, a probabilidade de outra colisao €alta. Dobrando o intervalo do atraso aleatOrio, a estratégia de recuo exponencial rapidamente espalha as tentativas das estagdes de retransmitir por um periodo de tempo razoavelmente longo, tornando extremamente pequena a probabilidade de outras colisdes. 2.4.7 Redes sem fio e Ethernet OIEEE desenvolveu uma série de padroes para redes sem fio que sto bastante relacionados & Ethernet. O mais conhecido, que tem o ntimero de padrio TEE 802.11b e € comercializado sob o nome Wi-Fi, esté disponivel em muitos computado- res laptop. O Wi-Fi oferece largura de banda de até 11 Mbps, mas normalmente opera entre 2,5 a 4 Mbps; as alternativas que operam até 54 Mbps possuem mimeros 802.1 1a e 802.11g°. Cada um dos trés padrdes pode ser usado de duas formas como tecnologias ce acesso em que uma tinica estagao base (chamada ponto de acesso) acomoda varios clientes (por exem- Plo, usudrios com laptops) ¢ em uma configuragao ponto-a-ponto usada para conectar exatamente dois pontos de acesso, © IEEE também definiu uma tecnologia de velocidade mais alta voltada principalmente para interconexdes pon to-a-ponto. Comercializada como Wi-Max e recebendo um niimero de padrao 802.16, a tecnologia é de mais interesse para provedores de rede ou corporagées que precisam conectar dois sites. Finalmente, o IEEE tem planos de introduzit ‘um padrao 802.11n sem fio para 540 Mbps e um padrio 802.11i para seguranca. 2.4.8 Enderegos de hardware Ethernet ‘A Ethernet define um esquema de enderecamento de 48 bits que se tornou um padrio para o setor. Cada placa de interface de rede recebe um nuimero de 48 bits exclusivo, conhecido como endereco Ethernet. Para atribuir um endereco, os fabri. antes de hardware Ethernet compram blocos de enderecos® Ethernet e Ihes atribuem em seqaéncia quando fabricam 0 hardware de interface Ethernet. Assim, duas interfaces de hardware nao terio o mesmo endereco Ethernet. Normalmente, o endereco Ethernet ¢ fixado em formato legivel maquina no hardware de interface do host. Como cada enderego Ethernet pertence a um dispositivo de hardware, eles as vezes sao chamados enderecos de hardware, endere. {0% fisios,enderecos de acesso a midia (MAC Address), ou endereos de camada 2. Observe a seguinte propriedade impor- tante dos enderecos fisicos Ethernet: 5. 802.11g pode interoperar com 802.11b. 6 O Institute for Electrica and [Electronic Engineers (IEEE) controlao espaco de enderesos Fthemeteatribui enderegosconformea necessidade. TERRE RE Seda cat CCX ( Yr CAPITULO 2: Reviséo das tecnologias de rede bésicas 15 ‘Um endereco Ethernet é assaciado ao hardware da interface, € ndo ao computador; mover a interface de hardware para uma nova maquina ou substituir a interface de hardware que falhou muda o endereco fisico da maquina. Saber que os enderecos fisicos Ethernet podem mudar esclarecera por que os nfveis mais altos do software de rede so projetados para acomodar tais mudancas. Lembre-se de que, quando os computadores se conectam a um hub, cada computador recebe uma cépia de cada pacote ‘que passa por um hub ~_mesmo aqueles enderecados para outras maquinas. O hardware de interface do host usa o campo de endereco de destino em um pacote como um filtro. A interface ignora aqueles pacotes que sio enderecados a outras _maquinas, e passa para o host apenas os pacotes enderecados a ele. Embora a CPU do computador pudesse realizar a veri- ficagdo, fazer isso na interface do host evita que o trafego na Ethernet atrase o processamento em todos os computadores. ‘Um endereco Ethernet de 48 bits pode fazer mais do que especificar um tinico computador de destino. Um endereco pode ter um destes trés tipos: * Oeendereco fisico de uma interface de rede (um endereco unicast) * Oeendereco de broadcast da rede © Um endereco multicast Por convencio, o endereco de broadcast (todos bits em 1) € reservado para enviar a todas as estagdes simultaneamente. Os enderecos multicast provéem uma forma limitada de broadcast, em que um subconjunto dos computadores em uma rede concorda em escutar determinado endereco multicast. O conjunto de computadores participantes ¢ chamado grupo multicast. Para juntar um grupo multicast, um computador precisa instruir sua interface de host para aceitar o endereco multicast do grupo. A vantagem do uso de multicast esta na capacidade de limitar broadcasts: cada computador em um grupo multicast pode ser alcancado com a transmissio de um tinico pacote, mas os computadores que escolhem nao par- ticipar de determinado grupo multicast nao recebem pacotes enviados ao grupo. Para acomodar o enderecamento de broadcast e multicast, o hardware de interface Ethernet precisa reconhecer ende- eos miiltiplos. Uma interface aceita pelo menos dois tipos de pacotes: aqueles enderecados ao endereco fisico (unicast) da interface ¢ aqueles enderecados ao enderego de broadcast da rede. Algumas interfaces podem ser configuradas para aceitar enderecos multicast especificos, um endereco fisico alternativo, ou todos os pacotes (conhecitlo como modo pro- ‘iscuo e usado para 0 monitoramento). Quando um computador ¢ reiniciado, o sistema operacional inicializa e configura interface, especificando os enderegos a aceitar. A interface, enti, examina o campo de endereco de destino em cada pa- cote, passando adiante para o computador apenas os pacotes permitidos pela configuracto, 2.4.9 Formato do frame Ethernet A Ethernet deve ser imaginadla como uma conexao em nfvel de enlace entre as méquinas. Assim, dizemos que uma Ether- net transmite um frame." Frames Ethernet sio de tamanho varidvel, nao sendo menor que 64 octetos® ou maior que 1518 ‘octetos (cabecalho, dados e CRC). Como em todas as redes de comutacao de pacotes, cada frame Ethernet contém um ‘campo que contém o endereco de seu destino. A Figura 2.2 mostra que o formato de frame Ethernet contém o endereco de origem fisico e também o endereco de destino. ‘Alem de identificar a origem e o destino, cada frame transmitido pela Ethernet contém um predimbulo, campo de tipo, cam- po de dados e um Cyclic Redundancy Check (CRC). O preambulo consiste em 64 bits de 0s ¢ 1s alternados para ajudar o sin- cronismo das interfaces de recebimento. O CRC de 32 bits ajuda a interface a detectar erros de transinissto: 0 emissor calcu- lao CRC como uma fungio dos dados no frame, ¢ 0 receptor recalcula o CRC para verificar se o pacote foi recebido intacto. ‘© campo de tipo de frame contém um inteiro de 16 bits que identifica o tipo de dado sendo transportado no frame. Do ponto de vista da Internet, 0 campo de tipo de frame ¢ essencial, pois significa que os frames Ethernet sao au- to-identificados. Quando um frame chega em determinada maquina, o sistema operacional usa o tipo de frame para deter- minar qual modulo do protocolo processa o frame. As principais vantagens dos frames auto-identificados so que eles 7.0 termo frame vem da comunicacto por linkas serials em que o emistor “emolduea” os dads acrescentando carateres espciais antes e depots das dados transmitidos 8. Teenicamente 0 termo byte referese ao amano do caractere dependente do hardware; os profissionas de ede utilizam otermo octet, poise re-se a uma quanidade de 8 its em todos os computadores 16 INTERLIGAGAO DE REDES COM TCP/IP Douglas E. Comer ELSEVIER Enderego Enderego Tipo de Preambulo de destino de origem frame Dados do frame cre Soctetos |6 octetos|6 octetos|2 octetos| 46-1500 octetos 4 octetos| Figura 2.2 0 formato de um frame Ethernet (pacote). 0 frame 6 precedido por um preambulo @ seguido por uma lacuna entre pacote. Os campos no estéo desenhados em escala. permitem que varios protocolos sejam misturados na mesma rede fisica sem interferéncia. Por exemplo, alguém pode ter ‘um aplicativo em um computador que utiliza protocolos Internet, enquanto outra aplicacao no mesmo computador tsa ‘um protocolo experimental local. O sistema operacional examina o campo de tipo de cada frame que chega para decidir como processar 0 contetido. Veremos que os protocolos TCP/IP utilizam frames Ethernet auto-identificados para distin- guir entre diversos protocolos. 2.4.10 Estendendo uma Ethernet com bridges ‘Uma bridge Ethernet € um dispositivo que conecta duas Ethernet e passa frames entre elas. Uma bridge nao replica ruido, erros ou frames mal formados; abridge precisa receber um frame completamente valido de um segmento antes que a brid- ge aceite e o transmita no outro segmento. Além do mais, cada conexao entre uma bridge e uma rede Ethernet segue as regras do CSMA/CD, de modo que as colisoes e os atrasos de propagacao em um segmento permanecem isolados daqueles no outro segmento. Como resultado, uma quantidade (quase) arbitréria de Ethernets pode ser conectada com bridges. uso de bridges € comum em muitas redes. Por exemplo, um cable modem tipico e conexdes Digital Subscriber Line (DSL) usadas no servico de Internet de banda larga implementam as bridges ~ frames Ethernet enviados na residéncia séo unida- des por bridges a0 ISP, e vice-versa. Do nosso ponto de vista, o ponto mais importante a entender sobre as bridges é: ~ Bridges exconde ollie da intercone so cinjunto de Segmentos em bridge atid como ind inca Ethemet, 0g ae 2 aoe Ou seja, as redes unidas por bridges sto classificadas como transparentes porque um computador nao sabe quantas bridges conectam os segmentos da rede. O computador usa exatamente o mesmo hardware, formato de frame e procedi- ‘mentos para se comunicar com um computador por uma bridge que sio usados para se comunicar com um computador em um hub local. ‘A maioria das bridges faz muito mais do que replicar frames de um fio para outro: elas tomam decis6es inteligentes so- bre quais frames encaminhar. Essas bridges sto chamadas bridges adaptativas ou de aprendizado. Uma bridge adaptativa consiste em um computador com duas interfaces Ethernet. O software em uma bridge adaptativa mantém duas listas de enderego, uma para cada interface. Quando um frame chega da Ethernet E,, a bridge adaptativa acrescenta o enderego de origem Ethernet de 48 bits @ lista associada a E,. De modo semelhante, quando um frame chega da Ethernet E,, a bridge acrescenta 0 endereco de origem a lista associada a E,. Assim, com o tempo, a bridge adaptativa descobrira quais maqui- nas estdo em E, € quais esto em Ep. Depois de registrar o endereco de origem de um frame, a bridge adaptativa usa o enderego de destino para determinar se deve encaminhar 0 frame. Sea lista de enderecos mostrar que o destino se encontra na Ethernet da qual o frame chegou, ‘abridge ndo encaminha o frame, Se o destino nao estiver na lista de enderecos (ou seja, o destino for'um endereco de bro- adcast ou multicast ou a bridge ainda nao tiver descoberto o local do destino), a bridge encaminha o frame para a outra Ethernet. ‘As vantagens das bridges adaptativas deverdo ser Obvias. Como a bridge usa enderecos encontrados no tréfego normal, cla ¢ completamente automatica — 0s humanos nao configuram a bridge com enderecos especificos. Como ela nao enca- minha trafego desnecessariamente, uma bridge ajuda a melhorar o desempenho de uma rede sobrecarregada,isolando 0 trafego em segmentos especificos. As bridges funcionam excepcionalmente bem se uma rede puder ser dividida fisica- ‘mente em dois segmentos que contém, cada um, um conjunto de computadores que se comunicam com freqiéncia (por exemplo, cada segmento contém um conjunto de estacdes de trabalho junto com um servidor, ¢ as estagées de trabalho direcionam a maior parte do seu trafego para o servidor). Resumindo: + CUCKUR ERE MUELLER KXEEE CAKE EE REREXUEEEEAR Ee Ce CAPITULO 2: Revisio das tecnologias de rede basicas_ 17 Uma bridge Ethernet adaptativa conecta dois segmentos Ethernet, encaminhando frames de um para outro. Ela usa enderecos deorigem para descobrir quais maquinasestdo em qual segmento Ethernet, e combina in- “formacdes aprendidas com enderecos de destino para eliminar o encaminhamento quando desnecessario. Do ponto de vista do TCP/IP, as Ethernets em bridge sto simplesmente outra forma de conexao de rede fisica. O ponto importante €: ‘Como a conexao entre Ethemets fornecida por uma bridge ¢ transparente as maquinas usando a Ethernet, pensamios em varios segmentos Ethernet conectados por bridges como um tnico sistema fisico de rede. ‘A maioria das bridges comerciais ¢ muito mais sofisticada e robusta do que nossa descri¢do indica, Quando ligadas int- cialmente, elas procuram outras bridges e descobrem a topologia da rede. Flas usam um algoritmo spanning-tree distri- buido para decidir como encaminhar os frames. Em particular, as bridges decidem como propagar pacotes de broadcast de modo que somente uma cépia de um frame broadcast seja entregue a cada fio. Sem esse algoritmo, Ethernets e bridges conectadas em loop produziriam resultados catastroficos, pots encaminhariam pacotes de broadcast nas duas direcdes si- rmultaneamente. 2.5 Switch Ethernet ‘Um switch Ethernet € um dispositivo que incorpora e estende o conceito de bridge. Um switch oferece varias conexdes, de- ‘nominadas portas, nas quais os dispositivos se conectam. Assim como uma bridge, um switch usa o endereco de origem € oendereco de destino em cada frame que chega quando encaminha o frame. O swich usa o endereco de origem para deter- minar qual computador se conecta a cada porta no switch, ¢ usa 0 endereco de destino no frame para determinar onde o frame deve ser enviado. Assim, um switch Ethernet pode ser visto como semelhante a uma bridge de multiplas portas. 2.6 Asynchronous Transfer Mode O Asynchronous Transfer Mode (ATM) € 0 nome dado a uma tecnologia de rede orientada a conexio que serve para uso nas LANs e WANs. O ATM foi projetado para permitir a comutagao de dados de alta velocidade. Para conseguir altas velocida- des de transferencia, o ATM utiliza técnicas de hardware e software de uso especial. Primeiro, uma rede ATM consiste em tum ou mais switches de alta velocidade que se conectam aos computadores ¢ a outros switches ATM. Segundo, as cama- das inferiores de uma rede ATM utilizam frames de tamanho fixo, chamados células. Como cada célula tem exatamente 0 ‘mesmo tamanho, o hardware de switch ATM pode processar as células rapidamente. 2.6.1 Tamanho da célula ATM ‘Surpreendentemente, cada célula ATM tem apenas 53 octetos de extensdo. A célula contém 5 octetos de cabegalho segui- dos por 48 octetos de dados. Porém, outros capitulos mostrardo que quando se ust ATM para enviar tréfego IP, o tamanho de 53 octetos ¢ irrelevante - uma rede ATM aceita e entrega muito mais pacotes. 2.6.2 Redes orientadas a conexéo OATM difere das redes de comutacio de pacotes descritas anteriormente, pois oferece servico orientado a conexto. Antes que um computador conectado a um switch ATM possa enviar células, uma conexao precisa ser estabelecida manualmen- te, ou1o host primeiro precisa interagir com o switch para especificar um destino. A interacdo ¢ semelhante a fazer uma li- gacdo telefonica.? © computador requisitante especifica o.endereco do computador remoto € espera que o switch ATM ‘encontre um caminho através da rede e estabeleca uma conexio. Se o computador remoto rejeitar a requisi¢ao, no res- ponder ou os switches ATM entre o emissor e o receptor ndo puderem atualmente estabelecer um caminho, a requisicao ppara estabelecer a comunicacao falha. ‘9 Como ATM suri de compantias telefonicasineressadas em transportar var ¢tsmibém dado, existe um relacionamento forte entre o projeto ATM co sistema telefonico. 18 — INTERLIGAGAO DE REDES CoM TCP/IP Douglas E. Comer ELSEVIER ‘Quando uma conexao ¢ obtida, o switch ATM local escolhe um identificador para a conexao e passa o identificador da conexo a0 computador, junto com uma mensagem que informa o sticesso ao computador. O computador usa o identifi- cador da conexao ao enviar ow receber células. ‘Ao terminar de usar uma conexio ATM, um computador novamente se comunica com o switch ATM para solicitar que ‘a conexao seja partida. O switch ento desconecta os dois computadores. A desconexio é equivalente a desligar um telefo- ne ao final de uma ligacao telefonica; apés uma desconexao, os computadores nao podem se comunicar até que estabele- ‘cam uma nova conexao. Além do mais, os identificadores usados para uma conexito podem ser reciclados; quando ocorre ‘uma desconexo, o switch pode rentilizar o identificador da conexdo para uma nova conexao. 2.6.3 Redes de Longa Distancia ponto-a-ponto Embora existam servicos de WAN como ATM, Switched Multimegabit Data Service (SMDS) e X.25, as WANs atuais io formadas pelo aluguel de circuitos de dados de uma companhia telefonica e uso dos circuitos para interconectar elemen- tos de rede. Empresas telefonicas originalmente projetavam circuitos digitais para transportar chamadas de voz digitaliza- das; foi 6 depois que seu uso nas redes de dados se tornou importante. Conseqdentemente, as taxas de dados dos circui- tos disponiveis nao sio poténcias de dez. Em vez disso, elas foram escolhidas para transportar miltiplos de 64 Kbps, pois ‘uma chamada de vor digitalizada usa uma codificagao conhecida como Pulse Code Modulation (PCM), que produz 8.000 amostras por segundo, em que cada amostra tem 8 bits ‘A tabela na Figura 2.3 lista algumas taxas de dados comuns usadas na América do Norte e na Europa, Circuitos digitais de taxas mais altas exigem o uso de filra. Além dos padroes que especificam a transmissio de altas ta- xas de dados pelo fio de cobre, as empresas de telefone desenvolveram padroes para transmissao das mesmas taxas por fi- bra optica. A tabela na Figura 2.4 contém exemplos. Naturalmente, os circuitos que operam nessas taxas de dados altas sdo consideravelmente mais dispendiosos do que 0s circuitos que operam em taxas mais baixas. Do ponto de vista do TCP/IP, qualquer sistema de comunicacdo que conecta exatamente dois computadores € conheci- do como rede ponto-a-ponto. Assim, um circuito de dados alugado entre dois computadores € um exemplo de uma rede ponto-a-ponto. Naturalmente, 0 uso do termo “rede” para descrever uma conexto entre dois computadores amplia o con- ceito. Porém, aprenderemos que visualizar uma conexio como uma rede ajuda a manter a coerencia. Por enquanto, 56 precisamos observar que uma rede ponto a ponto difere de uma rede convencional de uma maneira significativa: como s0- mente dois computadores se conectam, nenhum endereco de hardware necessério. Quando discutirmos 0 vinculo do endereco de Rede, a necessidade de enderecos de hardware tornard as redes ponto-a-ponto tuma excecdo. 2.6.4 IP dial-up © acesso dial-up a Rede é outro exemplo de uma rede ponto-a-ponto. Um modem dial-up em um computador € usado ‘para substituir uma chamada telefonica a outro modem. Normalmente, a chamada ¢ originada em uma residencia ¢ termi- naem um ISP. Quando a conexio telefonica ¢ feita, os dois modems usam sons audiveis para transmitir os dados. Do pon- Nome Taxa de bits Circuitos de voz Local - 0,064 Mbps 1 1 1,544 Mbps: 24 ‘América do Norte 72 6,312 Mbps 96 ‘América do Norte 13 44,796 Mbps 672 ‘América do Norte v4 274,760 Mbps 4032 ‘América do Norte et 2,048 Mbps: 30 Europa 2 8,448 Mbps. 120 Europa Es 34,968 Mbps 480 Europa Ea 139,264 Mops 1920 Europa Figura 2.3 Exemplos de taxas de dados disponiveis nos circuitos digitais alugados de uma companhia telefénica. As taxas foram escolhidas para codificar chamadas de voz multipias. 3 CXORKERE REA EEE EX EAEERERER LES TEAS ERALA LE dl i CAPITULO 2: Revise das tecnologias de rede bésicas 19 Nome padrao Nome éptico Taxa de bits Circuits de voz STS-1 0C-1 51,840 Mbps 810 STS-3 0c-3 155,520 Mbps 2430 sTS-412 oc-12 622,080 Mbps 9720 STS-24 0C-24 1,244,160 Mbps. 19440 STS-48 0-48 2,488 Gbps 38880 STS-96 0¢-96 4,976 Gbps 64512 STS-192 Oc-192 9,952 Gbps 129024 STS-256 0C-256 13,271 Gbps 172032 Figura 2.4 Exemplo de taxas de dados dos circultos de alta capacidade que podem ser alugados das companhias telefénicas. A fibra éptica 6 usada para conseguir as altas taxas por longas distancias. tode vista do TCP/IP, a discagem de uma chamada telefonica ¢ equivalente a esticar um flo, Quando a chamada ¢ respon- dida por um modem na outra ponta, existe uma conexio de um computador diretamente para outro, ¢ a conexio conti- nua enquanto for necessario, 7 Resumo Revisamos varias tecnologias de hardware de rede usadas pelos protocolos TCP/IP, variando desde tecnologias de Redes Locais (Local Area Network LAN) de baixo custo, como a Ethernet, até circuitos digits alugados e caros, que sio usa- dos para conexdes de redes de longa distancia, Embora os detalhes das tecnologias de rede espectficas nao sejam impor- tantes, uma idéia geral surgi (0s protocolos TCP/IP sao extremament flextveis; quase toda tecnologia pode ser usada para transferir otra fego TCPIP. : PARA ESTUDO COMPLEMENTAR (Os primeiros sistemas de comunicacio por computador empregavam interconexao ponto-a-ponto, normalmente usando ‘o hardware de linha serial de uso geral, que McNamara [1988] descreve. Metcalfe e Boggs [1976] apresentam a Ethernet ‘com uma versio de prototipo de 3 Mbps. Digital et al. [1980] especificam o padrio Ethernet original de 10 Mbps; o padrao IEEE tem mimero 802.3. As informac6es sobre cabeamento Ethernet estio dispontveis on-line. Shoch, Dalai e Redell [1982] oferecem uma perspectiva hist6rica da evolucdo da Ethernet. O trabalho relacionado sobre a rede ALOHA € relata- do em Abramson 1970], com um estudo das tecnologias dado por Cotton [1980] Para obter mais informacées sobre a ARPANET, consulte Cerf [1989] e BBN [1981]. Lanzillo e Partridge [janeiro de 1989] descrevem o IP dial-up. De Prycker [1995] descreve o Asynchronous Transfer Mode e seus usos em redes remotas. Partridge [1994] analisa muitas tecnologias de gigabit, incluindo ATM, e descreve a estrutura interna dos switches de alta velocidade. EXERCIcIOS 2.1 Descubra quais tecnologias de rede seu site utiliza 2.2 Se os frames Ethernet forem transmitides por um circuito alugado OC-192, quanto tempo sera necessario para transmitir 0 maior frame possivel? E 0 menor frame possivel? (Nota: exclua o preambulo dos seus céleulos.) 2.3 Estude a tecnologia de switch Ethernet. Como um switch difere de um hub? 2.4 Se oseu site utiliza a tecnologia de Ethernet comutada, descubra quantas conexdes podem estar ligadas a um tni- o switch e como os switches esto interconectados. 20 25 26 27 28 29 INTERLIGAGAO DE REDES COM TCP/IP Douglas E. Comer ELSEVIER Leia a respeito de switches Ethernet VLAN. Que capacidade um switch VLAN acrescenta a um switch conven- cional? Leia o padrao Ethernet para encontrar detalhes exatos da lacuna entre pacotes e do tamanho do preambulo. Qual é a taxa maxima em que a Ethernet pode transportar dados? ‘Que caracteristica de um canal de comunicacio por satélite € mais desejavel? E a menos desejavel? Encontre um limite inferior no tempo gasto para transferir um arquivo de 5 megabytes por uma rede que opera ‘em: 28,8 Kbps, 1,54 Mbps, 10 Mbps, 100 Mbps, e 2,4 Gbps. processador, o disco e o barramento interno no seu computador operam com velocidade suficiente para trans- iitir dados de um arquivo de disco a 2 gigabits por segundo? [capirutos Interligagdo de redes: conceito e modelo arquitet6nico Cnesonemer nee) 3.1. Introdugao 8.2 _Interconexo em nivel de aplicacdo 3.3. _Interconexao em nivel de rede ‘3.4 Propriedades da Internet 3.5 Arquitetura da Internet 3.6 _Interconexo por roteadores IP 8.7 Aviso dos usuérios 8.8 Todas as redes so iguais 3.9 Asperguntas nao respondidas 3.40 Resumo 3.1 Introdugéo [Até aqui, vimos os detalhes de baixo nivel da transmissio por redes de dados individuais,o alicerce no qual toda a comu- nicaco é criada. Este capitulo faz um gigantesco salto conceitual, descrevendo um esquema que nos permite coletar as di- versas tecnologias de rede em um todo coordenado. O objetivo principal é um sistema que esconde os detalhes do hard- ware de rede bisico, enquanto fornece servicos de comunicacdo universais, O resultado principal é uma abstracao de alto nivel, que €a base para todas as decisbes de projeto. Os capitulos seguintes mostram como usamos essa abstraclo para ‘montar as camadas necessfrias do software de comunicacao de entre redes (internet) € como 0 software esconde os meca~ nismos de transporte fisico basicos. Capitulos posteriores também mostram como as aplicacdes usam o sistema de comu- nicagio resultante. 3.2 Interconexéo em nivel de aplicagao Os projetistas utilizam duas técnicas diferentes para ocultar os detalhes da rede, usando aplicativos para lidar coma hete- rogeneidade ou ocultar os detalhes no sistema operacional. As primeiras interconexdes de rede heterogenea forneciam ‘uniformidade por meio de programas em nivel de aplicacto, chamados gateways de aplicacao. Nesses sistemas, um pro- ‘grama em nivel de aplicagio, executando em cada computador na rede, entende os detalhes das conexdes de rede para ‘esse computador e interopera por essas conexdes com aplicativos nos outros computadores. Por exemplo, alguns siste- ‘mas de e-mail consistem em programas de correio que sto configurados para encaminhar um memorando a um programa de correio no computador seguinte, O caminho da origem ao destino pode envolver muitas redes diferentes, mas isso mio importa, desde que os sistemas de correio em todas as maquinas cooperem encaminhando cada mensagem. (© uso de aplicativos para ocultar detalhes da rede pode parecer natural a prinefpio, mas essa técnica resulta em comu- nicagao limitada e complicada. A incluso de nova funcionalidade ao sistema significa montar um novo programa aplica- 22 INTERLIGAGAO DE REDES COM TCP/IP Douglas E. Comer ELSEVIER tivo para cada computador. A incluso de novo hardware de rede significa modificar os programas existentes (ou criar no- ‘vos programas) para cada aplicacio posstvel. Em determinado computador, cada aplicativo precisa entender as conexées de rede para o computador, resultando em duplicagao de cédigo. (Os usuarios que sao experientes com redes entendem que, quando as interconexdes crescem para centenas ou milha- res de redes, ninguém possivelmente poder montar todos os aplicativos necesstrios. Além do mais, 0 sucesso do esque- ‘ma de comunicacao um passo de cada vez exige exatidao de todos os aplicativos executando ao longo do caminho. Quan- do um programa intermedidrio falha, a origem ¢ o destino permanecem incapazes de detectar ou controlar o problema. Assim, os sistemas que usam aplicativos intermedidrios nao podem garantir a comunicagao confivel. 3.3 Interconexdo em nivel de rede A alternativa para fornecer interconexao com programas em nivel de aplicacao é um sistema baseado na interconexao em nivel de rede. Uma interconexao eri nitvel de rede prové um mecanismo que entrega pequenos pacotes de dados de sua corigem para seu destino final sem aplicativos intermediarios. Ha diversas vantagens em comutar pequenas unidades de dados em vez de arquivos ou grandes mensagens, Primeiro, o esquema mapeia diretamente no hardware de rede bisico, tornando-o extremamente eficiente. Segundo, a interconexao em nivel de rede separa as atividades de comunicagao de dados dos aplicativos, permitindo que computadores intermedirios lidem com o trafego de rede sem entender as aplica- {90es que estio enviando ou recebendo, Terceiro, o uso de conexdes de rede mantém o sistema inteiro flexivel, tornando posstvel montar uma infra-estrutura de comunicacdo de uso geral. Quarto, o esquema permite que os gerentes de rede in- cluam novas tecnologias de rede modificando ou acrescentando uma nica parte do novo software em nivel de rede, en- {quanto os aplicativos permanecem inalterados. A chave para o projeto da interconexao universal em nivel de rede pode ser encontrada em um conceito abstrato de sis- tema de comunicacio, conhecido como interligacao de redes. O conceito de internetwork, ou internet, é extremamente po- deroso. Ele separa as nogdes de comunicacao dos detalhes das tecnologias de rede e esconde os detalhes de baixo nivel do usuario, Mais importante, ele esconde todas as decisoes do projeto de software e explica como lidar com enderecos e rotas fisicas. Depois de rever as motivacoes basicas para a interligagio de redes, consideraremos as propriedades de uma inter net com mais detalhes. Comecamos com duas observagoes fundamentals sobre o projeto dos sistemas de comunicacto: © Nenhuma tecnologia de hardware de rede isolada pode satisfazer a todas as restricdes. © Os usuarios desejam interconexao universal. A primeira observacao € tanto econdmica quanto técnica, Redes locais pouco dispendiosas que oferecem comunicagao dealta velocidade s6 abrangem curtas distancias; redes WAN, que se espalham por longas distancias, nao podem fornecer comunicagao local de forma barata. Como nenhuma tecnologia de rede isolada satisfaz a todas as necessidades, somos for- sados a considerar varias tecnologias de hardware basicas. A segunda observacao € evidente. Por fim, os usuarios gostariam de ser capazes de se comunicar entre dois pontos ‘quaisquer. Em particular, desejamos um sistema de comunicagao que nao seja restrito pelos limites das redes fisicas O objetivo ¢ montar uma interconexao de redes unificada e cooperativa, que forneca suporte a um servico de comuni- cacao universal. Dentro de cada rede, os computadores usardo as facilidades de comunicacto dependentes da tecnologia subjacente, como as descritas no Capitulo 2. O software novo, inserido entre os mecanismos de comunicacdo dependen- tes de tecnologia e programas aplicativos, ocultara os detalhes de baixo nivel e fara a colecao de redes parecer como uma ‘inica e grande rede. Esse esquema de interconexao é chamado de internetwork ou internet. A idéia de montar uma internet segue um padrao de projeto do sistema: os pesquisadores imaginam uma facilidade de computador dealto nivel e trabalham a partir da tecnologia de computador disponivel, acrescentando camadas de softwa- re até que tenham um sistema que implemente de forma eficiente a facilidade de alto nivel imaginada. A proxima se¢ao mostra o primeito passo do processo de projeto, definindo o objetivo com mais precisto. 3.4 Propriedades da Internet Anogio de servigo universal é importante, mas apenas isso ndo captura todas as idéias que temos em mente para uma Rede unificada, pois pode haver muitas implementagdes dos servicos universais. Em nosso projeto, queremos ocultar do COUCH 1 CCC CCC CeCCeCCCCECEEECCECECECOCCCCCCCS ia | mm CAPITULO 3: Interligagéo de redes: concelto ¢ modelo arquiteténico 23 usudrio a arquitetura de Rede subjacente. Ou seja, ndo queremos exigir que os usutios ou os programas aplicativos en- tendam os detalhes das interconexdes de hardware para usar a internet. Também no queremos exigir uma topologia de interconexao de rede. Em particular, a inclusio de uma nova rede a internet nao devera significar a conexo a um ponto de comutacao centralizado, e nem deverd significar a incluso de conexdes fisicas diretas entre o novo hardware ¢ todas as redes existentes. Queremos ser capazes de enviar dados por redes intermedirias, embora elas nao estejam conectadas di- retamente aos computadores de origem ou destino. Queremos que todos os computadores na Rede compartilhem um conjunto universal de identificadores de maquina (que podem ser imaginados como nomes ou enderecas). Nossa nogio de uma Rede unificada também inclui a idéia de independéncia de rede na interface com o usuario. Ou seja, queremos que o conjunto de operagdes usadas para estabelecer a comunicacao ou transferir dados permaneca inde- pendente das tecnologias de rede subjacentes e do computador de destino. Certamente, um usuario nao precisard enten- der a topologia de interconexio de rede ao criar ou usar programas aplicativos que se comunicam. 3.5 Arquitetura da Internet Javimos como os computadores se conectam a redes individuais. Surge a seguinte pergunta: “Como as redes sto interco- nectadas para formar uma internet?” A resposta possui duas partes. Fisicamente, duias redes s6 podem ser conectadas por ‘um computador que se conecta a ambas. Todavia, uma conexao fisica nao oferece a interconexao que temos em mente, pois essa conexio nao garante que o computador cooperard com outras maquinas que queiram se comunicar. Para ter ‘uma internet visvel, precisamos de computadores especiais que estejam querendo transferir pacotes cle uma rede para ou- tra. Os computadores que interconectam duas redes e passam pacotes de uma para a outra sto chamados internet gate- ‘ways, ou internet routers." Considere um exemplo consistindo em duas redes fisicas, mostradas na Figura 3.1. Na figura, o roteador R se conecta tanto a rede I quanto. rede 2. Para que R atue como um roteador, ele precisa capturar pacotes na rede I que sejam volta- dos para maquinas na rede e transferi-los. De modo semelhanie, R precisa capturar pacotes na rede 2 que sejam destinados ‘a maquinas na rede 1 e transferi-los. Rede 1 R oe 2 Figura 3.1 Duas redes fisicas interconectadas por R, um roteador (gateway IP). Na figura, as muvens sto usadas para indicar as redes fisicas, pois o hardware exato no ¢ importante. Cada rede pode ser uma LAN ou uma WAN, ¢ cada uma pode ter muitos ou poucos computadores conectados. 3.6 Interconex4o por roteadores IP Embora ilustre a estratégia de conexio basica, a Figura 3.1 é muito simplista, Em uma inter-rede real, que inclui muitas, redes e roteadores, cada roteador precisa saber a respeito da topologia da internet além das redes as quais se conecta. Por exemplo, a Figura 3.2 mostra trés redes interconectadas por dois roteadores, Nesse exemplo, o roteador R, precisa transferir da rede 1 para a rede 2 todos os pacotes destinados para computadores na rede 2 ou na rede 3. Para uma grande internet composta de muitas redes, a tarefa do roteador de tomar decisoes sobre onde enviar pacotes se torna mais complexa. A idéia de um roteador parece simples, mas é importante porque oferece um meio de interconectar redes, nfo apenas computadores, De fato, jé descobrimos o prinefpio de interconexo usado em toda a internet: 1. A literatura original usava otermo goteway IP. Porém, os fornecedoresadotaram o termo roteador IP — os dis terms sto usados para indicar a mesma coisa no decorrer deste texto, 24 INTERLIGAGAO DE REDES COM TCP/IP Douglas E. Comer ELSEVIER Rede 1 R, Rede2 ¢—1 A, Rede 3. Figura 3.2. Trés redes interconectas por dois roteadores. Em.uma Rede TCPAP, computadores especiais, chamados roteadores IP ou gateways IP, fornecem intercone- -xbes entre redes fisicas. : re Voce poderia suspeitar que os roteadores, que precisam saber como encaminhar pacotes para seu destino, sto grandes ‘maquinas com memoria primétia ou secundaria suficiente para manter informagées sobre cada computador na internet a0 qual elas se conectam. De fato, os roteadores usados com Redes TCP/IP normalmente so computadores pequenos. Eles normalmente t#m pouco armazenamento de disco e memérias principais modestas, O traque para montar um rotea- dor de inter-rede pequeno esta no conceito a seguir: Os roteadores usam a rede de destino, ¢ ndo o computador de destino, ao encaminhar um pacote. Se encaminhamento de pacotes for baseado em redes, a quantidade de informagao que um roteador precisa manter é proporcional ao numero de redes na internet, e nao ao mimero de computadores. Como os roteadores desempenham um papel-chave na comunicacdo da internet, retornaremos a eles em outros capt- tulos e discutiremos os detalhes de como operam e como aprendem sobre as rotas. Por enquanto, vamos considerar que é possvel e pratico ter rotas corretas para todas as redes em cada roteador na internet. Também consideraremos que so- ‘mente 0s roteadores fornecem conexdes entre redes fisicas em uma Rede. 3.7 A visdo do usuario Lembre-se de que o TCPAP foi projetado para oferecer uma interconexao universal entre os computadores, independente das redes em particular as quais eles se conectam. Assim, queremos que um usuario veja uma interconexio de rede como ‘uma tnica rede virtual, & qual todas as maquinas se conectam, apesar de suas conexdes fisicas, A Figura 3.3a mostra como pensar em uma internet em vez de redes constituintes simplifica os detalhes e facilita a0 usuario conceitualizar a comuni- cagdo. Além dos roteadores que interconectam as redes fisicas, o software necessério em cada computador para permitit que programas aplicativos usem uma interconexao de rede como se fosse uma tinica rede fsica A vantagem de oferecer interconexio em nivel de rede agora se torna clara. Como os aplicativos que se comunicam pela Rede nao conhecem os detalhes das conexdes subjacentes, eles podem ser executados sem mudanca em qualquer computador. Como os detalhes das conexdes de rede fisica de cada maqitina s4o ocultados no software da internet, so- mente o software da internet precisa mudar quando novas conexdes fisicas sto acrescentadas ou conexdes existentes 40 removidas. De fato, é possivel otimizar a estrutura interna da internet alterando as conexdes fisicas enquanto os aplicati- ‘vos estio executando. ‘Uma segunda vantagem de ter comunica¢ao em nivel de rede é mais sutil: os usuarios nao precisam entender, lembrar ‘ou especificar como as redes se conectam ou que trafego elas transportam. Programas aplicativos podem ser escritos para ‘ comunicarem independente da conectividade fisica subjacente. De fato, os administradores de rede sao livres para alte- Taras partes interiores da arquitetura da rede subjacente sem alterar o software de aplicago na maioria dos computadores conectados a internet (naturalmente, o software de rede precisa ser reconfigurado quando um computador passa para ‘uma nova rede), Como mostra a Figura 3.3b, 0s roteadores nao oferecem conexdes diretas entre todos os pares de redes. Pode ser neces- sario que o trafego viajando de um computador para outro passe por varios roteadores enquanto o trafego atravessa redes Antermedidrias, Assim, as redes que participam de uma internet sdo semelhantes a rodovias no sistema interestadual dos Estados Unidos: cada rede combina em lidar com o trafego em transito em troca do direito de enviar o tréfego pela inter- | Ret. Os usuarios tipicos nao sio afetados ¢ nao sabem do tréfego extra em sua rede local ng ve nd a ~ we \e ¥ be ef COCO OOOO OOOO LOLOL 4 = CAPITULO 3: Interligagao de redes: concelto e modelo arquiteténico 25 3.8 Todas as redes sdo iguais © Capitulo 2 revisou exemplos do hardware de rede usado para montar Redes TCP/IP e ilustrow a grande diversidade de tecnologias. Descrevemos uma internet como uma colecao de redes cooperativas e interconectadas. Agora ¢ importante entender um conceito fundamental: do ponto de vista da internet, qualquer sistema de comunicacio capaz de transferir pacotes conta como uma tinica rede, independente de suas caractertsticas de atraso (delay) e vazdo (throughput), tama- mho maximo de pacote ou escala geogrifica. Em particular, a Figura 3.3b usa a mesma forma de nuvem pequena para re- presentar cada rede fisica, pois o TCP/IP as trata igualmente, apesar de suas diferencas. O importante é: (0s protocolos de Rede do TCP/P tratam todas as redes da mesma maneira. Uma rede local, como wma Ethernet, uma WAN usada como um backbone, ou um enlace ponto-a-ponto entre dots computadores contam como wma rede. (0s leitores desacostumados com a arquitetura de internet podem achar dificil aceitar essa visio simplista das redes. Essencialmente, o TCPAP define uma abstracao da “rede”, que esconde os detalhes das redes fisicas; aprenderemos que essas abstracdes ajudam a tornar o TCP/IP extremamente poderoso, Internet fp () Figura 3.3 (a) A visdo do usuério de uma interet TCP/IP em que cada computador parece se conectar a uma nica rede grande, e (b) a estrutura das redes fisicas e dos roteadores que fornecem interconexao. 3.9 As perguntas nao respondidas Nosso eshoco das interconexdes de Redes deixa muitas perguntas nao respondidas. Por exemplo, voce poderia questionar sobre a forma exata de enderecos de Rede atribuidos aos computadores ou como esses enderecos se relacionam aos ende- recos de hardware fisico, como os enderecos Ethernet descritos no Capftulo 2. Os dois capitulos seguintes confrontam es- sas quest6es. Eles descrevem o formato dos enderecos IP e ilustram como o software em um computador é mapeado entre enderecos de Rede e enderecos fisicos. Voce também pode querer saber exatamente como um pacote se parece quando trafega por uma internet, ou o que acontece quando os pacotes chegam muito rapidamente para algum computador ou r0- teador lidar. O Capitulo 6 responde a essas perguntas. Finalmente, voc® poderia questionar como varios programas apli- cativos executando simultaneamente em um tinico computador podem enviar e receber pacotes para varios destinos sem. se confundir com as transmissies uns dos outros ou como os roteadores da internet descobrem a respeito das rotas. Todas essas questées também sero respondidas. Embora possa parecer vago agora, a direcdo que estamos seguindo nos permitiré aprender sobre a estrutura e 0 uso do software de protocolo de internet. Examinaremos cada parte, vrificando os conceitos € os prinefpios ¢ também os detalhes tecnicos. Comecamos descrevendo a camada de comunicagao fisica em que wma internet € criada. Cada tum dos capitulos se- guintes explorara uma parte do software para interconexao de rede, até entendermos como todas as partes se encaixam, 26 INTERLIGAGAO DE REDES COM TCP/IP Douglas E. Comer ELSEVIER 3.10 Resumo ‘Uma internet é mais do que uma colecao de redes interconectadas por computadores, A interligacao de redes implica que 0s sistemas interconectados concordam com convengoes que permitem que cada computador se comunique com cada uum dos outros computadores. Em particular, uma internet permitira que dois computadores se comuniquem mesmo que © caminho de comunicagao entre eles passe por uma rede a qual nenhum se conecta diretamente, Essa cooperacao so € possivel quando os computadores concordam com um conjunto de identificadores universats e um conjunto de procedi- mentos para mover dados ao seu destino final. Em uma internet, as interconexdes entre as redes so formadas por computadores chamados roteadores IP, ou gate= ‘ways IP, que se conectam a duas ou mais redes. Um roteador encaminha pacotes entre as redes, recebendo-os de uma rede e enviando-os para outra. PARA ESTUDO COMPLEMENTAR Nosso modelo de uma internet vem de Cerf e Cain [19831 ¢ Cerf e Kahn [1974], que descrevem uma internet como um conjunto de redes interconectadas pot roteadores € esbocam um protocolo de internet semelhante ao que por fim foi de- senvolvido para o conjunto de protocolos TCP/P. Outras informagoes sobre a arquitetura da Internet conectada podem ser encontradas em Postel (1980); Postel, Sunshine € Cohen [1981]; ¢ em Hinden, Haverty e Sheltzer [1983]. Shach [1978] apresenta questoes sobre nomeacdo ¢ enderecamento de inter-redes. Boggs etal. [1980] descrevem a internet de- senvolvida na Xerox PARC, uma alternativa & internet TCP/IP que examinaremos. Cheriton [1983] descreve a interliga- sto de redes conforme se relaciona com o V-system. EXERCICios 3.1 Que processadores foram usados como roteadores na Internet conectada? © tamanho e a velocidade do antigo hardware de roteador o surpreendem? Por qué? 3.2. Aproximadamente quantas redes constituem a internet no seu site? Aproximadamente quantos roteadores? 3.3 Considere a estrutura interna da internet de exemplo mostrada na Figura 3.3b. Que roteadores sa0 mais importan- tes? Por que? 3.4 Alterara informagao em um roteador pode ser confuso, pois ¢ impossivel mudar todos os roteadores simultanea- mente. Investigue os algoritmos que garantem instalar uma mudanga em um conjunto de computadores ou insta- cla em nenbum dele. 3.5 Em uma internet, os roteadores periodicamente trocam informacoes de suas tabelas de roteamento, permitindo que um novo roteador apareca e comece a rotear pacotes. Investigue os algoritmos usados para trocar informacdes. de roteamento, 3.6 Compare a organizacio de uma internet TCP/P com o estilo de internet projetada pela Xerox Corporation. CCC TET TTT TOON CCC CC CUO CAPITULO 4 Enderecos de Internet Classful Cena eS 4.4. Introdugao 4.2 \dentificadores universais © esquema original de enderecamento classtul Enderegos especificam conexdes de rede Rede © endefegos de broadcast direcionados Broadcast limitado ‘O enderego com todos os bits em “0” Extensdes de sub-rede e classless, enderepos multicast IP 4.40 Pontos fracos no enderecamento intemet 4.11. Notacdo decimal com porto 4.42 Endereco de loopback 4.43 Resumo de convencdes de enderego especial 4.14 Autoridade de enderegamento intemet 4.45. Prefixos de enderago reservados: 4.16 Um exemplo 4.47 Ordem de byte de rede 4.48 Resumo 4.1 Introdugdo © capitulo anterior define uma Rede TCP/IP como uma rede virtual constituida por redes fisicas interconectadas com ro- teadores. Este capitulo inicia uma discussdo de enderecamento, uma parte essencial do projeto que ajuda o TCP/IP a es- conder detalhes da rede fisica e faz @ Rede resultante parecer uma tinica entidade uniforme. 4.2 identificadores universai Um sistema de comunicacio ¢ dito fornecedor de servico de comunicacdo universal se o sistema permite que qualquer host se comunique com qualquer outro host. Para tornar nosso sistema de comunicagao universal, ele precisa de um método aceito globalmente a fim de identificar cada computador que se conecta a ele. Normalmente, os identificadores de host sto classificados como nomes, enderecos ou rotas. Shoch [1978] sugere que ‘um nome identifica o que um objeto é, um endereco identifica onde ele esta, e uma rota diz como chegar li." Embora essas definicdes sejam intuitivas, elas podem ser enganosas. Nomes, enderecos ¢ rotas na realidade se referem a representacOes de nivel inferior bem-sucedidas dos identificadores de host, Em geral, as pessoas normalmente preferem nomes pronun- ciaveis para identificar maquinas, enquanto o software trabalha de modo mais eficiente com representagdes compactas de identificadores, que imaginamos como enderecos. Qualquer um poderia ter sido escolhido como os identificadores de host universais do TCP/P. A decisao fot feita para padronizar enderecos compacts e binarios, que tornam as computa- des eficientes, como a selegao de uma rota. Por enquanto, discutiremas apenas os enderecos binarios, depois as questoes de como mapear entre enderecos binarios e nomes pronunciaveis e como usar enderecos para encaminhar pacotes. 1, Um identiicador que especifica onde um objeto pode ser encontrado tambem ¢ chamado de localizador. 28 INTERLIGAGAO DE REDES COM TCP/IP Douglas E. Comer ELSEVIER 3 O esquema original de enderegamento classful Pense em uma internet como uma grande rede, como qualquer outra rede fisica. A diferenca, naturalmente, é que uma in- ternet € uma estrutura virtual, imaginada por seus projetistas, e implementada inteiramente no software. Assim, os proje- Listas sao livres para escolher formatos de pacote e tamanhos, enderecos, técnicas de entrega e assim por diante; nada ¢ di- tado pelo hardware, Para os enderegos, os projetistas do TCP/IP escolheram um esquema semelhante ao enderegamento de rede fisica, em que cada host na internet recebe um endereco inteiro de 32 bits, chamado endereco de protocolo de inter- net, ou endereco IP. A parte inteligente do enderecamento internet € que os inteiros sao cuidadosamente escolhidos para tomar 0 encaminhamento eficiente. Especificamente, um endereco IP codifica a identificagao da rede a qual um host se conecta, além da identificacao de um host exclusivo nessa rede. Podemos resumir: Cada host em wma Rede TCP/P recebe um endereco internet de 32 bits que € usado em toda a comuniéacao com esse host. Os detalhes dos enderecos IP ajudam a esclarecer as idéias abstratas. Por enquanto, damos uma visio simplificada ea ‘expandimos mais tarde, No caso mais simples, cada host conectado a uma internet recebe um tinico identificador univer- sal de 32 bits como seu endereco internet. Um prefixo de um endereco IP identifica uma rede. Ou seja, os enderecos IP em todos os hosts em determinada rede compartilham um prefixo comum., Conceitualmente, cada endereco € um par (netid, hostid), em que netid identifica uma rede e hostid identifica um host nessa rede. Na prética, porém, a divisao em prefixo e sufixo nao é uniforme por toda a internet, pois os projetistas nao es- pecificaram um limite tinico, No esquema de enderegamento original, que ¢ conhecido como classful, cada endereco IP ti- ‘ha uma das trés formas mostradas na Figura 4.1.2 01234 8 16 24 31 Classe [0] netid hostia classe [i]o] netid hostid ciassec [i]i]0 netic hostid ciassed [i] i] 10) ‘endereco multicast Classe [i]s] Teservado para uso futuro Figura 4.1. As cinco formas dos enderegos da Internet (IP) usadas com 0 esquema de enderegamento ‘com classe original. As trés primeiras classes, A, B e C, podem ser distinguidas pelos trés primeiros bits. No esquema de enderegamento classful, cada endereco € considerado como auto-identificdvel, pois o limite entre prefi- xo esufixo pode ser calculado a partir do endereco isolado, sem referéncia a informagbes externas. Em particular, a classe de um endereco pode ser determinada a partir dos trés bits de alta ordem, com dois bits sendo suficientes para distinguir entre as trés classes primarias, Enderecos de classe A, usados para o punhado de redes que possui mais de 2!° (ou se} 65.536) hosts, dedicam 7 bits para netid e 24 bits para hostid. Os enderecos de classe B, usados para redes de tamanho in- termediario, que tém entre 2° (ou seja, 256) e 2'* hosts, alocam 14 bits ao netid e 16 bits ao hostid. Observe que o endere- ‘0 IP foi definido originalmente de modo que fosse posstvel extrair as partes hostid ou netid rapidamente. A eficiéncia era especialmente importante para os roteadores, que usam a parte de netid de um endereco quando decidem para onde envi- ar um pacote. Voltaremos a discussio da pesquisa de rota eficiente depois de examinar as mudancas ¢ extensdes recentes no esquema de enderecamento. 2A quar forma, reservada para multicasting, ert descrita mals adlante; por enquanto, vamos resringirnossos comentitios 4s formas que espec- fica enderegos de objetos individu, wu KM EW UMM wR YW & ¥ CUC CCC CACAO A A MMAR eee t v CAPITULO 4: Enderegos de Internet Classtul 29 4.4 Enderegos especificam conexées de rede Para simplificara discussio, dissemos que um endereco internet identifica um host, mas isso nao ¢ estritamente preciso. Considere um roteador que se conecta a duas redes fisicas. Como podemos atribuir um tinico endereco IP seo endereco codifica um identificador de rede e também um identificador de host? Na verdade, no podemos. Existe uma situaco se- melhante para um computador convencional que tem duas ou mais conexdes fisicas de rede (esses computadores s40 co- hecidos como hosts multihomed): cada uma das conexdes de rede da maquina precisa receber um endereco. A idéia é uma parte fundamental do enderecamento IP: Como os enderecos IP codificam tanto wma rede quanto um host nessa rede, um endereco ndo especifica tim ‘computador individual, mas tama conexao com uma rede. Assim, um roteador conectando n redes possui n enderecos IP distintos, um para cada conexao de rede. 4.5 Rede e enderegos de broadcast direcionados Jé citamos a principal vantagem da codificagio de informacoes de rede nos enderecos internet: ela possibilita o encami- mhamento eficiente. Outra vantagem € que os enderecos de inter-rede podlem se referira redes e também a hosts. Por con- ‘venglo, 0 hostid 0 nunca recebe um host individual. Em vez disso, um endereco IP com a parte de hostid igual a zero é usado para se referir a propria rede. Resumindo: ‘Os enderecos internet podem ser usados para se refer a redes ¢ também a hosts individuais, Por eonvencao, sum endereco que tem todos os bits do hostidiguais a0 ¢ reservado para se referir rede. Outra vantagem significativa do esquema de enderecamento internet é que ele inclui um endereco de broadcast direcio- nado, que se refere a todos os hosts na rede. De acordo com o padrao, qualquer enderego com o hostid consistindo em to- dos os bits 1 é reservado para o broadcast direcionado’. Quando um pacote ¢ enviado para tal endereco, uma tinica copia do pacote ¢ transferida pela internet a partir da origem. Os roteadores ao longo do caminho usam a parte de netid do ende- reco a0 escolher um caminho; eles nao examinam a parte de host. Quando o pacote alcanca um roteador conectado a rede final, esse roteador examina a parte de host do endereco para determinar como entregar 0 pacote. Se encontrar todos os bits em 1, 0 roteador envia 0 pacote por broadcast a todos os hosts na rede. Em algumas tecnologias de rede (por exemplo, Ethernet), o broadcasting ¢ tao eficiente quanto a transmissio unicast; em outras, o software implementa o broadcast enviando uma c6pia individual para cada host na rede. Assim, ter wim ende- reco de broadcast IP direcionado nao garante a disponibilidade ow a eficiéncia da remessa do broadcast. Resumindo: s eniderecos IP podem ser usados para especificar um broadcast direcionado, em que um pacote é enviado a todos os computadores em uma rede; esses enderecos sdo mapeados no broadcast de ie estiver dis ponivel. Por convencao, um endereco de broadcast direcionado possui im netid valido e possui um host todos os bits definidos como 1. 4.6 Broadcast limitado Oendereco de broadcast que descrevemos ¢ conhecido como direcionado porque contém um ID de rede valido e o hostid de broadcast. Um broadcast direcionado pode ser enviado por uma Rede porque os roteadores ao longo do caminho usam apenas a parte de netid do endereco ao decidir como encaminhar o datagrama. Os enderecos de broadcast direcionados fornecem um mecanismo poderoso (e um tanto perigoso) que permite que um sistema remoto envie um tinico pacote que sera enviado por broadcast na rede especificada. Para evitar problemas em potencial, muitos sites configuram roteadores para rejeitar todos os pacotes de broadcast direcionados. 3. Uma antiga versio do codigo TCP/IP que acompanhava o Berkeley UNIX usava incorrtamente todos os bits em zero para o broadcast. Como o cerroainda sobrevive,o TCP/IP normalmente incl uma ope que permite que um site use todos os bits em zero parao broadcast direcionado. 90 INTERLIGAGAO DE REDES COM TCP/IP Douglas E. Comer ELSEVIER Do ponto de vista do enderecamento, a principal desvantagem do broadcast direcionado é que ele exige conhecimento do endereco de rede. Outra forma de endereco de broadcast, chamado endereco de broadcast limitado ou endereco de broadcast de rede, fornece um endereco de broadcast para a rede local, independente do endereco IP atributdo. O endere- co de broadcast local consiste em trinta e dois Is (da‘ as vezes ser chamaclo endereco de broadcast “tudo 1"), Como vere- ‘mos, um host pode usar o enderego de broadcast limitado como parte do procedimento de partida, antes de descobrir seu endereco IP ou o prefixo do endereco IP para a rede local. Porém, quando o host descobre o endereco IP correto para a rede local, o broadcast direcionado ¢ preferido, Via de regra, os protocolos TCP/IP restringem o broadcasting 20 menor conjunto possivel de maquinas. Veremos ‘como essa regra afeta varias redes que compartilham enderecos no capitulo sobre enderegamento de sub-rede. 4.7 O enderego com todos os bits em “0” Um enderego que consiste em trinta e dois bits em zero € reservado para 0s casos em que um host precisa se comunicar, mas ainda nao conhece seu endereco IP (ou seja, temporariamente durante a partida). Em particular, veremos que, para obter um cendereco IP, um host envia um datagrama para o endereco de broadcast limitado e usa 0 endereco 0 para se identificar. O re- ceptor entende que o host ainda ndo tem um enderego IP, o receptor usa um metodo especial para enviar uma resposta 4.8 Extensées de sub-rede e classless Oesquema de enderecamento descrito até aqui exige um prefixo de rede exclusivo para cada rede fisica. Embora esse real- mente fosse o plano original, ele nao durou muito tempo. Na década de 1980, quando as tecnologias de LAN se tomnaram populares e as redes se proliferaram, ficou aparente que exigir um prefixo exclusivo para cada rede fisica esgotaria 0 espa- co de enderecos rapidamente. Consequentemente, uma extensio de enderecamento foi desenvolvida para conservar pre- fixos de rede. Conhecido como enderecamento de sub-rede, 0 esqquema permite que varias redes fisicas compartilhem um Unico prefixo de rede. Na década de 1990, uma segunda extensio foi elaborada, que relaxava a hierarquia com classe e permitia que a divisto centre prefixo e sufixo ocorresse em um ponto qualquer no endereco. Chamado enderecamento classeless (auséncia de clas- s6), 0 esquema permite a utlizagao mais completa do espago de enderecos. © Capitulo 9 considerard os detalhes das extensdes de enderecamento de sub-rede e super-rede. Por enquanto, é im- ortante apenas saber que o esquema de enderecamento foi estendido, e que o esquema com classe original, descrito neste capftulo, atualmente nao € o mais utilizado. 4.9 Enderecos multicast IP ‘Alem da entrega de unicast, em que um pacote ¢ entregue a um tinico computador, ea entrega de broadcast, em que umm pa- cote ¢ entregue a todos os computadores em determinada rede, o esquema de enderecamento IP admite uma forma espe- cial de entrega multiponto, conhecida como multicasting, em que um pacote ¢ entregue a um subconjunto especifico de hosts. O multicasting IP ¢ especialmente util para redes em que a tecnologia de hardware admite a remessa de multicast. 0 Capitulo 16 discute o enderecamento e a remessa de multicast com detalhes. Por enquanto, ¢ suficiente entender que os endetecos de Classe D sto reservados para o multicasting, 4.10 Pontos fracos no enderecamento Internet A codificagao de informacoes de rede em um endereco internet tem algumas desvantagens. A desvantagem mais dbvia é que os enderecos se referem a conexdes de rede, e no ao host: (WON Sedo host passar de uma rede para outra, seu endereco IP deverd mudar. Para entender as consequéncias, considere um viajante que deseja desconectar seu computador pessoal, transporté-lo ‘em uma viagem ¢ reconecté-lo a Internet quando chegar ao destino. © computador pessoal nao pode receber um endereco IP permanente porque um endereco IP identifica a rede a qual a miquina esta conectada, O Capitulo 18 mostra como 0 es- quem de endetecamento IP torna a mobilidade um problema complexo. = CAPITULO 4: HLSEVIER Outro ponto fraco do esquema surge com o vinculo antecipado — quando um tamanho de prefixo é escolhido, o ntime- 10 maximo de hosts na rede ¢ fixado. Se a rede crescer além do limite original, um novo prefixo precisa ser selecionado € todos os hosts na rede precisam ser renumerados. Embora a renumeracdo possa parecer um problema pequeno, a mudan- «a dos enderecos de rede pode ser incrivelmente demorada e dificil de depurar. ‘A falha mais importante no esquema de enderecamento internet nao se tornard totalmente aparente até que examine- ‘mos o encaminhamento. Porém, sua importancia garante uma répida introducio aqui. Sugerimos que o encaminhamento sera baseadlo em enderecos internet, com a parte netid de um endereco usada para tomar decisdes de encaminhamento. Considere um host com duas conexdes com a internet. Sabemos que tal host precisa ter mais de um endereco IP. A se- guinte observacio ¢ verdadeira: Como o encaminkamento utiliza a parte de rede do endereco IP, o caminho tomado pelos pacotes que trafe- ‘gam para um host com varios enderecos IP depende do endereco usado. ‘As implicagdes sto surpreendentes. Os humanos pensam em cada host como uma tinica entidade e querem usar um tmico nome. Eles normalmente ficam surpresos ao ver que precisam descobrit mats de um nome, e ainda mais surpresos a0 ver que os pacotes enviados usando varios nomes podem se comportar de formas diferentes. Outra conseqitencia surpreendente do esquema de enderecamento internet ¢ que simplesmente conhecer um endere- co IP para um destino pode nao ser suficiente; pode ser imposstvel alcancar o destino usando esse endereco. Considere a Rede de exemplo mostrada na Figura 4.2, Na figura, dois hosts, A e B, se conectam a rede I, e normalmente se comunicam. diretamente usando essa rede. Assim, os usuiérios no host A normalmente devem se referir ao host B usando o enderego IP 1,, Existe um caminho alternativo de A para B através do roteador R que ¢ usado sempre que A envia pacotes para o ende- reco IP I, (o enderego de B na rede 2). Agora, suponha que a conexao de B com a rede Ifalhe, mas a méquina em si perma- nega funcionando (por exemplo, um fio se rompe entre B e a rede 1). Os usuarios em A que especificam o endereco IP 15, nao podem alcancar 5, embora os usuarios que especificam o endereco I, possam. Esses problemas com nomeacio e ende- re¢amento surgirao novamente nos préximos capitulos, quanido considerarmos o encaminhamento ¢0 vinculo de nome, Eve 4 b 4 : | Ec h s neve 2 Figura 4.2. Uma internet de exemplo com um host multihomed, 8, que mostra uma desvantagem do esquema de enderecamento IP. Se a interface ls se tomar desconectada, Aterd de usar 0 enderego /s para alcangar A, enviando os pacotes pelo roteador R. Quando comunicado aos humanos, seja em documentos técnicos ou por programas de aplicativos, os enderecos IP slo ¢s- critos como quatro inteiros decimais separados por pontos decimais, em que cada inteiro dé o valor de um octeto do ende- reco IP.* Assim, o enderego internet de 32 bits 19000000 00001010 00000010 00011110 Eescrito como 128. 10.2.30 4. A notaclo decimal com ponto as vezes € chamada de notagdo quadrupla pontuada CC CC COC CCC OC TT TCC MAM AK MA Re 92 INTERLIGAGAO DE REDES COM TCP/IP Douglas E. Comer ELSEVIER Classe _Enderego mais baixo _Enderego m: A 1.0.0.0 127.0.0.0 B 128.0.0.0 191.255.0.0 c 192.0.0.0 223,255,255.0 D 224.0.0.0 239.255.255.255 E 240.0.0.0 255.255.255.254 Figura 4.3 O intervalo de valores decimais com ponto que corresponde a cada classe de enderego IP. Alguns valores sao reservados para fins especiais. Usaremos a notacao decimal com ponto para expressar enderecos IP no restante deste texto, Na realidade, a maioria do TCPAP que apresenta ou solicita que um humano informe um endereco IP utiliza a notagao decimal com ponto. Por exemplo, aplicativos como um navegador Web permitem que um usuério entre com um valor decimal com ponto no Iu- garde um nome de computador. Como um exemplo de decimal com ponto, a tabela na Figura 4.3 resume os valores deci- ‘mais com ponto para cada classe de enderecos. 4.12 Enderego de loopback Embora a tabela na Figura 4.3 mostre o espaco de endereco IP dividido em cinco classes, nem todos os valores em uma classe sto atribuidos. Por exemplo, o prefixo mais baixo na classe B (128.0.0.0) nao foi atribuido; 0 primeiro prefixo da classe B € 128.1.0.0. De modo semelhante, o prefixo da classe C mais baixo ¢ 192.0.1.0. Mais importante, o prefixo de rede 127.0.0.0, um valor no intervalo de classe A, € reservado para loopback e serve para uso no teste do TCPAP e para a comu- nicagdo entre processos no computador local. Quando um programa usa o endereco de loopback como destino, 0 softwa- rede protocolo no computador processa os dados sem enviar o trafego por qualquer rede; um datagrama enviado a um en- dereco 127 da rede nunca deverd aparecer em qualquer rede. Além do mais, um host ou roteador nunca deve propagar in formacdes de roteamento ou alcance para o miimero de rede 127; ele ndo é um endereco de rede. 4.13 Resumo de convengées de endereco especial Na pratica, o IP usa apenas algumas combinagdes de 0s ou 1s para formar enderecos especiais. A Figura 4.4 lista as possi- bilidades. Conforme mencionam as notas na figura, o uso de todos 0s 0s para o endereco IP s6 ¢ permitido durante a partic da inicial, para permitir que um computador envie um datagrama sem saber seu endereco. Quando a maquina descobre sua rede correta e endereco(s) IP, ela nao deve usar o prefixo de rede 0. De qualquer forma, o enderego com tudo 0 nunca € usado como enderego de destino. todos 08 bits em 0 Enderego de origem inicial’ ‘todos os bits em 1 Broadcast limitado (rede local)? rede todos os bits em 1] Broadcast direcionado para rede? rede Todos 08 bits em 0] Broadcast direcionado para rede® 127 | qualquer coisa (em geral 1) | Loopback? * Nunca um destino valido Notas: ? Nunca uma origem vatida 5 Nao pode aparecer em uma rede Figura 4.4 Formas especiais de enderesos IP. Kr B. i F i E e & www yy wow wr rt thethed 4 A A A OO OO a = CAPITULO 4: Enderegos de Internet Classtul 33 .14 Autoridade de enderecos internet Cada prefixo de endereco de rede usado dentro de determinada Rede TCP/P precisa ser exclusivo. Uma organizagao que ‘usaa tecnologia TCP/IP para montar uma internet completamente privada (ou seja, uma que nio esteja conectada a Inter- net) pode atribuir prefixos de endereco sem considerar as atribuigOesfeitas por outras organizacoes. Porém, uma organi- zagdo que se conecta a Internet nao deve usar prefixos de endereco atribusdos a outra organizacio. Para garantir que a parte de rede de um endereco seja exclusiva na Internet, todos os enderecos da Internet sto atribuidos por uma autoridade central. Originalmente, a Internet Assigned Number Authority (IANA) tinha controle sobre os nuimeros atribuidos e definia.a politica. Desde a época em que a Internet iniciou até o outono de 1998, um tinico individuo, Jon Postel, dirigia a LANA e os enderecos atribuidos. No final de 1998, depois da morte prematura de Jon, uma nova organizacao fot criada para tratar da atribuigdo de enderecos. Com o nome Internet Corporation For Assigned Names and Numbers (ICANN), & organizacdo define a politica e atibui valores para nomes ¢ outras constantes usadas em protocolos ¢ também enderecos. ‘A maior parte das organizacdes nunca interage com a autoridade central diretamente. Em vez disso, para conectar suas reds a Internet, uma organizaco normalmente contrata um Provedor de Acesso a Internet (Intemet Service Provider — ISP) local. Além de fornecer uma conexdo entre a organizaco ¢ o restante da Internet, um ISP obtém um prefixo de ende- reco vilido para cada uma das redes do cliente. Na verdade, muitos ISPs locais sao clientes de ISPs maiores — quando um_ cliente requisita um prefixo de endereco, o ISP local simplesmente obtém um prefixo a partir de um ISP maior. Assim, s0- ‘mente os ISPs maiores precisam contatar um dos registradores de endereco que o ICANN autorizou para administrar blo- cos de enderecos (ARIN, RIPE, APNIC, LATNIC ou AFRINIC). Observe que a autoridade central s6 atribui a parte de rede de um endereco, Ou seja, quando uma organizacdo obtém um prefixo para uma rede, a organizacao pode escolher como atribuir um sufixo exclusivo para cada host na rede sem contatar a autoridade central. 4.15 Prefixos de endere¢o reservados ‘Como os enderecos devem ser atribuidos em uma intranet privada (on seja, em uma internet que ndo se conecta a Inter- net)? Em teoria, enderecos arbitrérios podem ser usados. Por exemplo, na Internet, o enderego classe A 9.0.0.0 foi atribu- do A IBM Corporation, ¢ 0 endereco 12.0.0.0 foi atribuido a AT&T. Embora esses enderecos possam ser usados em uma rede privada, a experiéncia tem mostrado que isso ¢ perigoso, pois os pacotes que entram na Internet parecem ter vindo de origens validas. Para evitar conflitos entre enderecos usados nas Redes privadas e os enderecos usados na Internet global, Oo IETF reservou diversos prefixos de endereco e recomenda usi-los nas Redes privadas. O conjunto de prefixos reserva- dos inclui valores com classe e sem classe, é descrito no Capitulo 9. 4.16 Um exemplo Para esclarecer o esquema de enderecamento IP, considere um exemplo de duas redes no Computer Science Department da Purdue University. A Figura 4.5 mostra os enderegos de rede e ilustra como os roteadores se interconectam as redes. (© exemplo mostra trés redes ¢ os miimeros de rede que elas receberam: o Internet Service Provider (9.0.0.0), uma Ethernet (128.10.0.0) e uma rede Wi-Fi (128.210.0.0). De acordo com a tabela na Figura 4.3, oendereco do ISP é de clas- se A, € 05 outros dois sto de classe B cada um ‘A Figura 4.6 mostra as mesmas redes com os computadores host conecados e os enderecos da Internet atribuidos a cada conexao de rede. Na figura, quatro hosts, rotulados Arthur, Merlin, Guenevere e Lancelot, se conectam as redes; Tali- syn € um roteador que se conecta as redes Ethernet € Wi-Fi; e Glatisant € um roteador que conecta o site a um ISP. ETHERNET 128,10.0.0. REDE WIFI 128.210.0.0 Isp 2.0.0.0 ee a Figure 4.5 A conexdo légica de duas redes ao backbone da Internet. Cada rede recebeu um enderego IP. 34 INTERLIGAGAO DE REDES COM TCP/IP Douglas E. Comer ELSEVIER ETHERNET 128.10.0.0 128.1023 [121028 128.10.2.28 MERLIN | [GUENEVERE] [LANCELOT (host (host (host muttiiomed)} | ethernet) Ethernet) 128.210.03 Para ISP 128.10.0.8, weesoaro|_ | 128,210.50, jen TALIESYN GLATISANT (roteador) (roteador) 128.210.0.1 ARTHUR, (host WEF) Figura 4.6 A atribuigdo de enderego IP do exemplo para roteadores e hosts conectados as trés redes na figura anterior. © host Merlin possui conexdes coma rede Ethernet e Wi-Fi, de modo que pode alcancar destinos em qualquer uma das redes diretamente. A distincao entre umn roteador (por exemplo, Taliesyn) € um host multihomed (por exemplo, Merlin) surge na configuracao: um roteador ¢ configurado para encaminhar pacotes entre as duas redes, enquanto um host pode usar qualquer rede, mas nao encaminha pacotes. ‘Como vemos na Figura 4.6, um endereco IP precisa ser atributdo a cada conexio da rede. Lancelot, que se conecta ape- nas a Ethernet, recebeu 128,10.2.26 como seu tinico endereco IP. Merlin tem o endereco 128.10.2.3 para sua conexio coma Ethernet ¢ 128.210.0.3 para sua conexio com a rede Wi-Fl, quem fez a atribuicao de enderecos escolheu o mesmo valor para o byte de baixa ordem de cada enderego. Os enderecos atribuidos ao roteador Taliesyn nao seguem a conven- fo, Por exemplo, os enderegos de Taliesyn 128.10.2.6 ¢ 128.210.0.50 sao duas sequencias de digitos nao relacionadas. O IP nao se importa se qualquer um dos bytes na forma decimal com ponto dos enderecos de um computador sao iguais ou diferentes. Porém, os técnicos de rede, gerentes e administradores podem ter de usar enderecos para manutencto, teste ¢ depuracio. A escolha de fazer com que todos os enderecos de um computador terminem com 0 mesmo octeto facilita os humanos a se lembrarem ou adivinharem o endereco de uma interface em particular. 17 Ordem de byte de rede Para criar uma internet que seja independente da arquitetura de maquina de qualquer fornecedor em particular ou hard- ware de rede, o software precisa definir uma representacao padrao para os dados. Considere o que acontece, por exemplo, quando o software em um computador envia um inteiro binario de 32 bits para outro computador. © hardware de trans- porte fisico move a sequtncia de bits da primeira maquina para a segunda sem alterar a ordem. Porém, nem todas as arqui- {eturas armazenam inteiros de 32 bits da mesma maneira. Em algumas (chamadas Little Endian), o endereco de memoria ‘mais baixo contém o byte de baixa ordem do inteiro, Em outras (chamadas Big Endian), o endereco de meméria mais bai- xo mantém o byte de alta ordem do inteiro. Ainda outros armazenam inteiros em grupos de words de 16 bits, com os en- De fato, o host precisa decidir se permitira que outras aplicagdes prossigam enquanto processa ‘uma requisigao ARP (a maioria faz isso). Nesse caso, o software precisa lidar com o caso em que uma aplicacao gera data- gramas que exigem traducto do mesmo endereco sem o broadcasting de varias requisigdes para determinado destino. Finalmente, considere 0 caso em quea méquina A obteve um vinculo com a maquina B, mas depois o hardware de B fa- la e ¢ substituido. Embora o endereco de B tenha mudado, o vinculo em cache de A néo mudou, de modo que A usa um endereco de hardware inexistente, impossibilitando o sucesso do recebimento. Esse caso mostra por que ¢ importante ter ARP tratando sua tabela de vinculos como uum cache e remover as entradas apés um periodo determinado. Naturalmente, 6 timer para uma entrada no cache precisa ser reiniciado sempre que um broadcast ARP chega contendo o vinculo (mas cle nao é reiniciado quando a entrada é usada para enviar um pacote), ‘A segunda parte do c6digo ARP trata de pacotes ARP que chegam da rede. Quando um pacote ARP chega, o software primeiro extraio endereco IP do emissor e o par de enderecos de hardware e examina o cache local a fim de ver se ja tem ‘uma entrada para o emissor. Se existir uma entrada de cache para determinado endereco IP, o handler atualiza essa en- trada sobrescrevendo o endereco fisico com o endereco fisico obtido do pacote. Entao, o receptor processa o restante do pacote ARP. Um receptor precisa lidar com dois tipos de pacotes ARP que chegam. Se uma requisicao ARP chegar,a maquina recep- tora precisa ver se ela ¢ o destino da requisicao (ou seja, alguma outra maquina enviou uma requisigdo por broadcast para ‘ endere¢o fisico do receptor). Se isso aconteceu, o ARP forma uma resposta fornecendo seu endereco de hardware fisico eenvia a resposta diretamente de volta a0 requisitante. O receptor também acrescenta o par de enderecos do emissor a0, seu cache se o par ainda nao estiver presente. Se o enderego IP mencionado na requisigao ARP nao combinar com o ende- e¢o IP local, o pacote esta solicitando um mapeamento para alguma outra méquina na rede e pode ser ignorado. outro caso interessante ocorre quando chega uma resposta ARP. Dependendo da implementacdo, o handler pode ter de criar uma entrada de cache, ou a entrada pode ter sido criada quando a requisicao foi gerada. De qualquer forma, uma vez atualizado o cache, o receptor tenta combinar a resposta com uma requisicao previamente emitida, Normalimente, as respos- tas chegam como resultado de uma requisicao, que foi gerada porque a maquina tem um pacote a enviar. Entre o momento ‘em que uma maquina envia sua requisico ARP e recebe a resposta, os programas de aplicativos ou protocolos de nivel supe- 3. Seo atraso for significativo,o host poder decidir descataro(s)datagrama(s) de sada ne 42 INTERLIGAGAO DE REDES COM TCP/IP Douglas E. Comer ELSEVIER rior podem gerar requisi¢des adicionais para o mesmo endereco; o software precisa se lembrar de que ja enviou uma requisi- ‘co e néo enviar mais, Normalmente, o ARP coloca os pacotes adicionais em uma fila e usa o vinculo de endereco para pre- encher o enderego fisico do destino. Se ele nao emitiu anteriormente uma requisicdo para o endereco IP na resposta, a ma- quina atualiza a entrada do emissor em seu cache e depois simplesmente termina 0 processamento do pacote. 5.11 Encapsulamento e identificacao do ARP Quando as mensagens ARP trafegam de uma maquina para outra, elas precisam ser transportadas em frames fisicos. A Fi- gura 5.2 mostra que a mensagem ARP ¢ transportada na parte de dados de um frame. MENSAGEM ARP ‘CABEGALHO DO FAME AREA DE DADOS DO FRAME Figura 5.2 Uma mensagem ARP encapsulada em um frame de rede fisica. Para identificar o frame como transportando uma mensagem ARP, o emissor atribui um valor especial ao campo de tipo no cabecalho do frame e coloca a mensagem ARP no campo de dados do frame. Quando um frame chega a um com- putador, o software de rede utiliza o tipo de frame para determinar seu contetido. Na maioria das tecnologias, um tinico valor de tipo € usado para todos 0s frames que transportam uma mensagem ARP ~ o software de rede no receptor precisa examinar melhor a mensagem ARP para distinguir entre requisigOes ARP e respostas ARP. Por exemplo, em uma Ether- net, os frames transportando mensagens ARP tem um campo de tipo 0806. Esse ¢ um valor padrao atribuido pela autori- dade para Ethernet; outras tecnologias de hardware de rede utilizam outros valores. 5.12 Formato do protocolo ARP Diferente da maioria dos protocolos, os dados nos pacotes ARP ndo possuem um cabecalho de formato fixo. Em vez disso, para tornar o ARP util para diversas tecnologias de rede, a extensdo dos campos que contém enderecos depende do tipo de rede. Porém, para possibilitar a interpretacéo de uma mensagem ARP qualquer, o cabecalho inclui campos fixos perto do inicio, que especificam os tamanhos dos enderecos encontrados nos campos seguintes. De fato, o formato da mensagem ARP € genérico o suficiente para permitir que seja usado com quaisquer enderecos fisicos e de protocolo. O exemplo na Figura 5.3 mostra o formato da mensagem ARP em 28 octetos usado no hardware Ethernet (em que os enderecos fisicos possuem 48 bits ou 6 octetos de extensio), a0 traduzir enderecos de protocolo IP (que possuem + octetos de extensio). ‘A Figura 5.3 mostra uma mensagem ARP com 4 octetos por linha, um formato que € padrao por todo este texto. Infeliz- mente, diferente da maioria dos protocolos restantes, os campos de tamanho variavel nos pacotes ARP nao se alinham bbem em limites de 32 bits, tornando 0 diagrama dificil de ser lido. Por exemplo, o endereco de hardware do emissor, rotu- lado como Endereco de Hardware EMISSOR, ocupa 6 octetos contiguos, de modo que se espalha por duas linhas no dia- rama. O campo TIPO DE HARDWARE especifica um tipo de interface de hardware para o qual o emissor busca uma resposta; cle contém o valor 1 para Ethernet. De modo semelhante, o campo TIPO PROTOCOLO especifica o tipo do endereco de protocolo de alto ntvel que o emissor forneceu; ele contém 0800, para enderecos IP. O campo OPERACAO especifica uma requisigio ARP (7), resposta ARP (2), requisicao RARP* (3) ou resposta RARP (4). Os campos HLEN e PLEN permitem que 0 ARP seja usado com redes quaisquer, pois especificam a extensio do endereco de hardware ¢a extensio do endere- {90 de protocolo de alto nivel. O emissor fornece seu endereco de hardware e endereco IP, se conhecidos, nos campos Endereco de Hardware Emissor e IP EMISSOR. 4. A préxima seqao descreve o RARP, um protocolo que ust mesmo formato de mensagem. ee en 0 8 16 24 3 TIPO DE HARDWARE TIPO DE PROTOCOLO HLEN PLEN OPERAGAO Enderego do Hardware EMISSOR (octetos 0-3) Enderego do Hardware EMISSOR (octetos 4-5) IP EMISSOR (octetos 0-1) IP EMISSOR(octetos 2-3) Enderego do Hardware DESTINO (octetos 0-1) Enderego de Hardware DESTINO (octetos 2-5) IP DESTINO (octetos 0-3) Figura 5.3. Um exemplo do formato de mensagem ARP/RARP quando usado para a tradugao de ‘enderego IP para Ethernet. A extenséo dos campos depende dos tamanhos de endereco de hardware e protocolo, que sao 6 octetos para uma Ethemet e 4 octetos para um enderego IP. Ao fazer uma requisicao, 0 emissor também fornece o endereco de harcware de destino (RARP) ou enderego IP de des- tino (ARP) usando os campos Endereco de Hardware DESTINO ou IP DESTINO. Antes que a maquina de destino respon- da, cla preenche os enderegos que faltam, inverte os pares de destino e emissor e muda a operagio para uma resposta. Assim, uma resposta transporta os enderecos IP e de hardware do requisitante original, além dos enderecos IP e de hard- ware da maquina para a qual um vinculo foi buscado. 5.13 Revalidagéo automatica de cache ARP E possivel usar uma técnica que evita a introdugdo de jitter (ou seja, variagao nos tempos de transferencia de pacotes), Para entender a situacao, observe que sempre que um timer ARP expira, o proximo datagrama enviado ao endereco expe- rimenta um atraso extra porque o datagrama espera em uma fila até que o ARP envie wma requisigao e receba uma respos- ta. Além do mais, a expiracdo pode ocorrer a qualquer momento, possivelmente durante um perfodo de tréfego constante. Embora esses atrasos normalmente sejam negligencidveis, eles introduzem jiter. ‘A chave para evitar o jitter surge da revalidacao antecipada. Ou seja, a implementacio associa dois contadores a cada entrada no cache ARP: o timer tradicional e um timer de revalidagao. Quando o timer de revalidacao expira, o software e- xamina a entrada. Se os datagramas tiverem usado a entrada recentemente, o software envia uma requisi¢do ARP e conti- nnuaa usar a entrada, Ao receber a requisicao, a estacdo de destino responde, e os dots timers slo reiniciados. Se nenhuma resposta chegar, o timer tradicional expira, ¢ os datagramas so mantidos enquanto o ARP tenta obter uma resposta. Na maioria dos casos, porém, uma revalidacio pode reiniciar o timer sem interrupcio. 5.14 Reverse Address Resolution (RARP) Vimos que 0 campo de operacdo em um pacote ARP pode especificar uma mensagem Reverse Address Resolution (RARP). RARP nao € mais importante na Internet, mas jé foi um protocolo essencial usado para a efetuar 0 boot de . sistemas que nao tinham armazenamento estavel. Essencialmente, RARP permite que um sistema obtenha um ende- reco IP na partida. O procedimento é simples: ao inicializar, o sistema envia uma requisi¢do RARP e espera uma res- posta, Outro computador na rede precisa ser configurado para escutar requisicdes RARP e gerar uma resposta RARP que contém o endereco IP do requisitante. Quando a resposta chega, o sistema continua a nicializacdo e usa o IP para toda a comunicacao. Ao fazer uma requisicio RARP, um sistema precisa se identificar para que o computador recebendo a requisicdo possa substituir o enderego IP correto na resposta. Embora qualquer identificacio exclusiva de hardware seja suficiente (por exemplo, o mtimero de série da CPU), RARP utiliza um ID obvio: 0 endereco MAC do sistema, Ou seja, um sistema inicia- lizando coloca seu endereco MAC na requisicio RARP e recebe seu endereco IP na resposta RARP. 44 INTERLIGAGAO DE REDES COM TCP/IP Douglas E. Comer ELSEVIER E interessante que o RARP use o mesmo formato de pacote do ARP.? Uma requisicao RARP ¢ formada preenchendo 0 campo de enderego do protocolo de destino, alterando o tipo de mensagem de requisicdo para resposta e enviando a res- posta de volta diretamente para a maquina que faz a requisi¢a0, Assim como uma mensagem ARP, uma mensagem RARP ¢ enviada de uma maquina para outra encapsulada na parte de dados de um frame de rede. Por exemplo, um frame Ethernet transportando uma requisicdo RARP possui o preambulo normal, os enderecos de origem e destino Ethernet e 0s campos de tipo de pacote na frente do frame. O tipo de frame con- tém o valor 8035, para identificar o contetdo do frame como uma mensagem RARP. 0s enderecos IP sao atribuidos independente do endereco de hardware fisico de uma maquina. Para enviar um pacote de internet por uma rede fisica de um computador para outro, o software de rede precisa mapear o endereco IP para um en- derego de hardware fisico usar o endereco de hardware para transmitiro frame. Se os enderecos de hardware forem me- ‘ores que os enderecos IP, um mapeamento direto pode ser estabelecido tendo um endereco fisico da maquina codificado em seu endereco IP. Caso contrario, o mapeamento precisa ser realizado dinamicamente. Address Resolution Protocol (ARP) realizaa traducao dinamica de endeteco, usando apenas o sistema de comunicacio de rede de baixo nivel. ARP per- mite que as maquinas traduzam enderecos sem manter um registro permanente dos vinculos. ‘Uma maquina usa ARP para encontrar o endereco de hardware de outra maquina, enviando uma requisicao ARP por broadcast, O requisitante contém o endereco IP da maquina para a qual um endereco de hardware ¢ necessario. Todas as ‘maquinas em uma rede recebemn uma requisico ARP. Se a requisicdo combinar com o endereco IP de uma maquina, esta responde enviando uma resposta que contém o endereco de hardware necessétio. As respostas sto direcionadas para uma maquina; elas nao sdo enviadas por broadcast. Para tornar o ARP eficiente, cada maquina mantém em cache vinculos de endereso IP para fisico. Como o trfego da in- ternet costuma consistir em uma sequencia de interagdes entre pares de maquinas, o cache elimina a maior parte das re- ‘quisigoes de broadcast ARP; a invalidagao adiantada pode ser usada para eliminar o jitter. Um protocolo mais antigo relacionado ao ARP, RARP, permite que um computador obtenha um endereco IP na parti- da do sistema. © Capitulo 22 discute uma substituicao, PARA ESTUDO COMPLEMENTAR O protocolo de traducao de endereco usado aqui foi dado por Plummer [RFC 826], e tornou-se um padrio de protocolos de internet TCP/IP. Os detalhes do RARP sio dados em Finlayson etal. [RFC 903]. Dalai e Printis [1981] descrevem o re- lacionamento entre enderecos Ethemet e IP, ¢ Clark [RFC 814] discute enderecos e vinculos em geral. Parr [RFC 1029] discute a traducao de enderecos tolerante a falhas. Kirkpatrick e Recker [RFC 1166] especificam valores usados para ‘dentficar frames de rede no documento Internet Numbers. O Volume 2 desta série apresenta um exemplo de implemen- tacio ARP e discute a politica de uso de cache. EXERCICIOS 5.1 Dado um pequeno conjunto de enderecos fisicos (inteiros positives), vocé pode descobrir uma funcao fe uma atri- buicao de enderecos IP de modo que f mapeie os enderecas IP 1-para-1 com os enderecos fisicos e o calculo de f seja eficiente? (Dica: consulte literatura sobre hashing perfeito.) 5.2 Em que casos especiais um host conectado a uma Ethernet nao precisa usar ARP ou um cache ARP antes de trans- rmitir um datagrama IP? 5.3 Umalgoritmo comum para gerenciar o cache ARP substitui a entrada usada menos recentemente quando acres- centa uma nova. Sob que circunstancias esse algoritmo pode prodtuzir o trafego de rede desnecessétio? Leia o padrao cuidadosamente. O ARP deve atualizar o cache se uma entrada antiga jéexistir para determinado en- derego IP? Por que, ou por que nao? 5.50 ARP deve modificar 0 cache mesmo quando recebe informagdes sem requisité-las especificamente? Por que, ou por que nao? 34 5.0 formato do pacate ARP pode ser encontrado na Seo 5:12. ~ e ¥ ee ia be r 37 58 59 5.10 5 5.12 CAPITULO 5: Mapeando enderegos internet em enderecos fisicos (ARP) 45, Qualquer implementacdo do ARP que use um cache de tamanho fixo pode falhar quando usada em uma rede que possui muitos hosts e muito trafego ARP. Explique como. ARP normalmente é citado como um ponto fraco na seguranga. Explique por qué. Suponha que a maquina C receba uma requisicio ARP enviada de A, procurando o destino B, e suponha que C te- nha o vinculo de Ie para Ps em seu cache. C deve responder a requisicao? Explique. ARP pode montar previamente um cache para todos os hosts possiveis em uma Ethernet, percorrendo o conjunto de enderecos IP possiveis enviando uma requisicdo ARP para cada um. Isso seria uma boa idéia? Por que ou por que nao? A revalidagao antecipada deve enviar uma requisicao para todos os enderecos IP possiveis na rede local, todas as entradas no cache ARP ou somente para destinos que experimentaram trafego recentemente? Explique. ‘Como uma estagao de trabalho pode usat ARP quando inicializa para descobrir se qualquer outra maquina na rede esta personificando-a? Quais sio as desvantagens desse esquema? Explique como o envio de pacotes IP para enderecos nao existentes em uma Ethernet remota pode gerar o trafego de broadcast nessa rede. { CAPITULO 6 Internet Protocol: Entrega de datagrama sem conexdo (IPv4) ec; i e 8.1 Introdugéo .2 Uma rede virtual 6.3. Arquitetura eflosofia da Intemet EU 6.4 A organizagao conceitual do servico 6.5 _ Sistema de entrega sem conexao Finalidade do Intemet Protocol (© datagrama IPv4 6.8 _ Oppbes de datagrama da Internet 6.9 Resumo 6.1 Introdu¢gao 0s capitulos anteriores revisaram partes do hardware e software de rede que possibilitam a comunicacdo na internet, ex- plicando as tecnologias de rede subjacentes e a tradugao de endereco. Este capitulo explica o principio fundamental da entrega sem conexao ¢ discute como ele é fornecido pelo Internet Protocol (IP), que € um dos dois principais protocolos usados nas internets (TCP sendo o outro). Estudaremos o formato dos pacotes IP ¢ veremos como eles formam a base para toda a comunicagdo na internet. Os proximos dois capitulos continuam nosso exame do Internet Protocol, discutindo encaminhamento de pacotes e tratamento de ertos. 6.2 Uma rede virtual © Capitulo 3 discute a arquitetura da internet em que os roteadores conectam varias redes fsicas. A verificacio da arquitetura pode ser enganosa, pois o foco deve serna interface que uma internet oferece aos usurios, e nao na tecnologia de interconexao. ‘Um usuario pensa em uma internet como wma tnica rede virtual que interconecta todos os hosts ¢ através da qual a comunicacao ¢ posstvel; sua arquitetura subjacente ¢ escondida e irrelevance De certa forma, uma internet ¢ uma abstragao de redes fisicas porque, no nivel mais inferior, tem a mesma funcionali- i dade: aceitar e entregar pacotes. Niveis mais altos de software de internet acrescentam a maior parte da funcionalidade rica que 0s usuarios percebem. 6.3 Arquitetura e filosofia da Internet Conceitualmente, uma internet TCP/IP prove trés conjuntos de servicos, como mostra a Figura 6.1; seu arranjo na figura sugere dependéncias entre eles, No nivel mais baixo, um servico de entrega sem conexao prové um alicerce no qual tudo 4 + € “ 4 J | * 4 @ wd ‘é wt a ¥ x a re ET CAPITULO 6: Internet Protocol: Entrega de datagrama sem conexéo (IPv4) 47 SERVIGOS DE APLICAGAO SERVIGO DE TRANSPORTE CONFIAVEL SERVIGO DE ENTREGA DE PACOTES SEM CONEXAO Figura 6.1 As trés camadas conceltuais dos servigos de internet. «se ap6ia. No nivel seguinte, um servico de transporte confiavel oferece uma plataforma de nivel superior da qual as aplica- ‘goes dependem. Logo, exploraremos cada um desses servicos, entenderemos 0 que eles oferecem e veremos os protocolos associados a eles. 6.4 A organizagéo conceltual do servico Embora possamos associar protocolo a cada um dos servigos da Figura 6.1, o motivo para identificé-los como partes con- ceituais da internet é que eles claramente indicam detalhes filosoficos do projeto. O ponto é o seguinte: O software de internet é projetado em torno de trés servicos de rede conceituais, arrumados em uma hierar- ‘quia; grande parte do sucesso vem dessa arquitetura ser surpreendentemente robusta e adaptavel ‘Uma das vantagens mais significativas da separacao conceitual ¢ que se torna posstvel substituir um servico sem atra- palhar outros. Assim, a pesquisa e 0 desenvolvimento podem prosseguir simultaneamente em todos os trés .5 Sistema de entrega sem conexiio servico internet mais fundamental consiste em um sistema de entrega de pacote. Tecnicamente, 0 servigo € definido como um sistema de entrega de pacote nao-confiavel, de melhor esforco, sem conexio, semelhante 20 servico fornecido pelo hardware de rede que opera sobre um paradigma de entrega pelo melhor esforco. O servico ¢ denominado ndo-confidvel porque a entrega nao é garantida. O pacote pode ser perdido, duplicado, adiado ou entregue fora de ordem, ‘mas o servigo nfo detectara essas condigdes, nem informara a0 emissor ou receptor. O servico é denominado sem conexao porque cada pacote € tratado independentemente de todos os outros. Uma sequéncia de pacotes enviados le um compu- tador para outro pode trafegar por diferentes caminhos, ow alguns podem se perder enquanto outros sao entregues. Final- mente, 0 servico ¢ considerado como entrega pelo menor esforco porque o software de internet faz a melhor tentativa de en- tregar os pacotes. Ou sefa, a Rede nao descarta pacotes caprichosamente; a nfo confiabilidade surge apenas quando 0s re- cursos sto esgotados ou as redes subjacentes falham. 6 Finalidade do Internet Protocol Oprotocolo que define o mecanismo de entrega nao-confiavel, sem conexao, ¢ denominado Internet Protocol. Como a ver- so atual do protocolo ¢ a versao 4, normalmente ele ¢ conhecido como IPv4: quando a versao nao é ambigua, ele é conhe- cido como IP. O IP prove trés definigdes importantes. Primeiro, o protocolo IP define a unidade basica de transferéncia de dados usada por toda uma Rede TCP/IP. Assim, ele especifica o formato exato de todos os dados a medida que passam pela internet. Segundo, o IP realiza a fungao de encaminhamento, escolhendo um caminho pelo qual um pacote sera enviado. Terceiro,além da especificagio precisa e formal dos formatos de dados e encaminhamento, o IP inclu um conjunto de re- gras que incorporam a idéia da entrega nao-confidvel. As regras caracterizam como os hosts € roteadores devem processar pacotes, como e quando as mensagens de erro devem ser geradas e as condicdes sob as quais os pacotes podem ser descar- tados. IP ¢ uma parte tao fundamental do projeto que a Internet as vezes ¢ chamada de tecnologia baseada em IP. Iniciamos nossa consideracao do IPv4 examinando o formato de pacote que ele especifica. Deixamos para outros capt- tulos os assuntos de encaminhamento de pacotes ¢ tratamento de erro. 48 INTERLIGAGAO DE REDES COM TCP/IP Douglas E. Comer ELSEVIER 6.7 O datagrama IPv4 A analogia entre uma rede fisica e uma internet TCP/IP ¢ forte. Em uma rede fisica, a unidade de transferéncia é um frame que contém um cabecalho e dados, em que o cabecalho da informacdes como os enderecos (fisicos) de origem e destino. A internet chama sua unidade de transferéncia basica de datagrama Internet, normalmente abreviado como datagrama IP ou simplesmente datagrama, Assim como um frame de rede fisica, um datagrama é dividido em areas de cabecalho e dados. ‘Tambem como um frame, o cabecalho do datagrama contém os enderecos de origem e destino e um campo de tipo que identifica o contewdo do datagrama. A diferenca, naturalmente, ¢ que o cabecalho do datagrama contém enderecos IP, en- quanto o cabecalho do frame contém enderecos fisicos. A Figura 6.2 mostra o formato geral de um datagrama: |CABECALHO DO DATAGRAMA | AREA DE DADOS DO DATAGRAMA Figur 2. Formato geral de um datagrama IP, a analogia do TCP/IP a um frame de rede. O IP especifica 0 formato de cabegalho, incluindo os enderecos IP de origem e destino. IP nao espectfica o formato da area de dados: ele pode ser usado para transportar 6.7.4 Formato de datagrama Agora que descrevemos o layout geral de um datagrama IP, podemos examinar 0 contetido com mais detalhes. A Figura 6.3 mostra o arranjo dos campos em um datagrama: ° 4 8 1619 24 31 vers | HLEN | TIPO SERVICO ‘TAMANHO TOTAL IDENTIFICAGAO FLAGS| OFFSET DO FRAGMENTO ‘TEMPO DE VIDA | _PROTOCOLO CHECKSUM DO CABEGALHO ENDEREGO IP ORIGEM. ENDEREGO IP DESTINO (OPGOES IP (SE HOUVER) PREENCHIMENTO| DADOS Figura 6.3 Formato de um datagrama Internet, a unidade basica de transferéncla em uma internet TCP/IP. Como o processamento do datagrama ocorre no software, o contetido ¢ o formato ndo sto restritos por qualquer hard- ‘ware, Por exemplo, o primeiro campo de 4 bits em um datagrama (VERS) contém a versto do protocolo IP que foi usada para criar o datagrama. Ele € usado para verificar se o emissor, receptor e quaisquer roteadores entre eles concordam sobre © formato do datagrama. Todo o IP precisa verificar o campo de versio antes de processar um datagrama, para garantir que ele combine com o formato que o software espera. Se os padres mudarem, as maquinas rejeitarao datagramas com verses de protocolo que diferem da sua, evitando que interpretem de forma errada o contetido do datagrama, de acordo ‘com um formato desatualizado. Para 0 IPv4, 0 campo de versio contém 4... O campo de tamanho do cabecalho (HLEN), também de 4 bits, da o tamanho do cabecalho do datagrama, medido em palavras (words) de 32 bits. Como veremos, todos os campos no cabecalho possuiem tamanho fixo, exceto para os campos de OPCOES IP e PREENCHIMENTO correspondentes. O cabecalho mais comum, que nao contém opgdes e preenchimen- to, mede 20 octetos e tem um campo de tamanho de cabecalho igual a 5. (Ocampo de TAMANHO TOTAL indica o tamanho do datagrama IP medido em octetos, incluindo octetos no cabecalho nos dados, O tamanho da area de dados pode ser calculado subtraindo o tamanho do cabecalho (HLEN) do TAMANHO TOTAL. Como o campo TAMANHO TOTAL possui 16 bits de extens4o, o tamanho maximo possivel de um datagrama IP é 216 ou 65,535 octetos. Na maioria das aplicagdes, isso nao ¢ uma limitagao severa. Pode se tornar mais importante no futu- +o se redes de maior velocidade puderem transportar pacotes de dados maiores do que 65.535 octetos. 59206066646006666666. c e Y ree OY EY CAPITULO 6: Internet Protocol: Entrega de datagrama sem conexéo(IPv4) 49 2 Tipo de servico e servigos diferenciados do datagrama Informalmente chamado Type Of Service (TOS), 0 campo SERVICE TYPE de 8 bits especifica como o datagrama deve ser tratado, O campo foi dividido originalmente em subcampos que especificavam a precedéncia do datagrama ¢ as caracte- risticas de caminho desejadas (baixo retardo e alta vazio). No final dos anos 90, o IETF redefiniu o significado do campo para acomodar um conjunto de servicos diferenciados (DiffServ). A Figura 6.4 ilustra a definigdo resultante, o 1 2 3 4 5 6 7 ‘CODEPOINT NAO USADO Figura 6.4 A interpretagao dos servicos diferenciados (DiffServ) do campo TIPO SERVIGO em um datagrama IP. Sob a interpretagdo dos servicos diferenciados, os seis primeitos bits constituem um ponto de codigo (codepoint), que as vezes ¢ abreviado como DSCP, e os dois tltimos bits nao sio usados. O valor do codepoint mapeia para uma definicao de servico subjacente, normalmente por meio de um array de ponteiros. Embora seja possivel definir 64 servicos separa dos, os projetistas sugerem que determinado roteador so precisard de alguns servicos, e varios codepoints mapearao cada servigo, Além do mais, para manter a compatibilidade com a definicao original, o padrao distingue entre os trés primetros bits do codepoint (os bits que eram utilizados para precedéncia) ¢ os tréstiltimos bits. Quando os tres tltimos bits contém zero, os bits de precedéncia definem ito classes gerais de servigo que aderem as mesmas diretrizes da definicao original: 0s datagramas com niimero mais alto em seu campo de precedencia recebem tratamento preferencial em relagdo a data- ‘gramas com um niimero inferior. Ou seja, as oito classes ordenadas sio definidas por valores de codepoint no formato: 1x00 onde x indica zero ou um. 0 projeto de servicos diferenciados também acomoda outra pratica existente ~0 uso generalizado da precedéncia 6 ou 7 para o trafego de roteamento de alta prioridade. O padrao inclui um caso especial para lidar com esses valores de prece- déncia. Um roteador precisa implementar pelo menos dois esquemas de prioridade: um para tréfego normal e um para tréfego de alta prioridade. Quando os trés tiltimos bits do campo CODEPOINT sto zero, o roteador precisa mapear um co- depoint com precedéncia 6 ou 7 na classe de maior prioridade e outros valores de codepoint na classe de menor priorida- de. Assim, se chegar um datagrama enviado utilizando o esquema de TOS original, um roteador que use o esquema de ser- vicos diferenciados honrara a precedéncia 6 e 7, como o emissor do datagrama espera (Os 64 valores de codepoint sto divididos em trés conjuntos administrativos, como ilustra a Figura 6.5. ‘Como a figura indica, metade dos valores (ou seja, 0s 32 valores no pool 1) precisa receber interpretacoes pelo IETF. ‘Atualmente, todos os valores nos pools 2 e 3 esto dispontveis para uso experimental ou local. Porém, se as agencias de padrdes esgotarem todos os valores no pool 7, elas poderio atribuir valores no pool 3 ‘A divisto em pools pode parecer incormum, pois conta com os bits de baixa ordem do valor para distinguir pools. Assim, em vez de um conjunto contiguo de valores, o pool 7 contém valor de codepoint alternado (ou seja, os ntimeros pares entre 2e 64). A divisto foi escolhida para manter os oito codepoints correspondentes a valores xxx000 no mesmo pool. Pool __Pontodecédigo _Atribufde por 1 sooo Organizagdo de padrées sooo Local ou experimental 3 000101 Local ou experimental Figura 6.5 Os trés pools administrativos dos valores de codepoint. Utilizando a interpretacdo do TOS original ou a interpretacdo dos servicos diferenciados revisados, ¢ importante obser- var que o software de encaminhamento precisa escolher entre as tecnologias de rede fisica subjacentes & disposico e pre- isa aderir as politicas locais. Assim, especificar um nivel de servico em um datagrama nao garante que os roteadores a0 longo do caminho combinarao para honrar a requisi¢ao. Resumindo: ; 4 Se ‘¢ “ * ‘4 + ‘A \e \ . fe x Ss ° 50 INTERLIGAGAO DE REDES COM TCP/IP Douglas E. Comer ELSEVIER Gonsideramos a especificacao do tipo de servico como uma dica para o lgoritmo de encaminhamento que'o "| ajuda a escolher entre varios caminhos até um destino com base nas politicas lacais eno seu conhecimento das. {ecnologias de hardware disponiveis nesses caminhos. Uma internet nao garante fornecer qualquer tipo de servico em particular. 7.3 Encapsulamento de datagrama ‘Antes que possamos entender os proximos campos em um datagrama, importante considerar como os datagramas se re~ lacionam com os frames da rede fisica. Comegamos com uma pergunta: “que tamanho um datagrama pode ter?” Diferente dos frames de rede fisica, que precisam ser reconhecidos pelo hardware, os datagramas sto tratados pelo software. Eles podem ter qualquer tamanho escolhido pelos projetistas de protocolo. Vimos que o formato do datagrama IPv4 aloca 16 bits ao campo de tamanho total, limitando o datagrama a no maximo 65.535 octetos. 'Na pratica, surgem limites mais fundamentais no tamanho do datagrama, Sabemos que, quando os datagramas passam de uma maquina para outra, eles sempre precisam ser transportados pela rede fisica subjacente. Para tomar 0 transporte da internet eficiente, ¢ preciso garantir que cada datagrama trafegue em um frame fisico distinto, Ou seja, queremos que nossa abstracao do pacote da rede fisica seja mapeada diretamente para um pacote real, se possivel. A idéia de transportar um datagrama em um frame de rede ¢ chamada de encapsulamento, Para a rede subjacente, um datagrama € como qualquer outra mensagem enviada de uma maquina para outra. O hardware nao reconhece o formato do datagrama, nem entende o endereco de destino IP. Assim, como mostra a Figura 6.6, quando uma maquina envia um datagrama IP para outra, o datagrama inteiro trafega na parte de dados do frame de rede.' ‘CABEGALHO DO DATAGRAMA AREA DE DADOS DO DATAGRAMA ‘CABECALHO DO FRAME AREA DE DADOS DO FRAME Figura 6.6 O encapsulamento de um datagrama IP em um frame. A rede fisica trata 0 datagrama intelro, incluindo o cabegalho, como dados. 6.7.4 Tamanho do datagrama, MTU da rede e fragmentagéo No caso ideal, o datagrama IP inteiro se encaixa em um frame fisico, tornando eficiente a transmissdo pela rede fisica. Para alcancar essa eficiéncia, 0s projetistas do IP poderiam ter selecionado um tamanho de datagrama maximo, de modo que um datagrama sempre encaixa em um frame. Mas qual tamanho de frame deve ser escolhido? Afinal, um datagrama pode trafegar por muitos tipos de redes fisicas enquanto passa por uma internet até o seu destino final. Para entender o problema, precisamos de um fato sobre o hardware da rede: cada tecnologia de comutagao de pacotes impoe um limite superior fixo sobre a quantidade de dados que podem ser transferidas em um frame fisico, Por exemplo, Ethernet limita as transferencias a 1.500 octetos de dados.? Vamos nos referir aos limites como a unidade de transferéncia maxima da rede, ou MTU. Os tamanhos de MTU podem ser maiores do que 1.500 ou menores: algumas tecnologias de hardware limitam as transferéncias a 128 octetos. Limitar os datagramas para caber a menor MTU posstvel na internet tor- na as transferencias ineficazes quando os datagramas passam por uma rede que pode transportar frames de maior tama- nho, Porém, permitir que os datagramas sejam maiores que a MTU minima da rede em uma internet significa que um da- tagrama nem sempre poder caber em um tinico frame da rede. Acescolha deve ser dbvia: a finalidade de uma internet ¢ ocultar as tecnologias de rede basicas e tornar a comunicacio conveniente para o usuario, Assim, em vez de projetar datagramas que aderem as restric6es das redes fisicas, TCP/IP es- 1. Um campo no cabegalho do frame normalmente identifica os dadossendo transportados: Ethernet uss 0 valor de tipo 0800, paraespecificar que ‘Area de dados contem um datagrama TP encapsulado, 2.Olimite de 1.500 octets vem da especifiacto Ethernet: quando wsado com am caberalho SNAP, o padrto IEEE 8023 limita os dadosa 1492 00- & ie ~ K ke La & fe « ie as ca ~ Re » 9 ye yet CAPITULO 6: Internet Protocol: Entrega de datagrama sem conexéo (IPv4) 51 colhe um tamanho de datagrama inicial conveniente e arruma uma maneira de dividir datagramas grandes em partes me- "notes quando o datagrama precisa atravessar uma rede que possui uma MTU pequena, As partes pequenas em que um da- " tagrama é dividido sto chamadas de fragments, e o processo de dividir um datagrama é conhecido como fragmentacao. ‘Como a Figura 6.7 ilustra a fragmentagao normalmente ocorre em um roteador em algum lugar entre a origem do da- “tagrama e seu destino final. O roteador recebe um datagrama de uma rede com uma MTU grande e precisa envid-lo por ‘uma rede para a qual a MTU é menor do que o tamanho do datagrama. Host Host A B Rede 1 Rede 3 MTU = 1500 MTU = 1500 Rede 2 MTU = 620 Pe Figura 6.7 Uma ilustragéo de onde ocorre a fragmentagao. O roteador R, fragmenta datagramas grandes enviados de A para B; Ri fragmenta datagramas grandes enviados de B para A, Na figura, os dois hosts se conectam diretamente a Ethernets que possuem uma MTU de 1.500 octetos. Assim, os dois hosts podem gerar e enviar datagramas com até 1.500 octetos de extensto. O caminho entre eles, porém, inclui uma rede com uma MTU de 620. Se o host A enviar ao host B um datagrama maior que 620 octetos, o roteador R, fragmentara o da- tagrama, De modo semelhante, se B enviar um datagrama maior para A, o roteador Ry fragmentaré o datagrama. ‘O tamanho do fragmento ¢ escolhido de modo que cada fragmento possa ser entregue pela rede em um tinico frame. Além disso, como o IP representa o offset dos dados em multiplos de oito octetos, o tamanho do fragmento precisa ser es- colhido como um miltiplo de oito, Naturalmente, a escolha do maltiplo de oito octetos mais proximo da MTU da rede em geral nao divide o datagrama em partes de mesmo tamanho; a iltima parte normalmente € menor que as outras. Os frag- rents precisam ser remontados para produzir uma copia completa do datagrama original antes que ele possa ser proces- sado no destino. 0 protocolo IP nao limita os datagramas a um tamanho pequeno, nem garante que datagramas grandes sero entregues sem fragmentacao. A origem pode escolher qualquer tamanho de datagrama que achar apropriado; a fragmentacao e a re- montagem ocorrem automaticamente, sem que a origem tome alguma agdo especial. A especificacao IP afirma que 0s r0- teadores precisam aceitar datagramas até o maximo das MTUs das redes as quats se conectam. Além disso, um roteador sempre precisa tratar de datagramas de até 576 octetos. (Os hosts também precisam aceitar e remontar, se necessario, da- tagramas de pel menos 576 octetos.) ‘A fragmentagao de um datagrama significa dividi-lo em varias partes. Voce poderd ficar surpreso ao descobrir que cada parte tem 0 mesmo formato do datagrama original. A Figura 6.8 ilustra o resultado da fragmentacio. Cada fragmento contém um cabecalho de datagrama que duplica a maior parte do cabecalho de datagrama original (exceto por um bit no campo de FLAGS que o mostra como um fragmento), seguido pelo maximo de dados que puderem ser transportados no fragmento enquanto mantém o tamanho total menor quea MTU da rede na qual deverd atravessar. 6.7.5 Remontagem de fragmentos Um datagrama deverd ser remontado depois de passar por uma rede, ou os fragmentos devem ser transportados para 0 host final antes da remontagem? Em uma internet TCP/IP, quando um datagrama € fragmentado, os fragmentos trafegam como datagramas separados por todo o caminho até o destino final, onde precisam ser remontados. A preservagio de frag- ‘mentos até o destino final tem duas desvantagens, Primeito, como os datagramas nao sto remontados imediatamente de- pois de passar por uma rede com MTU pequena, os pequenos fragmentos precisam ser executados do ponto da fragmenta- ‘io até o destino final. A remontagem de datagramas no destino final pode levar a ineficiencia: mesmo que algumas das re- des fisicas encontradas apés o ponto de fragmentacao tenham grande capacidade de MTU, somente pequenos fragmentos as atravessam. Em segundo lugar, se quaisquer fragmentos forem perdidos, o datagrama nao podera ser remontado. A ma- ‘quina receptora inicia um timer de remontagem quando recebe um fragmento inicial. Se o timer expirar antes que todos os + ~ t “ + - x » W Me % d 6 ¢g W v 52 INTERLIGAGAO DE AEDES COM TCP/IP Douglas E. Comer ELSEVIER CABEGALHO dados, aoe, aeice DATAGRAMA 600 octetos 600 cctetos | 200 ectetos ® ECA FRAGHENTO, cos, Fragment 1 (ote) CABECALHO FRAGMENTO, ieasoe:) Fragmento 2 (offset 600) CABEGALHO FRAGMENTO , | 1008s) Fragmento 3 (offset 1200) b) Figura 6.8 (a) Um datagrama original transportando 1.400 octetos de dados e (b) os trés fragmentos de uma MTU de rede de 620. Os cabecalhos 1 e 2 t8m o bit mais fragmentos marcado. Os offsets mostrados sao octetos decimais; eles precisam ser divididos por 8 para se chegar a0 valor armazenado nos cabegalhos de fragmento, fragmentos cheguem, a maquina receptora descarta as partes sobreviventes sem processar o datagrama. Assim, a probabi- lidade de perda de datagrama aumenta quando a fragmentagao ocorre, pois a perda de um tinico fragmento resulta na per- da do datagrama inteiro. Apesar das pequenas desvantagens, a realizacao da remontagem no destino final funciona bem. Ela permite que cada fragmento seja encaminhado de forma independente, endo exige que os roteadores intermedisrios armazenem ow remon- tem fragmentos. 6.7.6 Controle de fragmentagao Trés campos no cabecalho do datagrama, IDENTIFICACAO, FLAGS e OFFSET FRAGMENTO, controlam a fragmentacao © a remontagem de datagramas. O campo IDENTIFICAGAO contém um inteiro exclusivo que identifica o datagrama. Lembre-se de que, quando um roteador fragmenta um datagrama, ele copia a maior parte dos campos no cabecalho do da- tagrama em cada fragmento. Assim, o campo IDENTIFICACAO precisa ser copiado. Sua finalidade principal € permitir queo destino saiba quais fragmentos que chegam pertencem a quais datagramas. Quando um fragmento chega, 0 destino sao campo IDENTIFICAGAO junto com 0 endereco de origem do datagrama para identificar o datagrama. Os computa- ores que enviam datagramas IP precisam gerar um valor exclusivo para o campo IDENTIFICACAO para cada datagra- ‘ma? Uma técnica utilizada pelo IP mantém um contador global na memoria, incrementa-o toda vez que um novo datagra- ma € criado e atribui o resultado como 0 campo IDENTIFICACAO do datagrama. Lembre-se de que cada fragmento tem exatamente o mesmo formato de um datagrama completo. Para um fragmen- to, o campo OFFSET FRAGMENTO especifica o offset no datagrama original dos dados sendo transportados no frag- mento, medidos em unidades de 8 octetos,* comecando com 0 offset zero. Para remontar o datagrama, o destino precisa obter todos os fragmentos a partir do fragmento que possui offset 0 até aquele com offset mais alto. Os fragmentos nao necessariamente chegam na ordem, e ndo existe comunicacio entre o roteador que fragmentou o datagrama c o destino tentando remonté-lo. Os dois bits de baixa ordem do campo FLAGS de 3 bits controlam a fragmentacao. Normalmente, a aplicagao que utili- 2a TCPAP nao se importa com a fragmentacdo, pois tanto a fragmentacdo quanto a remontagem so procedimentos auto- ‘maticos, que ocorrem em um nivel baixo no sistema operacional, invistvel aos usuarios finais. Porém, para testar o softwa- re de internet ou depurar problemas operacionais, pode ser importante testar os tamanhos dos datagramas para os quais 3. Teoricamente, as retransmissdes de um pacote podem transportar 0 mesmo campo IDENTIFICACAO que o original; na prstica, os protocolos de ‘vel superior realizam a retransmissio resultando em um novo datagrama com sua propria IDENTIFICACAO, 4. Para economizarespaco no caberalho, 0 offsets sto especiicados ex multiplos de 8 octtos. W CAPITULO 6: internet Protocol: Entrega de datagrama sem conexéo (IPv4) 53 ocorre a fragmentacio. O primeiro bit de controle ajuda no teste, especificando se o datagrama pode ser fragmentado. Ele €denominado bit ndo-fragmentar, pois sua definicao em 7 especifica que o datagrama nao deve ser fragmentado. Uma aplicacdo pode escolher nao permitir a fragmentacao quando somente o datagrama inteiro ¢ util. Por exemplo, considere uma seqiténcia de bootstrap em que um pequeno sistema embutido executa um programa na ROM que envia uma requisi- #o pela internet a qual outra maquina responde enviando de volta uma imagem da meméria. Se o sistema embutido tiver sido projetado de modo que precise da imagem inteira ou nenhuma dela, o datagrama devers ter o bit ndo fragmentar mar- ado, Sempre que um roteadot precisar fragmentar um datagrama que tenha o bit ndo fragmentar marcado, o roteador descarta o datagrama e envia uma mensagem de erro de volta a origem. Obit de baixa ordem no campo FLAGS especifica seo fragmento contém dados do meio do datagrama original ou do fi- nal, Ele ¢ chamado bit mais fragmentos. Para ver por que esse bit € necessério, considere o IP no destino final tentando re- ‘montar um datagrama. Ele receberd fragmentos (possivelmente fora da ordem) e precisa saber quando recebeu todos os fragmentos para um datagrama. Quando um fragmento chega, o campo de TAMANHO TOTAL no cabecalho refere-se a0 tamanho do fragmento e nao ao tamanho do datagrama original, de modo que o destino néo pode usar 0 campo TAMANHO TOTAL para dizer se ele coletou todos os fragmentos. O bit mais fragmentos soluciona o problema com facili- dade: quando o destino recebe um fragmento com o bit mais fragmentos desmarcado, ele sabe que esse fragmento trans- porta dados da ponta do datagrama original, Examinando 0 OFFSET FRAGMENTO e 0 TAMANHO TOTAL de todos os. fragmentos que chegaram, um receptor pode saber se os fragmentos disponiveis contém todas as partes necessérias para remontar o datagrama original 6.7.7 Time to Live (TTL) principio, o campo TIME TO LIVE especifica quanto tempo, em segundos, o datagrama tem permissio para permanecer no sistema da internet. A idéia é simples ¢ importante: sempre que um computador injeta um datagrama na internet, ele define um tempo maximo em que o datagrama deve sobreviver. Os roteadores e os hosts que processam datagramas preci- sam decrementar campo TIME TO LIVE a medida que o tempo passa e remover o datagrama da internet quando seu tem- po expirar, A cstimativa de tempos exatos ¢ dificil porque os roteadores normalmente nao conhecem o tempo de transito para as redes fisicas. Algumas regras simplificam o processamento ¢ facilitam o tratamento de datagramas sem clocks sincroniza- dos. Primeiro, cada roteador ao longo do caminho da origem ao destino precisa decrementar o campo TIME TO LIVE em 1 quando processar o cabecalho do datagrama. Além do mais, como os roteadores eram inicialmente lentos, o padrao origi- nal especificava que, se um roteador mantém um datagrama por K segundos, o roteador deve decrementat 0 TIME TO LIVE em K. Embora ja tenha sido importante, a nogao de um roteador atrasando um datagrama por muitos segundos agora esta de- satualizada— 0s roteadores ¢ as redes atuais sto projetados para encaminhar cada datagrama dentro de alguns milissegun- dos, no maximo, Se 0 atraso se tornar excessivo, o roteador simplesmente descartara o datagrama, Assim, na pratica, 0 TIME TO LIVE atua como um “limite de salto”, em vez de uma estimativa de atraso. Cada roteador no caminho (ou seja, cada salto) decrementa o valor em 1. ‘Sempre que um campo TIME TO LIVE atinge zero, 0 roteador descarta o datagrama e envia uma mensagem de erro de volta origem. A idéia de manter um timer para os datagramas ¢ interessante porque garante que os datagramas no podem trafegar por uma internet para sempre, mesmo que as tabelas de roteamento sejam adulteradas e os roteadores encaminhem datagramas em um circulo. Assim, o campo TIME ‘TO LIVE pode ser visto como um mecanismo seguro contra falhas. Ce A 6.7.8 Outros campos de cabegalho do datagrama © campo PROTOCOLO ¢ semelhante ao campo de tipo em um frame de rede; 0 valor especifica qual protocolo de alto ni- vel foi usado para criar a mensagem executada na dea de DADOS do datagrama. Essencialmente, o valor de PROTOCOL specifica o formato da area de DADOS, O mapeamento entre um protocolo de alto nivel eo valor inteiro usado no campo PROTOCOLO precisa ser administrado por uma autoridade central, a fim de garantir 0 acordo pela Internet inteira (© campo CHECKSUM DE CABECALHO garante a integridade dos valores de cabecalho. O checksum IP é formada tra- tando-se 0 cabecalho como uma seqitencia de inteiros de 16 bits (na ordem de byte da rede), acrescentando-os com a arit- mética de complemento a um, e depois apanhando o complemento a um do resultado, Para fins de calculo do checksum, considera-se que o campo CHECKSUM DE CABECALHO contém zero. C4 COC CAC

You might also like