Vous êtes sur la page 1sur 27

Redes de computadores: uma

abordagem de sistemas

C0050.indd i

1/17/13 2:08:56 AM

Preencha a ficha de cadastro ao final deste livro e


receba gratuitamente informaes sobre os
lanamentos e promoes da Elsevier.
Consulte tambm nosso catlogo completo, ltimos
lanamentos e servios exclusivos no site
www.elsevier.com.br

C0050.indd ii

1/17/13 2:08:56 AM

Redes de computadores
uma abordagem de sistemas
Quinta edio
Larry L. Peterson e Bruce S. Davie

Traduo
Multinet Produtos

C0050.indd iii

1/17/13 2:08:56 AM

2013, Elsevier Editora Ltda.


Todos os direitos reservados e protegidos pela Lei n. 9.610, de 19/02/1998.
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: Letcia Vendrame
Reviso: Carla Camargo
Coordenao editorial: Oitava Rima Produo Editorial
Editorao eletrnica: Thomson Digital
Elsevier Editora Ltda.
Conhecimento sem Fronteiras
Rua Sete de Setembro, 111 16 andar
20050-006 Centro Rio de Janeiro RJ Brasil
Rua Quintana, 753 8 andar
04569-011 Brooklin So Paulo SP
Todos os direitos reservados e protegidos pela Lei n. 9.610, de 19/02/1998.
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.
Servio de Atendimento ao Cliente
0800-0265340
sac@elsevier.com.br
ISBN: 978-85-352-4897-5
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 dessa publicao.
CIP - Brasil. Catalogao-na-fonte
Sindicato Nacional dos Editores de Livros, RJ
P578r
Peterson, Larry L.
Redes de computadores : uma abordagem de sistemas / Larry L. Peterson e Bruce S. Davie ; [traduo de
Multinet Produtos]. - Rio de Janeiro : Elsevier, 2013.
Traduo de: Computer networks : a systems approach, 5th ed.
Inclui bibliografia
ISBN 978-85-352-4897-5
1. Redes de computadores. I. Davie, Bruce S. II. Ttulo.
12-8459.

C0055.indd iv

CDD: 004.6
CDU: 004.7

1/17/13 2:17:15 AM

Dedicatria
Para Lee Peterson e Robert Davie

C0060.indd v

1/17/13 2:24:37 AM

C0060.indd vi

1/17/13 2:24:37 AM

Comentrios sobre o livro


J conheo e tenho usado este livro h anos, e sempre o achei muito valioso como livro-texto para o ensino de redes
de computadores, alm de um livro de referncia para profissionais da rea de redes. Esta quinta edio conserva
o valor bsico das edies anteriores e aumenta a clareza da explicao sobre protocolos de rede na apresentao
das mais atualizadas tcnicas, tecnologias e requisitos das redes. Alm de descrever os detalhes das redes do passado e do presente, este livro motiva com sucesso a curiosidade, e possivelmente novas pesquisas, voltadas s
redes do futuro.

Stefano Basagni
Northeastern University
Peterson e Davie escreveram um livro fantstico para o mundo das redes de computadores. Este um livro muito
bem organizado, que possui uma abordagem de sistemas muito til para compreender o quadro geral. Este livro
essencial!

Yonshik Choi
Illinois Institute of Technology
A quinta edio de Redes de Computadores: Uma Abordagem de Sistemas bastante adequada para o aluno srio
de redes de computadores, embora tambm permanea acessvel ao leitor casual. O entusiasmo dos autores para
com o assunto evidente em toda parte; eles possuem um conhecimento profundo e atualizado dos problemas
interessantes dessa rea. Os autores explicam no apenas como os diversos protocolos funcionam, mas tambm
por que eles funcionam dessa maneira e at mesmo por que certos protocolos so os mais importantes e interessantes. Este livro tambm est repleto de pequenos toques de base histrica, desde o texto principal at os quadros
Onde eles esto agora e os artigos descritos na seo de Leitura adicional de cada captulo estes do ao leitor
uma ideia de como as coisas chegaram ao estado atual. Em geral, este livro oferece uma introduo lcida e esclarecida sobre o uso de redes.

Peter Dordal
Loyola University Chicago
Tenho usado Redes de Computadores: Uma Abordagem de Sistemas h mais de cinco anos em um curso introdutrio sobre redes de comunicaes, visando a alunos quase formandos e de primeiro ano de Mestrado. Passei por
vrias edies, e, com o passar dos anos, o livro tem mantido o que, desde o incio, foi seu principal ponto forte, a
saber, que ele no apenas descreve o como, mas tambm o por que e, to importante quanto isso, o por que
no das coisas. Esse um livro que desenvolve a intuio da engenharia e, nesta poca de mudanas tecnolgicas
rpidas, isso essencial para se desenvolver a capacidade do aluno para tomar decises informadas e projetar ou
selecionar os sistemas da prxima gerao.

Roch Guerin
University of Pennsylvania
Este livro uma introduo excepcional s redes de computadores, que clara, abrangente e repleta de exemplos.
Peterson e Davie possuem um dom para transformar as redes em conceitos simples e tratveis, sem comprometer
o rigor tcnico. Redes de Computadores: Uma Abordagem de Sistemas luta para conseguir um equilbrio excelente
entre os princpios por trs do projeto de arquitetura de rede e as aplicaes criadas em cima disso. Ele ser muito
valioso para alunos e professores de cursos de graduao avanados e ps-graduao em redes.

Arvind Krishnamurthy
University of Washington

C0065.indd vii

1/17/13 2:33:00 AM

VIII

REDES DE COMPUTADORES

Redes de Computadores: Uma Abordagem de Sistemas sempre foi um dos melhores recursos disponveis para
obter um conhecimento profundo das redes de computadores. A ltima edio cobre os desenvolvedores recentes
nessa rea. Comeando com uma viso geral no Captulo 1, os autores sistematicamente explicam os blocos de
montagem bsicos das redes. So apresentados os conceitos tanto do hardware quanto do software. O material
termina com um captulo sobre aplicaes, que rene todos os conceitos. Os tpicos avanados opcionais so
colocados em um captulo separado. O livro-texto tambm contm um conjunto de exerccios de dificuldade
varivel ao final de cada captulo, a fim de garantir que os alunos dominem o material apresentado.

