You are on page 1of 30

Falso Olho Provisrio (para ser substitudo)

A INTERNET E SEUS PROTOCOLOS

Preencha a ficha de cadastro no final deste livro e receba gratuitamente informaes sobre os lanamentos e as promoes da Editora Campus/Elsevier. Consulte tambm nosso catlogo completo e ltimos lanamentos em www.campus.com.br

Folha de Rosto Provisria (para ser substituda)

A INTERNET E SEUS PROTOCOLOS

Adrian Farrel

Do original The Internet and its protocols Traduo autorizada do idioma ingls da edio publicada por Morgan Kaufman Publishers Copyright 2004 by Adrian Farrel 2005, Elsevier Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/98. Nenhuma parte deste livro, sem autorizao prvia por escrito da editora, poder ser reproduzida ou transmitida sejam quais forem os meios empregados: eletrnicos, mecnicos, fotogrficos, gravao ou quaisquer outros. Copidesque Ligia Capdeville da Paixo Editorao Eletrnica DTPhoenix Editorial Reviso Grfica Marco Antnio Corra Projeto Grfico Editora Campus/Elsevier A Qualidade da Informao Rua Sete de Setembro, 111 16o andar 20050-006 Rio de Janeiro RJ Brasil Telefone: (21) 3970-9300 Fax (21) 2507-1991 E-mail: info@elsevier.com.br Escritrio So Paulo Rua Quintana, 753 8 andar 04569-011 Brooklin So Paulo SP Telefone: (11) 5105-8555 ISBN 85-352-1591-3 Edio original: ISBN 1-55860-913-X Nota: Muito zelo e tcnica foram empregados na edio desta obra. No entanto, podem ocorrer erros de digitao, impresso ou dvida conceitual. Em qualquer das hipteses, solicitamos a comunicao nossa Central de Atendimento, para que possamos esclarecer ou encaminhar a questo. Nem a editora nem o autor assumem qualquer responsabilidade por eventuais danos ou perdas a pessoas ou bens, originados do uso desta publicao. Central de atendimento tel: 0800-265340 Rua Sete de Setembro, 111, 16o andar Centro Rio de Janeiro e-mail: info@elsevier.com.br site: www.campus.com.br

CIP-Brasil. Catalogao-na-fonte. Sindicato Nacional dos Editores de Livros, RJ _________________________________________________________________________ F253i Farrel, Adrian A Internet e seus protocolos: uma anlise comparativa / Adrian Farrel; traduo Daniel Vieira. Rio de Janeiro: Elsevier, 2005. il. Traduo de: The Internet and its protocols ISBN: 85-352-1591-3 1. Redes de computao Protocolos. 2 Internet. I. Ttulo. CDD 004.62 05-2051 CDU 004.738.5 _________________________________________________________________________

Para Eleanor e Elliot. Na esperana de que nunca precisem l-lo.

Sumrio

Prefcio xxi O Autor xxix Captulo 1. Viso geral dos fundamentos 1 Conectividade fsica 1 Protocolos e endereamento 2 O modelo OSI de sete camadas 3 Uma arquitetura para a rede 5 Empacotando dados 6 Protocolos de enlace de dados 8 Ethernet 8 Token Ring 9 Asynchronous Transfer Mode 11 Packet over SONET 11 Rede dial-up 13 802.2 e controle lgico de enlace 13 Resumo dos protocolos 14 Leitura adicional 15 Captulo 2. O Internet Protocol 17 Escolhendo usar IP 17 Conectando por meio de tipos de rede 18 IPv4 18 IP Formatos de datagrama 19 Dados e fragmentao 22 Escolhendo detectar erros 25 Endereamento IPv4 27 Espaos de endereamento e formatos 27

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

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

viii

A Internet e seus Protocolos

Farrel

Endereos de broadcast 28 Mscaras de endereo, prefixos e sub-redes 28 Network Address Translation (NAT) 29 IP em uso 30 Funes de comutao 30 Comutao e roteamento IP 31 Entrega local e loopbacks 32 Tipo de servio 34 Address Resolution Protocol (ARP) 34 Atribuio dinmica de endereos 37 Opes e funes avanadas do IP 39 Controle e registro de rota 42 Internet Control Message Protocol (ICMP) 44 Mensagens e formatos 45 Relatrio e diagnstico de erros 45 Tempo excedido 47 Problema de Parmetro 47 Redirecionamento 47 Destino Inalcanvel 48 Controle de fluxo 48 Ping e traceroute 48 Descobrindo roteadores 51 Descoberta de caminho MTU 52 Implicaes de segurana 53 Leitura adicional 54 Captulo 3. Multicast 55 Escolhendo unicast ou multicast 55 Aplicaes que utilizam multicast 58 Endereamento e encaminhamento multicast 59 Internet Group Management Protocol (IGMP) 61 O que so grupos? 61 Formatos de mensagem e trocas IGMP 61 Leitura adicional 64 Captulo 4. IP verso seis 65 Endereos IPv6 66 Formatos de endereo IPv6 67 Sub-redes e prefixos 68 Anycast 69 Endereos com significado especial 70 Escolhendo endereos IPv6 70 Formatos de pacote 71 Opes 72 Escolhendo entre IPv4 e IPv6 76 Transportando endereos IPv4 no IPv6 76 Interoperao entre IPv4 e IPv6 76

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

Sumrio

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

ix

Checksum 77 Efeito sobre outros protocolos 77 Fazendo a escolha 78 Leitura adicional 79 Captulo 5. Roteamento 81 Roteamento e encaminhamento 82 Classless Inter-Domain Routing (CIDR) 82 Sistemas autnomos 83 Construindo e usando uma tabela de roteamento 84 IDs de roteador, enlaces numerados e enlaces no numerados 86 Distribuindo informaes de roteamento 87 Vetores de distncia 88 Roteamento por estado do enlace 93 Vetores de caminho e polticas 97 Distribuindo informaes adicionais 100 Escolhendo um modelo de roteamento 101 Calculando caminhos 101 Open Shortest Path First (OSPF) 101 Constrained Shortest Path First (CSPF) 103 Equal Cost Multipath (ECMP) 104 Engenharia de trfego 104 Escolhendo como calcular caminhos 104 Routing Information Protocol (RIP) 105 Mensagens e formatos 105 Sobrecarregando a entrada de rota 106 Trocas de protocolo 107 Compatibilidade com RIPv1 109 Escolhendo usar RIP 109 Open Shortest Path First (OSPF) 110 Mensagens e formatos bsicos 110 Descoberta de vizinho 112 Sincronizando o estado do banco de dados 113 Anunciando o estado do enlace 115 Redes de acesso mltiplo e roteadores designados 118 reas OSPF 121 reas stub 123 Not So Stubby Areas (NSSA) 123 Enlaces virtuais 124 Decidindo usar reas 125 Outros sistemas autnomos 127 LSAs opacos 127 Intermediate-System to Intermediate-System (IS-IS) 127 Encaminhamento e endereamento de dados 128 Checksum de Fletcher 129

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

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

