Falso Olho Provisório (para ser substituído)
A INTERNE INTERNET T E SEUS SEUS PROTOCO PROTOCOL LOS
Preencha a ficha de cadastro no final deste livro e receba gratuitamente gratuitamente informações sobre os lançamentos e as promoções da Editora Campus/Elsevier. Consulte também nosso catálogo completo e últimos lançamentos em www.campus.com.b www.campus.com.brr
Folha de Rosto Provisória (para ser substituída)
A INTERNE INTERNET T E SEUS SEUS PROTOCO PROTOCOL LOS
Adrian Farrel
Do original The Internet and its protocols Tradução autorizada do idioma inglês da edição publicada por Morgan Kaufman Publishers Copyright © 2004 by Adrian Farrel © 2005, Elsevier Editora Ltda. Todos os direitos res ervados e protegidos pela Lei 9.610 de 19/02/98. Nenhuma parte deste livro, sem autorização prévia por escrito da edi tora, poderá ser reproduzida ou transmitida se jam quais forem os meios empregados: eletrônicos, mecânicos, fotográficos, gravação ou quaisquer outros. Copidesque Ligia Capdeville da Paixão Editoração Eletrônica DTPhoenix Editorial Revisão Gráfica Marco Antônio Corrêa Projeto Gráfico Editora Campus/Elsevier A Qualidade da Informação Rua Sete de Setembro, 111 — 16 andar 20050-006 — Rio de Janeiro — RJ — Brasil Telefone: (21) 3970-9300 Fax (21) 2 507-1991 E-mail:
[email protected] Escritório São Paulo Rua Quintana, 753 — 8º andar 04569-011 — Brooklin — São Paulo — SP Telefone: (11) 5105-8555 o
ISBN 85-352-1591-3 Edição original: ISBN 1-55860-913-X Muito zelo e técnica foram empregados na edição desta obra. No entanto, podem ocorrer erros de digitação, impressão ou dúvida conceitual. Em qualquer das hipóteses, solicitamos a comunicação à nossa Central de Atendimento, para que possamos esclarecer ou encaminhar a questão. Nem a editora nem o autor assumem qualquer responsabilidade por eventuais danos ou perdas a pessoas ou bens, originados do uso desta publicação. Nota:
Central de atendimento tel: 0800-265340 Rua Sete de Setembro, 111, 16 andar — Centro — Rio de Janeiro e-mail:
[email protected] site: www.campus.com.br o
CIP-Brasil. Catalogação-na-fonte. Sindicato Nacional dos Editores de Livros, RJ _________________________________________________________________________ F253i Farrel, Adrian A Internet e seu s protocolo s: uma análise comp arativa / Adri an Farrel; tradução Daniel Vieira. — Rio de Janeiro: Elsevier, 2005. il. Tradução de: The Internet and its protocols ISBN: 85-352-1591-3 1. Redes de computação — Protocolos. 2 Internet. I. Título. CDD – 004.62 05-2051 CDU – 004.738.5 _________________________________________________________________________
Para Eleanor e Elliot. Na esperança de que nunca precisem lê-lo.
Sumário
Prefácio xxi O Autor xxix
Capítulo 1. Visão geral dos fundamentos 1 Conectividade física 1 Protocolos e endereçamento 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 lógico de enlace 13 Resumo dos protocolos 14 Leitura adicional 15 Capítulo 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 fragmentação 22 Escolhendo detectar erros 25 Endereçamento IPv4 27 Espaços de endereçamento e formatos 27
. . . . . . . . . . . . . viii . . . ................. .
A Internet e seus Protocolos
Farrel
Endereços de broadcast 28 Máscaras de endereço, prefixos e sub-redes 28 Network Address Translation (NAT) 29 IP em uso 30 Funções de comutação 30 Comutação e roteamento IP 31 Entrega local e loopbacks 32 Tipo de serviço 34 Address Resolution Protocol (ARP) 34 Atribuição dinâmica de endereços 37 Opções e funções avançadas do IP 39 Controle e registro de rota 42 Internet Control Message Protocol (ICMP) 44 Mensagens e formatos 45 Relatório e diagnóstico de erros 45 Tempo excedido 47 Problema de Parâmetro 47 Redirecionamento 47 Destino Inalcançável 48 Controle de fluxo 48 Ping e traceroute 48 Descobrindo roteadores 51 Descoberta de caminho MTU 52 Implicações de segurança 53 Leitura adicional 54 Capítulo 3. Multicast 55 Escolhendo unicast ou multicast 55 Aplicações que utilizam multicast 58 Endereçamento e encaminhamento multicast 59 Internet Group Management Protocol (IGMP) 61 O que são grupos? 61 Formatos de mensagem e trocas IGMP 61 Leitura adicional 64 Capítulo 4. IP versão seis 65 Endereços IPv6 66 Formatos de endereço IPv6 67 Sub-redes e prefixos 68 Anycast 69 Endereços com significado especial 70 Escolhendo endereços IPv6 70 Formatos de pacote 71 Opções 72 Escolhendo entre IPv4 e IPv6 76 Transportando endereços IPv4 no IPv6 76 Interoperação entre IPv4 e IPv6 76
Sumário
Checksum 77 Efeito sobre outros protocolos 77 Fazendo a escolha 78 Leitura adicional 79 Capítulo 5. Roteamento 81 Roteamento e encaminhamento 82 Classless Inter-Domain Routing (CIDR) 82 Sistemas autônomos 83 Construindo e usando uma tabela de roteamento 84 IDs de roteador, enlaces numerados e enlaces não numerados 86 Distribuindo informações de roteamento 87 Vetores de distância 88 Roteamento por estado do enlace 93 Vetores de caminho e políticas 97 Distribuindo informações 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 tráfego 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 básicos 110 Descoberta de vizinho 112 Sincronizando o estado do banco de dados 113 Anunciando o estado do enlace 115 Redes de acesso múltiplo 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 autônomos 127 LSAs opacos 127 Intermediate-System to Intermediate-System (IS-IS) 127 Encaminhamento e endereçamento de dados 128 Checksum de Fletcher 129
.. .. .. .. .. .. .. .. ix . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . x . . . ................. .
A Internet e seus Protocolos
Farrel
Áreas 129 Unidades de dados do protocolo IS-IS 132 Descoberta de vizinhos e manutenção de adjacências 134 Distribuindo informações 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 autônomos 143 Mensagens e formatos básicos 144 Função avançada 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: considerações 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 históricos 176 Leitura adicional 177 Estruturas e visão geral sobre roteamento 177 Protocolos de roteamento por vetor de distância 177 Protocolos por estado do enlace 177 Protocolos por vetor de caminho 178 Protocolos multicast 178 Capítulo 6. Gerenciamento de serviço IP 179 Escolhendo como gerenciar os serviços 180 Differentiated Services 182
Sumário
Colorindo pacotes no DiffServ 182 Modelo funcional do DiffServ 183 Escolhendo usar DiffServ 184 Integrated Services 185 Descrevendo fluxos de tráfego 185 Carga controlada 186 Serviço garantido 187 Capacidades de relatório 188 Escolhendo usar o IntServ 190 Escolhendo um tipo de serviço 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 Sessões e fluxos 194 Requisitando, descobrindo e reservando recursos 194 Tratamento de erros 195 Adaptando a mudanças 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 Redução de refresh do RSVP 212 Escolhendo usar a redução de refresh 215 Agregação de fluxos RSVP 217 Leitura adicional 217 Capítulo 7. Transporte sobre IP 219 O que é um protocolo de transporte? 219 Escolhendo usar um protocolo de transporte 220 Portas e endereços 221 Entrega confiável 222 Transporte orientado a conexão 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 conexão 227 Mensagens TCP 227 Estabelecimento da conexão 228 Transferência de dados 229
.. .. .. .. .. .. .. .. xi . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . xii . . . ................. .
A Internet e seus Protocolos
Farrel
Confirmações e controle de fluxo 230 Dados urgentes 234 Fechando a conexão 235 Implementando o TCP 236 A interface Sockets 238 Opções 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 associação 243 Transferência de dados 247 Implementação do SCTP 251 Escolhendo entre TCP e SCTP 252 Protocolos que usam SCTP 252 O Real-Time Transport Protocol (RTP) 252 Gerenciando dados 253 Considerações de controle 255 Escolhendo um transporte para RTP 257 Escolhendo usar o RTP 259 Leitura adicional 260 Capítulo 8. Engenharia de tráfego 261 O que é engenharia de tráfego IP? 261 Equal Cost Multipath (ECMP) 262 Modificando os custos do caminho 263 Roteando fluxos IP 264 Roteamento baseado em serviço 265 Escolhendo entre engenharia de tráfego off-line ou dinâmica 265 Descobrindo a utilização da rede 266 Notificação explícita de congestionamento 267 Extensões de roteamento para engenharia de tráfego 267 OSPF-TE 268 Extensões de TE para o IS-IS 269 Escolhendo usar a engenharia de tráfego 270 Limitações da engenharia de tráfego IP 271 Desenvolvimentos futuros na engenharia de tráfego 272 Leitura adicional 272 Material geral de engenharia de tráfego 272 Extensões de protocolo de roteamento para engenharia de tráfego 273 Capítulo 9. Multiprotocol Label Switching (MPLS) 275 Comutação de rótulos 276 Escolha entre roteamento e comutação 276
Sumário
Fundamentos de MPLS 277 Rotulando pacotes 277 Troca de rótulo e Label Switched Path (LSP) 277 Rótulos concluídos nas redes de comutação 278 Mapeando dados a um LSP 279 Hierarquias e túneis 280 Escolhendo MPLS em vez de outras tecnologias de comutação 282 Protocolos de sinalização 283 O que um protocolo de sinalização faz? 283 Escolhendo um plano de controle baseado em IP 284 Distribuição de rótulos baseada em roteamento 284 Distribuição de rótulos por demanda 284 Engenharia de tráfego 284 Escolhendo usar um protocolo de sinalização 285 Label Distribution Protocol (LDP) 286 Parceiros, entidades e sessões 288 Anúncio e uso de endereço 292 Distribuindo rótulos 293 Escolhendo um modo de distribuição de rótulos 298 Escolhendo um modo de retenção de rótulos 299 Interrompendo o uso de rótulos 299 Casos de erro e notificação de evento 302 Outros exemplos de fluxo de mensagem 304 Escolhendo protocolos de transporte para o LDP 306 Sobrevivendo a interrupções na rede 307 Extensões do LDP 308 Engenharia de tráfego no MPLS 308 Rotas explícitas 309 Regras de processamento de rota explícita 311 Reservando recursos e roteamento baseado em restrição 312 Ordenando o tráfego 313 Gerenciando a rede 313 Procedimentos de recuperação 313 Decidindo usar um protocolo de sinalização baseado em restrição 313 Configuração LSP baseada em restrição usando LDP (CR-LDP) 314 Acrescentando restrições ao LDP 314 Novos TLVs 315 Escolhendo um FEC no CR-LDP 315 Identificando o LSP 315 Rotas explícitas 315 Parâmetros de tráfego 317 Re-roteando e fixando o LSP 320 Colorindo o LSP 322 Prioridades do LSP 322
.. .. .. .. .. .. .. .. xiii . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . xiv . . . ................. .
A Internet e seus Protocolos
Farrel
Novos códigos de estado 322 Mensagens CR-LDP 323 Extensões ao RSVP para túneis LSP (RSVP-TE) 325 Reutilização da função RSVP 325 Distribuindo rótulos 326 Identificando LSPs 327 Gerenciando rotas 329 Requisições e reserva de recursos 332 Prioridades, preempção 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 Considerações de segurança, controle de admissão e política 336 Novos códigos 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 adoção 341 Comparação de funcionalidade 344 Priorizando o tráfego no MPLS 345 Deduzindo a prioridade através dos rótulos 345 Deduzindo a prioridade através dos bits experimentais 346 Novos códigos de erro 347 Escolhendo entre L-LSPs e E-LPSs 347 BGP-4 e MPLS 348 Distribuindo rótulos para rotas BGP 348 Objetos de mensagem novos e modificados 349 Construindo VPNs MPLS 350 Leitura adicional 350 Capítulo 10. GMPLS (Generalized MPLS) 351 Uma hierarquia dos meios 351 Comutação da camada dois 352 Comutação de pacotes 352 Time Division Multiplexing 352 Comutação de lambda 352 Comutação de banda de onda 352 Comutação de fibra e porta 352 Escolhendo seu tipo de comutação 353 O que é um rótulo? 353 Extensões de sinalização genéricas para o GMPLS 353 Rótulos genéricos 353 Rótulos de requisição 354
Sumário
Negociando rótulos 355 Serviços bidirecionais 358 Serviços de proteção 359 Gerenciando conexões e alarmes 360 Sinalização sem banda 360 Escolhendo usar sinalização GMPLS 361 Escolhendo RSVP-TE ou CR-LDP no GMPLS 363 Generalized RSVP-TE 363 Controle de rota avançado 363 Reduzindo os custos adicionais do protocolo 364 Requisições e mensagens de notificação 364 Reinício 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 comutação e proteção 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 Autenticação 389 Escolhendo usar LMP 389 Leitura adicional 390 Capítulo 11. Comutadores e componentes 393 General Switch Management Protocol (GSMP) 393 Comutadores distribuídos 394 Sinopse do GSMP 394 Formatos comuns 394 Estabelecendo adjacência 397 Configuração do comutador 398 Gerenciamento de porta 401 Gerenciamento de conexão 401 Preservação dos recursos 402
.. .. .. .. .. .. .. .. xv . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . xvi . . . ................. .
A Internet e seus Protocolos
Farrel
Eventos, estado e estatísticas 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 distribuídas 406 Gerenciamento de canal de controle 407 Gerenciamento de link 408 Gerenciamento de falha 408 Leitura adicional 409 Capítulo 12. Protocolos de aplicação 411 O que é uma aplicação? 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 Distribuição de bancos de dados de DNS 416 Formatos de mensagem DNS 417 Extensões do DNS 420 Telnet 420 Escolhendo entre acesso gráfico e de caractere 421 Network Virtual Terminal 422 Como o Telnet funciona? 422 Autenticação Telnet 425 Aplicações Telnet 425 File Transfer Protocol (FTP) 426 Um protocolo de aplicação simples 426 Modelo de conectividade 428 Formato de mensagem FTP 429 Gerenciando uma sessão FTP 429 Controle de conexão de dados 430 Movendo arquivos em FTP 432 Respostas FTP 432 Poderia ser mais simples? Trivial FTP 434 Escolhendo um protocolo de transferência 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
Sumário
Exemplos de mensagens e transações 445 Transações HTTP seguras 448 Escolhendo um protocolo 448 Leitura adicional 449 Capítulo 13. Gerenciamento de rede 451 Decidindo gerenciar sua rede 451 Escolhendo um método de configuração 452 Interfaces de linha de comandos 452 Interfaces gráficas com o usuário 453 Acesso e representações 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 Requisições, respostas e notificações 458 Versões do SNMP e segurança 459 Escolhendo uma versão do SNMP 460 eXtensible Markup Language 460 Extensibilidade e domínios 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 Comunicações CORBA 464 Escolhendo um protocolo de configuração 468 Decidindo coletar estatísticas 468 Common Open Policy Service Protocol (COPS) 470 Decidindo aplicar política 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 Estatística 478 Política 478 Capítulo 14. Conceitos de segurança IP 479 A necessidade de segurança 480 Decidindo usar segurança 481 Escolhendo onde aplicar segurança 482 Segurança física 482
.. .. .. .. .. .. .. .. xvii . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . xviii . . . ................. .
A Internet e seus Protocolos
Farrel
Protegendo os protocolos de roteamento e de sinalização 482 Segurança em nível de aplicação 483 Proteção na camada de transporte 484 Segurança em nível de rede 484 Componentes dos modelos de segurança 484 Controle de acesso 484 Autenticação 486 Criptografia 487 IPsec 487 Escolhendo entre segurança fim-a-fim e proxy 487 Autenticação 489 Autenticação e criptografia 490 Segurança da camada de transporte 492 O Handshake Protocol 493 Mensagens de alerta 496 Proteção 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 Considerações de segurança 507 Outros protocolos de segurança 508 Algoritmos 508 Troca de chaves 508 Capítulo 15. Aplicações avançadas 509 Encapsulamento IP 509 Tunelamento por meio de redes IP 510 Encapsulamento de roteamento genérico 510 Encapsulamento IP no IP 511 Encapsulamento IP mínimo 513 Usando túneis MPLS 513 Escolhendo um mecanismo de tunelamento 513 Virtual Private Networks (VPNs) 514 O que é uma VPN? 514 Tunelamento e espaços de endereçamento privados 515 Soluções usando protocolos de roteamento 516 Soluções de segurança 517 VPNs MPLS 518 VPNs ópticas 518 Escolhendo uma tecnologia de VPN 519 IP Móvel 519 Os requisitos do IP Móvel 520
Sumário
Estendendo os protocolos 521 Tunelamento reverso 522 Problemas de segurança 523 Compactação do cabeçalho 524 Escolhendo compactar cabeçalhos 524 Compactação de cabeçalho IP 524 MPLS e compactação de cabeçalho 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 Compactação de cabeçalho 538 Voz sobre IP 539 Telefonia 539 IP e ATM 539 IP sobre dial-up 539 Comentários finais 541 A Grade de Informações Globais 543 Leitura adicional 543 Índice 545
.. .. .. .. .. .. .. .. xix . . . . . . . . . . . . . . . . . .
Prefácio
A
Internet agora é um conceito tão conhecido que Podem utilizar todos os tipos de conexões físicas, dispensa qualquer tipo de apresentação. Mes- incluindo enlaces de satélite, cabos de fibra óptica mo assim, apenas uma proporção relativamente pe- ou o conhecido cabo de par trançado para telefone. quena de pessoas que fazem uso regular de correio As conversações podem ser manipuladas por meio eletrônico ou da World Wide Web, ou simplesmente de protocolos da Internet, para permitir que o trá Web, tem um conhecimento claro dos computadores fego de dados seja colocado dentro da Internet de e das redes de telecomunicações. Mesmo dentro des- forma a otimizar o uso de recursos, a fim de evitar o se grupo que entende, por exemplo, que um roteador congestionamento da rede e ajudar os operadores é um computador especial que encaminha dados de da rede a garantirem a qualidade de serviço aos usuáum lugar para outro, em geral, o conhecimento so- rios. Em suma, a Internet sem protocolos seria uma bre o que realmente faz com que os roteadores confi- coleção bastante dispendiosa e inútil de computaram, decidam para onde enviar os dados e como es- dores e fios. ses dados são empacotados para serem passados de Portanto, os protocolos utilizados na Internet são um computador para outro é apenas superficial. de interesse especial a todos os que se preocupam A Internet é uma malha de redes de computa- com a função da Internet. Os desenvolvedores e vendores que se espalha pelo mundo. Os computado- dedores de software que criam navegadores Web, sisres que se conectam à Internet ou fazem parte de temas de correio eletrônico, pacotes de comércio elesua infra-estrutura utilizam um conjunto comum de trônico ou ainda jogos multiusuários precisam utilizar linguagens para a comunicação. São os protocolos os protocolos para que executem adequadamente na da Internet. Essas linguagens abrangem todos os as- Internet e a fim de garantir que seus produtos se copectos da comunicação, desde como os dados são muniquem com sucesso com os de outros fornecedoapresentados no enlace entre dois computadores, res. Os fabricantes de equipamentos precisam de modo que ambos possam ter o mesmo entendi- implementar os protocolos para oferecer funcionalimento da mensagem, até regras que permitem que dade e valor aos clientes e fornecer soluções que os roteadores troquem e negociem capacidades e res- interoperem em conjunto com o hardware adquirido ponsabilidades, para a rede se tornar um organis- de outros fornecedores. Os operadores e gerentes de mo totalmente conectado. Os protocolos da Internet rede precisam estar especialmente cientes de como são usados para estabelecer conversações entre com- os protocolos funcionam, de modo que possam ajusputadores remotos. Essas conversações, ou conexões tar suas redes e mantê-las funcionando, mesmo com lógicas, podem se espalhar por milhares de quilô- mudanças drásticas na demanda do tráfego e na dismetros e utilizar muitos roteadores intermediários. ponibilidade de recursos.
. . . . . . . . . . . . . xxii . . . ................. .
A Internet e seus Protocolos
Farrel
Já existe uma grande quantidade de livros dedi- novos serviços aos meus clientes? A cada passo, este cados a descrições dos protocolos utilizados na livro procura resolver essas questões, dando orientaInternet. Alguns descrevem um grupo de protocolos ções sobre as escolhas e oferecendo uma análise compara mostrar como determinado serviço (por exem- parativa. plo, Virtual Private Networks — VPN) pode ser forNão seria possível escrever este livro sem fazer necido através e dentro da Internet. Outros di- referência a muitos dos textos existentes, que provêrecionam para um campo de operação (como o em descrições detalhadas de protocolos individuais. roteamento) e discutem os protocolos específicos re- Ao final de cada capítulo, algumas sugestões de leilevantes a essa área. Alguns outros livros ainda apre- tura adicional levam o leitor a outras fontes de inforsentam uma anatomia altamente detalhada de um mação. dado protocolo, descrevendo todos os seus recursos e fraquezas. O objetivo deste livro é oferecer um quadro mais Público-alvo amplo, mostrando todos os protocolos comuns da Este livro tem por finalidade ser útil a profissioInternet e como eles se relacionam. É claro que esse nais e alunos com interesse em um ou mais dos proobjetivo nada simples não é alcançado com facilida- tocolos utilizados na Internet. Não é necessário ter de sem alguns compromissos. Em primeira instân- qualquer conhecimento da Internet para acompanhar cia, é necessário incluir apenas os protocolos mais a leitura, mas pode ser útil ao leitor ter um conhecidifundidos e públicos — existem mais de mil proto- mento geral dos conceitos de protocolos de comunicolos listados pela Internet Assigned Numbers cação. Authority (IANA), e claramente todos eles não podeOs leitores provavelmente terão graus de familiariam ser tratados em um único livro. Segundo, al- ridade variados com alguns dos protocolos descritos guns detalhes de cada protocolo precisam ser omiti- neste livro, que também poderá ser utilizado como dos, por uma questão de limitação de espaço. Apesar fonte de informação sobre protocolos não conhecidessas restrições, este livro apresenta mais do que uma dos, como uma revisão de assuntos antigos ou como visão geral dos protocolos estabelecidos. Ele exami- uma referência a protocolos bem conhecidos. na o propósito e a função de cada um e provê detaOs desenvolvedores de software e hardware, junlhes das mensagens usadas pelos protocolos, incluin- to com os testadores do sistema, acharão este livro do descrições byte-a-byte e exemplos de fluxo de útil para ampliar seu conhecimento e dar-lhes uma mensagem. base sólida nos novos protocolos, antes que ingres A Internet é uma entidade com evolução muito sem em novas áreas ou iniciem novos projetos. Vai rápida. À medida que a quantidade de tráfego au- auxiliá-los a entender como os protocolos se relaciomenta e são feitos avanços na tecnologia de hardware, nam e como diferem entre si, embora provendo funnovas demandas são impostas aos inventores dos pro- ções semelhantes. tocolos da Internet — a Internet Engineering Task Os operadores de rede normalmente precisam Force (IETF) —, levando ao desenvolvimento de no- adotar novas tecnologias à medida que um novo equi vos conceitos e protocolos. Alguns desses desenvolvi- pamento é instalado e precisam logo se capacitar em mentos recentes, como o Multiprotocol Label protocolos novos e diferentes. Novos desenvolvimenSwitching (MPLS), já estão tendo um emprego signi- tos, como MPLS, estão causando um forte impacto ficativo na Internet. Outros, como a Generalized na Internet, e tecnologias como GMPLS estão levanMPLS (GMPLS), são equilibrados para se estabele- do os protocolos de controle baseados em IP ao núcerem como protocolos fundamentais dentro do nú- cleo das redes de transporte. Este livro deverá ser cleo de transporte da Internet. Este livro reconhece bastante atraente também a muitos operadores de a importância dessas novas tecnologias e, por isso, redes, que, de repente, descobrem que o IP está inlhes dá a atenção adequada. vadindo seu mundo. Por trás deste livro, existe uma linha comparatiUma terceira categoria de leitores consiste em va. O emprego de protocolos da Internet é carrega- pessoas que tomam decisões e gerentes com a tarefa do de decisões: como devo construir minha rede? Que de projetar e implantar redes. Essas pessoas já podeprotocolo devo utilizar? Que opções dentro de um rão ter um bom conhecimento do uso e da finalidaprotocolo devo usar? Como posso fazer com que mi- de de muitos protocolos, mas acharão útil a companha rede funcione melhor? Como posso oferecer ração de protocolos semelhantes e poderão atualizar
Prefácio
seu conhecimento a partir da descrição dos novos protocolos. Organização deste livro
Os protocolos de rede costumam ser considerados com relação a um modelo em camadas. As aplicações formam a camada superior e conversam entre si por meio de protocolos do nível de aplicação. Ao fazer isso, elas utilizam protocolos de camadas inferiores para estabelecer conexões, 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 aplicação venham por último. Como todas as boas generalizações, a afirmação de que os protocolos se encaixam em camada não é perfeita, e muitos protocolos não se encaixam facilmente nesse modelo. MPLS, por exemplo, tem sido descrito como um “protocolo de uma camada e meia”. Com esses casos difíceis, os protocolos são descritos em capítulos ordenados de acordo com onde a responsabilidade funcional se encaixa dentro de uma rede de dados. O Capítulo 1 provê uma visão geral dos detalhes projetados para consolidar a terminologia dentro do restante do livro e para que os leitores não familiarizados com protocolos de comunicação 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 Capítulo 2, O Internet Protocol (IP), introduz o protocolo de transferência de dados indispensável, no qual todos os outros protocolos da Internet são construídos. Ele discute o endereçamento e descreve a forma mais popular de Internet Protocol, o IPv4. Esse capítulo também inclui informações sobre o Internet Control Message Protocol (ICMP), fundamental para a operação das redes IP. O Capítulo 3 provê uma visão geral do multicast. As técnicas para distribuição em massa de mensagens IP são abordadas junto com o Internet Group Management Protocol (IGMP). O tópico de roteamento multicast é discutido no Capítulo 5. O Capítulo 4 esboça a próxima geração do Internet Protocol, o IPv6, e examina os problemas que ele se propõe a solucionar. O Capítulo 5 apresenta o roteamento como um conceito e descreve alguns dos importantes protocolos de roteamento em uso dentro da Internet. Esse é
.. .. .. .. .. .. .. .. xxiii . . . . . . . . . . . . . . . . . .
o maior capítulo 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 Capítulo 5 também inclui uma introdução a alguns dos conceitos de roteamento multicast e provê uma visão geral de alguns dos protocolos de roteamento multicast. O Capítulo 6 é dedicado ao gerenciamento de serviço IP e descreve como os serviços e recursos são construídos em cima do IP usando Differentiated Services (DiffServ), Integrated Services (IntServ) e o Resource Reservation Protocol (RSVP). O Capítulo 7 remete à importante área de transporte sobre IP. Os protocolos de transporte são responsáveis pela entrega de dados de fim-a-fim por meio da Internet e provêem diferentes níveis de ser viços às aplicações que os utilizam. Esse capítulo 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 Capítulo 8 é uma divagação no campo de engenharia de tráfego. Descreve alguns dos conceitos importantes no posicionamento ideal do tráfego dentro de uma rede e esboça as extensões dos protocolos de roteamento para prover algumas das informações de que uma aplicação de engenharia de tráfego precisa para realizar seu trabalho. Este capítulo também estabelece as extensões do OSPF e os protocolos de roteamento IS-IS no suporte da engenharia de tráfego. Os Capítulos 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 tráfego que pode ser IP ou não. O Capítulo 9 explica os fundamentos do MPLS antes de mostrar os detalhes de três protocolos de sinalização MPLS: o Label Distribution Protocol (LDP), Constraint-Based LSP Setup Using LDP (CR-LDP) e as extensões de engenharia de tráfego do Resource Reservation Protocol (RSVP-TE). O Capítulo 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 Capítulo 10 também inclui uma descrição do Link Management Protocol (LMP).
. . . . . . . . . . . . . xxiv . . . ................. .
A Internet e seus Protocolos
Farrel
O Capítulo 11 é dedicado a gerenciar comutadores (switches) e componentes. Embora os comutadores e componentes estejam no nível inferior do modelo de protocolos em camadas, seu gerenciamento é um aspecto do nível de aplicação, e os protocolos utilizados empregam IP e muitos dos outros recursos já descritos. São apresentados o General Switch Management Protocol (GSMP) e suas extensões ao LMP para gerenciar componentes ópticos (LMP-WDM), e há uma rápida introdução ao trabalho do Forwarding and Element Control Separation (ForCES) Working Group da IETF. O Capítulo 12 nos conduz a pelo menos dois protocolos de aplicação. As aplicações são o fim de tudo; não há sentido em quaisquer outros protocolos sem aplicações que precisam trocar dados entre diferentes locais. Esse capítulo descreve alguns dos muitos protocolos que as aplicações utilizam para se comunicar entre si na Internet. O protocolo Domain Name System (DNS), o Telnet, o File Transfer Protocol (FTP), o Tri vial File Transfer Protocol (TFTP) e o Hypertext Transfer Protocol (HTTP) são usados como exemplos. O Capítulo 13 desenvolve os dois capítulos anteriores para discutir o gerenciamento de redes. Os protocolos de controle usados para colher informações sobre a rede e controlar os recursos são cada vez mais importantes nas redes complexas de hoje. Este capítulo inclui uma visão geral da Management Information Base (MIB) que atua como banco de dados distribuído de informações sobre todos os elementos de uma rede. Há também uma descrição de três técnicas importantes para a distribuição de informações de gerenciamento: o Simple Network Management Protocol (SNMP), a Extensible Markup Language (XML) e a Common Object Request Broker Architecture (CORBA). O capítulo termina com alguns comentários sobre política de gerenciamento dentro de uma rede e com uma descrição do protocolo Common Open Policy Service (COPS). O Capítulo 14 examina o importante assunto de Segurança IP e como as mensagens podem ser autenticadas e protegidas quando enviadas pela Internet. Uma atenção especial é dedicada às maneiras como a segurança 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 aplicação, com as técnicas de segurança para HTTP servindo como exemplo. O Capítulo 15 explora rapidamente algumas aplicações avançadas, como encapsulamento IP, Virtual Private Networks, Mobile IP e Voice over IP. Alguns
desses assuntos são novos usos do IP, que estão exigindo o desenvolvimento de novos protocolos e extensões aos protocolos existentes. Outros são quase tão antigos quanto o próprio IP e são técnicas bem estabelecidas. Finalmente, os comentários finais examinam os desenvolvimentos futuros e tentam prever os próximos passos no desenvolvimento e na padronização de protocolos da Internet. Cada capítulo começa com uma rápida introdução que lista os assuntos que serão abordados e explica por que o material é importante. Todos os capítulos terminam com sugestões para mais leitura, levando o leitor para livros e outros materiais que abordam os assuntos com mais detalhes. Em todo o livro, são feitas comparações entre os protocolos e entre opções de implementação/distribuição, na forma de seções com títulos, como Escolhendo entre TCP e SCTP, ou Escolhendo entre CRLDP e RSVP-TE. Convenções usadas neste livro
Um byte é uma quantidade de 8 bits, às vezes conhecida como octeto. Os bits são numerados dentro de um byte na ordem em que chegariam em uma transmissão. O primeiro bit é numerado com 0 (zero) e é o bit mais significativo. Onde inteiros são transmitidos como parte de um protocolo, eles são enviados em “formato de linha” — ou seja, com o bit mais significativo primeiro. Isso pode ser visto mais facilmente convertendo o número para a representação binária com o número correto de bits (ou seja, preenchendo com zeros à esquerda) e numerando os bits da esquerda para a direita, começando com zero. Assim, o número 26.026 (0x65A9 em hexadecimal) é representado como um número binário de 16 bits, como 0110010110101001. O bit zero tem o valor 0, e o bit 15 tem o valor 1. A representação de mensagens é obtida mostrando os bits da esquerda para a direita na página, com o bit zero do byte zero no canto superior esquerdo. Trinta e dois bits (4 bytes) aparecem em seqüência. Por exemplo, a Figura 0.1 mostra o cabeçalho da Protocol Data Unit (PDU) usado para iniciar todas as mensagens no Label Distribution Protocol (LDP). O cabeçalho tem 10 bytes de extensão e compreende quatro campos: a Versão, o tamanho da PDU (PDU Length), o identificador de LSR (LSR Identifier) e um Identificador de Espaço do Rótulo (Label Space Identifier).
Prefácio
.. .. .. .. .. .. .. .. 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 Tamanho da PDU
Versão Identificador do LSR Identificador de espaço do rótulo Figura 0.1 Cabeçalho
Os exemplos de rede aparecem nas figuras usando alguns dos símbolos mostrados na Figura 0.2. É feita uma distinção entre roteadores IP e LSRs (Label Switching Routers) MPLS (Multiprotocol Label Switching). As redes multiacesso normalmente são representadas como Ethernets, e as redes IP mais genéricas aparecem por “nuvens”. Os computadores e as estações de trabalho (host) dos usuários, conectados às redes, normalmente aparecem como computadores pessoais, com monitores. Computadores maiores que podem atuar como servidores de aplicação são representados como sistemas em torre. As trocas entre protocolos aparecem nos diagramas por meio de linhas verticais para representar os nós 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 são mensagens Path, passadas de um LSR para o seguinte. Linhas verticais pontilhadas são usadas para ilustrar a passagem do tempo, como ao esperar até que um temporizador expire ou aguardar instruções da aplicação.
do PDU da LDP.
O Backus Naur Form (BNF) às vezes é usado para descrever formatos de mensagem quando é montada por meio de componentes. Cada componente é identificado por , e os componentes opcionais são colocados entre colchetes, []. O outro símbolo usado é o pipe “|”, uma barra vertical que indica um OU Exclusivo, de modo que | . A Figura 0.4 mostra a mensagem COPS Decision, criada a partir de dois componentes mandatórios (o cabeçalho 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 órgão de criação de padrões que documenta os padrões para uso na Internet e em relação ao Internet Protocol, IP. O órgão é uma reunião livre de indivíduos que supostamente ignoram seus vínculos corporativos e trabalham em conjunto para produzir as melhores soluções técnicas de maneira oportu-
Um host ou estação de trabalho
Um host ou servidor de aplicações
Um roteador IP
Um roteador de comutação de rótulos (LSR)
Um segmento Ethernet com quatro hosts e um roteador conectado a uma rede IP contendo três roteadores Figura 0.2
Alguns dos símbolos utilizados nas figuras deste livro.
. . . . . . . . . . . . . xxvi . . . ................. .
A Internet e seus Protocolos
Farrel
LSR A
LSR B
LSR C
LSR D
Path Path Path Resv Resv Resv
PathTear PathTear PathTear
Figura 0.3
Configuração e descarte do LSP normal em uma rede RSVP-TE.
na. Não há uma associação formal de membros, e Uma RFC não é automaticamente um padrão. todos são livres para participar das discussões de Ela precisa passar por um processo de implemennovos padrões e problemas com os participantes dos tação, implantação e avaliação, antes de receber a grupos de trabalho. aprovação. Existem mais de 3.500 RFCs publicadas A maior parte do trabalho da IETF é executada até o momento, mas somente 62 delas foram certifidentro de grupos de trabalho (Working Groups), cada cadas como padrões. um responsável por tratar um conjunto de problePor uma questão de clareza, as RFCs e os padrões mas razoavelmente pequeno. Até o momento da pro- (Standards) são referenciados apenas por meio de seu dução deste livro, existiam 133 Working Groups ati- número de RFC ao longo deste livro. vos em operação. Cada Working Group mantém uma A maioria dos protocolos descritos neste livro é o lista de correio eletrônico usada para as discussões e assunto de mais de uma RFC. As seções de Leitura promove uma reunião a cada quatro meses quando a Adicional no final de cada capítulo listam as RFCs IETF se reúne “em carne e osso”. relevantes, que podem ser encontradas no Web site Os padrões são desenvolvidos por meio de um da IETF. processo de propostas conhecido como Internet Draft. Dois outros grupos importantes contribuem para Os Internet Drafts podem ser o trabalho de grupos o sucesso da IETF. O editor da RFC (RFC editor) é de indivíduos ou de um Working Group e são publi- responsável por formatar, verificar e publicar RFCs. cados e republicados até serem considerados aceitos A Internet Assigned Numbers Authority (IANA) manou até não despertarem mais o interesse e serem des- tém um repositório de todos os números e valores de cartados. Os drafts aceitos são colocados em última protocolo alocados, de modo que não há risco de uso chamada (last call) dentro do Working Group e de- duplicado acidental do mesmo valor. pois novamente por toda a IETF, permitindo que A IETF mantém um Web site em http://www.ietf.org, todos expressem quaisquer objeções de última hora. no qual existem links para cada um dos Working Se tudo estiver bem e o draft for aprovado pelo Groups, para a IANA, para uma lista de todas as RFCs Internet Engineering Steering Group (IESG), ele é publicadas e para um mecanismo de pesquisa, a fim publicado como uma Request for Comment (RFC). de pesquisar o repositório de Internet Drafts. A IETF
:: =
Figura 0.4
| [ ]
A mensagem de decisão de protocolo COPS representada em BNF.
Prefácio
.. .. .. .. .. .. .. .. xxvii . . . . . . . . . . . . . . . . . .
publica um documento útil, RFC 3160 — The Tao of Nunca houve um momento de alívio, e muito pouthe IETF , que serve como uma introdução aos objeti- cos foram dedicados ao sono. vos e à filosofia da IETF; ele pode ser encontrado em A maior parte do meu tempo de dedicação ao livro foi espremida em momentos livres nas noites http://www.ietf.org/rfc/rfc3160.txt. ou nos finais de semana, que deveriam ter sido gastos de outra forma, sendo eu um chefe de família ou Uma nota sobre gênero um turista. Portanto, meu sincero agradecimento à Dentro deste livro, às vezes é necessário nos refe- minha esposa Catherine e meu cão Bracken, que enrirmos a um indivíduo (por exemplo, um operador tendiam quando eu “virava as costas” para eles e code rede ou o implementador de um componente de meçava a digitar e que souberam se divertir juntos software) usando um pronome na terceira pessoa. A sem minha ajuda. Também sou grato aos meus revisores, que lutapalavra ele é usada sem preconceito e não significa que uma quantidade desproporcional de técnicos é ram com o manuscrito, fazendo sugestões úteis e do sexo masculino, nem que as mulheres são inteli- mudanças factuais. Loa Andersson, Paul Turcotte, gentes demais para desperdiçar seu tempo com tais Judith M. Myerson e Y. Reina Wang contribuíram significativamente para a forma do livro e para meu nível tarefas. de conforto enquanto eu o escrevia. Agradeço também a Phillip Matthews, que entrou no circuito e ofe Agradecimentos receu um retorno rápido, substancial e detalhado no Escrevi este livro enquanto trabalhava em uma Capítulo 5. Minha gratidão vai para a equipe da empresa nova, que fabrica comutadores ópticos de Morgan Kaufmann, por todo o trabalho realizado: alta tecnologia para a Internet, durante uma mudança especialmente, a Karyn Johnson e Marcy Barnesextrema no mercado de telecomunicações. Estava Henrie. Finalmente, um agradecimento especial a Philip morando em um país novo e estranho para mim, durante um momento de segurança reforçada e Yim, que tanto me incentivou em um momento tão estresse, causados pelo terrorismo e pela guerra. difícil.
O Autor
A
drian Farrel tem quase 20 anos de experiência no projeto e no desenvolvimento de software de comunicações portável, desde vários 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 implementação carrier-class MPLS para clientes no espaço do roteador, enquanto sua implementação de GMPLS foi pioneira dentre os protocolos, trabalhando muito perto de empresas ópticas que esta vam desenvolvendo os padrões. Como diretor de Desenvolvimento de Protocolos para a Movaz Net works Inc., Adrian teve a oportunidade de criar um sistema de ponta, integrando muitos protocolos baseados em IP para controlar e gerenciar comutadores
ópticos oferecendo serviços de comprimento de onda. Adrian é muito ativo dentro da IETF, onde é codiretor do grupo de trabalho Common Control and Measurement Plane (CCAMP), responsável pela família 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 freqüentes em conferências e é o autor de vários 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 tranqüila com sua esposa Catherine e seu cão Bracken.