Karkal Prabhu
Drexel University
Peterson e Davie oferecem uma descrio detalhada, porm clara, dos protocolos da Internet em todos os nveis.
Os alunos encontraro muitas ferramentas de estudo que os ajudaro a obter um conhecimento completo da
tecnologia que est transformando nossa sociedade. O livro fica melhor a cada nova edio.

Jean Walrand
University of California at Berkeley

C0065.indd viii

1/17/13 2:33:00 AM

Prefcio
Mais uma vez, este livro, agora clssico, foi revisado para mant-lo atualizado com nosso campo em evoluo.
Embora a Internet e seus protocolos dominem as redes de todas as partes, vemos uma evoluo contnua na
tecnologia utilizada para dar suporte Internet, com a comutao na camada 2 oferecendo uma funcionalidade rica e ferramentas poderosas para o gerenciamento de redes. A edio anterior lidava com a comutao e
o roteamento em dois captulos, mas uma apresentao baseada em camadas nem sempre a melhor maneira
de transmitir a essncia do material, pois o que chamamos de comutao e roteamento, na realidade, desempenham papis semelhantes e complementares. Esta edio do livro analisa esses tpicos de uma forma integrada,
que expressa suas semelhanas e diferenas funcionais. Tpicos mais avanados no roteamento foram passados
para um segundo captulo, que pode ser ignorado, dependendo da nfase e do nvel da turma.
Nunca fui adepto ao ensino de redes com base em uma tcnica puramente em camadas, conforme indicava o prefcio da primeira edio deste livro. Algumas questes fundamentais no uso de redes, incluindo
segurana e desempenho, no podem ser resolvidas atribuindo-lhes uma camada no pode haver uma
camada de desempenho. Esses tipos de assuntos so crticos e cruzados, e a organizao deste livro continua
a tratar de tpicos, alm de camadas. Esse tipo de organizao reflete muita experincia no seu uso como
livro-texto em sala de aula, assim como uma preferncia por uma abordagem que explica os fundamentos
e tambm a prtica atual.
Algumas tecnologias agora ultrapassadas no aparecem mais ou tiveram um tratamento reduzido,
incluindo token ring (um dos meus favoritos, mas certamente seu tempo j passou) e Asynchronous Transfer
Mode (ATM). Esta edio reconhece que precisamos prestar mais ateno ao projeto da aplicao e no apenas
ao encaminhamento de pacotes. As redes sem fios e a mobilidade tambm receberam mais ateno.
Os autores, mais uma vez, trabalharam bastante para produzir uma reviso que transmita os fundamentos desse campo de uma maneira pedagogicamente eficaz. Tenho o prazer de dizer que ela est melhor
do que nunca.

David Clark
Novembro de 2010

C0070.indd ix

1/17/13 2:39:08 AM

C0070.indd x

1/17/13 2:39:09 AM

Prefcio Primeira Edio


O termo cdigo espaguete compreendido universalmente como um insulto. Todos os bons cientistas de
computao adoram o deus da modularidade, pois a modularidade traz muitos benefcios, incluindo o
todo-poderoso benefcio de no ser necessrio entender todas as partes de um problema ao mesmo tempo
para poder solucion-lo. Assim, a modularidade tem um papel importante na apresentao de ideias em um
livro, bem como na escrita de cdigo. Se o material de um livro for organizado de modo eficaz modularidade ,
ento o leitor pode comear no incio e realmente chegar at o fim.
O campo dos protocolos de rede talvez seja exclusivo porque a modularidade apropriada nos foi
entregue na forma de um padro internacional: o modelo de referncia de sete camadas dos protocolos
de rede da ISO. Esse modelo, que reflete uma abordagem em camadas para a modularidade, usado quase
universalmente como ponto de partida para as discusses da organizao dos protocolos, no importando
se o projeto em questo est em conformidade com o modelo ou se desvia dele.
Parece bvio organizar um livro sobre redes em torno desse modelo em camadas. Porm, existe um risco
ao fazer isso, pois o modelo OSI no realmente bem-sucedido na organizao dos conceitos fundamentais
das redes. Requisitos bsicos como confiabilidade, controle de fluxo ou segurana podem ser resolvidos em
sua maioria, se no na totalidade, com as camadas OSI. Esse fato causou uma grande confuso na tentativa
de compreender o modelo de referncia. s vezes, isso exige at mesmo uma suspenso da descrena. Na
verdade, um livro organizado estritamente de acordo com um modelo em camadas tem alguns dos atributos
do cdigo espaguete.
Isso nos leva a este livro. Peterson e Davie seguem o modelo em camadas tradicional, mas eles no
alegam que esse modelo realmente ajude a entender os grandes problemas no uso de redes. Em vez disso,
os autores organizam a discusso dos conceitos fundamentais de uma maneira independente das camadas.
Assim, depois de ler o livro, os leitores entendero o controle de fluxo, controle de congestionamento, a
melhoria da confiabilidade, a representao dos dados e a sincronizao, e entendero separadamente as
implicaes do tratamento dessas questes em uma ou outra das camadas tradicionais.
Este um livro atual. Ele examina os importantes protocolos que usamos atualmente especialmente
os protocolos da Internet. Peterson e Davie, h muito tempo, esto envolvidos com a Internet, com muita
experincia no assunto. Assim, este livro reflete no apenas os aspectos tericos no projeto de protocolos,
mas os fatores reais que importam na prtica.
O livro examina alguns dos protocolos que esto aparecendo agora, de modo que o leitor possa estar
certo de que ter uma perspectiva atualizada. Porm, mais importante do que isso, a discusso das questes
bsicas apresentada de uma maneira derivada da natureza fundamental do problema, e no das restries
do modelo de referncia em camadas ou dos detalhes dos protocolos atuais. Em relao a isso, o que este
livro apresenta tanto atual como atemporal.
A combinao de relevncia do mundo real, exemplos atuais e explicao cuidadosa dos fundamentos
torna este livro exclusivo.

David D. Clark
Massachusetts Institute of Technology

C0075.indd xi

1/17/13 2:47:17 AM

C0075.indd xii

1/17/13 2:47:18 AM