A Internet e seus Protocolos

Farrel

reas 129 Unidades de dados do protocolo IS-IS 132 Descoberta de vizinhos e manuteno de adjacncias 134 Distribuindo informaes de estado do enlace 137 Sincronizando bancos de dados 140 Escolhendo entre IS-IS e OSPF 141 Border Gateway Protocol 4 (BGP-4) 143 Roteamento exterior e sistemas autnomos 143 Mensagens e formatos bsicos 144 Funo avanada 152 Comunidades 153 Suporte para multiprotocolo 154 Virtual Private Networks 156 Abafamento do flap de rota 156 Mensagem de exemplo 156 BGP interior 156 Expandindo o I-BGP: refletor de rota 158 Expandindo o I-BGP: consideraes do AS 160 Escolhendo usar o BGP 160 Roteamento multicast 161 rvores de roteamento multicast 161 Protocolos do modo denso 163 Protocolos no modo esparso 164 Protocol Independent Multicast Sparse-Mode (PIM-SM) 164 Multicast OSPF (MOSPF) 166 Distance Vector Multicast Routing Protocol (DVMRP) 167 O MBONE 168 Uma nova arquitetura multicast 170 Escolhendo um protocolo de roteamento multicast 172 Outros protocolos de roteamento 174 Inter-Gateway Routing Protocol (IGRP) e Enhanced Inter-Gateway Routing Protocol (EIGRP) 174 ES-IS 175 Interdomain Routing Protocol (IDRP) 175 Internet Route Access Protocol 175 Hot Standby Router Protocol (HSRP) e Virtual Router Redundancy Protocol (VRRP) 175 Protocolos histricos 176 Leitura adicional 177 Estruturas e viso geral sobre roteamento 177 Protocolos de roteamento por vetor de distncia 177 Protocolos por estado do enlace 177 Protocolos por vetor de caminho 178 Protocolos multicast 178 Captulo 6. Gerenciamento de servio IP 179 Escolhendo como gerenciar os servios 180 Differentiated Services 182

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

Sumrio

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

xi

Colorindo pacotes no DiffServ 182 Modelo funcional do DiffServ 183 Escolhendo usar DiffServ 184 Integrated Services 185 Descrevendo fluxos de trfego 185 Carga controlada 186 Servio garantido 187 Capacidades de relatrio 188 Escolhendo usar o IntServ 190 Escolhendo um tipo de servio 191 Escolhendo entre IntServ e DiffServ 191 Reservando recursos com RSVP 191 Escolhendo reservar recursos 192 Fluxos de mensagem RSVP para reserva de recursos 192 Sesses e fluxos 194 Requisitando, descobrindo e reservando recursos 194 Tratamento de erros 195 Adaptando a mudanas na rede 197 Mesclando fluxos 199 Compartilhamento de recursos multicasts 200 Mensagens e formatos do RSVP 201 Formatos e objetos do RSVP 204 Escolhendo um protocolo de transporte 211 Reduo de refresh do RSVP 212 Escolhendo usar a reduo de refresh 215 Agregao de fluxos RSVP 217 Leitura adicional 217 Captulo 7. Transporte sobre IP 219 O que um protocolo de transporte? 219 Escolhendo usar um protocolo de transporte 220 Portas e endereos 221 Entrega confivel 222 Transporte orientado a conexo 222 Datagramas 223 User Datagram Protocol (UDP) 223 Formato de mensagem UDP 224 Escolhendo usar o checksum UDP 224 Escolhendo entre IP bruto e UDP 225 Protocolos que usam UDP 226 UDP Lite 226 Transmission Control Protocol (TCP) 226 Tornando o IP orientado a conexo 227 Mensagens TCP 227 Estabelecimento da conexo 228 Transferncia de dados 229

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

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

xii

A Internet e seus Protocolos

Farrel

Confirmaes e controle de fluxo 230 Dados urgentes 234 Fechando a conexo 235 Implementando o TCP 236 A interface Sockets 238 Opes do TCP 238 Escolhendo entre UDP e TCP 240 Protocolos que usam TCP 240 Stream Control Transmission Protocol (SCTP) 240 Formatos de mensagem SCTP 241 Estabelecimento e gerenciamento da associao 243 Transferncia de dados 247 Implementao do SCTP 251 Escolhendo entre TCP e SCTP 252 Protocolos que usam SCTP 252 O Real-Time Transport Protocol (RTP) 252 Gerenciando dados 253 Consideraes de controle 255 Escolhendo um transporte para RTP 257 Escolhendo usar o RTP 259 Leitura adicional 260 Captulo 8. Engenharia de trfego 261 O que engenharia de trfego IP? 261 Equal Cost Multipath (ECMP) 262 Modificando os custos do caminho 263 Roteando fluxos IP 264 Roteamento baseado em servio 265 Escolhendo entre engenharia de trfego off-line ou dinmica 265 Descobrindo a utilizao da rede 266 Notificao explcita de congestionamento 267 Extenses de roteamento para engenharia de trfego 267 OSPF-TE 268 Extenses de TE para o IS-IS 269 Escolhendo usar a engenharia de trfego 270 Limitaes da engenharia de trfego IP 271 Desenvolvimentos futuros na engenharia de trfego 272 Leitura adicional 272 Material geral de engenharia de trfego 272 Extenses de protocolo de roteamento para engenharia de trfego 273 Captulo 9. Multiprotocol Label Switching (MPLS) 275 Comutao de rtulos 276 Escolha entre roteamento e comutao 276

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

