1. LEITURA INDICADA SOMENTE PARA FINS EDUCACIONAIS. NO DISPENSA
A AQUISIO DO LIVRO ORIGINAL
2. Redes de computadores Quarta edio Andrew S. Tanenbaum Vrije
Universiteit Amsterdam, Holanda Traduo: Vandenberg D. de Souza
Analista de sistemas e tradutor Editora Campus Redes de
computadores, quarta edio, a introduo ideal s redes de hoje e s
redes de amanh. Este best-seller clssico foi completamente
atualizado para refletir as tecnologias mais novas e mais
importantes de redes, com nfase especial em redes sem fios,
incluindo 802.11, Bluetooth, comunicao sem fios de banda larga,
redes ad hoc, i-mode e WAP. Porm as redes fixas no foram ignoradas,
com cobertura de ADSL, Internet via cabo, Ethernet de gigabit,
redes no hierrquicas, NAT e MPLS. Alm disso, existe grande
quantidade de material novo sobre aplicaes, inclusive mais de 60
pginas sobre a Web, e ainda rdio na Internet, voz sobre IP e vdeo
por demanda. Por fim, a cobertura de segurana de redes foi revista
e expandida para preencher um captulo inteiro. Autor, educador e
pesquisador, Andrew S. Tanenbaum, vencedor do ACM Karl V. Karlstrom
Outstanding Educator Award, explica cuidadosamente como as redes
funcionam do lado de dentro, desde o hardware subjacente na camada
fsica at a camada de aplicao de nvel superior. Tanenbaum focaliza
todos estes temas e muitos outros: Camada fsica (cobre, fibra
ptica, redes sem fios, satlites e Internet via cabo) Camada de link
de dados (conceitos fundamentais de protocolos, verificao de
protocolos, HDLC, SLIP e PPP) Subcamada MAC (Ethernet de gigabit,
802.11, comunicao sem fios de banda larga e comutao) Camada de rede
(algoritmos de roteamento, controle de congestionamento, QoS, lPv4
e IPv6) Camada de transporte (programao de soquetes, UDP, TCP, RTP
e desempenho de redes) Camada de aplicao (e-mail, a Web, PHP, Web
sem fios, MP3 e streaming audio) Segurana de redes (AES, RSA,
criptografia quntica, IPsec e segurana da Web) O livro fornece
descries detalhadas dos princpios associados a cada camada e
apresenta muitos exemplos extrados da Internet e de redes sem
fios.
3. NDICE Prefcio
..........................................................................................................................................
..15 Captulo 1. Introduo
.........................................................................................
............................18 1.1 Usos de redes de computadores
...................................................................19
1.1.1 Aplicaes comerciais
............................................................................19
1.1.2 Aplicaes domsticas
............................................................................21
1.1.3 Usurios mveis
.....................................................................................24
1.1.4 Questes sociais
.....................................................................................26
1.2 Hardware de rede
.........................................................................................27
1.2.1 Redes locais
............................................................................................29
1.2.2 Redes metropolitanas
.............................................................................30
1.2.3 Redes geograficamente distribudas
......................................................31 1.2.4
Redes sem fios
........................................................................................33
1.2.5 Redes domsticas
...................................................................................35
1.2.6 Inter-redes
..............................................................................................36
1.3 Software de rede
..........................................................................................37
1.3.1 Hierarquias de protocolos
......................................................................37
1.3.2 Questes de projeto relacionadas s
camadas........................................40 1.3.3 Servios
orientados a conexes e servios sem conexes .....................41
1.3.4 Primitivas de
servio...............................................................................42
1.3.5 O relacionamento entre servios e protocolos
.......................................44 1.4 Modelos de referncia
..................................................................................44
1.4.1 O modelo de referncia OSI
...................................................................45
A camada fsica
............................................................................................45
A camada de enlace de dados
......................................................................46
A camada de rede
.........................................................................................46
A camada de transporte
...............................................................................47
A camada de sesso
.....................................................................................47
A camada de apresentao
...........................................................................47
A camada de aplicao
.................................................................................47
1.4.2 O modelo de referncia TCP/IP
..............................................................47 A
camada inter-redes
...................................................................................48
A camada de transporte
...............................................................................49
A camada de aplicao
.................................................................................49
A camada host/rede
......................................................................................49
1.4.3 Uma comparao entre os mo delos de referncia OSI e TCP/IP
..........49 1.4.4 Uma crtica aos protocolos e ao modelo OSI
.........................................51 Momento ruim
..............................................................................................51
Tecnologia ruim
............................................................................................52
Implementaes ruins
..................................................................................52
Poltica ruim
.................................................................................................52
1.4.5 Uma crtica ao modelo de referncia TCP/IP
.........................................53 1.5 Exemplos de redes
........................................................................................53
1.5.1 A Internet
...............................................................................................54
A ARPANET
..................................................................................................54
NSFNET........................................................................................................57
Utilizao da Internet
...................................................................................59
Arquitetura da
Internet.................................................................................60
1.5.2 Redes orientadas a conexes: X.25, Frame Relay e ATM
......................61 X.25 e Frame Relay
......................................................................................62
ATM (Asynchronous Transfer Mode)
...........................................................62
Circuitos virtuais do ATM
.............................................................................63
O modelo de referncia ATM
........................................................................64
1.5.3 Ethernet
..................................................................................................65
4. 1.5.4 LANs sem fios: 802.11
............................................................................67
1.6 Padronizao de redes
..................................................................................69
1.6.1 Quem quem no mundo das telecomunicaes
....................................69 1.6.2 Quem quem no mundo dos
padres internacionais ............................71 1.6.3 Quem
quem no mundo dos padres da Internet
.................................72 1.7 Unidades mtricas
........................................................................................73
1.8 Viso geral dos outros captulos do livro
......................................................74 1.9 Resumo
.........................................................................................................75
Problemas
...........................................................................................................76
Captulo 2. A camada fsica
...............................................................................
..............................78 2.1 A base terica da comunicao de
dados .....................................................79 2.1.1
Anlise de
Fourier...................................................................................79
2.1.2 Sinais limitados pela largura de banda
..................................................79 2.1.3 Taxa
mxima de dados de um canal
.......................................................81 2.2 Meios
de transmisso guiados
......................................................................82
2.2.1 Meios magnticos
...................................................................................82
2.2.2 Par tranado
...........................................................................................83
2.2.3 Cabo coaxial
...........................................................................................84
2.2.4 Fibra ptica
............................................................................................84
Transmisso de luz na fibra
.........................................................................85
Cabos de fibra
..............................................................................................86
Redes de fibra ptica
....................................................................................87
Comparao entre fibras pticas e fios de cobre
.........................................88 2.3 Transmisso sem fios
....................................................................................89
2.3.1 O espectro eletromagntico
...................................................................90
2.3.2 Transmisso de rdio
.............................................................................92
2.3.3 Transmisso de
microondas....................................................................93
A poltica do espectro eletromagntico
........................................................93 2.3.5
Transmisso por ondas de luz
................................................................95
2.4 Satlites de comunicaes
............................................................................96
2.4.1 Satlites geoestacionrios
......................................................................97
2.4.2 Satlites terrestres de rbita mdia
.......................................................99 2.4.3
Satlites terrestres de baixa rbita
......................................................100 Iridium
........................................................................................................100
Globalstar....................................................................................................101
Teledesic......................................................................................................101
2.4.4 Comparao entre satlites e fibra ptica
...........................................102 2.5 A rede pblica de
telefonia comutada
........................................................103 2.5.1
Estrutura do sistema telefnico
...........................................................103
2.5.2 A poltica das companhias telefnicas
.................................................105 2.5.3 O loop
local: modems, ADSL e redes sem fios
.....................................107 Modems
......................................................................................................108
Linhas digitais do assinante
.......................................................................112
Loops locais sem
fios...................................................................................115
2.5.4 Troncos e multiplexao
.......................................................................117
Multiplexao por diviso de freqncia
...................................................117 Multiplexao
por diviso de comprimento de onda
.................................118 Multiplexao por diviso de
tempo...........................................................119
SONET/SDH
...............................................................................................122
2.5.5 Comutao
............................................................................................124
Comutao de circuitos
..............................................................................124
Comutao de mensagens
..........................................................................125
Comutao de pacotes
...............................................................................126
2.6 O sistema de telefonia mvel
......................................................................128
5. 2.6.1 Telefones mveis de primeira gerao: voz analgica
.........................129 AMPS (Advanced Mobile Phone System)
...................................................129 Canais
.........................................................................................................131
Gerenciamento de chamadas
.....................................................................131
2.6.2 Telefones mveis de segunda gerao: voz digital
..............................132 D-AMPS (Digital Advanced Mobile
Phone System) ....................................132 GSM (Global
System for Mobile
Communications).....................................133 CDMA (Code
Division Multiple Access)
.....................................................135 2.6.3
Telefones mveis de terceira gerao: voz e dados digitais
................139 2.7 Televiso a cabo
..........................................................................................141
2.7.1 CATV (Community Antenna Television)
................................................141 2.7.2 Internet
por
cabo...................................................................................142
2.7.3 Alocao do espectro
............................................................................143
2.7.4 Modems a cabo
.....................................................................................144
2.7.5 ADSL versus cabo
.................................................................................146
2.8 Resumo
.......................................................................................................147
Problemas
.........................................................................................................147
Captulo 3. A camada de enlace de dados
......................................................................
...............150 3.1 Questes de projeto da camada de enlace de
dados ..................................151 3.1.1 Servios
oferecidos camada de rede
.................................................151 3.1.2
Enquadramento
....................................................................................153
3.1.3 Controle de
erros...................................................................................156
3.1.4 Controle de fluxo
..................................................................................157
3.2 Deteco e correo de erros
.....................................................................157
3.2.1 Cdigos de correo de erros
...............................................................157
3.2.2 Cdigos de deteco de erros
..............................................................160
3.3 Protocolos elementares de enlace de dados
...............................................163 3.3.1 Um
protocolo simplex sem restries
..................................................166 3.3.2 Um
protocolo simplex stop-and-wait
....................................................167 3.3.3 Um
protocolo simplex para um canal com rudo
..................................169 3.4 Protocolos de janela
deslizante
..................................................................172
3.4.1 Um protocolo de janela deslizante de um bit
.......................................174 3.4.2 Um protocolo que
utiliza go back n
......................................................176 3.4.3 Um
protocolo que utiliza retransmisso seletiva
.................................181 3.5 Verificao de protocolos
...........................................................................185
3.5.1 Modelos de mquinas de estados finitos
..............................................185 3.5.2 Modelos de
rede de Petri
.....................................................................187
3.6 Exemplos de protocolos de enlace de dados
..............................................189 3.6.1 HDLC
High-level Data Link Control
.................................................189 3.6.2 A camada
de enlace de dados na
Internet............................................191 PPP
Point-to-Point Protocol
....................................................................192
3.7 Resumo
.......................................................................................................195
Problemas
.........................................................................................................195
Captulo 4 - A subcamada de controle de acesso ao meio
.............................................................198
4.1. O problema de alocao de canais
............................................................199
4.1.1. Alocao esttica de canais em LANs e MANs
...................................199 4.1.2 Alocao dinmica de
canais em LANs e MANs ..................................200 4.2
Protocolos de acesso mltiplo
....................................................................201
4.2.1 ALOHA
..................................................................................................201
ALOHA puro
...............................................................................................201
Slotted ALOHA
...........................................................................................203
4.2.2 Protocolos CSMA (Carrier Sense Multiple Access)
..............................204 CSMA persistente e no persistente
..........................................................204 CSMA
com deteco de colises
................................................................205
6. 4.2.3 Protocolos livres de coliso
..................................................................207
Um protocolo de mapa de bits
...................................................................207
Contagem regressiva binria
.....................................................................208
4.2.4 Protocolos de disputa limitada
.............................................................209 O
protocolo adaptativo de percurso em rvore
.........................................210 4.2.5 Protocolos WDMA
.................................................................................211
4.2.6 Protocolos de LANs sem fios
................................................................213
MACA e MACAW
........................................................................................215
4.3 Ethernet
......................................................................................................216
4.3.1 Cabeamento Ethernet
..........................................................................216
4.3.2 Codificao Manchester
.......................................................................218
4.3.3 O protocolo da subcamada MAC Ethernet
...........................................219 4.3.4 O algoritmo de
recuo binrio
exponencial...................................................
..........................221 4.3.5 Desempenho da Ethernet
.....................................................................222
4.3.6 Ethernet comutada
...............................................................................223
4.3.7 Fast Ethernet
........................................................................................224
4.3.8 Ethernet de gigabit
..............................................................................227
4.3.9 O padro IEEE 802.2: LLC (Logical Link Control)
...............................229 4.3.10 Retrospectiva da Ethernet
..................................................................230
4.4 LANs sem fios
.............................................................................................231
4.4.1 802.11: a pilha de protocolos
...............................................................231
4.4.2 802.11: a camada fsica
........................................................................232
4.4.3 802.11: o protocolo da subcamada MAC
..............................................233 4.4.4 802.11:
estrutura de quadro
................................................................237
4.4.5 Servios
................................................................................................237
4.5 Redes sem fios de banda larga
...................................................................239
4.5.1 Comparao entre o 802.11 e o 802.16
...............................................239 4.5.2 802.16: a
pilha de protocolos
...............................................................240
4.5.3 802.16: a camada fsica
........................................................................241
4.5.4 802.16: o protocolo da subcamada MAC
..............................................242 4.5.5 802.16:
estrutura de quadro
................................................................243
4.6 Bluetooth
....................................................................................................244
4.6.1 Arquitetura do Bluetooth
......................................................................245
4.6.2 Aplicaes do Bluetooth
.......................................................................245
4.6.3 A pilha de protocolos do Bluetooth
......................................................246 4.6.4 A
camada de rdio do Bluetooth
.......................................................247 4.6.5 A
camada de banda base do Bluetooth
................................................248 4.6.6 A camada
L2CAP do Bluetooth
.............................................................248
4.6.7 A estrutura de quadro do Bluetooth
.....................................................248 4.7
Comutao na camada de enlace de dados
................................................249 4.7.1 Pontes
entre LANs 802.x e 802.y
.........................................................251 4.7.2
Interligao de redes locais
.................................................................252
4.7.3 Pontes de rvores de amplitude
...........................................................254
4.7.4 Pontes remotas
.....................................................................................255
4.7.5 Repetidores, hubs, pontes, switches, roteadores e gateways
..............255 4.7.6 LANs virtuais
........................................................................................257
O padro IEEE 802.1Q
...............................................................................261
4.8 Resumo
.......................................................................................................263
Problemas
.........................................................................................................264
Captulo 5. A camada de
rede.......................................................................................................
..267 5.1 Questes de projeto da camada de rede
....................................................267 5.1.1
Comutao de pacotes
store-and-forward.............................................267
5.1.2 Servios oferecidos camada de transporte
.......................................268 5.1.3 Implementao do
servio sem conexes
............................................269
7. 5.1.4 Implementao do servio orientado a conexes
.................................270 5.1.5 Comparao entre sub-redes
de circuitos virtuais e de datagramas ...271 5.2 Algoritmos de
roteamento
..........................................................................272
5.2.1 O princpio de otimizao
.....................................................................273
5.2.2 Roteamento pelo caminho mais curto
..................................................274 5.2.3 Inundao
.............................................................................................276
5.2.4 Roteamento com vetor de distncia
.....................................................277 O problema
da contagem at infinito
.........................................................279 5.2.5
Roteamento por estado de enlace
........................................................280
Conhecendo os vizinhos
.............................................................................280
Como medir o custo da linha
......................................................................281
Como criar pacotes de estado de enlace
....................................................282 Distribuio
dos pacotes de estado de enlace
...........................................282 Como calcular as
novas rotas
.....................................................................283
5.2.6 Roteamento hierrquico
.......................................................................284
5.2.7 Roteamento por difuso
.......................................................................286
5.2.8 Roteamento por
multidifuso................................................................287
5.2.9 Roteamento para hosts mveis
............................................................289
5.2.10 Roteamento em redes ad hoc
.............................................................291
Descoberta de rota
.....................................................................................291
Manuteno de rotas
..................................................................................293
5.2.11 Pesquisa de ns em redes no hierrquicas
......................................294 5.3.1 Princpios gerais do
controle de congestionamento ............................299 5.3.2
Polticas de preveno de congestionamento
......................................300 5.3.3 Controle de
congestionamento em sub-redes de circuitos virtuais .....301 5.3.4
Controle do congestionamento em sub-redes de datagramas
.............302 O bit de advertncia
...................................................................................302
Pacotes reguladores
...................................................................................303
Pacotes reguladores hop a hop
..................................................................303
5.3.5 Escoamento de carga
...........................................................................304
Deteco aleatria prematura
....................................................................305
5.3.6 Controle de
flutuao............................................................................306
5.4 Qualidade de servio
..................................................................................307
5.4.1 Requisitos
.............................................................................................307
5.4.2 Tcnicas para se alcanar boa qualidade de servio
...........................308 Superdimensionamento
..............................................................................308
Armazenamento em buffers
.......................................................................308
Moldagem de trfego
.................................................................................309
O algoritmo de balde furado
......................................................................309
O algoritmo de balde de smbolos
..............................................................310
Reserva de recursos
...................................................................................313
Controle de admisso
.................................................................................314
Roteamento proporcional
...........................................................................316
Programao de pacotes
............................................................................316
5.4.3 Servios integrados
..............................................................................317
RSVP Resource reSerVation Protocol
....................................................317 5.4.4
Servios diferenciados
.........................................................................319
Encaminhamento expedido
........................................................................320
Encaminhamento garantido
.......................................................................320
5.4.5 Troca de rtulos e
MPLS3.....................................................................321
5.5 Interligao de
redes...................................................................................323
5.5.1 Diferenas entre redes
.........................................................................324
5.5.2 Como as redes podem ser conectadas
.................................................325 5.5.3
Circuitos virtuais concatenados
...........................................................326
8. 5.5.4 Interligao de redes sem conexes
....................................................327 5.5.5
Tunneling
..............................................................................................328
5.5.6 Roteamento inter-redes
........................................................................329
5.5.7 Fragmentao
.......................................................................................330
5.6 A camada de rede na Internet
....................................................................333
5.6.1 O protocolo IP
.......................................................................................334
5.6.2 Endereos IP
........................................................................................337
Sub-redes
...................................................................................................338
CIDR Classless InterDomain Routing
....................................................340 NAT Network
Address Translatiom
.......................................................342 5.6.3
Protocolos de controle da Internet
.......................................................345 ICMP
(Internet Control Message Protocol)
...............................................346 ARP (Address
Resolution Protocol)
............................................................346
RARP, BOOTP e DHCP
................................................................................348
5.6.4 OSPF Interior Gateway Routing Protocol
........................................349 5.6.5 BGP O protocolo
de roteamento de gateway exterior .....................353 5.6.6
Multidifuso na Internet
.......................................................................354
5.6.7 IP mvel
................................................................................................355
5.6.8 IPv6
.......................................................................................................357
O cabealho principal do IPv6
....................................................................358
Cabealhos de extenso
.............................................................................361
Controvrsias
.............................................................................................362
5.7 Resumo
.......................................................................................................364
Problemas
.........................................................................................................364
Captulo 6. A camada de transporte
......................................................................
........................368 6.1 O servio de transporte
..............................................................................369
6.1.1 Servios oferecidos s camadas superiores
.........................................369 6.1.2 Primitivas do
servio de transporte
.....................................................370 6.1.3
Soquetes de Berkeley
...........................................................................372
6.1.4 Um exemplo de programao de soquetes: um servidor de arquivos
da Internet
..........................................................................................................373
6.2 Elementos de protocolos de transporte
......................................................376 6.2.1
Endereamento
....................................................................................377
6.2.2 Estabelecimento de conexes
..............................................................379
6.2.3 Encerramento de conexes
..................................................................383
6.2.4 Controle de fluxo e uso de buffers
.......................................................386 6.2.5
Multiplexao
.......................................................................................389
6.2.6 Recuperao de desastres
....................................................................390
6.3 Um protocolo de transporte simples
..........................................................392 6.3.1
Exemplo de primitivas de servio
........................................................392 6.3.2
Exemplo de entidade de transporte
.....................................................393 6.3.3 O
exemplo sob a forma de mquina de estados finitos
........................397 6.4 Os protocolos de transporte da
Internet: UDP ...........................................399 6.4.1
Introduo ao UDP
...............................................................................399
6.4.2 Chamada de procedimentos remotos
...................................................400 6.4.3 O RTP
(Real-time Transport Protocol)
..................................................402 6.5 Os
protocolos de transporte da Internet: TCP
...........................................404 6.5.1 Introduo ao
TCP
................................................................................405
6.5.2 O modelo de servio do TCP
.................................................................405
6.5.3 O protocolo TCP
...................................................................................407
6.5.4 O cabealho de segmento do TCP
........................................................407 6.5.5 O
estabelecimento de conexes TCP
....................................................410 6.5.7
Modelagem do gerenciamento de conexes do TCP
............................411 6.5.8 Poltica de transmisso do TCP
............................................................413
9. 6.5.9 Controle de congestionamento do TCP
................................................416 6.5.10
Gerenciamento de timers do TCP
......................................................418 6.5.11
TCP e UDP sem fios
............................................................................420
6.5.12 TCP transacional
................................................................................422
6.6 Questes de desempenho
...........................................................................423
6.6.1 Problemas de desempenho em redes de computadores
......................424 6.6.2 Medio do desempenho da rede
.........................................................425
Certifique-se de que o tamanho da amostra grande o bastante
.............426 Certifique-se de que as amostras so
representativas ..............................426 Tenha cuidado ao
usar o clock do computador
..........................................426 Certifique-se de que
nenhum evento inesperado est ocorrendo durante os testes
..........................................................................................................426
O uso de caches pode arruinar as medies
..............................................427 Entenda o que est
medindo
......................................................................427
Tenha cuidado para no extrapolar os resultados
.....................................427 6.6.3 Projeto de sistemas
para obter melhor desempenho ...........................427 Regra n
1: A velocidade da CPU mais importante que a velocidade da rede
............................................................................................................428
Regra n 2: Reduza o nmero de pacotes para reduzir o overhead do
software
......................................................................................................428
Regra n 3: Minimize as mudanas de contexto
.......................................428 Regra n 4: Minimize o
nmero de cpias ................................................429
Regra n 5: Voc pode adquirir mais largura de banda, mas no um
retardo mais baixo
...................................................................................................430
Regra n 6: Prevenir o congestionamento melhor do que remedi-lo
...430 Regra n 7: Evite os timeouts
....................................................................430
6.6.4 Processamento rpido de TPDUs
.........................................................430 6.6.5
Protocolos para redes de gigabits
........................................................433 6.7
Resumo
.......................................................................................................435
Problemas
.........................................................................................................436
Captulo 7. A camada de aplicao
......................................................................................
..........439 7.1 DNS Domain Name System
....................................................................439
7.1.1 O espao de nomes do DNS
.................................................................440
7.1.2 Registros de recursos
...........................................................................441
7.1.3 Servidores de nomes
............................................................................444
7.2 Correio eletrnico
.......................................................................................445
7.2.1 Arquitetura e servios
..........................................................................447
7.2.2 O agente do usurio
.............................................................................448
O envio de mensagens de correio eletrnico
.............................................448 Leitura de correio
eletrnico
.....................................................................449
7.2.3 Formatos de mensagens
.......................................................................450
RFC 822
......................................................................................................450
MIME Multipurpose Internet Mail Extensions
......................................451 7.2.4 Transferncia de
mensagens
................................................................456
SMTP Simple Mail Transfer Protocol
.....................................................456 7.2.5
Entrega final
.........................................................................................458
POP3
...........................................................................................................458
IMAP
...........................................................................................................460
Caractersticas de entrega
.........................................................................461
Webmail
......................................................................................................462
7.3 A World Wide Web
......................................................................................462
7.3.1 Viso geral da arquitetura
....................................................................463
O lado
cliente..............................................................................................465
O lado servidor
...........................................................................................468
10. URLs Uniform Resource Locators
..........................................................471
Ausncia de estados e cookies
...................................................................473
7.3.2 Documentos estticos da Web
..............................................................475
HTML HyperText Markup Language
.....................................................476 T4]
Formulrios
..........................................................................................480
XML e XSL
..................................................................................................483
XHTML eXtended HyperText Markup Language
...................................486 7.3.3 Documentos dinmicos da
Web ............................................................486
Gerao dinmica de pginas da Web do lado servidor
.............................486 Gerao dinmica de pginas da Web do
lado cliente ...............................489 7.3.4 HTTP
HyperText Transfer Protocol
..................................................493 Conexes
....................................................................................................493
Mtodos
......................................................................................................493
Cabealhos de mensagens
.........................................................................495
Exemplo e utilizao do HTTP
...................................................................496
7.3.5 Aperfeioamentos de desempenho
.......................................................497
Armazenamento em cache
.........................................................................497
Replicao de servidores
............................................................................499
Redes de entrega de contedo
...................................................................499
7.3.6 A Web sem fios
.....................................................................................501
WAP Wireless Application Protocol
........................................................501 I-Mode
........................................................................................................503
Web sem fio da segunda gerao
...............................................................507
7.4 Multimdia
..................................................................................................509
7.4.1 Introduo ao udio digital
..................................................................509
7.4.2 Compactao de udio
.........................................................................511
7.4.3 udio de fluxo
.......................................................................................513
7.4.4 Rdio da Internet
.................................................................................515
7.4.5 Voz sobre IP
..........................................................................................517
H.323
..........................................................................................................518
SIP Session Initiation Protocol
...............................................................520
Comparao entre H.323 e SIP
..................................................................522
7.4.6 Introduo ao vdeo
..............................................................................522
Sistemas analgicos
...................................................................................522
Sistemas digitais
........................................................................................524
7.4.7 Compactao de vdeo
..........................................................................525
O padro JPEG
............................................................................................525
O padro MPEG
..........................................................................................528
7.4.8 Vdeo por demanda
...............................................................................531
Servidores de vdeo
....................................................................................532
A rede de distribuio
................................................................................534
7.4.9 MBone Multicast Backbone
.............................................................536
7.5 Resumo
.......................................................................................................539
Problemas
.........................................................................................................539
Captulo 8. Segurana de redes
.........................................................................................
............543 8.1 Criptografia
................................................................................................545
8.1.1 Introduo criptografia
.....................................................................545
8.1.2 Cifras de substituio
...........................................................................547
8.1.3 Cifras de transposio
..........................................................................548
8.1.4 Chave nica
..........................................................................................549
Criptografia quntica
.................................................................................550
8.1.5 Dois princpios fundamentais da criptografia
......................................552 Redundncia
...............................................................................................553
Atualidade
..................................................................................................554
11. 8.2 Algoritmos de chave simtrica
...................................................................554
8.2.1 DES Data Encryption Standard
........................................................555 DES
triplo
...................................................................................................557
8.2.2 AES Advanced Encryption Standard
................................................557 Rijndael
......................................................................................................558
8.2.3 Modos de cifra
......................................................................................560
O modo Electronic Code Book
....................................................................560
Modo de encadeamento de blocos de cifras
..............................................561 Modo de feedback
de cifra
.........................................................................561
Modo de cifra de fluxo
................................................................................562
Modo de contador
......................................................................................563
8.2.4 Outras cifras
.........................................................................................564
8.2.5 Criptoanlise
........................................................................................564
8.3 Algoritmos de chave pblica
......................................................................565
8.3.1 RSA
.......................................................................................................566
8.3.2 Outros algoritmos de chave pblica
.....................................................567 8.4
Assinaturas digitais
....................................................................................567
8.4.1 Assinaturas de chave simtrica
............................................................568
8.4.2 Assinaturas de chave pblica
...............................................................569
8.4.3 Sumrios de mensagens
.......................................................................570
MD5.............................................................................................................571
SHA-1
.........................................................................................................571
8.4.4 Ataque de aniversrio
...........................................................................573
8.5 Gerenciamento de chaves pblicas
............................................................574
8.5.1 Certificados
..........................................................................................575
8.5.2 X.509
....................................................................................................576
8.5.3 Infra-estruturas de chave pblica
........................................................577
Diretrios
...................................................................................................578
Revogao
..................................................................................................578
8.6 Segurana da comunicao
........................................................................579
8.6.1 IPsec
.....................................................................................................579
8.6.2 Firewalls
...............................................................................................582
8.6.3 Redes privadas virtuais
........................................................................584
8.6.4 Segurana sem fios
..............................................................................585
Segurana de redes 802.11
........................................................................585
Segurana do Bluetooth
.............................................................................587
Segurana do WAP 2.0
...............................................................................588
8.7 Protocolos de autenticao
.........................................................................588
8.7.1 Autenticao baseada em uma chave secreta compartilhada
.............589 8.7.2 Como estabelecer uma chave compartilhada: A
troca de chaves de Diffie-Hellman
...............................................................................................593
8.7.3 Autenticao com o uso de um centro de distribuio de chaves
........594 8.7.4 Autenticao com a utilizao do Kerberos
.........................................597 8.7.5 Autenticao com a
criptografia de chave pblica ..............................598 8.8
Segurana de correio eletrnico
................................................................599
8.8.1 PGP Pretty Good Privacy
..................................................................599
8.8.2 PEM Privacy Enhanced Mail
............................................................602
8.8.3 S/MIME
................................................................................................603
8.9.1 Ameaas
...............................................................................................603
8.9.2 Nomenclatura segura
...........................................................................604
Spoofing de DNS
........................................................................................604
DNS seguro
................................................................................................606
Nomes de certificao automtica
.............................................................608
8.9.3 SSL Secure Sockets Layer
...............................................................609
12. 8.9.4 Segurana do cdigo mvel
.................................................................612
Segurana de miniaplicativos Java
.............................................................612
ActiveX
.......................................................................................................613
JavaScript
...................................................................................................613
Vrus
...........................................................................................................613
8.10 Questes sociais
.......................................................................................614
8.10.1 Privacidade
.........................................................................................614
Repostadores annimos
.............................................................................614
8.10.2 Liberdade de expresso
.....................................................................616
Esteganografia
...........................................................................................617
8.10.3 Direitos
autorais..................................................................................619
8.11 Resumo
.....................................................................................................620
Problemas
.........................................................................................................621
Captulo 9.Sugestes de leitura e bibliografia
...............................................................................
.624 9.1 Sugestes de leitura adicional
....................................................................624
9.1.1 Introduo e trabalhos genricos
.........................................................625 9.1.2
A camada fsica
.....................................................................................626
9.1.3 A camada de enlace de
dados...............................................................627
9.1.4 A subcamada de controle de acesso ao meio
.......................................628 9.1.5 A camada de rede
.................................................................................629
9.1.6 A camada de transporte
.......................................................................629
Bibliografia em ordem
alfabtica......................................................................632
13. Dedicatria A Suzanne, Barbara, Marvin e memria de Bram e
Sweetie
14. Outros ttulos de sucesso de Andrew S. Tanenbaum Distributed
Systems: Principles and Paradigms Esse novo livro, em co-autoria
com Maarten van Steen, aborda tanto os conceitos fundamentais
quanto os paradigmas dos modernos sistemas distribudos. Na primeira
parte, ele focaliza em detalhes os princpios de comunicao,
processos, nomenclatura, sincronizao, consistncia e replicao,
tolerncia a falhas e segurana. Em seguida, na segunda parte, se
aprofunda em diferentes paradigmas utilizados para elaborar
sistemas distribudos, inclusive sistemas orientados a objetos,
sistemas de arquivos distribudos, sistemas orientados a documentos
e sistemas baseados em coordenao. Numerosos exemplos so discutidos
extensivamente. Modern Operating Systems, 2 edio Esse texto
completo estuda em detalhes os conceitos fundamentais Sistemas
operacionais modernos e os ilustra com numerosos exemplos reais.
Aps um captulo introdutrio, os cinco captulos seguintes lidam com
os conceitos bsicos: processos e threads, impasses(deadlocks),
gerenciamento de memria, entrada/sada e sistemas de arquivos. Os
prximos seis captulos lidam de material mais avanado, incluindo
sistemas de multimdia, sistemas de vrios processadores, segurana.
Por fim, so apresentados dois estudos de casos detalhados:
UNIX/Linux e Windows 2000. Structured Computer Organization, 4 edio
Esse clssico, um grande sucesso que est agora em sua quarta edio,
oferece a introduo ideal arquitetura de computadores. Ele aborda o
assunto com uma estratgia de fcil compreenso, estudando-o de baixo
para cima. H um captulo sobre lgica digital para iniciantes,
seguido por captulos sobre microarquitetura, sobre o nvel de
arquiteturas de conjuntos de instrues, sistemas operacionais,
linguagem assembly e arquiteturas de computadores paralelos.
Operating Systems: Design and Implementation, 2 edio Esse texto
popular sobre sistemas operacionais, escrito em parceria com Albert
S. Woodhull o nico livro que abrange os conceitos fundamentais de
sistemas operacionais e tambm sua aplicao a um sistema real. Todos
os tpicos tradicionais de sistemas operacionais so estudados em
detalhes. Alm disso, os conceitos bsicos so cuidadosamente
ilustrados com o MINIX, um sistema operacional gratuito baseado no
POSIX, semelhante ao UNIX, para computadores pessoais. Cada
exemplar inclui um CD-R OM gratuito, contendo o sistema MINIX
completo, inclusive todo o cdigo-fonte. O cdigo-fonte est listado
em um apndice do livro e explicado em detalhes no texto. Sobre o
autor Andrew S. Tanenbaum bacharel em cincias pelo M.I.T e Ph.D.
pela University of California em Berkeley. Atualmente, professor de
cincia da computao na Vrije Universiteit em Amsterdam, Holanda,
onde lidera o Computer Systems Group. Ele tambm decano da Advanced
School for Computing and Imaging, um programa interuniversitrio em
nvel de ps-graduao, que desenvolve pesquisas sobre sistemas
paralelos avanados, distribudos e de imagens. No entanto, Tanenbaum
vem tentando de todas as formas no se tornar um burocrata. No
passado, ele desenvolveu pesquisas sobre compiladores, sistemas
operacionais, interligao de redes e sistemas distribudos locais.
Sua rea de pesquisa atual tem como foco principal o projeto e a
implementao de sistemas geograficamente distribudos que alcanam um
bilho de usurios. Essa pesquisa, que est sendo realizada em
conjunto com o professor Maarten van Steen, descrita em
www.cs.vu.nl/globe. Em conjunto, todos esses projetos de pesquisa j
produziram mais de 100 artigos em peridicos cientficos e
conferncias, alm de cinco livros. O professor Tanenbaum tambm j
produziu um considervel volume de software. Ele foi o principal
projetista do Amsterdam Compiler Kit, um kit de ferramentas para o
desenvolvimento de compiladores portteis amplamente utilizado, como
tambm do MINIX, um pequeno clone do UNIX, destinado ao uso em
laboratrios de programao para estudantes. Esse sistema forneceu a
inspirao e a base sobre a qual foi desenvolvido o Linux. Juntamente
com seus alunos do curso de doutorado e outros programadores, ele
ajudou a desenvolver o sistema operacional distribudo
15. Amoeba, um sistema operacional distribudo baseado na
utilizao de um microkernel de alto desempenho. Agora, os MINIX e
Amoeba esto disponveis gratuitamente na Internet. Aps conclurem o
curso, geralmente seus alunos de doutorado seguem carreiras ainda
mais brilhantes, o que o deixa muito orgulhoso. O professor
Tanenbaum membro do conselho da ACM, membro do conselho do IEEE e
membro da Royal Netherlands Academy of Arts and Sciences; em 1994,
ele recebeu da ACM o Karl V. Karlstrom Outstanding Educator Award.
Tanenbaum tambm recebeu em 1997 da ACM/SIGCSE o Award for
Outstanding Contributions to Computer Science Education e o prmio
Texty de 2002 por excelncia em livros didticos. Ele tambm faz parte
da lista Whos Who in the World. Sua home page na World Wide Web est
no URL http://www.cs.vu.nl/~ast Prefcio Este livro j est em sua
quarta edio. Cada edio correspondeu a uma fase distinta na forma
como as redes de computadores eram utilizadas. Quando a primeira
edio americana foi lanada em 1980, as redes eram uma curiosidade
acadmica. Em 1988, ano da segunda edio, as redes estavam sendo
usadas por universidades e grandes empresas. Na poca em que a
terceira edio foi lanada, em 1996, as redes de computadores,
especialmente a Internet, j haviam se tornado uma realidade diria
para milhes de pessoas. O novo item na quarta edio o rpido
crescimento das redes sem fio, em suas muitas formas. O quadro das
redes mudou radicalmente desde a terceira edio. Em meados da dcada
de 1990, existiam numerosos tipos de LANs e WANs, alm de vrias
pilhas de protocolos. Em 2003, a nica LAN instalada com ampla
utilizao era a Ethernet, e virtualmente todas as LANs estavam na
Internet. De acordo com isso, foi removida deste livro um a grande
quantidade de material sobre essas redes mais antigas. Entretanto,
tambm h uma grande quantidade de novos desenvolvimentos. O mais
importante o enorme crescimento das redes sem fios, incluindo
802.11, loops locais sem fios, redes celulares 2G e 3G, Bluetooth,
WAP, i-mode e outras. Acompanhando essa tendncia, foi inclu da
neste volume uma grande quantidade de material sobre redes sem
fios. Outro tpico que se tornou importante recentemente a segurana;
assim, foi acrescentado um captulo inteiro sobre esse assunto.
Apesar de o Captulo 1 ter a mesma funo introdutria que tinha na
terceira edio, o contedo foi completamente revisado e atualizado.
Por exemplo, so dadas nesse captulo introdues Internet, Ethernet e
LANs sem fios, juntamente com um pouco de histria e fundamentos
bsicos. O captulo tambm discute brevemente as redes domsticas. O
Captulo 2 foi um tanto reorganizado. Aps uma breve introduo aos
princpios de comunicao de dados, h trs sees importantes sobre
transmisso (meios guiados, sem fios e por satlite) seguidos por trs
outros em exemplos importantes (o sistema de telefonia pblica
comutada, o sistema de telefonia mvel e a televiso a cabo). Entre
os novos tpicos abordados neste captulo esto ADSL, difuso sem fios,
MANs sem fios e acesso Internet atravs de cabo e DOCSIS. O Captulo
3 sempre tratou dos princpios fundamentais de protocolos ponto a
ponto. Essas idias so essencialmente atemporais e no mudaram
durante dcadas. assim, a srie de exemplos de talhados de protocolos
apresentados neste captulo permanece em grande parte inalterada
desde a terceira edio. Em contraste, a subcamada MAC tem sido uma
rea de grande atividade nos ltimos anos; assim, muitas mudanas esto
presentes no Captulo 4. A seo sobre Ethernet foi expandida para
incluir o gigabit Ethernet. Completamente novas, so as sees
importantes sobre redes sem fios, difuso sem fios, Bluetooth e
comutao da camada de enlace de dados, inclusive MPLS. O Captulo 5
tambm foi atualizado, com a remoo de todo o material sobre ATM e a
incluso de material adicional sobre a Internet. A qualidade do
servio tambm agora um tpico importante, incluindo discusses de
servios integrados e servios diferenciados. As redes sem fios tambm
esto presentes aqui, como uma discusso do roteamento em redes ad
hoc. Outros tpicos novos incluem NAT e redes no hierrquicas
(peer-to-peer).
16. O Captulo 6 ainda trata da camada de transporte, mas tambm
h grandes mudanas. Entre elas encontra-se um exemplo de programao
de soquetes. Um cliente de uma pgina e um servidor de uma pgina so
apresentados em C e discutidos. Juntos, eles fornecem um servidor
primitivo de arquivos remotos ou da Web, disponvel para
experimentao. Outros novos tpicos incluem chamada de procedimentos
remotos, RTP e transaction-TCP. O Captulo 7, que descreve a camada
de aplicao, ficou mais nitidamente concentrado. Aps uma curta
introduo ao DNS, o restante do captulo lida com apenas trs tpicos:
e-mail, a Web e multimdia. Porm, cada tpico tratado com muitos
detalhes. A descrio do funcionamento da Web tem agora mais de 60
pginas, cobrindo uma ampla variedade de tpicos, inclusive pginas da
Web estticas e dinmicas, HTTP, scripts da CGI, redes de entrega de
contedo, cookies e caches da Web. Tambm h material sobre como
escrever pginas da Web modernas, incluindo breves introdues a XML,
XSL, XTML, PHP e muito mais, todas com exemplos que podem se r
testados. A Web sem fios tambm discutida, focalizando o i-mode e o
WAP. O material sobre multimdia inclui agora MP3, streaming audio,
rdio pela Internet e voz sobre IP. A segurana se tornou to
importante que agora foi expandida para ocupar um captulo completo
com mais de 100 pginas. Ele abrange os princpios de segurana
(algoritmos simtricos e de chave pblica, assinaturas digitais e
certificados X.509) e as aplicaes desses princpios (autenticao,
segurana de correio eletrnico e segurana na Web). O captulo ao
mesmo tempo amplo (variando desde criptografia quntica at censura
governamental) e profundo (por exemplo, com detalhes sobre o
funcionamento do SHA-1). O Captulo 9 contm uma lista totalmente
nova de leituras sugeridas e uma bibliografia completa, com mais de
350 citaes sobre a literatura atual. Mais de 200 dessas citaes se
referem a artigos e livros escritos a partir do ano 2000. Os livros
de informtica esto repletos de acrnimos. E este no exceo. Quando
tiver concludo a leitura deste volume, todas estas siglas tero um
sentido claro para voc: ADSL, AES, AM PS, AODV, ARP, ATM, BGP,
CDMA, CDN, CGI, CIDR, DCF, DES, DHCP, DMCA, FDM, FHSS, GPRS, GSM,
HDLC, HFC, HTML, HTTP, ICMP, IMAP, ISP, ITU, LAN, LMDS, MAC, MACA,
MIME, MPEG, MPLS, MTU, NAP, NAT, NSA, NTSC, OFDM, OSPF, PCF, PCM,
PGP, PH P, PKI, POTS, PPP, PSTN, QAM, QPSK, RED, RFC, RPC, RSA,
RSVP, RTP, SSL, TCP, TDM, UDP, URL, UTP, VLAN, VPN, VSAT, WAN, WAP,
WDMA, WEP, WWW e XML. Mas no se preocupe. Cada um desses acrnimos
ser cuidadosamente definido antes de ser usado. Para ajudar os
instrutores a utilizarem este livro como um texto para um curso de
treinamento, o autor preparou os seguintes complementos para auxlio
ao ensino, incluindo: Um manual de solues de problemas. Arquivos
contendo as figuras em vrios formatos. Transparncias do PowerPoint
para um curso com a utilizao do livro. Um simulador (escrito em C)
para os exemplos de protocolos do Captulo 3. Uma pgina da Web com
links para muitos tutoriais, organizaes, FAQs etc. O manual de
solues est disponvel diretamente na Prentice Hall (mas somente para
instrutores, no para alunos). Todo o material restante encontra-se
no Web site do livro: http://www.prenhall.com/tanenbaum. Quando
estiver l, clique na capa do livro. Muitas pessoas me ajudaram
durante o curso da quarta edio. Gostaria de agradecer especialmente
s seguintes pessoas: Ross Anderson, Elizabeth Belding- Royer, Steve
Bellovin, Chatsc hik Bisdikian, Kees Bot, Scott Bradner, Jennifer
Bray, Pat Cain, Ed Felten, Warwick Ford, Kevin Fu, Ron Fulle, Jim
Geier, Mario Gerla, Natalie Giroux, Steve Hanna, Jeff Hayes, Amir
Herzberg, Philip Homburg, Philipp Hoschka, David Green, Bart
Jacobs, Frans Kaashoek, Steve Kent, Roger Kermode, Robert Kinicki,
Shay Kutten, Rob Lanphier, Marcus Leech, Tom Maufer, Brent Miller,
Shivakant Mishra, Thomas Nadeau, Shlomo Ovadia, Kaveh Pahlavan,
Radia PerIman, Guillaume Pierre, Wayne Pleasant, Patrick Po well,
Thomas Robertazzi, Medy Sanadidi, Christian Schmutzer, Henning
Schulzrinne, Pa ul Sevinc, Mihail Sichitiu, Bernard Sk lar, Ed
Skoudis, Bob Strader, George Swallow, George Thiruvathukal, Peter
Tomsu, Patrick Verkaik, Dave Vittali, Spyros Voulgaris, Jan-Mark
Wams, Ruediger Weis, Bert Wijnen, Joseph Wilkes, Leendert van Doorn
e Maarten van Steen. Agradecimentos especiais a Trudy Levine, por
provar que as avs so capazes de fazer um
17. excelente tr abalho de reviso de material tcnico. Shivakant
Mishra elaborou muitos prob lemas desafiantes para os finais de
captulos. Andy Dornan sugeriu leituras ad icionais para o Captulo
9. Jan Looyen forneceu hardware essencial em um momento crtico. O
dr. F. de Nies fez um timo trabalho de recorte e colagem, ex
atamente quando foi necessrio. Minha editora na Prentice Hall, Mary
Franz, me ofereceu mais material de leitura do que eu havia
consumido nos sete anos anteriores, e tambm foi til em vrios outros
aspectos. Por fim, chegamos s pessoas mais importantes: Suzanne,
Barbara e Marvin. A Suzanne, por seu amor, sua pacincia e seus
almoos no campo. A Barbara e Marvin por serem divertidos e alegres
o tempo todo (exceto quando reclamavam de alguns terrveis livros
didticos da faculdade, o que me manteve sempre atento).
Obrigado.
18. Captulo 1. Introduo Cada um dos trs sculos anteriores foi
dominado por uma nica tecnologia. O Sculo XVIII foi a poca dos
grandes sistemas mecnicos que acompanharam a Revoluo Industrial. O
Sculo XIX foi a era das mquinas a vapor. As principais conquistas
tecnolgicas do Sculo XX se deram no campo da aquisio, do
processamento e da distribuio de informaes. Entre outros
desenvolvimentos, vimos a instalao das redes de telefonia em escala
mundial, a inveno do rdio e da televiso, o nascimento e o
crescimento sem precedentes da indstria de informtica e o lanamento
dos satlites de comunicao. Como resultado do rpido progresso
tecnolgico, essas reas esto convergindo rapidamente e so cada vez
menores as diferenas entre coleta, transporte, armazenamento e
processamento de informaes. Organizaes com centenas de escritrios
dispersos por uma extensa rea geogrfica podem, com um simples
apertar de um boto, examinar o status atual de suas filiais mais
remotas. medida que cresce nossa capacidade de colher, processar e
distribuir informaes, torna-se ainda maior a de manda por formas de
processamento de informaes ainda mais sofisticadas. Apesar de a
indstria de informtica ainda ser jovem em comparao a outros setores
industriais (por exemplo, o de automveis e o de transportes areos),
foi simplesmente espetacular o progresso que os computadores
conheceram em um curto perodo de tempo. Durante as duas primeiras
dcadas de sua existncia, os sistemas computacionais eram altamente
centralizados, em geral instalados em uma grande sala com paredes
de vidro, atravs das quais os visitantes podiam contemplar,
embevecidos, aquela maravilha eletrnica. Uma empresa de mdio 2porte
ou uma universidade contava apenas com um ou dois computadores,
enquanto as grandes instituies tinham, no mximo, algumas dezenas.
Era pura fico cientfica a idia de que, em apenas 20 anos, haveria
milhes de computadores igualmente avanados do tamanho de um selo
postal. A fuso dos computadores e das comunicaes teve uma profunda
influncia na forma como os sistemas computacionais eram
organizados. O conceito de "centro de computao" como uma sala com
um grande computador ao qual os usurios levam seu trabalho para
processamento agora est completamente obsoleto. O velho modelo de
um nico computador atendendo a todas as necessidades computacionais
da organizao foi substitudo pelas chamadas redes de computadores,
nas quais os trabalhos so realizados por um grande nmero de
computadores separados, mas interconectados. A estrutura e a
organizao dessas redes so os temas deste livro. Ao longo do livro,
utilizaremos a expresso "rede de computadores" quando quisermos
mencionar um conjunto de computadores autnomos interconectados por
uma nica tecnologia. Dois computadores esto interconectados quando
podem trocar informaes. A conexo no precisa ser feita por um fio de
cobre; tambm podem ser usadas fibras pticas, microondas, ondas de
infravermelho e satlites de comunicaes. Existem redes em muitos
tamanhos, modelos e formas, como veremos mais adiante. Embora possa
parecer estranho para algumas pessoas, nem a Internet nem a World
Wide Web uma rede computadores. No final deste livro, dever ficar
claro o motivo dessa afirmao. A resposta simples que a Internet no
uma nica rede, mas um a rede de redes, e a Web um sistema
distribudo que funciona na Internet. Existe na literatura uma
considervel confuso entre uma rede de computadores e um sistema
distribudo. A principal diferena entre eles que, em um sistema
distribudo, um conjunto de computadores independentes parece ser,
para usurios, um nico sistema coerente. Em geral, ele tem um nico
modelo ou paradigma que apresenta aos usurios. Com freqncia, uma
camada de software sobre o sistema operacional, chamada middleware,
responsvel pela implementao desse modelo. Um exemplo bem conhecido
de sistema distribudo a World Wide Web, na qual tudo tem a aparncia
de um documento (uma pgina da Web). Em uma rede de computadores,
essa coerncia, esse modelo e esse software esto ausentes. Os
usurios ficam expostos s mquinas reais, sem qualquer tentativa por
parte do sistema de fazer as mquinas parecerem e atuarem de modo
coerente. Se as mquinas tiverem hardware diferente e sistemas
operacionais distintos, isso ser totalmente visvel para os usurios.
Se quiser executar um programa em uma mquina remota, o usurio ter
de efetuar o logon nessa mquina e executar o programa l. Na prtica,
um sistema distribudo um sistema de software instalado em uma rede.
O software d ao sistema um alto grau de coeso e transparncia.
Conseqentemente, o software (e em
19. particular o sistema operacional) que determina a diferena
entre uma rede e um sistema distribudo, no o hardware. Apesar
disso, h uma considervel sobreposio entre os dois assuntos. Por
exemplo, os sistemas distribudos e as redes de computadores
precisam movimentar arquivos. A diferena est em quem o responsvel
pela movimentao, o sistema ou o usurio. Embora este livro seja
basicamente dedicado a redes, muitos tpicos tambm so importantes em
sistemas distribudos. Para obter mais informaes sobre sistemas
distribudos, consulte (Tanenbaum e Van Steen, 2002). 1.1 Usos de
redes de computadores Antes de iniciarmos o exame detalhado das
questes tcnicas, vale a pena 4dedicar algum tempo a explicar por
que as pessoas esto interessadas em redes de computadores e com que
finalidade essas redes podem ser usadas. Afinal, se ningum
estivesse interessado em redes de computadores, poucas delas seriam
elaboradas. Comearemos com os usos tradicionais em empresas e para
indivduos, e depois passaremos aos desenvolvimentos mais recentes
relacionadas a usurios mveis e a redes domsticas. 1.1.1 Aplicaes
comerciais Muitas empresas tm um nmero significativo de
computadores. Por exemplo, uma empresa pode ter computadores se
parados para monitorar a produo, controlar os estoques e elaborar a
folha de pagamento. Inicialmente, cada um desses computadores
funcionava isolado dos outros mas, em um determinado momento, a
gerncia deve ter decidido conect-los para poder extrair e
correlacionar informaes sobre a empresa inteira. Em termos um pouco
mais genricos, a questo aqui o compartilhamento de recursos, e o
objetivo tornar todos os programas, equipamentos e especialmente
dados ao alcance de todas as pessoas na rede, independente da
localizao fsica do recurso e do usurio. Um exemplo bvio e bastante
disseminado um grupo de funcionrios de um escritrio que
compartilham uma impressora comum. Nenhum dos indivduos realmente
necessita de uma impressora privativa, e uma impressora de grande
capacidade conectada em rede muitas vezes mais econmica, mais rpida
e de mais fcil manuteno que um grande conjunto de impressoras
individuais. Porm, talvez mais importante que compartilhar recursos
fsicos como impressoras, scanners e gravadores de CDs, seja
compartilhar informaes. Toda empresa de grande e mdio porte e
muitas empresas pequenas tm uma dependncia vital de informaes
computadorizadas. A maioria das empresas tem registros de clientes,
estoques, contas a receber, extratos financeiros, informaes sobre
impostos e muitas outras informaes on-line. Se todos os
computadores de um banco sofressem uma pane, ele provavelmente no
duraria mais de cinco minutos. Uma instalao industrial moderna, com
uma linha de montagem controlada por computadores, no duraria nem
isso. Hoje, at mesmo uma pequena agncia de viagens ou um a firma
jurdica com trs pessoas depende intensamente de redes de
computadores para permitir aos seus funcionrios acessarem informaes
e documentos relevantes de forma instantnea. No caso de empresas
menores, todo s os computadores provavelmente se encontram em um
nico escritrio ou talvez em um nico edifcio; porm, no caso de
empresas maiores, os computadores e funcionrios podem estar
dispersos por dezenas de escritrios e fbricas em muitos pases.
Apesar disso, um vendedor em Nova York s vezes poderia ter
necessidade de acessar um banco de dados de estoque de produtos
localizado em Cingapura. Em outras palavras, o mero fato de um
usurio estar a 15.000 quilmetros de distncia de seus dados no deve
impedi-lo de usar esses dados como eles fossem dados locais.
Resumindo, trata-se de uma tentativa de pr fim "tirania da
geografia". No mais simples dos termos, possvel imaginar que o
sistema de informaes de uma empresa consiste em um ou mais bancos
de dados e em algum nmero de funcionrios que precisam acess-los
remotamente. Nesse modelo, os dados so armazenados em poderoso s
computadores chamados servidores. Com freqncia, essas mquinas so
instaladas e mantidas em um local central por um administrador de
sistemas. Em contraste, os funcionrios tm em suas escrivaninhas
mquinas ma is simples, chamadas clientes, com as quais eles acessam
dados remotos, por exemplo, para incluir em planilhas eletrnicas
que esto elaborando. (Algumas vezes, faremos referncia ao usurio
humano da mquina cliente como o "cliente", mas deve ficar claro
a
20. partir do contexto se estamos nos referindo ao computador
ou a seu usurio.) As mquinas clientes e servidores so conectadas
entre si por uma rede, como ilustra a Figura 1.1. Observe que
mostramos a rede como uma simples elipse, sem qualquer detalhe.
Utilizaremos essa forma quando mencionarmos uma rede no sentido
abstrato. Quando forem necessrios mais detalhes, eles sero
fornecidos. Figura 1.1 - Uma rede com dois clientes e um servidor
Todo esse arranjo chamado modelo cliente/servidor. Ele amplamente
usado e constitui a base da grande utilizao da rede. Ele aplicvel
quando o cliente e o servidor esto ambos no mesmo edifcio (por
exemplo, pertencem mesma empresa), mas tambm quando esto muito
distantes um do outro. Por exemplo, quando uma pessoa em sua casa
acessa uma pgina na World Wide Web, empregado o mesmo modelo, com o
servidor da Web remoto fazendo o papel do servidor e o computador
pessoal do usurio sendo o cliente. Sob a maioria das condies, um
nico servidor pode cuidar de um grande nmero de clientes. Se
examinarmos o modelo cliente/servidor em detalhes, veremos que h
dois processos envolvidos, um na mquina cliente e um na mquina
servidora. A comunicao toma a forma do processo cliente enviando
uma mensagem pela rede ao processo servidor. Ento, o processo
cliente espera por uma mensagem em resposta. Quando o processo
servidor recebe a solicitao, ele executa o trabalho solicitado ou
procura pelos dados solicitados e envia de volta uma resposta.
Essas mensagens so mostradas na Figura 1.2. Figura 1.2 - O modelo
cliente/servidor envolve solicitaes e respostas Um segundo objetivo
da configurao de uma rede de computadores est relacionado s
pessoas, e no s informaes ou mesmo aos computadores. Uma rede de
computadores pode oferecer um eficiente meio de comunicao entre os
funcionrios. Agora, virtualmente toda empresa que tem dois ou mais
computadores tem o recurso de correio eletrnico (e-mail), que os
funcionrios utilizam de forma geral para suprir uma grande parte da
comunicao diria. De fato, os funcionrios trocam mensagens de e-mail
sobre os assuntos mais corriqueiros, mas grande parte das mensagens
com que as pessoas lidam diariamente no tem nenhum significado,
porque os chefes descobriram que podem enviar a mesma mensagem
(muitas vezes sem qualquer contedo) a todos os seus subordinados,
bastando pressionar um boto. Contudo, o e-mail no a nica forma de
comunicao otimizada que as redes de computadores tornaram possvel.
Com uma rede, fcil duas ou mais pessoas que trabalham em locais
muito distantes escreverem juntas um relatrio. Quando um
trabalhador faz uma mudana em um documento on-line, os outros podem
ver a mudana imediatamente, em vez de esperarem vrios dias por uma
carta. Tal acelerao facilita a cooperao entre grupos de pessoas
distantes entre si, o que antes era impossvel. Outra forma de
comunicao auxiliada pelo computador a videoconferncia. Usando essa
tecnologia, funcionrios em locais distantes podem participar de uma
reunio, vendo e ouvindo uns
21. aos outros e at mesmo escrevendo em um quadro-negro virtual
compartilhado. A videoconferncia uma ferramenta eficiente para
eliminar o custo e o tempo anteriormente dedicado s viagens.
Algumas vezes, dizemos que a comunicao e o transporte esto
disputando uma corrida, e a tecnologia que vencer tornar a outra
obsoleta. Um terceiro objetivo para um nmero cada vez maior de
empresas realizar negcios eletronicamente com outras em presas, em
especial fornecedores e clientes. Por exemplo, fabricantes de
automveis, aeronaves e computadores, entre outros, compram
subsistemas de diversos fornecedores, e depois montam as peas.
Utilizando redes de computadores, os fabricantes podem emitir
pedidos eletronicamente, conforme necessrio. A capacidade de emitir
pedidos em tempo real (isto , conforme a demanda) reduz a
necessidade de grandes estoques e aumenta a eficincia. Um quarto
objeto que est comeando a se tornar mais importante o de realizar
negcios com consumidores pela Internet. Empresas areas, livrarias e
lojas de discos descobriram que muitos clientes apreciam a
convenincia de fazer compras em casa. Conseqentemente, muitas
empresas fornecem catlogos de suas mercadorias e servios on-line e
emitem pedidos on-line. Espera-se que esse setor cresa rapidamente
no futuro. Ele chamado comrcio eletrnico (e- commerce). 1.1.2
Aplicaes domsticas Em 1977, Ken Olsen era presidente da Digital
Equipment Corporation, ento o segundo maior fornecedor de
computadores de todo o mundo (depois da IBM). Quando lhe
perguntaram por que a Digital no estava seguindo a tendncia do
mercado de computadores pessoais, ele disse: "No h nenhuma razo
para qualquer indivduo ter um computador em casa". A histria
mostrou o contrrio, e a Digital no existe mais. Por que as pessoas
compram computadores para usar em casa? No incio, para
processamento de textos e jogos; porm, nos ltimos anos, esse quadro
mudou radicalmente. Talvez agora a maior motivao seja o acesso
Internet. Alguns dos usos mais populares da Internet para usurios
domsticos so: 1. Acesso a informaes remotas. 2. Comunicao entre
pessoas. 3. Entretenimento interativo. 4. Comrcio eletrnico. O
acesso a informaes remotas tem vrias formas. Ele pode significar
navegar na World Wide Web para obter informaes ou apenas por
diverso. As informaes disponveis incluem artes, negcios, culinria,
governo, sade, histria, passatempos, recreao, cincia, esportes,
viagens e muitos outros. A diverso surge sob tantas formas que no
podemos mencionar, e tambm se apresenta em outras formas que melhor
no mencionarmos. Muitos jornais so publicados on-line e podem ser
personalizados. Por exemplo, s vezes possvel solicitar todas as
informaes sobre polticos corruptos, grandes incndios, escndalos
envolvendo celebridades e epidemias, mas dispensar qualquer notcia
sobre esportes. Algumas vezes, at mesmo possvel transferir os
artigos selecionados por download para o disco rgido enquanto voc
dorme ou imprimi-los na sua impressora pouco antes do caf da manh.
medida que essa tendncia continuar, ela causar desemprego macio
entre os jovens entregadores de jornais, mas as empresas
jornalsticas gostam dela, porque a distribuio sempre foi o elo mais
fraco na cadeia de produo inteira. A prxima etapa alm de jornais (e
de revistas e peridicos cientficos) a biblioteca digital on-line.
Muitas organizaes profissionais, como ACM (www.acm.org) e IEEE
Computer Society (www.computer.org), j tm muitos peridicos e anais
de conferncias on-line. Outros grupos esto seguindo com rapidez
essa tendncia. Dependendo do custo, tamanho e peso de notebooks com
dimenses de livros, os livros impressos podero se tornar obsoletos.
Os cticos devem observar o efeito que a mquina de impresso teve
sobre os manuscritos medievais com iluminuras. Todas as aplicaes
anteriores envolvem interaes entre uma pessoa e um banco de dados
remoto repleto de informaes. A segunda grande categoria de utilizao
de redes a comunicao entre pessoas, basicamente a resposta do Sculo
XXI ao telefone do Sculo XIX. O correio eletrnico (e-mail) j usado
diariamente por milhes de pessoas em todo o mundo e seu uso est
crescendo rapidamente. Em geral, ele j contm udio e vdeo, alm de
texto e imagens. O odor talvez demore um pouco mais.
22. Hoje em dia, qualquer adolescente fantico pela troca de
mensagens instantneas. Esse recurso, derivado do programa talk do
UNIX, em uso desde aproximadamente 1970, permite que duas pessoas
digitem mensagens uma para a outra em tempo real. Uma verso dessa
idia para vrias pessoas a sala de bate-papo (ou chat room), em que
um grupo de pessoas pode digitar mensagens que sero vistas por
todos. Newsgroups (grupos de notcias) mundiais, com discusses sobre
todo tpico concebvel, j so comuns entre grupos seletos de pessoas,
e esse fenmeno crescer at incluir a populao em gera l. O tom dessas
discusses, em que uma pessoa divulga uma mensagem e todos os outros
participantes do newsgroup podem ler a mensagem, poder variar de
bem-humorado a inflamado. Diferentes das salas de bate-papo, os
newsgroups no so de tempo real, e as mensagens so gravadas. Assim,
por exemplo, quando algum voltar das frias, todas as mensagens
publicadas durante esse perodo estaro bem guardadas, esperando para
serem lidas. Outro tipo de comunicao entre pessoas recebe
freqentemente o nome de comunicao no hierrquica (peer-to-peer), com
o objetivo de distingui-la do modelo cliente/servidor (Parameswaran
et al., 2001). Nessa forma de comunicao, indivduos que constituem
um grupo livre podem se comunicar com outros participantes do
grupo, como mostra a Figura 1.3. Em princpio, toda pessoa pode se
comunicar com uma ou mais pessoas; no existe nenhuma diviso fixa
entre clientes e servidores. Figura 1.3. Em um sistema no
hierrquico no existem clientes e servidores fixos A comunicao no
hierrquica realmente alcanou o auge por volta de 2000 com um servio
chamado Napster que, em seu pico, teve mais de 50 milhes de fs de
msica trocando todos os tipos de msicas, constituindo aquilo que
provavelmente foi a maior violao de direitos autorais em toda a
histria registrada (Lam e Tan, 2001; Macedonia, 2000). A idia era
bastante simples. Os associados registravam em um banco de dados
central mantido no servidor Napster a msica que tinham em seus
discos rgidos. Se queria uma cano, cada associado verificava no
banco de dados quem tinha a cano e ia diretamente at o local
indicado para obt-la. Por no manter de fato nenhuma msica em suas
mquinas, a Napster argumentou que no estava infringindo os direitos
autorais de ningum. Os tribunais no concordaram e fecharam o site e
a empresa. Porm, a gerao seguinte de sistemas no hierrquicos
eliminou o banco de dados central, fazendo cada usurio manter seu
prprio banco de dados local, alm de fornecer uma lista de outras
pessoas prximas associadas ao sistema. Um novo usurio pode ento ir
at qualquer associado para ver o que ele tem e obter uma lista de
outros associados, com a finalidade de examinar outras msicas e
outros nomes. Esse processo de pesquisa pode ser repetido
indefinidamente, at constituir em um local um grande banco de dados
do que existe fora desse local. Essa atividade seria tediosa para
as pessoas, mas especialmente adequada para computadores. Tambm
existem aplicaes legais para comunicao no hierrquica. Por exemplo,
aficionados que compartilham msicas de domnio pblico ou amostras de
faixas liberadas por novos conjuntos musicais para fins de
publicidade, famlias que compartilham fotografias, filmes e
informaes sobre a rvore genealgica, e adolescentes que participam
de jogos on-line com vrias pessoas. De fato, uma das aplicaes mais
populares de toda a Internet, o correio eletrnico, inerentemente no
hierrquica. Espera-se que essa forma de comunicao venha a crescer
consideravelmente no futuro.
23. O crime eletrnico no se restringe a infraes de direitos
autorais. Outra rea agitada a dos jogos de apostas eletrnicos. Os
computadores tm simulado vrios tipos de atividades durante dcadas.
Por que no simular mquinas caa- nqueis, jogos de roleta, mesas de
vinte-e-um e outros equipamentos de jogos? Bem, porque isso ilegal
em muitos pases. O grande problema que o jogo legal em muitos
outros lugares (na Inglaterra, por exemplo) e os donos de cassinos
perceberam o potencial para jogos de apostas pela Internet. Ento, o
que acontecer se o jogador e o cassino estiverem em pases
diferentes, com leis 13conflitantes? Essa uma boa pergunta. Outras
aplicaes orientadas a comunicaes incluem a utilizao da Internet
para realizar chamadas telefnicas, alm de videotelefonia e rdio
pela Internet, trs reas de rpido crescimento. Outra aplicao o
ensino distncia (telelearning), que significa freqentar aulas s 8
da manh sem a inconvenincia de ter de sair da cama. No final das
contas, o uso de redes para aperfeioar a comunicao entre os seres
humanos pode se mostrar mais importante que qualquer dos outros
usos. Nossa terceira categoria o entretenimento, uma indstria
enorme e que cresce mais e mais a cada dia. A aplicao fundamental
nesse caso (aquela que dever orientar todas as outras) o vdeo por
demanda. Dentro de aproximadamente uma dcada talvez seja possvel
selecionar qualquer filme ou programa de televiso, qualquer que
seja a poca ou pas em que tenha sido produzido, e exibi-lo em sua
tela no mesmo instante. Novos filmes podero se tornar interativos e
ocasionalmente o usurio poder ser solicitado a interferir no
roteiro (Macbeth deve matar Duncan ou aguardar o momento propcio?),
com cenrios alternativos para todas as hipteses. A televiso ao vivo
tambm poder se tornar interativa, com os telespectadores
participando de programas de perguntas e respostas, escolhendo
entre concorrentes e assim por diante. Por outro lado, talvez a
aplicao mais importante no seja o vdeo por demanda, mas sim os
jogos. J temos jogos de simulao em tempo real com vrios
participantes, como os de esconder em um labirinto virtual, e
simuladores de vo em que os jogadores de uma equipe tentam abater
os jogadores da equipe adversria. Se os jogos forem praticados com
culos de prote