Apresentao
Em 1996, quando a primeira edio deste livro foi publicada, era uma novidade poder comprar mercadorias
pela Internet, e uma empresa que anunciasse seu nome de domnio era considerada moderna. Uma famlia
se conectava Internet principalmente por meio de um modem discado. Hoje, o comrcio na Internet um
fato da vida, e aes .com passaram por um ciclo inteiro de crescimento e queda. Redes sem fios esto em
toda a parte e novos dispositivos preparados para Internet, como smartphones e tablets, aparecem no mercado
a um ritmo incrvel. Parece que a nica coisa previsvel sobre a Internet a mudana constante.
Apesar dessas mudanas, a pergunta que fizemos na primeira edio ainda vlida hoje: quais so os
conceitos e as tecnologias bsicas que fazem a Internet funcionar? A resposta que grande parte da arquitetura TCP/IP continua a funcionar exatamente como foi idealizada por seus criadores h mais de trinta anos.
Isso no significa dizer que a arquitetura da Internet desinteressante, muito pelo contrrio. Entender os
princpios de projeto que servem de base para uma arquitetura que no apenas sobreviveu, mas promoveu
o tipo de crescimento e mudana que a Internet tem visto nas trs ltimas dcadas, exatamente o lugar
certo para comear. Assim como nas edies anteriores, a quinta edio torna o porqu da arquitetura da
Internet sua pedra fundamental.

A quem este livro se destina


Nossa inteno que o livro sirva como texto para uma aula abrangente sobre redes, seja em nvel de ps-graduao ou de graduao em um estgio avanado. Tambm acreditamos que o foco do livro nos conceitos
bsicos dever ser atraente para os profissionais do setor que estejam se reciclando para tarefas relacionadas
a redes, alm dos atuais profissionais de infraestrutura que queiram entender os porqus por trs dos
protocolos com que trabalham no dia a dia e ver o quadro geral do uso de redes.
Pela nossa experincia, tanto alunos como profissionais aprendendo sobre redes pela primeira vez
normalmente tm a impresso de que os protocolos de rede so algum tipo de decreto vindo do alto, e que
seu trabalho aprender tantos ATLs (Acrnimos de Trs Letras) quanto possvel. Na realidade, os protocolos
so os blocos de montagem de um sistema complexo, desenvolvido pela aplicao de princpios de projeto
da engenharia. Alm do mais, eles esto constantemente sendo refinados, estendidos e substitudos com
base na experincia do mundo real. Com isso em mente, nosso objetivo fazer mais do que uma anlise
dos protocolos em uso atualmente. Queremos explicar os princpios bsicos do projeto de redes correto.
Acreditamos que esse conhecimento dos princpios bsicos a melhor ferramenta para lidar com a taxa de
mudana na rea de redes.
Reconhecemos tambm que existem muitas maneiras diferentes para as pessoas abordarem as redes.
Ao contrrio de quando escrevemos nossa primeira edio, a maioria das pessoas apanhar este livro j tendo
uma experincia considervel como usurios de redes. Alguns estaro aspirando a se tornarem projetistas
de produtos ou protocolos de rede. Outros podem estar interessados em administrar redes, enquanto um
nmero cada vez maior ser de desenvolvedores de aplicao atuais ou futuras para dispositivos em rede.
Nosso foco tradicionalmente tem sido nos projetistas de produtos e protocolos futuros, e isso continua a
ser verdade; porm, nesta edio, tentamos abordar os pontos de vista tanto dos gerentes de rede como dos
desenvolvedores de aplicaes.

Mudanas na quinta edio


Embora nosso foco seja os princpios bsicos das redes, ilustramos esses princpios usando exemplos da
Internet de hoje. Portanto, acrescentamos muito material para acompanhar os avanos recentes no uso de
redes. Tambm retiramos, reorganizamos e mudamos o foco do material existente para refletir as mudanas
que ocorreram durante a ltima dcada.
Talvez a mudana mais significativa que observamos desde a escrita da primeira edio seja que quase
todo leitor agora est acostumado com aplicaes em rede, como a world wide web e o correio eletrnico
(e-mail). Por esse motivo, aumentamos o foco nas aplicaes, comeando no primeiro captulo. Usamos
aplicaes como a motivao para o estudo de redes e para derivar um conjunto de requisitos que uma rede
til precisa atender para dar suporte a aplicaes atuais e futuras em uma escala global. Porm, retemos a
abordagem de resoluo de problemas das edies anteriores, que comea com o problema de interconectar

C0080.indd xiii

1/17/13 2:53:15 AM

XIV

REDES DE COMPUTADORES

hosts e sobe pelas camadas para concluir com um exame detalhado dos aspectos da camada de aplicao.
Acreditamos que importante tornar os tpicos abordados no livro relevantes, comeando com as aplicaes
e suas necessidades. Ao mesmo tempo, acreditamos que os aspectos da camada mais alta, como os protocolos
das camadas de aplicao e transporte, so mais bem compreendidos depois que os problemas bsicos
da conexo de hosts e da comutao de pacotes tiverem sido explicados. Dito isso, fizemos o possvel para
apresentar o material de uma maneira mais top-down, conforme descrevemos a seguir.
Assim como nas edies anteriores, acrescentamos ou aumentamos o tratamento de novos assuntos
importantes e atualizamos outros tpicos. Os principais tpicos novos ou atualizados substancialmente
nesta edio so:

Material atualizado sobre tecnologia sem fios (wireless), particularmente os diversos tipos de redes
802.11 (Wi-Fi), alm das tecnologias sem fios para celular, incluindo os padres de terceira (3G)
e quarta (4G) geraes.
Tratamento atualizado dos mecanismos de controle de congestionamento, particularmente para redes
com elevado produto largura de banda-atraso e redes sem fios.
Material atualizado sobre Web Services, incluindo as arquiteturas SOAP e REST (Representational State
Transfer).
Tratamento expandido e atualizado sobre roteamento entre domnios e o protocolo de gateway
de borda (BGP).
Tratamento expandido sobre protocolos para aplicaes multimdia, como Voice over IP (VoIP)
e streaming de vdeo.