Sumrio

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

xiii

Fundamentos de MPLS 277 Rotulando pacotes 277 Troca de rtulo e Label Switched Path (LSP) 277 Rtulos concludos nas redes de comutao 278 Mapeando dados a um LSP 279 Hierarquias e tneis 280 Escolhendo MPLS em vez de outras tecnologias de comutao 282 Protocolos de sinalizao 283 O que um protocolo de sinalizao faz? 283 Escolhendo um plano de controle baseado em IP 284 Distribuio de rtulos baseada em roteamento 284 Distribuio de rtulos por demanda 284 Engenharia de trfego 284 Escolhendo usar um protocolo de sinalizao 285 Label Distribution Protocol (LDP) 286 Parceiros, entidades e sesses 288 Anncio e uso de endereo 292 Distribuindo rtulos 293 Escolhendo um modo de distribuio de rtulos 298 Escolhendo um modo de reteno de rtulos 299 Interrompendo o uso de rtulos 299 Casos de erro e notificao de evento 302 Outros exemplos de fluxo de mensagem 304 Escolhendo protocolos de transporte para o LDP 306 Sobrevivendo a interrupes na rede 307 Extenses do LDP 308 Engenharia de trfego no MPLS 308 Rotas explcitas 309 Regras de processamento de rota explcita 311 Reservando recursos e roteamento baseado em restrio 312 Ordenando o trfego 313 Gerenciando a rede 313 Procedimentos de recuperao 313 Decidindo usar um protocolo de sinalizao baseado em restrio 313 Configurao LSP baseada em restrio usando LDP (CR-LDP) 314 Acrescentando restries ao LDP 314 Novos TLVs 315 Escolhendo um FEC no CR-LDP 315 Identificando o LSP 315 Rotas explcitas 315 Parmetros de trfego 317 Re-roteando e fixando o LSP 320 Colorindo o LSP 322 Prioridades do LSP 322

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

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

xiv

A Internet e seus Protocolos

Farrel

Novos cdigos de estado 322 Mensagens CR-LDP 323 Extenses ao RSVP para tneis LSP (RSVP-TE) 325 Reutilizao da funo RSVP 325 Distribuindo rtulos 326 Identificando LSPs 327 Gerenciando rotas 329 Requisies e reserva de recursos 332 Prioridades, preempo e outros atributos 332 Colorindo o LSP 333 Detectando erros e mantendo a conectividade 333 Resumo das mensagens e objetos 334 Escolhendo um protocolo de transporte 336 Consideraes de segurana, controle de admisso e poltica 336 Novos cdigos e valores de erro 337 Fluxos de mensagem 337 Mensagens de exemplo 341 Escolhendo entre CR-LDP e RSVP-TE 341 Por que h dois protocolos? 341 Aplicabilidade e adoo 341 Comparao de funcionalidade 344 Priorizando o trfego no MPLS 345 Deduzindo a prioridade atravs dos rtulos 345 Deduzindo a prioridade atravs dos bits experimentais 346 Novos cdigos de erro 347 Escolhendo entre L-LSPs e E-LPSs 347 BGP-4 e MPLS 348 Distribuindo rtulos para rotas BGP 348 Objetos de mensagem novos e modificados 349 Construindo VPNs MPLS 350 Leitura adicional 350 Captulo 10. GMPLS (Generalized MPLS) 351 Uma hierarquia dos meios 351 Comutao da camada dois 352 Comutao de pacotes 352 Time Division Multiplexing 352 Comutao de lambda 352 Comutao de banda de onda 352 Comutao de fibra e porta 352 Escolhendo seu tipo de comutao 353 O que um rtulo? 353 Extenses de sinalizao genricas para o GMPLS 353 Rtulos genricos 353 Rtulos de requisio 354

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

Sumrio

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

xv

Negociando rtulos 355 Servios bidirecionais 358 Servios de proteo 359 Gerenciando conexes e alarmes 360 Sinalizao sem banda 360 Escolhendo usar sinalizao GMPLS 361 Escolhendo RSVP-TE ou CR-LDP no GMPLS 363 Generalized RSVP-TE 363 Controle de rota avanado 363 Reduzindo os custos adicionais do protocolo 364 Requisies e mensagens de notificao 364 Reincio elegante 366 Objetos de mensagem novos e modificados 367 Formatos de mensagem 367 Trocas de mensagens 368 Generalized CR-LDP 372 Novos TLVs 372 Formatos de mensagem 372 Hierarquias e bundles 372 OSPF e IS-IS no GMPLS 373 Um novo significado para largura de banda 374 Capacidades de comutao e proteo 374 Grupos de Enlaces de Risco Compartilhado 374 Objetos de mensagem do OSPF 375 Objetos de mensagem IS-IS 375 Escolhendo entre OSPF e IS-IS no GMPLS 376 VPNs pticas 377 Link Management Protocol (LMP) 378 Enlaces, canais de controle e canais de dados 379 Descobrindo e verificando enlaces 382 Trocando capacidades de enlace 385 Isolando falhas 385 Autenticao 389 Escolhendo usar LMP 389 Leitura adicional 390 Captulo 11. Comutadores e componentes 393 General Switch Management Protocol (GSMP) 393 Comutadores distribudos 394 Sinopse do GSMP 394 Formatos comuns 394 Estabelecendo adjacncia 397 Configurao do comutador 398 Gerenciamento de porta 401 Gerenciamento de conexo 401 Preservao dos recursos 402

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

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

xvi

A Internet e seus Protocolos

Farrel