Tambm diminumos o tratamento de alguns assuntos que so menos relevantes hoje em dia. Os
protocolos que passaram para a categoria histrica nesta edio incluem o Asynchronous Transfer Mode
(ATM) e token rings.
Uma das mudanas mais significativas nesta edio a separao do material em sees introdutria
e avanada. Quisemos tornar o livro mais acessvel para pessoas iniciantes em tecnologias e protocolos de
rede, sem abrir mo do material avanado exigido para as turmas de nvel mais alto. O efeito mais evidente
dessa mudana que o Captulo 3 agora aborda os fundamentos da comutao, roteamento e interligao
de redes, enquanto o Captulo 4 aborda os tpicos de roteamento mais avanados, como BGP, IP verso 6 e
multicast. De modo semelhante, os fundamentos do protocolo de transporte so abordados no Captulo 5,
com o material mais avanado, como algoritmos de controle de congestionamento do TCP, aparecendo
no Captulo 6. Acreditamos que isso permitir que os leitores iniciantes nessa rea entendam os conceitos
fundamentais importantes sem que fiquem sobrecarregados com assuntos mais complexos.
Assim como na edio anterior, inclumos uma srie de notas do tipo onde eles esto agora?. Essas
rpidas discusses, atualizadas para esta edio, concentram-se no sucesso e fracasso de protocolos no mundo
real. s vezes, elas descrevem um protocolo que a maioria das pessoas desacreditou, mas que, na realidade,
est obtendo um sucesso maior do que o esperado; outras vezes, elas traam o destino de um protocolo que
no conseguiu obter sucesso com o passar do tempo. O objetivo dessas notas tornar o material relevante,
mostrando como as tecnologias se saram no mundo competitivo das redes de computadores.

Abordagem
Para uma rea que to dinmica e mutvel quanto as redes de comunicaes, a coisa mais importante
que um livro-texto pode oferecer a perspectiva distinguir entre o que e o que no importante, e entre
o que duradouro e o que superficial. Com base em nossa experincia durante os mais de vinte e cinco
anos realizando pesquisas que ocasionaram novas tecnologias de rede, ensinando a alunos graduados e em
graduao sobre as tendncias mais recentes em redes e oferecendo produtos de rede avanados ao mercado,
desenvolvemos uma perspectiva que chamamos de abordagem de sistemas que forma a alma deste livro.
A abordagem de sistemas possui vrias implicaes:

C0080.indd xiv

Primeiros princpios. Em vez de aceitar os artefatos existentes como respostas absolutas, comeamos
com os primeiros princpios e os acompanhamos pelo processo de raciocnio que levou s redes atuais.
Isso nos permite explicar por que as redes tm a aparncia atual. Pela nossa experincia, quando voc
entende os conceitos bsicos, qualquer protocolo novo que voc encontre ser relativamente fcil
de entender.
No em camadas. Embora o material seja organizado livremente em torno das camadas de rede
tradicionais, comeando na parte inferior e subindo pela pilha de protocolos, no adotamos uma
abordagem rigidamente em camadas. Muitos assuntos controle de congestionamento e segurana so
bons exemplos possuem implicaes nas partes alta e baixa da hierarquia e, portanto, so discutidos
fora do modelo tradicional em camadas. Da mesma forma, roteadores e switches possuem tanta coisa

1/17/13 2:53:15 AM

Apresentao

xv

em comum (e normalmente so combinados como um nico produto) que os discutimos no mesmo


captulo. Resumindo, acreditamos que as camadas so boas para se utilizar como linha geral, mas no
to boas para se seguir cegamente; normalmente mais til utilizar uma abordagem fim a fim.
Exemplos do mundo real. Em vez de explicar como os protocolos funcionam de forma abstrata,
utilizamos os protocolos mais importantes em uso atualmente a maioria deles vinda da Internet TCP/
IP para ilustrar como as redes funcionam na prtica. Isso nos permite incluir experincias do mundo
real na discusso.
Software. Embora as redes de nveis mais baixos sejam construdas a partir de hardware que pode
ser comprado de fornecedores de computador e por servios de comunicao que podem ser alugados
da companhia telefnica, o software que permite que as redes ofeream novos servios e adaptem-se
rapidamente a circunstncias variveis. por esse motivo que enfatizamos como o software de rede
implementado, em vez de parar com uma descrio dos algoritmos abstratos envolvidos. Tambm
inclumos segmentos de cdigo retirados de uma pilha de protocolos funcionais, a fim de ilustrar
como voc poderia implementar certos protocolos e algoritmos.
Foco fim a fim. As redes so construdas a partir de muitos blocos construtivos e, embora seja
necessrio abstrair os elementos no interessantes ao solucionar um problema em particular,
essencial entender como todas as partes se encaixam para formar uma rede funcional. Portanto,
investimos um tempo considervel explicando o comportamento geral fim a fim das redes, e no
apenas os componentes individuais, permitindo-nos entender como uma rede completa opera, desde
a aplicao at o hardware.
Desempenho. A abordagem de sistemas implica realizar estudos de desempenho experimental
e depois usar os dados coletados tanto para analisar quantitativamente diversas opes de projeto
quanto para orientar a otimizao da implementao. Essa nfase na anlise emprica permeia o livro.
Princpios de projeto. As redes so como outros sistemas de computao por exemplo, sistemas
operacionais, arquiteturas de processador, sistemas distribudos e paralelos, e assim por diante. Eles
so todos grandes e complexos. Para ajudar a administrar essa complexidade, os criadores de sistemas
normalmente lanam mo de uma coleo de princpios de projeto. Destacamos esses princpios
de projeto medida que eles so introduzidos no livro, ilustrados, logicamente,
com exemplos de redes de computadores.

Pedagogia e recursos
A quinta edio mantm os recursos pedaggicos das edies anteriores, dos quais o encorajamos a tirar
proveito, a saber:

C0080.indd xv

Descries do problema. No incio de cada captulo, descrevemos um problema que identifica


o prximo conjunto de questes que sero tratadas no projeto de uma rede. Essa descrio apresenta
e motiva as questes a serem exploradas no captulo.
Notas em destaque. Ao longo do texto, notas com um fundo sombreado explicam o assunto sendo
discutido ou apresentam um tpico avanado relacionado. Em muitos casos, essas notas se relacionam
a anedotas do mundo real sobre o uso de redes.
Notas de onde esto agora. Esses novos elementos um estilo de nota com um formato distinto
acompanham o sucesso e o fracasso de protocolos implementados no mundo real.
Pargrafos em destaque. Esses pargrafos resumem um trecho importante da informao,
que queremos que voc apreenda da discusso, como um princpio de projeto de sistemas que pode
ser amplamente aplicado.
Protocolos reais. Embora o foco deste livro seja os conceitos bsicos, em vez das especificaes de protocolo
existentes, protocolos reais so usados para ilustrar a maioria das ideias importantes. Como resultado,
o livro pode ser usado como uma fonte de referncia para muitos protocolos. Para ajud-lo a encontrar
as descries dos protocolos, cada ttulo de seo aplicvel identifica entre parnteses os protocolos
descritos naquela seo. Por exemplo, a Seo 5.2, que descreve os princpios dos protocolos fim a fim
confiveis, fornece uma descrio detalhada do TCP, um exemplo cannico de um protocolo desse tipo.
Discusses O que vem depois?. Conclumos o corpo principal de cada captulo com uma questo
importante que est atualmente se desenrolando na comunidade de pesquisa, no mundo comercial
ou na sociedade como um todo. Descobrimos que a discusso dessas questes prospectivas ajuda
a tornar o assunto de redes mais relevante e interessante.
Leitura recomendada. Essas listas altamente seletivas aparecem ao final de cada captulo. Cada lista
geralmente contm os artigos seminais sobre os tpicos recm-discutidos. Recomendamos fortemente
que os leitores avanados (por exemplo, alunos de ps-graduao) estudem os artigos na lista de leitura
para complementar o material abordado no captulo.

1/17/13 2:53:15 AM

XVI

REDES DE COMPUTADORES

Roteiro e uso do curso


O livro est organizado da seguinte maneira:

O Captulo 1 apresenta um conjunto das principais ideias que so usadas no restante do texto.
Motivado por aplicaes amplamente adotadas, ele discute o que existe em uma arquitetura
de rede, fornece uma introduo a questes de implementao de protocolos e define as mtricas
de desempenho quantitativo que geralmente direcionam projetos de redes.
O Captulo 2 analisa as muitas maneiras como um usurio pode se conectar a uma rede maior,
como a Internet, apresentando assim o conceito de enlaces (links). Ele tambm descreve muitas
das questes que todos os protocolos da camada de enlace precisam enfrentar, como a codificao,
o enquadramento e a deteco de erros. As tecnologias de enlace mais importantes atualmente
Ethernet e Wireless so descritas aqui.
O Captulo 3 apresenta os conceitos bsicos de comutao e de roteamento, comeando com
os modelos de circuito virtual e de datagramas. Explicamos as pontes e a comutao de LANs, seguido
por uma introduo interligao de redes, incluindo o Internet Protocol (IP) e os protocolos
de roteamento. O captulo conclui discutindo uma srie de tcnicas baseadas em hardware e software
para a montagem de roteadores e switches.
O Captulo 4 aborda tpicos avanados de interligao de redes. Entre eles esto protocolos
de roteamento multirea, roteamento interdomnios e BGP, IP verso 6, Multiprotocol Label Switching
(MPLS) e multicast.
O Captulo 5 sobe at o nvel de transporte, descrevendo com detalhes o Transmission Control Protocol
(TCP) da Internet e a Remote Procedure Call (RPC), usados para construir aplicaes cliente-servidor.
O Real-time Transport Protocol (RTP), que fornece suporte a aplicaes multimdia, tambm descrito
aqui.
O Captulo 6 discute sobre controle de congestionamento e alocao de recursos. Os problemas nesse
captulo envolvem o nvel de enlace (Captulo 2), o nvel de rede (Captulos 3 e 4) e o nvel de transporte
(Captulo 5). Particularmente, esse captulo descreve como funciona o controle de congestionamento
no TCP e apresenta os mecanismos usados para fornecer qualidade de servio no IP.
O Captulo 7 considera os dados enviados por uma rede. Isso inclui tanto os problemas de formatao
para a apresentao quanto os de sua compresso. O XML explicado aqui, e a seo de compresso
inclui explicaes sobre como funcionam a compresso de vdeo MPEG e a compresso de udio MP3.
O Captulo 8 discute segurana de redes, comeando com uma viso geral das ferramentas
criptogrficas, os problemas de distribuio de chaves e uma discusso sobre vrias tcnicas
de autenticao usando chaves pblicas e privadas. O foco principal desse captulo a criao
de sistemas seguros, usando exemplos que incluem Pretty Good Privacy (PGP), Secure Shell (SSH),
e a arquitetura IP Security (IPSEC). Os firewalls tambm so explicados aqui.
O Captulo 9 descreve um exemplo representativo das aplicaes de rede e os protocolos que elas
utilizam, incluindo aplicaes tradicionais como o e-mail e a web, aplicaes multimdia como
telefonia IP e streaming de vdeo, e redes overlay, como o compartilhamento de arquivos peer-to-peer e
as redes de distribuio de contedo. Os servios de infraestrutura o Domain Name System (DNS)
e o gerenciamento de rede so descritos aqui. As arquiteturas de Web Services para o desenvolvimento
de novos protocolos de aplicao tambm so apresentadas aqui.

Para um curso de graduao, provavelmente ser preciso um tempo extra na aula para ajudar os alunos
a entenderem o material introdutrio no primeiro captulo, provavelmente em detrimento de material mais
avanado explicado nos Captulos 4, 6, 7 e 8. O Captulo 9, ento, retorna ao assunto popular das aplicaes
de rede. Uma turma de graduao poderia, de modo aceitvel, passar superficialmente pelas sees mais
avanadas (por exemplo, as Sees 5.3, 9.3.1, 9.3.2 e 9.2.2.).
Por outro lado, o instrutor de um curso de ps-graduao dever explicar o primeiro captulo em apenas
uma ou duas aulas com os alunos estudando o material com mais cuidado por conta prpria , liberando assim um tempo de aula adicional para explicar o Captulo 4 e os ltimos captulos com mais profundidade.
Para aqueles que esto usando o livro como autoestudo, acreditamos que os tpicos que selecionamos
abordam a parte mais importante das redes de computadores, e por isso recomendamos que o livro seja lido
sequencialmente, de capa a capa. Alm disso, inclumos uma boa quantidade de referncias para ajud-lo
a localizar material suplementar relevante s suas reas de interesse especficas, e inclumos solues para
exerccios selecionados.
O livro utiliza uma abordagem exclusiva para o assunto de controle de congestionamento, colocando
todos os tpicos relativos ao controle de congestionamento e alocao de recursos em um nico lugar o
Captulo 6. Fizemos isso porque o problema de controle de congestionamento no pode ser resolvido em um
nvel apenas, e queremos que voc considere as diversas opes de projeto ao mesmo tempo. (Isso coerente

C0080.indd xvi

1/17/13 2:53:15 AM

Apresentao

xvii

com nossa viso de que o uso estrito das camadas normalmente atrapalha importantes escolhas de projeto.)
Porm, possvel realizar um tratamento mais tradicional do controle de congestionamento, estudando a
Seo 6.2 no contexto do Captulo 3 e a Seo 6.3 no contexto do Captulo 5.