Eventos, estado e estatsticas 403 Escolhendo usar o GSMP 404 Separando o encaminhamento e o controle IP 405 O ForCES Working Group e o Netlink 405 LMP-WDM 406 Arquiteturas WDM distribudas 406 Gerenciamento de canal de controle 407 Gerenciamento de link 408 Gerenciamento de falha 408 Leitura adicional 409 Captulo 12. Protocolos de aplicao 411 O que uma aplicao? 411 Clientes e servidores 412 Portas 413 Escolhendo um transporte 413 Escolhendo usar sockets 413 Domain Name System (DNS) 414 Nomes de host 414 O protocolo DNS 415 Distribuio de bancos de dados de DNS 416 Formatos de mensagem DNS 417 Extenses do DNS 420 Telnet 420 Escolhendo entre acesso grfico e de caractere 421 Network Virtual Terminal 422 Como o Telnet funciona? 422 Autenticao Telnet 425 Aplicaes Telnet 425 File Transfer Protocol (FTP) 426 Um protocolo de aplicao simples 426 Modelo de conectividade 428 Formato de mensagem FTP 429 Gerenciando uma sesso FTP 429 Controle de conexo de dados 430 Movendo arquivos em FTP 432 Respostas FTP 432 Poderia ser mais simples? Trivial FTP 434 Escolhendo um protocolo de transferncia de arquivo 438 Hypertext Transfer Protocol (HTTP) 439 O que hipertexto? 439 Universal Resource Locators (URLs) 440 O que faz o HTTP? 441 Multipurpose Internet Message Extensions (MIME) 442 Formatos de mensagem HTTP 443

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

Sumrio

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

xvii

Exemplos de mensagens e transaes 445 Transaes HTTP seguras 448 Escolhendo um protocolo 448 Leitura adicional 449 Captulo 13. Gerenciamento de rede 451 Decidindo gerenciar sua rede 451 Escolhendo um mtodo de configurao 452 Interfaces de linha de comandos 452 Interfaces grficas com o usurio 453 Acesso e representaes de dados padronizados 454 Fazendo a escolha 455 A Management Information Base (MIB) 455 Representando objetos gerenciados 457 O Simple Network Management Protocol (SNMP) 458 Requisies, respostas e notificaes 458 Verses do SNMP e segurana 459 Escolhendo uma verso do SNMP 460 eXtensible Markup Language 460 Extensibilidade e domnios da aplicabilidade 460 Chamadas de procedimento remoto XML 461 Simple Object Access Protocol 461 Aplicabilidade da XML no gerenciamento de redes 461 Common Object Request Broker Architecture (CORBA) 462 Interface Definition Language (IDL) 463 A arquitetura 463 Comunicaes CORBA 464 Escolhendo um protocolo de configurao 468 Decidindo coletar estatsticas 468 Common Open Policy Service Protocol (COPS) 470 Decidindo aplicar poltica 470 O protocolo COPS 472 Formatos de mensagem COPS 473 A Policy Information Base 474 Leitura adicional 475 Simple Network Management Protocol e a Management Information Base 477 Extensible Markup Language e o Simple Object Access Protocol 477 Common Object Request Broker Architecture 478 Estatstica 478 Poltica 478 Captulo 14. Conceitos de segurana IP 479 A necessidade de segurana 480 Decidindo usar segurana 481 Escolhendo onde aplicar segurana 482 Segurana fsica 482

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

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

xviii

A Internet e seus Protocolos

Farrel

Protegendo os protocolos de roteamento e de sinalizao 482 Segurana em nvel de aplicao 483 Proteo na camada de transporte 484 Segurana em nvel de rede 484 Componentes dos modelos de segurana 484 Controle de acesso 484 Autenticao 486 Criptografia 487 IPsec 487 Escolhendo entre segurana fim-a-fim e proxy 487 Autenticao 489 Autenticao e criptografia 490 Segurana da camada de transporte 492 O Handshake Protocol 493 Mensagens de alerta 496 Proteo do Hypertext Transfer Protocol 496 Hashing e criptografia: algoritmos e chaves 498 Message Digest Five (MD5) 499 Data Encryption Standard (DES) 499 Troca de chaves 499 Troca de chaves da Internet 503 Leitura adicional 507 Consideraes de segurana 507 Outros protocolos de segurana 508 Algoritmos 508 Troca de chaves 508 Captulo 15. Aplicaes avanadas 509 Encapsulamento IP 509 Tunelamento por meio de redes IP 510 Encapsulamento de roteamento genrico 510 Encapsulamento IP no IP 511 Encapsulamento IP mnimo 513 Usando tneis MPLS 513 Escolhendo um mecanismo de tunelamento 513 Virtual Private Networks (VPNs) 514 O que uma VPN? 514 Tunelamento e espaos de endereamento privados 515 Solues usando protocolos de roteamento 516 Solues de segurana 517 VPNs MPLS 518 VPNs pticas 518 Escolhendo uma tecnologia de VPN 519 IP Mvel 519 Os requisitos do IP Mvel 520

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

Sumrio

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

xix

Estendendo os protocolos 521 Tunelamento reverso 522 Problemas de segurana 523 Compactao do cabealho 524 Escolhendo compactar cabealhos 524 Compactao de cabealho IP 524 MPLS e compactao de cabealho 529 Voz sobre IP 529 Voz sobre MPLS 530 Telefonia IP 530 Resumo dos protocolos 530 IP e ATM 531 IP sobre ATM (IPoA) 532 Multiprotocolo sobre ATM (MPOA) 532 LAN Emulation 534 MPLS sobre ATM 535 IP sobre enlaces dial-up 535 Serial Line Internet Protocol (SLIP) 535 Point-to-Point Protocol 536 Escolhendo um protocolo dial-up 537 Proxy ARP 537 Leitura adicional 538 Encapsulamento IP 538 Virtual Private Networks 538 Mobile IP 538 Compactao de cabealho 538 Voz sobre IP 539 Telefonia 539 IP e ATM 539 IP sobre dial-up 539 Comentrios finais 541 A Grade de Informaes Globais 543 Leitura adicional 543 ndice 545

Prefcio

Internet agora um conceito to conhecido que dispensa qualquer tipo de apresentao. Mesmo assim, apenas uma proporo relativamente pequena de pessoas que fazem uso regular de correio eletrnico ou da World Wide Web, ou simplesmente Web, tem um conhecimento claro dos computadores e das redes de telecomunicaes. Mesmo dentro desse grupo que entende, por exemplo, que um roteador um computador especial que encaminha dados de um lugar para outro, em geral, o conhecimento sobre o que realmente faz com que os roteadores confiram, decidam para onde enviar os dados e como esses dados so empacotados para serem passados de um computador para outro apenas superficial. A Internet uma malha de redes de computadores que se espalha pelo mundo. Os computadores que se conectam Internet ou fazem parte de sua infra-estrutura utilizam um conjunto comum de linguagens para a comunicao. So os protocolos da Internet. Essas linguagens abrangem todos os aspectos da comunicao, desde como os dados so apresentados no enlace entre dois computadores, de modo que ambos possam ter o mesmo entendimento da mensagem, at regras que permitem que os roteadores troquem e negociem capacidades e responsabilidades, para a rede se tornar um organismo totalmente conectado. Os protocolos da Internet so usados para estabelecer conversaes entre computadores remotos. Essas conversaes, ou conexes lgicas, podem se espalhar por milhares de quilmetros e utilizar muitos roteadores intermedirios.

Podem utilizar todos os tipos de conexes fsicas, incluindo enlaces de satlite, cabos de fibra ptica ou o conhecido cabo de par tranado para telefone. As conversaes podem ser manipuladas por meio de protocolos da Internet, para permitir que o trfego de dados seja colocado dentro da Internet de forma a otimizar o uso de recursos, a fim de evitar o congestionamento da rede e ajudar os operadores da rede a garantirem a qualidade de servio aos usurios. Em suma, a Internet sem protocolos seria uma coleo bastante dispendiosa e intil de computadores e fios. Portanto, os protocolos utilizados na Internet so de interesse especial a todos os que se preocupam com a funo da Internet. Os desenvolvedores e vendedores de software que criam navegadores Web, sistemas de correio eletrnico, pacotes de comrcio eletrnico ou ainda jogos multiusurios precisam utilizar os protocolos para que executem adequadamente na Internet e a fim de garantir que seus produtos se comuniquem com sucesso com os de outros fornecedores. Os fabricantes de equipamentos precisam implementar os protocolos para oferecer funcionalidade e valor aos clientes e fornecer solues que interoperem em conjunto com o hardware adquirido de outros fornecedores. Os operadores e gerentes de rede precisam estar especialmente cientes de como os protocolos funcionam, de modo que possam ajustar suas redes e mant-las funcionando, mesmo com mudanas drsticas na demanda do trfego e na disponibilidade de recursos.

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

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

xxii

A Internet e seus Protocolos

Farrel

J existe uma grande quantidade de livros dedicados a descries dos protocolos utilizados na Internet. Alguns descrevem um grupo de protocolos para mostrar como determinado servio (por exemplo, Virtual Private Networks VPN) pode ser fornecido atravs e dentro da Internet. Outros direcionam para um campo de operao (como o roteamento) e discutem os protocolos especficos relevantes a essa rea. Alguns outros livros ainda apresentam uma anatomia altamente detalhada de um dado protocolo, descrevendo todos os seus recursos e fraquezas. O objetivo deste livro oferecer um quadro mais amplo, mostrando todos os protocolos comuns da Internet e como eles se relacionam. claro que esse objetivo nada simples no alcanado com facilidade sem alguns compromissos. Em primeira instncia, necessrio incluir apenas os protocolos mais difundidos e pblicos existem mais de mil protocolos listados pela Internet Assigned Numbers Authority (IANA), e claramente todos eles no poderiam ser tratados em um nico livro. Segundo, alguns detalhes de cada protocolo precisam ser omitidos, por uma questo de limitao de espao. Apesar dessas restries, este livro apresenta mais do que uma viso geral dos protocolos estabelecidos. Ele examina o propsito e a funo de cada um e prov detalhes das mensagens usadas pelos protocolos, incluindo descries byte-a-byte e exemplos de fluxo de mensagem. A Internet uma entidade com evoluo muito rpida. medida que a quantidade de trfego aumenta e so feitos avanos na tecnologia de hardware, novas demandas so impostas aos inventores dos protocolos da Internet a Internet Engineering Task Force (IETF) , levando ao desenvolvimento de novos conceitos e protocolos. Alguns desses desenvolvimentos recentes, como o Multiprotocol Label Switching (MPLS), j esto tendo um emprego significativo na Internet. Outros, como a Generalized MPLS (GMPLS), so equilibrados para se estabelecerem como protocolos fundamentais dentro do ncleo de transporte da Internet. Este livro reconhece a importncia dessas novas tecnologias e, por isso, lhes d a ateno adequada. Por trs deste livro, existe uma linha comparativa. O emprego de protocolos da Internet carregado de decises: como devo construir minha rede? Que protocolo devo utilizar? Que opes dentro de um protocolo devo usar? Como posso fazer com que minha rede funcione melhor? Como posso oferecer

novos servios aos meus clientes? A cada passo, este livro procura resolver essas questes, dando orientaes sobre as escolhas e oferecendo uma anlise comparativa. No seria possvel escrever este livro sem fazer referncia a muitos dos textos existentes, que provem descries detalhadas de protocolos individuais. Ao final de cada captulo, algumas sugestes de leitura adicional levam o leitor a outras fontes de informao. Pblico-alvo Este livro tem por finalidade ser til a profissionais e alunos com interesse em um ou mais dos protocolos utilizados na Internet. No necessrio ter qualquer conhecimento da Internet para acompanhar a leitura, mas pode ser til ao leitor ter um conhecimento geral dos conceitos de protocolos de comunicao. Os leitores provavelmente tero graus de familiaridade variados com alguns dos protocolos descritos neste livro, que tambm poder ser utilizado como fonte de informao sobre protocolos no conhecidos, como uma reviso de assuntos antigos ou como uma referncia a protocolos bem conhecidos. Os desenvolvedores de software e hardware, junto com os testadores do sistema, acharo este livro til para ampliar seu conhecimento e dar-lhes uma base slida nos novos protocolos, antes que ingressem em novas reas ou iniciem novos projetos. Vai auxili-los a entender como os protocolos se relacionam e como diferem entre si, embora provendo funes semelhantes. Os operadores de rede normalmente precisam adotar novas tecnologias medida que um novo equipamento instalado e precisam logo se capacitar em protocolos novos e diferentes. Novos desenvolvimentos, como MPLS, esto causando um forte impacto na Internet, e tecnologias como GMPLS esto levando os protocolos de controle baseados em IP ao ncleo das redes de transporte. Este livro dever ser bastante atraente tambm a muitos operadores de redes, que, de repente, descobrem que o IP est invadindo seu mundo. Uma terceira categoria de leitores consiste em pessoas que tomam decises e gerentes com a tarefa de projetar e implantar redes. Essas pessoas j podero ter um bom conhecimento do uso e da finalidade de muitos protocolos, mas acharo til a comparao de protocolos semelhantes e podero atualizar

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