Um caminho de cima para baixo


Como a maioria dos alunos atualmente entra em uma aula de redes familiarizada com as suas aplicaes em
rede, diversas turmas usam a aplicao como seu ponto de partida. Embora abordemos as aplicaes em um
alto nvel no Captulo 1, somente no Captulo 9 discutimos com detalhes as questes da camada de aplicao.
Reconhecendo que alguns professores ou leitores podem querer seguir uma ordem mais de cima para baixo,
sugerimos o seguinte mtodo como uma forma possvel de estudar o material deste livro.

Captulo 1. Este captulo descreve as aplicaes e seus requisitos para preparar o terreno para o restante
do material.
Captulo 9. As sees sobre aplicaes tradicionais (Seo 9.1) e aplicaes multimdia (Seo 9.2)
apresentaro aos leitores os conceitos de protocolos de rede usando os exemplos de aplicaes
com as quais eles j esto acostumados. A Seo 9.3.1 (DNS) tambm poderia ser estudada.
A Seo 7.2 poderia ser estudada em seguida, para explicar como os dados gerados por aplicaes
multimdia so codificados e compactados.
Captulo 5. Os fundamentos dos protocolos de transporte podem agora ser estudados, explicando
como os dados gerados pelos protocolos da camada de aplicao podem ser transportados pela rede
de modo confivel.
Captulo 3. Comutao, Interligao de redes e Roteamento podem ser compreendidos
como oferecendo a infraestrutura sobre a qual os protocolos de transporte so executados.
Captulo 2. Finalmente, podem ser analisadas as questes de como os dados so realmente codificados
e transmitidos em meios fsicos, tais como Ethernet e enlaces sem fio.

Logicamente, pulamos muitas sees nessa ordem de estudo. Para um curso mais avanado ou para o
autoestudo abrangente, tpicos como alocao de recursos (Captulo 6), segurana (Captulo 8) e os tpicos
avanados no Captulo 4 poderiam ser acrescentados no final. A segurana poderia ser abordada quase
separadamente, mas todos estes tpicos avanados faro mais sentido aps o IP e o TCP terem sido abordados
nos Captulos 3 e 5, respectivamente.
Observe que os slides disponibilizados em nosso site incluem um conjunto que acompanha essa ordem
de cima para baixo, alm do conjunto que segue a ordem do livro.

Exerccios
Muito esforo foi empregado para melhorar os exerccios a cada nova edio. Na segunda edio, aumentamos
bastante o nmero de problemas e, com base em testes em sala de aula, melhoramos muito sua qualidade.
Na terceira edio, fizemos duas outras mudanas importantes, que mantivemos aqui:

Para os exerccios que acreditamos ser particularmente desafiadores ou que exigem conhecimento
especial no fornecido no livro (por exemplo, conhecimento de probabilidades), acrescentamos
para indicar o nvel de dificuldade extra.
um cone
Em cada captulo, acrescentamos alguns exerccios extras representativos, para os quais existem
solues resolvidas no final do livro. Esses exerccios, marcados com , oferecem alguma ajuda
para resolver outros exerccios no livro.

Nesta edio, acrescentamos novos exerccios para refletir o contedo atualizado. O conjunto atual de
exerccios possui diversos estilos distintos:

Exerccios analticos que pedem ao aluno para realizar clculos algbricos simples para demonstrar sua
compreenso das relaes fundamentais.
Perguntas de projeto que pedem ao aluno para propor e avaliar protocolos para diversas circunstncias.
Perguntas prticas que pedem ao aluno para escrever algumas linhas de cdigo a fim de testar uma
ideia ou experimentar um utilitrio de rede existente.
Perguntas de pesquisa que pedem ao aluno para aprender mais sobre um assunto em particular.

Alm disso, conforme descrevemos com mais detalhes a seguir, tarefas de programao baseada em
sockets, alm de experimentos de simulao em laboratrio, esto disponveis on-line.

C0080.indd xvii

1/17/13 2:53:15 AM

XVIII

REDES DE COMPUTADORES

Material suplementar e recursos on-line


Para auxiliar os instrutores, preparamos um manual do instrutor que contm solues para exerccios
selecionados. O manual est disponvel com a editora.
Materiais de suporte adicionais, incluindo slides para aulas, figuras do texto, tarefas de programao
baseada em sockets e exemplos de exames e tarefas de programao esto disponveis em www.elsevier.
com.br/petersonedavie.
E, finalmente, assim como na quarta edio, um conjunto de experimentos de laboratrio complementa
o livro. Esses experimentos, desenvolvidos pelo Professor Emad Aboelela da University of Massachusetts
em Dartmouth, utilizam simulaes para explorar o comportamento, a escalabilidade e o desempenho dos
protocolos explicados no livro. As sees que discutem o material abordado pelos exerccios de laboratrio so
marcadas com o cone mostrado na margem. As simulaes utilizam o conjunto de ferramentas de simulao
OPNET, que est disponvel gratuitamente a qualquer um que utiliza este livro em seu curso.

C0080.indd xviii

1/17/13 2:53:16 AM