Prefcio

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

xxiii

seu conhecimento a partir da descrio dos novos protocolos. Organizao deste livro Os protocolos de rede costumam ser considerados com relao a um modelo em camadas. As aplicaes formam a camada superior e conversam entre si por meio de protocolos do nvel de aplicao. Ao fazer isso, elas utilizam protocolos de camadas inferiores para estabelecer conexes, encapsular dados e rote-los pela rede. Este livro organizado por camadas, de baixo para cima, para que os protocolos da camada de rede venham antes dos protocolos de transporte, e os protocolos de aplicao venham por ltimo. Como todas as boas generalizaes, a afirmao de que os protocolos se encaixam em camada no perfeita, e muitos protocolos no se encaixam facilmente nesse modelo. MPLS, por exemplo, tem sido descrito como um protocolo de uma camada e meia. Com esses casos difceis, os protocolos so descritos em captulos ordenados de acordo com onde a responsabilidade funcional se encaixa dentro de uma rede de dados. O Captulo 1 prov uma viso geral dos detalhes projetados para consolidar a terminologia dentro do restante do livro e para que os leitores no familiarizados com protocolos de comunicao se acostumem com os termos utilizados. Ele introduz o modelo OSI de sete camadas, descreve alguns protocolos comuns de enlace de dados e apresenta um quadro de como os protocolos da Internet descritos no livro se encaixam. O Captulo 2, O Internet Protocol (IP), introduz o protocolo de transferncia de dados indispensvel, no qual todos os outros protocolos da Internet so construdos. Ele discute o endereamento e descreve a forma mais popular de Internet Protocol, o IPv4. Esse captulo tambm inclui informaes sobre o Internet Control Message Protocol (ICMP), fundamental para a operao das redes IP. O Captulo 3 prov uma viso geral do multicast. As tcnicas para distribuio em massa de mensagens IP so abordadas junto com o Internet Group Management Protocol (IGMP). O tpico de roteamento multicast discutido no Captulo 5. O Captulo 4 esboa a prxima gerao do Internet Protocol, o IPv6, e examina os problemas que ele se prope a solucionar. O Captulo 5 apresenta o roteamento como um conceito e descreve alguns dos importantes protocolos de roteamento em uso dentro da Internet. Esse

o maior captulo do livro e aborda um assunto crucial. Ele detalha os quatro protocolos de roteamento unicast mais utilizados: o Routing Information Protocol (RIP), o protocolo Open Shortest Path First protocol (OSPF), o protocolo Intermediate System to Intermediate System (IS-IS) e o Border Gateway Protocol (BGP). O Captulo 5 tambm inclui uma introduo a alguns dos conceitos de roteamento multicast e prov uma viso geral de alguns dos protocolos de roteamento multicast. O Captulo 6 dedicado ao gerenciamento de servio IP e descreve como os servios e recursos so construdos em cima do IP usando Differentiated Services (DiffServ), Integrated Services (IntServ) e o Resource Reservation Protocol (RSVP). O Captulo 7 remete importante rea de transporte sobre IP. Os protocolos de transporte so responsveis pela entrega de dados de fim-a-fim por meio da Internet e provem diferentes nveis de servios s aplicaes que os utilizam. Esse captulo descreve o User Datagram Protocol (UDP), o Transmission Control Protocol (TCP), o Streams Control Transmission Protocol (SCTP) e o Real-Time Transport Protocol (RTP). O Captulo 8 uma divagao no campo de engenharia de trfego. Descreve alguns dos conceitos importantes no posicionamento ideal do trfego dentro de uma rede e esboa as extenses dos protocolos de roteamento para prover algumas das informaes de que uma aplicao de engenharia de trfego precisa para realizar seu trabalho. Este captulo tambm estabelece as extenses do OSPF e os protocolos de roteamento IS-IS no suporte da engenharia de trfego. Os Captulos 9 e 10 descrevem o Multiprotocol Label Switching (MPLS) e o Generalized MPLS (GMPLS). Essas novas tecnologias importantes utilizam o IP para estabelecer caminhos de dados por meio das redes para transportar o trfego que pode ser IP ou no. O Captulo 9 explica os fundamentos do MPLS antes de mostrar os detalhes de trs protocolos de sinalizao MPLS: o Label Distribution Protocol (LDP), Constraint-Based LSP Setup Using LDP (CR-LDP) e as extenses de engenharia de trfego do Resource Reservation Protocol (RSVP-TE). O Captulo 10 explica como os protocolos MPLS foram estendidos para usar uma infra-estrutura IP para gerenciar o hardware de rede que poderia comutar dados pticos, em vez de pacotes IP. O Captulo 10 tambm inclui uma descrio do Link Management Protocol (LMP).

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

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

xxiv

A Internet e seus Protocolos

Farrel

O Captulo 11 dedicado a gerenciar comutadores (switches) e componentes. Embora os comutadores e componentes estejam no nvel inferior do modelo de protocolos em camadas, seu gerenciamento um aspecto do nvel de aplicao, e os protocolos utilizados empregam IP e muitos dos outros recursos j descritos. So apresentados o General Switch Management Protocol (GSMP) e suas extenses ao LMP para gerenciar componentes pticos (LMP-WDM), e h uma rpida introduo ao trabalho do Forwarding and Element Control Separation (ForCES) Working Group da IETF. O Captulo 12 nos conduz a pelo menos dois protocolos de aplicao. As aplicaes so o fim de tudo; no h sentido em quaisquer outros protocolos sem aplicaes que precisam trocar dados entre diferentes locais. Esse captulo descreve alguns dos muitos protocolos que as aplicaes utilizam para se comunicar entre si na Internet. O protocolo Domain Name System (DNS), o Telnet, o File Transfer Protocol (FTP), o Trivial File Transfer Protocol (TFTP) e o Hypertext Transfer Protocol (HTTP) so usados como exemplos. O Captulo 13 desenvolve os dois captulos anteriores para discutir o gerenciamento de redes. Os protocolos de controle usados para colher informaes sobre a rede e controlar os recursos so cada vez mais importantes nas redes complexas de hoje. Este captulo inclui uma viso geral da Management Information Base (MIB) que atua como banco de dados distribudo de informaes sobre todos os elementos de uma rede. H tambm uma descrio de trs tcnicas importantes para a distribuio de informaes de gerenciamento: o Simple Network Management Protocol (SNMP), a Extensible Markup Language (XML) e a Common Object Request Broker Architecture (CORBA). O captulo termina com alguns comentrios sobre poltica de gerenciamento dentro de uma rede e com uma descrio do protocolo Common Open Policy Service (COPS). O Captulo 14 examina o importante assunto de Segurana IP e como as mensagens podem ser autenticadas e protegidas quando enviadas pela Internet. Uma ateno especial dedicada s maneiras como a segurana pode ser aplicada na camada de rede (IPsec), na camada de transporte usando o protocolo Transport Layer Security (TLS) e Secure Sockets Layer (SSL), e na camada de aplicao, com as tcnicas de segurana para HTTP servindo como exemplo. O Captulo 15 explora rapidamente algumas aplicaes avanadas, como encapsulamento IP, Virtual Private Networks, Mobile IP e Voice over IP. Alguns