Agradecimentos
Este livro no teria sido possvel sem a ajuda de muitas pessoas. Gostaramos de agradec-las por seus esforos
na melhoria do resultado final. Porm, antes de fazermos isso, temos de mencionar que fizemos o mximo
para corrigir os erros que os revisores indicaram e para descrever com preciso os protocolos e mecanismos
que nossos colegas nos explicaram.
Em primeiro lugar, gostaramos de agradecer s muitas pessoas que revisaram os rascunhos de todo
ou parte do manuscrito. Alm daqueles que revisaram as edies anteriores, queremos agradecer a Peter
Dordal, Stefano Basagni, Yonshik Choi, Wenbing Zhao, Sarvesh Kulkarni, James Menth e John Doyle (e um
revisor annimo) por suas revises completas. Obrigado tambm a Dina Katabi e Hari Balakrishnan por
suas revises de vrias sees. Tambm queremos agradecer a todos os que ofereceram suas opinies e nos
ajudaram a decidir sobre o que fazer nesta edio.
Vrios membros do Network Systems Group em Princeton colaboraram com ideias, exemplos, correes,
dados e cdigo para este livro. Particularmente, gostaramos de agradecer a Andy Bavier, Tammo Spalink,
Mike Wawrzoniak, Stephen Soltesz e KyoungSoo Park. Obrigado tambm a Shankar M. Banik, por desenvolver
os dois conjuntos abrangentes de slides que acompanham o livro.
Em terceiro lugar, gostaramos de agradecer ao nosso editor da srie, David Clark, alm de todo o pessoal
da Morgan Kaufmann que nos ajudou durante o processo de escrita do livro. Devemos um agradecimento
especial nossa editora patrocinadora original, Jennifer Young; nosso editor desta edio, Rick Adams; nosso
editor de desenvolvimento, Nate McFadden; editor assistente David Bevans; e nosso editor de produo, Paul
Gottehrer. Tambm agradecemos editora na MKP, Laura Colantoni, cuja liderana nos inspirou a realizar
esta reviso.

C0085.indd xix

1/17/13 3:01:27 AM

C0085.indd xx

1/17/13 3:01:27 AM

Sumrio
Prefcio Primeira Edio
Apresentao

xiii

Agradecimentos
1

xi

xix

Fundamentos

Problema: montando uma rede

1.1 Aplicaes

1.1.1 Classes de aplicaes


1.2 Requisitos

1.2.2 Conectividade escalvel

1.2.3 Compartilhamento de recursos de forma econmica

1.2.4 Suporte para servios comuns

11

1.2.5 Facilidade de gerenciamento

15
15

1.3.1 Uso de camadas e protocolos

16

1.3.2 Arquitetura Internet

21

1.4 Implementando software de rede

23

1.4.1 Interface de programao de aplicao (sockets)

23

1.4.2 Exemplo de aplicao

25

1.5 Desempenho

28

1.5.1 Largura de banda e latncia

28

1.5.2 Produto atraso largura de banda

31

1.5.3 Redes de alta velocidade

32

1.5.4 Necessidades de desempenho da aplicao

34

1.6 Resumo

35

O que vem em seguida: Computao em nuvem

36

Leitura adicional

37

Exerccios

38

Conectando-se

45

Problema: conectando-se a uma rede

45

2.1 Perspectivas na conexo

46

2.1.1 Classes de enlaces

C0090.indd xxi

1.2.1 Perspectivas

1.3 Arquitetura da rede

47

1/18/13 2:00:52 PM

XXII

REDES DE COMPUTADORES

2.2 Codificao (NRZ, NRZI, Manchester, 4B/5B)

49

2.3 Enquadramento

52

2.3.1 Protocolos orientados a byte (BISYNC, PPP, DDCMP)

52

2.3.2 Protocolos orientados a bits (HDLC)

54

2.3.3 Enquadramento baseado em relgio (SONET)

55

2.4 Deteco de erros


2.4.1 Paridade bidimensional

58

2.4.2 Algoritmo de soma de verificao da Internet

59

2.4.3 Verificao de redundncia cclica (CRC)

60

2.5 Transmisso confivel

63

2.5.1 Parar e esperar

64

2.5.2 Janela deslizante

66

2.5.3 Canais lgicos concorrentes

72

2.6 Ethernet e redes de acesso mltiplo (802.3)

74

2.6.2 Protocolo de acesso

75

2.6.3 Experincia com Ethernet

78
79

2.7.1 802.11/Wi-Fi

83

2.7.2 Bluetooth (802.15.1)

88

2.7.3 Tecnologias de telefone celular

89

2.8 Resumo

91

O que vem em seguida: a Internet das coisas

92

Leitura adicional

93

Exerccios

94

Interconexo de redes

103

Problema: nem todas as redes esto diretamente conectadas

103

3.1 Comutao e pontes

104

3.1.1 Datagramas

105

3.1.2 Comutao de circuitos virtuais

106

3.1.3 Roteamento na origem

114

3.1.4 Bridges e switches de LAN

116

3.2 Fundamentos de interligao de redes (IP)

C0090.indd xxii

73

2.6.1 Propriedades fsicas

2.7 Redes sem fios

57

124

3.2.1 O que uma inter-rede?

124

3.2.2 Modelo de servio

126

3.2.3 Endereos globais

131

3.2.4 Encaminhamento de datagrama no IP

132

1/18/13 2:00:52 PM

Sumrio

3.2.5 Sub-redes e endereamento sem classes

135

3.2.6 Traduo de endereos (ARP)

140

3.2.7 Configurao de host (DHCP)

142

3.2.8 Relatrio de erros (ICMP)

144

3.2.9 Redes virtuais e tneis

144

3.3 Roteamento

148

3.3.2 Vetor de distncias (RIP)

149

3.3.3 Estado do enlace (OSPF)

154

3.3.4 Mtrica

160
163

3.4.1 Fundamentos de um comutador

163

3.4.2 Portas

165

3.4.3 Malhas

167

3.4.4 Implementao de roteadores

169

3.5 Resumo

171

O que vem em seguida: a Internet do futuro

172

Leitura adicional

173

Interligao avanada de redes

187

Problema: escalabilidade at bilhes

187

4.1 A Internet global

187

4.1.1 reas de roteamento

189

4.1.2 Roteamento interdomnios (BGP)

190

4.1.3 IP verso 6 (IPv6)

198

4.2 Multicast

206

4.2.1 Endereos multicast

207

4.2.2 Roteamento multicast (DVMRP, PIM, MSDP)

208

4.3 Multiprotocol label switching (MPLS)

216

4.3.1 Encaminhamento baseado no destino

217

4.3.2 Roteamento explcito

221

4.3.3 Redes privadas virtuais e tneis

222

4.4 Roteamento entre dispositivos mveis

C0090.indd xxiii

147

3.3.1 Rede como um grafo

3.4 Implementao e desempenho

xxiii

226

4.4.1 Desafios para a rede mvel

226

4.4.2 Roteamento para hosts mveis (IP mvel)

227

4.5 Resumo

231

O que vem em seguida: Implantao do IPv6

232

Leitura adicional

233

Exerccios

233

1/18/13 2:00:52 PM

XXIV

REDES DE COMPUTADORES

Protocolos fim a fim

239

Problema: fazer com que os processos se comuniquem

239

5.1 Demultiplexador simples (UDP)

240

5.2 Fluxo de bytes confivel (TCP)

242

5.2.1 Problemas fim a fim

242

5.2.2 Formato do segmento

244

5.2.3 Estabelecimento e trmino da conexo

246

5.2.4 Janela deslizante revisada

249

5.2.5 Iniciando a transmisso

254

5.2.6 Retransmisso adaptativa

256

5.2.7 Fronteiras de registro

259

5.2.8 Extenses do TCP

259

5.2.9 Desempenho

261

5.2.10 Escolhas de projeto alternativas

263

5.3 Remote procedure call


5.3.1 Fundamentos de RPC

265

5.3.2 Implementaes do RPC (SunRPC, DCE)

270

5.4 Real-time transport protocol (RTP)

274

5.4.1 Requisitos

275

5.4.2 Detalhes do RTP

277

5.4.3 Protocolo de controle

280

5.5 Resumo

282

O que vem em seguida: Diversidade do protocolo de transporte

283

Leitura adicional

283

Exerccios

284

Controle de congestionamento e alocao de recursos

293

Problema: alocar recursos

293

6.1 Problemas na alocao de recursos

294

6.1.1 Modelo de rede

294

6.1.2 Classificao

297

6.1.3 Critrios de avaliao

298

6.2 Disciplinas de enfileiramento

301

6.2.1 FIFO

301

6.2.2 Enfileiramento justo

302

6.3 Controle de congestionamento do TCP

C0090.indd xxiv

264

305

6.3.1 Aumento aditivo/diminuio multiplicativa

306

6.3.2 Partida lenta

309

1/18/13 2:00:52 PM

Sumrio

6.3.3 Retransmisso rpida e recuperao rpida


6.4 Mecanismos para impedir o congestionamento

C0090.indd xxv

314
315

6.4.2 Deteco aleatria antecipada (RED)

316

6.4.3 Prevenindo o congestionamento com base na origem

320
324

6.5.1 Requisitos da aplicao

324

6.5.2 Servios Integrados (RSVP)

328

6.5.3 Servios diferenciados (EF, AF)

335

6.5.4 Controle de congestionamento baseado em equao

340

6.6 Resumo

341

O que vem em seguida: reprojetando a rede

342

Leitura adicional

342

Exerccios

343

Dados fim a fim

353

Problema: o que fazemos com os dados?

353

7.1 Formatao de apresentao

354

7.1.1 Taxonomia

355

7.1.2 Exemplos (XDR, ASN.1, NDR)

357

7.1.3 Linguagens de marcao (XML)

361

7.2 Dados multimdia

312

6.4.1 DECbit

6.5 Qualidade de servio

xxv

363

7.2.1 Tcnicas de compresso sem perdas

364

7.2.2 Representao e compresso de imagem


(GIF, JPEG)

367

7.2.3 Compresso de vdeo (MPEG)

371

7.2.4 Transmisso MPEG por uma rede

374

7.2.5 Compresso de udio (MP3)

377

7.3 Resumo

379

O que vem em seguida: vdeo por toda parte

379

Leitura adicional

380

Exerccios

380

Segurana de redes

385

Problema: ataques segurana

385

8.1 Blocos de montagem criptogrficos

386

8.1.1 Princpios de cifras

386

8.1.2 Cifras de chave simtrica

389

1/18/13 2:00:52 PM

XXVI

REDES DE COMPUTADORES

8.1.3 Cifras de chave pblica

390

8.1.4 Autenticadores

391

8.2 Pr-distribuio de chaves


8.2.1 Pr-distribuio de chaves pblicas

395

8.2.2 Pr-distribuio de chaves simtricas

398

8.3 Protocolos de autenticao

399

8.3.2 Protocolos de autenticao de chave pblica

400

8.3.3 Protocolos de autenticao de chave simtrica

401

8.3.4 Acordo de chaves Diffie-Hellman

403
405

8.4.1 Pretty Good Privacy (PGP)

405

8.4.2 Secure Shell (SSH)

407

8.4.3 Segurana na camada de transporte (TLS, SSL, HTTPS)

409

8.4.4 IP Security (IPsec)

412

8.4.5 Segurana sem fios (802.11i)

413

8.5 Firewalls
8.5.1 Pontos fortes e fracos dos firewalls

415
417

8.6 Resumo

418

O que vem em seguida: Lidando com a segurana

420

Leitura adicional

420

Exerccios

421

Aplicaes

425

Problema: aplicaes precisam de protocolos prprios

425

9.1 Aplicaes tradicionais

425

9.1.1 Correio eletrnico (SMTP, MIME, IMAP)

426

9.1.2 World Wide Web (HTTP)

432

9.1.3 Web Services

438

9.2 Aplicaes multimdia

444

9.2.1 Controle de sesso e controle de chamada (SDP, SIP, H.323)

444

9.2.2 Alocao de recursos para aplicaes multimdia

451

9.3 Servios de infraestrutura

C0090.indd xxvi

398

8.3.1 Tcnicas de originalidade e pontualidade

8.4 Exemplos de sistemas

394

454

9.3.1 Servio de nomes (DNS)

455

9.3.2 Network Management (SNMP)

461

1/18/13 2:00:53 PM

Sumrio

9.4 Redes overlay

463

9.4.1 Overlays de roteamento

465

9.4.2 Redes peer-to-peer

470

9.4.3 Redes de distribuio de contedo

479

9.5 Resumo

483

O que vem em seguida: nova arquitetura de rede

483

Leitura adicional

484

Exerccios

485

ndice remissivo

C0090.indd xxvii

xxvii

505

1/18/13 2:00:53 PM

Vous aimerez peut-être aussi