desses assuntos so novos usos do IP, que esto exigindo o desenvolvimento de novos protocolos e extenses aos protocolos existentes. Outros so quase to antigos quanto o prprio IP e so tcnicas bem estabelecidas. Finalmente, os comentrios finais examinam os desenvolvimentos futuros e tentam prever os prximos passos no desenvolvimento e na padronizao de protocolos da Internet. Cada captulo comea com uma rpida introduo que lista os assuntos que sero abordados e explica por que o material importante. Todos os captulos terminam com sugestes para mais leitura, levando o leitor para livros e outros materiais que abordam os assuntos com mais detalhes. Em todo o livro, so feitas comparaes entre os protocolos e entre opes de implementao/distribuio, na forma de sees com ttulos, como Escolhendo entre TCP e SCTP, ou Escolhendo entre CRLDP e RSVP-TE. Convenes usadas neste livro Um byte uma quantidade de 8 bits, s vezes conhecida como octeto. Os bits so numerados dentro de um byte na ordem em que chegariam em uma transmisso. O primeiro bit numerado com 0 (zero) e o bit mais significativo. Onde inteiros so transmitidos como parte de um protocolo, eles so enviados em formato de linha ou seja, com o bit mais significativo primeiro. Isso pode ser visto mais facilmente convertendo o nmero para a representao binria com o nmero correto de bits (ou seja, preenchendo com zeros esquerda) e numerando os bits da esquerda para a direita, comeando com zero. Assim, o nmero 26.026 (0x65A9 em hexadecimal) representado como um nmero binrio de 16 bits, como 0110010110101001. O bit zero tem o valor 0, e o bit 15 tem o valor 1. A representao de mensagens obtida mostrando os bits da esquerda para a direita na pgina, com o bit zero do byte zero no canto superior esquerdo. Trinta e dois bits (4 bytes) aparecem em seqncia. Por exemplo, a Figura 0.1 mostra o cabealho da Protocol Data Unit (PDU) usado para iniciar todas as mensagens no Label Distribution Protocol (LDP). O cabealho tem 10 bytes de extenso e compreende quatro campos: a Verso, o tamanho da PDU (PDU Length), o identificador de LSR (LSR Identifier) e um Identificador de Espao do Rtulo (Label Space Identifier).

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

Prefcio

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

xxv

0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Verso Identificador do LSR Identificador de espao do rtulo Tamanho da PDU

Figura 0.1 Cabealho do PDU da LDP.

Os exemplos de rede aparecem nas figuras usando alguns dos smbolos mostrados na Figura 0.2. feita uma distino entre roteadores IP e LSRs (Label Switching Routers) MPLS (Multiprotocol Label Switching). As redes multiacesso normalmente so representadas como Ethernets, e as redes IP mais genricas aparecem por nuvens. Os computadores e as estaes de trabalho (host) dos usurios, conectados s redes, normalmente aparecem como computadores pessoais, com monitores. Computadores maiores que podem atuar como servidores de aplicao so representados como sistemas em torre. As trocas entre protocolos aparecem nos diagramas por meio de linhas verticais para representar os ns da rede e as linhas horizontais para representar mensagens com o nome da mensagem escrito imediatamente acima deles. O tempo flui para baixo no diagrama; na Figura 0.3, que ilustra os eventos e a troca de mensagens entre dois LSRs RSVP-TE, os primeiros eventos so mensagens Path, passadas de um LSR para o seguinte. Linhas verticais pontilhadas so usadas para ilustrar a passagem do tempo, como ao esperar at que um temporizador expire ou aguardar instrues da aplicao.

O Backus Naur Form (BNF) s vezes usado para descrever formatos de mensagem quando montada por meio de componentes. Cada componente identificado por <componente>, e os componentes opcionais so colocados entre colchetes, [<componente>]. O outro smbolo usado o pipe |, uma barra vertical que indica um OU Exclusivo, de modo que <ou este componente est presente> | <ou este>. A Figura 0.4 mostra a mensagem COPS Decision, criada a partir de dois componentes mandatrios (o cabealho comum e a handle do cliente), uma escolha entre os componentes Decision e o componente Error (precisamente um deles precisa estar presente), e um componente Integrity. Sobre a IETF A Internet Engineering Task Force (IETF) o principal rgo de criao de padres que documenta os padres para uso na Internet e em relao ao Internet Protocol, IP. O rgo uma reunio livre de indivduos que supostamente ignoram seus vnculos corporativos e trabalham em conjunto para produzir as melhores solues tcnicas de maneira oportu-

Um host ou estao de trabalho

Um host ou servidor de aplicaes

Um roteador IP

Um roteador de comutao de rtulos (LSR)

Um segmento Ethernet com quatro hosts e um roteador conectado a uma rede IP contendo trs roteadores

Figura 0.2 Alguns dos smbolos utilizados nas figuras deste livro.

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

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

xxvi

A Internet e seus Protocolos

Farrel

LSR A Path

LSR B

LSR C

LSR D

Path Path Resv Resv Resv

PathTear PathTear PathTear

Figura 0.3 Configurao e descarte do LSP normal em uma rede RSVP-TE.

na. No h uma associao formal de membros, e todos so livres para participar das discusses de novos padres e problemas com os participantes dos grupos de trabalho. A maior parte do trabalho da IETF executada dentro de grupos de trabalho (Working Groups), cada um responsvel por tratar um conjunto de problemas razoavelmente pequeno. At o momento da produo deste livro, existiam 133 Working Groups ativos em operao. Cada Working Group mantm uma lista de correio eletrnico usada para as discusses e promove uma reunio a cada quatro meses quando a IETF se rene em carne e osso. Os padres so desenvolvidos por meio de um processo de propostas conhecido como Internet Draft. Os Internet Drafts podem ser o trabalho de grupos de indivduos ou de um Working Group e so publicados e republicados at serem considerados aceitos ou at no despertarem mais o interesse e serem descartados. Os drafts aceitos so colocados em ltima chamada (last call) dentro do Working Group e depois novamente por toda a IETF, permitindo que todos expressem quaisquer objees de ltima hora. Se tudo estiver bem e o draft for aprovado pelo Internet Engineering Steering Group (IESG), ele publicado como uma Request for Comment (RFC).

Uma RFC no automaticamente um padro. Ela precisa passar por um processo de implementao, implantao e avaliao, antes de receber a aprovao. Existem mais de 3.500 RFCs publicadas at o momento, mas somente 62 delas foram certificadas como padres. Por uma questo de clareza, as RFCs e os padres (Standards) so referenciados apenas por meio de seu nmero de RFC ao longo deste livro. A maioria dos protocolos descritos neste livro o assunto de mais de uma RFC. As sees de Leitura Adicional no final de cada captulo listam as RFCs relevantes, que podem ser encontradas no Web site da IETF. Dois outros grupos importantes contribuem para o sucesso da IETF. O editor da RFC (RFC editor) responsvel por formatar, verificar e publicar RFCs. A Internet Assigned Numbers Authority (IANA) mantm um repositrio de todos os nmeros e valores de protocolo alocados, de modo que no h risco de uso duplicado acidental do mesmo valor. A IETF mantm um Web site em http://www.ietf.org, no qual existem links para cada um dos Working Groups, para a IANA, para uma lista de todas as RFCs publicadas e para um mecanismo de pesquisa, a fim de pesquisar o repositrio de Internet Drafts. A IETF

<Decision Message> :: =

<Cabealho Comum> <Handle do Cliente> <Decisions> | <Error> [ <Integrity> ]

Figura 0.4 A mensagem de deciso de protocolo COPS representada em BNF.

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

Prefcio

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

xxvii

publica um documento til, RFC 3160 The Tao of the IETF, que serve como uma introduo aos objetivos e filosofia da IETF; ele pode ser encontrado em http://www.ietf.org/rfc/rfc3160.txt. Uma nota sobre gnero Dentro deste livro, s vezes necessrio nos referirmos a um indivduo (por exemplo, um operador de rede ou o implementador de um componente de software) usando um pronome na terceira pessoa. A palavra ele usada sem preconceito e no significa que uma quantidade desproporcional de tcnicos do sexo masculino, nem que as mulheres so inteligentes demais para desperdiar seu tempo com tais tarefas. Agradecimentos Escrevi este livro enquanto trabalhava em uma empresa nova, que fabrica comutadores pticos de alta tecnologia para a Internet, durante uma mudana extrema no mercado de telecomunicaes. Estava morando em um pas novo e estranho para mim, durante um momento de segurana reforada e estresse, causados pelo terrorismo e pela guerra.

Nunca houve um momento de alvio, e muito poucos foram dedicados ao sono. A maior parte do meu tempo de dedicao ao livro foi espremida em momentos livres nas noites ou nos finais de semana, que deveriam ter sido gastos de outra forma, sendo eu um chefe de famlia ou um turista. Portanto, meu sincero agradecimento minha esposa Catherine e meu co Bracken, que entendiam quando eu virava as costas para eles e comeava a digitar e que souberam se divertir juntos sem minha ajuda. Tambm sou grato aos meus revisores, que lutaram com o manuscrito, fazendo sugestes teis e mudanas factuais. Loa Andersson, Paul Turcotte, Judith M. Myerson e Y. Reina Wang contriburam significativamente para a forma do livro e para meu nvel de conforto enquanto eu o escrevia. Agradeo tambm a Phillip Matthews, que entrou no circuito e ofereceu um retorno rpido, substancial e detalhado no Captulo 5. Minha gratido vai para a equipe da Morgan Kaufmann, por todo o trabalho realizado: especialmente, a Karyn Johnson e Marcy BarnesHenrie. Finalmente, um agradecimento especial a Philip Yim, que tanto me incentivou em um momento to difcil.

O Autor

drian Farrel tem quase 20 anos de experincia no projeto e no desenvolvimento de software de comunicaes portvel, desde vrios aspectos de SNA e OSI at ATM e IP. Na Data Connection Ltd., foi arquiteto e gerente de desenvolvimento de MPLS, liderando uma equipe que produziu uma implementao carrier-class MPLS para clientes no espao do roteador, enquanto sua implementao de GMPLS foi pioneira dentre os protocolos, trabalhando muito perto de empresas pticas que estavam desenvolvendo os padres. Como diretor de Desenvolvimento de Protocolos para a Movaz Networks Inc., Adrian teve a oportunidade de criar um sistema de ponta, integrando muitos protocolos baseados em IP para controlar e gerenciar comutadores

pticos oferecendo servios de comprimento de onda. Adrian muito ativo dentro da IETF, onde codiretor do grupo de trabalho Common Control and Measurement Plane (CCAMP), responsvel pela famlia de protocolos GMPLS. Foi co-autor e contribuiu com diversos Internet Drafts e RFCs sobre MPLS, GMPLS e tecnologias relacionadas. Foi membro fundador do MPLS Forum, faz palestras freqentes em conferncias e o autor de vrios white papers sobre GMPLS. Mora em North Wales, de onde dirige uma firma de consultoria sobre protocolos da Internet, a Old Dog Consulting, e tem uma vida tranqila com sua esposa Catherine e seu co Bracken.